From e78b8fc493772263739a8866ac63327316767e7e Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Thu, 24 Nov 2022 13:46:02 +0100 Subject: [PATCH 01/52] chore: version 0.30.0 --- package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 57fc219c3..996932358 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.30.0-rc.1", + "version": "0.30.0", "packageManager": "yarn@3.0.2" } diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 394799443..d73d1e64e 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 7ccaefcf7..811207c16 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 6b6ae314e..3c8fffcd0 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 75ad0fcc1..10477f184 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 7457dbcc9..8f20b4c21 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 9bdbb35ac..e9b20caf9 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 70532a0bc..a1b0c9204 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index f8b382fea..867a65841 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 4d455728f..d52e32170 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index a095543eb..41e36b5ec 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 5f4a8c07c..0b3d25a9f 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index ad41f644c..b3fc414fa 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.30.0-rc.1", + "version": "0.30.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From fc782cc2d00c12e98d86be1c6c6a3914fab361a0 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Wed, 1 Feb 2023 11:46:31 -0500 Subject: [PATCH 02/52] chore: 1.9.0 (10890) metadata & augmentation --- packages/augment-api/metadata/spiritnet.json | 2 +- .../src/interfaces/augment-api-consts.ts | 24 +- .../src/interfaces/augment-api-errors.ts | 36 +- .../src/interfaces/augment-api-events.ts | 90 +- .../src/interfaces/augment-api-query.ts | 62 +- .../src/interfaces/augment-api-runtime.ts | 22 +- .../src/interfaces/augment-api-tx.ts | 312 ++--- .../src/interfaces/extraDefs/types.ts | 4 +- packages/augment-api/src/interfaces/lookup.ts | 970 +++++++------- .../augment-api/src/interfaces/registry.ts | 31 +- .../src/interfaces/types-lookup.ts | 1109 ++++++++--------- packages/type-definitions/src/index.ts | 2 +- 12 files changed, 1224 insertions(+), 1440 deletions(-) diff --git a/packages/augment-api/metadata/spiritnet.json b/packages/augment-api/metadata/spiritnet.json index 16e8f3c83..8d6debc14 100644 --- a/packages/augment-api/metadata/spiritnet.json +++ b/packages/augment-api/metadata/spiritnet.json @@ -1 +1 @@ -{"result":"0x6d6574610e6d07000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f0814496e64657801102c4163636f756e74446174610114001401146e6f6e6365100114496e646578000124636f6e73756d6572731c0120526566436f756e7400012470726f7669646572731c0120526566436f756e7400012c73756666696369656e74731c0120526566436f756e740001106461746114012c4163636f756e7444617461000010000005060014083c70616c6c65745f62616c616e6365732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500012c6d6973635f66726f7a656e18011c42616c616e63650001286665655f66726f7a656e18011c42616c616e636500001800000507001c0000050500200c346672616d655f737570706f72741c77656967687473405065724469737061746368436c6173730404540124000c01186e6f726d616c2401045400012c6f7065726174696f6e616c240104540001246d616e6461746f72792401045400002410346672616d655f737570706f72741c77656967687473247765696768745f76321857656967687400000401207265665f74696d6510010c753634000028083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d00002c000002080030102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f677334013c5665633c4469676573744974656d3e000034000002380038102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d6508003c0144436f6e73656e737573456e67696e65496400002c011c5665633c75383e00060024436f6e73656e73757308003c0144436f6e73656e737573456e67696e65496400002c011c5665633c75383e000400105365616c08003c0144436f6e73656e737573456e67696e65496400002c011c5665633c75383e000500144f7468657204002c011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e7455706461746564000800003c0000030400000008004000000244004408306672616d655f73797374656d2c4576656e745265636f7264080445014804540128000c011470686173654902011450686173650001146576656e7448010445000118746f706963734d0201185665633c543e00004808447370697269746e65745f72756e74696d65144576656e740001781853797374656d04004c01706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c496e6469636573040070017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e0005002042616c616e636573040074017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404007c01a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c53657373696f6e040080015470616c6c65745f73657373696f6e3a3a4576656e740016004050617261636861696e5374616b696e67040084018470617261636861696e5f7374616b696e673a3a4576656e743c52756e74696d653e0015002444656d6f637261637904008c018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e001e001c436f756e63696c0400a801fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400b001fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020004c546563686e6963616c4d656d626572736869700400b401fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365313e0022002054726561737572790400b8017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e0023001c5574696c6974790400bc015470616c6c65745f7574696c6974793a3a4576656e740028001c56657374696e670400c0017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e002900245363686564756c65720400c4018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e002a001450726f78790400d4017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002b0020507265696d6167650400e0017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e002c0038546970734d656d626572736869700400e401fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365323e002d0010546970730400e8016c70616c6c65745f746970733a3a4576656e743c52756e74696d653e002e001443747970650400ec015463747970653a3a4576656e743c52756e74696d653e003d002c4174746573746174696f6e0400f0016c6174746573746174696f6e3a3a4576656e743c52756e74696d653e003e002844656c65676174696f6e0400fc016864656c65676174696f6e3a3a4576656e743c52756e74696d653e003f000c44696404000501014c6469643a3a4576656e743c52756e74696d653e004000244469644c6f6f6b757004000901018470616c6c65745f6469645f6c6f6f6b75703a3a4576656e743c52756e74696d653e00430024576562334e616d657304001901018470616c6c65745f776562335f6e616d65733a3a4576656e743c52756e74696d653e004400445075626c696343726564656e7469616c730400250101887075626c69635f63726564656e7469616c733a3a4576656e743c52756e74696d653e0045003c50617261636861696e53797374656d0400950101bc63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e0050002458636d7051756575650400990101a463756d756c75735f70616c6c65745f78636d705f71756575653a3a4576656e743c52756e74696d653e0052002c506f6c6b61646f7458636d0400a901016870616c6c65745f78636d3a3a4576656e743c52756e74696d653e0053002843756d756c757358636d04004102018863756d756c75735f70616c6c65745f78636d3a3a4576656e743c52756e74696d653e00540020446d7051756575650400450201a063756d756c75735f70616c6c65745f646d705f71756575653a3a4576656e743c52756e74696d653e005500004c0c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5001304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f725c013444697370617463684572726f7200013464697370617463685f696e666f5001304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e7449640001106861736828011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e500c346672616d655f737570706f72741c77656967687473304469737061746368496e666f00000c0118776569676874240118576569676874000114636c6173735401344469737061746368436c617373000120706179735f666565580110506179730000540c346672616d655f737570706f72741c77656967687473344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f727900020000580c346672616d655f737570706f72741c7765696768747310506179730001080c596573000000084e6f000100005c082873705f72756e74696d653444697370617463684572726f72000128144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040060012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e0400640128546f6b656e4572726f720007002841726974686d65746963040068013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04006c01485472616e73616374696f6e616c4572726f720009000060082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f723c018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d000064082873705f72756e74696d6528546f6b656e4572726f7200011c1c4e6f46756e647300000020576f756c644469650001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f727465640006000068082873705f72756e74696d653c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f000200006c082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000700c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909740c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001281c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e63655365740c010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e63650001207265736572766564180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475737801185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909097814346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e63655374617475730001081046726565000000205265736572766564000100007c0c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909800c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e6465781c013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909840c4470617261636861696e5f7374616b696e671870616c6c6574144576656e74040454000154204e6577526f756e640800100138543a3a426c6f636b4e756d62657200001c013053657373696f6e496e6465780000088041206e6577207374616b696e6720726f756e642068617320737461727465642e785c5b626c6f636b206e756d6265722c20726f756e64206e756d6265725c5d50456e7465726564546f7043616e646964617465730400000130543a3a4163636f756e744964000108cc41206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d444c656674546f7043616e646964617465730400000130543a3a4163636f756e744964000208d8416e206163636f756e74207761732072656d6f7665642066726f6d2074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d604a6f696e6564436f6c6c61746f7243616e646964617465730800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000308e041206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620636f6c6c61746f722063616e646964617465732ebc5c5b6163636f756e742c20616d6f756e74207374616b656420627920746865206e65772063616e6469646174655c5d48436f6c6c61746f725374616b65644d6f72650c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00040801014120636f6c6c61746f722063616e6469646174652068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d48436f6c6c61746f725374616b65644c6573730c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00050801014120636f6c6c61746f722063616e64696461746520686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d54436f6c6c61746f725363686564756c6564457869740c001c013053657373696f6e496e6465780000000130543a3a4163636f756e74496400001c013053657373696f6e496e64657800061001014120636f6c6c61746f722063616e646964617465206861732073746172746564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e646964617465732e205c5b726f756e64206e756d6265722c20636f6c6c61746f722773206163636f756e742c20726f756e64206e756d626572207768656ee074686520636f6c6c61746f722077696c6c206265206566666563746976656c792072656d6f7665642066726f6d2074686520736574206f663063616e646964617465735c5d50436f6c6c61746f7243616e63656c6564457869740400000130543a3a4163636f756e74496400070c05014120636f6c6c61746f722063616e646964617465206861732063616e63656c6564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e6469646174657320616e6420776173206164646564206261636b20746f207468652063616e64696461746520706f6f6c2e205c5b636f6c6c61746f722773246163636f756e745c5d3443616e6469646174654c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000808cc416e206163636f756e7420686173206c6566742074686520736574206f6620636f6c6c61746f722063616e646964617465732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d3c436f6c6c61746f7252656d6f7665640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000908e4416e206163636f756e742077617320666f726365646c792072656d6f7665642066726f6d207468652020736574206f6620636f6c6c61746f72c863616e646964617465732e205c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d604d617843616e6469646174655374616b654368616e676564040018013042616c616e63654f663c543e000a08b4546865206d6178696d756d2063616e646964617465207374616b6520686173206265656e206368616e6765642e485c5b6e6577206d617820616d6f756e745c5d4c44656c656761746f725374616b65644d6f72651000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000b0cf0412064656c656761746f722068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d4c44656c656761746f725374616b65644c6573731000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000c0cf0412064656c656761746f7220686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d3444656c656761746f724c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000d08a8416e206163636f756e7420686173206c6566742074686520736574206f662064656c656761746f72732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d2844656c65676174696f6e1000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000e0cc8416e206163636f756e74206861732064656c6567617465642061206e657720636f6c6c61746f722063616e6469646174652e11015c5b6163636f756e742c20616d6f756e74206f662066756e6473207374616b65642c20746f74616c20616d6f756e74206f662064656c656761746f7273272066756e64738c7374616b656420666f722074686520636f6c6c61746f722063616e6469646174655c5d4844656c65676174696f6e5265706c616365641800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000f180d0141206e65772064656c65676174696f6e20686173207265706c6163656420616e206578697374696e67206f6e6520696e2074686520736574206f66206f6e676f696e67010164656c65676174696f6e7320666f72206120636f6c6c61746f722063616e6469646174652e205c5b6e65772064656c656761746f722773206163636f756e742c0901616d6f756e74206f662066756e6473207374616b656420696e20746865206e65772064656c65676174696f6e2c207265706c616365642064656c656761746f7227730d016163636f756e742c20616d6f756e74206f662066756e6473207374616b656420696e20746865207265706c6163652064656c65676174696f6e2c20636f6c6c61746f72050163616e6469646174652773206163636f756e742c206e657720746f74616c20616d6f756e74206f662064656c656761746f7273272066756e6473207374616b656470666f722074686520636f6c6c61746f722063616e6469646174655c5d5444656c656761746f724c656674436f6c6c61746f721000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00100cdc416e206163636f756e74206861732073746f707065642064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e09015c5b6163636f756e742c20636f6c6c61746f722063616e6469646174652773206163636f756e742c206f6c6420616d6f756e74206f662064656c656761746f727327d866756e6473207374616b65642c206e657720616d6f756e74206f662064656c656761746f7273272066756e6473207374616b65645c5d2052657761726465640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e001108c04120636f6c6c61746f72206f7220612064656c656761746f72206861732072656365697665642061207265776172642e745c5b6163636f756e742c20616d6f756e74206f66207265776172645c5d44526f756e64496e666c6174696f6e536574100088012c5065727175696e74696c6c000088012c5065727175696e74696c6c000088012c5065727175696e74696c6c000088012c5065727175696e74696c6c00120c0501496e666c6174696f6e20636f6e66696775726174696f6e20666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e09015c5b6d6178696d756d20636f6c6c61746f722773207374616b696e6720726174652c206d6178696d756d20636f6c6c61746f7227732072657761726420726174652c0d016d6178696d756d2064656c656761746f722773207374616b696e6720726174652c206d6178696d756d2064656c656761746f7227732072657761726420726174655c5d604d617853656c656374656443616e6469646174657353657408001c010c75333200001c010c753332001308f0546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c656374656420696e20667574757265dc76616c69646174696f6e20726f756e647320686173206368616e6765642e205c5b6f6c642076616c75652c206e65772076616c75655c5d44426c6f636b73506572526f756e6453657410001c013053657373696f6e496e6465780000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d62657200140cf8546865206c656e67746820696e20626c6f636b7320666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e01015c5b726f756e64206e756d6265722c20666972737420626c6f636b20696e207468652063757272656e7420726f756e642c206f6c642076616c75652c206e65771c76616c75655c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909880c3473705f61726974686d65746963287065725f7468696e67732c5065727175696e74696c6c0000040010010c75363400008c0c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001502050726f706f73656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c65640c013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e0001286465706f7369746f72739001445665633c543a3a4163636f756e7449643e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e6465781c013c5265666572656e64756d496e6465780001247468726573686f6c64940134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e6465781c013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2045786563757465640801247265665f696e6465781c013c5265666572656e64756d496e646578000118726573756c749801384469737061746368526573756c7400070470412070726f706f73616c20686173206265656e20656e61637465642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000804dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000904e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f6861736828011c543a3a48617368000114756e74696c100138543a3a426c6f636b4e756d626572000a0494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e34507265696d6167654e6f7465640c013470726f706f73616c5f6861736828011c543a3a4861736800010c77686f000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000b04dc412070726f706f73616c277320707265696d61676520776173206e6f7465642c20616e6420746865206465706f7369742074616b656e2e30507265696d616765557365640c013470726f706f73616c5f6861736828011c543a3a4861736800012070726f7669646572000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000c041101412070726f706f73616c20707265696d616765207761732072656d6f76656420616e6420757365642028746865206465706f736974207761732072657475726e6564292e3c507265696d616765496e76616c696408013470726f706f73616c5f6861736828011c543a3a486173680001247265665f696e6465781c013c5265666572656e64756d496e646578000d040901412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d6167652077617320696e76616c69642e3c507265696d6167654d697373696e6708013470726f706f73616c5f6861736828011c543a3a486173680001247265665f696e6465781c013c5265666572656e64756d496e646578000e040901412070726f706f73616c20636f756c64206e6f7420626520657865637574656420626563617573652069747320707265696d61676520776173206d697373696e672e38507265696d61676552656170656410013470726f706f73616c5f6861736828011c543a3a4861736800012070726f7669646572000130543a3a4163636f756e74496400011c6465706f73697418013042616c616e63654f663c543e000118726561706572000130543a3a4163636f756e744964000f04290141207265676973746572656420707265696d616765207761732072656d6f76656420616e6420746865206465706f73697420636f6c6c656374656420627920746865207265617065722e2c426c61636b6c697374656404013470726f706f73616c5f6861736828011c543a3a48617368001004c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e6465781c013c5265666572656e64756d496e646578000110766f7465a001644163636f756e74566f74653c42616c616e63654f663c543e3e00110490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e6465781c012450726f70496e6465780012048c416e206163636f756e742068617320736563636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e6465781c012450726f70496e64657800130460412070726f706f73616c20676f742063616e63656c65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909900000020000940c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f7269747900020000980418526573756c74080454019c0445015c0108084f6b04009c000000000c45727204005c00000100009c0000040000a00c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f7465a40110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e636500010000a40c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000a80c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f6861736828011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f6861736828011c543a3a48617368000114766f746564ac0110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f6861736828011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f6861736828011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f6861736828011c543a3a48617368000118726573756c749801384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f6861736828011c543a3a48617368000118726573756c749801384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f6861736828011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909ac0000050000b00c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f6861736828011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f6861736828011c543a3a48617368000114766f746564ac0110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f6861736828011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f6861736828011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f6861736828011c543a3a48617368000118726573756c749801384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f6861736828011c543a3a48617368000118726573756c749801384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f6861736828011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b40c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b80c3c70616c6c65745f74726561737572791870616c6c6574144576656e740804540004490001202050726f706f73656404013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640007049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909bc0c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e6465781c010c7533320001146572726f725c013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f725c013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c749801384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c00c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c40c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000110245363686564756c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc013c4f7074696f6e3c5665633c75383e3e000118726573756c749801384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e4043616c6c4c6f6f6b75704661696c65640c01107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc013c4f7074696f6e3c5665633c75383e3e0001146572726f72d0012c4c6f6f6b75704572726f7200030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e04304576656e747320747970652ec800000408101c00cc04184f7074696f6e040454012c0108104e6f6e6500000010536f6d6504002c0000010000d010346672616d655f737570706f727418747261697473207363686564756c652c4c6f6f6b75704572726f720001081c556e6b6e6f776e00000024426164466f726d617400010000d40c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c749801384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e40416e6f6e796d6f757343726561746564100124616e6f6e796d6f7573000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065d80130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578dc010c753136000108e8416e6f6e796d6f7573206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f6861736828013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200040450412070726f7879207761732072656d6f7665642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909d808447370697269746e65745f72756e74696d652450726f7879547970650001180c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002004050617261636861696e5374616b696e670003002c43616e63656c50726f7879000400484e6f6e4465706f736974436c61696d696e6700050000dc0000050400e00c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f7465640401106861736828011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e245265717565737465640401106861736828011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c65617265640401106861736828011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e40c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e80c2c70616c6c65745f746970731870616c6c6574144576656e74080454000449000114184e65775469700401207469705f6861736828011c543a3a486173680000049441206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e670401207469705f6861736828011c543a3a48617368000104d841207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c01207469705f6861736828011c543a3a4861736800010c77686f000130543a3a4163636f756e7449640001187061796f757418013c42616c616e63654f663c542c20493e0002048441207469702073756767657374696f6e20686173206265656e20636c6f7365642e305469705265747261637465640401207469705f6861736828011c543a3a486173680003049041207469702073756767657374696f6e20686173206265656e207265747261637465642e28546970536c61736865640c01207469705f6861736828011c543a3a4861736800011866696e646572000130543a3a4163636f756e74496400011c6465706f73697418013c42616c616e63654f663c542c20493e0004048841207469702073756767657374696f6e20686173206265656e20736c61736865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909ec0c1463747970651870616c6c6574144576656e74040454000104304354797065437265617465640800000144437479706543726561746f724f663c543e00002801384374797065486173684f663c543e0000087441206e657720435479706520686173206265656e20637265617465642e885c5b63726561746f72206964656e7469666965722c20435479706520686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909f00c2c6174746573746174696f6e1870616c6c6574144576656e74040454000110484174746573746174696f6e43726561746564100000013441747465737465724f663c543e0000280138436c61696d486173684f663c543e00002801384374797065486173684f663c543e0000f401704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e0000088c41206e6577206174746573746174696f6e20686173206265656e20637265617465642e05015c5b61747465737465722049442c20636c61696d20686173682c20435479706520686173682c20286f7074696f6e616c292064656c65676174696f6e2049445c5d484174746573746174696f6e5265766f6b6564080000013441747465737465724f663c543e0000280138436c61696d486173684f663c543e00010880416e206174746573746174696f6e20686173206265656e207265766f6b65642e685c5b6163636f756e742069642c20636c61696d20686173685c5d484174746573746174696f6e52656d6f766564080000013441747465737465724f663c543e0000280138436c61696d486173684f663c543e00020880416e206174746573746174696f6e20686173206265656e2072656d6f7665642e685c5b6163636f756e742069642c20636c61696d20686173685c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e0000280138436c61696d486173684f663c543e0003080501546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e2e685c5b6163636f756e742069642c20636c61696d20686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909f404184f7074696f6e04045401f80108104e6f6e6500000010536f6d650400f80000010000f80c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c417574686f72697a6174696f6e4964043044656c65676174696f6e4964012801042844656c65676174696f6e040028013044656c65676174696f6e496400000000fc0c2864656c65676174696f6e1870616c6c6574144576656e7404045400011c40486965726172636879437265617465640c0000014044656c656761746f7249644f663c543e000028015444656c65676174696f6e4e6f646549644f663c543e00002801384374797065486173684f663c543e0000088441206e65772068696572617263687920686173206265656e20637265617465642ea05c5b63726561746f722049442c20726f6f74206e6f64652049442c20435459504520686173685c5d404869657261726368795265766f6b6564080000014044656c656761746f7249644f663c543e000028015444656c65676174696f6e4e6f646549644f663c543e00010874412068696572617263687920686173206265656e207265766f6b65642e705c5b7265766f6b65722049442c20726f6f74206e6f64652049445c5d4048696572617263687952656d6f766564080000014044656c656761746f7249644f663c543e000028015444656c65676174696f6e4e6f646549644f663c543e000208dc412068696572617263687920686173206265656e2072656d6f7665642066726f6d207468652073746f72616765206f6e20636861696e2e705c5b72656d6f7665722049442c20726f6f74206e6f64652049445c5d4444656c65676174696f6e43726561746564180000014044656c656761746f7249644f663c543e000028015444656c65676174696f6e4e6f646549644f663c543e000028015444656c65676174696f6e4e6f646549644f663c543e000028015444656c65676174696f6e4e6f646549644f663c543e000000014044656c656761746f7249644f663c543e00000101012c5065726d697373696f6e7300030c8841206e65772064656c65676174696f6e20686173206265656e20637265617465642efc5c5b63726561746f722049442c20726f6f74206e6f64652049442c2064656c65676174696f6e206e6f64652049442c20706172656e74206e6f64652049442c6864656c65676174652049442c207065726d697373696f6e735c5d4444656c65676174696f6e5265766f6b6564080000014044656c656761746f7249644f663c543e000028015444656c65676174696f6e4e6f646549644f663c543e00040878412064656c65676174696f6e20686173206265656e207265766f6b65642e885c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d4444656c65676174696f6e52656d6f76656408000001384163636f756e7449644f663c543e000028015444656c65676174696f6e4e6f646549644f663c543e00050878412064656c65676174696f6e20686173206265656e2072656d6f7665642e885c5b72656d6f7665722049442c2064656c65676174696f6e206e6f64652049445c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e000028015444656c65676174696f6e4e6f646549644f663c543e000608f8546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720612064656c65676174696f6eac737562747265652e205c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090901010c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368792c5065726d697373696f6e730000040110626974731c010c753332000005010c0c6469641870616c6c6574144576656e74040454000110284469644372656174656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e0000086c41206e65772044494420686173206265656e20637265617465642e985c5b7472616e73616374696f6e207369676e65722c20444944206964656e7469666965725c5d284469645570646174656404000001484469644964656e7469666965724f663c543e0001085c412044494420686173206265656e20757064617465642e485c5b444944206964656e7469666965725c5d2844696444656c6574656404000001484469644964656e7469666965724f663c543e0002085c412044494420686173206265656e2064656c657465642e485c5b444944206964656e7469666965725c5d4444696443616c6c4469737061746368656408000001484469644964656e7469666965724f663c543e00009801384469737061746368526573756c74000308a041204449442d617574686f72697365642063616c6c20686173206265656e2065786563757465642e7c5c5b4449442063616c6c65722c20646973706174636820726573756c745c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090909010c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144576656e74040454000108584173736f63696174696f6e45737461626c697368656408000d0101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000004f841206e6577206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e742049442077617320637265617465642e484173736f63696174696f6e52656d6f76656408000d0101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000104ec416e206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e74204944207761732072656d6f7665642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909090d010c4470616c6c65745f6469645f6c6f6f6b7570406c696e6b61626c655f6163636f756e74444c696e6b61626c654163636f756e7449640001082c4163636f756e744964323004001101012c4163636f756e74496432300000002c4163636f756e7449643332040000012c4163636f756e74496433320001000011010c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e742c4163636f756e744964323000000400150101205b75383b2032305d0000150100000314000000080019010c4470616c6c65745f776562335f6e616d65731870616c6c6574144576656e740404540001103c576562334e616d65436c61696d65640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d651d010134576562334e616d654f663c543e0000047041206e6577206e616d6520686173206265656e20636c61696d65642e40576562334e616d6552656c65617365640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d651d010134576562334e616d654f663c543e0001046441206e616d6520686173206265656e2072656c65617365642e38576562334e616d6542616e6e65640401106e616d651d010134576562334e616d654f663c543e0002045c41206e616d6520686173206265656e2062616e6e65642e40576562334e616d65556e62616e6e65640401106e616d651d010134576562334e616d654f663c543e0003046441206e616d6520686173206265656e20756e62616e6e65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909091d010c4470616c6c65745f776562335f6e616d657324776562335f6e616d65344173636969576562334e616d650404540000040021010180426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e00002101102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004002c01185665633c543e000025010c487075626c69635f63726564656e7469616c731870616c6c6574144576656e740404540001104043726564656e7469616c53746f7265640801287375626a6563745f696429010130543a3a5375626a65637449640488546865207375626a656374206f6620746865206e65772063726564656e7469616c2e013463726564656e7469616c5f696428014443726564656e7469616c49644f663c543e0474546865206964206f6620746865206e65772063726564656e7469616c2e0004a041206e6577207075626c69632063726564656e7469616c20686173206265656e206973737565642e4443726564656e7469616c52656d6f7665640801287375626a6563745f696429010130543a3a5375626a65637449640498546865207375626a656374206f66207468652072656d6f7665642063726564656e7469616c2e013463726564656e7469616c5f696428014443726564656e7469616c49644f663c543e0484546865206964206f66207468652072656d6f7665642063726564656e7469616c2e01049841207075626c69632063726564656e7469616c7320686173206265656e2072656d6f7665642e4443726564656e7469616c5265766f6b656404013463726564656e7469616c5f696428014443726564656e7469616c49644f663c543e0484546865206964206f6620746865207265766f6b65642063726564656e7469616c2e02049441207075626c69632063726564656e7469616c20686173206265656e207265766f6b65642e4c43726564656e7469616c556e7265766f6b656404013463726564656e7469616c5f696428014443726564656e7469616c49644f663c543e048c546865206964206f662074686520756e7265766f6b65642063726564656e7469616c2e03049c41207075626c69632063726564656e7469616c20686173206265656e20756e7265766f6b65642e0490546865206576656e74732067656e65726174656420627920746869732070616c6c65742e29010c3872756e74696d655f636f6d6d6f6e18617373657473204173736574446964000004002d01013c41737365744964656e74696669657200002d010c3c6b696c745f61737365745f646964730876312041737365744469640000080120636861696e5f69643101011c436861696e496400012061737365745f69645901011c4173736574496400003101103c6b696c745f61737365745f6469647314636861696e0876311c436861696e49640001141845697031353504003501013c4569703135355265666572656e63650000001842697031323204003901016447656e657369734865784861736833325265666572656e63650001001c446f7473616d6104003901016447656e657369734865784861736833325265666572656e636500020018536f6c616e6104004101017047656e657369734261736535384861736833325265666572656e63650003001c47656e6572696304004901013847656e65726963436861696e4964000400003501103c6b696c745f61737365745f6469647314636861696e0876313c4569703135355265666572656e6365000004001801107531323800003901103c6b696c745f61737365745f6469647314636861696e0876316447656e657369734865784861736833325265666572656e6365000004003d0101205b75383b2031365d00003d010000031000000008004101103c6b696c745f61737365745f6469647314636861696e0876317047656e657369734261736535384861736833325265666572656e63650000040045010170426f756e6465645665633c75382c20436f6e73745533323c33323e3e00004501102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004002c01185665633c543e00004901103c6b696c745f61737365745f6469647314636861696e0876313847656e65726963436861696e496400000801246e616d6573706163654d01015447656e65726963436861696e4e616d6573706163650001247265666572656e63655501015447656e65726963436861696e5265666572656e636500004d01103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e4e616d65737061636500000400510101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4e414d4553504143455f4c454e4754485f5533323e3e00005101102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004002c01185665633c543e00005501103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e5265666572656e636500000400450101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f5245464552454e43455f4c454e4754485f5533323e3e00005901103c6b696c745f61737365745f646964731461737365740876311c4173736574496400011418536c6970343404005d01013c536c697034345265666572656e636500000014457263323004006901018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650001001845726337323104006d01019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650002001c4572633131353504006d01019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650003001c47656e6572696304007d01013847656e6572696341737365744964000400005d01103c6b696c745f61737365745f646964731461737365740876313c536c697034345265666572656e636500000400610101105532353600006101083c7072696d69746976655f7479706573105532353600000400650101205b7536343b20345d000065010000030400000010006901103c6b696c745f61737365745f646964731461737365740876318445766d536d617274436f6e747261637446756e6769626c655265666572656e636500000400150101205b75383b2032305d00006d01103c6b696c745f61737365745f646964731461737365740876319045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e6365000008006901018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650000710101b44f7074696f6e3c45766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e7469666965723e0000710104184f7074696f6e0404540175010108104e6f6e6500000010536f6d650400750100000100007501103c6b696c745f61737365745f646964731461737365740876319445766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e74696669657200000400790101dc426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4944454e5449464945525f4c454e4754485f5533323e3e00007901102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004002c01185665633c543e00007d01103c6b696c745f61737365745f646964731461737365740876313847656e657269634173736574496400000c01246e616d6573706163658101015447656e6572696341737365744e616d6573706163650001247265666572656e63658501015447656e6572696341737365745265666572656e636500010869648d0101784f7074696f6e3c47656e6572696341737365744964656e7469666965723e00008101103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365744e616d65737061636500000400510101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4e414d4553504143455f4c454e4754485f5533323e3e00008501103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365745265666572656e636500000400890101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f5245464552454e43455f4c454e4754485f5533323e3e00008901102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004002c01185665633c543e00008d0104184f7074696f6e0404540191010108104e6f6e6500000010536f6d650400910100000100009101103c6b696c745f61737365745f646964731461737365740876315847656e6572696341737365744964656e74696669657200000400790101dc426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4944454e5449464945525f4c454e4754485f5533323e3e000095010c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144576656e740404540001186056616c69646174696f6e46756e6374696f6e53746f726564000004d05468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e6456616c69646174696f6e46756e6374696f6e4170706c69656404015472656c61795f636861696e5f626c6f636b5f6e756d1c015452656c6179436861696e426c6f636b4e756d62657200010445015468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e6c56616c69646174696f6e46756e6374696f6e446973636172646564000204b05468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e4455706772616465417574686f72697a6564040124636f64655f6861736828011c543a3a486173680003047c416e207570677261646520686173206265656e20617574686f72697a65642e60446f776e776172644d657373616765735265636569766564040114636f756e741c010c7533320004040101536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e64446f776e776172644d6573736167657350726f63657373656408012c7765696768745f75736564240118576569676874000120646d715f6865616428014472656c61795f636861696e3a3a48617368000504e0446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090999010c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144576656e740404540001201c537563636573730801306d6573736167655f686173689d01013c4f7074696f6e3c543a3a486173683e00011877656967687424011857656967687400000464536f6d652058434d20776173206578656375746564206f6b2e104661696c0c01306d6573736167655f686173689d01013c4f7074696f6e3c543a3a486173683e0001146572726f72a101012058636d4572726f7200011877656967687424011857656967687400010440536f6d652058434d206661696c65642e2842616456657273696f6e0401306d6573736167655f686173689d01013c4f7074696f6e3c543a3a486173683e000204544261642058434d2076657273696f6e20757365642e24426164466f726d61740401306d6573736167655f686173689d01013c4f7074696f6e3c543a3a486173683e000304504261642058434d20666f726d617420757365642e445570776172644d65737361676553656e740401306d6573736167655f686173689d01013c4f7074696f6e3c543a3a486173683e000404b8416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e3c58636d704d65737361676553656e740401306d6573736167655f686173689d01013c4f7074696f6e3c543a3a486173683e000504c0416e2048524d50206d657373616765207761732073656e7420746f2061207369626c696e672070617261636861696e2e484f766572776569676874456e71756575656410011873656e646572a501011850617261496400011c73656e745f61741c014052656c6179426c6f636b4e756d626572000114696e64657810013c4f766572776569676874496e6465780001207265717569726564240118576569676874000604d4416e2058434d2065786365656465642074686520696e646976696475616c206d65737361676520776569676874206275646765742e484f7665727765696768745365727669636564080114696e64657810013c4f766572776569676874496e646578000110757365642401185765696768740007044101416e2058434d2066726f6d20746865206f7665727765696768742071756575652077617320657865637574656420776974682074686520676976656e2061637475616c2077656967687420757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909099d0104184f7074696f6e04045401280108104e6f6e6500000010536f6d650400280000010000a101100c78636d08763218747261697473144572726f72000168204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300444d756c74694c6f636174696f6e46756c6c000400684d756c74694c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c7536340015004c556e68616e646c656458636d56657273696f6e001600485765696768744c696d69745265616368656404001001185765696768740017001c426172726965720018004c5765696768744e6f74436f6d70757461626c6500190000a5010c48706f6c6b61646f745f70617261636861696e287072696d697469766573084964000004001c010c7533320000a9010c2870616c6c65745f78636d1870616c6c6574144576656e7404045400014024417474656d707465640400ad01015078636d3a3a6c61746573743a3a4f7574636f6d6500000ca8457865637574696f6e206f6620616e2058434d206d6573736167652077617320617474656d707465642e00345c5b206f7574636f6d65205c5d1053656e740c00b10101344d756c74694c6f636174696f6e0000b10101344d756c74694c6f636174696f6e0000d901011c58636d3c28293e00010c5c412058434d206d657373616765207761732073656e742e00885c5b206f726967696e2c2064657374696e6174696f6e2c206d657373616765205c5d48556e6578706563746564526573706f6e73650800b10101344d756c74694c6f636174696f6e000010011c517565727949640002145901517565727920726573706f6e736520726563656976656420776869636820646f6573206e6f74206d61746368206120726567697374657265642071756572792e2054686973206d61792062652062656361757365206155016d61746368696e6720717565727920776173206e6576657220726567697374657265642c206974206d617920626520626563617573652069742069732061206475706c696361746520726573706f6e73652c206f727062656361757365207468652071756572792074696d6564206f75742e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e73655265616479080010011c51756572794964000001020120526573706f6e73650003105d01517565727920726573706f6e736520686173206265656e20726563656976656420616e6420697320726561647920666f722074616b696e672077697468206074616b655f726573706f6e7365602e205468657265206973806e6f2072656769737465726564206e6f74696669636174696f6e2063616c6c2e00485c5b2069642c20726573706f6e7365205c5d204e6f7469666965640c0010011c5175657279496400000801087538000008010875380004105901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20686173a86265656e206469737061746368656420616e64206578656375746564207375636365737366756c6c792e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d404e6f746966794f766572776569676874140010011c517565727949640000080108753800000801087538000024011857656967687400002401185765696768740005146101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20636f756c6441016e6f742062652064697370617463686564206265636175736520746865206469737061746368207765696768742069732067726561746572207468616e20746865206d6178696d756d20776569676874e46f726967696e616c6c7920627564676574656420627920746869732072756e74696d6520666f722074686520717565727920726573756c742e0019015c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e6465782c2061637475616c207765696768742c206d617820627564676574656420776569676874205c5d4c4e6f7469667944697370617463684572726f720c0010011c5175657279496400000801087538000008010875380006105501517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e2054686572652077617320612067656e6572616c206572726f722077697468886469737061746368696e6720746865206e6f74696669636174696f6e2063616c6c2e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d484e6f746966794465636f64654661696c65640c0010011c5175657279496400000801087538000008010875380007145101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652064697370617463682077617320756e61626c6520746f20626559016465636f64656420696e746f2061206043616c6c603b2074686973206d696768742062652064756520746f2064697370617463682066756e6374696f6e20686176696e672061207369676e6174757265207768696368946973206e6f742060286f726967696e2c20517565727949642c20526573706f6e736529602e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d40496e76616c6964526573706f6e6465720c00b10101344d756c74694c6f636174696f6e000010011c517565727949640000250201544f7074696f6e3c4d756c74694c6f636174696f6e3e0008145901457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206f726967696e206c6f636174696f6e206f662074686520726573706f6e736520646f657355016e6f74206d6174636820746861742065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e00b05c5b206f726967696e206c6f636174696f6e2c2069642c206578706563746564206c6f636174696f6e205c5d5c496e76616c6964526573706f6e64657256657273696f6e0800b10101344d756c74694c6f636174696f6e000010011c517565727949640009245101457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206578706563746564206f726967696e206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e736554616b656e040010011c51756572794964000a0cc8526563656976656420717565727920726573706f6e736520686173206265656e207265616420616e642072656d6f7665642e00205c5b206964205c5d34417373657473547261707065640c00280110483235360000b10101344d756c74694c6f636174696f6e00002902015056657273696f6e65644d756c7469417373657473000b0cb8536f6d65206173736574732068617665206265656e20706c6163656420696e20616e20617373657420747261702e00685c5b20686173682c206f726967696e2c20617373657473205c5d5456657273696f6e4368616e67654e6f7469666965640800b10101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e000c0c2501416e2058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e206d65737361676520686173206265656e20617474656d7074656420746f2062652073656e742e00645c5b2064657374696e6174696f6e2c20726573756c74205c5d5c537570706f7274656456657273696f6e4368616e6765640800b10101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e000d10390154686520737570706f727465642076657273696f6e206f662061206c6f636174696f6e20686173206265656e206368616e6765642e2054686973206d69676874206265207468726f75676820616ec06175746f6d61746963206e6f74696669636174696f6e206f722061206d616e75616c20696e74657276656e74696f6e2e006c5c5b206c6f636174696f6e2c2058434d2076657273696f6e205c5d504e6f7469667954617267657453656e644661696c0c00b10101344d756c74694c6f636174696f6e000010011c517565727949640000a101012058636d4572726f72000e1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f727c73656e64696e6720746865206e6f74696669636174696f6e20746f2069742e007c5c5b206c6f636174696f6e2c2071756572792049442c206572726f72205c5d644e6f746966795461726765744d6967726174696f6e4661696c08003d02015856657273696f6e65644d756c74694c6f636174696f6e000010011c51756572794964000f1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f72b46d6967726174696e6720746865206c6f636174696f6e20746f206f7572206e65772058434d20666f726d61742e00605c5b206c6f636174696f6e2c207175657279204944205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909ad01100c78636d087632187472616974731c4f7574636f6d6500010c20436f6d706c657465040010011857656967687400000028496e636f6d706c65746508001001185765696768740000a10101144572726f72000100144572726f720400a10101144572726f7200020000b101100c78636d087631346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72b50101244a756e6374696f6e730000b501100c78636d087631346d756c74696c6f636174696f6e244a756e6374696f6e7300012410486572650000000858310400b90101204a756e6374696f6e0001000858320800b90101204a756e6374696f6e0000b90101204a756e6374696f6e0002000858330c00b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0003000858341000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0004000858351400b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0005000858361800b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0006000858371c00b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0007000858382000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e0000b90101204a756e6374696f6e00080000b901100c78636d087631206a756e6374696f6e204a756e6374696f6e0001242450617261636861696e0400bd01010c7533320000002c4163636f756e744964333208011c6e6574776f726bc10101244e6574776f726b496400010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726bc10101244e6574776f726b4964000114696e646578c901010c753634000200304163636f756e744b6579323008011c6e6574776f726bc10101244e6574776f726b496400010c6b6579150101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400cd010110753132380005002847656e6572616c4b65790400c50101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000600244f6e6c794368696c6400070024506c7572616c6974790801086964d1010118426f6479496400011070617274d5010120426f64795061727400080000bd010000061c00c101100c78636d087630206a756e6374696f6e244e6574776f726b49640001100c416e79000000144e616d65640400c50101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010020506f6c6b61646f74000200184b7573616d6100030000c501102873705f72756e74696d651c626f756e646564407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004002c01185665633c543e0000c9010000061000cd010000061800d101100c78636d087630206a756e6374696f6e18426f6479496400011c10556e6974000000144e616d65640400c50101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010014496e6465780400bd01010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c00060000d501100c78636d087630206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74bd01010c753332000100204672616374696f6e08010c6e6f6dbd01010c75333200011464656e6f6dbd01010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6dbd01010c75333200011464656e6f6dbd01010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6dbd01010c75333200011464656e6f6dbd01010c75333200040000d9010c0c78636d0876320c58636d041043616c6c00000400dd0101585665633c496e737472756374696f6e3c43616c6c3e3e0000dd01000002e10100e1010c0c78636d0876322c496e737472756374696f6e041043616c6c00017034576974686472617741737365740400e501012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400e501012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400e501012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f6964c901011c51756572794964000120726573706f6e736501020120526573706f6e73650001286d61785f776569676874c901010c753634000300345472616e736665724173736574080118617373657473e501012c4d756c746941737365747300012c62656e6566696369617279b10101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473e501012c4d756c746941737365747300011064657374b10101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f747970650d0201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f7374c901010c75363400011063616c6c1102014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572bd01010c7533320001406d61785f6d6573736167655f73697a65bd01010c7533320001306d61785f6361706163697479bd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74bd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72bd01010c75333200011873656e646572bd01010c753332000124726563697069656e74bd01010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400b5010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f6964c901011c5175657279496400011064657374b10101344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f776569676874c901010c753634000c00304465706f73697441737365740c0118617373657473150201404d756c7469417373657446696c7465720001286d61785f617373657473bd01010c75333200012c62656e6566696369617279b10101344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473150201404d756c7469417373657446696c7465720001286d61785f617373657473bd01010c75333200011064657374b10101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000e003445786368616e6765417373657408011067697665150201404d756c7469417373657446696c74657200011c72656365697665e501012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473150201404d756c7469417373657446696c74657200011c72657365727665b10101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473150201404d756c7469417373657446696c74657200011064657374b10101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f6964c901011c5175657279496400011064657374b10101344d756c74694c6f636174696f6e000118617373657473150201404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f776569676874c901010c75363400120030427579457865637574696f6e08011066656573ed0101284d756c746941737365740001307765696768745f6c696d69742102012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400d901012458636d3c43616c6c3e0015002c536574417070656e6469780400d901012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473e501012c4d756c74694173736574730001187469636b6574b10101344d756c74694c6f636174696f6e00180010547261700400c901010c7536340019004053756273637269626556657273696f6e08012071756572795f6964c901011c5175657279496400014c6d61785f726573706f6e73655f776569676874c901010c753634001a0048556e73756273637269626556657273696f6e001b0000e501100c78636d087631286d756c746961737365742c4d756c746941737365747300000400e901013c5665633c4d756c746941737365743e0000e901000002ed0100ed01100c78636d087631286d756c74696173736574284d756c7469417373657400000801086964f101011c4173736574496400010c66756ef501012c46756e676962696c6974790000f101100c78636d087631286d756c746961737365741c4173736574496400010820436f6e63726574650400b10101344d756c74694c6f636174696f6e00000020416273747261637404002c011c5665633c75383e00010000f501100c78636d087631286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400cd010110753132380000002c4e6f6e46756e6769626c650400f90101344173736574496e7374616e636500010000f901100c78636d087631286d756c74696173736574344173736574496e7374616e636500011c24556e646566696e656400000014496e6465780400cd010110753132380001001841727261793404003c011c5b75383b20345d000200184172726179380400fd01011c5b75383b20385d0003001c4172726179313604003d0101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050010426c6f6204002c011c5665633c75383e00060000fd0100000308000000080001020c0c78636d08763220526573706f6e7365000110104e756c6c000000184173736574730400e501012c4d756c74694173736574730001003c457865637574696f6e526573756c740400050201504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e04001c013873757065723a3a56657273696f6e00030000050204184f7074696f6e0404540109020108104e6f6e6500000010536f6d650400090200000100000902000004081ca101000d020c0c78636d087630284f726967696e4b696e64000110184e617469766500000040536f7665726569676e4163636f756e74000100245375706572757365720002000c58636d0003000011020c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f6465642c011c5665633c75383e00001502100c78636d087631286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e6974650400e501012c4d756c74694173736574730000001057696c6404001902013857696c644d756c74694173736574000100001902100c78636d087631286d756c746961737365743857696c644d756c746941737365740001080c416c6c00000014416c6c4f660801086964f101011c4173736574496400010c66756e1d02013c57696c6446756e676962696c697479000100001d02100c78636d087631286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c650001000021020c0c78636d0876322c5765696768744c696d697400010824556e6c696d697465640000001c4c696d697465640400c901010c75363400010000250204184f7074696f6e04045401b1010108104e6f6e6500000010536f6d650400b10100000100002902080c78636d5056657273696f6e65644d756c746941737365747300010808563004002d02014c5665633c76303a3a4d756c746941737365743e0000000856310400e501013c76313a3a4d756c7469417373657473000100002d020000023102003102100c78636d0876302c6d756c74695f6173736574284d756c74694173736574000130104e6f6e650000000c416c6c0001002c416c6c46756e6769626c6500020038416c6c4e6f6e46756e6769626c650003004c416c6c416273747261637446756e6769626c6504010869642c011c5665633c75383e00040058416c6c41627374726163744e6f6e46756e6769626c65040114636c6173732c011c5665633c75383e0005004c416c6c436f6e637265746546756e6769626c650401086964350201344d756c74694c6f636174696f6e00060058416c6c436f6e63726574654e6f6e46756e6769626c65040114636c617373350201344d756c74694c6f636174696f6e00070040416273747261637446756e6769626c6508010869642c011c5665633c75383e000118616d6f756e74cd010110753132380008004c41627374726163744e6f6e46756e6769626c65080114636c6173732c011c5665633c75383e000120696e7374616e6365f90101344173736574496e7374616e636500090040436f6e637265746546756e6769626c650801086964350201344d756c74694c6f636174696f6e000118616d6f756e74cd01011075313238000a004c436f6e63726574654e6f6e46756e6769626c65080114636c617373350201344d756c74694c6f636174696f6e000120696e7374616e6365f90101344173736574496e7374616e6365000b00003502100c78636d087630386d756c74695f6c6f636174696f6e344d756c74694c6f636174696f6e000124104e756c6c0000000858310400390201204a756e6374696f6e0001000858320800390201204a756e6374696f6e0000390201204a756e6374696f6e0002000858330c00390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0003000858341000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0004000858351400390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0005000858361800390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0006000858371c00390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0007000858382000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e0000390201204a756e6374696f6e000800003902100c78636d087630206a756e6374696f6e204a756e6374696f6e00012818506172656e740000002450617261636861696e0400bd01010c7533320001002c4163636f756e744964333208011c6e6574776f726bc10101244e6574776f726b496400010869640401205b75383b2033325d000200384163636f756e74496e646578363408011c6e6574776f726bc10101244e6574776f726b4964000114696e646578c901010c753634000300304163636f756e744b6579323008011c6e6574776f726bc10101244e6574776f726b496400010c6b6579150101205b75383b2032305d0004003850616c6c6574496e7374616e6365040008010875380005003047656e6572616c496e6465780400cd010110753132380006002847656e6572616c4b65790400c50101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000700244f6e6c794368696c6400080024506c7572616c6974790801086964d1010118426f6479496400011070617274d5010120426f647950617274000900003d02080c78636d5856657273696f6e65644d756c74694c6f636174696f6e00010808563004003502014476303a3a4d756c74694c6f636174696f6e0000000856310400b101014476313a3a4d756c74694c6f636174696f6e0001000041020c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144576656e7404045400010c34496e76616c6964466f726d61740400fd01011c5b75383b20385d00000880446f776e77617264206d65737361676520697320696e76616c69642058434d2e205c5b206964205c5d48556e737570706f7274656456657273696f6e0400fd01011c5b75383b20385d000108bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e205c5b206964205c5d404578656375746564446f776e776172640800fd01011c5b75383b20385d0000ad01011c4f7574636f6d65000208c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e445c5b2069642c206f7574636f6d65205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090945020c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144576656e7404045400011834496e76616c6964466f726d61740401286d6573736167655f69640401244d657373616765496400000480446f776e77617264206d65737361676520697320696e76616c69642058434d2e48556e737570706f7274656456657273696f6e0401286d6573736167655f69640401244d6573736167654964000104bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e404578656375746564446f776e776172640801286d6573736167655f69640401244d657373616765496400011c6f7574636f6d65ad01011c4f7574636f6d65000204c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e3c5765696768744578686175737465640c01286d6573736167655f69640401244d657373616765496400014072656d61696e696e675f77656967687424011857656967687400013c72657175697265645f776569676874240118576569676874000304f054686520776569676874206c696d697420666f722068616e646c696e6720646f776e77617264206d657373616765732077617320726561636865642e484f766572776569676874456e7175657565640c01286d6573736167655f69640401244d65737361676549640001406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800013c72657175697265645f7765696768742401185765696768740004041901446f776e77617264206d657373616765206973206f76657277656967687420616e642077617320706c6163656420696e20746865206f7665727765696768742071756575652e484f76657277656967687453657276696365640801406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800012c7765696768745f75736564240118576569676874000504e0446f776e77617264206d6573736167652066726f6d20746865206f766572776569676874207175657565207761732065786563757465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909490208306672616d655f73797374656d14506861736500010c384170706c7945787472696e73696304001c010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e000200004d0200000228005102000002c800550208306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6ebd01014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d655902016473705f72756e74696d653a3a52756e74696d65537472696e670000590200000502005d020c306672616d655f73797374656d1870616c6c65741043616c6c0404540001242866696c6c5f626c6f636b040114726174696f6102011c50657262696c6c00000405014120646973706174636820746861742077696c6c2066696c6c2074686520626c6f636b2077656967687420757020746f2074686520676976656e20726174696f2e1872656d61726b04011872656d61726b2c011c5665633c75383e000114684d616b6520736f6d65206f6e2d636861696e2072656d61726b2e002823203c7765696768743e202d20604f283129602c23203c2f7765696768743e387365745f686561705f7061676573040114706167657310010c753634000204f853657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f6465040110636f64652c011c5665633c75383e0003306453657420746865206e65772072756e74696d6520636f64652e002823203c7765696768743e31012d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f64656045012d20312063616c6c20746f206063616e5f7365745f636f6465603a20604f28532960202863616c6c73206073705f696f3a3a6d6973633a3a72756e74696d655f76657273696f6e60207768696368206973342020657870656e73697665292e842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e4d0154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652c206275742067656e6572616c6c7920746869732069732076657279b8657870656e736976652e2057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e2c23203c2f7765696768743e5c7365745f636f64655f776974686f75745f636865636b73040110636f64652c011c5665633c75383e000424190153657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e002823203c7765696768743e8c2d20604f2843296020776865726520604360206c656e677468206f662060636f646560842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e550154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652e2057652077696c6c207472656174207468697320617320612066756c6c48626c6f636b2e2023203c2f7765696768743e2c7365745f73746f726167650401146974656d73650201345665633c4b657956616c75653e0005046853657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f726167650401106b6579736d0201205665633c4b65793e000604744b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f7072656669780801187072656669782c010c4b657900011c7375626b6579731c010c75333200071011014b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e0039012a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e6465723d0174686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e4472656d61726b5f776974685f6576656e7404011872656d61726b2c011c5665633c75383e000804a44d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e61020c3473705f61726974686d65746963287065725f7468696e67731c50657262696c6c000004001c010c753332000065020000026902006902000004082c2c006d020000022c0071020c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2401185765696768740001246d61785f626c6f636b2401185765696768740001247065725f636c617373750201845065724469737061746368436c6173733c57656967687473506572436c6173733e000075020c346672616d655f737570706f72741c77656967687473405065724469737061746368436c617373040454017902000c01186e6f726d616c790201045400012c6f7065726174696f6e616c79020104540001246d616e6461746f72797902010454000079020c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632401185765696768740001346d61785f65787472696e7369637d0201384f7074696f6e3c5765696768743e0001246d61785f746f74616c7d0201384f7074696f6e3c5765696768743e00012072657365727665647d0201384f7074696f6e3c5765696768743e00007d0204184f7074696f6e04045401240108104e6f6e6500000010536f6d65040024000001000081020c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178850201545065724469737061746368436c6173733c7533323e000085020c346672616d655f737570706f72741c77656967687473405065724469737061746368436c617373040454011c000c01186e6f726d616c1c01045400012c6f7065726174696f6e616c1c0104540001246d616e6461746f72791c010454000089020c346672616d655f737570706f72741c776569676874733c52756e74696d65446257656967687400000801107265616410010c753634000114777269746510010c75363400008d02082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d655902013452756e74696d65537472696e67000124696d706c5f6e616d655902013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e1c010c753332000130737065635f76657273696f6e1c010c753332000130696d706c5f76657273696f6e1c010c753332000110617069739102011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e1c010c75333200013473746174655f76657273696f6e080108753800009102040c436f7704045401950200040095020000009502000002990200990200000408fd011c009d020c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c6574a102102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401280453000004004d0201185665633c543e0000a5020c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f77c9010124543a3a4d6f6d656e7400004054536574207468652063757272656e742074696d652e005501546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed470686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e0041015468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e742073706563696669656420627940604d696e696d756d506572696f64602e00d4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e002823203c7765696768743e31012d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f283129602961012d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e402020606f6e5f66696e616c697a656029d42d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea9020000040c0018ac00ad020c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e6465780000489841737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00dc5061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f02d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e602d204f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e207472616e7366657208010c6e6577b10201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e6465780001505d0141737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6eb86973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0025012d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e642d204f6e65207472616e73666572206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743ae02020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e7429e42020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e74292c23203c2f7765696768743e1066726565040114696e64657810013c543a3a4163636f756e74496e646578000248944672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e005d015061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e000d012d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e0084456d6974732060496e646578467265656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e602d204f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e38666f7263655f7472616e736665720c010c6e6577b10201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65ac0110626f6f6c0003545501466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479e868656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a42d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e41012d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e782d20557020746f206f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743af42020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e657229f82020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e6572292c23203c2f7765696768743e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004484101467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206861766520616c6e6f6e2d66726f7a656e206163636f756e742060696e646578602e00ac2d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e0088456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e702d20557020746f206f6e6520736c617368206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb1020c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e646578019c011408496404000001244163636f756e74496400000014496e6465780400b50201304163636f756e74496e6465780001000c52617704002c011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400150101205b75383b2032305d00040000b5020000069c00b9020c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909bd02102873705f72756e74696d651c626f756e646564407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401c102045300000400c90201185665633c543e0000c102083c70616c6c65745f62616c616e6365732c42616c616e63654c6f636b041c42616c616e63650118000c01086964fd0101384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e73c502011c526561736f6e730000c502083c70616c6c65745f62616c616e6365731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000c902000002c10200cd02102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401d102045300000400d50201185665633c543e0000d102083c70616c6c65745f62616c616e6365732c52657365727665446174610844526573657276654964656e74696669657201fd011c42616c616e63650118000801086964fd010144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e63650000d502000002d10200d902083c70616c6c65745f62616c616e6365732052656c65617365730001081856315f305f300000001856325f305f3000010000dd020c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000118207472616e7366657208011064657374b10201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565cd010128543a3a42616c616e6365000064d45472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e000501607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e11014966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b06f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002823203c7765696768743e61012d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f7220696e70757420636f6e66696794202074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e31012d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c6578382020636f6d7075746174696f6e2e004852656c617465642066756e6374696f6e733a004d0120202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e290120202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365cc2020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642e5d0120202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765722060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e636564602e5d0120202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616c20636865636bdc202020207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e842d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d11012d204f726967696e206163636f756e7420697320616c726561647920696e206d656d6f72792c20736f206e6f204442206f7065726174696f6e7320666f72207468656d2e2c23203c2f7765696768743e2c7365745f62616c616e63650c010c77686fb10201504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f66726565cd010128543a3a42616c616e63650001306e65775f7265736572766564cd010128543a3a42616c616e636500012090536574207468652062616c616e636573206f66206120676976656e206163636f756e742e001d01546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c3101616c736f20616c7465722074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e6365602920617070726f7072696174656c792e1501496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742cfc69742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b0546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e38666f7263655f7472616e736665720c0118736f75726365b10201504163636f756e7449644c6f6f6b75704f663c543e00011064657374b10201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565cd010128543a3a42616c616e63650002184d0145786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d6179206265287370656369666965642e2823203c7765696768743e4d012d2053616d65206173207472616e736665722c20627574206164646974696f6e616c207265616420616e6420777269746520626563617573652074686520736f75726365206163636f756e74206973206e6f747c2020617373756d656420746f20626520696e20746865206f7665726c61792e2c23203c2f7765696768743e4c7472616e736665725f6b6565705f616c69766508011064657374b10201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565cd010128543a3a42616c616e63650003184d0153616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c207468653c6f726967696e206163636f756e742e00b8393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c05b607472616e73666572605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572307472616e736665725f616c6c08011064657374b10201504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665ac0110626f6f6c00044405015472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e0059014e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e7320746861746101616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062655d017472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c4501796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f72616765406465706f736974732c206574632e2e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e00a02d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e59012d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c4d0120206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f72590120207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746fc820206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e2023203c7765696768743e39012d204f2831292e204a757374206c696b65207472616e736665722c206275742072656164696e672074686520757365722773207472616e7366657261626c652062616c616e63652066697273742e302020233c2f7765696768743e3c666f7263655f756e7265736572766508010c77686fb10201504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050cb0556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e006c43616e206f6e6c792062652063616c6c656420627920524f4f542e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee1020c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001203856657374696e6742616c616e63650000049856657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e73000104c44163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c4c496e73756666696369656e7442616c616e63650002047442616c616e636520746f6f206c6f7720746f2073656e642076616c7565484578697374656e7469616c4465706f736974000304e856616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650004048c5472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c65000504c8412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e740006048842656e6566696369617279206163636f756e74206d757374207072652d65786973743c546f6f4d616e795265736572766573000704ac4e756d626572206f66206e616d656420726573657276657320657863656564204d6178526573657276657304b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909e5020c3473705f61726974686d657469632c66697865645f706f696e742446697865645531323800000400180110753132380000e902086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e7400000008563200010000ed02102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401f102045300000400f90201185665633c543e0000f102104473705f636f6e73656e7375735f617572611c737232353531392c6170705f73723235353139185075626c696300000400f502013c737232353531393a3a5075626c69630000f5020c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d0000f902000002f10200fd02084873705f636f6e73656e7375735f736c6f747310536c6f740000040010010c7536340000010300000205030005030000040800090300090308447370697269746e65745f72756e74696d652c53657373696f6e4b657973000004011061757261f10201c43c41757261206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c696300000d030000021c0011030000040815032c0015030c1c73705f636f72651863727970746f244b6579547970654964000004003c011c5b75383b20345d000019030c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b6579730903011c543a3a4b65797300011470726f6f662c011c5665633c75383e000038e453657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e1d01416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d0546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002823203c7765696768743e11012d20436f6d706c65786974793a20604f283129602e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f6698202060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a20606f726967696e206163636f756e74602c2060543a3a56616c696461746f7249644f66602c20604e6578744b65797360a02d2044625772697465733a20606f726967696e206163636f756e74602c20604e6578744b65797360802d204462526561647320706572206b65792069643a20604b65794f776e657260842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e2870757267655f6b657973000140c852656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722e00c05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e005501546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265205369676e656420616e6420746865206163636f756e74206d757374206265206569746865722062655d01636f6e7665727469626c6520746f20612076616c696461746f72204944207573696e672074686520636861696e2773207479706963616c2061646472657373696e672073797374656d20287468697320757375616c6c7951016d65616e73206265696e67206120636f6e74726f6c6c6572206163636f756e7429206f72206469726563746c7920636f6e7665727469626c6520696e746f20612076616c696461746f722049442028776869636894757375616c6c79206d65616e73206265696e672061207374617368206163636f756e74292e002823203c7765696768743e61012d20436f6d706c65786974793a20604f2831296020696e206e756d626572206f66206b65792074797065732e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468a420206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a2060543a3a56616c696461746f7249644f66602c20604e6578744b657973602c20606f726967696e206163636f756e7460a02d2044625772697465733a20604e6578744b657973602c20606f726967696e206163636f756e7460842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e1d030c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742e21030c4470617261636861696e5f7374616b696e6714747970657324526f756e64496e666f042c426c6f636b4e756d6265720110000c011c63757272656e741c013053657373696f6e496e646578000114666972737410012c426c6f636b4e756d6265720001186c656e67746810012c426c6f636b4e756d626572000025030c4470617261636861696e5f7374616b696e671474797065734444656c65676174696f6e436f756e7465720000080114726f756e641c013053657373696f6e496e64657800011c636f756e7465721c010c753332000029030c4470617261636861696e5f7374616b696e67147479706573145374616b6508244163636f756e74496401001c42616c616e63650118000801146f776e65720001244163636f756e744964000118616d6f756e7418011c42616c616e636500002d030c4470617261636861696e5f7374616b696e671474797065732443616e6469646174650c244163636f756e74496401001c42616c616e63650118644d617844656c656761746f727350657243616e646964617465000014010869640001244163636f756e7449640001147374616b6518011c42616c616e636500012864656c656761746f727331030101014f7264657265645365743c5374616b653c4163636f756e7449642c2042616c616e63653e2c204d617844656c656761746f727350657243616e6469646174653e000114746f74616c18011c42616c616e63650001187374617475733d03013c43616e646964617465537461747573000031030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401290304530000040035030140426f756e6465645665633c542c20533e00003503102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012903045300000400390301185665633c543e000039030000022903003d030c4470617261636861696e5f7374616b696e671474797065733c43616e646964617465537461747573000108184163746976650000001c4c656176696e6704001c013053657373696f6e496e6465780001000041030c4470617261636861696e5f7374616b696e6714747970657328546f74616c5374616b65041c42616c616e6365011800080124636f6c6c61746f727318011c42616c616e636500012864656c656761746f727318011c42616c616e6365000045030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401290304530000040049030140426f756e6465645665633c542c20533e00004903102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012903045300000400390301185665633c543e00004d030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e34496e666c6174696f6e496e666f0000080120636f6c6c61746f725103012c5374616b696e67496e666f00012464656c656761746f725103012c5374616b696e67496e666f000051030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e2c5374616b696e67496e666f00000801206d61785f7261746588012c5065727175696e74696c6c00012c7265776172645f726174655503012852657761726452617465000055030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e28526577617264526174650000080118616e6e75616c88012c5065727175696e74696c6c0001247065725f626c6f636b88012c5065727175696e74696c6c00005903102873705f72756e74696d651c626f756e64656444626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601180453000004005d03013842547265654d61703c4b2c20563e00005d03042042547265654d617008044b0110045601180004006103000000610300000265030065030000040810180069030c4470617261636861696e5f7374616b696e671870616c6c65741043616c6c0404540001543c666f7263655f6e65775f726f756e64000018d0466f7263657320746865207374617274206f6620746865206e657720726f756e6420696e20746865206e65787420626c6f636b2e00a0546865206e657720726f756e642077696c6c20626520656e666f7263656420766961203c54206173a453686f756c64456e6453657373696f6e3c5f3e3e3a3a73686f756c645f656e645f73657373696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e347365745f696e666c6174696f6e100170636f6c6c61746f725f6d61785f726174655f70657263656e7461676588012c5065727175696e74696c6c000198636f6c6c61746f725f616e6e75616c5f7265776172645f726174655f70657263656e7461676588012c5065727175696e74696c6c00017464656c656761746f725f6d61785f726174655f70657263656e7461676588012c5065727175696e74696c6c00019c64656c656761746f725f616e6e75616c5f7265776172645f726174655f70657263656e7461676588012c5065727175696e74696c6c00013cf05365742074686520616e6e75616c20696e666c6174696f6e207261746520746f20646572697665207065722d726f756e6420696e666c6174696f6e2e00110154686520696e666c6174696f6e2064657461696c732061726520636f6e736964657265642076616c69642069662074686520616e6e75616c207265776172642072617465f0697320617070726f78696d6174656c7920746865207065722d626c6f636b207265776172642072617465206d756c7469706c69656420627920746865ac657374696d617465642a20746f74616c206e756d626572206f6620626c6f636b732070657220796561722e00cc54686520657374696d61746564206176657261676520626c6f636b2074696d65206973207477656c7665207365636f6e64732e000d014e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20616e6420666f7220656163682063616e646964617465206f766572207468656972090164656c656761746f727320746f207570646174652074686569722072657761726473206265666f72652074686520726577617264207261746573206368616e67652ee04e6565647320746f20626520696d70726f766564207768656e207363616c696e6720757020604d6178546f7043616e64696461746573602e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060526f756e64496e666c6174696f6e536574602e6c7365745f6d61785f73656c65637465645f63616e6469646174657304010c6e65771c010c75333200022c090153657420746865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e6469646174657320746861742063616e2062652073656c6563746564a861742074686520626567696e6e696e67206f6620656163682076616c69646174696f6e20726f756e642e00e84368616e67657320617265206e6f74206170706c69656420756e74696c20746865207374617274206f6620746865206e65787420726f756e642e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617853656c656374656443616e64696461746573536574602e507365745f626c6f636b735f7065725f726f756e6404010c6e6577100138543a3a426c6f636b4e756d62657200032cd453657420746865206e756d626572206f6620626c6f636b7320656163682076616c69646174696f6e20726f756e64206c617374732e000901496620746865206e65772076616c7565206973206c657373207468616e20746865206c656e677468206f66207468652063757272656e7420726f756e642c20746865050173797374656d2077696c6c20696d6d6564696174656c79206d6f766520746f20746865206e65787420726f756e6420696e20746865206e65787420626c6f636b2e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060426c6f636b73506572526f756e64536574602e5c7365745f6d61785f63616e6469646174655f7374616b6504010c6e657718013042616c616e63654f663c543e000418110153657420746865206d6178696d616c20616d6f756e74206120636f6c6c61746f722063616e207374616b652e204578697374696e67207374616b657320617265206e6f74206368616e6765642e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617843616e6469646174655374616b654368616e676564602e58666f7263655f72656d6f76655f63616e646964617465040120636f6c6c61746f72b102018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650005300101466f726365646c792072656d6f766573206120636f6c6c61746f722063616e6469646174652066726f6d2074686520546f7043616e6469646174657320616e64e4636c6561727320616c6c206173736f6369617465642073746f7261676520666f72207468652063616e64696461746520616e642074686569722c64656c656761746f72732e00fc507265706172657320756e7374616b696e67206f66207468652063616e6469646174657320616e642074686569722064656c656761746f7273207374616b65f077686963682063616e20626520756e6c6f636b6564207669612060756e6c6f636b5f756e7374616b6564602061667465722077616974696e6720617409016c6561737420605374616b654475726174696f6e60206d616e7920626c6f636b732e20416c736f20696e6372656d656e7473207265776172647320666f722074686578636f6c6c61746f7220616e642074686569722064656c656761746f72732e00d4496e6372656d656e74732072657761726473206f662063616e64696461746520616e642074686569722064656c656761746f72732e0064456d697473206043616e64696461746552656d6f766564602e3c6a6f696e5f63616e646964617465730401147374616b6518013042616c616e63654f663c543e000644904a6f696e2074686520736574206f6620636f6c6c61746f722063616e646964617465732e00f8496e20746865206e65787420626c6f636b732c2069662074686520636f6c6c61746f722063616e6469646174652068617320656e6f7567682066756e6473fc7374616b656420746f20626520696e636c7564656420696e20616e79206f662074686520746f7020604d617853656c656374656443616e64696461746573600d01706f736974696f6e732c2069742077696c6c20626520696e636c7564656420696e2074686520736574206f6620706f74656e7469616c20617574686f72732074686174050177696c6c2062652073656c656374656420627920746865207374616b652d77656967687465642072616e646f6d2073656c656374696f6e2066756e6374696f6e2e00fc546865207374616b65642066756e6473206f6620746865206e657720636f6c6c61746f722063616e6469646174652061726520616464656420746f2074686568746f74616c207374616b65206f66207468652073797374656d2e00110154686520746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e2074686520616c6c6f7765642072616e67652061738873657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e00f0546865206469737061746368206f726967696e206d757374206e6f7420626520616c72656164792070617274206f662074686520636f6c6c61746f729463616e64696461746573206e6f72206f66207468652064656c656761746f7273207365742e0084456d69747320604a6f696e6564436f6c6c61746f7243616e64696461746573602e54696e69745f6c656176655f63616e6469646174657300076cc05265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e0005014f6e20737563636573732c20746865206163636f756e7420697320696d6d6564696174656c792072656d6f7665642066726f6d207468652063616e6469646174651101706f6f6c20746f2070726576656e742073656c656374696f6e206173206120636f6c6c61746f7220696e206675747572652076616c69646174696f6e20726f756e64732cd862757420756e7374616b696e67206f66207468652066756e6473206973206578656375746564207769746820612064656c6179206f665c605374616b654475726174696f6e6020626c6f636b732e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00f454686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e204974206973110175706461746564206576656e2074686f756768207468652066756e6473206f66207468652063616e6469646174652077686f207369676e616c656420746f206c65617665fc617265207374696c6c206c6f636b656420666f7220604578697444656c617960202b20605374616b654475726174696f6e60206d6f726520626c6f636b732e000d014e4f544520313a2055706f6e207374617274696e672061206e65772073657373696f6e5f6920696e20606e65775f73657373696f6e602c207468652063757272656e741101746f702063616e64696461746573206172652073656c656374656420746f20626520626c6f636b20617574686f727320666f722073657373696f6e5f692b312e20416e7905016368616e67657320746f2074686520746f702063616e64696461746573206166746572776172647320646f206e6f74206566666563742074686520736574206f6660617574686f727320666f722073657373696f6e5f692b312ed8546875732c207765206861766520746f206d616b652073757265206e6f6e65206f6620746865736520636f6c6c61746f72732063616ebc6c65617665206265666f72652073657373696f6e5f692b3120656e64732062792064656c6179696e67207468656972846578697420666f7220604578697444656c617960206d616e7920626c6f636b732e00f04e4f544520323a20576520646f206e6f7420696e6372656d656e74207265776172647320696e20746869732065787472696e73696320617320746865110163616e64696461746520636f756c64207374696c6c20617574686f7220626c6f636b732c20616e64207468757320626520656c696769626c6520746f2072656365697665ac726577617264732c20756e74696c2074686520656e64206f6620746865206e6578742073657373696f6e2e0078456d6974732060436f6c6c61746f725363686564756c656445786974602e60657865637574655f6c656176655f63616e64696461746573040120636f6c6c61746f72b102018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500084405014578656375746520746865206e6574776f726b2065786974206f6620612063616e6469646174652077686f2072657175657374656420746f206c65617665206174f06c65617374206045786974517565756544656c61796020726f756e64732061676f2e20507265706172657320756e7374616b696e67206f6620746865fc63616e6469646174657320616e642074686569722064656c656761746f7273207374616b652077686963682063616e20626520756e6c6f636b656420766961f460756e6c6f636b5f756e7374616b6564602061667465722077616974696e67206174206c6561737420605374616b654475726174696f6e60206d616e791c626c6f636b732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00fc4e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20666f7220656163682063616e646964617465206f766572207468656972fc64656c656761746f727320746f2073657420726577617264732e204e6565647320746f20626520696d70726f766564207768656e207363616c696e672075704c604d6178546f7043616e64696461746573602e0054456d6974732060436f6c6c61746f724c656674602e5c63616e63656c5f6c656176655f63616e646964617465730009200501526576657274207468652070726576696f75736c79207265717565737465642065786974206f6620746865206e6574776f726b206f66206120636f6c6c61746f720d0163616e6469646174652e204f6e20737563636573732c2061646473206261636b207468652063616e64696461746520746f2074686520546f7043616e6469646174657368616e6420757064617465732074686520636f6c6c61746f72732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e0074456d6974732060436f6c6c61746f7243616e63656c656445786974602e5063616e6469646174655f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000a30a85374616b65206d6f72652066756e647320666f72206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686505016163636f756e7420746f20626520616464656420746f2069742e20546865206c617267657220616d6f756e74206f662066756e64732c2074686520686967686572dc6368616e63657320746f2062652073656c65637465642061732074686520617574686f72206f6620746865206e65787420626c6f636b2e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644d6f7265602e5063616e6469646174655f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000b3ca85374616b65206c6573732066756e647320666f72206120636f6c6c61746f722063616e6469646174652e000501496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c20746865206163636f756e74fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e000d0154686520756e7374616b65642066756e647320617265206e6f742072656c656173656420696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644c657373602e3c6a6f696e5f64656c656761746f7273080120636f6c6c61746f72b102018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000118616d6f756e7418013042616c616e63654f663c543e000c5805014a6f696e2074686520736574206f662064656c656761746f72732062792064656c65676174696e6720746f206120636f6c6c61746f722063616e6469646174652e000501546865206163636f756e7420746861742077616e747320746f2064656c65676174652063616e6e6f742062652070617274206f662074686520636f6c6c61746f725c63616e64696461746573207365742061732077656c6c2e0009015468652063616c6c6572206d757374205f6e6f745f206861766520612064656c65676174696f6e2e20496620746861742069732074686520636173652c2074686579b061726520726571756972656420746f2066697273742072656d6f7665207468652064656c65676174696f6e2e00110154686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206d696e696d756d20726571756972656420746f206265636f6d65c4612064656c656761746f722061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0009014173206f6e6c7920604d617844656c656761746f7273506572436f6c6c61746f72602061726520616c6c6f77656420746f2064656c6567617465206120676976656e0501636f6c6c61746f722c2074686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206c6f77657374206f6e6520696e01017468652063757272656e7420736574206f662064656c656761746f7220666f7220746865206f7065726174696f6e20746f206265206d65616e696e6766756c2e00090154686520636f6c6c61746f72277320746f74616c207374616b652061732077656c6c206173207468652070616c6c6574277320746f74616c207374616b652061726558696e63726561736564206163636f7264696e676c792e004c456d697473206044656c65676174696f6e602ebc456d697473206044656c65676174696f6e5265706c6163656460206966207468652063616e64696461746520686173f8604d617844656c656761746f7273506572436f6c6c61746f7260206d616e792064656c65676174696f6e732062757420746869732064656c656761746f72fc7374616b6564206d6f7265207468616e206f6e65206f6620746865206f746865722064656c656761746f7273206f6620746869732063616e6469646174652e406c656176655f64656c656761746f7273000d400d014c656176652074686520736574206f662064656c656761746f727320616e642c20627920696d706c69636174696f6e2c207265766f6b6520746865206f6e676f696e672c64656c65676174696f6e2e001101416c6c207374616b65642066756e647320617265206e6f7420756e6c6f636b656420696d6d6564696174656c792c2062757420746865792061726520616464656420746f0101746865207175657565206f662070656e64696e6720756e7374616b696e672c20616e642077696c6c206566666563746976656c792062652072656c65617365640901616674657220605374616b654475726174696f6e6020626c6f636b732066726f6d20746865206d6f6d656e74207468652064656c656761746f72206c65617665732e000d0154686973206f7065726174696f6e20726564756365732074686520746f74616c207374616b65206f66207468652070616c6c65742061732077656c6c2061732074686509017374616b6573206f6620616c6c20636f6c6c61746f7273207468617420776572652064656c6567617465642c20706f74656e7469616c6c7920616666656374696e6705017468656972206368616e63657320746f20626520696e636c7564656420696e2074686520736574206f662063616e6469646174657320696e20746865206e6578741c726f756e64732e0005014175746f6d61746963616c6c7920696e6372656d656e74732074686520616363756d756c617465642072657761726473206f6620746865206f726967696e206f665c7468652063757272656e742064656c65676174696f6e2e0058456d697473206044656c656761746f724c656674602e5064656c656761746f725f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000e18dc496e63726561736520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686594636f6c6c61746f722063616e64696461746520746f20626520616464656420746f2069742e0070456d697473206044656c656761746f725374616b65644d6f7265602e5064656c656761746f725f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000f40d452656475636520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e000901496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c2074686520636f6c6c61746f72fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00090154686520756e7374616b65642066756e647320617265206e6f742072656c6561736520696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e0001015468652072656d61696e696e67207374616b65642066756e6473206d757374207374696c6c206265206c6172676572207468616e20746865206d696e696d756df0726571756972656420627920746869732070616c6c657420746f206d61696e7461696e2074686520737461747573206f662064656c656761746f722e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0070456d697473206044656c656761746f725374616b65644c657373602e3c756e6c6f636b5f756e7374616b6564040118746172676574b102018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365001028f4556e6c6f636b20616c6c2070726576696f75736c79207374616b65642066756e6473207468617420617265206e6f7720617661696c61626c6520666f720501756e6c6f636b696e6720627920746865206f726967696e206163636f756e7420616674657220605374616b654475726174696f6e6020626c6f636b73206861766520656c61707365642e00fc5765696768743a204f285529207768657265205520697320746865206e756d626572206f66206c6f636b656420756e7374616b696e6720726571756573747380626f756e64656420627920604d6178556e7374616b655265717565737473602eac2d2052656164733a205b4f726967696e204163636f756e745d2c20556e7374616b696e672c204c6f636b73682d205772697465733a20556e7374616b696e672c204c6f636b73e82d204b696c6c733a20556e7374616b696e672026204c6f636b73206966206e6f2062616c616e6365206973206c6f636b656420616e796d6f72652c23203c2f7765696768743e34636c61696d5f7265776172647300113cd4436c61696d20626c6f636b20617574686f72696e67207265776172647320666f72207468652074617267657420616464726573732e00090152657175697265732060526577617264736020746f20626520736574206265666f726568616e642c2077686963682063616e2062792074726967676572656420627970616e79206f662074686520666f6c6c6f77696e67206f7074696f6e73e82a2043616c6c696e6720696e6372656d656e745f7b636f6c6c61746f722c2064656c656761746f727d5f72657761726473202861637469766529782a20416c746572696e6720796f7572207374616b65202861637469766529b02a204c656176696e6720746865206e6574776f726b206173206120636f6c6c61746f72202861637469766529bc2a205265766f6b696e6720612064656c65676174696f6e20617320612064656c656761746f7220286163746976652909012a204265696e6720612064656c656761746f722077686f736520636f6c6c61746f72206c65667420746865206e6574776f726b2c20616c7465726564207468656972a020207374616b65206f7220696e6372656d656e746564207265776172647320287061737369766529000501546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652c20652e672e2c20616e796f6e652063616e20636c61696d2c666f7220616e796f6e652e0044456d69747320605265776172646564602e68696e6372656d656e745f636f6c6c61746f725f72657761726473001218b44163746976656c7920696e6372656d656e74207468652072657761726473206f66206120636f6c6c61746f722e0005015468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72206c656176696e6720746865206e6574776f726b2e009c546865206469737061746368206f726967696e206d757374206265206120636f6c6c61746f722e6c696e6372656d656e745f64656c656761746f725f72657761726473001318b84163746976656c7920696e6372656d656e74207468652072657761726473206f6620612064656c656761746f722e00f85468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72207265766f6b696e673064656c65676174696f6e732e00a0546865206469737061746368206f726967696e206d75737420626520612064656c656761746f722e7c657865637574655f7363686564756c65645f7265776172645f6368616e67650014280d0145786563757465732074686520616e6e75616c20726564756374696f6e206f66207468652072657761726420726174657320666f7220636f6c6c61746f727320616e642c64656c656761746f72732e00dc4d6f72656f7665722c2073657473207265776172647320666f7220616c6c20636f6c6c61746f727320616e642064656c656761746f72737c6265666f72652061646a757374696e672074686520696e666c6174696f6e2e000d01546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652062656361757365207765206261696c2069662063616c6c656428746f6f206561726c792e0068456d6974732060526f756e64496e666c6174696f6e536574602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e6d030c4470617261636861696e5f7374616b696e671870616c6c6574144572726f7204045400017c4444656c656761746f724e6f74466f756e64000004b8546865206163636f756e74206973206e6f742070617274206f66207468652064656c656761746f7273207365742e4443616e6469646174654e6f74466f756e64000104dc546865206163636f756e74206973206e6f742070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3c44656c656761746f72457869737473000204c8546865206163636f756e7420697320616c72656164792070617274206f66207468652064656c656761746f7273207365742e3c43616e646964617465457869737473000304ec546865206163636f756e7420697320616c72656164792070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3056616c5374616b655a65726f000404e4546865206163636f756e7420747269656420746f207374616b65206d6f7265206f72206c657373207769746820616d6f756e74207a65726f2e4056616c5374616b6542656c6f774d696e0005080d01546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f20626520616464656420746f2074686520636f6c6c61746f723c63616e64696461746573207365742e4056616c5374616b6541626f76654d61780006041101546865206163636f756e742068617320616c7265616479207374616b656420746865206d6178696d756d20616d6f756e74206f662066756e647320706f737369626c652e4844656c65676174696f6e42656c6f774d696e000708f8546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f2064656c6567617465206120636f6c6c61746f722863616e6469646174652e38416c72656164794c656176696e670008080d0154686520636f6c6c61746f722063616e6469646174652068617320616c72656164792074726967676572207468652070726f6365737320746f206c65617665207468656c736574206f6620636f6c6c61746f722063616e646964617465732e284e6f744c656176696e67000908f454686520636f6c6c61746f722063616e6469646174652077616e74656420746f20657865637574652074686520657869742062757420686173206e6f74f472657175657374656420746f206c65617665206265666f72652062792063616c6c696e672060696e69745f6c656176655f63616e64696461746573602e3843616e6e6f744c65617665596574000a08dc54686520636f6c6c61746f7220747269656420746f206c65617665206265666f72652077616974696e67206174206c6561737420666f72746045786974517565756544656c617960206d616e7920726f756e64732e6443616e6e6f744a6f696e4265666f7265556e6c6f636b696e67000b10f8546865206163636f756e742068617320612066756c6c206c697374206f6620756e7374616b696e6720726571756573747320616e64206e6565647320746ffc756e6c6f636b206174206c65617374206f6e65206f66207468657365206265666f7265206265696e672061626c6520746f206a6f696e2028616761696e292edc4e4f54453a2043616e206f6e6c792068617070656e20696620746865206163636f756e742077617320612063616e646964617465206f72f464656c656761746f72206265666f726520616e642065697468657220676f74206b69636b6564206f722065786974656420766f6c756e746172696c792e44416c726561647944656c65676174696e67000c04e4546865206163636f756e7420697320616c72656164792064656c65676174696e672074686520636f6c6c61746f722063616e6469646174652e404e6f7459657444656c65676174696e67000d080901546865206163636f756e7420686173206e6f742064656c65676174656420616e7920636f6c6c61746f722063616e646964617465207965742c2068656e6365206974806973206e6f7420696e2074686520736574206f662064656c656761746f72732e6c44656c65676174696f6e73506572526f756e644578636565646564000e1811015468652064656c656761746f722068617320657863656564656420746865206e756d626572206f662064656c65676174696f6e732070657220726f756e6420776869636894697320657175616c20746f204d617844656c656761746f7273506572436f6c6c61746f722e000901546869732070726f746563747320616761696e73742061747461636b7320696e20776869636820612064656c656761746f722063616e2072652d64656c6567617465010166726f6d206120636f6c6c61746f722077686f2068617320616c726561647920617574686f726564206120626c6f636b2c20746f20616e6f74686572206f6e6570776869636820686173206e6f7420696e207468697320726f756e642e44546f6f4d616e7944656c656761746f7273000f14010154686520636f6c6c61746f722063616e6469646174652068617320616c7265616479207265616368656420746865206d6178696d756d206e756d626572206f662c64656c656761746f72732e00050154686973206572726f722069732067656e65726174656420696e20636173652061206e65772064656c65676174696f6e207265717565737420646f6573206e6f74f47374616b6520656e6f7567682066756e647320746f207265706c61636520736f6d65206f74686572206578697374696e672064656c65676174696f6e2e60546f6f466577436f6c6c61746f7243616e64696461746573001008110154686520736574206f6620636f6c6c61746f722063616e6469646174657320776f756c642066616c6c2062656c6f7720746865207265717569726564206d696e696d756d5469662074686520636f6c6c61746f72206c6566742e5043616e6e6f745374616b6549664c656176696e67001108f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66010163616e6469646174657320616e642063616e6e6f7420706572666f726d20616e79206f7468657220616374696f6e7320696e20746865206d65616e74696d652e5c43616e6e6f7444656c656761746549664c656176696e67001208f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66ac63616e6469646174657320616e6420746875732063616e6e6f742062652064656c65676174656420746f2e804d6178436f6c6c61746f727350657244656c656761746f72457863656564656400130811015468652064656c656761746f722068617320616c72656164792064656c65676174656420746865206d6178696d756d206e756d626572206f662063616e6469646174657320616c6c6f7765642e60416c726561647944656c656761746564436f6c6c61746f72001408ec5468652064656c656761746f722068617320616c72656164792070726576696f75736c792064656c6567617465642074686520636f6c6c61746f722863616e6469646174652e4844656c65676174696f6e4e6f74466f756e64001504f854686520676976656e2064656c65676174696f6e20646f6573206e6f7420657869737420696e2074686520736574206f662064656c65676174696f6e732e24556e646572666c6f77001608050154686520636f6c6c61746f722064656c6567617465206f72207468652064656c656761746f7220697320747279696e6720746f20756e2d7374616b65206d6f72658066756e64732074686174206172652063757272656e746c79207374616b65642e4443616e6e6f7453657441626f76654d6178001708d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738061626f766520746865206d6178696d756d2076616c756520616c6c6f7765642e4443616e6e6f7453657442656c6f774d696e001808d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738062656c6f7720746865206d696e696d756d2076616c756520616c6c6f7765642e3c496e76616c69645363686564756c65001904dc416e20696e76616c696420696e666c6174696f6e20636f6e66696775726174696f6e20697320747279696e6720746f206265207365742e3c4e6f4d6f7265556e7374616b696e67001a08c4546865207374616b696e6720726577617264206265696e6720756e6c6f636b656420646f6573206e6f742065786973742e7c4d617820756e6c6f636b696e6720726571756573747320726561636865642e20546f6f4561726c79001b0801015468652072657761726420726174652063616e6e6f742062652061646a75737465642079657420617320616e20656e74697265207965617220686173206e6f741c7061737365642e345374616b654e6f74466f756e64001c04d850726f7669646564207374616b65642076616c7565206973207a65726f2e2053686f756c64206e65766572206265207468726f776e2e40556e7374616b696e674973456d707479001d049443616e6e6f7420756e6c6f636b207768656e20556e7374616b656420697320656d7074792e3c526577617264734e6f74466f756e64001e047843616e6e6f7420636c61696d207265776172647320696620656d7074792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909097103102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540175030453000004007d0301185665633c543e00007503084470616c6c65745f617574686f727368697038556e636c65456e7472794974656d0c2c426c6f636b4e756d62657201101048617368012818417574686f72010001083c496e636c7573696f6e486569676874040010012c426c6f636b4e756d62657200000014556e636c650800280110486173680000790301384f7074696f6e3c417574686f723e00010000790304184f7074696f6e04045401000108104e6f6e6500000010536f6d6504000000000100007d0300000275030081030c4470616c6c65745f617574686f72736869701870616c6c65741043616c6c040454000104287365745f756e636c65730401286e65775f756e636c6573850301385665633c543a3a4865616465723e0000046050726f76696465206120736574206f6620756e636c65732e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e85030000028903008903102873705f72756e74696d651c67656e65726963186865616465721848656164657208184e756d62657201101048617368018d030014012c706172656e745f68617368280130486173683a3a4f75747075740001186e756d626572c90101184e756d62657200012873746174655f726f6f74280130486173683a3a4f757470757400013c65787472696e736963735f726f6f74280130486173683a3a4f757470757400011864696765737430011844696765737400008d030c2873705f72756e74696d65187472616974732c426c616b6554776f3235360000000091030c4470616c6c65745f617574686f72736869701870616c6c6574144572726f7204045400011c48496e76616c6964556e636c65506172656e740000048854686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c726561647953657400010480556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c657300020440546f6f206d616e7920756e636c65732e3047656e65736973556e636c650003045454686520756e636c652069732067656e657369732e30546f6f48696768556e636c650004047c54686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c756465640005047854686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c65000604b454686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909950300000299030099030000040c1c2800009d0300000408901800a103084070616c6c65745f64656d6f637261637938507265696d6167655374617475730c244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d626572011001081c4d697373696e67040010012c426c6f636b4e756d62657200000024417661696c61626c65140110646174612c011c5665633c75383e00012070726f76696465720001244163636f756e74496400011c6465706f73697418011c42616c616e636500011473696e636510012c426c6f636b4e756d626572000118657870697279a503014c4f7074696f6e3c426c6f636b4e756d6265723e00010000a50304184f7074696f6e04045401100108104e6f6e6500000010536f6d650400100000010000a9030c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d6265720110104861736801281c42616c616e6365011801081c4f6e676f696e670400ad0301b05265666572656e64756d5374617475733c426c6f636b4e756d6265722c20486173682c2042616c616e63653e0000002046696e6973686564080120617070726f766564ac0110626f6f6c00010c656e6410012c426c6f636b4e756d62657200010000ad030c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d6265720110104861736801281c42616c616e636501180014010c656e6410012c426c6f636b4e756d62657200013470726f706f73616c5f68617368280110486173680001247468726573686f6c64940134566f74655468726573686f6c6400011464656c617910012c426c6f636b4e756d62657200011474616c6c79b103013854616c6c793c42616c616e63653e0000b1030c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e63650000b5030c4070616c6c65745f64656d6f637261637910766f746518566f74696e670c1c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d62657201100108184469726563740c0114766f746573b90301b05665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e293e00012c64656c65676174696f6e73c103015044656c65676174696f6e733c42616c616e63653e0001147072696f72c503017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6ec9030128436f6e76696374696f6e00012c64656c65676174696f6e73c103015044656c65676174696f6e733c42616c616e63653e0001147072696f72c503017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e00010000b903000002bd0300bd03000004081ca000c1030c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e63650000c5030c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201101c42616c616e6365011800080010012c426c6f636b4e756d626572000018011c42616c616e63650000c9030c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000cd0300000408289400d10300000408109000d503084070616c6c65745f64656d6f63726163792052656c656173657300010408563100000000d9030c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c0404540001641c70726f706f736508013470726f706f73616c5f6861736828011c543a3a4861736800011476616c7565cd01013042616c616e63654f663c543e00002c9c50726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e001501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737480686176652066756e647320746f20636f76657220746865206465706f7369742e00d42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e15012d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e0044456d697473206050726f706f736564602e00385765696768743a20604f28702960187365636f6e6408012070726f706f73616cbd01012450726f70496e64657800014c7365636f6e64735f75707065725f626f756e64bd01010c753332000128b45369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e64657211016d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00c82d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e41012d20607365636f6e64735f75707065725f626f756e64603a20616e20757070657220626f756e64206f6e207468652063757272656e74206e756d626572206f66207365636f6e6473206f6e20746869732501202070726f706f73616c2e2045787472696e736963206973207765696768746564206163636f7264696e6720746f20746869732076616c75652077697468206e6f20726566756e642e001d015765696768743a20604f28532960207768657265205320697320746865206e756d626572206f66207365636f6e647320612070726f706f73616c20616c7265616479206861732e10766f74650801247265665f696e646578bd01013c5265666572656e64756d496e646578000110766f7465a001644163636f756e74566f74653c42616c616e63654f663c543e3e0002243101566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bb86f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00dc2d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e842d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e002d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722068617320766f746564206f6e2e40656d657267656e63795f63616e63656c0401247265665f696e6465781c013c5265666572656e64756d496e6465780003204d015363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d652c7265666572656e64756d2e00f8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d02d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e003c5765696768743a20604f283129602e4065787465726e616c5f70726f706f736504013470726f706f73616c5f6861736828011c543a3a486173680004242d015363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c2c7265666572656e64756d2e00e8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e0015015765696768743a20604f2856296020776974682056206e756d626572206f66207665746f65727320696e2074686520626c61636b6c697374206f662070726f706f73616c2eb820204465636f64696e6720766563206f66206c656e67746820562e2043686172676564206173206d6178696d756d6465787465726e616c5f70726f706f73655f6d616a6f7269747904013470726f706f73616c5f6861736828011c543a3a4861736800052c55015363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c655c616e2065787465726e616c207265666572656e64756d2e00ec546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f283129606065787465726e616c5f70726f706f73655f64656661756c7404013470726f706f73616c5f6861736828011c543a3a4861736800062c45015363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f807363686564756c6520616e2065787465726e616c207265666572656e64756d2e00e8546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f2831296028666173745f747261636b0c013470726f706f73616c5f6861736828011c543a3a48617368000134766f74696e675f706572696f64100138543a3a426c6f636b4e756d62657200011464656c6179100138543a3a426c6f636b4e756d6265720007404d015363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c65646101696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65e8627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d0546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e29012d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e88094d75737420626520616c776179732067726561746572207468616e207a65726f2e350109466f72206046617374547261636b4f726967696e60206d75737420626520657175616c206f722067726561746572207468616e206046617374547261636b566f74696e67506572696f64602e51012d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265b82020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e0040456d697473206053746172746564602e00385765696768743a20604f28312960347665746f5f65787465726e616c04013470726f706f73616c5f6861736828011c543a3a48617368000824b85665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00d8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e002d012d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e003c456d69747320605665746f6564602e00fc5765696768743a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604463616e63656c5f7265666572656e64756d0401247265665f696e646578bd01013c5265666572656e64756d496e64657800091c5052656d6f76652061207265666572656e64756d2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d42d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e004423205765696768743a20604f283129602e3463616e63656c5f71756575656404011477686963681c013c5265666572656e64756d496e646578000a1c9c43616e63656c20612070726f706f73616c2071756575656420666f7220656e6163746d656e742e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00c42d20607768696368603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e0049015765696768743a20604f284429602077686572652060446020697320746865206974656d7320696e207468652064697370617463682071756575652e205765696768746564206173206044203d203130602e2064656c65676174650c0108746fb10201504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6ec9030128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000b50390144656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e0055015468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865c874696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a7420202d2062652064656c65676174696e6720616c72656164793b206f72590120202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c69646174656494202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e0045012d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e55012d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e20746865410120206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e61012d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374206e6f74b420206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e0048456d697473206044656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e28756e64656c6567617465000c30cc556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e005d01546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64dc6f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062655463757272656e746c792064656c65676174696e672e0050456d6974732060556e64656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e58636c6561725f7075626c69635f70726f706f73616c73000d1470436c6561727320616c6c207075626c69632070726f706f73616c732e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e003c5765696768743a20604f283129602e346e6f74655f707265696d616765040140656e636f6465645f70726f706f73616c2c011c5665633c75383e000e285d0152656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e205468697320646f65736e27742072657175697265207468652070726f706f73616c20746f2062652101696e207468652064697370617463682071756575652062757420646f657320726571756972652061206465706f7369742c2072657475726e6564206f6e636520656e61637465642e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00c42d2060656e636f6465645f70726f706f73616c603a2054686520707265696d616765206f6620612070726f706f73616c2e0058456d6974732060507265696d6167654e6f746564602e004d015765696768743a20604f28452960207769746820452073697a65206f662060656e636f6465645f70726f706f73616c60202870726f7465637465642062792061207265717569726564206465706f736974292e646e6f74655f707265696d6167655f6f7065726174696f6e616c040140656e636f6465645f70726f706f73616c2c011c5665633c75383e000f04090153616d6520617320606e6f74655f707265696d6167656020627574206f726967696e20697320604f7065726174696f6e616c507265696d6167654f726967696e602e586e6f74655f696d6d696e656e745f707265696d616765040140656e636f6465645f70726f706f73616c2c011c5665633c75383e001030410152656769737465722074686520707265696d61676520666f7220616e207570636f6d696e672070726f706f73616c2e2054686973207265717569726573207468652070726f706f73616c20746f2062653d01696e207468652064697370617463682071756575652e204e6f206465706f736974206973206e65656465642e205768656e20746869732063616c6c206973207375636365737366756c2c20692e652e350174686520707265696d61676520686173206e6f74206265656e2075706c6f61646564206265666f726520616e64206d61746368657320736f6d6520696d6d696e656e742070726f706f73616c2c3c6e6f2066656520697320706169642e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00c42d2060656e636f6465645f70726f706f73616c603a2054686520707265696d616765206f6620612070726f706f73616c2e0058456d6974732060507265696d6167654e6f746564602e004d015765696768743a20604f28452960207769746820452073697a65206f662060656e636f6465645f70726f706f73616c60202870726f7465637465642062792061207265717569726564206465706f736974292e886e6f74655f696d6d696e656e745f707265696d6167655f6f7065726174696f6e616c040140656e636f6465645f70726f706f73616c2c011c5665633c75383e0011042d0153616d6520617320606e6f74655f696d6d696e656e745f707265696d6167656020627574206f726967696e20697320604f7065726174696f6e616c507265696d6167654f726967696e602e34726561705f707265696d61676508013470726f706f73616c5f6861736828011c543a3a4861736800016070726f706f73616c5f6c656e5f75707065725f626f756e64bd01010c75333200123cf052656d6f766520616e20657870697265642070726f706f73616c20707265696d61676520616e6420636f6c6c65637420746865206465706f7369742e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00cc2d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f6620612070726f706f73616c2e5d012d206070726f706f73616c5f6c656e6774685f75707065725f626f756e64603a20616e20757070657220626f756e64206f6e206c656e677468206f66207468652070726f706f73616c2e2045787472696e736963206973c820207765696768746564206163636f7264696e6720746f20746869732076616c75652077697468206e6f20726566756e642e004d01546869732077696c6c206f6e6c7920776f726b2061667465722060566f74696e67506572696f646020626c6f636b732066726f6d207468652074696d6520746861742074686520707265696d6167652077617359016e6f7465642c2069662069742773207468652073616d65206163636f756e7420646f696e672069742e2049662069742773206120646966666572656e74206163636f756e742c207468656e206974276c6c206f6e6c79ac776f726b20616e206164646974696f6e616c2060456e6163746d656e74506572696f6460206c617465722e005c456d6974732060507265696d616765526561706564602e00b45765696768743a20604f284429602077686572652044206973206c656e677468206f662070726f706f73616c2e18756e6c6f636b040118746172676574b10201504163636f756e7449644c6f6f6b75704f663c543e00131ca0556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00b82d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e00bc5765696768743a20604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742e2c72656d6f76655f766f7465040114696e6465781c013c5265666572656e64756d496e64657800146c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e000c49663a882d20746865207265666572656e64756d207761732063616e63656c6c65642c206f727c2d20746865207265666572656e64756d206973206f6e676f696e672c206f72902d20746865207265666572656e64756d2068617320656e64656420737563682074686174fc20202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d420202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f728420202d20746865206163636f756e74206d61646520612073706c697420766f74655d012e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655866756e6473206265696e6720617661696c61626c652e00a849662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643aec2d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64dc2d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64bc2d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f76657259012e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c766559012a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de46f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004901546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f7465887265676973746572656420666f72207265666572656e64756d2060696e646578602e00f42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e4472656d6f76655f6f746865725f766f7465080118746172676574b10201504163636f756e7449644c6f6f6b75704f663c543e000114696e6465781c013c5265666572656e64756d496e64657800153c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e004d0149662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f2d016072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c5501656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f7298626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e004d012d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f725420207265666572656e64756d2060696e646578602ef42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e38656e6163745f70726f706f73616c08013470726f706f73616c5f6861736828011c543a3a48617368000114696e6465781c013c5265666572656e64756d496e6465780016044d01456e61637420612070726f706f73616c2066726f6d2061207265666572656e64756d2e20466f72206e6f77207765206a757374206d616b65207468652077656967687420626520746865206d6178696d756d2e24626c61636b6c69737408013470726f706f73616c5f6861736828011c543a3a4861736800013c6d617962655f7265665f696e646578dd03015c4f7074696f6e3c5265666572656e64756d496e6465783e00173c45015065726d616e656e746c7920706c61636520612070726f706f73616c20696e746f2074686520626c61636b6c6973742e20546869732070726576656e74732069742066726f6d2065766572206265696e673c70726f706f73656420616761696e2e00510149662063616c6c6564206f6e206120717565756564207075626c6963206f722065787465726e616c2070726f706f73616c2c207468656e20746869732077696c6c20726573756c7420696e206974206265696e67510172656d6f7665642e2049662074686520607265665f696e6465786020737570706c69656420697320616e20616374697665207265666572656e64756d2077697468207468652070726f706f73616c20686173682c687468656e2069742077696c6c2062652063616e63656c6c65642e00ec546865206469737061746368206f726967696e206f6620746869732063616c6c206d7573742062652060426c61636b6c6973744f726967696e602e00f82d206070726f706f73616c5f68617368603a205468652070726f706f73616c206861736820746f20626c61636b6c697374207065726d616e656e746c792e45012d20607265665f696e646578603a20416e206f6e676f696e67207265666572656e64756d2077686f73652068617368206973206070726f706f73616c5f68617368602c2077686963682077696c6c2062652863616e63656c6c65642e0041015765696768743a20604f28702960202874686f756768206173207468697320697320616e20686967682d70726976696c6567652064697370617463682c20776520617373756d65206974206861732061502020726561736f6e61626c652076616c7565292e3c63616e63656c5f70726f706f73616c04012870726f705f696e646578bd01012450726f70496e64657800181c4852656d6f766520612070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c50726f706f73616c4f726967696e602e00d02d206070726f705f696e646578603a2054686520696e646578206f66207468652070726f706f73616c20746f2063616e63656c2e00e45765696768743a20604f28702960207768657265206070203d205075626c696350726f70733a3a3c543e3a3a6465636f64655f6c656e282960042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632edd0304184f7074696f6e040454011c0108104e6f6e6500000010536f6d6504001c0000010000e1030c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f720404540001742056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365444475706c6963617465507265696d61676500090458507265696d61676520616c7265616479206e6f7465642c4e6f74496d6d696e656e74000a04304e6f7420696d6d696e656e7420546f6f4561726c79000b0424546f6f206561726c7920496d6d696e656e74000c0420496d6d696e656e743c507265696d6167654d697373696e67000d0448507265696d616765206e6f7420666f756e64445265666572656e64756d496e76616c6964000e0484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d3c507265696d616765496e76616c6964000f0440496e76616c696420707265696d6167652c4e6f6e6557616974696e67001004504e6f2070726f706f73616c732077616974696e67204e6f74566f746572001104c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e001204c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e6700130488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473001404fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67001504a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740016085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001704d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650018049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400190450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001a04804d6178696d756d206e756d626572206f6620766f74657320726561636865642e40546f6f4d616e7950726f706f73616c73001b04904d6178696d756d206e756d626572206f662070726f706f73616c7320726561636865642e3c566f74696e67506572696f644c6f77001c0454566f74696e6720706572696f6420746f6f206c6f7704b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909e503102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401280453000004004d0201185665633c543e0000e90308447370697269746e65745f72756e74696d651043616c6c0001781853797374656d04005d0201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0000002454696d657374616d700400a50201b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0002001c496e64696365730400ad0201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e0005002042616c616e6365730400dd0201b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e0006001c53657373696f6e0400190301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0016004050617261636861696e5374616b696e670400690301d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e5374616b696e672c2052756e74696d653e00150028417574686f72736869700400810301bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c417574686f72736869702c2052756e74696d653e0014002444656d6f63726163790400d90301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e001e001c436f756e63696c0400ed0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e001f0048546563686e6963616c436f6d6d69747465650400f50301dd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c436f6d6d69747465652c2052756e74696d653e0020004c546563686e6963616c4d656d626572736869700400f90301e10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c4d656d626572736869702c2052756e74696d653e0022002054726561737572790400fd0301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e0023001c5574696c6974790400010401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0028001c56657374696e670400290401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e002900245363686564756c65720400310401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e002a001450726f787904003d0401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002b0020507265696d6167650400450401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e002c0038546970734d656d626572736869700400490401cd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970734d656d626572736869702c2052756e74696d653e002d00105469707304004d0401a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970732c2052756e74696d653e002e001443747970650400510401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c43747970652c2052756e74696d653e003d002c4174746573746174696f6e0400550401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4174746573746174696f6e2c2052756e74696d653e003e002844656c65676174696f6e0400690401bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656c65676174696f6e2c2052756e74696d653e003f000c4469640400850401a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469642c2052756e74696d653e004000244469644c6f6f6b75700400d90401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469644c6f6f6b75702c2052756e74696d653e00430024576562334e616d65730400e90401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c576562334e616d65732c2052756e74696d653e004400445075626c696343726564656e7469616c730400ed0401d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5075626c696343726564656e7469616c732c2052756e74696d653e0045003c50617261636861696e53797374656d0400fd0401d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e0050002458636d7051756575650400310501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c58636d7051756575652c2052756e74696d653e0052002c506f6c6b61646f7458636d0400350501c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506f6c6b61646f7458636d2c2052756e74696d653e00530020446d7051756575650400990501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c446d7051756575652c2052756e74696d653e00550000ed030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c0804540004490001182c7365745f6d656d626572730c012c6e65775f6d656d626572739001445665633c543a3a4163636f756e7449643e0001147072696d65790301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000080805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e0054526571756972657320726f6f74206f726967696e2e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e002823203c7765696768743e24232320576569676874502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e64656429142d2044423a510120202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e67207468652c202020206d656d62657273ec20202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c73450120202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c5d0120202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e652c23203c2f7765696768743e1c6578656375746508012070726f706f73616ce903017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64bd01010c75333200012cf0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002823203c7765696768743e2423232057656967687455012d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e673020206070726f706f73616c60d42d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c60242d2031206576656e742c23203c2f7765696768743e1c70726f706f73650c01247468726573686f6c64bd01012c4d656d626572436f756e7400012070726f706f73616ce903017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64bd01010c75333200026cf84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e002823203c7765696768743e24232320576569676874ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d20326029142d2044423ab420202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029a820202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0901202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029b8202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029d82020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e42020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029cc2020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029bc2020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d2960292c20202d2031206576656e742c23203c2f7765696768743e10766f74650c012070726f706f73616c28011c543a3a48617368000114696e646578bd01013450726f706f73616c496e64657800011c617070726f7665ac0110626f6f6c00033cf041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e2823203c7765696768743e2423232057656967687409012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429142d2044423aac20202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029b820202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d296029242d2031206576656e742c23203c2f7765696768743e14636c6f736510013470726f706f73616c5f6861736828011c543a3a48617368000114696e646578bd01013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64f10301185765696768740001306c656e6774685f626f756e64bd01010c7533320004804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f6861736828011c543a3a486173680005385901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002823203c7765696768743edc436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c73284442205765696768743a482a2052656164733a2050726f706f73616c739c2a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f662c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ef1030000062400f5030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c0804540004490001182c7365745f6d656d626572730c012c6e65775f6d656d626572739001445665633c543a3a4163636f756e7449643e0001147072696d65790301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000080805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e0054526571756972657320726f6f74206f726967696e2e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e002823203c7765696768743e24232320576569676874502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e64656429142d2044423a510120202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e67207468652c202020206d656d62657273ec20202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c73450120202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c5d0120202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e652c23203c2f7765696768743e1c6578656375746508012070726f706f73616ce903017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64bd01010c75333200012cf0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002823203c7765696768743e2423232057656967687455012d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e673020206070726f706f73616c60d42d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c60242d2031206576656e742c23203c2f7765696768743e1c70726f706f73650c01247468726573686f6c64bd01012c4d656d626572436f756e7400012070726f706f73616ce903017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64bd01010c75333200026cf84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e002823203c7765696768743e24232320576569676874ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d20326029142d2044423ab420202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029a820202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0901202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029b8202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029d82020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e42020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029cc2020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029bc2020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d2960292c20202d2031206576656e742c23203c2f7765696768743e10766f74650c012070726f706f73616c28011c543a3a48617368000114696e646578bd01013450726f706f73616c496e64657800011c617070726f7665ac0110626f6f6c00033cf041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e2823203c7765696768743e2423232057656967687409012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429142d2044423aac20202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029b820202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d296029242d2031206576656e742c23203c2f7765696768743e14636c6f736510013470726f706f73616c5f6861736828011c543a3a48617368000114696e646578bd01013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64f10301185765696768740001306c656e6774685f626f756e64bd01010c7533320004804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f6861736828011c543a3a486173680005385901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002823203c7765696768743edc436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c73284442205765696768743a482a2052656164733a2050726f706f73616c739c2a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f662c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ef9030c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fb10201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fb10201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665b10201504163636f756e7449644c6f6f6b75704f663c543e00010c616464b10201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d626572739001445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577b10201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fb10201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632efd030c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001143470726f706f73655f7370656e6408011476616c7565cd01013c42616c616e63654f663c542c20493e00012c62656e6566696369617279b10201504163636f756e7449644c6f6f6b75704f663c543e000024290150757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c75653101697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e6365207468655070726f706f73616c20697320617761726465642e002823203c7765696768743e482d20436f6d706c65786974793a204f283129b02d20446252656164733a206050726f706f73616c436f756e74602c20606f726967696e206163636f756e7460e82d2044625772697465733a206050726f706f73616c436f756e74602c206050726f706f73616c73602c20606f726967696e206163636f756e74602c23203c2f7765696768743e3c72656a6563745f70726f706f73616c04012c70726f706f73616c5f6964bd01013450726f706f73616c496e646578000124f852656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e002823203c7765696768743e482d20436f6d706c65786974793a204f283129cc2d20446252656164733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460d02d2044625772697465733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e74602c23203c2f7765696768743e40617070726f76655f70726f706f73616c04012c70726f706f73616c5f6964bd01013450726f706f73616c496e6465780002285901417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279a8616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00ac4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002823203c7765696768743e4c2d20436f6d706c65786974793a204f2831292e8c2d20446252656164733a206050726f706f73616c73602c2060417070726f76616c7360582d20446257726974653a2060417070726f76616c73602c23203c2f7765696768743e147370656e64080118616d6f756e74cd01013c42616c616e63654f663c542c20493e00012c62656e6566696369617279b10201504163636f756e7449644c6f6f6b75704f663c543e000320b850726f706f736520616e6420617070726f76652061207370656e64206f662074726561737572792066756e64732e004d012d20606f726967696e603a204d75737420626520605370656e644f726967696e60207769746820746865206053756363657373602076616c7565206265696e67206174206c656173742060616d6f756e74602e41012d2060616d6f756e74603a2054686520616d6f756e7420746f206265207472616e736665727265642066726f6d2074686520747265617375727920746f20746865206062656e6566696369617279602ee82d206062656e6566696369617279603a205468652064657374696e6174696f6e206163636f756e7420666f7220746865207472616e736665722e0045014e4f54453a20466f72207265636f72642d6b656570696e6720707572706f7365732c207468652070726f706f736572206973206465656d656420746f206265206571756976616c656e7420746f207468653062656e65666963696172792e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f6964bd01013450726f706f73616c496e64657800043c2d01466f72636520612070726576696f75736c7920617070726f7665642070726f706f73616c20746f2062652072656d6f7665642066726f6d2074686520617070726f76616c2071756575652ec0546865206f726967696e616c206465706f7369742077696c6c206e6f206c6f6e6765722062652072657475726e65642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602ea02d206070726f706f73616c5f6964603a2054686520696e646578206f6620612070726f706f73616c002823203c7765696768743edc2d20436f6d706c65786974793a204f2841292077686572652060416020697320746865206e756d626572206f6620617070726f76616c73882d20446220726561647320616e64207772697465733a2060417070726f76616c73602c23203c2f7765696768743e001c4572726f72733a61012d206050726f706f73616c4e6f74417070726f766564603a20546865206070726f706f73616c5f69646020737570706c69656420776173206e6f7420666f756e6420696e2074686520617070726f76616c2071756575652c5101692e652e2c207468652070726f706f73616c20686173206e6f74206265656e20617070726f7665642e205468697320636f756c6420616c736f206d65616e207468652070726f706f73616c20646f6573206e6f745901657869737420616c746f6765746865722c2074687573207468657265206973206e6f2077617920697420776f756c642068617665206265656e20617070726f76656420696e2074686520666972737420706c6163652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e01040c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011414626174636804011463616c6c73050401605665633c3c5420617320436f6e6669673e3a3a43616c6c3e00004c7c53656e642061206261746368206f662064697370617463682063616c6c732e00784d61792062652063616c6c65642066726f6d20616e79206f726967696e2e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e005d014966206f726967696e20697320726f6f74207468656e2063616c6c2061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e20285468697320696e636c75646573c8627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e005501546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e31016576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e207468655501604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d6164654d01616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c65746564604c6576656e74206973206465706f73697465642e3461735f64657269766174697665080114696e646578dc010c75313600011063616c6ce9030160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e000134dc53656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00550146696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368bc757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e0045014e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e61016265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e7451017468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31607c696e20746865204d756c74697369672070616c6c657420696e73746561642e00f44e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c04011463616c6c73050401605665633c3c5420617320436f6e6669673e3a3a43616c6c3e000238ec53656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e21015468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e00784d61792062652063616c6c65642066726f6d20616e79206f726967696e2e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e005d014966206f726967696e20697320726f6f74207468656e2063616c6c2061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e20285468697320696e636c75646573c8627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e2c64697370617463685f617308012461735f6f726967696e09040154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6ce9030160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e000328c84469737061746368657320612066756e6374696f6e2063616c6c207769746820612070726f7669646564206f726967696e2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e002823203c7765696768743e1c2d204f2831292e602d204c696d697465642073746f726167652072656164732e5c2d204f6e6520444220777269746520286576656e74292e1d012d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b20543a3a576569676874496e666f3a3a64697370617463685f617328292e2c23203c2f7765696768743e2c666f7263655f626174636804011463616c6c73050401605665633c3c5420617320436f6e6669673e3a3a43616c6c3e0004387c53656e642061206261746368206f662064697370617463682063616c6c732ed4556e6c696b6520606261746368602c20697420616c6c6f7773206572726f727320616e6420776f6e277420696e746572727570742e00784d61792062652063616c6c65642066726f6d20616e79206f726967696e2e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e005d014966206f726967696e20697320726f6f74207468656e2063616c6c2061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e20285468697320696e636c75646573c8627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e0504000002e90300090408447370697269746e65745f72756e74696d65304f726967696e43616c6c657200011c1873797374656d04000d0401746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0000001c436f756e63696c0400110401010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400150401010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020000c4469640400190401506469643a3a4f726967696e3c52756e74696d653e0040002c506f6c6b61646f7458636d04001d04014870616c6c65745f78636d3a3a4f726967696e0053002843756d756c757358636d04002104016863756d756c75735f70616c6c65745f78636d3a3a4f726967696e00540010566f69640400250401110173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a566f6964000600000d040c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e65000200001104084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d000200001504084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d0002000019040c0c646964186f726967696e304469645261774f726967696e08344469644964656e7469666965720100244163636f756e74496401000008010869640001344469644964656e7469666965720001247375626d69747465720001244163636f756e74496400001d040c2870616c6c65745f78636d1870616c6c6574184f726967696e0001080c58636d0400b10101344d756c74694c6f636174696f6e00000020526573706f6e73650400b10101344d756c74694c6f636174696f6e0001000021040c4863756d756c75735f70616c6c65745f78636d1870616c6c6574184f726967696e0001081452656c6179000000405369626c696e6750617261636861696e0400a5010118506172614964000100002504081c73705f636f726510566f69640001000029040c3870616c6c65745f76657374696e671870616c6c65741043616c6c0404540001141076657374000034b8556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e005d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20322052656164732c203220577269746573f8202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745dfc202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745d2c23203c2f7765696768743e28766573745f6f74686572040118746172676574b10201504163636f756e7449644c6f6f6b75704f663c543e00013cb8556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051012d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20332052656164732c203320577269746573f0202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e74f4202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c23203c2f7765696768743e3c7665737465645f7472616e73666572080118746172676574b10201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c652d0401a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00024464437265617465206120766573746564207472616e736665722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00cc2d2060746172676574603a20546865206163636f756e7420726563656976696e6720746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20332052656164732c2033205772697465733901202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d3d01202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d2c23203c2f7765696768743e54666f7263655f7665737465645f7472616e736665720c0118736f75726365b10201504163636f756e7449644c6f6f6b75704f663c543e000118746172676574b10201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c652d0401a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00034860466f726365206120766573746564207472616e736665722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00e82d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e11012d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20342052656164732c2034205772697465733101202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e743501202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e742c23203c2f7765696768743e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e6465781c010c75333200013c7363686564756c65325f696e6465781c010c7533320004545d014d657267652074776f2076657374696e67207363686564756c657320746f6765746865722c206372656174696e672061206e65772076657374696e67207363686564756c65207468617420756e6c6f636b73206f7665725501746865206869676865737420706f737369626c6520737461727420616e6420656e6420626c6f636b732e20496620626f7468207363686564756c6573206861766520616c7265616479207374617274656420746865590163757272656e7420626c6f636b2077696c6c206265207573656420617320746865207363686564756c652073746172743b207769746820746865206361766561742074686174206966206f6e65207363686564756c655d0169732066696e6973686564206279207468652063757272656e7420626c6f636b2c20746865206f746865722077696c6c206265207472656174656420617320746865206e6577206d6572676564207363686564756c652c2c756e6d6f6469666965642e00f84e4f54453a20496620607363686564756c65315f696e646578203d3d207363686564756c65325f696e6465786020746869732069732061206e6f2d6f702e41014e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b207072696f7220746f206d657267696e672e61014e4f54453a20496620626f7468207363686564756c6573206861766520656e646564206279207468652063757272656e7420626c6f636b2c206e6f206e6577207363686564756c652077696c6c206265206372656174656464616e6420626f74682077696c6c2062652072656d6f7665642e006c4d6572676564207363686564756c6520617474726962757465733a35012d20607374617274696e675f626c6f636b603a20604d4158287363686564756c65312e7374617274696e675f626c6f636b2c207363686564756c6564322e7374617274696e675f626c6f636b2c48202063757272656e745f626c6f636b29602e21012d2060656e64696e675f626c6f636b603a20604d4158287363686564756c65312e656e64696e675f626c6f636b2c207363686564756c65322e656e64696e675f626c6f636b29602e59012d20606c6f636b6564603a20607363686564756c65312e6c6f636b65645f61742863757272656e745f626c6f636b29202b207363686564756c65322e6c6f636b65645f61742863757272656e745f626c6f636b29602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00e82d20607363686564756c65315f696e646578603a20696e646578206f6620746865206669727374207363686564756c6520746f206d657267652eec2d20607363686564756c65325f696e646578603a20696e646578206f6620746865207365636f6e64207363686564756c6520746f206d657267652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e2d040c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720110000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b10012c426c6f636b4e756d626572000031040c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963350401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c39040150426f783c43616c6c4f72486173684f663c543e3e00000470416e6f6e796d6f75736c79207363686564756c652061207461736b2e1863616e63656c0801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001049443616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e387363686564756c655f6e616d656414010869642c011c5665633c75383e0001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963350401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c39040150426f783c43616c6c4f72486173684f663c543e3e000204585363686564756c652061206e616d6564207461736b2e3063616e63656c5f6e616d656404010869642c011c5665633c75383e0003047843616e63656c2061206e616d6564207363686564756c6564207461736b2e387363686564756c655f61667465721001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963350401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c39040150426f783c43616c6c4f72486173684f663c543e3e000414a8416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e002823203c7765696768743e5453616d65206173205b607363686564756c65605d2e2c23203c2f7765696768743e507363686564756c655f6e616d65645f616674657214010869642c011c5665633c75383e0001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963350401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c39040150426f783c43616c6c4f72486173684f663c543e3e000514905363686564756c652061206e616d6564207461736b20616674657220612064656c61792e002823203c7765696768743ec453616d65206173205b607363686564756c655f6e616d6564605d2853656c663a3a7363686564756c655f6e616d6564292e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e350404184f7074696f6e04045401c80108104e6f6e6500000010536f6d650400c80000010000390410346672616d655f737570706f727418747261697473207363686564756c652c4d6179626548617368656408045401e9031048617368012801081456616c75650400e9030104540000001048617368040028011048617368000100003d040c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616cb10201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065410401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6ce9030160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e00003c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e246164645f70726f78790c012064656c6567617465b10201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d6265720001344501526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a11012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792efc2d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e3072656d6f76655f70726f78790c012064656c6567617465b10201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200022ca8556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a25012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e41012d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e3872656d6f76655f70726f78696573000328b4556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055015741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e747320637265617465642062792060616e6f6e796d6f7573602c20686f776576657220696620646f6e652c207468656e590174686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e24616e6f6e796d6f75730c012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d626572000114696e646578dc010c75313600045c3901537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64fc696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e006c5265717569726573206120605369676e656460206f726967696e2e0051012d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468654d016e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f78616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e51012d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d655d017472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a7573744077616e7420746f20757365206030602e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e0051014661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659873616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e44661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e8c544f444f3a204d69676874206265206f76657220636f756e74696e6720312072656164386b696c6c5f616e6f6e796d6f757314011c737061776e6572b10201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d80130543a3a50726f787954797065000114696e646578dc010c753136000118686569676874c9010138543a3a426c6f636b4e756d6265720001246578745f696e646578bd01010c753332000550b452656d6f76657320612070726576696f75736c7920737061776e656420616e6f6e796d6f75732070726f78792e0049015741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c20626534696e61636365737369626c652e0059015265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746fa860616e6f6e796d6f757360207769746820636f72726573706f6e64696e6720706172616d65746572732e004d012d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060616e6f6e796d6f75736020746f206372656174652074686973206163636f756e742e4d012d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f2060616e6f6e796d6f7573602e2050726f6261626c79206030602e01012d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f2060616e6f6e796d6f7573602e3d012d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f2060616e6f6e796d6f757360207761732070726f6365737365642e49012d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f2060616e6f6e796d6f757360207761732070726f6365737365642e0049014661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c79206372656174656420616e6f6e796d6f7573f06163636f756e742077686f73652060616e6f6e796d6f7573602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e002823203c7765696768743efc57656967687420697320612066756e6374696f6e206f6620746865206e756d626572206f662070726f7869657320746865207573657220686173202850292e2c23203c2f7765696768743e20616e6e6f756e63650801107265616cb10201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736828013443616c6c486173684f663c543e00065405015075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e005d0154686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d7074656425016966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e0011014e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000901546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c206173190160416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002823203c7765696768743e6057656967687420697320612066756e6374696f6e206f663a982d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea02d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e2c23203c2f7765696768743e4c72656d6f76655f616e6e6f756e63656d656e740801107265616cb10201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736828013443616c6c486173684f663c543e0007407052656d6f7665206120676976656e20616e6e6f756e63656d656e742e0059014d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e30746865206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002823203c7765696768743e6057656967687420697320612066756e6374696f6e206f663a982d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea02d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e2c23203c2f7765696768743e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465b10201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736828013443616c6c486173684f663c543e000840b052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e0061014d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c6567617465732501286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733af42d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ebc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e002823203c7765696768743e6057656967687420697320612066756e6374696f6e206f663a982d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea02d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e2c23203c2f7765696768743e3c70726f78795f616e6e6f756e63656410012064656c6567617465b10201504163636f756e7449644c6f6f6b75704f663c543e0001107265616cb10201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065410401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6ce9030160426f783c3c5420617320436f6e6669673e3a3a43616c6c3e0009444d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e002823203c7765696768743e6057656967687420697320612066756e6374696f6e206f663a982d20413a20746865206e756d626572206f6620616e6e6f756e63656d656e7473206d6164652ea02d20503a20746865206e756d626572206f662070726f78696573207468652075736572206861732e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e410404184f7074696f6e04045401d80108104e6f6e6500000010536f6d650400d8000001000045040c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000110346e6f74655f707265696d61676504011462797465732c011c5665633c75383e000010745265676973746572206120707265696d616765206f6e2d636861696e2e00550149662074686520707265696d616765207761732070726576696f75736c79207265717565737465642c206e6f2066656573206f72206465706f73697473206172652074616b656e20666f722070726f766964696e67550174686520707265696d6167652e204f74686572776973652c2061206465706f7369742069732074616b656e2070726f706f7274696f6e616c20746f207468652073697a65206f662074686520707265696d6167652e3c756e6e6f74655f707265696d6167650401106861736828011c543a3a48617368000104dc436c65617220616e20756e72657175657374656420707265696d6167652066726f6d207468652072756e74696d652073746f726167652e40726571756573745f707265696d6167650401106861736828011c543a3a48617368000210410152657175657374206120707265696d6167652062652075706c6f6164656420746f2074686520636861696e20776974686f757420706179696e6720616e792066656573206f72206465706f736974732e00550149662074686520707265696d6167652072657175657374732068617320616c7265616479206265656e2070726f7669646564206f6e2d636861696e2c20776520756e7265736572766520616e79206465706f7369743901612075736572206d6179206861766520706169642c20616e642074616b652074686520636f6e74726f6c206f662074686520707265696d616765206f7574206f662074686569722068616e64732e48756e726571756573745f707265696d6167650401106861736828011c543a3a4861736800030cbc436c65617220612070726576696f75736c79206d616465207265717565737420666f72206120707265696d6167652e002d014e4f54453a2054484953204d555354204e4f542042452043414c4c4544204f4e20606861736860204d4f52452054494d4553205448414e2060726571756573745f707265696d616765602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e49040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fb10201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fb10201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665b10201504163636f756e7449644c6f6f6b75704f663c543e00010c616464b10201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d626572739001445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577b10201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fb10201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e4d040c2c70616c6c65745f746970731870616c6c65741043616c6c080454000449000118387265706f72745f617765736f6d65080118726561736f6e2c011c5665633c75383e00010c77686fb10201504163636f756e7449644c6f6f6b75704f663c543e00004c59015265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051015061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173bc60446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e0074456d69747320604e657754697060206966207375636365737366756c2e002823203c7765696768743ec82d20436f6d706c65786974793a20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e9020202d20656e636f64696e6720616e642068617368696e67206f662027726561736f6e27702d20446252656164733a2060526561736f6e73602c20605469707360742d2044625772697465733a2060526561736f6e73602c206054697073602c23203c2f7765696768743e2c726574726163745f7469700401106861736828011c543a3a4861736800014c5101526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00dc4966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e004d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e7469666965642062792060686173686041016d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f744c7468726f75676820607469705f6e657760292e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e008c456d697473206054697052657472616374656460206966207375636365737366756c2e002823203c7765696768743e502d20436f6d706c65786974793a20604f28312960d820202d20446570656e6473206f6e20746865206c656e677468206f662060543a3a48617368602077686963682069732066697865642e8c2d20446252656164733a206054697073602c20606f726967696e206163636f756e7460bc2d2044625772697465733a2060526561736f6e73602c206054697073602c20606f726967696e206163636f756e74602c23203c2f7765696768743e1c7469705f6e65770c0118726561736f6e2c011c5665633c75383e00010c77686fb10201504163636f756e7449644c6f6f6b75704f663c543e0001247469705f76616c7565cd01013c42616c616e63654f663c542c20493e000258f04769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e0074456d69747320604e657754697060206966207375636365737366756c2e002823203c7765696768743e51012d20436f6d706c65786974793a20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732e5d0120202d20604f285429603a206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792d012020202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f66442020202060543a3a54697070657273602ee020202d20604f285229603a2068617368696e6720616e6420656e636f64696e67206f6620726561736f6e206f66206c656e677468206052607c2d20446252656164733a206054697070657273602c2060526561736f6e7360742d2044625772697465733a2060526561736f6e73602c206054697073602c23203c2f7765696768743e0c7469700801106861736828011c543a3a486173680001247469705f76616c7565cd01013c42616c616e63654f663c542c20493e000360b04465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e65666963696172793420206163636f756e742049442e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e006101456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f643068617320737461727465642e002823203c7765696768743e61012d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e6774682d0120206054602c20696e736572742074697020616e6420636865636b20636c6f73696e672c20605460206973206368617267656420617320757070657220626f756e6420676976656e2062795d01202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e005d01202041637475616c6c792077656967687420636f756c64206265206c6f77657220617320697420646570656e6473206f6e20686f77206d616e7920746970732061726520696e20604f70656e5469706020627574206974d02020697320776569676874656420617320696620616c6d6f73742066756c6c20692e65206f66206c656e6774682060542d31602e702d20446252656164733a206054697070657273602c20605469707360482d2044625772697465733a206054697073602c23203c2f7765696768743e24636c6f73655f7469700401106861736828011c543a3a486173680004405c436c6f736520616e64207061796f75742061207469702e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00150154686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002823203c7765696768743e61012d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e677468510120206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f7374c02020646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602ea82d20446252656164733a206054697073602c206054697070657273602c20607469702066696e64657260d82d2044625772697465733a2060526561736f6e73602c206054697073602c206054697070657273602c20607469702066696e646572602c23203c2f7765696768743e24736c6173685f7469700401106861736828011c543a3a486173680005309452656d6f766520616e6420736c61736820616e20616c72656164792d6f70656e207469702e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e00f44173206120726573756c742c207468652066696e64657220697320736c617368656420616e6420746865206465706f7369747320617265206c6f73742e0084456d6974732060546970536c617368656460206966207375636365737366756c2e002823203c7765696768743efc2020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e010120205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e51040c1463747970651870616c6c65741043616c6c0404540001040c61646404011463747970652c011c5665633c75383e00003009014372656174652061206e65772043547970652066726f6d2074686520676976656e20756e69717565204354797065206861736820616e64206173736f6369617465735069742077697468206974732063726561746f722e00dc412043547970652077697468207468652073616d652068617368206d757374206e6f742062652073746f726564206f6e20636861696e2e0054456d6974732060435479706543726561746564602e002823203c7765696768743e305765696768743a204f283129602d2052656164733a204374797065732c2042616c616e6365642d205772697465733a204374797065732c2042616c616e63652c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e55040c2c6174746573746174696f6e1870616c6c65741043616c6c0404540001180c6164640c0128636c61696d5f68617368280138436c61696d486173684f663c543e00012863747970655f686173682801384374797065486173684f663c543e000134617574686f72697a6174696f6e590401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000054644372656174652061206e6577206174746573746174696f6e2e00f85468652061747465737465722063616e206f7074696f6e616c6c792070726f766964652061207265666572656e636520746f20616e206578697374696e67090164656c65676174696f6e20746861742077696c6c20626520736176656420616c6f6e67207769746820746865206174746573746174696f6e20697473656c6620696e8c74686520666f726d206f6620616e2061747465737465642064656c65676174696f6e2e00ec546865207265666572656e6365642043547970652068617368206d75737420616c72656164792062652070726573656e74206f6e20636861696e2e000901496620616e206f7074696f6e616c2064656c65676174696f6e2069642069732070726f76696465642c20746865206469737061746368206f726967696e206d757374e8626520746865206f776e6572206f66207468652064656c65676174696f6e2e204f74686572776973652c20697420636f756c6420626520616e79546044656c65676174696f6e456e746974794964602e006c456d69747320604174746573746174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b82d2052656164733a205b4f726967696e204163636f756e745d2c2043747970652c204174746573746174696f6e73e42d2052656164732069662064656c65676174696f6e2069642069732070726f76696465643a2044656c65676174696f6e732c20526f6f74732c5c202044656c6567617465644174746573746174696f6e73bc2d205772697465733a204174746573746174696f6e732c202844656c6567617465644174746573746174696f6e73292c23203c2f7765696768743e187265766f6b65080128636c61696d5f68617368280138436c61696d486173684f663c543e000134617574686f72697a6174696f6e590401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001447c5265766f6b6520616e206578697374696e67206174746573746174696f6e2e00fc546865207265766f6b6572206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206265696e6709017265766f6b6564206f7220616e20656e74697479207468617420696e207468652064656c65676174696f6e207472656520697320616e20616e636573746f72206f6609017468652061747465737465722c20692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7250616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e5265766f6b6564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e1872656d6f7665080128636c61696d5f68617368280138436c61696d486173684f663c543e000134617574686f72697a6174696f6e590401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0002445852656d6f766520616e206174746573746174696f6e2e00f8546865206f726967696e206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206f7220616e0d01656e7469747920776869636820697320616e20616e636573746f72206f662074686520617474657374657220696e207468652064656c65676174696f6e20747265652c0101692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7220616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e52656d6f766564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f736974040128636c61696d5f68617368280138436c61696d486173684f663c543e000324d05265636c61696d20612073746f72616765206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e0064456d69747320604465706f7369745265636c61696d6564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572040128636c61696d5f68617368280138436c61696d486173684f663c543e00041c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00ec546865207375626a656374206f66207468652063616c6c206d757374206265207468652061747465737465722077686f206973737565732074686509016174746573746174696f6e2e205468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f736974040128636c61696d5f68617368280138436c61696d486173684f663c543e00050cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e590404184f7074696f6e040454015d040108104e6f6e6500000010536f6d6504005d0400000100005d040c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c50616c6c6574417574686f72697a65043044656c65676174696f6e416301610401042844656c65676174696f6e04006104013044656c65676174696f6e41630000000061040c2864656c65676174696f6e386163636573735f636f6e74726f6c3044656c65676174696f6e41630404540165040008013c7375626a6563745f6e6f64655f696428015444656c65676174696f6e4e6f646549644f663c543e0001286d61785f636865636b731c010c7533320000650408447370697269746e65745f72756e74696d651c52756e74696d650000000069040c2864656c65676174696f6e1870616c6c65741043616c6c04045400011c406372656174655f686965726172636879080130726f6f745f6e6f64655f696428015444656c65676174696f6e4e6f646549644f663c543e00012863747970655f686173682801384374797065486173684f663c543e00006401014372656174652061206e65772064656c65676174696f6e20726f6f74206173736f6369617465642077697468206120676976656e20435479706520686173682e00f8546865206e657720726f6f742077696c6c20616c6c6f772061206e65772074727573742068696572617263687920746f2062652063726561746564206279a0616464696e67206368696c6472656e2064656c65676174696f6e7320746f2074686520726f6f742e000d015468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652049442073746f726564206f6e20636861696e2c207768696c65fc7468657265206d75737420626520616c7265616479206120435479706520776974682074686520676976656e20686173682073746f72656420696e207468653443547970652070616c6c65742e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0050456d6974732060526f6f7443726561746564602e002823203c7765696768743e305765696768743a204f283129a02d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c204354797065733c2d205772697465733a20526f6f74732c23203c2f7765696768743e386164645f64656c65676174696f6e14013464656c65676174696f6e5f696428015444656c65676174696f6e4e6f646549644f663c543e000124706172656e745f696428015444656c65676174696f6e4e6f646549644f663c543e00012064656c656761746500014044656c656761746f7249644f663c543e00012c7065726d697373696f6e730101012c5065726d697373696f6e7300014864656c65676174655f7369676e61747572656d04016844656c65676174655369676e6174757265547970654f663c543e000180744372656174652061206e65772064656c65676174696f6e206e6f64652e00f4546865206e65772064656c65676174696f6e206e6f646520726570726573656e74732061206e65772074727573742068696572617263687920746861740d01636f6e73696465727320746865206e6577206e6f64652061732069747320726f6f742e20546865206f776e6572206f662074686973206e6f6465206861732066756c6ce0636f6e74726f6c206f76657220616e79206f66206974732064697265637420616e6420696e6469726563742064657363656e64616e74732e00fc466f7220746865206372656174696f6e20746f20737563636565642c207468652064656c656761746565206d7573742070726f7669646520612076616c696411017369676e6174757265206f766572207468652028626c616b65323536292068617368206f6620746865206372656174696f6e206f7065726174696f6e2064657461696c731101776869636820696e636c7564652028696e206f72646572292064656c65676174696f6e2069642c20726f6f74206e6f64652069642c20706172656e742069642c20616e64707065726d697373696f6e73206f6620746865206e6577206e6f64652e00f45468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652069642073746f726564206f6e20636861696e2e0501467572746865726d6f72652c20746865207265666572656e63656420726f6f7420616e6420706172656e74206e6f646573206d75737420616c7265616479206265050170726573656e74206f6e20636861696e20616e6420636f6e7461696e207468652076616c6964207065726d697373696f6e7320616e64207265766f636174696f6e6c7374617475732028692e652e2c206e6f74207265766f6b6564292e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0068456d697473206044656c65676174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b42d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2044656c65676174696f6e73542d205772697465733a2044656c65676174696f6e732c23203c2f7765696768743e447265766f6b655f64656c65676174696f6e0c013464656c65676174696f6e5f696428015444656c65676174696f6e4e6f646549644f663c543e0001446d61785f706172656e745f636865636b731c010c75333200013c6d61785f7265766f636174696f6e731c010c753332000274f85265766f6b6520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00fc446f6573206e6f7420726566756e64207468652064656c65676174696f6e206261636b20746f20746865206465706f736974206f776e657220617320746865f06e6f6465206973207374696c6c2073746f726564206f6e20636861696e2e20526571756972657320746f206164646974696f6e616c6c792063616c6cb46072656d6f76655f64656c65676174696f6e6020746f20756e7265736572766520746865206465706f7369742e0009015265766f6b696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67090166726f6d2074686520676976656e206e6f6465206265696e67207265766f6b65642e204e657665727468656c6573732c207265766f636174696f6e20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f6465206973207265766f6b65642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e73696465726564207265766f6b65642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e5265766f6b6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e802d205772697465733a20526f6f74732c2043202a2044656c65676174696f6e732c23203c2f7765696768743e4472656d6f76655f64656c65676174696f6e08013464656c65676174696f6e5f696428015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000370f852656d6f766520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e52656d6f766564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408013464656c65676174696f6e5f696428015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000460f45265636c61696d20746865206465706f73697420666f7220612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74b86e6f6465292c2072656d6f76696e6720746865206e6f646520616e6420616c6c20697473206368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e000d01546865206469737061746368206f726967696e206d757374206265207369676e6564206279207468652064656c65676174696f6e206465706f736974206f776e65722e004c604465706f7369745265636c61696d6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f72656d6f76616c73602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204013464656c65676174696f6e5f696428015444656c65676174696f6e4e6f646549644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e000501546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652064656c65676174696f6e206e6f64652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013464656c65676174696f6e5f696428015444656c65676174696f6e4e6f646549644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e6d040c0c6469642c6469645f64657461696c73304469645369676e617475726500010c1c45643235353139040071040148656432353531393a3a5369676e61747572650000001c53723235353139040079040148737232353531393a3a5369676e617475726500010014456364736104007d04014065636473613a3a5369676e61747572650002000071040c1c73705f636f72651c65643235353139245369676e617475726500000400750401205b75383b2036345d0000750400000340000000080079040c1c73705f636f72651c73723235353139245369676e617475726500000400750401205b75383b2036345d00007d040c1c73705f636f7265146563647361245369676e617475726500000400810401205b75383b2036355d0000810400000341000000080085040c0c6469641870616c6c65741043616c6c04045400013c1863726561746508011c64657461696c7389040168426f783c4469644372656174696f6e44657461696c733c543e3e0001247369676e61747572656d0401304469645369676e617475726500007cec53746f72652061206e657720444944206f6e20636861696e2c20616674657220766572696679696e67207468617420746865206372656174696f6e05016f7065726174696f6e20686173206265656e207369676e656420627920746865204b494c54206163636f756e74206173736f63696174656420776974682074686501016964656e746966696572206f662074686520444944206265696e67206372656174656420616e6420746861742061204449442077697468207468652073616d6511016964656e74696669657220686173206e6f742070726576696f75736c792065786973746564206f6e2028616e64207468656e2064656c657465642066726f6d292074686518636861696e2e000d015468657265206d757374206265206e6f2044494420696e666f726d6174696f6e2073746f726564206f6e20636861696e20756e646572207468652073616d65204449442c6964656e7469666965722e00fc546865206e6577206b65797320616464656420776974682074686973206f7065726174696f6e206172652073746f72656420756e646572207468652044494405016964656e74696669657220616c6f6e6720776974682074686520626c6f636b206e756d62657220696e20776869636820746865206f7065726174696f6e207761732465786563757465642e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e004c456d697473206044696443726561746564602e002823203c7765696768743e0d012d20546865207472616e73616374696f6e277320636f6d706c6578697479206973206d61696e6c7920646570656e64656e74206f6e20746865206e756d626572206f66010120206e6577206b65792061677265656d656e74206b65797320616e6420746865206e756d626572206f66206e6577207365727669636520656e64706f696e7473702020696e636c7564656420696e20746865206f7065726174696f6e2e242d2d2d2d2d2d2d2d2df85765696768743a204f284b29202b204f284e29207768657265204b20697320746865206e756d626572206f66206e6577206b65792061677265656d656e7409016b65797320626f756e64656420627920604d61784e65774b657941677265656d656e744b657973602c207768696c65204e20697320746865206e756d626572206f66f46e6577207365727669636520656e64706f696e747320626f756e64656420627920604d61784e756d6265724f665365727669636573506572446964602eb02d2052656164733a205b4f726967696e204163636f756e745d2c204469642c20446964426c61636b6c697374fc2d205772697465733a20446964202877697468204b206e6577206b65792061677265656d656e74206b657973292c2053657276696365456e64706f696e7473cc20202877697468204e206e6577207365727669636520656e64706f696e7473292c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e587365745f61757468656e7469636174696f6e5f6b657904011c6e65775f6b6579a1040148446964566572696669636174696f6e4b65790001408855706461746520746865204449442061757468656e7469636174696f6e206b65792e00ec546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696620697420697309016e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f207468654c736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e487365745f64656c65676174696f6e5f6b657904011c6e65775f6b6579a1040148446964566572696669636174696f6e4b657900024094536574206f722075706461746520746865204449442064656c65676174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5472656d6f76655f64656c65676174696f6e5f6b657900033c7852656d6f766520746865204449442064656c65676174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e4c7365745f6174746573746174696f6e5f6b657904011c6e65775f6b6579a1040148446964566572696669636174696f6e4b657900044098536574206f72207570646174652074686520444944206174746573746174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5872656d6f76655f6174746573746174696f6e5f6b657900053c7c52656d6f76652074686520444944206174746573746174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e546164645f6b65795f61677265656d656e745f6b657904011c6e65775f6b657991040140446964456e6372797074696f6e4b6579000638b841646420612073696e676c65206e6577206b65792061677265656d656e74206b657920746f20746865204449442e00bc546865206e6577206b657920697320616464656420746f2074686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e6072656d6f76655f6b65795f61677265656d656e745f6b65790401186b65795f69642801284b657949644f663c543e000734050152656d6f7665206120444944206b65792061677265656d656e74206b65792066726f6d20626f74682069747320736574206f66206b65792061677265656d656e74906b65797320616e642061732077656c6c20617320697473207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506164645f736572766963655f656e64706f696e74040140736572766963655f656e64706f696e74b5040138446964456e64706f696e743c543e000830bc4164642061206e6577207365727669636520656e64706f696e7420756e6465722074686520676976656e204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f2831290d012d2052656164733a205b4f726967696e204163636f756e745d2c204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e5c72656d6f76655f736572766963655f656e64706f696e74040128736572766963655f6964b904015053657276696365456e64706f696e7449643c543e000930d452656d6f76652074686520736572766963652077697468207468652070726f76696465642049442066726f6d20746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e1864656c65746504014c656e64706f696e74735f746f5f72656d6f76651c010c753332000a600d0144656c6574652061204449442066726f6d2074686520636861696e20616e6420616c6c20696e666f726d6174696f6e206173736f63696174656420776974682069742c1101616674657220766572696679696e672074686174207468652064656c657465206f7065726174696f6e20686173206265656e207369676e65642062792074686520444944fc7375626a656374207573696e67207468652061757468656e7469636174696f6e206b65792063757272656e746c792073746f726564206f6e20636861696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408012c6469645f7375626a6563740001484469644964656e7469666965724f663c543e00014c656e64706f696e74735f746f5f72656d6f76651c010c753332000b54f45265636c61696d2061206465706f73697420666f722061204449442e20546869732077696c6c2064656c657465207468652044494420616e6420616c6c0901696e666f726d6174696f6e206173736f63696174656420776974682069742c20616674657220766572696679696e672074686174207468652063616c6c657220697364746865206f776e6572206f6620746865206465706f7369742e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7375626d69745f6469645f63616c6c0801206469645f63616c6cd5040188426f783c446964417574686f72697a656443616c6c4f7065726174696f6e3c543e3e0001247369676e61747572656d0401304469645369676e6174757265000c8cec50726f7879206120646973706174636861626c652063616c6c206f6620616e6f746865722072756e74696d652065787472696e736963207468617458737570706f727473206120444944206f726967696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f726520746865606f7065726174696f6e20697320646973706174636865642e00fc412063616c6c207375626d6974746564207468726f75676820746869732065787472696e736963206d757374206265207369676e65642077697468207468650901726967687420444944206b65792c20646570656e64696e67206f6e207468652063616c6c2e205468697320696e666f726d6174696f6e2069732070726f766964656409016279207468652060446964417574686f72697a656443616c6c4f7065726174696f6e6020706172616d657465722c20776869636820737065636966696573207468650901444944207375626a65637420616374696e6720617320746865206f726967696e206f66207468652063616c6c2c2074686520444944277320747820636f756e7465720101286e6f6e6365292c2074686520646973706174636861626c6520746f2063616c6c20696e2063617365207369676e617475726520766572696669636174696f6ef073756363656564732c207468652074797065206f6620444944206b657920746f2075736520746f2076657269667920746865206f7065726174696f6efc7369676e61747572652c20616e642074686520626c6f636b206e756d62657220746865206f7065726174696f6e2077617320746172676574696e6720666f72a8696e636c7573696f6e2c207768656e20697420776173206372656174656420616e64207369676e65642e00fc496e206361736520746865207369676e617475726520697320696e636f72726563742c20746865206e6f6e6365206973206e6f742076616c69642c20746865fc7265717569726564206b6579206973206e6f742070726573656e7420666f722074686520737065636966696564204449442c206f722074686520626c6f636bfc73706563696669656420697320746f6f206f6c642074686520766572696669636174696f6e206661696c7320616e64207468652063616c6c206973206e6f74f4646973706174636865642e204f74686572776973652c207468652063616c6c2069732070726f7065726c79206469737061746368656420776974682061b8604469644f726967696e60206f726967696e20696e6469636174696e672074686520444944207375626a6563742e00110141207375636365737366756c206469737061746368206f7065726174696f6e20726573756c747320696e2074686520747820636f756e746572206173736f6369617465640501776974682074686520676976656e2044494420746f20626520696e6372656d656e7465642c20746f206d69746967617465207265706c61792061747461636b732e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e0068456d697473206044696443616c6c44697370617463686564602e002823203c7765696768743eb05765696768743a204f283129202b20776569676874206f662074686520646973706174636865642063616c6c782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572000d1c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00b8546865207375626a656374206f66207468652063616c6c206d7573742062652074686520646964206f776e65722ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404010c6469640001484469644964656e7469666965724f663c543e000e0cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e89040c0c6469642c6469645f64657461696c73484469644372656174696f6e44657461696c73040454000018010c6469640001484469644964656e7469666965724f663c543e0001247375626d69747465720001384163636f756e7449644f663c543e0001586e65775f6b65795f61677265656d656e745f6b6579738d04016c4469644e65774b657941677265656d656e744b65795365743c543e00014c6e65775f6174746573746174696f6e5f6b65799d0401684f7074696f6e3c446964566572696669636174696f6e4b65793e0001486e65775f64656c65676174696f6e5f6b65799d0401684f7074696f6e3c446964566572696669636174696f6e4b65793e00014c6e65775f736572766963655f64657461696c73b104014c5665633c446964456e64706f696e743c543e3e00008d04102873705f72756e74696d651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e64656442547265655365740804540191040453000004009504012c42547265655365743c543e000091040c0c6469642c6469645f64657461696c7340446964456e6372797074696f6e4b65790001041858323535313904000401205b75383b2033325d00000000950404204254726565536574040454019104000400990400000099040000029104009d0404184f7074696f6e04045401a1040108104e6f6e6500000010536f6d650400a1040000010000a1040c0c6469642c6469645f64657461696c7348446964566572696669636174696f6e4b657900010c1c456432353531390400a504013c656432353531393a3a5075626c69630000001c537232353531390400f502013c737232353531393a3a5075626c69630001001445636473610400a904013465636473613a3a5075626c696300020000a5040c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d0000a9040c1c73705f636f7265146563647361185075626c696300000400ad0401205b75383b2033335d0000ad04000003210000000800b104000002b50400b5040c0c64696444736572766963655f656e64706f696e74732c446964456e64706f696e7404045400000c01086964b904015053657276696365456e64706f696e7449643c543e000134736572766963655f7479706573bd04017453657276696365456e64706f696e7454797065456e74726965733c543e00011075726c73c904017053657276696365456e64706f696e7455726c456e74726965733c543e0000b904102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004002c01185665633c543e0000bd04102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401c104045300000400c50401185665633c543e0000c104102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004002c01185665633c543e0000c504000002c10400c904102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401cd04045300000400d10401185665633c543e0000cd04102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004002c01185665633c543e0000d104000002cd0400d5040c0c6469642c6469645f64657461696c7368446964417574686f72697a656443616c6c4f7065726174696f6e040454000014010c6469640001484469644964656e7469666965724f663c543e00012874785f636f756e74657210010c75363400011063616c6ce903014044696443616c6c61626c654f663c543e000130626c6f636b5f6e756d626572100140426c6f636b4e756d6265724f663c543e0001247375626d69747465720001384163636f756e7449644f663c543e0000d9040c4470616c6c65745f6469645f6c6f6f6b75701870616c6c65741043616c6c04045400011c446173736f63696174655f6163636f756e7408010c726571dd04015c4173736f63696174654163636f756e745265717565737400012865787069726174696f6e1001a03c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a426c6f636b4e756d62657200004405014173736f63696174652074686520676976656e206163636f756e7420746f2074686520444944207468617420617574686f72697a656420746869732063616c6c2e000501546865206163636f756e742068617320746f207369676e207468652044494420616e64206120626c6f636b6e756d62657220616674657220776869636820746865e07369676e6174757265206578706972657320696e206f7264657220746f20617574686f72697a6520746865206173736f63696174696f6e2e001101546865207369676e61747572652077696c6c20626520636865636b656420616761696e737420746865207363616c6520656e636f646564207475706c65206f66207468650d016d6574686f64207370656369666963206964206f662074686520646964206964656e74696669657220616e642074686520626c6f636b206e756d626572206166746572bc776869636820746865207369676e61747572652073686f756c6420626520726567617264656420696e76616c69642e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e406173736f63696174655f73656e64657200012c01014173736f6369617465207468652073656e646572206f66207468652063616c6c20746f2074686520444944207468617420617574686f72697a656420746869731463616c6c2e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6472656d6f76655f73656e6465725f6173736f63696174696f6e000228fc52656d6f766520746865206173736f63696174696f6e206f66207468652073656e646572206163636f756e742e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865204449442c206275742072657175697265732061207369676e6564206f726967696e2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6872656d6f76655f6163636f756e745f6173736f63696174696f6e04011c6163636f756e740d0101444c696e6b61626c654163636f756e74496400032c110152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742049442e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865206163636f756e742049442c2062757420746865206173736f63696174656420444944c46e6565647320746f206d617463682074686520444944207468617420617574686f72697a656420746869732063616c6c2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697404011c6163636f756e740d0101444c696e6b61626c654163636f756e74496400042c090152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742e20546869732063616c6c2063616e206f6e6c79f862652063616c6c65642066726f6d20746865206465706f736974206f776e65722e20546865207265736572766564206465706f7369742077696c6c2062651866726565642e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129582d2052656164733a20436f6e6e6563746564446964735c2d205772697465733a20436f6e6e6563746564446964732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204011c6163636f756e740d0101444c696e6b61626c654163636f756e74496400051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00d8546865207375626a656374206f66207468652063616c6c206d757374206265206c696e6b656420746f20746865206163636f756e742ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404011c6163636f756e740d0101444c696e6b61626c654163636f756e74496400060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632edd040c4470616c6c65745f6469645f6c6f6f6b7570646173736f63696174655f6163636f756e745f726571756573745c4173736f63696174654163636f756e74526571756573740001081c446f7473616d61080000012c4163636f756e74496433320000e10401384d756c74695369676e617475726500000020457468657265756d08001101012c4163636f756e74496432300000e5040144457468657265756d5369676e617475726500010000e104082873705f72756e74696d65384d756c74695369676e617475726500010c1c45643235353139040071040148656432353531393a3a5369676e61747572650000001c53723235353139040079040148737232353531393a3a5369676e617475726500010014456364736104007d04014065636473613a3a5369676e617475726500020000e5040c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e7444457468657265756d5369676e6174757265000004007d04014065636473613a3a5369676e61747572650000e9040c4470616c6c65745f776562335f6e616d65731870616c6c65741043616c6c04045400011c14636c61696d0401106e616d6521010140576562334e616d65496e7075743c543e00003ce841737369676e2074686520737065636966696564206e616d6520746f20746865206f776e65722061732073706563696669656420696e207468651c6f726967696e2e000d01546865206e616d65206d757374206e6f74206861766520616c7265616479206265656e20636c61696d656420627920736f6d656f6e6520656c736520616e6420746865a06f776e6572206d757374206e6f7420616c7265616479206f776e20616e6f74686572206e616d652e00dc456d6974732060576562334e616d65436c61696d65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f28312909012d2052656164733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b20617661696c61626c652063757272656e6379582020636865636b202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f73697420726573657276652c23203c2f7765696768743e4072656c656173655f62795f6f776e6572000130a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e00cc546865206f726967696e206d75737420626520746865206f776e6572206f662074686520737065636966696564206e616d652e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204e616d65732073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e3c7265636c61696d5f6465706f7369740401106e616d6521010140576562334e616d65496e7075743c543e000230a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e000101546865206f726967696e206d75737420626520746865206163636f756e742074686174207061696420666f7220746865206e616d652773206465706f7369742e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204f776e65722073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e0c62616e0401106e616d6521010140576562334e616d65496e7075743c543e0003402c42616e2061206e616d652e00f4412062616e6e6564206e616d652063616e6e6f7420626520636c61696d656420627920616e796f6e652e20546865206e616d652773206465706f7369748869732072657475726e656420746f20746865206f726967696e616c2070617965722e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00d8456d6974732060576562334e616d6542616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129f02d2052656164733a2042616e6e65642c204f776e65722c204e616d65732073746f7261676520656e7472696573202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b2063757272656e6379206465706f73697424202072656c656173652c23203c2f7765696768743e14756e62616e0401106e616d6521010140576562334e616d65496e7075743c543e00043834556e62616e2061206e616d652e00704d616b652061206e616d6520636c61696d61626c6520616761696e2e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00e0456d6974732060576562334e616d65556e62616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129b02d2052656164733a2042616e6e65642073746f7261676520656e747279202b206f726967696e20636865636bb82d205772697465733a2042616e6e65642073746f7261676520656e747279206465706f7369742072656c656173652c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657200051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00e8546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f662074686520776562336e616d652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f7369740401286e616d655f696e70757421010140576562334e616d65496e7075743c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eed040c487075626c69635f63726564656e7469616c731870616c6c65741043616c6c04045400011c0c61646404012863726564656e7469616cf1040164426f783c496e70757443726564656e7469616c4f663c543e3e000018a852656769737465722061206e6577207075626c69632063726564656e7469616c206f6e20636861696e2e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c2077697468207468652073616d65206964656e74696669657220616c72656164798465786973747320666f722074686520737065636966696564207375626a6563742e0064456d697473206043726564656e7469616c53746f726564602e187265766f6b6508013463726564656e7469616c5f696428014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e590401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000120705265766f6b65732061207075626c69632063726564656e7469616c2e001101496620612063726564656e7469616c2077617320616c7265616479207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f207265766f6b65207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c5265766f6b6564602e20756e7265766f6b6508013463726564656e7469616c5f696428014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e590401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00022478556e7265766f6b65732061207075626c69632063726564656e7469616c2e000101496620612063726564656e7469616c20776173206e6f74207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e00d8546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f20756e7265766f6b65207468652c63726564656e7469616c2e0070456d697473206043726564656e7469616c556e7265766f6b6564602e1872656d6f766508013463726564656e7469616c5f696428014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e590401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000344fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d2074686518636861696e2e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f2072656d6f7665207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c52656d6f766564602e3c7265636c61696d5f6465706f73697404013463726564656e7469616c5f696428014443726564656e7469616c49644f663c543e000448fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d20746865ac636861696e20616e642072657475726e7320746865206465706f73697420746f206974732070617965722e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000d01546865206469737061746368206f726967696e206d75737420626520746865206f776e6572206f6620746865206465706f7369742c2068656e6365206e6f74207468655863726564656e7469616c27732061747465737465722e0068456d697473206043726564656e7469616c52656d6f766564602e506368616e67655f6465706f7369745f6f776e657204013463726564656e7469616c5f696428014443726564656e7469616c49644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00f0546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652063726564656e7469616c2ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013463726564656e7469616c5f696428014443726564656e7469616c49644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ef1040c487075626c69635f63726564656e7469616c732c63726564656e7469616c732843726564656e7469616c10244374797065486173680128445375626a6563744964656e74696669657201f50418436c61696d7301f90434416363657373436f6e74726f6c015d040010012863747970655f6861736828012443747970654861736800011c7375626a656374f50401445375626a6563744964656e746966696572000118636c61696d73f9040118436c61696d73000134617574686f72697a6174696f6e590401544f7074696f6e3c416363657373436f6e74726f6c3e0000f504102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004002c01185665633c543e0000f904102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004002c01185665633c543e0000fd040c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c65741043616c6c0404540001104c7365745f76616c69646174696f6e5f64617461040110646174610105015450617261636861696e496e686572656e744461746100002480536574207468652063757272656e742076616c69646174696f6e20646174612e004101546869732073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e887068617365206966207468652063616c6c20776173206e6f7420696e766f6b65642e00d0546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e7460002101417320612073696465206566666563742c20746869732066756e6374696f6e207570677261646573207468652063757272656e742076616c69646174696f6e2066756e6374696f6e8469662074686520617070726f7072696174652074696d652068617320636f6d652e607375646f5f73656e645f7570776172645f6d65737361676504011c6d6573736167652c01345570776172644d65737361676500010044617574686f72697a655f75706772616465040124636f64655f6861736828011c543a3a4861736800020060656e6163745f617574686f72697a65645f75706772616465040110636f64652c011c5665633c75383e000300042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e0105089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e745450617261636861696e496e686572656e7444617461000010013c76616c69646174696f6e5f646174610505015c50657273697374656456616c69646174696f6e4461746100014472656c61795f636861696e5f73746174650d05015473705f747269653a3a53746f7261676550726f6f66000144646f776e776172645f6d657373616765731505016c5665633c496e626f756e64446f776e776172644d6573736167653e00014c686f72697a6f6e74616c5f6d657373616765731d0501a442547265654d61703c5061726149642c205665633c496e626f756e6448726d704d6573736167653e3e000005050c4c706f6c6b61646f745f7072696d6974697665730876325c50657273697374656456616c69646174696f6e446174610804480128044e011c0010012c706172656e745f6865616409050120486561644461746100014c72656c61795f706172656e745f6e756d6265721c01044e00016472656c61795f706172656e745f73746f726167655f726f6f74280104480001306d61785f706f765f73697a651c010c753332000009050c48706f6c6b61646f745f70617261636861696e287072696d697469766573204865616444617461000004002c011c5665633c75383e00000d050c1c73705f747269653473746f726167655f70726f6f663053746f7261676550726f6f660000040128747269655f6e6f6465731105014442547265655365743c5665633c75383e3e0000110504204254726565536574040454012c0004006d02000000150500000219050019050860706f6c6b61646f745f636f72655f7072696d69746976657358496e626f756e64446f776e776172644d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d62657200010c6d73672c013c446f776e776172644d65737361676500001d05042042547265654d617008044b01a50104560121050004002905000000210500000225050025050860706f6c6b61646f745f636f72655f7072696d69746976657348496e626f756e6448726d704d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d626572000110646174612c015073705f7374643a3a7665633a3a5665633c75383e000029050000022d05002d0500000408a50121050031050c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c65741043616c6c04045400012448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d697424011857656967687400003484536572766963657320612073696e676c65206f7665727765696768742058434d2e00c02d20606f726967696e603a204d75737420706173732060457865637574654f7665727765696768744f726967696e602ed42d2060696e646578603a2054686520696e646578206f6620746865206f7665727765696768742058434d20746f20736572766963650d012d20607765696768745f6c696d6974603a2054686520616d6f756e74206f662077656967687420746861742058434d20657865637574696f6e206d61792074616b652e001c4572726f72733a5d012d20604261644f766572776569676874496e646578603a2058434d20756e6465722060696e64657860206973206e6f7420666f756e6420696e2074686520604f766572776569676874602073746f72616765206d61702e45012d206042616458636d603a2058434d20756e6465722060696e646578602063616e6e6f742062652070726f7065726c79206465636f64656420696e746f20612076616c69642058434d20666f726d61742e09012d20605765696768744f7665724c696d6974603a2058434d20657865637574696f6e206d617920757365206772656174657220607765696768745f6c696d6974602e001c4576656e74733a8c2d20604f7665727765696768745365727669636564603a204f6e20737563636573732e5473757370656e645f78636d5f657865637574696f6e00010c490153757370656e647320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652c207265676172646c657373206f66207468652073656e6465722773206f726967696e2e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e50726573756d655f78636d5f657865637574696f6e000214b8526573756d657320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652e003d014e6f7465207468617420746869732066756e6374696f6e20646f65736e2774206368616e67652074686520737461747573206f662074686520696e2f6f757420626f756e64206368616e6e656c732e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e607570646174655f73757370656e645f7468726573686f6c6404010c6e65771c010c75333200031499014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e2074686520717565756520666f7220746865206f74686572207369646520746f20626520746f6c6420746f5873757370656e642074686569722073656e64696e672e00742d20606f726967696e603a204d75737420706173732060526f6f74602ee82d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e73757370656e645f76616c756560547570646174655f64726f705f7468726573686f6c6404010c6e65771c010c75333200041495014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e207468652071756575652061667465722077686963682077652064726f7020616e792066757274686572686d657373616765732066726f6d20746865206368616e6e656c2e00742d20606f726967696e603a204d75737420706173732060526f6f74602eec2d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e64726f705f7468726573686f6c64605c7570646174655f726573756d655f7468726573686f6c6404010c6e65771c010c75333200051491014f76657277726974657320746865206e756d626572206f66207061676573206f66206d6573736167657320776869636820746865207175657565206d757374206265207265647563656420746f206265666f7265206974207369676e616c732074686174ec6d6573736167652073656e64696e67206d6179207265636f6d6d656e636520616674657220697420686173206265656e2073757370656e6465642e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e726573756d655f7468726573686f6c64605c7570646174655f7468726573686f6c645f77656967687404010c6e657724011857656967687400061049014f7665727772697465732074686520616d6f756e74206f662072656d61696e696e672077656967687420756e6465722077686963682077652073746f702070726f63657373696e67206d657373616765732e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7468726573686f6c645f77656967687460707570646174655f7765696768745f72657374726963745f646563617904010c6e657724011857656967687400071445014f7665727772697465732074686520737065656420746f2077686963682074686520617661696c61626c652077656967687420617070726f616368657320746865206d6178696d756d207765696768742ea50141206c6f776572206e756d62657220726573756c747320696e2061206661737465722070726f6772657373696f6e2e20412076616c7565206f662031206d616b65732074686520656e746972652077656967687420617661696c61626c6520696e697469616c6c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e0d012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7765696768745f72657374726963745f6465636179602e847570646174655f78636d705f6d61785f696e646976696475616c5f77656967687404010c6e657724011857656967687400081429014f766572777269746520746865206d6178696d756d20616d6f756e74206f662077656967687420616e7920696e646976696475616c206d657373616765206d617920636f6e73756d652e71014d657373616765732061626f766520746869732077656967687420676f20696e746f20746865206f76657277656967687420717565756520616e64206d6179206f6e6c79206265207365727669636564206578706c696369746c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e21012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e78636d705f6d61785f696e646976696475616c5f776569676874602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e35050c2870616c6c65745f78636d1870616c6c65741043616c6c0404540001281073656e64080110646573743d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011c6d65737361676539050154426f783c56657273696f6e656458636d3c28293e3e0000003c74656c65706f72745f617373657473100110646573743d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747329020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c75333200013c110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e5c726573657276655f7472616e736665725f617373657473100110646573743d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747329020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320002404d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e1c6578656375746508011c6d657373616765650501a4426f783c56657273696f6e656458636d3c3c5420617320537973436f6e6669673e3a3a43616c6c3e3e0001286d61785f77656967687424011857656967687400032cd04578656375746520616e2058434d206d6573736167652066726f6d2061206c6f63616c2c207369676e65642c206f726967696e2e004d01416e206576656e74206973206465706f736974656420696e6469636174696e67207768657468657220606d73676020636f756c6420626520657865637574656420636f6d706c6574656c79206f72206f6e6c79287061727469616c6c792e006d014e6f206d6f7265207468616e20606d61785f776569676874602077696c6c206265207573656420696e2069747320617474656d7074656420657865637574696f6e2e2049662074686973206973206c657373207468616e2074686559016d6178696d756d20616d6f756e74206f6620776569676874207468617420746865206d65737361676520636f756c642074616b6520746f2062652065786563757465642c207468656e206e6f20657865637574696f6e54617474656d70742077696c6c206265206d6164652e006d014e4f54453a2041207375636365737366756c2072657475726e20746f207468697320646f6573202a6e6f742a20696d706c7920746861742074686520606d73676020776173206578656375746564207375636365737366756c6c79cc746f20636f6d706c6574696f6e3b206f6e6c792074686174202a736f6d652a206f66206974207761732065786563757465642e44666f7263655f78636d5f76657273696f6e0801206c6f636174696f6eb1010148426f783c4d756c74694c6f636174696f6e3e00012c78636d5f76657273696f6e1c012858636d56657273696f6e00041849014578746f6c6c2074686174206120706172746963756c61722064657374696e6174696f6e2063616e20626520636f6d6d756e6963617465642077697468207468726f756768206120706172746963756c61723c76657273696f6e206f662058434d2e00642d20606f726967696e603a204d75737420626520526f6f742ed82d20606c6f636174696f6e603a205468652064657374696e6174696f6e2074686174206973206265696e67206465736372696265642e11012d206078636d5f76657273696f6e603a20546865206c61746573742076657273696f6e206f662058434d207468617420606c6f636174696f6e6020737570706f7274732e64666f7263655f64656661756c745f78636d5f76657273696f6e0401446d617962655f78636d5f76657273696f6edd0301484f7074696f6e3c58636d56657273696f6e3e0005145901536574206120736166652058434d2076657273696f6e20287468652076657273696f6e20746861742058434d2073686f756c6420626520656e636f646564207769746820696620746865206d6f737420726563656e74b476657273696f6e20612064657374696e6174696f6e2063616e2061636365707420697320756e6b6e6f776e292e00642d20606f726967696e603a204d75737420626520526f6f742e39012d20606d617962655f78636d5f76657273696f6e603a205468652064656661756c742058434d20656e636f64696e672076657273696f6e2c206f7220604e6f6e656020746f2064697361626c652e78666f7263655f7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e3d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000610390141736b2061206c6f636174696f6e20746f206e6f7469667920757320726567617264696e672074686569722058434d2076657273696f6e20616e6420616e79206368616e67657320746f2069742e00642d20606f726967696e603a204d75737420626520526f6f742e59012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f2077686963682077652073686f756c642073756273637269626520666f722058434d2076657273696f6e206e6f74696669636174696f6e732e80666f7263655f756e7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e3d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e0007184901526571756972652074686174206120706172746963756c61722064657374696e6174696f6e2073686f756c64206e6f206c6f6e676572206e6f7469667920757320726567617264696e6720616e792058434d4076657273696f6e206368616e6765732e00642d20606f726967696e603a204d75737420626520526f6f742e3d012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f207768696368207765206172652063757272656e746c79207375627363726962656420666f722058434d2076657273696f6ea820206e6f74696669636174696f6e73207768696368207765206e6f206c6f6e676572206465736972652e7c6c696d697465645f726573657276655f7472616e736665725f617373657473140110646573743d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747329020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69742102012c5765696768744c696d69740008484d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e5c6c696d697465645f74656c65706f72745f617373657473140110646573743d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747329020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69742102012c5765696768744c696d6974000944110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e3905080c78636d3056657273696f6e656458636d041043616c6c00010c08563004003d05013476303a3a58636d3c43616c6c3e00000008563104005105013476313a3a58636d3c43616c6c3e0001000856320400d901013476323a3a58636d3c43616c6c3e000200003d050c0c78636d0876300c58636d041043616c6c00012c34576974686472617741737365740801186173736574732d02013c5665633c4d756c746941737365743e00011c65666665637473410501405665633c4f726465723c43616c6c3e3e0000004c5265736572766541737365744465706f7369740801186173736574732d02013c5665633c4d756c746941737365743e00011c65666665637473410501405665633c4f726465723c43616c6c3e3e0001003454656c65706f727441737365740801186173736574732d02013c5665633c4d756c746941737365743e00011c65666665637473410501405665633c4f726465723c43616c6c3e3e000200345175657279526573706f6e736508012071756572795f6964c901010c753634000120726573706f6e73654d050120526573706f6e7365000300345472616e7366657241737365740801186173736574732d02013c5665633c4d756c746941737365743e00011064657374350201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574732d02013c5665633c4d756c746941737365743e00011064657374350201344d756c74694c6f636174696f6e00011c65666665637473410501385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f747970650d0201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c1102014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572bd01010c7533320001406d61785f6d6573736167655f73697a65bd01010c7533320001306d61785f6361706163697479bd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74bd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72bd01010c75333200011873656e646572bd01010c753332000124726563697069656e74bd01010c7533320009002c52656c6179656446726f6d08010c77686f350201344d756c74694c6f636174696f6e00011c6d6573736167653d050170616c6c6f633a3a626f7865643a3a426f783c58636d3c43616c6c3e3e000a000041050000024505004505100c78636d087630146f72646572144f72646572041043616c6c000120104e756c6c000000304465706f73697441737365740801186173736574732d02013c5665633c4d756c746941737365743e00011064657374350201344d756c74694c6f636174696f6e0001004c4465706f7369745265736572766541737365740c01186173736574732d02013c5665633c4d756c746941737365743e00011064657374350201344d756c74694c6f636174696f6e00011c65666665637473410501385665633c4f726465723c28293e3e0002003445786368616e67654173736574080110676976652d02013c5665633c4d756c746941737365743e00011c726563656976652d02013c5665633c4d756c746941737365743e0003005c496e6974696174655265736572766557697468647261770c01186173736574732d02013c5665633c4d756c746941737365743e00011c72657365727665350201344d756c74694c6f636174696f6e00011c65666665637473410501385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c01186173736574732d02013c5665633c4d756c746941737365743e00011064657374350201344d756c74694c6f636174696f6e00011c65666665637473410501385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f6964c901010c75363400011064657374350201344d756c74694c6f636174696f6e0001186173736574732d02013c5665633c4d756c746941737365743e00060030427579457865637574696f6e14011066656573310201284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72ac0110626f6f6c00010c78636d490501385665633c58636d3c43616c6c3e3e0007000049050000023d05004d050c0c78636d08763020526573706f6e73650001041841737365747304002d02013c5665633c4d756c746941737365743e0000000051050c0c78636d0876310c58636d041043616c6c0001343457697468647261774173736574080118617373657473e501012c4d756c746941737365747300011c65666665637473550501405665633c4f726465723c43616c6c3e3e000000545265736572766541737365744465706f7369746564080118617373657473e501012c4d756c746941737365747300011c65666665637473550501405665633c4f726465723c43616c6c3e3e000100585265636569766554656c65706f727465644173736574080118617373657473e501012c4d756c746941737365747300011c65666665637473550501405665633c4f726465723c43616c6c3e3e000200345175657279526573706f6e736508012071756572795f6964c901010c753634000120726573706f6e736561050120526573706f6e7365000300345472616e736665724173736574080118617373657473e501012c4d756c746941737365747300012c62656e6566696369617279b10101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473e501012c4d756c746941737365747300011064657374b10101344d756c74694c6f636174696f6e00011c65666665637473550501385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f747970650d0201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c1102014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572bd01010c7533320001406d61785f6d6573736167655f73697a65bd01010c7533320001306d61785f6361706163697479bd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74bd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72bd01010c75333200011873656e646572bd01010c753332000124726563697069656e74bd01010c7533320009002c52656c6179656446726f6d08010c77686fb5010154496e746572696f724d756c74694c6f636174696f6e00011c6d65737361676551050170616c6c6f633a3a626f7865643a3a426f783c58636d3c43616c6c3e3e000a004053756273637269626556657273696f6e08012071756572795f6964c901010c75363400014c6d61785f726573706f6e73655f776569676874c901010c753634000b0048556e73756273637269626556657273696f6e000c000055050000025905005905100c78636d087631146f72646572144f72646572041043616c6c000120104e6f6f70000000304465706f73697441737365740c0118617373657473150201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200012c62656e6566696369617279b10101344d756c74694c6f636174696f6e0001004c4465706f736974526573657276654173736574100118617373657473150201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200011064657374b10101344d756c74694c6f636174696f6e00011c65666665637473550501385665633c4f726465723c28293e3e0002003445786368616e6765417373657408011067697665150201404d756c7469417373657446696c74657200011c72656365697665e501012c4d756c74694173736574730003005c496e6974696174655265736572766557697468647261770c0118617373657473150201404d756c7469417373657446696c74657200011c72657365727665b10101344d756c74694c6f636174696f6e00011c65666665637473550501385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c0118617373657473150201404d756c7469417373657446696c74657200011064657374b10101344d756c74694c6f636174696f6e00011c65666665637473550501385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f6964c901010c75363400011064657374b10101344d756c74694c6f636174696f6e000118617373657473150201404d756c7469417373657446696c74657200060030427579457865637574696f6e14011066656573ed0101284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72ac0110626f6f6c000130696e737472756374696f6e735d0501385665633c58636d3c43616c6c3e3e000700005d0500000251050061050c0c78636d08763120526573706f6e7365000108184173736574730400e501012c4d756c74694173736574730000001c56657273696f6e04001c013873757065723a3a56657273696f6e000100006505080c78636d3056657273696f6e656458636d041043616c6c00010c08563004006905013476303a3a58636d3c43616c6c3e00000008563104007d05013476313a3a58636d3c43616c6c3e00010008563204008d05013476323a3a58636d3c43616c6c3e0002000069050c0c78636d0876300c58636d041043616c6c00012c34576974686472617741737365740801186173736574732d02013c5665633c4d756c746941737365743e00011c656666656374736d0501405665633c4f726465723c43616c6c3e3e0000004c5265736572766541737365744465706f7369740801186173736574732d02013c5665633c4d756c746941737365743e00011c656666656374736d0501405665633c4f726465723c43616c6c3e3e0001003454656c65706f727441737365740801186173736574732d02013c5665633c4d756c746941737365743e00011c656666656374736d0501405665633c4f726465723c43616c6c3e3e000200345175657279526573706f6e736508012071756572795f6964c901010c753634000120726573706f6e73654d050120526573706f6e7365000300345472616e7366657241737365740801186173736574732d02013c5665633c4d756c746941737365743e00011064657374350201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574732d02013c5665633c4d756c746941737365743e00011064657374350201344d756c74694c6f636174696f6e00011c65666665637473410501385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f747970650d0201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c7905014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572bd01010c7533320001406d61785f6d6573736167655f73697a65bd01010c7533320001306d61785f6361706163697479bd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74bd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72bd01010c75333200011873656e646572bd01010c753332000124726563697069656e74bd01010c7533320009002c52656c6179656446726f6d08010c77686f350201344d756c74694c6f636174696f6e00011c6d65737361676569050170616c6c6f633a3a626f7865643a3a426f783c58636d3c43616c6c3e3e000a00006d050000027105007105100c78636d087630146f72646572144f72646572041043616c6c000120104e756c6c000000304465706f73697441737365740801186173736574732d02013c5665633c4d756c746941737365743e00011064657374350201344d756c74694c6f636174696f6e0001004c4465706f7369745265736572766541737365740c01186173736574732d02013c5665633c4d756c746941737365743e00011064657374350201344d756c74694c6f636174696f6e00011c65666665637473410501385665633c4f726465723c28293e3e0002003445786368616e67654173736574080110676976652d02013c5665633c4d756c746941737365743e00011c726563656976652d02013c5665633c4d756c746941737365743e0003005c496e6974696174655265736572766557697468647261770c01186173736574732d02013c5665633c4d756c746941737365743e00011c72657365727665350201344d756c74694c6f636174696f6e00011c65666665637473410501385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c01186173736574732d02013c5665633c4d756c746941737365743e00011064657374350201344d756c74694c6f636174696f6e00011c65666665637473410501385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f6964c901010c75363400011064657374350201344d756c74694c6f636174696f6e0001186173736574732d02013c5665633c4d756c746941737365743e00060030427579457865637574696f6e14011066656573310201284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72ac0110626f6f6c00010c78636d750501385665633c58636d3c43616c6c3e3e00070000750500000269050079050c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f6465642c011c5665633c75383e00007d050c0c78636d0876310c58636d041043616c6c0001343457697468647261774173736574080118617373657473e501012c4d756c746941737365747300011c65666665637473810501405665633c4f726465723c43616c6c3e3e000000545265736572766541737365744465706f7369746564080118617373657473e501012c4d756c746941737365747300011c65666665637473810501405665633c4f726465723c43616c6c3e3e000100585265636569766554656c65706f727465644173736574080118617373657473e501012c4d756c746941737365747300011c65666665637473810501405665633c4f726465723c43616c6c3e3e000200345175657279526573706f6e736508012071756572795f6964c901010c753634000120726573706f6e736561050120526573706f6e7365000300345472616e736665724173736574080118617373657473e501012c4d756c746941737365747300012c62656e6566696369617279b10101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473e501012c4d756c746941737365747300011064657374b10101344d756c74694c6f636174696f6e00011c65666665637473550501385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f747970650d0201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c7905014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572bd01010c7533320001406d61785f6d6573736167655f73697a65bd01010c7533320001306d61785f6361706163697479bd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74bd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72bd01010c75333200011873656e646572bd01010c753332000124726563697069656e74bd01010c7533320009002c52656c6179656446726f6d08010c77686fb5010154496e746572696f724d756c74694c6f636174696f6e00011c6d6573736167657d050170616c6c6f633a3a626f7865643a3a426f783c58636d3c43616c6c3e3e000a004053756273637269626556657273696f6e08012071756572795f6964c901010c75363400014c6d61785f726573706f6e73655f776569676874c901010c753634000b0048556e73756273637269626556657273696f6e000c000081050000028505008505100c78636d087631146f72646572144f72646572041043616c6c000120104e6f6f70000000304465706f73697441737365740c0118617373657473150201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200012c62656e6566696369617279b10101344d756c74694c6f636174696f6e0001004c4465706f736974526573657276654173736574100118617373657473150201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200011064657374b10101344d756c74694c6f636174696f6e00011c65666665637473550501385665633c4f726465723c28293e3e0002003445786368616e6765417373657408011067697665150201404d756c7469417373657446696c74657200011c72656365697665e501012c4d756c74694173736574730003005c496e6974696174655265736572766557697468647261770c0118617373657473150201404d756c7469417373657446696c74657200011c72657365727665b10101344d756c74694c6f636174696f6e00011c65666665637473550501385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c0118617373657473150201404d756c7469417373657446696c74657200011064657374b10101344d756c74694c6f636174696f6e00011c65666665637473550501385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f6964c901010c75363400011064657374b10101344d756c74694c6f636174696f6e000118617373657473150201404d756c7469417373657446696c74657200060030427579457865637574696f6e14011066656573ed0101284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72ac0110626f6f6c000130696e737472756374696f6e73890501385665633c58636d3c43616c6c3e3e0007000089050000027d05008d050c0c78636d0876320c58636d041043616c6c00000400910501585665633c496e737472756374696f6e3c43616c6c3e3e0000910500000295050095050c0c78636d0876322c496e737472756374696f6e041043616c6c00017034576974686472617741737365740400e501012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400e501012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400e501012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f6964c901011c51756572794964000120726573706f6e736501020120526573706f6e73650001286d61785f776569676874c901010c753634000300345472616e736665724173736574080118617373657473e501012c4d756c746941737365747300012c62656e6566696369617279b10101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473e501012c4d756c746941737365747300011064657374b10101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f747970650d0201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f7374c901010c75363400011063616c6c7905014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572bd01010c7533320001406d61785f6d6573736167655f73697a65bd01010c7533320001306d61785f6361706163697479bd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74bd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72bd01010c75333200011873656e646572bd01010c753332000124726563697069656e74bd01010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400b5010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f6964c901011c5175657279496400011064657374b10101344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f776569676874c901010c753634000c00304465706f73697441737365740c0118617373657473150201404d756c7469417373657446696c7465720001286d61785f617373657473bd01010c75333200012c62656e6566696369617279b10101344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473150201404d756c7469417373657446696c7465720001286d61785f617373657473bd01010c75333200011064657374b10101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000e003445786368616e6765417373657408011067697665150201404d756c7469417373657446696c74657200011c72656365697665e501012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473150201404d756c7469417373657446696c74657200011c72657365727665b10101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473150201404d756c7469417373657446696c74657200011064657374b10101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f6964c901011c5175657279496400011064657374b10101344d756c74694c6f636174696f6e000118617373657473150201404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f776569676874c901010c75363400120030427579457865637574696f6e08011066656573ed0101284d756c746941737365740001307765696768745f6c696d69742102012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204008d05012458636d3c43616c6c3e0015002c536574417070656e64697804008d05012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473e501012c4d756c74694173736574730001187469636b6574b10101344d756c74694c6f636174696f6e00180010547261700400c901010c7536340019004053756273637269626556657273696f6e08012071756572795f6964c901011c5175657279496400014c6d61785f726573706f6e73655f776569676874c901010c753634001a0048556e73756273637269626556657273696f6e001b000099050c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c65741043616c6c04045400010448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d6974240118576569676874000030905365727669636520612073696e676c65206f766572776569676874206d6573736167652e00c02d20606f726967696e603a204d75737420706173732060457865637574654f7665727765696768744f726967696e602ee82d2060696e646578603a2054686520696e646578206f6620746865206f766572776569676874206d65737361676520746f20736572766963652e1d012d20607765696768745f6c696d6974603a2054686520616d6f756e74206f66207765696768742074686174206d65737361676520657865637574696f6e206d61792074616b652e001c4572726f72733aac2d2060556e6b6e6f776e603a204d657373616765206f662060696e6465786020697320756e6b6e6f776e2e15012d20604f7665724c696d6974603a204d65737361676520657865637574696f6e206d6179207573652067726561746572207468616e20607765696768745f6c696d6974602e001c4576656e74733a8c2d20604f7665727765696768745365727669636564603a204f6e20737563636573732e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e9d05084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572011000140114696e6465781c013450726f706f73616c496e6465780001247468726573686f6c641c012c4d656d626572436f756e74000110617965739001385665633c4163636f756e7449643e0001106e6179739001385665633c4163636f756e7449643e00010c656e6410012c426c6f636b4e756d6265720000a1050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a505102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401280453000004004d0201185665633c543e0000a9050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909ad05102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401000453000004009001185665633c543e0000b1050c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909b505083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e63650000b905102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454011c0453000004000d0301185665633c543e0000bd050c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c000004001c010c7533320000c10504184f7074696f6e04045401180108104e6f6e6500000010536f6d650400180000010000c50508346672616d655f737570706f72742050616c6c6574496400000400fd01011c5b75383b20385d0000c9050c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900011470496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0003084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640004047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e04784572726f7220666f72207468652074726561737572792070616c6c65742ecd050c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909d105102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012d04045300000400d50501185665633c543e0000d5050000022d0400d905083870616c6c65745f76657374696e672052656c656173657300010808563000000008563100010000dd050c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742ee105000002e50500e50504184f7074696f6e04045401e9050108104e6f6e6500000010536f6d650400e9050000010000e905084070616c6c65745f7363686564756c65722c5363686564756c65645633101043616c6c0139042c426c6f636b4e756d62657201103450616c6c6574734f726967696e010904244163636f756e7449640100001401206d617962655f6964cc013c4f7074696f6e3c5665633c75383e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c3904011043616c6c0001386d617962655f706572696f646963350401944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696e0904013450616c6c6574734f726967696e0000ed050c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000110404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909f10500000408f5051800f505102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401f905045300000400fd0501185665633c543e0000f905083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501d82c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065d8012450726f78795479706500011464656c617910012c426c6f636b4e756d6265720000fd05000002f90500010600000408050618000506102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540109060453000004000d0601185665633c543e00000906083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e7449640100104861736801282c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173682801104861736800011868656967687410012c426c6f636b4e756d62657200000d0600000209060011060c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909091506083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e7265717565737465640400190601704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e0000002452657175657374656404001c010c75333200010000190604184f7074696f6e040454011d060108104e6f6e6500000010536f6d6504001d0600000100001d06000004080018002106102873705f72756e74696d651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004002c01185665633c543e000025060c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400011820546f6f4c61726765000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090929060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909092d06082c70616c6c65745f746970731c4f70656e54697010244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d626572011010486173680128001c0118726561736f6e2801104861736800010c77686f0001244163636f756e74496400011866696e6465720001244163636f756e74496400011c6465706f73697418011c42616c616e6365000118636c6f736573a503014c4f7074696f6e3c426c6f636b4e756d6265723e00011074697073310601645665633c284163636f756e7449642c2042616c616e6365293e00012c66696e646572735f666565ac0110626f6f6c000031060000021d060035060c3473705f61726974686d65746963287065725f7468696e67731c50657263656e74000004000801087538000039060c2c70616c6c65745f746970731870616c6c6574144572726f7208045400044900011830526561736f6e546f6f4269670000048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e00010488546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e5469700002046054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e6465720003041d01546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e0004042901546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d61747572650005043101546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909093d060c1463747970651870616c6c6574144572726f7204045400010c3443547970654e6f74466f756e64000004985468657265206973206e6f20435479706520776974682074686520676976656e20686173682e484354797065416c72656164794578697374730001046454686520435479706520616c7265616479206578697374732e3c556e61626c65546f506179466565730002040d0154686520706179696e67206163636f756e742077617320756e61626c6520746f2070617920746865206665657320666f72206372656174696e6720612063747970652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090941060c2c6174746573746174696f6e306174746573746174696f6e73484174746573746174696f6e44657461696c73040454000014012863747970655f686173682801384374797065486173684f663c543e000120617474657374657200013441747465737465724f663c543e000140617574686f72697a6174696f6e5f6964f401704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e00011c7265766f6b6564ac0110626f6f6c00011c6465706f736974450601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e000045060c306b696c745f737570706f72741c6465706f7369741c4465706f736974081c4163636f756e7401001c42616c616e63650118000801146f776e657200011c4163636f756e74000118616d6f756e7418011c42616c616e63650000490600000408f828004d060c2c6174746573746174696f6e1870616c6c6574144572726f720404540001183c416c726561647941747465737465640000080901546865726520697320616c726561647920616e206174746573746174696f6e2077697468207468652073616d6520636c61696d20686173682073746f726564206f6e18636861696e2e38416c72656164795265766f6b6564000104a4546865206174746573746174696f6e2068617320616c7265616479206265656e207265766f6b65642e4c4174746573746174696f6e4e6f74466f756e64000204c04e6f206174746573746174696f6e206f6e20636861696e206d61746368696e672074686520636c61696d20686173682e3443547970654d69736d61746368000308fc546865206174746573746174696f6e20435479706520646f6573206e6f74206d61746368207468652043547970652073706563696669656420696e207468656864656c65676174696f6e2068696572617263687920726f6f742e30556e617574686f72697a6564000404f05468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f206368616e676520746865206174746573746174696f6e2e804d617844656c6567617465644174746573746174696f6e73457863656564656400050cf4546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732068617320616c7265616479206265656e05017265616368656420666f722074686520636f72726573706f6e64696e672064656c65676174696f6e2069642073756368207468617420616e6f74686572206f6e654063616e6e6f742062652061646465642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090951060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368793844656c65676174696f6e4e6f646504045400001401446869657261726368795f726f6f745f696428015444656c65676174696f6e4e6f646549644f663c543e000118706172656e749d0101744f7074696f6e3c44656c65676174696f6e4e6f646549644f663c543e3e0001206368696c6472656e550601d8426f756e64656442547265655365743c44656c65676174696f6e4e6f646549644f663c543e2c20543a3a4d61784368696c6472656e3e00011c64657461696c735d06015044656c65676174696f6e44657461696c733c543e00011c6465706f736974450601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e00005506102873705f72756e74696d651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e646564425472656553657408045401280453000004005906012c42547265655365743c543e000059060420425472656553657404045401280004004d020000005d060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368794444656c65676174696f6e44657461696c7304045400000c01146f776e657200014044656c656761746f7249644f663c543e00011c7265766f6b6564ac0110626f6f6c00012c7065726d697373696f6e730101012c5065726d697373696f6e73000061060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368796844656c65676174696f6e48696572617263687944657461696c73040454000004012863747970655f686173682801384374797065486173684f663c543e000065060c2864656c65676174696f6e1870616c6c6574144572726f720404540001585c44656c65676174696f6e416c72656164794578697374730000041101546865726520697320616c726561647920612064656c65676174696f6e206e6f64652077697468207468652073616d652049442073746f726564206f6e20636861696e2e60496e76616c696444656c65676174655369676e617475726500010805015468652064656c65676174652773207369676e617475726520666f72207468652064656c65676174696f6e206372656174696f6e206f7065726174696f6e20697320696e76616c69642e4844656c65676174696f6e4e6f74466f756e64000204c04e6f2064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e4044656c65676174654e6f74466f756e64000304b84e6f2064656c656761746520776974682074686520676976656e2049442073746f726564206f6e20636861696e2e58486965726172636879416c7265616479457869737473000404f8546865726520697320616c72656164792061206869657261726368792077697468207468652073616d652049442073746f726564206f6e20636861696e2e444869657261726368794e6f74466f756e64000504bc4e6f2068696572617263687920776974682074686520676976656e2049442073746f726564206f6e20636861696e2e544d617853656172636844657074685265616368656400060409014d6178206e756d626572206f66206e6f64657320636865636b656420776974686f757420766572696679696e672074686520676976656e20636f6e646974696f6e2e684e6f744f776e65724f66506172656e7444656c65676174696f6e000708f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6ef462656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20706172656e74206e6f64652e744e6f744f776e65724f6644656c65676174696f6e486965726172636879000808f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6eec62656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20726f6f74206e6f64652e60506172656e7444656c65676174696f6e4e6f74466f756e64000904dc4e6f20706172656e742064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e5c506172656e7444656c65676174696f6e5265766f6b6564000a04c854686520706172656e742064656c65676174696f6e206861732070726576696f75736c79206265656e207265766f6b65642e58556e617574686f72697a65645265766f636174696f6e000b04fc5468652064656c65676174696f6e207265766f6b6572206973206e6f7420616c6c6f77656420746f207265766f6b65207468652064656c65676174696f6e2e4c556e617574686f72697a656452656d6f76616c000c04ec5468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f2072656d6f7665207468652064656c65676174696f6e2e58556e617574686f72697a656444656c65676174696f6e000d04fc5468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f20637265617465207468652064656c65676174696f6e2e3041636365737344656e696564000e04f0546865206f7065726174696f6e207761736e277420616c6c6f7765642062656361757365206f6620696e73756666696369656e74207269676874732e6045786365656465645265766f636174696f6e426f756e6473000f080d014d6178206e756d626572206f66207265766f636174696f6e7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7238746865206f7065726174696f6e2e54457863656564656452656d6f76616c426f756e647300100811014d6178206e756d626572206f662072656d6f76616c7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7220746865286f7065726174696f6e2e584d61785265766f636174696f6e73546f6f4c61726765001104f8546865206d6178206e756d626572206f66207265766f636174696f6e206578636565647320746865206c696d697420666f72207468652070616c6c65742e4c4d617852656d6f76616c73546f6f4c61726765001204f0546865206d6178206e756d626572206f662072656d6f76616c73206578636565647320746865206c696d697420666f72207468652070616c6c65742e5c4d6178506172656e74436865636b73546f6f4c617267650013040501546865206d6178206e756d626572206f6620706172656e7420636865636b73206578636565647320746865206c696d697420666f72207468652070616c6c65742e34496e7465726e616c4572726f72001404f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e4c4d61784368696c6472656e4578636565646564001508dc546865206d6178206e756d626572206f6620616c6c206368696c6472656e20686173206265656e207265616368656420666f722074686578636f72726573706f6e64696e672064656c65676174696f6e206e6f64652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090969060c0c6469642c6469645f64657461696c732844696444657461696c7304045400001c014861757468656e7469636174696f6e5f6b65792801284b657949644f663c543e0001486b65795f61677265656d656e745f6b6579736d0601604469644b657941677265656d656e744b65795365743c543e00013864656c65676174696f6e5f6b65799d0101484f7074696f6e3c4b657949644f663c543e3e00013c6174746573746174696f6e5f6b65799d0101484f7074696f6e3c4b657949644f663c543e3e00012c7075626c69635f6b657973710601484469645075626c69634b65794d61703c543e00013c6c6173745f74785f636f756e74657210010c75363400011c6465706f736974450601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e00006d06102873705f72756e74696d651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e646564425472656553657408045401280453000004005906012c42547265655365743c543e00007106102873705f72756e74696d651c626f756e64656444626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b012804560175060453000004007d06013842547265654d61703c4b2c20563e000075060c0c6469642c6469645f64657461696c734c4469645075626c69634b657944657461696c73042c426c6f636b4e756d62657201100008010c6b6579790601304469645075626c69634b6579000130626c6f636b5f6e756d62657210012c426c6f636b4e756d626572000079060c0c6469642c6469645f64657461696c73304469645075626c69634b6579000108545075626c6963566572696669636174696f6e4b65790400a1040148446964566572696669636174696f6e4b65790000004c5075626c6963456e6372797074696f6e4b6579040091040140446964456e6372797074696f6e4b6579000100007d06042042547265654d617008044b01280456017506000400810600000081060000028506008506000004082875060089060000040800b904008d060c0c6469641870616c6c6574144572726f7204045400016c58496e76616c69645369676e6174757265466f726d6174000008050154686520444944206f7065726174696f6e207369676e6174757265206973206e6f7420696e2074686520666f726d61742074686520766572696669636174696f6e306b657920657870656374732e40496e76616c69645369676e6174757265000108f854686520444944206f7065726174696f6e207369676e617475726520697320696e76616c696420666f7220746865207061796c6f616420616e642074686568766572696669636174696f6e206b65792070726f76696465642e44446964416c726561647950726573656e74000204f85468652044494420776974682074686520676976656e206964656e74696669657220697320616c72656164792070726573656e74206f6e20636861696e2e344469644e6f7450726573656e74000304d44e6f2044494420776974682074686520676976656e206964656e7469666965722069732070726573656e74206f6e20636861696e2e64566572696669636174696f6e4b65794e6f7450726573656e7400040809014f6e65206f72206d6f726520766572696669636174696f6e206b657973207265666572656e63656420617265206e6f742073746f72656420696e2074686520736574546f6620766572696669636174696f6e206b6579732e30496e76616c69644e6f6e6365000504090154686520444944206f7065726174696f6e206e6f6e6365206973206e6f7420657175616c20746f207468652063757272656e7420444944206e6f6e6365202b20312e7c556e737570706f72746564446964417574686f72697a6174696f6e43616c6c000604e05468652063616c6c65642065787472696e73696320646f6573206e6f7420737570706f72742044494420617574686f7269736174696f6e2e6c496e76616c6964446964417574686f72697a6174696f6e43616c6c000708dc5468652063616c6c2068616420706172616d6574657273207468617420636f6e666c696374656420776974682065616368206f74686572406f72207765726520696e76616c69642e804d61784b657941677265656d656e744b6579734c696d697445786365656465640008080d0141206e756d626572206f66206e6577206b65792061677265656d656e74206b6579732067726561746572207468616e20746865206d6178696d756d20616c6c6f77656448686173206265656e2070726f76696465642e6c4d61785075626c69634b65797350657244696445786365656465640009080501546865206d6178696d756d206e756d626572206f66207075626c6963206b65797320666f72207468697320444944206b6579206964656e74696669657220686173346265656e20726561636865642e804d6178546f74616c4b657941677265656d656e744b6579734578636565646564000a080501546865206d6178696d756d206e756d626572206f66206b65792061677265656d656e747320686173206265656e207265616368656420666f722074686520444944207375626a6563742e304261644469644f726967696e000b04bc546865204449442063616c6c20776173207375626d6974746564206279207468652077726f6e67206163636f756e74485472616e73616374696f6e45787069726564000c040d0154686520626c6f636b206e756d6265722070726f766964656420696e2061204449442d617574686f72697a6564206f7065726174696f6e20697320696e76616c69642e44446964416c726561647944656c65746564000d04b0546865204449442068617320616c7265616479206265656e2070726576696f75736c792064656c657465642e444e6f744f776e65724f664465706f736974000e04fc4f6e6c7920746865206f776e6572206f6620746865206465706f7369742063616e207265636c61696d206974732072657365727665642062616c616e63652e3c556e61626c65546f50617946656573000f04f0546865206f726967696e20697320756e61626c6520746f207265736572766520746865206465706f73697420616e642070617920746865206665652e844d61784e756d6265724f66536572766963657350657244696445786365656465640010041101546865206d6178696d756d206e756d626572206f66207365727669636520656e64706f696e747320666f7220612044494420686173206265656e2065786365656465642e684d61785365727669636549644c656e6774684578636565646564001104f0546865207365727669636520656e64706f696e7420494420657863656564656420746865206d6178696d756d20616c6c6f776564206c656e6774682e704d617853657276696365547970654c656e6774684578636565646564001208f84f6e65206f6620746865207365727669636520656e64706f696e7420747970657320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e884d61784e756d6265724f665479706573506572536572766963654578636565646564001308ec546865206d6178696d756d206e756d626572206f6620747970657320666f722061207365727669636520656e64706f696e7420686173206265656e2465786365656465642e6c4d61785365727669636555726c4c656e6774684578636565646564001408f44f6e65206f6620746865207365727669636520656e64706f696e742055524c7320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e844d61784e756d6265724f6655726c735065725365727669636545786365656465640015041101546865206d6178696d756d206e756d626572206f662055524c7320666f722061207365727669636520656e64706f696e7420686173206265656e2065786365656465642e5453657276696365416c726561647950726573656e7400160411014120736572766963652077697468207468652070726f766964656420494420697320616c72656164792070726573656e7420666f722074686520676976656e204449442e44536572766963654e6f7450726573656e7400170409014120736572766963652077697468207468652070726f7669646564204944206973206e6f742070726573656e7420756e6465722074686520676976656e204449442e58496e76616c696453657276696365456e636f64696e6700180409014f6e65206f6620746865207365727669636520656e64706f696e742064657461696c7320636f6e7461696e73206e6f6e2d415343494920636861726163746572732e7053746f726564456e64706f696e7473436f756e74546f6f4c617267650019080d01546865206e756d626572206f66207365727669636520656e64706f696e74732073746f72656420756e6465722074686520444944206973206c6172676572207468616e88746865206e756d626572206f6620656e64706f696e747320746f2064656c6574652e34496e7465726e616c4572726f72001a04f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090991060c4470616c6c65745f6469645f6c6f6f6b757044636f6e6e656374696f6e5f7265636f726440436f6e6e656374696f6e5265636f72640c344469644964656e74696669657201001c4163636f756e7401001c42616c616e636501180008010c6469640001344469644964656e74696669657200011c6465706f736974450601644465706f7369743c4163636f756e742c2042616c616e63653e0000950600000408000d010099060c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144572726f720404540001104c4173736f63696174696f6e4e6f74466f756e640000047c546865206173736f63696174696f6e20646f6573206e6f742065786973742e344e6f74417574686f72697a65640001081101546865206f726967696e20776173206e6f7420616c6c6f77656420746f206d616e61676520746865206173736f63696174696f6e206265747765656e20746865204449444c616e6420746865206163636f756e742049442e344f7574646174656450726f6f66000204b454686520737570706c6965642070726f6f66206f66206f776e65727368697020776173206f757464617465642e44496e73756666696369656e7446756e64730003081101546865206163636f756e742068617320696e73756666696369656e742066756e647320616e642063616e277420706179207468652066656573206f72207265736572766530746865206465706f7369742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909099d060c4470616c6c65745f776562335f6e616d657324776562335f6e616d6544576562334e616d654f776e6572736869700c144f776e657201001c4465706f7369740145062c426c6f636b4e756d6265720110000c01146f776e65720001144f776e6572000128636c61696d65645f617410012c426c6f636b4e756d62657200011c6465706f7369744506011c4465706f7369740000a1060c4470616c6c65745f776562335f6e616d65731870616c6c6574144572726f7204045400013444496e73756666696369656e7446756e64730000040d01546865207478207375626d697474657220646f6573206e6f74206861766520656e6f7567682066756e647320746f2070617920666f7220746865206465706f7369742e58576562334e616d65416c7265616479436c61696d6564000104dc54686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c7920636c61696d65642e40576562334e616d654e6f74466f756e640002048854686520737065636966696564206e616d6520646f6573206e6f742065786973742e484f776e6572416c7265616479457869737473000304a054686520737065636966696564206f776e657220616c7265616479206f776e732061206e616d652e344f776e65724e6f74466f756e64000404ac54686520737065636966696564206f776e657220646f6573206e6f74206f776e20616e79206e616d65732e38576562334e616d6542616e6e6564000508ec54686520737065636966696564206e616d6520686173206265656e2062616e6e656420616e642063616e6e6f7420626520696e746572616374656414776974682e44576562334e616d654e6f7442616e6e6564000604ac54686520737065636966696564206e616d65206973206e6f742063757272656e746c792062616e6e65642e54576562334e616d65416c726561647942616e6e6564000704d854686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c792062616e6e65642e344e6f74417574686f72697a6564000804cc546865206163746f722063616e6e6f7420706572666f726d65642074686520737065636966696564206f7065726174696f6e2e40576562334e616d65546f6f53686f7274000904a841206e616d65207468617420697320746f6f2073686f7274206973206265696e6720636c61696d65642e3c576562334e616d65546f6f4c6f6e67000a04a441206e616d65207468617420697320746f6f206c6f6e67206973206265696e6720636c61696d65642e60496e76616c6964576562334e616d65436861726163746572000b04f441206e616d65207468617420636f6e7461696e73206e6f7420616c6c6f7765642063686172616374657273206973206265696e6720636c61696d65642e30556e617574686f72697a6564000c04d0546865206f726967696e20776173206e6f7420617574686f72697a656420746f20706572666f726d207468617420616374696f6e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a5060000040829012800a9060c487075626c69635f63726564656e7469616c732c63726564656e7469616c733c43726564656e7469616c456e7472791824435479706548617368012820417474657374657201002c426c6f636b4e756d6265720110244163636f756e74496401001c42616c616e636501183c417574686f72697a6174696f6e496401f80018012863747970655f686173682801244354797065486173680001206174746573746572000120417474657374657200011c7265766f6b6564ac0110626f6f6c000130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200011c6465706f7369744506016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000140617574686f72697a6174696f6e5f6964f4015c4f7074696f6e3c417574686f72697a6174696f6e49643e0000ad060c487075626c69635f63726564656e7469616c731870616c6c6574144572726f720404540001185c43726564656e7469616c416c7265616479497373756564000008f8412063726564656e7469616c2077697468207468652073616d6520726f6f7420686173682068617320616c72656164792069737375656420746f2074686548737065636966696564207375626a6563742e4843726564656e7469616c4e6f74466f756e6400010805014e6f2063726564656e7469616c2077697468207468652073706563696669656420726f6f74206861736820686173206265656e2069737375656420746f2074686548737065636966696564207375626a6563742e3c556e61626c65546f50617946656573000204d44e6f7420656e6f75676820746f6b656e7320746f2070617920666f72207468652066656573206f7220746865206465706f7369742e30496e76616c6964496e707574000304805468652063726564656e7469616c20696e70757420697320696e76616c69642e30556e617574686f72697a6564000404e05468652063616c6c6572206973206e6f7420617574686f72697a656420746f20706572666f726d656420746865206f7065726174696f6e2e34496e7465726e616c4572726f72000508f443617463682d616c6c20666f7220616e79206f74686572206572726f727320746861742073686f756c64206e6f742068617070656e2c207965742069742468617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909b10604184f7074696f6e04045401b5060108104e6f6e6500000010536f6d650400b5060000010000b5060c4c706f6c6b61646f745f7072696d69746976657308763248557067726164655265737472696374696f6e0001041c50726573656e7400000000b9060c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f74584d6573736167696e675374617465536e617073686f740000100130646d715f6d71635f6865616428014472656c61795f636861696e3a3a4861736800016472656c61795f64697370617463685f71756575655f73697a65bd060128287533322c2075333229000140696e67726573735f6368616e6e656c73c10601885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00013c6567726573735f6368616e6e656c73c10601885665633c285061726149642c20416272696467656448726d704368616e6e656c293e0000bd06000004081c1c00c106000002c50600c50600000408a501c90600c9060c4c706f6c6b61646f745f7072696d6974697665730876324c416272696467656448726d704368616e6e656c00001801306d61785f63617061636974791c010c7533320001386d61785f746f74616c5f73697a651c010c7533320001406d61785f6d6573736167655f73697a651c010c7533320001246d73675f636f756e741c010c753332000128746f74616c5f73697a651c010c7533320001206d71635f686561649d0101304f7074696f6e3c486173683e0000cd060c4c706f6c6b61646f745f7072696d697469766573087632644162726964676564486f7374436f6e66696775726174696f6e00002401346d61785f636f64655f73697a651c010c7533320001486d61785f686561645f646174615f73697a651c010c7533320001586d61785f7570776172645f71756575655f636f756e741c010c7533320001546d61785f7570776172645f71756575655f73697a651c010c75333200015c6d61785f7570776172645f6d6573736167655f73697a651c010c7533320001906d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200018868726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200016c76616c69646174696f6e5f757067726164655f636f6f6c646f776e1c012c426c6f636b4e756d62657200016076616c69646174696f6e5f757067726164655f64656c61791c012c426c6f636b4e756d6265720000d106089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74444d6573736167655175657565436861696e0000040028012452656c6179486173680000d506042042547265654d617008044b01a501045601d106000400d906000000d906000002dd0600dd0600000408a501d10600e106000002e50600e5060860706f6c6b61646f745f636f72655f7072696d6974697665734c4f7574626f756e6448726d704d6573736167650408496401a50100080124726563697069656e74a50101084964000110646174612c015073705f7374643a3a7665633a3a5665633c75383e0000e9060c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144572726f720404540001204c4f7665726c617070696e6755706772616465730000041501417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e675050726f686962697465644279506f6c6b61646f740001044901506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e18546f6f426967000208450154686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f742069733877696c6c696e6720746f2072756e6856616c69646174696f6e446174614e6f74417661696c61626c65000304190154686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b74486f7374436f6e66696775726174696f6e4e6f74417661696c61626c65000404250154686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b304e6f745363686564756c6564000504d84e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642e444e6f7468696e67417574686f72697a6564000604904e6f20636f6465207570677261646520686173206265656e20617574686f72697a65642e30556e617574686f72697a6564000704bc54686520676976656e20636f6465207570677261646520686173206e6f74206265656e20617574686f72697a65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909ed06000002f10600f106086463756d756c75735f70616c6c65745f78636d705f717565756554496e626f756e644368616e6e656c44657461696c7300000c011873656e646572a50101185061726149640001147374617465f5060130496e626f756e6453746174650001406d6573736167655f6d65746164617461f90601a85665633c2852656c6179426c6f636b4e756d6265722c2058636d704d657373616765466f726d6174293e0000f506086463756d756c75735f70616c6c65745f78636d705f717565756530496e626f756e645374617465000108084f6b0000002453757370656e64656400010000f906000002fd0600fd06000004081c01070001070c48706f6c6b61646f745f70617261636861696e287072696d6974697665734458636d704d657373616765466f726d617400010c60436f6e636174656e6174656456657273696f6e656458636d0000005c436f6e636174656e61746564456e636f646564426c6f620001001c5369676e616c7300020000050700000408a5011c0009070000020d07000d07086463756d756c75735f70616c6c65745f78636d705f7175657565584f7574626f756e644368616e6e656c44657461696c730000140124726563697069656e74a50101185061726149640001147374617465110701344f7574626f756e6453746174650001347369676e616c735f6578697374ac0110626f6f6c00012c66697273745f696e646578dc010c7531360001286c6173745f696e646578dc010c75313600001107086463756d756c75735f70616c6c65745f78636d705f7175657565344f7574626f756e645374617465000108084f6b0000002453757370656e64656400010000150700000408a501dc001907086463756d756c75735f70616c6c65745f78636d705f71756575653c5175657565436f6e66696744617461000018014473757370656e645f7468726573686f6c641c010c75333200013864726f705f7468726573686f6c641c010c753332000140726573756d655f7468726573686f6c641c010c7533320001407468726573686f6c645f7765696768742401185765696768740001547765696768745f72657374726963745f646563617924011857656967687400016878636d705f6d61785f696e646976696475616c5f77656967687424011857656967687400001d070000040ca5011c2c0021070c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144572726f72040454000114304661696c6564546f53656e640000046c4661696c656420746f2073656e642058434d206d6573736167652e3042616458636d4f726967696e0001043c4261642058434d206f726967696e2e1842616458636d000204344261642058434d20646174612e484261644f766572776569676874496e64657800030454426164206f76657277656967687420696e6465782e3c5765696768744f7665724c696d6974000404f850726f76696465642077656967687420697320706f737369626c79206e6f7420656e6f75676820746f206578656375746520746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090925070c2870616c6c65745f78636d1870616c6c6574144572726f720404540001342c556e726561636861626c650000085d0154686520646573697265642064657374696e6174696f6e2077617320756e726561636861626c652c2067656e6572616c6c7920626563617573652074686572652069732061206e6f20776179206f6620726f7574696e6718746f2069742e2c53656e644661696c757265000108610154686572652077617320736f6d65206f746865722069737375652028692e652e206e6f7420746f20646f207769746820726f7574696e672920696e2073656e64696e6720746865206d6573736167652e2050657268617073a861206c61636b206f6620737061636520666f7220627566666572696e6720746865206d6573736167652e2046696c74657265640002049c546865206d65737361676520657865637574696f6e206661696c73207468652066696c7465722e48556e776569676861626c654d657373616765000304b4546865206d65737361676527732077656967687420636f756c64206e6f742062652064657465726d696e65642e6044657374696e6174696f6e4e6f74496e7665727469626c65000404f05468652064657374696e6174696f6e20604d756c74694c6f636174696f6e602070726f76696465642063616e6e6f7420626520696e7665727465642e14456d707479000504805468652061737365747320746f2062652073656e742061726520656d7074792e3843616e6e6f745265616e63686f720006043501436f756c64206e6f742072652d616e63686f72207468652061737365747320746f206465636c61726520746865206665657320666f72207468652064657374696e6174696f6e20636861696e2e34546f6f4d616e79417373657473000704c4546f6f206d616e79206173736574732068617665206265656e20617474656d7074656420666f72207472616e736665722e34496e76616c69644f726967696e000804784f726967696e20697320696e76616c696420666f722073656e64696e672e2842616456657273696f6e00090421015468652076657273696f6e206f6620746865206056657273696f6e6564602076616c75652075736564206973206e6f742061626c6520746f20626520696e7465727072657465642e2c4261644c6f636174696f6e000a08410154686520676976656e206c6f636174696f6e20636f756c64206e6f7420626520757365642028652e672e20626563617573652069742063616e6e6f742062652065787072657373656420696e2074686560646573697265642076657273696f6e206f662058434d292e384e6f537562736372697074696f6e000b04bc546865207265666572656e63656420737562736372697074696f6e20636f756c64206e6f7420626520666f756e642e44416c726561647953756273637269626564000c041101546865206c6f636174696f6e20697320696e76616c69642073696e636520697420616c726561647920686173206120737562736372697074696f6e2066726f6d2075732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090929070c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144572726f7204045400010004b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909092d07086063756d756c75735f70616c6c65745f646d705f717565756528436f6e6669674461746100000401386d61785f696e646976696475616c24011857656967687400003107086063756d756c75735f70616c6c65745f646d705f71756575653450616765496e6465784461746100000c0128626567696e5f757365641c012c50616765436f756e746572000120656e645f757365641c012c50616765436f756e7465720001406f7665727765696768745f636f756e7410013c4f766572776569676874496e646578000035070000023907003907000004081c2c003d070c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144572726f720404540001081c556e6b6e6f776e0000048c546865206d65737361676520696e64657820676976656e20697320756e6b6e6f776e2e244f7665724c696d6974000104310154686520616d6f756e74206f662077656967687420676976656e20697320706f737369626c79206e6f7420656e6f75676820666f7220657865637574696e6720746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909094107102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c4164647265737301b1021043616c6c01e903245369676e617475726501e1041445787472610145070004002c00000045070000042049074d0751075507590761076507690700490710306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e646572040454000000004d0710306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000510710306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e04045400000000550710306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000590710306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c697479040454000004005d07010c45726100005d07102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000610710306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e636504045400000400c9010120543a3a496e6465780000650710306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b576569676874040454000000006907086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e7404045400000400cd01013042616c616e63654f663c543e0000941853797374656d011853797374656d401c4163636f756e7401010402000c510100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e7400001c040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010020600000000000000000000000000000000000000000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e00001c040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b486173680101040510288000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e73696344617461010104051c2c0400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010010200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801002880000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010030040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004004001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e7401001c100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f70696373010104022851020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000550204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100ac0400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100ac0400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e506861736500004902040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e015d02014c1830426c6f636b5765696768747371028501e0d1a93e010000000088526a7400000090cd2405000000000170a45da64b0000000100e6bd4f5700000001000000000000000090cd240500000000017046f2c068000000010088526a740000000100a2941a1d00000090cd24050000000000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e67746881023000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7410206009000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e20446257656967687489024040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6e8d023103386b696c742d7370697269746e6574386b696c742d7370697269746e657401000000942a00000000000034df6acb689907609b0400000037e397fc7c91f5e401000000bc9d89904f5b923f0100000037c8bb1350a9a2a80100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d69620200000026609555c065660302000000a47b7d544994c99b0100000045bfba51a310b2230100000004000000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978dc08260014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e019d02006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100a10204000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e00000000012454696d657374616d70012454696d657374616d70080c4e6f7701001020000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100ac040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01a5020004344d696e696d756d506572696f6410207017000000000000104d0120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a5d0120706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c5d012067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c206265a020646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e00021c496e6469636573011c496e646963657304204163636f756e74730001040210a9020400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e01ad020170041c4465706f736974184000b47cf328350000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e01b902052042616c616e636573012042616c616e6365731434546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b730101040200bd02040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e2052657365727665730101040200cd02040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e3853746f7261676556657273696f6e0100d90204000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e00a020546869732069732073657420746f2076322e302e3020666f72206e6577206e6574776f726b732e01dd0201740c484578697374656e7469616c4465706f736974184000a0724e18090000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d61784c6f636b731c103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d617852657365727665731c1032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e01e10206485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100e50240000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100e90204000000017c04604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e00071041757261011041757261082c417574686f7269746965730100ed020400046c205468652063757272656e7420617574686f72697479207365742e2c43757272656e74536c6f740100fd022000000000000000000c80205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e009420546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e00000000171c53657373696f6e011c53657373696f6e1c2856616c696461746f72730100900400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801001c100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100ac040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b657973010001030400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f727301000d030400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b657973000104050009030400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405110300040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e011903018000011d03164050617261636861696e5374616b696e67014050617261636861696e5374616b696e6740544d617853656c656374656443616e6469646174657301001c100000000004090120546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c6563746564206174206561636820726f756e642e14526f756e640100210350000000000000000000000000140000000000000004e82043757272656e7420726f756e64206e756d62657220616e64206e65787420726f756e64207363686564756c6564207472616e736974696f6e2e384c61737444656c65676174696f6e01010405002503200000000000000000140d012044656c65676174696f6e20696e666f726d6174696f6e20666f7220746865206c61746573742073657373696f6e20696e20776869636820612064656c656761746f722c2064656c6567617465642e000501204974206d6170732066726f6d20616e206163636f756e7420746f20746865206e756d626572206f662064656c65676174696f6e7320696e20746865206c617374982073657373696f6e20696e2077686963682074686579202872652d2964656c6567617465642e3844656c656761746f7253746174650001040500290304000c802044656c65676174696f6e207374616b696e6720696e666f726d6174696f6e2e00cc204974206d6170732066726f6d20616e206163636f756e7420746f206974732064656c65676174696f6e2064657461696c732e3443616e646964617465506f6f6c00010405002d03040010a420546865207374616b696e6720696e666f726d6174696f6e20666f7220612063616e6469646174652e00b0204974206d6170732066726f6d20616e206163636f756e7420746f2069747320696e666f726d6174696f6e2eb8204d6f72656f7665722c20697420636f756e747320746865206e756d626572206f662063616e646964617465732e5c436f756e746572466f7243616e646964617465506f6f6c01001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617048546f74616c436f6c6c61746f725374616b650100410380000000000000000000000000000000000000000000000000000000000000000014f420546f74616c2066756e6473206c6f636b656420746f206261636b207468652063757272656e746c792073656c656374656420636f6c6c61746f72732ed0205468652073756d206f6620616c6c20636f6c6c61746f7220616e642074686569722064656c656761746f72207374616b65732e002101204e6f74653a20546865726520617265206d6f72652066756e6473206c6f636b656420627920746869732070616c6c65742c2073696e636520746865206261636b696e6720666f720901206e6f6e20636f6c6c6174696e672063616e64696461746573206973206e6f7420696e636c7564656420696e205b546f74616c436f6c6c61746f725374616b655d2e34546f7043616e6469646174657301004503040028e82054686520636f6c6c61746f722063616e64696461746573207769746820746865206869676865737420616d6f756e74206f66207374616b652e00190120456163682074696d6520746865207374616b65206f66206120636f6c6c61746f7220697320696e637265617365642c20697420697320636865636b65642077686574686572050120746869732070757368657320616e6f746865722063616e646964617465206f7574206f6620746865206c6973742e205768656e20746865207374616b652069732101207265647563656420686f77657665722c206974206973206e6f7420636865636b656420696620616e6f746865722063616e64696461746520686173206d6f7265207374616b652c11012073696e6365207468697320776f756c64207265717569726520697465726174696e67206f7665722074686520656e74697265205b43616e646964617465506f6f6c5d2e001501205468657265206d75737420616c77617973206265206d6f72652063616e64696461746573207468616e205b4d617853656c656374656443616e646964617465735d20736f0d012074686174206120636f6c6c61746f722063616e2064726f70206f7574206f662074686520636f6c6c61746f7220736574206279207265647563696e672074686569721c207374616b652e3c496e666c6174696f6e436f6e66696701004d03c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046420496e666c6174696f6e20636f6e66696775726174696f6e2e24556e7374616b696e670101040500590304001088205468652066756e64732077616974696e6720746f20626520756e7374616b65642e001d01204974206d6170732066726f6d206163636f756e747320746f20616c6c207468652066756e64732061646472657373656420746f207468656d20696e20746865206675747572652020626c6f636b732e644d6178436f6c6c61746f7243616e6469646174655374616b65010018400000000000000000000000000000000004cc20546865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e6469646174652063616e207374616b652e4c4c617374526577617264526564756374696f6e010010200000000000000000140d0120546865207965617220696e20776869636820746865206c617374206175746f6d6174696320726564756374696f6e206f66207468652072657761726420726174657328206f636375727265642e00250120497420737461727473206174207a65726f2061742067656e6573697320616e6420696e6372656d656e7473206279206f6e6520657665727920424c4f434b535f5045525f5945415234206d616e7920626c6f636b732e38426c6f636b73417574686f726564010104050010200000000000000000080d0120546865206e756d626572206f6620617574686f72656420626c6f636b7320666f7220636f6c6c61746f72732e20497420697320757064617465642076696120746865b020606e6f74655f617574686f726020686f6f6b207768656e20617574686f72696e67206120626c6f636b202e38426c6f636b73526577617264656401010405001020000000000000000024210120546865206e756d626572206f6620626c6f636b7320666f7220776869636820726577617264732068617665206265656e20636c61696d656420627920616e20616464726573732e00190120466f7220636f6c6c61746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f7265642e2049742069732075706461746564207768656ecc20696e6372656d656e74696e6720636f6c6c61746f7220726577617264732c20656974686572207768656e2063616c6c696e67e02060696e635f636f6c6c61746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e00250120466f722064656c656761746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f726564206f662074686520636f6c6c61746f722e497420697305012075706461746564207768656e20696e6372656d656e74696e672064656c656761746f7220726577617264732c20656974686572207768656e2063616c6c696e67e42060696e635f64656c656761746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e1c5265776172647301010405001840000000000000000000000000000000000c01012054686520616363756d756c61746564207265776172647320666f7220636f6c6c61746f722063616e6469646174657320616e642064656c656761746f72732e001101204974206d6170732066726f6d206163636f756e747320746f20746865697220746f74616c20726577617264732073696e636520746865206c617374207061796f75742e34466f7263654e6577526f756e640100ac04000001690301843c444d696e426c6f636b73506572526f756e6410202c0100000000000004d4204d696e696d756d206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e64732063616e206c6173742e5444656661756c74426c6f636b73506572526f756e641020580200000000000008fc2044656661756c74206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e6473206c6173742c2061732073657420696e207468655c2067656e6573697320636f6e66696775726174696f6e2e345374616b654475726174696f6e1020e0c40000000000000c0501204e756d626572206f6620626c6f636b7320666f7220776869636820756e7374616b65642062616c616e63652077696c6c207374696c6c206265206c6f636b6564f0206265666f72652069742063616e20626520756e6c6f636b6564206279206163746976656c792063616c6c696e67207468652065787472696e7369634c2060756e6c6f636b5f756e7374616b6564602e3845786974517565756544656c61791c1002000000080901204e756d626572206f6620726f756e6473206120636f6c6c61746f722068617320746f207374617920616374697665206166746572207375626d697474696e672061c4207265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e304d696e436f6c6c61746f72731c1010000000080d01204d696e696d756d206e756d626572206f6620636f6c6c61746f72732073656c65637465642066726f6d2074686520736574206f662063616e64696461746573206174602065766572792076616c69646174696f6e20726f756e642e504d696e5265717569726564436f6c6c61746f72731c1004000000081101204d696e696d756d206e756d626572206f6620636f6c6c61746f72732077686963682063616e6e6f74206c6561766520746865206e6574776f726b2069662074686572653c20617265206e6f206f74686572732e584d617844656c65676174696f6e73506572526f756e641c1001000000140101204d6178696d756d206e756d626572206f662064656c65676174696f6e732077686963682063616e206265206d6164652077697468696e207468652073616d651c20726f756e642e000d01204e4f54453a20546f2070726576656e742072652d64656c65676174696f6e2d7265776172642061747461636b732c2077652073686f756c64206b65657020746869732c20746f206265206f6e652e604d617844656c656761746f7273506572436f6c6c61746f721c102300000004e4204d6178696d756d206e756d626572206f662064656c656761746f727320612073696e676c6520636f6c6c61746f722063616e20686176652e404d6178546f7043616e646964617465731c104b00000004a0204d6178696d756d2073697a65206f662074686520746f702063616e64696461746573207365742e404d696e436f6c6c61746f725374616b6518400000e8890423c78a0000000000000000080901204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520656c65637465642061732076616c696461746f723420666f72206120726f756e642e644d696e436f6c6c61746f7243616e6469646174655374616b6518400000e8890423c78a0000000000000000080501204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520616464656420746f2074686520736574206f66302063616e646964617465732e444d696e44656c656761746f725374616b651840000082dfe40d4700000000000000000004f8204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f206265636f6d6520612064656c656761746f722e484d6178556e7374616b6552657175657374731c100a00000028e8204d6178206e756d626572206f6620636f6e63757272656e742061637469766520756e7374616b696e67207265717565737473206265666f72652c20756e6c6f636b696e672e001501204e4f54453a20546f2070726f7465637420616761696e737420697272656d6f766162696c697479206f6620612063616e646964617465206f722064656c656761746f722cf4207765206f6e6c7920616c6c6f7720666f72204d6178556e7374616b655265717565737473202d2031206d616e79206d616e75616c20756e7374616b6501012072657175657374732e20546865206c617374206f6e6520736572766573206173206120706c616365686f6c64657220666f7220746865206361736573206f66f02063616c6c696e672065697468657220606b69636b5f64656c656761746f72602c20666f7263655f72656d6f76655f63616e64696461746560206f7209012060657865637574655f6c656176655f63616e64696461746573602e204f74686572776973652c2061207573657220636f756c64206d6178206f75742074686569720d0120756e7374616b6520726571756573747320616e642070726576656e74207468656d73656c7665732066726f6d206265696e67206b69636b65642066726f6d20746865f020736574206f662063616e646964617465732f64656c656761746f727320756e74696c207468657920756e6c6f636b2074686569722066756e64732e484e6574776f726b5265776172645374617274102048a3c800000000000c110120546865207374617274696e6720626c6f636b206e756d62657220666f7220746865206e6574776f726b20726577617264732e204f6e6365207468652063757272656e74090120626c6f636b206e756d626572206578636565647320746869732073746172742c207468652062656e65666963696172792077696c6c2072656365697665207468658420636f6e666967757265642072657761726420696e206561636820626c6f636b2e444e6574776f726b52657761726452617465882000008a5d784563010c0d0120546865207261746520696e2070657263656e7420666f7220746865206e6574776f726b207265776172647320776869636820617265206261736564206f6e207468650901206d6178696d756d206e756d626572206f6620636f6c6c61746f727320616e6420746865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e1c207374616b652e016d031528417574686f72736869700128417574686f72736869700c18556e636c6573010071030400041c20556e636c657318417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c65730100ac040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e018103000440556e636c6547656e65726174696f6e73102000000000000000000ccc20546865206e756d626572206f6620626c6f636b73206261636b2077652073686f756c642061636365707420756e636c65732ee42054686973206d65616e7320746861742077652077696c6c206465616c207769746820756e636c652d706172656e7473207468617420617265942060556e636c6547656e65726174696f6e73202b203160206265666f726520606e6f77602e019103141c41757261457874011c41757261457874042c417574686f7269746965730100ed02040014942053657276657320617320636163686520666f722074686520617574686f7269746965732e0071012054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c790120627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973f0206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e00000000182444656d6f6372616379012444656d6f6372616379343c5075626c696350726f70436f756e7401001c100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301009503040004210120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c277320686173682e244465706f7369744f66000104051c9d0304000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e24507265696d616765730001040628a1030400086101204d6170206f662068617368657320746f207468652070726f706f73616c20707265696d6167652c20616c6f6e6720776974682077686f207265676973746572656420697420616e64207468656972206465706f7369742ee42054686520626c6f636b206e756d6265722069732074686520626c6f636b20617420776869636820697420776173206465706f73697465642e3c5265666572656e64756d436f756e7401001c100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401001c100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f66000104051ca90304000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f660101040500b503e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100ac0400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c0000cd03040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001040628d10304000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101040628ac0400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e3853746f7261676556657273696f6e0000d50304000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e0098204e6577206e6574776f726b732073746172742077697468206c6173742076657273696f6e2e01d903018c2c3c456e6163746d656e74506572696f641020201c00000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f641020e0c400000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f641020e0c400000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f641020e0c4000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400080c6a47e8d0300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f776564ac04010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f641020840300000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f641020e0c400000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e4c507265696d616765427974654465706f736974184000743ba40b00000000000000000000000429012054686520616d6f756e74206f662062616c616e63652074686174206d757374206265206465706f7369746564207065722062797465206f6620707265696d6167652073746f7265642e204d6178566f7465731c106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c731c1064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e01e1031e1c436f756e63696c011c436f756e63696c182450726f706f73616c730100e503040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001040628e903040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700010406289d05040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100900400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01ed0301a80001a1051f48546563686e6963616c436f6d6d69747465650148546563686e6963616c436f6d6d6974746565182450726f706f73616c730100a505040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f660001040628e903040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700010406289d05040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100900400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01f50301b00001a905204c546563686e6963616c4d656d62657273686970014c546563686e6963616c4d656d62657273686970081c4d656d626572730100ad05040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01f90301b40001b10522205472656173757279012054726561737572790c3450726f706f73616c436f756e7401001c100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c73000104051cb5050400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e24417070726f76616c730100b905040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e01fd0301b81c3050726f706f73616c426f6e64bd051050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d1840000082dfe40d47000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756dc1050400044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f641020c0a8000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726ebd0510000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c65744964c505206b696c742f7473790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c731c10640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e01c905231c5574696c6974790001010401bc044c626174636865645f63616c6c735f6c696d69741c10aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01cd05281c56657374696e67011c56657374696e67081c56657374696e670001040200d105040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100d90504000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e01290401c008444d696e5665737465645472616e73666572184000407a10f35a0000000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c65731c101c0000000001dd0529245363686564756c657201245363686564756c657208184167656e64610101040510e1050400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b7570000104052cc80400040101204c6f6f6b75702066726f6d206964656e7469747920746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e01310401c408344d6178696d756d576569676874242000a0db215d00000008450120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c6573206f66206c657373a4207072696f72697479207468616e20607363686564756c653a3a484152445f444541444c494e45602e504d61785363686564756c6564506572426c6f636b1c1032000000081d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e01ed052a1450726f7879011450726f7879081c50726f786965730101040500f1054400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e74730101040500010644000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e013d0401d4184050726f78794465706f7369744261736518400020f7a54b330000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f72184000f4a92b80010000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f786965731c100a00000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e671c100a00000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518400020f7a54b330000000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000e8535700030000000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e0111062b20507265696d6167650120507265696d6167650824537461747573466f72000104062815060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f7200010406282106040004942054686520707265696d616765732073746f72656420627920746869732070616c6c65742e01450401e0000125062c38546970734d656d626572736869700138546970734d656d62657273686970081c4d656d626572730100ad05040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01490401e4000129062d105469707301105469707308105469707300010405282d0604000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e7300010406282c04000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e014d0401e8144c4d6178696d756d526561736f6e4c656e6774681c10004000000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756548446174614465706f73697450657242797465184000743ba40b00000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e30546970436f756e74646f776e1020201c0000000000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e6465727346656535060414043501205468652070657263656e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f73697442617365184000f45628fa320000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e0139062e14437479706501144374797065041843747970657300010402280004000c60204354797065732073746f726564206f6e20636861696e2e00a8204974206d6170732066726f6d2061204354797065206861736820746f206974732063726561746f722e01510401ec00013d063d2c4174746573746174696f6e012c4174746573746174696f6e08304174746573746174696f6e730001040228410604000c78204174746573746174696f6e732073746f726564206f6e20636861696e2e00cc204974206d6170732066726f6d206120636c61696d206861736820746f207468652066756c6c206174746573746174696f6e2e5045787465726e616c4174746573746174696f6e7301010805024906ac04000ca02044656c656761746564206174746573746174696f6e732073746f726564206f6e20636861696e2e00e8204974206d6170732066726f6d20612064656c65676174696f6e20494420746f206120766563746f72206f6620636c61696d206861736865732e01550401f0081c4465706f7369741840001cc9dd006e0000000000000000000004e420546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720616e206174746573746174696f6e2e604d617844656c6567617465644174746573746174696f6e731c10e803000008090120546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732077686963682063616e206265206d61646520627954207468652073616d652064656c65676174696f6e2e014d063e2844656c65676174696f6e012844656c65676174696f6e083c44656c65676174696f6e4e6f6465730001040228510604000c882044656c65676174696f6e206e6f6465732073746f726564206f6e20636861696e2e00b0204974206d6170732066726f6d2061206e6f646520494420746f20746865206e6f64652064657461696c732e5444656c65676174696f6e48696572617263686965730001040228610604000ca02044656c65676174696f6e2068696572617263686965732073746f726564206f6e20636861696e2e00dc204974206d61707320666f7220612028726f6f7429206e6f646520494420746f20746865206869657261726368792064657461696c732e01690401fc181c4465706f73697418400080c6a47e8d0300000000000000000004dc20546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720612064656c65676174696f6e2e584d61785369676e6174757265427974654c656e677468dc08400000384d61785265766f636174696f6e731c1005000000047c204d6178696d756d206e756d626572206f66207265766f636174696f6e732e2c4d617852656d6f76616c731c100500000004f4204d6178696d756d206e756d626572206f662072656d6f76616c732e2053686f756c642062652073616d65206173204d61785265766f636174696f6e733c4d6178506172656e74436865636b731c1005000000080d01204d6178696d756d206e756d626572206f6620757077617264732074726176657273616c73206f66207468652064656c65676174696f6e20747265652066726f6d2061f0206e6f646520746f2074686520726f6f7420616e64207468757320746865206465707468206f66207468652064656c65676174696f6e20747265652e2c4d61784368696c6472656e1c10e80300000c0d01204d6178696d756d206e756d626572206f6620616c6c206368696c6472656e20666f7220612064656c65676174696f6e206e6f64652e20466f7220612062696e617279fc20747265652c20746869732073686f756c6420626520747769636520746865206d6178696d756d206465707468206f662074686520747265652c20692e652e5c206032205e204d6178506172656e74436865636b73602e0165063f0c446964010c446964100c4469640001040200690604000c5820444944732073746f726564206f6e20636861696e2e00c8204974206d6170732066726f6d206120444944206964656e74696669657220746f20746865204449442064657461696c732e4053657276696365456e64706f696e747300010805028906b50404000ca0205365727669636520656e64706f696e7473206173736f636961746564207769746820444944732e000901204974206d6170732066726f6d2028444944206964656e7469666965722c20736572766963652049442920746f2074686520736572766963652064657461696c732e44446964456e64706f696e7473436f756e7401010402001c10000000000cac20436f756e746572206f66207365727669636520656e64706f696e747320666f722065616368204449442e00cc204974206d6170732066726f6d2028444944206964656e7469666965722920746f20612033322d62697420636f756e7465722e30446964426c61636b6c69737400010402009c0400141d012054686520736574206f66204449447320746861742068617665206265656e2064656c6574656420616e642063616e6e6f74207468657265666f726520626520637265617465647020616761696e20666f7220736563757269747920726561736f6e732e002101204974206d6170732066726f6d206120444944206964656e74696669657220746f206120756e6974207475706c652c20666f72207468652073616b65206f6620747261636b696e674420444944206964656e746966696572732e018504010501301c4465706f736974184000983ea62c22070000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e0c466565184000203d88792d000000000000000000000c09012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f7220656163682044494420617320612066656520746f0d0120696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206665652077696c6c206e6f74206765748820726566756e646564207768656e20746865204449442069732064656c657465642e4c4d61785075626c69634b6579735065724469641c10140000000c1101204d6178696d756d206e756d626572206f6620746f74616c207075626c6963206b6579732077686963682063616e2062652073746f7265642070657220444944206b6579d8206964656e7469666965722e205468697320696e636c7564657320746865206f6e65732063757272656e746c79207573656420666f72f02061757468656e7469636174696f6e2c206b65792061677265656d656e742c206174746573746174696f6e2c20616e642064656c65676174696f6e2e584d61784e65774b657941677265656d656e744b6579731c100a000000081501204d6178696d756d206e756d626572206f66206b65792061677265656d656e74206b65797320746861742063616e20626520616464656420696e2061206372656174696f6e2c206f7065726174696f6e2e604d6178546f74616c4b657941677265656d656e744b6579731c1013000000101101204d6178696d756d206e756d626572206f6620746f74616c206b65792061677265656d656e74206b65797320746861742063616e2062652073746f72656420666f7220613420444944207375626a6563742e00c42053686f756c642062652067726561746572207468616e20604d61784e65774b657941677265656d656e744b657973602e4c4d6178426c6f636b73547856616c696469747910202c0100000000000008ec20546865206d6178696d756d206e756d626572206f6620626c6f636b732061204449442d617574686f72697a6564206f7065726174696f6e2069739420636f6e736964657265642076616c696420616674657220697473206372656174696f6e2e644d61784e756d6265724f6653657276696365735065724469641c101900000004fc20546865206d6178696d756d206e756d626572206f6620736572766963657320746861742063616e2062652073746f72656420756e6465722061204449442e484d61785365727669636549644c656e6774681c1032000000049020546865206d6178696d756d206c656e677468206f66206120736572766963652049442e504d617853657276696365547970654c656e6774681c103200000004c820546865206d6178696d756d206c656e677468206f66206120736572766963652074797065206465736372697074696f6e2e684d61784e756d6265724f665479706573506572536572766963651c100100000004090120546865206d6178696d756d206e756d626572206f662061207479706573206465736372697074696f6e20666f722061207365727669636520656e64706f696e742e4c4d61785365727669636555726c4c656e6774681c10c8000000049420546865206d6178696d756d206c656e677468206f66206120736572766963652055524c2e644d61784e756d6265724f6655726c73506572536572766963651c100100000004d420546865206d6178696d756d206e756d626572206f6620612055524c7320666f722061207365727669636520656e64706f696e742e018d064024496e666c6174696f6e000000084c496e697469616c506572696f644c656e677468102048a3c800000000000c050120546865206c656e677468206f662074686520696e697469616c20706572696f6420696e2077686963682074686520636f6e7374616e74207265776172642069731101206d696e7465642e204f6e6365207468652063757272656e7420626c6f636b206578636565647320746869732c207265776172647320617265206e6f206675727468657220206973737565642e4c496e697469616c506572696f64526577617264184036f539fdaeb30200000000000000000008fc2054686520616d6f756e74206f66206e65776c792069737375656420746f6b656e732070657220626c6f636b20647572696e672074686520696e697469616c2020706572696f642e0042244469644c6f6f6b757001244469644c6f6f6b75700834436f6e6e656374656444696473000104020d019106040004a8204d617070696e672066726f6d206163636f756e74206964656e7469666965727320746f20444944732e44436f6e6e65637465644163636f756e7473000108020295069c04000cbc204d617070696e672066726f6d2028444944202b206163636f756e74206964656e74696669657229202d3e2028292e0d012054686520656d707479207475706c65206973207573656420617320612073656e74696e656c2076616c756520746f2073696d706c7920696e64696361746520746865982070726573656e6365206f66206120676976656e207475706c6520696e20746865206d61702e01d904010901041c4465706f736974184000c0afd69136000000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e0199064324576562334e616d65730124576562334e616d65730c144f776e6572000104021d019d0604000488204d6170206f66206e616d65202d3e206f776e6572736869702064657461696c732e144e616d657300010402001d0104000458204d6170206f66206f776e6572202d3e206e616d652e1842616e6e6564000104021d019c04000c4c204d6170206f66206e616d65202d3e2028292e00e02049662061206e616d65206b65792069732070726573656e742c20746865206e616d652069732063757272656e746c792062616e6e65642e01e9040119010c1c4465706f736974184000d450a85d6b0000000000000000000004bc2054686520616d6f756e74206f66204b494c5420746f206465706f73697420746f20636c61696d2061206e616d652e344d696e4e616d654c656e6774681c1003000000048820546865206d696e20656e636f646564206c656e677468206f662061206e616d652e344d61784e616d654c656e6774681c1020000000048820546865206d617820656e636f646564206c656e677468206f662061206e616d652e01a10644445075626c696343726564656e7469616c7301445075626c696343726564656e7469616c73082c43726564656e7469616c730001080502a506a90604000cc020546865206d6170206f66207075626c69632063726564656e7469616c7320616c72656164792061747465737465642ef0204974206d6170732066726f6d206120287375626a656374206964202b2063726564656e7469616c20696429202d3e20746865206372656174696f6e6c2064657461696c73206f66207468652063726564656e7469616c2e4843726564656e7469616c5375626a656374730001040228290104001025012041207265766572736520696e646578206d617070696e672066726f6d2063726564656e7469616c20494420746f20746865207375626a656374207468652063726564656e7469616c3c207761732069737375656420746f2e001901204974206974207573656420746f20706572666f726d20656666696369656e74206c6f6f6b7570206f662063726564656e7469616c7320676976656e2074686569722049442e01ed040125010c1c4465706f7369741840005c8d421343000000000000000000000411012054686520616d6f756e74206f6620746f6b656e7320746f2072657365727665207768656e20617474657374696e672061207075626c69632063726564656e7469616c2e584d6178456e636f646564436c61696d734c656e6774681c10a0860100040d0120546865206d6178696d756d206c656e67746820696e206279746573206f662074686520656e636f64656420636c61696d73206f6620612063726564656e7469616c2e484d61785375626a65637449644c656e6774681c10cc00000008e820546865206d6178696d756d206c656e67746820696e206279746573206f6620746865207261772063726564656e7469616c207375626a65637430206964656e7469666965722e01ad06453c50617261636861696e53797374656d013c50617261636861696e53797374656d545450656e64696e6756616c69646174696f6e436f646501002c0400187d0120496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e00c10120417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455dad012077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e000501205b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455d3a2073705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f4445444e657756616c69646174696f6e436f646500002c0400145d012056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e647820636f6e73657175656e746c79207468652072656c61792d636861696e2e00650120546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c7265616479207365742c207468652076616c75652e3856616c69646174696f6e446174610000050504000cd020546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e2d0120546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f7265643420696e2074686520747269652e5044696453657456616c69646174696f6e436f64650100ac040004e02057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f644c61737452656c6179436861696e426c6f636b4e756d62657201001c1000000000041d01205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e60557067726164655265737472696374696f6e5369676e616c0100b10604001c750120416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e610120496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365646c2063616e6469646174652077696c6c20626520696e76616c69642e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3c52656c6179537461746550726f6f6600000d05040018c4205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e5852656c6576616e744d6573736167696e6753746174650000b90604001c65012054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e2061732070657248207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e44486f7374436f6e66696775726174696f6e0000cd060400182901205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e384c617374446d714d7163486561640100d10680000000000000000000000000000000000000000000000000000000000000000010f420546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e404c61737448726d704d716348656164730100d506040010490120546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e6450726f636573736564446f776e776172644d6573736167657301001c10000000000cc8204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e3448726d7057617465726d61726b01001c10000000000ca02048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5048726d704f7574626f756e644d657373616765730100e10604000ca42048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e385570776172644d6573736167657301006d0204000cac20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5450656e64696e675570776172644d6573736167657301006d02040004310120557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e84416e6e6f756e63656448726d704d6573736167657350657243616e64696461746501001c100000000008650120546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f72f020616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e68526573657276656458636d705765696768744f766572726964650000240400085d01205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e645265736572766564446d705765696768744f766572726964650000240400085901205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e44417574686f72697a656455706772616465000028040004b820546865206e65787420617574686f72697a656420757067726164652c206966207468657265206973206f6e652e60437573746f6d56616c69646174696f6e486561644461746100002c04000c2901204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e00190120536565205b6050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461605d20666f72206d6f726520696e666f726d6174696f6e2e01fd040195010001e906503450617261636861696e496e666f013450617261636861696e496e666f042c50617261636861696e49640100a50110640000000000000000512458636d705175657565012458636d7051756575652444496e626f756e6458636d705374617475730100ed060400049420537461747573206f662074686520696e626f756e642058434d50206368616e6e656c732e4c496e626f756e6458636d704d65737361676573010108020505072c040004190120496e626f756e64206167677265676174652058434d50206d657373616765732e2049742063616e206f6e6c79206265206f6e6520706572205061726149642f626c6f636b2e484f7574626f756e6458636d70537461747573010009070400185d0120546865206e6f6e2d656d7074792058434d50206368616e6e656c7320696e206f72646572206f66206265636f6d696e67206e6f6e2d656d7074792c20616e642074686520696e646578206f6620746865206669727374510120616e64206c617374206f7574626f756e64206d6573736167652e204966207468652074776f20696e64696365732061726520657175616c2c207468656e20697420696e6469636174657320616e20656d707479590120717565756520616e64207468657265206d7573742062652061206e6f6e2d604f6b6020604f7574626f756e64537461747573602e20576520617373756d65207175657565732067726f77206e6f20677265617465725901207468616e203635353335206974656d732e20517565756520696e646963657320666f72206e6f726d616c206d6573736167657320626567696e206174206f6e653b207a65726f20697320726573657276656420696e11012063617365206f6620746865206e65656420746f2073656e64206120686967682d7072696f72697479207369676e616c206d657373616765207468697320626c6f636b2e09012054686520626f6f6c20697320747275652069662074686572652069732061207369676e616c206d6573736167652077616974696e6720746f2062652073656e742e504f7574626f756e6458636d704d65737361676573010108020515072c040004bc20546865206d65737361676573206f7574626f756e6420696e206120676976656e2058434d50206368616e6e656c2e385369676e616c4d6573736167657301010402a5012c040004a020416e79207369676e616c206d657373616765732077616974696e6720746f2062652073656e742e2c5175657565436f6e6669670100190790020000000500000001000000a086010000000000020000000000000000c817a8040000000415012054686520636f6e66696775726174696f6e20776869636820636f6e74726f6c73207468652064796e616d696373206f6620746865206f7574626f756e642071756575652e284f76657277656967687400010405101d07040010050120546865206d657373616765732074686174206578636565646564206d617820696e646976696475616c206d65737361676520776569676874206275646765742e003901205468657365206d657373616765207374617920696e20746869732073746f72616765206d617020756e74696c207468657920617265206d616e75616c6c79206469737061746368656420766961582060736572766963655f6f766572776569676874602e3c4f766572776569676874436f756e7401001020000000000000000008690120546865206e756d626572206f66206f766572776569676874206d657373616765732065766572207265636f7264656420696e20604f766572776569676874602e20416c736f20646f75626c657320617320746865206e6578748420617661696c61626c652066726565206f76657277656967687420696e6465782e38517565756553757370656e6465640100ac04000441012057686574686572206f72206e6f74207468652058434d502071756575652069732073757370656e6465642066726f6d20657865637574696e6720696e636f6d696e672058434d73206f72206e6f742e01310501990100012107522c506f6c6b61646f7458636d0001350501a90100012507532843756d756c757358636d0000014102000129075420446d7051756575650120446d7051756575651034436f6e66696775726174696f6e01002d072000e40b5402000000044c2054686520636f6e66696775726174696f6e2e2450616765496e646578010031074000000000000000000000000000000000044020546865207061676520696e6465782e145061676573010104021c350704000444205468652071756575652070616765732e284f766572776569676874000104021039070400046420546865206f766572776569676874206d657373616765732e01990501450200013d07554107042048436865636b4e6f6e5a65726f53656e64657249079c40436865636b5370656356657273696f6e4d071c38436865636b547856657273696f6e51071c30436865636b47656e6573697355072838436865636b4d6f7274616c69747959072828436865636b4e6f6e636561079c2c436865636b57656967687465079c604368617267655472616e73616374696f6e5061796d656e7469079c6504"} \ No newline at end of file +{"result":"0x6d6574610e6907000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f0814496e64657801102c4163636f756e74446174610114001401146e6f6e6365100114496e646578000124636f6e73756d6572731c0120526566436f756e7400012470726f7669646572731c0120526566436f756e7400012c73756666696369656e74731c0120526566436f756e740001106461746114012c4163636f756e7444617461000010000005060014083c70616c6c65745f62616c616e6365732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500012c6d6973635f66726f7a656e18011c42616c616e63650001286665655f66726f7a656e18011c42616c616e636500001800000507001c0000050500200c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540124000c01186e6f726d616c2401045400012c6f7065726174696f6e616c240104540001246d616e6461746f7279240104540000240c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d6528010c75363400012870726f6f665f73697a6528010c75363400002800000610002c083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d000030000002080034102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f677338013c5665633c4469676573744974656d3e0000380000023c003c102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e00060024436f6e73656e7375730800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000400105365616c0800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000500144f74686572040030011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e745570646174656400080000400000030400000008004400000248004808306672616d655f73797374656d2c4576656e745265636f7264080445014c0454012c000c011470686173653902011450686173650001146576656e744c010445000118746f706963733d0201185665633c543e00004c08447370697269746e65745f72756e74696d653052756e74696d654576656e740001781853797374656d04005001706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c496e6469636573040074017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e0005002042616c616e636573040078017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404008001a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c53657373696f6e040084015470616c6c65745f73657373696f6e3a3a4576656e740016004050617261636861696e5374616b696e67040088018470617261636861696e5f7374616b696e673a3a4576656e743c52756e74696d653e0015002444656d6f6372616379040090018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e001e001c436f756e63696c0400a001fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400b001fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020004c546563686e6963616c4d656d626572736869700400b401fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365313e0022002054726561737572790400b8017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e0023001c5574696c6974790400bc015470616c6c65745f7574696c6974793a3a4576656e740028001c56657374696e670400c0017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e002900245363686564756c65720400c4018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e002a001450726f78790400d0017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002b0020507265696d6167650400dc017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e002c0038546970734d656d626572736869700400e001fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365323e002d0010546970730400e4016c70616c6c65745f746970733a3a4576656e743c52756e74696d653e002e001443747970650400e8015463747970653a3a4576656e743c52756e74696d653e003d002c4174746573746174696f6e0400ec016c6174746573746174696f6e3a3a4576656e743c52756e74696d653e003e002844656c65676174696f6e0400f8016864656c65676174696f6e3a3a4576656e743c52756e74696d653e003f000c44696404000101014c6469643a3a4576656e743c52756e74696d653e004000244469644c6f6f6b757004000501018470616c6c65745f6469645f6c6f6f6b75703a3a4576656e743c52756e74696d653e00430024576562334e616d657304000901018470616c6c65745f776562335f6e616d65733a3a4576656e743c52756e74696d653e004400445075626c696343726564656e7469616c730400150101887075626c69635f63726564656e7469616c733a3a4576656e743c52756e74696d653e0045003c50617261636861696e53797374656d0400890101bc63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e0050002458636d70517565756504008d0101a463756d756c75735f70616c6c65745f78636d705f71756575653a3a4576656e743c52756e74696d653e0052002c506f6c6b61646f7458636d04009d01016870616c6c65745f78636d3a3a4576656e743c52756e74696d653e0053002843756d756c757358636d04003102018863756d756c75735f70616c6c65745f78636d3a3a4576656e743c52756e74696d653e00540020446d7051756575650400350201a063756d756c75735f70616c6c65745f646d705f71756575653a3a4576656e743c52756e74696d653e00550000500c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5401304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7260013444697370617463684572726f7200013464697370617463685f696e666f5401304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e744964000110686173682c011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e540c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874240118576569676874000114636c6173735801344469737061746368436c617373000120706179735f6665655c0110506179730000580c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f7279000200005c0c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000060082873705f72756e74696d653444697370617463684572726f72000134144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040064012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e0400680128546f6b656e4572726f720007002841726974686d6574696304006c013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007001485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c000064082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7240018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d000068082873705f72756e74696d6528546f6b656e4572726f7200011c1c4e6f46756e647300000020576f756c644469650001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f72746564000600006c083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000070082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000740c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909780c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001281c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e63655365740c010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e63650001207265736572766564180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475737c01185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909097c14346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e6365537461747573000108104672656500000020526573657276656400010000800c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909840c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e6465781c013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909880c4470617261636861696e5f7374616b696e671870616c6c6574144576656e74040454000154204e6577526f756e640800100138543a3a426c6f636b4e756d62657200001c013053657373696f6e496e6465780000088041206e6577207374616b696e6720726f756e642068617320737461727465642e785c5b626c6f636b206e756d6265722c20726f756e64206e756d6265725c5d50456e7465726564546f7043616e646964617465730400000130543a3a4163636f756e744964000108cc41206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d444c656674546f7043616e646964617465730400000130543a3a4163636f756e744964000208d8416e206163636f756e74207761732072656d6f7665642066726f6d2074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d604a6f696e6564436f6c6c61746f7243616e646964617465730800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000308e041206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620636f6c6c61746f722063616e646964617465732ebc5c5b6163636f756e742c20616d6f756e74207374616b656420627920746865206e65772063616e6469646174655c5d48436f6c6c61746f725374616b65644d6f72650c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00040801014120636f6c6c61746f722063616e6469646174652068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d48436f6c6c61746f725374616b65644c6573730c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00050801014120636f6c6c61746f722063616e64696461746520686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d54436f6c6c61746f725363686564756c6564457869740c001c013053657373696f6e496e6465780000000130543a3a4163636f756e74496400001c013053657373696f6e496e64657800061001014120636f6c6c61746f722063616e646964617465206861732073746172746564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e646964617465732e205c5b726f756e64206e756d6265722c20636f6c6c61746f722773206163636f756e742c20726f756e64206e756d626572207768656ee074686520636f6c6c61746f722077696c6c206265206566666563746976656c792072656d6f7665642066726f6d2074686520736574206f663063616e646964617465735c5d50436f6c6c61746f7243616e63656c6564457869740400000130543a3a4163636f756e74496400070c05014120636f6c6c61746f722063616e646964617465206861732063616e63656c6564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e6469646174657320616e6420776173206164646564206261636b20746f207468652063616e64696461746520706f6f6c2e205c5b636f6c6c61746f722773246163636f756e745c5d3443616e6469646174654c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000808cc416e206163636f756e7420686173206c6566742074686520736574206f6620636f6c6c61746f722063616e646964617465732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d3c436f6c6c61746f7252656d6f7665640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000908e4416e206163636f756e742077617320666f726365646c792072656d6f7665642066726f6d207468652020736574206f6620636f6c6c61746f72c863616e646964617465732e205c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d604d617843616e6469646174655374616b654368616e676564040018013042616c616e63654f663c543e000a08b4546865206d6178696d756d2063616e646964617465207374616b6520686173206265656e206368616e6765642e485c5b6e6577206d617820616d6f756e745c5d4c44656c656761746f725374616b65644d6f72651000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000b0cf0412064656c656761746f722068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d4c44656c656761746f725374616b65644c6573731000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000c0cf0412064656c656761746f7220686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d3444656c656761746f724c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000d08a8416e206163636f756e7420686173206c6566742074686520736574206f662064656c656761746f72732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d2844656c65676174696f6e1000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000e0cc8416e206163636f756e74206861732064656c6567617465642061206e657720636f6c6c61746f722063616e6469646174652e11015c5b6163636f756e742c20616d6f756e74206f662066756e6473207374616b65642c20746f74616c20616d6f756e74206f662064656c656761746f7273272066756e64738c7374616b656420666f722074686520636f6c6c61746f722063616e6469646174655c5d4844656c65676174696f6e5265706c616365641800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000f180d0141206e65772064656c65676174696f6e20686173207265706c6163656420616e206578697374696e67206f6e6520696e2074686520736574206f66206f6e676f696e67010164656c65676174696f6e7320666f72206120636f6c6c61746f722063616e6469646174652e205c5b6e65772064656c656761746f722773206163636f756e742c0901616d6f756e74206f662066756e6473207374616b656420696e20746865206e65772064656c65676174696f6e2c207265706c616365642064656c656761746f7227730d016163636f756e742c20616d6f756e74206f662066756e6473207374616b656420696e20746865207265706c6163652064656c65676174696f6e2c20636f6c6c61746f72050163616e6469646174652773206163636f756e742c206e657720746f74616c20616d6f756e74206f662064656c656761746f7273272066756e6473207374616b656470666f722074686520636f6c6c61746f722063616e6469646174655c5d5444656c656761746f724c656674436f6c6c61746f721000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00100cdc416e206163636f756e74206861732073746f707065642064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e09015c5b6163636f756e742c20636f6c6c61746f722063616e6469646174652773206163636f756e742c206f6c6420616d6f756e74206f662064656c656761746f727327d866756e6473207374616b65642c206e657720616d6f756e74206f662064656c656761746f7273272066756e6473207374616b65645c5d2052657761726465640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e001108c04120636f6c6c61746f72206f7220612064656c656761746f72206861732072656365697665642061207265776172642e745c5b6163636f756e742c20616d6f756e74206f66207265776172645c5d44526f756e64496e666c6174696f6e53657410008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00120c0501496e666c6174696f6e20636f6e66696775726174696f6e20666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e09015c5b6d6178696d756d20636f6c6c61746f722773207374616b696e6720726174652c206d6178696d756d20636f6c6c61746f7227732072657761726420726174652c0d016d6178696d756d2064656c656761746f722773207374616b696e6720726174652c206d6178696d756d2064656c656761746f7227732072657761726420726174655c5d604d617853656c656374656443616e6469646174657353657408001c010c75333200001c010c753332001308f0546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c656374656420696e20667574757265dc76616c69646174696f6e20726f756e647320686173206368616e6765642e205c5b6f6c642076616c75652c206e65772076616c75655c5d44426c6f636b73506572526f756e6453657410001c013053657373696f6e496e6465780000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d62657200140cf8546865206c656e67746820696e20626c6f636b7320666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e01015c5b726f756e64206e756d6265722c20666972737420626c6f636b20696e207468652063757272656e7420726f756e642c206f6c642076616c75652c206e65771c76616c75655c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909098c0c3473705f61726974686d65746963287065725f7468696e67732c5065727175696e74696c6c0000040010010c7536340000900c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001382050726f706f73656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e6465781c013c5265666572656e64756d496e6465780001247468726573686f6c64940134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e6465781c013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000704dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000804e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011048323536000114756e74696c100138543a3a426c6f636b4e756d62657200090494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e2c426c61636b6c697374656404013470726f706f73616c5f686173682c011048323536000a04c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e6465781c013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e000b0490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e6465781c012450726f70496e646578000c048c416e206163636f756e742068617320736563636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e6465781c012450726f70496e646578000d0460412070726f706f73616c20676f742063616e63656c65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909940c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f7269747900020000980c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f74659c0110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e6365000100009c0c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000a00c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a40110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a40000050000a80418526573756c7408045401ac044501600108084f6b0400ac000000000c4572720400600000010000ac0000040000b00c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a40110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b40c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b80c3c70616c6c65745f74726561737572791870616c6c6574144576656e740804540004490001242050726f706f73656404013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640007049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000804cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909bc0c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e6465781c010c7533320001146572726f7260013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7260013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c74a801384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c00c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c40c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000118245363686564756c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e000118726573756c74a801384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e00030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e0004043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e545065726d616e656e746c794f7665727765696768740801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e000504f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652ec800000408101c00cc04184f7074696f6e04045401040108104e6f6e6500000010536f6d650400040000010000d00c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c74a801384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578d8010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f686173682c013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200040450412070726f7879207761732072656d6f7665642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909d408447370697269746e65745f72756e74696d652450726f7879547970650001180c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002004050617261636861696e5374616b696e670003002c43616e63656c50726f7879000400484e6f6e4465706f736974436c61696d696e6700050000d80000050400dc0c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f746564040110686173682c011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e24526571756573746564040110686173682c011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c6561726564040110686173682c011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e00c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e40c2c70616c6c65745f746970731870616c6c6574144576656e74080454000449000114184e65775469700401207469705f686173682c011c543a3a486173680000049441206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e670401207469705f686173682c011c543a3a48617368000104d841207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c01207469705f686173682c011c543a3a4861736800010c77686f000130543a3a4163636f756e7449640001187061796f757418013c42616c616e63654f663c542c20493e0002048441207469702073756767657374696f6e20686173206265656e20636c6f7365642e305469705265747261637465640401207469705f686173682c011c543a3a486173680003049041207469702073756767657374696f6e20686173206265656e207265747261637465642e28546970536c61736865640c01207469705f686173682c011c543a3a4861736800011866696e646572000130543a3a4163636f756e74496400011c6465706f73697418013c42616c616e63654f663c542c20493e0004048841207469702073756767657374696f6e20686173206265656e20736c61736865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e80c1463747970651870616c6c6574144576656e74040454000108304354797065437265617465640800000144437479706543726561746f724f663c543e00002c01384374797065486173684f663c543e0000087441206e657720435479706520686173206265656e20637265617465642e885c5b63726561746f72206964656e7469666965722c20435479706520686173685c5d3043547970655570646174656404002c01384374797065486173684f663c543e000108ac496e666f726d6174696f6e2061626f7574206120435479706520686173206265656e20757064617465642e385c5b435479706520686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909ec0c2c6174746573746174696f6e1870616c6c6574144576656e74040454000110484174746573746174696f6e43726561746564100000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00002c01384374797065486173684f663c543e0000f001704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e0000088c41206e6577206174746573746174696f6e20686173206265656e20637265617465642e05015c5b61747465737465722049442c20636c61696d20686173682c20435479706520686173682c20286f7074696f6e616c292064656c65676174696f6e2049445c5d484174746573746174696f6e5265766f6b6564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00010880416e206174746573746174696f6e20686173206265656e207265766f6b65642e685c5b6163636f756e742069642c20636c61696d20686173685c5d484174746573746174696f6e52656d6f766564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00020880416e206174746573746174696f6e20686173206265656e2072656d6f7665642e685c5b6163636f756e742069642c20636c61696d20686173685c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c0138436c61696d486173684f663c543e0003080501546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e2e685c5b6163636f756e742069642c20636c61696d20686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909f004184f7074696f6e04045401f40108104e6f6e6500000010536f6d650400f40000010000f40c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c417574686f72697a6174696f6e4964043044656c65676174696f6e4964012c01042844656c65676174696f6e04002c013044656c65676174696f6e496400000000f80c2864656c65676174696f6e1870616c6c6574144576656e7404045400011c40486965726172636879437265617465640c0000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c01384374797065486173684f663c543e0000088441206e65772068696572617263687920686173206265656e20637265617465642ea05c5b63726561746f722049442c20726f6f74206e6f64652049442c20435459504520686173685c5d404869657261726368795265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00010874412068696572617263687920686173206265656e207265766f6b65642e705c5b7265766f6b65722049442c20726f6f74206e6f64652049445c5d4048696572617263687952656d6f766564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000208dc412068696572617263687920686173206265656e2072656d6f7665642066726f6d207468652073746f72616765206f6e20636861696e2e705c5b72656d6f7665722049442c20726f6f74206e6f64652049445c5d4444656c65676174696f6e43726561746564180000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000000014044656c656761746f7249644f663c543e0000fc012c5065726d697373696f6e7300030c8841206e65772064656c65676174696f6e20686173206265656e20637265617465642efc5c5b63726561746f722049442c20726f6f74206e6f64652049442c2064656c65676174696f6e206e6f64652049442c20706172656e74206e6f64652049442c6864656c65676174652049442c207065726d697373696f6e735c5d4444656c65676174696f6e5265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00040878412064656c65676174696f6e20686173206265656e207265766f6b65642e885c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d4444656c65676174696f6e52656d6f76656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00050878412064656c65676174696f6e20686173206265656e2072656d6f7665642e885c5b72656d6f7665722049442c2064656c65676174696f6e206e6f64652049445c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000608f8546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720612064656c65676174696f6eac737562747265652e205c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909fc0c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368792c5065726d697373696f6e730000040110626974731c010c753332000001010c0c6469641870616c6c6574144576656e74040454000110284469644372656174656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e0000086c41206e65772044494420686173206265656e20637265617465642e985c5b7472616e73616374696f6e207369676e65722c20444944206964656e7469666965725c5d284469645570646174656404000001484469644964656e7469666965724f663c543e0001085c412044494420686173206265656e20757064617465642e485c5b444944206964656e7469666965725c5d2844696444656c6574656404000001484469644964656e7469666965724f663c543e0002085c412044494420686173206265656e2064656c657465642e485c5b444944206964656e7469666965725c5d4444696443616c6c4469737061746368656408000001484469644964656e7469666965724f663c543e0000a801384469737061746368526573756c74000308a041204449442d617574686f72697365642063616c6c20686173206265656e2065786563757465642e7c5c5b4449442063616c6c65722c20646973706174636820726573756c745c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090905010c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144576656e74040454000108584173736f63696174696f6e45737461626c697368656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e000004f841206e6577206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e742049442077617320637265617465642e484173736f63696174696f6e52656d6f76656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e000104ec416e206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e74204944207761732072656d6f7665642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090909010c4470616c6c65745f776562335f6e616d65731870616c6c6574144576656e740404540001103c576562334e616d65436c61696d65640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d650d010134576562334e616d654f663c543e0000047041206e6577206e616d6520686173206265656e20636c61696d65642e40576562334e616d6552656c65617365640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d650d010134576562334e616d654f663c543e0001046441206e616d6520686173206265656e2072656c65617365642e38576562334e616d6542616e6e65640401106e616d650d010134576562334e616d654f663c543e0002045c41206e616d6520686173206265656e2062616e6e65642e40576562334e616d65556e62616e6e65640401106e616d650d010134576562334e616d654f663c543e0003046441206e616d6520686173206265656e20756e62616e6e65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909090d010c4470616c6c65745f776562335f6e616d657324776562335f6e616d65344173636969576562334e616d650404540000040011010180426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e00001101101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000015010c487075626c69635f63726564656e7469616c731870616c6c6574144576656e740404540001104043726564656e7469616c53746f7265640801287375626a6563745f696419010130543a3a5375626a65637449640488546865207375626a656374206f6620746865206e65772063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0474546865206964206f6620746865206e65772063726564656e7469616c2e0004a041206e6577207075626c69632063726564656e7469616c20686173206265656e206973737565642e4443726564656e7469616c52656d6f7665640801287375626a6563745f696419010130543a3a5375626a65637449640498546865207375626a656374206f66207468652072656d6f7665642063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f66207468652072656d6f7665642063726564656e7469616c2e01049841207075626c69632063726564656e7469616c7320686173206265656e2072656d6f7665642e4443726564656e7469616c5265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f6620746865207265766f6b65642063726564656e7469616c2e02049441207075626c69632063726564656e7469616c20686173206265656e207265766f6b65642e4c43726564656e7469616c556e7265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e048c546865206964206f662074686520756e7265766f6b65642063726564656e7469616c2e03049c41207075626c69632063726564656e7469616c20686173206265656e20756e7265766f6b65642e0490546865206576656e74732067656e65726174656420627920746869732070616c6c65742e19010c3872756e74696d655f636f6d6d6f6e18617373657473204173736574446964000004001d01013c41737365744964656e74696669657200001d010c3c6b696c745f61737365745f646964730876312041737365744469640000080120636861696e5f69642101011c436861696e496400012061737365745f69644901011c4173736574496400002101103c6b696c745f61737365745f6469647314636861696e0876311c436861696e49640001141845697031353504002501013c4569703135355265666572656e63650000001842697031323204002901016447656e657369734865784861736833325265666572656e63650001001c446f7473616d6104002901016447656e657369734865784861736833325265666572656e636500020018536f6c616e6104003101017047656e657369734261736535384861736833325265666572656e63650003001c47656e6572696304003901013847656e65726963436861696e4964000400002501103c6b696c745f61737365745f6469647314636861696e0876313c4569703135355265666572656e6365000004001801107531323800002901103c6b696c745f61737365745f6469647314636861696e0876316447656e657369734865784861736833325265666572656e6365000004002d0101205b75383b2031365d00002d010000031000000008003101103c6b696c745f61737365745f6469647314636861696e0876317047656e657369734261736535384861736833325265666572656e63650000040035010170426f756e6465645665633c75382c20436f6e73745533323c33323e3e00003501101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00003901103c6b696c745f61737365745f6469647314636861696e0876313847656e65726963436861696e496400000801246e616d6573706163653d01015447656e65726963436861696e4e616d6573706163650001247265666572656e63654501015447656e65726963436861696e5265666572656e636500003d01103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e4e616d65737061636500000400410101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4e414d4553504143455f4c454e4754485f5533323e3e00004101101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00004501103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e5265666572656e636500000400350101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f5245464552454e43455f4c454e4754485f5533323e3e00004901103c6b696c745f61737365745f646964731461737365740876311c4173736574496400011418536c6970343404004d01013c536c697034345265666572656e636500000014457263323004005901018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650001001845726337323104006101019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650002001c4572633131353504006101019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650003001c47656e6572696304007101013847656e6572696341737365744964000400004d01103c6b696c745f61737365745f646964731461737365740876313c536c697034345265666572656e636500000400510101105532353600005101083c7072696d69746976655f7479706573105532353600000400550101205b7536343b20345d000055010000030400000010005901103c6b696c745f61737365745f646964731461737365740876318445766d536d617274436f6e747261637446756e6769626c655265666572656e6365000004005d0101205b75383b2032305d00005d010000031400000008006101103c6b696c745f61737365745f646964731461737365740876319045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e6365000008005901018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650000650101b44f7074696f6e3c45766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e7469666965723e0000650104184f7074696f6e0404540169010108104e6f6e6500000010536f6d650400690100000100006901103c6b696c745f61737365745f646964731461737365740876319445766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e746966696572000004006d0101dc426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4944454e5449464945525f4c454e4754485f5533323e3e00006d01101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00007101103c6b696c745f61737365745f646964731461737365740876313847656e657269634173736574496400000c01246e616d6573706163657501015447656e6572696341737365744e616d6573706163650001247265666572656e63657901015447656e6572696341737365745265666572656e63650001086964810101784f7074696f6e3c47656e6572696341737365744964656e7469666965723e00007501103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365744e616d65737061636500000400410101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4e414d4553504143455f4c454e4754485f5533323e3e00007901103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365745265666572656e6365000004007d0101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f5245464552454e43455f4c454e4754485f5533323e3e00007d01101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000810104184f7074696f6e0404540185010108104e6f6e6500000010536f6d650400850100000100008501103c6b696c745f61737365745f646964731461737365740876315847656e6572696341737365744964656e746966696572000004006d0101dc426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4944454e5449464945525f4c454e4754485f5533323e3e000089010c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144576656e740404540001186056616c69646174696f6e46756e6374696f6e53746f726564000004d05468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e6456616c69646174696f6e46756e6374696f6e4170706c69656404015472656c61795f636861696e5f626c6f636b5f6e756d1c015452656c6179436861696e426c6f636b4e756d62657200010445015468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e6c56616c69646174696f6e46756e6374696f6e446973636172646564000204b05468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e4455706772616465417574686f72697a6564040124636f64655f686173682c011c543a3a486173680003047c416e207570677261646520686173206265656e20617574686f72697a65642e60446f776e776172644d657373616765735265636569766564040114636f756e741c010c7533320004040101536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e64446f776e776172644d6573736167657350726f63657373656408012c7765696768745f75736564240118576569676874000120646d715f686561642c014472656c61795f636861696e3a3a48617368000504e0446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909098d010c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144576656e740404540001201c537563636573730801306d6573736167655f686173689101013c4f7074696f6e3c543a3a486173683e00011877656967687424011857656967687400000464536f6d652058434d20776173206578656375746564206f6b2e104661696c0c01306d6573736167655f686173689101013c4f7074696f6e3c543a3a486173683e0001146572726f729501012058636d4572726f7200011877656967687424011857656967687400010440536f6d652058434d206661696c65642e2842616456657273696f6e0401306d6573736167655f686173689101013c4f7074696f6e3c543a3a486173683e000204544261642058434d2076657273696f6e20757365642e24426164466f726d61740401306d6573736167655f686173689101013c4f7074696f6e3c543a3a486173683e000304504261642058434d20666f726d617420757365642e445570776172644d65737361676553656e740401306d6573736167655f686173689101013c4f7074696f6e3c543a3a486173683e000404b8416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e3c58636d704d65737361676553656e740401306d6573736167655f686173689101013c4f7074696f6e3c543a3a486173683e000504c0416e2048524d50206d657373616765207761732073656e7420746f2061207369626c696e672070617261636861696e2e484f766572776569676874456e71756575656410011873656e6465729901011850617261496400011c73656e745f61741c014052656c6179426c6f636b4e756d626572000114696e64657810013c4f766572776569676874496e6465780001207265717569726564240118576569676874000604d4416e2058434d2065786365656465642074686520696e646976696475616c206d65737361676520776569676874206275646765742e484f7665727765696768745365727669636564080114696e64657810013c4f766572776569676874496e646578000110757365642401185765696768740007044101416e2058434d2066726f6d20746865206f7665727765696768742071756575652077617320657865637574656420776974682074686520676976656e2061637475616c2077656967687420757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909910104184f7074696f6e040454012c0108104e6f6e6500000010536f6d6504002c00000100009501100c78636d08763218747261697473144572726f72000168204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300444d756c74694c6f636174696f6e46756c6c000400684d756c74694c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c7536340015004c556e68616e646c656458636d56657273696f6e001600485765696768744c696d69745265616368656404001001185765696768740017001c426172726965720018004c5765696768744e6f74436f6d70757461626c650019000099010c48706f6c6b61646f745f70617261636861696e287072696d697469766573084964000004001c010c75333200009d010c2870616c6c65745f78636d1870616c6c6574144576656e7404045400014424417474656d707465640400a101015078636d3a3a6c61746573743a3a4f7574636f6d6500000ca8457865637574696f6e206f6620616e2058434d206d6573736167652077617320617474656d707465642e00345c5b206f7574636f6d65205c5d1053656e740c00a50101344d756c74694c6f636174696f6e0000a50101344d756c74694c6f636174696f6e0000c901011c58636d3c28293e00010c5c412058434d206d657373616765207761732073656e742e00885c5b206f726967696e2c2064657374696e6174696f6e2c206d657373616765205c5d48556e6578706563746564526573706f6e73650800a50101344d756c74694c6f636174696f6e000010011c517565727949640002145901517565727920726573706f6e736520726563656976656420776869636820646f6573206e6f74206d61746368206120726567697374657265642071756572792e2054686973206d61792062652062656361757365206155016d61746368696e6720717565727920776173206e6576657220726567697374657265642c206974206d617920626520626563617573652069742069732061206475706c696361746520726573706f6e73652c206f727062656361757365207468652071756572792074696d6564206f75742e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e73655265616479080010011c517565727949640000f1010120526573706f6e73650003105d01517565727920726573706f6e736520686173206265656e20726563656976656420616e6420697320726561647920666f722074616b696e672077697468206074616b655f726573706f6e7365602e205468657265206973806e6f2072656769737465726564206e6f74696669636174696f6e2063616c6c2e00485c5b2069642c20726573706f6e7365205c5d204e6f7469666965640c0010011c5175657279496400000801087538000008010875380004105901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20686173a86265656e206469737061746368656420616e64206578656375746564207375636365737366756c6c792e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d404e6f746966794f766572776569676874140010011c517565727949640000080108753800000801087538000024011857656967687400002401185765696768740005146101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20636f756c6441016e6f742062652064697370617463686564206265636175736520746865206469737061746368207765696768742069732067726561746572207468616e20746865206d6178696d756d20776569676874e46f726967696e616c6c7920627564676574656420627920746869732072756e74696d6520666f722074686520717565727920726573756c742e0019015c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e6465782c2061637475616c207765696768742c206d617820627564676574656420776569676874205c5d4c4e6f7469667944697370617463684572726f720c0010011c5175657279496400000801087538000008010875380006105501517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e2054686572652077617320612067656e6572616c206572726f722077697468886469737061746368696e6720746865206e6f74696669636174696f6e2063616c6c2e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d484e6f746966794465636f64654661696c65640c0010011c5175657279496400000801087538000008010875380007145101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652064697370617463682077617320756e61626c6520746f20626559016465636f64656420696e746f2061206043616c6c603b2074686973206d696768742062652064756520746f2064697370617463682066756e6374696f6e20686176696e672061207369676e6174757265207768696368946973206e6f742060286f726967696e2c20517565727949642c20526573706f6e736529602e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d40496e76616c6964526573706f6e6465720c00a50101344d756c74694c6f636174696f6e000010011c517565727949640000150201544f7074696f6e3c4d756c74694c6f636174696f6e3e0008145901457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206f726967696e206c6f636174696f6e206f662074686520726573706f6e736520646f657355016e6f74206d6174636820746861742065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e00b05c5b206f726967696e206c6f636174696f6e2c2069642c206578706563746564206c6f636174696f6e205c5d5c496e76616c6964526573706f6e64657256657273696f6e0800a50101344d756c74694c6f636174696f6e000010011c517565727949640009245101457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206578706563746564206f726967696e206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e736554616b656e040010011c51756572794964000a0cc8526563656976656420717565727920726573706f6e736520686173206265656e207265616420616e642072656d6f7665642e00205c5b206964205c5d34417373657473547261707065640c002c0110483235360000a50101344d756c74694c6f636174696f6e00001902015056657273696f6e65644d756c7469417373657473000b0cb8536f6d65206173736574732068617665206265656e20706c6163656420696e20616e20617373657420747261702e00685c5b20686173682c206f726967696e2c20617373657473205c5d5456657273696f6e4368616e67654e6f7469666965640800a50101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e000c0c2501416e2058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e206d65737361676520686173206265656e20617474656d7074656420746f2062652073656e742e00645c5b2064657374696e6174696f6e2c20726573756c74205c5d5c537570706f7274656456657273696f6e4368616e6765640800a50101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e000d10390154686520737570706f727465642076657273696f6e206f662061206c6f636174696f6e20686173206265656e206368616e6765642e2054686973206d69676874206265207468726f75676820616ec06175746f6d61746963206e6f74696669636174696f6e206f722061206d616e75616c20696e74657276656e74696f6e2e006c5c5b206c6f636174696f6e2c2058434d2076657273696f6e205c5d504e6f7469667954617267657453656e644661696c0c00a50101344d756c74694c6f636174696f6e000010011c5175657279496400009501012058636d4572726f72000e1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f727c73656e64696e6720746865206e6f74696669636174696f6e20746f2069742e007c5c5b206c6f636174696f6e2c2071756572792049442c206572726f72205c5d644e6f746966795461726765744d6967726174696f6e4661696c08002d02015856657273696f6e65644d756c74694c6f636174696f6e000010011c51756572794964000f1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f72b46d6967726174696e6720746865206c6f636174696f6e20746f206f7572206e65772058434d20666f726d61742e00605c5b206c6f636174696f6e2c207175657279204944205c5d34417373657473436c61696d65640c002c0110483235360000a50101344d756c74694c6f636174696f6e00001902015056657273696f6e65644d756c746941737365747300100cc0536f6d65206173736574732068617665206265656e20636c61696d65642066726f6d20616e206173736574207472617000685c5b20686173682c206f726967696e2c20617373657473205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a101100c78636d087632187472616974731c4f7574636f6d6500010c20436f6d706c657465040010011857656967687400000028496e636f6d706c65746508001001185765696768740000950101144572726f72000100144572726f720400950101144572726f7200020000a501100c78636d087631346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72a90101244a756e6374696f6e730000a901100c78636d087631346d756c74696c6f636174696f6e244a756e6374696f6e7300012410486572650000000858310400ad0101204a756e6374696f6e0001000858320800ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0002000858330c00ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0003000858341000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0004000858351400ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0005000858361800ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0006000858371c00ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0007000858382000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e0000ad0101204a756e6374696f6e00080000ad01100c78636d087631206a756e6374696f6e204a756e6374696f6e0001242450617261636861696e0400b101010c7533320000002c4163636f756e744964333208011c6e6574776f726bb50101244e6574776f726b496400010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726bb50101244e6574776f726b4964000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726bb50101244e6574776f726b496400010c6b65795d0101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400bd010110753132380005002847656e6572616c4b65790400b90101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000600244f6e6c794368696c6400070024506c7572616c6974790801086964c1010118426f6479496400011070617274c5010120426f64795061727400080000b1010000061c00b501100c78636d087630206a756e6374696f6e244e6574776f726b49640001100c416e79000000144e616d65640400b90101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010020506f6c6b61646f74000200184b7573616d6100030000b901101c73705f636f72651c626f756e646564407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004003001185665633c543e0000bd010000061800c101100c78636d087630206a756e6374696f6e18426f6479496400012810556e6974000000144e616d65640400b90101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010014496e6465780400b101010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e00080020547265617375727900090000c501100c78636d087630206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74b101010c753332000100204672616374696f6e08010c6e6f6db101010c75333200011464656e6f6db101010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6db101010c75333200011464656e6f6db101010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6db101010c75333200011464656e6f6db101010c75333200040000c9010c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400cd0101745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e0000cd01000002d10100d1010c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c00017034576974686472617741737365740400d501012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400d501012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400d501012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e7365f1010120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e736665724173736574080118617373657473d501012c4d756c746941737365747300012c62656e6566696369617279a50101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473d501012c4d756c746941737365747300011064657374a50101344d756c74694c6f636174696f6e00010c78636dc901011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065fd0101284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c01020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b101010c7533320001406d61785f6d6573736167655f73697a65b101010c7533320001306d61785f6361706163697479b101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b101010c75333200011873656e646572b101010c753332000124726563697069656e74b101010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400a9010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374a50101344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473050201404d756c7469417373657446696c7465720001286d61785f617373657473b101010c75333200012c62656e6566696369617279a50101344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473050201404d756c7469417373657446696c7465720001286d61785f617373657473b101010c75333200011064657374a50101344d756c74694c6f636174696f6e00010c78636dc901011c58636d3c28293e000e003445786368616e6765417373657408011067697665050201404d756c7469417373657446696c74657200011c72656365697665d501012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473050201404d756c7469417373657446696c74657200011c72657365727665a50101344d756c74694c6f636174696f6e00010c78636dc901011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473050201404d756c7469417373657446696c74657200011064657374a50101344d756c74694c6f636174696f6e00010c78636dc901011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374a50101344d756c74694c6f636174696f6e000118617373657473050201404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e08011066656573dd0101284d756c746941737365740001307765696768745f6c696d69741102012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400c901014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e6469780400c901014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473d501012c4d756c74694173736574730001187469636b6574a50101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b0000d501100c78636d087631286d756c746961737365742c4d756c746941737365747300000400d901013c5665633c4d756c746941737365743e0000d901000002dd0100dd01100c78636d087631286d756c74696173736574284d756c7469417373657400000801086964e101011c4173736574496400010c66756ee501012c46756e676962696c6974790000e101100c78636d087631286d756c746961737365741c4173736574496400010820436f6e63726574650400a50101344d756c74694c6f636174696f6e000000204162737472616374040030011c5665633c75383e00010000e501100c78636d087631286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400bd010110753132380000002c4e6f6e46756e6769626c650400e90101344173736574496e7374616e636500010000e901100c78636d087631286d756c74696173736574344173736574496e7374616e636500011c24556e646566696e656400000014496e6465780400bd0101107531323800010018417272617934040040011c5b75383b20345d000200184172726179380400ed01011c5b75383b20385d0003001c4172726179313604002d0101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050010426c6f62040030011c5665633c75383e00060000ed01000003080000000800f1010c0c78636d08763220526573706f6e7365000110104e756c6c000000184173736574730400d501012c4d756c74694173736574730001003c457865637574696f6e526573756c740400f50101504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e04001c013873757065723a3a56657273696f6e00030000f50104184f7074696f6e04045401f9010108104e6f6e6500000010536f6d650400f9010000010000f901000004081c950100fd010c0c78636d087630284f726967696e4b696e64000110184e617469766500000040536f7665726569676e4163636f756e74000100245375706572757365720002000c58636d0003000001020c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e00000502100c78636d087631286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e6974650400d501012c4d756c74694173736574730000001057696c6404000902013857696c644d756c74694173736574000100000902100c78636d087631286d756c746961737365743857696c644d756c746941737365740001080c416c6c00000014416c6c4f660801086964e101011c4173736574496400010c66756e0d02013c57696c6446756e676962696c697479000100000d02100c78636d087631286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c650001000011020c0c78636d0876322c5765696768744c696d697400010824556e6c696d697465640000001c4c696d69746564040028010c75363400010000150204184f7074696f6e04045401a5010108104e6f6e6500000010536f6d650400a50100000100001902080c78636d5056657273696f6e65644d756c746941737365747300010808563004001d02014c5665633c76303a3a4d756c746941737365743e0000000856310400d501013c76313a3a4d756c7469417373657473000100001d020000022102002102100c78636d0876302c6d756c74695f6173736574284d756c74694173736574000130104e6f6e650000000c416c6c0001002c416c6c46756e6769626c6500020038416c6c4e6f6e46756e6769626c650003004c416c6c416273747261637446756e6769626c65040108696430011c5665633c75383e00040058416c6c41627374726163744e6f6e46756e6769626c65040114636c61737330011c5665633c75383e0005004c416c6c436f6e637265746546756e6769626c650401086964250201344d756c74694c6f636174696f6e00060058416c6c436f6e63726574654e6f6e46756e6769626c65040114636c617373250201344d756c74694c6f636174696f6e00070040416273747261637446756e6769626c65080108696430011c5665633c75383e000118616d6f756e74bd010110753132380008004c41627374726163744e6f6e46756e6769626c65080114636c61737330011c5665633c75383e000120696e7374616e6365e90101344173736574496e7374616e636500090040436f6e637265746546756e6769626c650801086964250201344d756c74694c6f636174696f6e000118616d6f756e74bd01011075313238000a004c436f6e63726574654e6f6e46756e6769626c65080114636c617373250201344d756c74694c6f636174696f6e000120696e7374616e6365e90101344173736574496e7374616e6365000b00002502100c78636d087630386d756c74695f6c6f636174696f6e344d756c74694c6f636174696f6e000124104e756c6c0000000858310400290201204a756e6374696f6e0001000858320800290201204a756e6374696f6e0000290201204a756e6374696f6e0002000858330c00290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0003000858341000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0004000858351400290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0005000858361800290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0006000858371c00290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0007000858382000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e0000290201204a756e6374696f6e000800002902100c78636d087630206a756e6374696f6e204a756e6374696f6e00012818506172656e740000002450617261636861696e0400b101010c7533320001002c4163636f756e744964333208011c6e6574776f726bb50101244e6574776f726b496400010869640401205b75383b2033325d000200384163636f756e74496e646578363408011c6e6574776f726bb50101244e6574776f726b4964000114696e64657828010c753634000300304163636f756e744b6579323008011c6e6574776f726bb50101244e6574776f726b496400010c6b65795d0101205b75383b2032305d0004003850616c6c6574496e7374616e6365040008010875380005003047656e6572616c496e6465780400bd010110753132380006002847656e6572616c4b65790400b90101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000700244f6e6c794368696c6400080024506c7572616c6974790801086964c1010118426f6479496400011070617274c5010120426f647950617274000900002d02080c78636d5856657273696f6e65644d756c74694c6f636174696f6e00010808563004002502014476303a3a4d756c74694c6f636174696f6e0000000856310400a501014476313a3a4d756c74694c6f636174696f6e0001000031020c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144576656e7404045400010c34496e76616c6964466f726d61740400ed01011c5b75383b20385d00000880446f776e77617264206d65737361676520697320696e76616c69642058434d2e205c5b206964205c5d48556e737570706f7274656456657273696f6e0400ed01011c5b75383b20385d000108bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e205c5b206964205c5d404578656375746564446f776e776172640800ed01011c5b75383b20385d0000a101011c4f7574636f6d65000208c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e445c5b2069642c206f7574636f6d65205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090935020c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144576656e7404045400011834496e76616c6964466f726d61740401286d6573736167655f69640401244d657373616765496400000480446f776e77617264206d65737361676520697320696e76616c69642058434d2e48556e737570706f7274656456657273696f6e0401286d6573736167655f69640401244d6573736167654964000104bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e404578656375746564446f776e776172640801286d6573736167655f69640401244d657373616765496400011c6f7574636f6d65a101011c4f7574636f6d65000204c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e3c5765696768744578686175737465640c01286d6573736167655f69640401244d657373616765496400014072656d61696e696e675f77656967687424011857656967687400013c72657175697265645f776569676874240118576569676874000304f054686520776569676874206c696d697420666f722068616e646c696e6720646f776e77617264206d657373616765732077617320726561636865642e484f766572776569676874456e7175657565640c01286d6573736167655f69640401244d65737361676549640001406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800013c72657175697265645f7765696768742401185765696768740004041901446f776e77617264206d657373616765206973206f76657277656967687420616e642077617320706c6163656420696e20746865206f7665727765696768742071756575652e484f76657277656967687453657276696365640801406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800012c7765696768745f75736564240118576569676874000504e0446f776e77617264206d6573736167652066726f6d20746865206f766572776569676874207175657565207761732065786563757465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909390208306672616d655f73797374656d14506861736500010c384170706c7945787472696e73696304001c010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e000200003d020000022c004102000002c800450208306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6eb101014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d654902016473705f72756e74696d653a3a52756e74696d65537472696e670000490200000502004d020c306672616d655f73797374656d1870616c6c65741043616c6c0404540001201872656d61726b04011872656d61726b30011c5665633c75383e000014684d616b6520736f6d65206f6e2d636861696e2072656d61726b2e002823203c7765696768743e202d20604f283129602c23203c2f7765696768743e387365745f686561705f7061676573040114706167657310010c753634000104f853657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f6465040110636f646530011c5665633c75383e0002306453657420746865206e65772072756e74696d6520636f64652e002823203c7765696768743e31012d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f64656045012d20312063616c6c20746f206063616e5f7365745f636f6465603a20604f28532960202863616c6c73206073705f696f3a3a6d6973633a3a72756e74696d655f76657273696f6e60207768696368206973342020657870656e73697665292e842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e4d0154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652c206275742067656e6572616c6c7920746869732069732076657279b8657870656e736976652e2057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e2c23203c2f7765696768743e5c7365745f636f64655f776974686f75745f636865636b73040110636f646530011c5665633c75383e000324190153657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e002823203c7765696768743e8c2d20604f2843296020776865726520604360206c656e677468206f662060636f646560842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e550154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652e2057652077696c6c207472656174207468697320617320612066756c6c48626c6f636b2e2023203c2f7765696768743e2c7365745f73746f726167650401146974656d73510201345665633c4b657956616c75653e0004046853657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f726167650401106b657973590201205665633c4b65793e000504744b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697808011870726566697830010c4b657900011c7375626b6579731c010c75333200061011014b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e0039012a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e6465723d0174686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e4472656d61726b5f776974685f6576656e7404011872656d61726b30011c5665633c75383e000704a44d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e5102000002550200550200000408303000590200000230005d020c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2401185765696768740001246d61785f626c6f636b2401185765696768740001247065725f636c617373610201845065724469737061746368436c6173733c57656967687473506572436c6173733e000061020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c617373040454016502000c01186e6f726d616c650201045400012c6f7065726174696f6e616c65020104540001246d616e6461746f72796502010454000065020c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632401185765696768740001346d61785f65787472696e736963690201384f7074696f6e3c5765696768743e0001246d61785f746f74616c690201384f7074696f6e3c5765696768743e0001207265736572766564690201384f7074696f6e3c5765696768743e0000690204184f7074696f6e04045401240108104e6f6e6500000010536f6d6504002400000100006d020c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178710201545065724469737061746368436c6173733c7533323e000071020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c617373040454011c000c01186e6f726d616c1c01045400012c6f7065726174696f6e616c1c0104540001246d616e6461746f72791c01045400007502082873705f776569676874733c52756e74696d65446257656967687400000801107265616410010c753634000114777269746510010c75363400007902082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d654902013452756e74696d65537472696e67000124696d706c5f6e616d654902013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e1c010c753332000130737065635f76657273696f6e1c010c753332000130696d706c5f76657273696f6e1c010c753332000110617069737d02011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e1c010c75333200013473746174655f76657273696f6e080108753800007d02040c436f7704045401810200040081020000008102000002850200850200000408ed011c0089020c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c65748d02101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c0453000004003d0201185665633c543e000091020c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f77280124543a3a4d6f6d656e7400004054536574207468652063757272656e742074696d652e005501546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed470686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e0041015468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e742073706563696669656420627940604d696e696d756d506572696f64602e00d4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e002823203c7765696768743e31012d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f283129602961012d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e402020606f6e5f66696e616c697a656029d42d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e95020000040c0018a40099020c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e6465780000489841737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00dc5061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f02d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e602d204f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e207472616e7366657208010c6e65779d0201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e6465780001505d0141737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6eb86973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0025012d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e642d204f6e65207472616e73666572206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743ae02020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e7429e42020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e74292c23203c2f7765696768743e1066726565040114696e64657810013c543a3a4163636f756e74496e646578000248944672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e005d015061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e000d012d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e0084456d6974732060496e646578467265656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e602d204f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e38666f7263655f7472616e736665720c010c6e65779d0201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65a40110626f6f6c0003545501466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479e868656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a42d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e41012d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e782d20557020746f206f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743af42020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e657229f82020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e6572292c23203c2f7765696768743e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004484101467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206861766520616c6e6f6e2d66726f7a656e206163636f756e742060696e646578602e00ac2d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e0088456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e702d20557020746f206f6e6520736c617368206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e9d020c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e64657801ac011408496404000001244163636f756e74496400000014496e6465780400a10201304163636f756e74496e6465780001000c526177040030011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d0003002441646472657373323004005d0101205b75383b2032305d00040000a102000006ac00a5020c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a902101c73705f636f72651c626f756e646564407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401ad02045300000400b50201185665633c543e0000ad02083c70616c6c65745f62616c616e6365732c42616c616e63654c6f636b041c42616c616e63650118000c01086964ed0101384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e73b102011c526561736f6e730000b102083c70616c6c65745f62616c616e6365731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000b502000002ad0200b902101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401bd02045300000400c10201185665633c543e0000bd02083c70616c6c65745f62616c616e6365732c52657365727665446174610844526573657276654964656e74696669657201ed011c42616c616e63650118000801086964ed010144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e63650000c102000002bd0200c5020c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000118207472616e73666572080110646573749d0201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565bd010128543a3a42616c616e6365000064d45472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e000501607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e11014966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b06f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002823203c7765696768743e61012d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f7220696e70757420636f6e66696794202074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e31012d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c6578382020636f6d7075746174696f6e2e004852656c617465642066756e6374696f6e733a004d0120202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e290120202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365cc2020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642e5d0120202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765722060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e636564602e5d0120202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616c20636865636bdc202020207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e842d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d11012d204f726967696e206163636f756e7420697320616c726561647920696e206d656d6f72792c20736f206e6f204442206f7065726174696f6e7320666f72207468656d2e2c23203c2f7765696768743e2c7365745f62616c616e63650c010c77686f9d0201504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f66726565bd010128543a3a42616c616e63650001306e65775f7265736572766564bd010128543a3a42616c616e636500012090536574207468652062616c616e636573206f66206120676976656e206163636f756e742e001d01546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c3101616c736f20616c7465722074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e6365602920617070726f7072696174656c792e1501496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742cfc69742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b0546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e38666f7263655f7472616e736665720c0118736f757263659d0201504163636f756e7449644c6f6f6b75704f663c543e000110646573749d0201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565bd010128543a3a42616c616e63650002184d0145786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d6179206265287370656369666965642e2823203c7765696768743e4d012d2053616d65206173207472616e736665722c20627574206164646974696f6e616c207265616420616e6420777269746520626563617573652074686520736f75726365206163636f756e74206973206e6f747c2020617373756d656420746f20626520696e20746865206f7665726c61792e2c23203c2f7765696768743e4c7472616e736665725f6b6565705f616c697665080110646573749d0201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565bd010128543a3a42616c616e63650003184d0153616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c207468653c6f726967696e206163636f756e742e00b8393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c05b607472616e73666572605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572307472616e736665725f616c6c080110646573749d0201504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665a40110626f6f6c00044405015472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e0059014e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e7320746861746101616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062655d017472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c4501796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f72616765406465706f736974732c206574632e2e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e00a02d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e59012d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c4d0120206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f72590120207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746fc820206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e2023203c7765696768743e39012d204f2831292e204a757374206c696b65207472616e736665722c206275742072656164696e672074686520757365722773207472616e7366657261626c652062616c616e63652066697273742e302020233c2f7765696768743e3c666f7263655f756e7265736572766508010c77686f9d0201504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050cb0556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e006c43616e206f6e6c792062652063616c6c656420627920524f4f542e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ec9020c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001203856657374696e6742616c616e63650000049856657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e73000104c44163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304e856616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650004048c5472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c65000504c8412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e740006048842656e6566696369617279206163636f756e74206d757374207072652d65786973743c546f6f4d616e795265736572766573000704ac4e756d626572206f66206e616d656420726573657276657320657863656564204d6178526573657276657304b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909cd020c3473705f61726974686d657469632c66697865645f706f696e742446697865645531323800000400180110753132380000d102086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e7400000008563200010000d502101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401d902045300000400e10201185665633c543e0000d902104473705f636f6e73656e7375735f617572611c737232353531392c6170705f73723235353139185075626c696300000400dd02013c737232353531393a3a5075626c69630000dd020c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d0000e102000002d90200e502084873705f636f6e73656e7375735f736c6f747310536c6f740000040010010c7536340000e9020000020000ed02000002f10200f1020000040800f50200f50208447370697269746e65745f72756e74696d652c53657373696f6e4b657973000004011061757261d90201c43c41757261206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c69630000f9020000021c00fd02000004080103300001030c1c73705f636f72651863727970746f244b65795479706549640000040040011c5b75383b20345d000005030c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b657973f502011c543a3a4b65797300011470726f6f6630011c5665633c75383e000038e453657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e1d01416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d0546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002823203c7765696768743e11012d20436f6d706c65786974793a20604f283129602e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f6698202060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a20606f726967696e206163636f756e74602c2060543a3a56616c696461746f7249644f66602c20604e6578744b65797360a02d2044625772697465733a20606f726967696e206163636f756e74602c20604e6578744b65797360802d204462526561647320706572206b65792069643a20604b65794f776e657260842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e2870757267655f6b657973000140c852656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722e00c05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e005501546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265205369676e656420616e6420746865206163636f756e74206d757374206265206569746865722062655d01636f6e7665727469626c6520746f20612076616c696461746f72204944207573696e672074686520636861696e2773207479706963616c2061646472657373696e672073797374656d20287468697320757375616c6c7951016d65616e73206265696e67206120636f6e74726f6c6c6572206163636f756e7429206f72206469726563746c7920636f6e7665727469626c6520696e746f20612076616c696461746f722049442028776869636894757375616c6c79206d65616e73206265696e672061207374617368206163636f756e74292e002823203c7765696768743e61012d20436f6d706c65786974793a20604f2831296020696e206e756d626572206f66206b65792074797065732e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468a420206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a2060543a3a56616c696461746f7249644f66602c20604e6578744b657973602c20606f726967696e206163636f756e7460a02d2044625772697465733a20604e6578744b657973602c20606f726967696e206163636f756e7460842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e09030c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742e0d030c4470617261636861696e5f7374616b696e6714747970657324526f756e64496e666f042c426c6f636b4e756d6265720110000c011c63757272656e741c013053657373696f6e496e646578000114666972737410012c426c6f636b4e756d6265720001186c656e67746810012c426c6f636b4e756d626572000011030c4470617261636861696e5f7374616b696e671474797065734444656c65676174696f6e436f756e7465720000080114726f756e641c013053657373696f6e496e64657800011c636f756e7465721c010c753332000015030c4470617261636861696e5f7374616b696e67147479706573145374616b6508244163636f756e74496401001c42616c616e63650118000801146f776e65720001244163636f756e744964000118616d6f756e7418011c42616c616e6365000019030c4470617261636861696e5f7374616b696e671474797065732443616e6469646174650c244163636f756e74496401001c42616c616e63650118644d617844656c656761746f727350657243616e646964617465000014010869640001244163636f756e7449640001147374616b6518011c42616c616e636500012864656c656761746f72731d030101014f7264657265645365743c5374616b653c4163636f756e7449642c2042616c616e63653e2c204d617844656c656761746f727350657243616e6469646174653e000114746f74616c18011c42616c616e63650001187374617475732903013c43616e64696461746553746174757300001d030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401150304530000040021030140426f756e6465645665633c542c20533e00002103101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454011503045300000400250301185665633c543e0000250300000215030029030c4470617261636861696e5f7374616b696e671474797065733c43616e646964617465537461747573000108184163746976650000001c4c656176696e6704001c013053657373696f6e496e646578000100002d030c4470617261636861696e5f7374616b696e6714747970657328546f74616c5374616b65041c42616c616e6365011800080124636f6c6c61746f727318011c42616c616e636500012864656c656761746f727318011c42616c616e6365000031030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401150304530000040035030140426f756e6465645665633c542c20533e00003503101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454011503045300000400250301185665633c543e000039030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e34496e666c6174696f6e496e666f0000080120636f6c6c61746f723d03012c5374616b696e67496e666f00012464656c656761746f723d03012c5374616b696e67496e666f00003d030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e2c5374616b696e67496e666f00000801206d61785f726174658c012c5065727175696e74696c6c00012c7265776172645f726174654103012852657761726452617465000041030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e28526577617264526174650000080118616e6e75616c8c012c5065727175696e74696c6c0001247065725f626c6f636b8c012c5065727175696e74696c6c00004503101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601180453000004004903013842547265654d61703c4b2c20563e00004903042042547265654d617008044b0110045601180004004d030000004d0300000251030051030000040810180055030c4470617261636861696e5f7374616b696e671870616c6c65741043616c6c0404540001543c666f7263655f6e65775f726f756e64000018d0466f7263657320746865207374617274206f6620746865206e657720726f756e6420696e20746865206e65787420626c6f636b2e00a0546865206e657720726f756e642077696c6c20626520656e666f7263656420766961203c54206173a453686f756c64456e6453657373696f6e3c5f3e3e3a3a73686f756c645f656e645f73657373696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e347365745f696e666c6174696f6e100170636f6c6c61746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c000198636f6c6c61746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00017464656c656761746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c00019c64656c656761746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00013cf05365742074686520616e6e75616c20696e666c6174696f6e207261746520746f20646572697665207065722d726f756e6420696e666c6174696f6e2e00110154686520696e666c6174696f6e2064657461696c732061726520636f6e736964657265642076616c69642069662074686520616e6e75616c207265776172642072617465f0697320617070726f78696d6174656c7920746865207065722d626c6f636b207265776172642072617465206d756c7469706c69656420627920746865ac657374696d617465642a20746f74616c206e756d626572206f6620626c6f636b732070657220796561722e00cc54686520657374696d61746564206176657261676520626c6f636b2074696d65206973207477656c7665207365636f6e64732e000d014e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20616e6420666f7220656163682063616e646964617465206f766572207468656972090164656c656761746f727320746f207570646174652074686569722072657761726473206265666f72652074686520726577617264207261746573206368616e67652ee04e6565647320746f20626520696d70726f766564207768656e207363616c696e6720757020604d6178546f7043616e64696461746573602e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060526f756e64496e666c6174696f6e536574602e6c7365745f6d61785f73656c65637465645f63616e6469646174657304010c6e65771c010c75333200022c090153657420746865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e6469646174657320746861742063616e2062652073656c6563746564a861742074686520626567696e6e696e67206f6620656163682076616c69646174696f6e20726f756e642e00e84368616e67657320617265206e6f74206170706c69656420756e74696c20746865207374617274206f6620746865206e65787420726f756e642e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617853656c656374656443616e64696461746573536574602e507365745f626c6f636b735f7065725f726f756e6404010c6e6577100138543a3a426c6f636b4e756d62657200032cd453657420746865206e756d626572206f6620626c6f636b7320656163682076616c69646174696f6e20726f756e64206c617374732e000901496620746865206e65772076616c7565206973206c657373207468616e20746865206c656e677468206f66207468652063757272656e7420726f756e642c20746865050173797374656d2077696c6c20696d6d6564696174656c79206d6f766520746f20746865206e65787420726f756e6420696e20746865206e65787420626c6f636b2e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060426c6f636b73506572526f756e64536574602e5c7365745f6d61785f63616e6469646174655f7374616b6504010c6e657718013042616c616e63654f663c543e000418110153657420746865206d6178696d616c20616d6f756e74206120636f6c6c61746f722063616e207374616b652e204578697374696e67207374616b657320617265206e6f74206368616e6765642e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617843616e6469646174655374616b654368616e676564602e58666f7263655f72656d6f76655f63616e646964617465040120636f6c6c61746f729d02018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650005300101466f726365646c792072656d6f766573206120636f6c6c61746f722063616e6469646174652066726f6d2074686520546f7043616e6469646174657320616e64e4636c6561727320616c6c206173736f6369617465642073746f7261676520666f72207468652063616e64696461746520616e642074686569722c64656c656761746f72732e00fc507265706172657320756e7374616b696e67206f66207468652063616e6469646174657320616e642074686569722064656c656761746f7273207374616b65f077686963682063616e20626520756e6c6f636b6564207669612060756e6c6f636b5f756e7374616b6564602061667465722077616974696e6720617409016c6561737420605374616b654475726174696f6e60206d616e7920626c6f636b732e20416c736f20696e6372656d656e7473207265776172647320666f722074686578636f6c6c61746f7220616e642074686569722064656c656761746f72732e00d4496e6372656d656e74732072657761726473206f662063616e64696461746520616e642074686569722064656c656761746f72732e0064456d697473206043616e64696461746552656d6f766564602e3c6a6f696e5f63616e646964617465730401147374616b6518013042616c616e63654f663c543e000644904a6f696e2074686520736574206f6620636f6c6c61746f722063616e646964617465732e00f8496e20746865206e65787420626c6f636b732c2069662074686520636f6c6c61746f722063616e6469646174652068617320656e6f7567682066756e6473fc7374616b656420746f20626520696e636c7564656420696e20616e79206f662074686520746f7020604d617853656c656374656443616e64696461746573600d01706f736974696f6e732c2069742077696c6c20626520696e636c7564656420696e2074686520736574206f6620706f74656e7469616c20617574686f72732074686174050177696c6c2062652073656c656374656420627920746865207374616b652d77656967687465642072616e646f6d2073656c656374696f6e2066756e6374696f6e2e00fc546865207374616b65642066756e6473206f6620746865206e657720636f6c6c61746f722063616e6469646174652061726520616464656420746f2074686568746f74616c207374616b65206f66207468652073797374656d2e00110154686520746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e2074686520616c6c6f7765642072616e67652061738873657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e00f0546865206469737061746368206f726967696e206d757374206e6f7420626520616c72656164792070617274206f662074686520636f6c6c61746f729463616e64696461746573206e6f72206f66207468652064656c656761746f7273207365742e0084456d69747320604a6f696e6564436f6c6c61746f7243616e64696461746573602e54696e69745f6c656176655f63616e6469646174657300076cc05265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e0005014f6e20737563636573732c20746865206163636f756e7420697320696d6d6564696174656c792072656d6f7665642066726f6d207468652063616e6469646174651101706f6f6c20746f2070726576656e742073656c656374696f6e206173206120636f6c6c61746f7220696e206675747572652076616c69646174696f6e20726f756e64732cd862757420756e7374616b696e67206f66207468652066756e6473206973206578656375746564207769746820612064656c6179206f665c605374616b654475726174696f6e6020626c6f636b732e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00f454686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e204974206973110175706461746564206576656e2074686f756768207468652066756e6473206f66207468652063616e6469646174652077686f207369676e616c656420746f206c65617665fc617265207374696c6c206c6f636b656420666f7220604578697444656c617960202b20605374616b654475726174696f6e60206d6f726520626c6f636b732e000d014e4f544520313a2055706f6e207374617274696e672061206e65772073657373696f6e5f6920696e20606e65775f73657373696f6e602c207468652063757272656e741101746f702063616e64696461746573206172652073656c656374656420746f20626520626c6f636b20617574686f727320666f722073657373696f6e5f692b312e20416e7905016368616e67657320746f2074686520746f702063616e64696461746573206166746572776172647320646f206e6f74206566666563742074686520736574206f6660617574686f727320666f722073657373696f6e5f692b312ed8546875732c207765206861766520746f206d616b652073757265206e6f6e65206f6620746865736520636f6c6c61746f72732063616ebc6c65617665206265666f72652073657373696f6e5f692b3120656e64732062792064656c6179696e67207468656972846578697420666f7220604578697444656c617960206d616e7920626c6f636b732e00f04e4f544520323a20576520646f206e6f7420696e6372656d656e74207265776172647320696e20746869732065787472696e73696320617320746865110163616e64696461746520636f756c64207374696c6c20617574686f7220626c6f636b732c20616e64207468757320626520656c696769626c6520746f2072656365697665ac726577617264732c20756e74696c2074686520656e64206f6620746865206e6578742073657373696f6e2e0078456d6974732060436f6c6c61746f725363686564756c656445786974602e60657865637574655f6c656176655f63616e64696461746573040120636f6c6c61746f729d02018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500084405014578656375746520746865206e6574776f726b2065786974206f6620612063616e6469646174652077686f2072657175657374656420746f206c65617665206174f06c65617374206045786974517565756544656c61796020726f756e64732061676f2e20507265706172657320756e7374616b696e67206f6620746865fc63616e6469646174657320616e642074686569722064656c656761746f7273207374616b652077686963682063616e20626520756e6c6f636b656420766961f460756e6c6f636b5f756e7374616b6564602061667465722077616974696e67206174206c6561737420605374616b654475726174696f6e60206d616e791c626c6f636b732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00fc4e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20666f7220656163682063616e646964617465206f766572207468656972fc64656c656761746f727320746f2073657420726577617264732e204e6565647320746f20626520696d70726f766564207768656e207363616c696e672075704c604d6178546f7043616e64696461746573602e0054456d6974732060436f6c6c61746f724c656674602e5c63616e63656c5f6c656176655f63616e646964617465730009200501526576657274207468652070726576696f75736c79207265717565737465642065786974206f6620746865206e6574776f726b206f66206120636f6c6c61746f720d0163616e6469646174652e204f6e20737563636573732c2061646473206261636b207468652063616e64696461746520746f2074686520546f7043616e6469646174657368616e6420757064617465732074686520636f6c6c61746f72732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e0074456d6974732060436f6c6c61746f7243616e63656c656445786974602e5063616e6469646174655f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000a30a85374616b65206d6f72652066756e647320666f72206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686505016163636f756e7420746f20626520616464656420746f2069742e20546865206c617267657220616d6f756e74206f662066756e64732c2074686520686967686572dc6368616e63657320746f2062652073656c65637465642061732074686520617574686f72206f6620746865206e65787420626c6f636b2e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644d6f7265602e5063616e6469646174655f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000b3ca85374616b65206c6573732066756e647320666f72206120636f6c6c61746f722063616e6469646174652e000501496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c20746865206163636f756e74fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e000d0154686520756e7374616b65642066756e647320617265206e6f742072656c656173656420696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644c657373602e3c6a6f696e5f64656c656761746f7273080120636f6c6c61746f729d02018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000118616d6f756e7418013042616c616e63654f663c543e000c5805014a6f696e2074686520736574206f662064656c656761746f72732062792064656c65676174696e6720746f206120636f6c6c61746f722063616e6469646174652e000501546865206163636f756e7420746861742077616e747320746f2064656c65676174652063616e6e6f742062652070617274206f662074686520636f6c6c61746f725c63616e64696461746573207365742061732077656c6c2e0009015468652063616c6c6572206d757374205f6e6f745f206861766520612064656c65676174696f6e2e20496620746861742069732074686520636173652c2074686579b061726520726571756972656420746f2066697273742072656d6f7665207468652064656c65676174696f6e2e00110154686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206d696e696d756d20726571756972656420746f206265636f6d65c4612064656c656761746f722061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0009014173206f6e6c7920604d617844656c656761746f7273506572436f6c6c61746f72602061726520616c6c6f77656420746f2064656c6567617465206120676976656e0501636f6c6c61746f722c2074686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206c6f77657374206f6e6520696e01017468652063757272656e7420736574206f662064656c656761746f7220666f7220746865206f7065726174696f6e20746f206265206d65616e696e6766756c2e00090154686520636f6c6c61746f72277320746f74616c207374616b652061732077656c6c206173207468652070616c6c6574277320746f74616c207374616b652061726558696e63726561736564206163636f7264696e676c792e004c456d697473206044656c65676174696f6e602ebc456d697473206044656c65676174696f6e5265706c6163656460206966207468652063616e64696461746520686173f8604d617844656c656761746f7273506572436f6c6c61746f7260206d616e792064656c65676174696f6e732062757420746869732064656c656761746f72fc7374616b6564206d6f7265207468616e206f6e65206f6620746865206f746865722064656c656761746f7273206f6620746869732063616e6469646174652e406c656176655f64656c656761746f7273000d400d014c656176652074686520736574206f662064656c656761746f727320616e642c20627920696d706c69636174696f6e2c207265766f6b6520746865206f6e676f696e672c64656c65676174696f6e2e001101416c6c207374616b65642066756e647320617265206e6f7420756e6c6f636b656420696d6d6564696174656c792c2062757420746865792061726520616464656420746f0101746865207175657565206f662070656e64696e6720756e7374616b696e672c20616e642077696c6c206566666563746976656c792062652072656c65617365640901616674657220605374616b654475726174696f6e6020626c6f636b732066726f6d20746865206d6f6d656e74207468652064656c656761746f72206c65617665732e000d0154686973206f7065726174696f6e20726564756365732074686520746f74616c207374616b65206f66207468652070616c6c65742061732077656c6c2061732074686509017374616b6573206f6620616c6c20636f6c6c61746f7273207468617420776572652064656c6567617465642c20706f74656e7469616c6c7920616666656374696e6705017468656972206368616e63657320746f20626520696e636c7564656420696e2074686520736574206f662063616e6469646174657320696e20746865206e6578741c726f756e64732e0005014175746f6d61746963616c6c7920696e6372656d656e74732074686520616363756d756c617465642072657761726473206f6620746865206f726967696e206f665c7468652063757272656e742064656c65676174696f6e2e0058456d697473206044656c656761746f724c656674602e5064656c656761746f725f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000e18dc496e63726561736520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686594636f6c6c61746f722063616e64696461746520746f20626520616464656420746f2069742e0070456d697473206044656c656761746f725374616b65644d6f7265602e5064656c656761746f725f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000f40d452656475636520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e000901496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c2074686520636f6c6c61746f72fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00090154686520756e7374616b65642066756e647320617265206e6f742072656c6561736520696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e0001015468652072656d61696e696e67207374616b65642066756e6473206d757374207374696c6c206265206c6172676572207468616e20746865206d696e696d756df0726571756972656420627920746869732070616c6c657420746f206d61696e7461696e2074686520737461747573206f662064656c656761746f722e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0070456d697473206044656c656761746f725374616b65644c657373602e3c756e6c6f636b5f756e7374616b65640401187461726765749d02018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365001028f4556e6c6f636b20616c6c2070726576696f75736c79207374616b65642066756e6473207468617420617265206e6f7720617661696c61626c6520666f720501756e6c6f636b696e6720627920746865206f726967696e206163636f756e7420616674657220605374616b654475726174696f6e6020626c6f636b73206861766520656c61707365642e00fc5765696768743a204f285529207768657265205520697320746865206e756d626572206f66206c6f636b656420756e7374616b696e6720726571756573747380626f756e64656420627920604d6178556e7374616b655265717565737473602eac2d2052656164733a205b4f726967696e204163636f756e745d2c20556e7374616b696e672c204c6f636b73682d205772697465733a20556e7374616b696e672c204c6f636b73e82d204b696c6c733a20556e7374616b696e672026204c6f636b73206966206e6f2062616c616e6365206973206c6f636b656420616e796d6f72652c23203c2f7765696768743e34636c61696d5f7265776172647300113cd4436c61696d20626c6f636b20617574686f72696e67207265776172647320666f72207468652074617267657420616464726573732e00090152657175697265732060526577617264736020746f20626520736574206265666f726568616e642c2077686963682063616e2062792074726967676572656420627970616e79206f662074686520666f6c6c6f77696e67206f7074696f6e73e82a2043616c6c696e6720696e6372656d656e745f7b636f6c6c61746f722c2064656c656761746f727d5f72657761726473202861637469766529782a20416c746572696e6720796f7572207374616b65202861637469766529b02a204c656176696e6720746865206e6574776f726b206173206120636f6c6c61746f72202861637469766529bc2a205265766f6b696e6720612064656c65676174696f6e20617320612064656c656761746f7220286163746976652909012a204265696e6720612064656c656761746f722077686f736520636f6c6c61746f72206c65667420746865206e6574776f726b2c20616c7465726564207468656972a020207374616b65206f7220696e6372656d656e746564207265776172647320287061737369766529000501546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652c20652e672e2c20616e796f6e652063616e20636c61696d2c666f7220616e796f6e652e0044456d69747320605265776172646564602e68696e6372656d656e745f636f6c6c61746f725f72657761726473001218b44163746976656c7920696e6372656d656e74207468652072657761726473206f66206120636f6c6c61746f722e0005015468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72206c656176696e6720746865206e6574776f726b2e009c546865206469737061746368206f726967696e206d757374206265206120636f6c6c61746f722e6c696e6372656d656e745f64656c656761746f725f72657761726473001318b84163746976656c7920696e6372656d656e74207468652072657761726473206f6620612064656c656761746f722e00f85468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72207265766f6b696e673064656c65676174696f6e732e00a0546865206469737061746368206f726967696e206d75737420626520612064656c656761746f722e7c657865637574655f7363686564756c65645f7265776172645f6368616e67650014280d0145786563757465732074686520616e6e75616c20726564756374696f6e206f66207468652072657761726420726174657320666f7220636f6c6c61746f727320616e642c64656c656761746f72732e00dc4d6f72656f7665722c2073657473207265776172647320666f7220616c6c20636f6c6c61746f727320616e642064656c656761746f72737c6265666f72652061646a757374696e672074686520696e666c6174696f6e2e000d01546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652062656361757365207765206261696c2069662063616c6c656428746f6f206561726c792e0068456d6974732060526f756e64496e666c6174696f6e536574602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e59030c4470617261636861696e5f7374616b696e671870616c6c6574144572726f7204045400017c4444656c656761746f724e6f74466f756e64000004b8546865206163636f756e74206973206e6f742070617274206f66207468652064656c656761746f7273207365742e4443616e6469646174654e6f74466f756e64000104dc546865206163636f756e74206973206e6f742070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3c44656c656761746f72457869737473000204c8546865206163636f756e7420697320616c72656164792070617274206f66207468652064656c656761746f7273207365742e3c43616e646964617465457869737473000304ec546865206163636f756e7420697320616c72656164792070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3056616c5374616b655a65726f000404e4546865206163636f756e7420747269656420746f207374616b65206d6f7265206f72206c657373207769746820616d6f756e74207a65726f2e4056616c5374616b6542656c6f774d696e0005080d01546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f20626520616464656420746f2074686520636f6c6c61746f723c63616e64696461746573207365742e4056616c5374616b6541626f76654d61780006041101546865206163636f756e742068617320616c7265616479207374616b656420746865206d6178696d756d20616d6f756e74206f662066756e647320706f737369626c652e4844656c65676174696f6e42656c6f774d696e000708f8546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f2064656c6567617465206120636f6c6c61746f722863616e6469646174652e38416c72656164794c656176696e670008080d0154686520636f6c6c61746f722063616e6469646174652068617320616c72656164792074726967676572207468652070726f6365737320746f206c65617665207468656c736574206f6620636f6c6c61746f722063616e646964617465732e284e6f744c656176696e67000908f454686520636f6c6c61746f722063616e6469646174652077616e74656420746f20657865637574652074686520657869742062757420686173206e6f74f472657175657374656420746f206c65617665206265666f72652062792063616c6c696e672060696e69745f6c656176655f63616e64696461746573602e3843616e6e6f744c65617665596574000a08dc54686520636f6c6c61746f7220747269656420746f206c65617665206265666f72652077616974696e67206174206c6561737420666f72746045786974517565756544656c617960206d616e7920726f756e64732e6443616e6e6f744a6f696e4265666f7265556e6c6f636b696e67000b10f8546865206163636f756e742068617320612066756c6c206c697374206f6620756e7374616b696e6720726571756573747320616e64206e6565647320746ffc756e6c6f636b206174206c65617374206f6e65206f66207468657365206265666f7265206265696e672061626c6520746f206a6f696e2028616761696e292edc4e4f54453a2043616e206f6e6c792068617070656e20696620746865206163636f756e742077617320612063616e646964617465206f72f464656c656761746f72206265666f726520616e642065697468657220676f74206b69636b6564206f722065786974656420766f6c756e746172696c792e44416c726561647944656c65676174696e67000c04e4546865206163636f756e7420697320616c72656164792064656c65676174696e672074686520636f6c6c61746f722063616e6469646174652e404e6f7459657444656c65676174696e67000d080901546865206163636f756e7420686173206e6f742064656c65676174656420616e7920636f6c6c61746f722063616e646964617465207965742c2068656e6365206974806973206e6f7420696e2074686520736574206f662064656c656761746f72732e6c44656c65676174696f6e73506572526f756e644578636565646564000e1811015468652064656c656761746f722068617320657863656564656420746865206e756d626572206f662064656c65676174696f6e732070657220726f756e6420776869636894697320657175616c20746f204d617844656c656761746f7273506572436f6c6c61746f722e000901546869732070726f746563747320616761696e73742061747461636b7320696e20776869636820612064656c656761746f722063616e2072652d64656c6567617465010166726f6d206120636f6c6c61746f722077686f2068617320616c726561647920617574686f726564206120626c6f636b2c20746f20616e6f74686572206f6e6570776869636820686173206e6f7420696e207468697320726f756e642e44546f6f4d616e7944656c656761746f7273000f14010154686520636f6c6c61746f722063616e6469646174652068617320616c7265616479207265616368656420746865206d6178696d756d206e756d626572206f662c64656c656761746f72732e00050154686973206572726f722069732067656e65726174656420696e20636173652061206e65772064656c65676174696f6e207265717565737420646f6573206e6f74f47374616b6520656e6f7567682066756e647320746f207265706c61636520736f6d65206f74686572206578697374696e672064656c65676174696f6e2e60546f6f466577436f6c6c61746f7243616e64696461746573001008110154686520736574206f6620636f6c6c61746f722063616e6469646174657320776f756c642066616c6c2062656c6f7720746865207265717569726564206d696e696d756d5469662074686520636f6c6c61746f72206c6566742e5043616e6e6f745374616b6549664c656176696e67001108f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66010163616e6469646174657320616e642063616e6e6f7420706572666f726d20616e79206f7468657220616374696f6e7320696e20746865206d65616e74696d652e5c43616e6e6f7444656c656761746549664c656176696e67001208f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66ac63616e6469646174657320616e6420746875732063616e6e6f742062652064656c65676174656420746f2e804d6178436f6c6c61746f727350657244656c656761746f72457863656564656400130811015468652064656c656761746f722068617320616c72656164792064656c65676174656420746865206d6178696d756d206e756d626572206f662063616e6469646174657320616c6c6f7765642e60416c726561647944656c656761746564436f6c6c61746f72001408ec5468652064656c656761746f722068617320616c72656164792070726576696f75736c792064656c6567617465642074686520636f6c6c61746f722863616e6469646174652e4844656c65676174696f6e4e6f74466f756e64001504f854686520676976656e2064656c65676174696f6e20646f6573206e6f7420657869737420696e2074686520736574206f662064656c65676174696f6e732e24556e646572666c6f77001608050154686520636f6c6c61746f722064656c6567617465206f72207468652064656c656761746f7220697320747279696e6720746f20756e2d7374616b65206d6f72658066756e64732074686174206172652063757272656e746c79207374616b65642e4443616e6e6f7453657441626f76654d6178001708d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738061626f766520746865206d6178696d756d2076616c756520616c6c6f7765642e4443616e6e6f7453657442656c6f774d696e001808d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738062656c6f7720746865206d696e696d756d2076616c756520616c6c6f7765642e3c496e76616c69645363686564756c65001904dc416e20696e76616c696420696e666c6174696f6e20636f6e66696775726174696f6e20697320747279696e6720746f206265207365742e3c4e6f4d6f7265556e7374616b696e67001a08c4546865207374616b696e6720726577617264206265696e6720756e6c6f636b656420646f6573206e6f742065786973742e7c4d617820756e6c6f636b696e6720726571756573747320726561636865642e20546f6f4561726c79001b0801015468652072657761726420726174652063616e6e6f742062652061646a75737465642079657420617320616e20656e74697265207965617220686173206e6f741c7061737365642e345374616b654e6f74466f756e64001c04d850726f7669646564207374616b65642076616c7565206973207a65726f2e2053686f756c64206e65766572206265207468726f776e2e40556e7374616b696e674973456d707479001d049443616e6e6f7420756e6c6f636b207768656e20556e7374616b656420697320656d7074792e3c526577617264734e6f74466f756e64001e047843616e6e6f7420636c61696d207265776172647320696620656d7074792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909095d03101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454016103045300000400690301185665633c543e00006103084470616c6c65745f617574686f727368697038556e636c65456e7472794974656d0c2c426c6f636b4e756d62657201101048617368012c18417574686f72010001083c496e636c7573696f6e486569676874040010012c426c6f636b4e756d62657200000014556e636c6508002c0110486173680000650301384f7074696f6e3c417574686f723e00010000650304184f7074696f6e04045401000108104e6f6e6500000010536f6d65040000000001000069030000026103006d030c4470616c6c65745f617574686f72736869701870616c6c65741043616c6c040454000104287365745f756e636c65730401286e65775f756e636c6573710301385665633c543a3a4865616465723e0000046050726f76696465206120736574206f6620756e636c65732e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e71030000027503007503102873705f72756e74696d651c67656e65726963186865616465721848656164657208184e756d626572011010486173680179030014012c706172656e745f686173682c0130486173683a3a4f75747075740001186e756d6265722801184e756d62657200012873746174655f726f6f742c0130486173683a3a4f757470757400013c65787472696e736963735f726f6f742c0130486173683a3a4f7574707574000118646967657374340118446967657374000079030c2873705f72756e74696d65187472616974732c426c616b6554776f323536000000007d030c4470616c6c65745f617574686f72736869701870616c6c6574144572726f7204045400011c48496e76616c6964556e636c65506172656e740000048854686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c726561647953657400010480556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c657300020440546f6f206d616e7920756e636c65732e3047656e65736973556e636c650003045454686520756e636c652069732067656e657369732e30546f6f48696768556e636c650004047c54686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c756465640005047854686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c65000604b454686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909098103101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454018503045300000400490501185665633c543e000085030000040c1c89030000890310346672616d655f737570706f72741874726169747324707265696d616765731c426f756e646564040454018d03010c184c6567616379040110686173682c01104861736800000018496e6c696e65040045050134426f756e646564496e6c696e65000100184c6f6f6b7570080110686173682c01104861736800010c6c656e1c010c753332000200008d0308447370697269746e65745f72756e74696d652c52756e74696d6543616c6c0001781853797374656d04004d0201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0000002454696d657374616d700400910201b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0002001c496e64696365730400990201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e0005002042616c616e6365730400c50201b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e0006001c53657373696f6e0400050301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0016004050617261636861696e5374616b696e670400550301d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e5374616b696e672c2052756e74696d653e00150028417574686f727368697004006d0301bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c417574686f72736869702c2052756e74696d653e0014002444656d6f63726163790400910301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e001e001c436f756e63696c04009d0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e001f0048546563686e6963616c436f6d6d69747465650400a90301dd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c436f6d6d69747465652c2052756e74696d653e0020004c546563686e6963616c4d656d626572736869700400ad0301e10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c4d656d626572736869702c2052756e74696d653e0022002054726561737572790400b10301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e0023001c5574696c6974790400b50301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0028001c56657374696e670400dd0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e002900245363686564756c65720400e50301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e002a001450726f78790400ed0301a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002b0020507265696d6167650400f50301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e002c0038546970734d656d626572736869700400f90301cd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970734d656d626572736869702c2052756e74696d653e002d0010546970730400fd0301a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970732c2052756e74696d653e002e001443747970650400010401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c43747970652c2052756e74696d653e003d002c4174746573746174696f6e0400050401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4174746573746174696f6e2c2052756e74696d653e003e002844656c65676174696f6e0400190401bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656c65676174696f6e2c2052756e74696d653e003f000c4469640400350401a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469642c2052756e74696d653e004000244469644c6f6f6b75700400890401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469644c6f6f6b75702c2052756e74696d653e00430024576562334e616d65730400910401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c576562334e616d65732c2052756e74696d653e004400445075626c696343726564656e7469616c730400950401d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5075626c696343726564656e7469616c732c2052756e74696d653e0045003c50617261636861696e53797374656d0400a50401d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e0050002458636d7051756575650400d90401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c58636d7051756575652c2052756e74696d653e0052002c506f6c6b61646f7458636d0400dd0401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506f6c6b61646f7458636d2c2052756e74696d653e00530020446d7051756575650400410501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c446d7051756575652c2052756e74696d653e0055000091030c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c0404540001481c70726f706f736508012070726f706f73616c89030140426f756e64656443616c6c4f663c543e00011476616c7565bd01013042616c616e63654f663c543e0000249c50726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e001501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737480686176652066756e647320746f20636f76657220746865206465706f7369742e00d42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e15012d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e0044456d697473206050726f706f736564602e187365636f6e6404012070726f706f73616cb101012450726f70496e646578000118b45369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e64657211016d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00c82d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e10766f74650801247265665f696e646578b101013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e00021c3101566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bb86f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00dc2d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e842d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e40656d657267656e63795f63616e63656c0401247265665f696e6465781c013c5265666572656e64756d496e6465780003204d015363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d652c7265666572656e64756d2e00f8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d02d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e003c5765696768743a20604f283129602e4065787465726e616c5f70726f706f736504012070726f706f73616c89030140426f756e64656443616c6c4f663c543e0004182d015363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c2c7265666572656e64756d2e00e8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e6465787465726e616c5f70726f706f73655f6d616a6f7269747904012070726f706f73616c89030140426f756e64656443616c6c4f663c543e00052c55015363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c655c616e2065787465726e616c207265666572656e64756d2e00ec546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f283129606065787465726e616c5f70726f706f73655f64656661756c7404012070726f706f73616c89030140426f756e64656443616c6c4f663c543e00062c45015363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f807363686564756c6520616e2065787465726e616c207265666572656e64756d2e00e8546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f2831296028666173745f747261636b0c013470726f706f73616c5f686173682c011048323536000134766f74696e675f706572696f64100138543a3a426c6f636b4e756d62657200011464656c6179100138543a3a426c6f636b4e756d6265720007404d015363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c65646101696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65e8627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d0546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e5d012d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f88094d75737420626520616c776179732067726561746572207468616e207a65726f2e350109466f72206046617374547261636b4f726967696e60206d75737420626520657175616c206f722067726561746572207468616e206046617374547261636b566f74696e67506572696f64602e51012d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265b82020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e0040456d697473206053746172746564602e00385765696768743a20604f28312960347665746f5f65787465726e616c04013470726f706f73616c5f686173682c011048323536000824b85665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00d8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e002d012d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e003c456d69747320605665746f6564602e00fc5765696768743a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604463616e63656c5f7265666572656e64756d0401247265665f696e646578b101013c5265666572656e64756d496e64657800091c5052656d6f76652061207265666572656e64756d2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d42d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e004423205765696768743a20604f283129602e2064656c65676174650c0108746f9d0201504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6e95030128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000a50390144656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e0055015468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865c874696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a7420202d2062652064656c65676174696e6720616c72656164793b206f72590120202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c69646174656494202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e0045012d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e55012d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e20746865410120206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e61012d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374206e6f74b420206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e0048456d697473206044656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e28756e64656c6567617465000b30cc556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e005d01546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64dc6f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062655463757272656e746c792064656c65676174696e672e0050456d6974732060556e64656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e58636c6561725f7075626c69635f70726f706f73616c73000c1470436c6561727320616c6c207075626c69632070726f706f73616c732e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e003c5765696768743a20604f283129602e18756e6c6f636b0401187461726765749d0201504163636f756e7449644c6f6f6b75704f663c543e000d1ca0556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00b82d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e00bc5765696768743a20604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742e2c72656d6f76655f766f7465040114696e6465781c013c5265666572656e64756d496e646578000e6c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e000c49663a882d20746865207265666572656e64756d207761732063616e63656c6c65642c206f727c2d20746865207265666572656e64756d206973206f6e676f696e672c206f72902d20746865207265666572656e64756d2068617320656e64656420737563682074686174fc20202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d420202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f728420202d20746865206163636f756e74206d61646520612073706c697420766f74655d012e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655866756e6473206265696e6720617661696c61626c652e00a849662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643aec2d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64dc2d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64bc2d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f76657259012e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c766559012a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de46f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004901546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f7465887265676973746572656420666f72207265666572656e64756d2060696e646578602e00f42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e4472656d6f76655f6f746865725f766f74650801187461726765749d0201504163636f756e7449644c6f6f6b75704f663c543e000114696e6465781c013c5265666572656e64756d496e646578000f3c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e004d0149662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f2d016072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c5501656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f7298626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e004d012d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f725420207265666572656e64756d2060696e646578602ef42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e24626c61636b6c69737408013470726f706f73616c5f686173682c01104832353600013c6d617962655f7265665f696e6465789903015c4f7074696f6e3c5265666572656e64756d496e6465783e00103c45015065726d616e656e746c7920706c61636520612070726f706f73616c20696e746f2074686520626c61636b6c6973742e20546869732070726576656e74732069742066726f6d2065766572206265696e673c70726f706f73656420616761696e2e00510149662063616c6c6564206f6e206120717565756564207075626c6963206f722065787465726e616c2070726f706f73616c2c207468656e20746869732077696c6c20726573756c7420696e206974206265696e67510172656d6f7665642e2049662074686520607265665f696e6465786020737570706c69656420697320616e20616374697665207265666572656e64756d2077697468207468652070726f706f73616c20686173682c687468656e2069742077696c6c2062652063616e63656c6c65642e00ec546865206469737061746368206f726967696e206f6620746869732063616c6c206d7573742062652060426c61636b6c6973744f726967696e602e00f82d206070726f706f73616c5f68617368603a205468652070726f706f73616c206861736820746f20626c61636b6c697374207065726d616e656e746c792e45012d20607265665f696e646578603a20416e206f6e676f696e67207265666572656e64756d2077686f73652068617368206973206070726f706f73616c5f68617368602c2077686963682077696c6c2062652863616e63656c6c65642e0041015765696768743a20604f28702960202874686f756768206173207468697320697320616e20686967682d70726976696c6567652064697370617463682c20776520617373756d65206974206861732061502020726561736f6e61626c652076616c7565292e3c63616e63656c5f70726f706f73616c04012870726f705f696e646578b101012450726f70496e64657800111c4852656d6f766520612070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c50726f706f73616c4f726967696e602e00d02d206070726f705f696e646578603a2054686520696e646578206f66207468652070726f706f73616c20746f2063616e63656c2e00e45765696768743a20604f28702960207768657265206070203d205075626c696350726f70733a3a3c543e3a3a6465636f64655f6c656e282960042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e95030c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000990304184f7074696f6e040454011c0108104e6f6e6500000010536f6d6504001c00000100009d030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273e90201445665633c543a3a4163636f756e7449643e0001147072696d65650301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000080805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e0054526571756972657320726f6f74206f726967696e2e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e002823203c7765696768743e24232320576569676874502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e64656429142d2044423a510120202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e67207468652c202020206d656d62657273ec20202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c73450120202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c5d0120202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e652c23203c2f7765696768743e1c6578656375746508012070726f706f73616c8d03017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b101010c75333200012cf0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002823203c7765696768743e2423232057656967687455012d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e673020206070726f706f73616c60d42d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c60242d2031206576656e742c23203c2f7765696768743e1c70726f706f73650c01247468726573686f6c64b101012c4d656d626572436f756e7400012070726f706f73616c8d03017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b101010c75333200026cf84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e002823203c7765696768743e24232320576569676874ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d20326029142d2044423ab420202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029a820202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0901202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029b8202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029d82020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e42020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029cc2020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029bc2020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d2960292c20202d2031206576656e742c23203c2f7765696768743e10766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578b101013450726f706f73616c496e64657800011c617070726f7665a40110626f6f6c00033cf041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e2823203c7765696768743e2423232057656967687409012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429142d2044423aac20202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029b820202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d296029242d2031206576656e742c23203c2f7765696768743e40636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64a10301244f6c645765696768740001306c656e6774685f626f756e64b101010c7533320004804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005385901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002823203c7765696768743edc436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c73284442205765696768743a482a2052656164733a2050726f706f73616c739c2a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f662c23203c2f7765696768743e14636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64b101010c7533320006804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea103000006a50300a503082873705f77656967687473244f6c645765696768740000040010010c7536340000a9030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273e90201445665633c543a3a4163636f756e7449643e0001147072696d65650301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000080805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e0054526571756972657320726f6f74206f726967696e2e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e002823203c7765696768743e24232320576569676874502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e64656429142d2044423a510120202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e67207468652c202020206d656d62657273ec20202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c73450120202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c5d0120202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e652c23203c2f7765696768743e1c6578656375746508012070726f706f73616c8d03017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b101010c75333200012cf0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002823203c7765696768743e2423232057656967687455012d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e673020206070726f706f73616c60d42d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c60242d2031206576656e742c23203c2f7765696768743e1c70726f706f73650c01247468726573686f6c64b101012c4d656d626572436f756e7400012070726f706f73616c8d03017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b101010c75333200026cf84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e002823203c7765696768743e24232320576569676874ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d20326029142d2044423ab420202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029a820202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0901202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029b8202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029d82020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e42020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029cc2020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029bc2020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d2960292c20202d2031206576656e742c23203c2f7765696768743e10766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578b101013450726f706f73616c496e64657800011c617070726f7665a40110626f6f6c00033cf041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e2823203c7765696768743e2423232057656967687409012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429142d2044423aac20202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029b820202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d296029242d2031206576656e742c23203c2f7765696768743e40636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64a10301244f6c645765696768740001306c656e6774685f626f756e64b101010c7533320004804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005385901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002823203c7765696768743edc436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c73284442205765696768743a482a2052656164733a2050726f706f73616c739c2a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f662c23203c2f7765696768743e14636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64b101010c7533320006804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ead030c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686f9d0201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686f9d0201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f76659d0201504163636f756e7449644c6f6f6b75704f663c543e00010c6164649d0201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273e90201445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e65779d0201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686f9d0201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb1030c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001143470726f706f73655f7370656e6408011476616c7565bd01013c42616c616e63654f663c542c20493e00012c62656e65666963696172799d0201504163636f756e7449644c6f6f6b75704f663c543e000024290150757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c75653101697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e6365207468655070726f706f73616c20697320617761726465642e002823203c7765696768743e482d20436f6d706c65786974793a204f283129b02d20446252656164733a206050726f706f73616c436f756e74602c20606f726967696e206163636f756e7460e82d2044625772697465733a206050726f706f73616c436f756e74602c206050726f706f73616c73602c20606f726967696e206163636f756e74602c23203c2f7765696768743e3c72656a6563745f70726f706f73616c04012c70726f706f73616c5f6964b101013450726f706f73616c496e646578000124f852656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e002823203c7765696768743e482d20436f6d706c65786974793a204f283129cc2d20446252656164733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460d02d2044625772697465733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e74602c23203c2f7765696768743e40617070726f76655f70726f706f73616c04012c70726f706f73616c5f6964b101013450726f706f73616c496e6465780002285901417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279a8616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00ac4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002823203c7765696768743e4c2d20436f6d706c65786974793a204f2831292e8c2d20446252656164733a206050726f706f73616c73602c2060417070726f76616c7360582d20446257726974653a2060417070726f76616c73602c23203c2f7765696768743e147370656e64080118616d6f756e74bd01013c42616c616e63654f663c542c20493e00012c62656e65666963696172799d0201504163636f756e7449644c6f6f6b75704f663c543e000320b850726f706f736520616e6420617070726f76652061207370656e64206f662074726561737572792066756e64732e004d012d20606f726967696e603a204d75737420626520605370656e644f726967696e60207769746820746865206053756363657373602076616c7565206265696e67206174206c656173742060616d6f756e74602e41012d2060616d6f756e74603a2054686520616d6f756e7420746f206265207472616e736665727265642066726f6d2074686520747265617375727920746f20746865206062656e6566696369617279602ee82d206062656e6566696369617279603a205468652064657374696e6174696f6e206163636f756e7420666f7220746865207472616e736665722e0045014e4f54453a20466f72207265636f72642d6b656570696e6720707572706f7365732c207468652070726f706f736572206973206465656d656420746f206265206571756976616c656e7420746f207468653062656e65666963696172792e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f6964b101013450726f706f73616c496e64657800043c2d01466f72636520612070726576696f75736c7920617070726f7665642070726f706f73616c20746f2062652072656d6f7665642066726f6d2074686520617070726f76616c2071756575652ec0546865206f726967696e616c206465706f7369742077696c6c206e6f206c6f6e6765722062652072657475726e65642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602ea02d206070726f706f73616c5f6964603a2054686520696e646578206f6620612070726f706f73616c002823203c7765696768743edc2d20436f6d706c65786974793a204f2841292077686572652060416020697320746865206e756d626572206f6620617070726f76616c73882d20446220726561647320616e64207772697465733a2060417070726f76616c73602c23203c2f7765696768743e001c4572726f72733a61012d206050726f706f73616c4e6f74417070726f766564603a20546865206070726f706f73616c5f69646020737570706c69656420776173206e6f7420666f756e6420696e2074686520617070726f76616c2071756575652c5101692e652e2c207468652070726f706f73616c20686173206e6f74206265656e20617070726f7665642e205468697320636f756c6420616c736f206d65616e207468652070726f706f73616c20646f6573206e6f745901657869737420616c746f6765746865722c2074687573207468657265206973206e6f2077617920697420776f756c642068617665206265656e20617070726f76656420696e2074686520666972737420706c6163652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb5030c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c73b903017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00004c7c53656e642061206261746368206f662064697370617463682063616c6c732e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e005501546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e31016576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e207468655501604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d6164654d01616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c65746564604c6576656e74206973206465706f73697465642e3461735f64657269766174697665080114696e646578d8010c75313600011063616c6c8d03017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000134dc53656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00550146696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368bc757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e0045014e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e61016265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e7451017468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31607c696e20746865204d756c74697369672070616c6c657420696e73746561642e00f44e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c04011463616c6c73b903017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000238ec53656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e21015468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e2c64697370617463685f617308012461735f6f726967696ebd030154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6c8d03017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000328c84469737061746368657320612066756e6374696f6e2063616c6c207769746820612070726f7669646564206f726967696e2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e002823203c7765696768743e1c2d204f2831292e602d204c696d697465642073746f726167652072656164732e5c2d204f6e6520444220777269746520286576656e74292e1d012d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b20543a3a576569676874496e666f3a3a64697370617463685f617328292e2c23203c2f7765696768743e2c666f7263655f626174636804011463616c6c73b903017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004387c53656e642061206261746368206f662064697370617463682063616c6c732ed4556e6c696b6520606261746368602c20697420616c6c6f7773206572726f727320616e6420776f6e277420696e746572727570742e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e004d014966206f726967696e20697320726f6f74207468656e207468652063616c6c732061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e2c776974685f77656967687408011063616c6c8d03017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000118776569676874240118576569676874000518c4446973706174636820612066756e6374696f6e2063616c6c2077697468206120737065636966696564207765696768742e002d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b8526f6f74206f726967696e20746f20737065636966792074686520776569676874206f66207468652063616c6c2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb9030000028d0300bd0308447370697269746e65745f72756e74696d65304f726967696e43616c6c657200011c1873797374656d0400c10301746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0000001c436f756e63696c0400c50301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400c90301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020000c4469640400cd0301506469643a3a4f726967696e3c52756e74696d653e0040002c506f6c6b61646f7458636d0400d103014870616c6c65745f78636d3a3a4f726967696e0053002843756d756c757358636d0400d503016863756d756c75735f70616c6c65745f78636d3a3a4f726967696e00540010566f69640400d90301110173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a566f696400060000c1030c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e6500020000c503084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000c903084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000cd030c0c646964186f726967696e304469645261774f726967696e08344469644964656e7469666965720100244163636f756e74496401000008010869640001344469644964656e7469666965720001247375626d69747465720001244163636f756e7449640000d1030c2870616c6c65745f78636d1870616c6c6574184f726967696e0001080c58636d0400a50101344d756c74694c6f636174696f6e00000020526573706f6e73650400a50101344d756c74694c6f636174696f6e00010000d5030c4863756d756c75735f70616c6c65745f78636d1870616c6c6574184f726967696e0001081452656c6179000000405369626c696e6750617261636861696e04009901011850617261496400010000d903081c73705f636f726510566f696400010000dd030c3870616c6c65745f76657374696e671870616c6c65741043616c6c0404540001141076657374000034b8556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e005d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20322052656164732c203220577269746573f8202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745dfc202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745d2c23203c2f7765696768743e28766573745f6f746865720401187461726765749d0201504163636f756e7449644c6f6f6b75704f663c543e00013cb8556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051012d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20332052656164732c203320577269746573f0202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e74f4202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c23203c2f7765696768743e3c7665737465645f7472616e736665720801187461726765749d0201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65e10301a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00024464437265617465206120766573746564207472616e736665722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00cc2d2060746172676574603a20546865206163636f756e7420726563656976696e6720746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20332052656164732c2033205772697465733901202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d3d01202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d2c23203c2f7765696768743e54666f7263655f7665737465645f7472616e736665720c0118736f757263659d0201504163636f756e7449644c6f6f6b75704f663c543e0001187461726765749d0201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65e10301a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00034860466f726365206120766573746564207472616e736665722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00e82d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e11012d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20342052656164732c2034205772697465733101202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e743501202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e742c23203c2f7765696768743e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e6465781c010c75333200013c7363686564756c65325f696e6465781c010c7533320004545d014d657267652074776f2076657374696e67207363686564756c657320746f6765746865722c206372656174696e672061206e65772076657374696e67207363686564756c65207468617420756e6c6f636b73206f7665725501746865206869676865737420706f737369626c6520737461727420616e6420656e6420626c6f636b732e20496620626f7468207363686564756c6573206861766520616c7265616479207374617274656420746865590163757272656e7420626c6f636b2077696c6c206265207573656420617320746865207363686564756c652073746172743b207769746820746865206361766561742074686174206966206f6e65207363686564756c655d0169732066696e6973686564206279207468652063757272656e7420626c6f636b2c20746865206f746865722077696c6c206265207472656174656420617320746865206e6577206d6572676564207363686564756c652c2c756e6d6f6469666965642e00f84e4f54453a20496620607363686564756c65315f696e646578203d3d207363686564756c65325f696e6465786020746869732069732061206e6f2d6f702e41014e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b207072696f7220746f206d657267696e672e61014e4f54453a20496620626f7468207363686564756c6573206861766520656e646564206279207468652063757272656e7420626c6f636b2c206e6f206e6577207363686564756c652077696c6c206265206372656174656464616e6420626f74682077696c6c2062652072656d6f7665642e006c4d6572676564207363686564756c6520617474726962757465733a35012d20607374617274696e675f626c6f636b603a20604d4158287363686564756c65312e7374617274696e675f626c6f636b2c207363686564756c6564322e7374617274696e675f626c6f636b2c48202063757272656e745f626c6f636b29602e21012d2060656e64696e675f626c6f636b603a20604d4158287363686564756c65312e656e64696e675f626c6f636b2c207363686564756c65322e656e64696e675f626c6f636b29602e59012d20606c6f636b6564603a20607363686564756c65312e6c6f636b65645f61742863757272656e745f626c6f636b29202b207363686564756c65322e6c6f636b65645f61742863757272656e745f626c6f636b29602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00e82d20607363686564756c65315f696e646578603a20696e646578206f6620746865206669727374207363686564756c6520746f206d657267652eec2d20607363686564756c65325f696e646578603a20696e646578206f6620746865207365636f6e64207363686564756c6520746f206d657267652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee1030c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720110000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b10012c426c6f636b4e756d6265720000e5030c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963e90301a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c8d03017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000470416e6f6e796d6f75736c79207363686564756c652061207461736b2e1863616e63656c0801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001049443616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963e90301a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c8d03017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000204585363686564756c652061206e616d6564207461736b2e3063616e63656c5f6e616d656404010869640401205461736b4e616d650003047843616e63656c2061206e616d6564207363686564756c6564207461736b2e387363686564756c655f61667465721001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963e90301a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c8d03017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000414a8416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e002823203c7765696768743e5453616d65206173205b607363686564756c65605d2e2c23203c2f7765696768743e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963e90301a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c8d03017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000514905363686564756c652061206e616d6564207461736b20616674657220612064656c61792e002823203c7765696768743ec453616d65206173205b607363686564756c655f6e616d6564605d2853656c663a3a7363686564756c655f6e616d6564292e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee90304184f7074696f6e04045401c80108104e6f6e6500000010536f6d650400c80000010000ed030c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616c9d0201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065f10301504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c8d03017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00002c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e246164645f70726f78790c012064656c65676174659d0201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d6265720001244501526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a11012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792efc2d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e3072656d6f76655f70726f78790c012064656c65676174659d0201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200021ca8556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a25012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e41012d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e3872656d6f76655f70726f78696573000318b4556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0041015741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e74732063726561746564206279206070757265602c20686f776576657220696620646f6e652c207468656e590174686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a2c6372656174655f707572650c012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d626572000114696e646578d8010c7531360004483901537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64fc696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e006c5265717569726573206120605369676e656460206f726967696e2e0051012d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468654d016e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f78616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e51012d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d655d017472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a7573744077616e7420746f20757365206030602e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e0051014661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659873616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e44661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e246b696c6c5f7075726514011c737061776e65729d0201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f787954797065000114696e646578d8010c753136000118686569676874280138543a3a426c6f636b4e756d6265720001246578745f696e646578b101010c753332000540a052656d6f76657320612070726576696f75736c7920737061776e656420707572652070726f78792e0049015741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c20626534696e61636365737369626c652e0059015265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746f94607075726560207769746820636f72726573706f6e64696e6720706172616d65746572732e0039012d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060707572656020746f206372656174652074686973206163636f756e742e39012d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f206070757265602e2050726f6261626c79206030602eec2d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f206070757265602e29012d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f20607075726560207761732070726f6365737365642e35012d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f20607075726560207761732070726f6365737365642e0035014661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c7920637265617465642070757265dc6163636f756e742077686f7365206070757265602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e20616e6e6f756e63650801107265616c9d0201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e00063c05015075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e005d0154686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d7074656425016966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e0011014e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000901546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c206173190160416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656d6f76655f616e6e6f756e63656d656e740801107265616c9d0201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e0007287052656d6f7665206120676976656e20616e6e6f756e63656d656e742e0059014d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e30746865206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656a6563745f616e6e6f756e63656d656e7408012064656c65676174659d0201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e000828b052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e0061014d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c6567617465732501286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733af42d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ebc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e3c70726f78795f616e6e6f756e63656410012064656c65676174659d0201504163636f756e7449644c6f6f6b75704f663c543e0001107265616c9d0201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065f10301504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c8d03017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00092c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ef10304184f7074696f6e04045401d40108104e6f6e6500000010536f6d650400d40000010000f5030c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000110346e6f74655f707265696d616765040114627974657330011c5665633c75383e000010745265676973746572206120707265696d616765206f6e2d636861696e2e00550149662074686520707265696d616765207761732070726576696f75736c79207265717565737465642c206e6f2066656573206f72206465706f73697473206172652074616b656e20666f722070726f766964696e67550174686520707265696d6167652e204f74686572776973652c2061206465706f7369742069732074616b656e2070726f706f7274696f6e616c20746f207468652073697a65206f662074686520707265696d6167652e3c756e6e6f74655f707265696d616765040110686173682c011c543a3a48617368000118dc436c65617220616e20756e72657175657374656420707265696d6167652066726f6d207468652072756e74696d652073746f726167652e00fc496620606c656e602069732070726f76696465642c207468656e2069742077696c6c2062652061206d7563682063686561706572206f7065726174696f6e2e0001012d206068617368603a205468652068617368206f662074686520707265696d61676520746f2062652072656d6f7665642066726f6d207468652073746f72652eb82d20606c656e603a20546865206c656e677468206f662074686520707265696d616765206f66206068617368602e40726571756573745f707265696d616765040110686173682c011c543a3a48617368000210410152657175657374206120707265696d6167652062652075706c6f6164656420746f2074686520636861696e20776974686f757420706179696e6720616e792066656573206f72206465706f736974732e00550149662074686520707265696d6167652072657175657374732068617320616c7265616479206265656e2070726f7669646564206f6e2d636861696e2c20776520756e7265736572766520616e79206465706f7369743901612075736572206d6179206861766520706169642c20616e642074616b652074686520636f6e74726f6c206f662074686520707265696d616765206f7574206f662074686569722068616e64732e48756e726571756573745f707265696d616765040110686173682c011c543a3a4861736800030cbc436c65617220612070726576696f75736c79206d616465207265717565737420666f72206120707265696d6167652e002d014e4f54453a2054484953204d555354204e4f542042452043414c4c4544204f4e20606861736860204d4f52452054494d4553205448414e2060726571756573745f707265696d616765602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ef9030c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686f9d0201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686f9d0201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f76659d0201504163636f756e7449644c6f6f6b75704f663c543e00010c6164649d0201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273e90201445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e65779d0201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686f9d0201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632efd030c2c70616c6c65745f746970731870616c6c65741043616c6c080454000449000118387265706f72745f617765736f6d65080118726561736f6e30011c5665633c75383e00010c77686f9d0201504163636f756e7449644c6f6f6b75704f663c543e00004c59015265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051015061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173bc60446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e0074456d69747320604e657754697060206966207375636365737366756c2e002823203c7765696768743ec82d20436f6d706c65786974793a20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e9020202d20656e636f64696e6720616e642068617368696e67206f662027726561736f6e27702d20446252656164733a2060526561736f6e73602c20605469707360742d2044625772697465733a2060526561736f6e73602c206054697073602c23203c2f7765696768743e2c726574726163745f746970040110686173682c011c543a3a4861736800014c5101526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00dc4966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e004d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e7469666965642062792060686173686041016d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f744c7468726f75676820607469705f6e657760292e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e008c456d697473206054697052657472616374656460206966207375636365737366756c2e002823203c7765696768743e502d20436f6d706c65786974793a20604f28312960d820202d20446570656e6473206f6e20746865206c656e677468206f662060543a3a48617368602077686963682069732066697865642e8c2d20446252656164733a206054697073602c20606f726967696e206163636f756e7460bc2d2044625772697465733a2060526561736f6e73602c206054697073602c20606f726967696e206163636f756e74602c23203c2f7765696768743e1c7469705f6e65770c0118726561736f6e30011c5665633c75383e00010c77686f9d0201504163636f756e7449644c6f6f6b75704f663c543e0001247469705f76616c7565bd01013c42616c616e63654f663c542c20493e000258f04769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e0074456d69747320604e657754697060206966207375636365737366756c2e002823203c7765696768743e51012d20436f6d706c65786974793a20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732e5d0120202d20604f285429603a206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792d012020202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f66442020202060543a3a54697070657273602ee020202d20604f285229603a2068617368696e6720616e6420656e636f64696e67206f6620726561736f6e206f66206c656e677468206052607c2d20446252656164733a206054697070657273602c2060526561736f6e7360742d2044625772697465733a2060526561736f6e73602c206054697073602c23203c2f7765696768743e0c746970080110686173682c011c543a3a486173680001247469705f76616c7565bd01013c42616c616e63654f663c542c20493e000360b04465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e65666963696172793420206163636f756e742049442e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e006101456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f643068617320737461727465642e002823203c7765696768743e61012d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e6774682d0120206054602c20696e736572742074697020616e6420636865636b20636c6f73696e672c20605460206973206368617267656420617320757070657220626f756e6420676976656e2062795d01202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e005d01202041637475616c6c792077656967687420636f756c64206265206c6f77657220617320697420646570656e6473206f6e20686f77206d616e7920746970732061726520696e20604f70656e5469706020627574206974d02020697320776569676874656420617320696620616c6d6f73742066756c6c20692e65206f66206c656e6774682060542d31602e702d20446252656164733a206054697070657273602c20605469707360482d2044625772697465733a206054697073602c23203c2f7765696768743e24636c6f73655f746970040110686173682c011c543a3a486173680004405c436c6f736520616e64207061796f75742061207469702e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00150154686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002823203c7765696768743e61012d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e677468510120206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f7374c02020646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602ea82d20446252656164733a206054697073602c206054697070657273602c20607469702066696e64657260d82d2044625772697465733a2060526561736f6e73602c206054697073602c206054697070657273602c20607469702066696e646572602c23203c2f7765696768743e24736c6173685f746970040110686173682c011c543a3a486173680005309452656d6f766520616e6420736c61736820616e20616c72656164792d6f70656e207469702e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e00f44173206120726573756c742c207468652066696e64657220697320736c617368656420616e6420746865206465706f7369747320617265206c6f73742e0084456d6974732060546970536c617368656460206966207375636365737366756c2e002823203c7765696768743efc2020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e010120205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e01040c1463747970651870616c6c65741043616c6c0404540001080c616464040114637479706530011c5665633c75383e00003009014372656174652061206e65772043547970652066726f6d2074686520676976656e20756e69717565204354797065206861736820616e64206173736f6369617465735069742077697468206974732063726561746f722e00dc412043547970652077697468207468652073616d652068617368206d757374206e6f742062652073746f726564206f6e20636861696e2e0054456d6974732060435479706543726561746564602e002823203c7765696768743e305765696768743a204f283129602d2052656164733a204374797065732c2042616c616e6365642d205772697465733a204374797065732c2042616c616e63652c23203c2f7765696768743e407365745f626c6f636b5f6e756d62657208012863747970655f686173682c01384374797065486173684f663c543e000130626c6f636b5f6e756d626572100144426c6f636b4e756d626572466f723c543e00010ce853657420746865206372656174696f6e20626c6f636b206e756d62657220666f72206120676976656e2043547970652c20696620666f756e642e0054456d6974732060435479706555706461746564602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e05040c2c6174746573746174696f6e1870616c6c65741043616c6c0404540001180c6164640c0128636c61696d5f686173682c0138436c61696d486173684f663c543e00012863747970655f686173682c01384374797065486173684f663c543e000134617574686f72697a6174696f6e090401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000054644372656174652061206e6577206174746573746174696f6e2e00f85468652061747465737465722063616e206f7074696f6e616c6c792070726f766964652061207265666572656e636520746f20616e206578697374696e67090164656c65676174696f6e20746861742077696c6c20626520736176656420616c6f6e67207769746820746865206174746573746174696f6e20697473656c6620696e8c74686520666f726d206f6620616e2061747465737465642064656c65676174696f6e2e00ec546865207265666572656e6365642043547970652068617368206d75737420616c72656164792062652070726573656e74206f6e20636861696e2e000901496620616e206f7074696f6e616c2064656c65676174696f6e2069642069732070726f76696465642c20746865206469737061746368206f726967696e206d757374e8626520746865206f776e6572206f66207468652064656c65676174696f6e2e204f74686572776973652c20697420636f756c6420626520616e79546044656c65676174696f6e456e746974794964602e006c456d69747320604174746573746174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b82d2052656164733a205b4f726967696e204163636f756e745d2c2043747970652c204174746573746174696f6e73e42d2052656164732069662064656c65676174696f6e2069642069732070726f76696465643a2044656c65676174696f6e732c20526f6f74732c5c202044656c6567617465644174746573746174696f6e73bc2d205772697465733a204174746573746174696f6e732c202844656c6567617465644174746573746174696f6e73292c23203c2f7765696768743e187265766f6b65080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e090401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001447c5265766f6b6520616e206578697374696e67206174746573746174696f6e2e00fc546865207265766f6b6572206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206265696e6709017265766f6b6564206f7220616e20656e74697479207468617420696e207468652064656c65676174696f6e207472656520697320616e20616e636573746f72206f6609017468652061747465737465722c20692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7250616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e5265766f6b6564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e1872656d6f7665080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e090401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0002445852656d6f766520616e206174746573746174696f6e2e00f8546865206f726967696e206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206f7220616e0d01656e7469747920776869636820697320616e20616e636573746f72206f662074686520617474657374657220696e207468652064656c65676174696f6e20747265652c0101692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7220616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e52656d6f766564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e000324d05265636c61696d20612073746f72616765206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e0064456d69747320604465706f7369745265636c61696d6564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572040128636c61696d5f686173682c0138436c61696d486173684f663c543e00041c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00ec546865207375626a656374206f66207468652063616c6c206d757374206265207468652061747465737465722077686f206973737565732074686509016174746573746174696f6e2e205468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e00050cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e090404184f7074696f6e040454010d040108104e6f6e6500000010536f6d6504000d0400000100000d040c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c50616c6c6574417574686f72697a65043044656c65676174696f6e416301110401042844656c65676174696f6e04001104013044656c65676174696f6e41630000000011040c2864656c65676174696f6e386163636573735f636f6e74726f6c3044656c65676174696f6e41630404540115040008013c7375626a6563745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e0001286d61785f636865636b731c010c7533320000150408447370697269746e65745f72756e74696d651c52756e74696d650000000019040c2864656c65676174696f6e1870616c6c65741043616c6c04045400011c406372656174655f686965726172636879080130726f6f745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e00012863747970655f686173682c01384374797065486173684f663c543e00006401014372656174652061206e65772064656c65676174696f6e20726f6f74206173736f6369617465642077697468206120676976656e20435479706520686173682e00f8546865206e657720726f6f742077696c6c20616c6c6f772061206e65772074727573742068696572617263687920746f2062652063726561746564206279a0616464696e67206368696c6472656e2064656c65676174696f6e7320746f2074686520726f6f742e000d015468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652049442073746f726564206f6e20636861696e2c207768696c65fc7468657265206d75737420626520616c7265616479206120435479706520776974682074686520676976656e20686173682073746f72656420696e207468653443547970652070616c6c65742e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0050456d6974732060526f6f7443726561746564602e002823203c7765696768743e305765696768743a204f283129a02d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c204354797065733c2d205772697465733a20526f6f74732c23203c2f7765696768743e386164645f64656c65676174696f6e14013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e000124706172656e745f69642c015444656c65676174696f6e4e6f646549644f663c543e00012064656c656761746500014044656c656761746f7249644f663c543e00012c7065726d697373696f6e73fc012c5065726d697373696f6e7300014864656c65676174655f7369676e61747572651d04016844656c65676174655369676e6174757265547970654f663c543e000180744372656174652061206e65772064656c65676174696f6e206e6f64652e00f4546865206e65772064656c65676174696f6e206e6f646520726570726573656e74732061206e65772074727573742068696572617263687920746861740d01636f6e73696465727320746865206e6577206e6f64652061732069747320726f6f742e20546865206f776e6572206f662074686973206e6f6465206861732066756c6ce0636f6e74726f6c206f76657220616e79206f66206974732064697265637420616e6420696e6469726563742064657363656e64616e74732e00fc466f7220746865206372656174696f6e20746f20737563636565642c207468652064656c656761746565206d7573742070726f7669646520612076616c696411017369676e6174757265206f766572207468652028626c616b65323536292068617368206f6620746865206372656174696f6e206f7065726174696f6e2064657461696c731101776869636820696e636c7564652028696e206f72646572292064656c65676174696f6e2069642c20726f6f74206e6f64652069642c20706172656e742069642c20616e64707065726d697373696f6e73206f6620746865206e6577206e6f64652e00f45468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652069642073746f726564206f6e20636861696e2e0501467572746865726d6f72652c20746865207265666572656e63656420726f6f7420616e6420706172656e74206e6f646573206d75737420616c7265616479206265050170726573656e74206f6e20636861696e20616e6420636f6e7461696e207468652076616c6964207065726d697373696f6e7320616e64207265766f636174696f6e6c7374617475732028692e652e2c206e6f74207265766f6b6564292e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0068456d697473206044656c65676174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b42d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2044656c65676174696f6e73542d205772697465733a2044656c65676174696f6e732c23203c2f7765696768743e447265766f6b655f64656c65676174696f6e0c013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001446d61785f706172656e745f636865636b731c010c75333200013c6d61785f7265766f636174696f6e731c010c753332000274f85265766f6b6520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00fc446f6573206e6f7420726566756e64207468652064656c65676174696f6e206261636b20746f20746865206465706f736974206f776e657220617320746865f06e6f6465206973207374696c6c2073746f726564206f6e20636861696e2e20526571756972657320746f206164646974696f6e616c6c792063616c6cb46072656d6f76655f64656c65676174696f6e6020746f20756e7265736572766520746865206465706f7369742e0009015265766f6b696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67090166726f6d2074686520676976656e206e6f6465206265696e67207265766f6b65642e204e657665727468656c6573732c207265766f636174696f6e20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f6465206973207265766f6b65642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e73696465726564207265766f6b65642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e5265766f6b6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e802d205772697465733a20526f6f74732c2043202a2044656c65676174696f6e732c23203c2f7765696768743e4472656d6f76655f64656c65676174696f6e08013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000370f852656d6f766520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e52656d6f766564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000460f45265636c61696d20746865206465706f73697420666f7220612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74b86e6f6465292c2072656d6f76696e6720746865206e6f646520616e6420616c6c20697473206368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e000d01546865206469737061746368206f726967696e206d757374206265207369676e6564206279207468652064656c65676174696f6e206465706f736974206f776e65722e004c604465706f7369745265636c61696d6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f72656d6f76616c73602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e000501546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652064656c65676174696f6e206e6f64652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e1d040c0c6469642c6469645f64657461696c73304469645369676e617475726500010c1c45643235353139040021040148656432353531393a3a5369676e61747572650000001c53723235353139040029040148737232353531393a3a5369676e617475726500010014456364736104002d04014065636473613a3a5369676e61747572650002000021040c1c73705f636f72651c65643235353139245369676e617475726500000400250401205b75383b2036345d0000250400000340000000080029040c1c73705f636f72651c73723235353139245369676e617475726500000400250401205b75383b2036345d00002d040c1c73705f636f7265146563647361245369676e617475726500000400310401205b75383b2036355d0000310400000341000000080035040c0c6469641870616c6c65741043616c6c04045400013c1863726561746508011c64657461696c7339040168426f783c4469644372656174696f6e44657461696c733c543e3e0001247369676e61747572651d0401304469645369676e617475726500007cec53746f72652061206e657720444944206f6e20636861696e2c20616674657220766572696679696e67207468617420746865206372656174696f6e05016f7065726174696f6e20686173206265656e207369676e656420627920746865204b494c54206163636f756e74206173736f63696174656420776974682074686501016964656e746966696572206f662074686520444944206265696e67206372656174656420616e6420746861742061204449442077697468207468652073616d6511016964656e74696669657220686173206e6f742070726576696f75736c792065786973746564206f6e2028616e64207468656e2064656c657465642066726f6d292074686518636861696e2e000d015468657265206d757374206265206e6f2044494420696e666f726d6174696f6e2073746f726564206f6e20636861696e20756e646572207468652073616d65204449442c6964656e7469666965722e00fc546865206e6577206b65797320616464656420776974682074686973206f7065726174696f6e206172652073746f72656420756e646572207468652044494405016964656e74696669657220616c6f6e6720776974682074686520626c6f636b206e756d62657220696e20776869636820746865206f7065726174696f6e207761732465786563757465642e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e004c456d697473206044696443726561746564602e002823203c7765696768743e0d012d20546865207472616e73616374696f6e277320636f6d706c6578697479206973206d61696e6c7920646570656e64656e74206f6e20746865206e756d626572206f66010120206e6577206b65792061677265656d656e74206b65797320616e6420746865206e756d626572206f66206e6577207365727669636520656e64706f696e7473702020696e636c7564656420696e20746865206f7065726174696f6e2e242d2d2d2d2d2d2d2d2df85765696768743a204f284b29202b204f284e29207768657265204b20697320746865206e756d626572206f66206e6577206b65792061677265656d656e7409016b65797320626f756e64656420627920604d61784e65774b657941677265656d656e744b657973602c207768696c65204e20697320746865206e756d626572206f66f46e6577207365727669636520656e64706f696e747320626f756e64656420627920604d61784e756d6265724f665365727669636573506572446964602eb02d2052656164733a205b4f726967696e204163636f756e745d2c204469642c20446964426c61636b6c697374fc2d205772697465733a20446964202877697468204b206e6577206b65792061677265656d656e74206b657973292c2053657276696365456e64706f696e7473cc20202877697468204e206e6577207365727669636520656e64706f696e7473292c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e587365745f61757468656e7469636174696f6e5f6b657904011c6e65775f6b657951040148446964566572696669636174696f6e4b65790001408855706461746520746865204449442061757468656e7469636174696f6e206b65792e00ec546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696620697420697309016e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f207468654c736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e487365745f64656c65676174696f6e5f6b657904011c6e65775f6b657951040148446964566572696669636174696f6e4b657900024094536574206f722075706461746520746865204449442064656c65676174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5472656d6f76655f64656c65676174696f6e5f6b657900033c7852656d6f766520746865204449442064656c65676174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e4c7365745f6174746573746174696f6e5f6b657904011c6e65775f6b657951040148446964566572696669636174696f6e4b657900044098536574206f72207570646174652074686520444944206174746573746174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5872656d6f76655f6174746573746174696f6e5f6b657900053c7c52656d6f76652074686520444944206174746573746174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e546164645f6b65795f61677265656d656e745f6b657904011c6e65775f6b657941040140446964456e6372797074696f6e4b6579000638b841646420612073696e676c65206e6577206b65792061677265656d656e74206b657920746f20746865204449442e00bc546865206e6577206b657920697320616464656420746f2074686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e6072656d6f76655f6b65795f61677265656d656e745f6b65790401186b65795f69642c01284b657949644f663c543e000734050152656d6f7665206120444944206b65792061677265656d656e74206b65792066726f6d20626f74682069747320736574206f66206b65792061677265656d656e74906b65797320616e642061732077656c6c20617320697473207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506164645f736572766963655f656e64706f696e74040140736572766963655f656e64706f696e7465040138446964456e64706f696e743c543e000830bc4164642061206e6577207365727669636520656e64706f696e7420756e6465722074686520676976656e204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f2831290d012d2052656164733a205b4f726967696e204163636f756e745d2c204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e5c72656d6f76655f736572766963655f656e64706f696e74040128736572766963655f69646904015053657276696365456e64706f696e7449643c543e000930d452656d6f76652074686520736572766963652077697468207468652070726f76696465642049442066726f6d20746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e1864656c65746504014c656e64706f696e74735f746f5f72656d6f76651c010c753332000a600d0144656c6574652061204449442066726f6d2074686520636861696e20616e6420616c6c20696e666f726d6174696f6e206173736f63696174656420776974682069742c1101616674657220766572696679696e672074686174207468652064656c657465206f7065726174696f6e20686173206265656e207369676e65642062792074686520444944fc7375626a656374207573696e67207468652061757468656e7469636174696f6e206b65792063757272656e746c792073746f726564206f6e20636861696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408012c6469645f7375626a6563740001484469644964656e7469666965724f663c543e00014c656e64706f696e74735f746f5f72656d6f76651c010c753332000b54f45265636c61696d2061206465706f73697420666f722061204449442e20546869732077696c6c2064656c657465207468652044494420616e6420616c6c0901696e666f726d6174696f6e206173736f63696174656420776974682069742c20616674657220766572696679696e672074686174207468652063616c6c657220697364746865206f776e6572206f6620746865206465706f7369742e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7375626d69745f6469645f63616c6c0801206469645f63616c6c85040188426f783c446964417574686f72697a656443616c6c4f7065726174696f6e3c543e3e0001247369676e61747572651d0401304469645369676e6174757265000c8cec50726f7879206120646973706174636861626c652063616c6c206f6620616e6f746865722072756e74696d652065787472696e736963207468617458737570706f727473206120444944206f726967696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f726520746865606f7065726174696f6e20697320646973706174636865642e00fc412063616c6c207375626d6974746564207468726f75676820746869732065787472696e736963206d757374206265207369676e65642077697468207468650901726967687420444944206b65792c20646570656e64696e67206f6e207468652063616c6c2e205468697320696e666f726d6174696f6e2069732070726f766964656409016279207468652060446964417574686f72697a656443616c6c4f7065726174696f6e6020706172616d657465722c20776869636820737065636966696573207468650901444944207375626a65637420616374696e6720617320746865206f726967696e206f66207468652063616c6c2c2074686520444944277320747820636f756e7465720101286e6f6e6365292c2074686520646973706174636861626c6520746f2063616c6c20696e2063617365207369676e617475726520766572696669636174696f6ef073756363656564732c207468652074797065206f6620444944206b657920746f2075736520746f2076657269667920746865206f7065726174696f6efc7369676e61747572652c20616e642074686520626c6f636b206e756d62657220746865206f7065726174696f6e2077617320746172676574696e6720666f72a8696e636c7573696f6e2c207768656e20697420776173206372656174656420616e64207369676e65642e00fc496e206361736520746865207369676e617475726520697320696e636f72726563742c20746865206e6f6e6365206973206e6f742076616c69642c20746865fc7265717569726564206b6579206973206e6f742070726573656e7420666f722074686520737065636966696564204449442c206f722074686520626c6f636bfc73706563696669656420697320746f6f206f6c642074686520766572696669636174696f6e206661696c7320616e64207468652063616c6c206973206e6f74f4646973706174636865642e204f74686572776973652c207468652063616c6c2069732070726f7065726c79206469737061746368656420776974682061b8604469644f726967696e60206f726967696e20696e6469636174696e672074686520444944207375626a6563742e00110141207375636365737366756c206469737061746368206f7065726174696f6e20726573756c747320696e2074686520747820636f756e746572206173736f6369617465640501776974682074686520676976656e2044494420746f20626520696e6372656d656e7465642c20746f206d69746967617465207265706c61792061747461636b732e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e0068456d697473206044696443616c6c44697370617463686564602e002823203c7765696768743eb05765696768743a204f283129202b20776569676874206f662074686520646973706174636865642063616c6c782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572000d1c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00b8546865207375626a656374206f66207468652063616c6c206d7573742062652074686520646964206f776e65722ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404010c6469640001484469644964656e7469666965724f663c543e000e0cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e39040c0c6469642c6469645f64657461696c73484469644372656174696f6e44657461696c73040454000018010c6469640001484469644964656e7469666965724f663c543e0001247375626d69747465720001384163636f756e7449644f663c543e0001586e65775f6b65795f61677265656d656e745f6b6579733d04016c4469644e65774b657941677265656d656e744b65795365743c543e00014c6e65775f6174746573746174696f6e5f6b65794d0401684f7074696f6e3c446964566572696669636174696f6e4b65793e0001486e65775f64656c65676174696f6e5f6b65794d0401684f7074696f6e3c446964566572696669636174696f6e4b65793e00014c6e65775f736572766963655f64657461696c736104014c5665633c446964456e64706f696e743c543e3e00003d04101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e64656442547265655365740804540141040453000004004504012c42547265655365743c543e000041040c0c6469642c6469645f64657461696c7340446964456e6372797074696f6e4b65790001041858323535313904000401205b75383b2033325d00000000450404204254726565536574040454014104000400490400000049040000024104004d0404184f7074696f6e0404540151040108104e6f6e6500000010536f6d6504005104000001000051040c0c6469642c6469645f64657461696c7348446964566572696669636174696f6e4b657900010c1c4564323535313904005504013c656432353531393a3a5075626c69630000001c537232353531390400dd02013c737232353531393a3a5075626c696300010014456364736104005904013465636473613a3a5075626c69630002000055040c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d000059040c1c73705f636f7265146563647361185075626c6963000004005d0401205b75383b2033335d00005d04000003210000000800610400000265040065040c0c64696444736572766963655f656e64706f696e74732c446964456e64706f696e7404045400000c010869646904015053657276696365456e64706f696e7449643c543e000134736572766963655f74797065736d04017453657276696365456e64706f696e7454797065456e74726965733c543e00011075726c737904017053657276696365456e64706f696e7455726c456e74726965733c543e00006904101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00006d04101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454017104045300000400750401185665633c543e00007104101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000075040000027104007904101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454017d04045300000400810401185665633c543e00007d04101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000081040000027d040085040c0c6469642c6469645f64657461696c7368446964417574686f72697a656443616c6c4f7065726174696f6e040454000014010c6469640001484469644964656e7469666965724f663c543e00012874785f636f756e74657210010c75363400011063616c6c8d03014044696443616c6c61626c654f663c543e000130626c6f636b5f6e756d626572100140426c6f636b4e756d6265724f663c543e0001247375626d69747465720001384163636f756e7449644f663c543e000089040c4470616c6c65745f6469645f6c6f6f6b75701870616c6c65741043616c6c04045400011c446173736f63696174655f6163636f756e740c011c6163636f756e740001384163636f756e7449644f663c543e00012865787069726174696f6e1001a03c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a426c6f636b4e756d62657200011470726f6f668d0401385369676e61747572654f663c543e00004405014173736f63696174652074686520676976656e206163636f756e7420746f2074686520444944207468617420617574686f72697a656420746869732063616c6c2e000501546865206163636f756e742068617320746f207369676e207468652044494420616e64206120626c6f636b6e756d62657220616674657220776869636820746865e07369676e6174757265206578706972657320696e206f7264657220746f20617574686f72697a6520746865206173736f63696174696f6e2e001101546865207369676e61747572652077696c6c20626520636865636b656420616761696e737420746865207363616c6520656e636f646564207475706c65206f66207468650d016d6574686f64207370656369666963206964206f662074686520646964206964656e74696669657220616e642074686520626c6f636b206e756d626572206166746572bc776869636820746865207369676e61747572652073686f756c6420626520726567617264656420696e76616c69642e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e406173736f63696174655f73656e64657200012c01014173736f6369617465207468652073656e646572206f66207468652063616c6c20746f2074686520444944207468617420617574686f72697a656420746869731463616c6c2e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6472656d6f76655f73656e6465725f6173736f63696174696f6e000228fc52656d6f766520746865206173736f63696174696f6e206f66207468652073656e646572206163636f756e742e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865204449442c206275742072657175697265732061207369676e6564206f726967696e2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6872656d6f76655f6163636f756e745f6173736f63696174696f6e04011c6163636f756e740001384163636f756e7449644f663c543e00032c110152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742049442e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865206163636f756e742049442c2062757420746865206173736f63696174656420444944c46e6565647320746f206d617463682074686520444944207468617420617574686f72697a656420746869732063616c6c2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697404011c6163636f756e740001384163636f756e7449644f663c543e00042c090152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742e20546869732063616c6c2063616e206f6e6c79f862652063616c6c65642066726f6d20746865206465706f736974206f776e65722e20546865207265736572766564206465706f7369742077696c6c2062651866726565642e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129582d2052656164733a20436f6e6e6563746564446964735c2d205772697465733a20436f6e6e6563746564446964732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204011c6163636f756e740001384163636f756e7449644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00d8546865207375626a656374206f66207468652063616c6c206d757374206265206c696e6b656420746f20746865206163636f756e742ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404011c6163636f756e740001384163636f756e7449644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e8d04082873705f72756e74696d65384d756c74695369676e617475726500010c1c45643235353139040021040148656432353531393a3a5369676e61747572650000001c53723235353139040029040148737232353531393a3a5369676e617475726500010014456364736104002d04014065636473613a3a5369676e61747572650002000091040c4470616c6c65745f776562335f6e616d65731870616c6c65741043616c6c04045400011c14636c61696d0401106e616d6511010140576562334e616d65496e7075743c543e00003ce841737369676e2074686520737065636966696564206e616d6520746f20746865206f776e65722061732073706563696669656420696e207468651c6f726967696e2e000d01546865206e616d65206d757374206e6f74206861766520616c7265616479206265656e20636c61696d656420627920736f6d656f6e6520656c736520616e6420746865a06f776e6572206d757374206e6f7420616c7265616479206f776e20616e6f74686572206e616d652e00dc456d6974732060576562334e616d65436c61696d65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f28312909012d2052656164733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b20617661696c61626c652063757272656e6379582020636865636b202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f73697420726573657276652c23203c2f7765696768743e4072656c656173655f62795f6f776e6572000130a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e00cc546865206f726967696e206d75737420626520746865206f776e6572206f662074686520737065636966696564206e616d652e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204e616d65732073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e3c7265636c61696d5f6465706f7369740401106e616d6511010140576562334e616d65496e7075743c543e000230a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e000101546865206f726967696e206d75737420626520746865206163636f756e742074686174207061696420666f7220746865206e616d652773206465706f7369742e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204f776e65722073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e0c62616e0401106e616d6511010140576562334e616d65496e7075743c543e0003402c42616e2061206e616d652e00f4412062616e6e6564206e616d652063616e6e6f7420626520636c61696d656420627920616e796f6e652e20546865206e616d652773206465706f7369748869732072657475726e656420746f20746865206f726967696e616c2070617965722e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00d8456d6974732060576562334e616d6542616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129f02d2052656164733a2042616e6e65642c204f776e65722c204e616d65732073746f7261676520656e7472696573202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b2063757272656e6379206465706f73697424202072656c656173652c23203c2f7765696768743e14756e62616e0401106e616d6511010140576562334e616d65496e7075743c543e00043834556e62616e2061206e616d652e00704d616b652061206e616d6520636c61696d61626c6520616761696e2e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00e0456d6974732060576562334e616d65556e62616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129b02d2052656164733a2042616e6e65642073746f7261676520656e747279202b206f726967696e20636865636bb82d205772697465733a2042616e6e65642073746f7261676520656e747279206465706f7369742072656c656173652c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657200051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00e8546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f662074686520776562336e616d652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f7369740401286e616d655f696e70757411010140576562334e616d65496e7075743c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e95040c487075626c69635f63726564656e7469616c731870616c6c65741043616c6c04045400011c0c61646404012863726564656e7469616c99040164426f783c496e70757443726564656e7469616c4f663c543e3e000018a852656769737465722061206e6577207075626c69632063726564656e7469616c206f6e20636861696e2e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c2077697468207468652073616d65206964656e74696669657220616c72656164798465786973747320666f722074686520737065636966696564207375626a6563742e0064456d697473206043726564656e7469616c53746f726564602e187265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e090401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000120705265766f6b65732061207075626c69632063726564656e7469616c2e001101496620612063726564656e7469616c2077617320616c7265616479207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f207265766f6b65207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c5265766f6b6564602e20756e7265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e090401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00022478556e7265766f6b65732061207075626c69632063726564656e7469616c2e000101496620612063726564656e7469616c20776173206e6f74207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e00d8546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f20756e7265766f6b65207468652c63726564656e7469616c2e0070456d697473206043726564656e7469616c556e7265766f6b6564602e1872656d6f766508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e090401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000344fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d2074686518636861696e2e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f2072656d6f7665207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c52656d6f766564602e3c7265636c61696d5f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000448fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d20746865ac636861696e20616e642072657475726e7320746865206465706f73697420746f206974732070617965722e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000d01546865206469737061746368206f726967696e206d75737420626520746865206f776e6572206f6620746865206465706f7369742c2068656e6365206e6f74207468655863726564656e7469616c27732061747465737465722e0068456d697473206043726564656e7469616c52656d6f766564602e506368616e67655f6465706f7369745f6f776e657204013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00f0546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652063726564656e7469616c2ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e99040c487075626c69635f63726564656e7469616c732c63726564656e7469616c732843726564656e7469616c1024437479706548617368012c445375626a6563744964656e746966696572019d0418436c61696d7301a10434416363657373436f6e74726f6c010d040010012863747970655f686173682c012443747970654861736800011c7375626a6563749d0401445375626a6563744964656e746966696572000118636c61696d73a1040118436c61696d73000134617574686f72697a6174696f6e090401544f7074696f6e3c416363657373436f6e74726f6c3e00009d04101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000a104101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000a5040c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c65741043616c6c0404540001104c7365745f76616c69646174696f6e5f6461746104011064617461a904015450617261636861696e496e686572656e744461746100002480536574207468652063757272656e742076616c69646174696f6e20646174612e004101546869732073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e887068617365206966207468652063616c6c20776173206e6f7420696e766f6b65642e00d0546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e7460002101417320612073696465206566666563742c20746869732066756e6374696f6e207570677261646573207468652063757272656e742076616c69646174696f6e2066756e6374696f6e8469662074686520617070726f7072696174652074696d652068617320636f6d652e607375646f5f73656e645f7570776172645f6d65737361676504011c6d6573736167653001345570776172644d65737361676500010044617574686f72697a655f75706772616465040124636f64655f686173682c011c543a3a4861736800020060656e6163745f617574686f72697a65645f75706772616465040110636f646530011c5665633c75383e000300042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea904089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e745450617261636861696e496e686572656e7444617461000010013c76616c69646174696f6e5f64617461ad04015c50657273697374656456616c69646174696f6e4461746100014472656c61795f636861696e5f7374617465b504015473705f747269653a3a53746f7261676550726f6f66000144646f776e776172645f6d65737361676573bd04016c5665633c496e626f756e64446f776e776172644d6573736167653e00014c686f72697a6f6e74616c5f6d65737361676573c50401a442547265654d61703c5061726149642c205665633c496e626f756e6448726d704d6573736167653e3e0000ad040c4c706f6c6b61646f745f7072696d6974697665730876325c50657273697374656456616c69646174696f6e44617461080448012c044e011c0010012c706172656e745f68656164b1040120486561644461746100014c72656c61795f706172656e745f6e756d6265721c01044e00016472656c61795f706172656e745f73746f726167655f726f6f742c0104480001306d61785f706f765f73697a651c010c7533320000b1040c48706f6c6b61646f745f70617261636861696e287072696d6974697665732048656164446174610000040030011c5665633c75383e0000b5040c1c73705f747269653473746f726167655f70726f6f663053746f7261676550726f6f660000040128747269655f6e6f646573b904014442547265655365743c5665633c75383e3e0000b9040420425472656553657404045401300004005902000000bd04000002c10400c1040860706f6c6b61646f745f636f72655f7072696d69746976657358496e626f756e64446f776e776172644d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d62657200010c6d736730013c446f776e776172644d6573736167650000c504042042547265654d617008044b019901045601c904000400d104000000c904000002cd0400cd040860706f6c6b61646f745f636f72655f7072696d69746976657348496e626f756e6448726d704d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d6265720001106461746130015073705f7374643a3a7665633a3a5665633c75383e0000d104000002d50400d504000004089901c90400d9040c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c65741043616c6c04045400012448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d697410012458636d57656967687400003484536572766963657320612073696e676c65206f7665727765696768742058434d2e00c02d20606f726967696e603a204d75737420706173732060457865637574654f7665727765696768744f726967696e602ed42d2060696e646578603a2054686520696e646578206f6620746865206f7665727765696768742058434d20746f20736572766963650d012d20607765696768745f6c696d6974603a2054686520616d6f756e74206f662077656967687420746861742058434d20657865637574696f6e206d61792074616b652e001c4572726f72733a5d012d20604261644f766572776569676874496e646578603a2058434d20756e6465722060696e64657860206973206e6f7420666f756e6420696e2074686520604f766572776569676874602073746f72616765206d61702e45012d206042616458636d603a2058434d20756e6465722060696e646578602063616e6e6f742062652070726f7065726c79206465636f64656420696e746f20612076616c69642058434d20666f726d61742e09012d20605765696768744f7665724c696d6974603a2058434d20657865637574696f6e206d617920757365206772656174657220607765696768745f6c696d6974602e001c4576656e74733a8c2d20604f7665727765696768745365727669636564603a204f6e20737563636573732e5473757370656e645f78636d5f657865637574696f6e00010c490153757370656e647320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652c207265676172646c657373206f66207468652073656e6465722773206f726967696e2e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e50726573756d655f78636d5f657865637574696f6e000214b8526573756d657320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652e003d014e6f7465207468617420746869732066756e6374696f6e20646f65736e2774206368616e67652074686520737461747573206f662074686520696e2f6f757420626f756e64206368616e6e656c732e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e607570646174655f73757370656e645f7468726573686f6c6404010c6e65771c010c75333200031499014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e2074686520717565756520666f7220746865206f74686572207369646520746f20626520746f6c6420746f5873757370656e642074686569722073656e64696e672e00742d20606f726967696e603a204d75737420706173732060526f6f74602ee82d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e73757370656e645f76616c756560547570646174655f64726f705f7468726573686f6c6404010c6e65771c010c75333200041495014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e207468652071756575652061667465722077686963682077652064726f7020616e792066757274686572686d657373616765732066726f6d20746865206368616e6e656c2e00742d20606f726967696e603a204d75737420706173732060526f6f74602eec2d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e64726f705f7468726573686f6c64605c7570646174655f726573756d655f7468726573686f6c6404010c6e65771c010c75333200051491014f76657277726974657320746865206e756d626572206f66207061676573206f66206d6573736167657320776869636820746865207175657565206d757374206265207265647563656420746f206265666f7265206974207369676e616c732074686174ec6d6573736167652073656e64696e67206d6179207265636f6d6d656e636520616674657220697420686173206265656e2073757370656e6465642e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e726573756d655f7468726573686f6c64605c7570646174655f7468726573686f6c645f77656967687404010c6e657710012458636d57656967687400061049014f7665727772697465732074686520616d6f756e74206f662072656d61696e696e672077656967687420756e6465722077686963682077652073746f702070726f63657373696e67206d657373616765732e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7468726573686f6c645f77656967687460707570646174655f7765696768745f72657374726963745f646563617904010c6e657710012458636d57656967687400071445014f7665727772697465732074686520737065656420746f2077686963682074686520617661696c61626c652077656967687420617070726f616368657320746865206d6178696d756d207765696768742ea50141206c6f776572206e756d62657220726573756c747320696e2061206661737465722070726f6772657373696f6e2e20412076616c7565206f662031206d616b65732074686520656e746972652077656967687420617661696c61626c6520696e697469616c6c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e0d012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7765696768745f72657374726963745f6465636179602e847570646174655f78636d705f6d61785f696e646976696475616c5f77656967687404010c6e657710012458636d57656967687400081429014f766572777269746520746865206d6178696d756d20616d6f756e74206f662077656967687420616e7920696e646976696475616c206d657373616765206d617920636f6e73756d652e71014d657373616765732061626f766520746869732077656967687420676f20696e746f20746865206f76657277656967687420717565756520616e64206d6179206f6e6c79206265207365727669636564206578706c696369746c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e21012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e78636d705f6d61785f696e646976696475616c5f776569676874602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632edd040c2870616c6c65745f78636d1870616c6c65741043616c6c0404540001281073656e64080110646573742d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011c6d657373616765e1040154426f783c56657273696f6e656458636d3c28293e3e0000003c74656c65706f72745f617373657473100110646573742d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172792d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747319020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c75333200013c110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e5c726573657276655f7472616e736665725f617373657473100110646573742d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172792d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747319020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320002404d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e1c6578656375746508011c6d6573736167650d0501c0426f783c56657273696f6e656458636d3c3c5420617320537973436f6e6669673e3a3a52756e74696d6543616c6c3e3e0001286d61785f77656967687410012458636d57656967687400032cd04578656375746520616e2058434d206d6573736167652066726f6d2061206c6f63616c2c207369676e65642c206f726967696e2e004d01416e206576656e74206973206465706f736974656420696e6469636174696e67207768657468657220606d73676020636f756c6420626520657865637574656420636f6d706c6574656c79206f72206f6e6c79287061727469616c6c792e006d014e6f206d6f7265207468616e20606d61785f776569676874602077696c6c206265207573656420696e2069747320617474656d7074656420657865637574696f6e2e2049662074686973206973206c657373207468616e2074686559016d6178696d756d20616d6f756e74206f6620776569676874207468617420746865206d65737361676520636f756c642074616b6520746f2062652065786563757465642c207468656e206e6f20657865637574696f6e54617474656d70742077696c6c206265206d6164652e006d014e4f54453a2041207375636365737366756c2072657475726e20746f207468697320646f6573202a6e6f742a20696d706c7920746861742074686520606d73676020776173206578656375746564207375636365737366756c6c79cc746f20636f6d706c6574696f6e3b206f6e6c792074686174202a736f6d652a206f66206974207761732065786563757465642e44666f7263655f78636d5f76657273696f6e0801206c6f636174696f6ea5010148426f783c4d756c74694c6f636174696f6e3e00012c78636d5f76657273696f6e1c012858636d56657273696f6e00041849014578746f6c6c2074686174206120706172746963756c61722064657374696e6174696f6e2063616e20626520636f6d6d756e6963617465642077697468207468726f756768206120706172746963756c61723c76657273696f6e206f662058434d2e00642d20606f726967696e603a204d75737420626520526f6f742ed82d20606c6f636174696f6e603a205468652064657374696e6174696f6e2074686174206973206265696e67206465736372696265642e11012d206078636d5f76657273696f6e603a20546865206c61746573742076657273696f6e206f662058434d207468617420606c6f636174696f6e6020737570706f7274732e64666f7263655f64656661756c745f78636d5f76657273696f6e0401446d617962655f78636d5f76657273696f6e990301484f7074696f6e3c58636d56657273696f6e3e0005145901536574206120736166652058434d2076657273696f6e20287468652076657273696f6e20746861742058434d2073686f756c6420626520656e636f646564207769746820696620746865206d6f737420726563656e74b476657273696f6e20612064657374696e6174696f6e2063616e2061636365707420697320756e6b6e6f776e292e00642d20606f726967696e603a204d75737420626520526f6f742e39012d20606d617962655f78636d5f76657273696f6e603a205468652064656661756c742058434d20656e636f64696e672076657273696f6e2c206f7220604e6f6e656020746f2064697361626c652e78666f7263655f7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e2d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000610390141736b2061206c6f636174696f6e20746f206e6f7469667920757320726567617264696e672074686569722058434d2076657273696f6e20616e6420616e79206368616e67657320746f2069742e00642d20606f726967696e603a204d75737420626520526f6f742e59012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f2077686963682077652073686f756c642073756273637269626520666f722058434d2076657273696f6e206e6f74696669636174696f6e732e80666f7263655f756e7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e2d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e0007184901526571756972652074686174206120706172746963756c61722064657374696e6174696f6e2073686f756c64206e6f206c6f6e676572206e6f7469667920757320726567617264696e6720616e792058434d4076657273696f6e206368616e6765732e00642d20606f726967696e603a204d75737420626520526f6f742e3d012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f207768696368207765206172652063757272656e746c79207375627363726962656420666f722058434d2076657273696f6ea820206e6f74696669636174696f6e73207768696368207765206e6f206c6f6e676572206465736972652e7c6c696d697465645f726573657276655f7472616e736665725f617373657473140110646573742d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172792d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747319020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69741102012c5765696768744c696d69740008484d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e5c6c696d697465645f74656c65706f72745f617373657473140110646573742d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172792d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747319020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69741102012c5765696768744c696d6974000944110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee104080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010c0856300400e504015076303a3a58636d3c52756e74696d6543616c6c3e0000000856310400f904015076313a3a58636d3c52756e74696d6543616c6c3e0001000856320400c901015076323a3a58636d3c52756e74696d6543616c6c3e00020000e5040c0c78636d0876300c58636d042c52756e74696d6543616c6c00012c34576974686472617741737365740801186173736574731d02013c5665633c4d756c746941737365743e00011c65666665637473e904015c5665633c4f726465723c52756e74696d6543616c6c3e3e0000004c5265736572766541737365744465706f7369740801186173736574731d02013c5665633c4d756c746941737365743e00011c65666665637473e904015c5665633c4f726465723c52756e74696d6543616c6c3e3e0001003454656c65706f727441737365740801186173736574731d02013c5665633c4d756c746941737365743e00011c65666665637473e904015c5665633c4f726465723c52756e74696d6543616c6c3e3e000200345175657279526573706f6e736508012071756572795f696428010c753634000120726573706f6e7365f5040120526573706f6e7365000300345472616e7366657241737365740801186173736574731d02013c5665633c4d756c746941737365743e00011064657374250201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574731d02013c5665633c4d756c746941737365743e00011064657374250201344d756c74694c6f636174696f6e00011c65666665637473e90401385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f74797065fd0101284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c01020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b101010c7533320001406d61785f6d6573736167655f73697a65b101010c7533320001306d61785f6361706163697479b101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b101010c75333200011873656e646572b101010c753332000124726563697069656e74b101010c7533320009002c52656c6179656446726f6d08010c77686f250201344d756c74694c6f636174696f6e00011c6d657373616765e504018c616c6c6f633a3a626f7865643a3a426f783c58636d3c52756e74696d6543616c6c3e3e000a0000e904000002ed0400ed04100c78636d087630146f72646572144f72646572042c52756e74696d6543616c6c000120104e756c6c000000304465706f73697441737365740801186173736574731d02013c5665633c4d756c746941737365743e00011064657374250201344d756c74694c6f636174696f6e0001004c4465706f7369745265736572766541737365740c01186173736574731d02013c5665633c4d756c746941737365743e00011064657374250201344d756c74694c6f636174696f6e00011c65666665637473e90401385665633c4f726465723c28293e3e0002003445786368616e67654173736574080110676976651d02013c5665633c4d756c746941737365743e00011c726563656976651d02013c5665633c4d756c746941737365743e0003005c496e6974696174655265736572766557697468647261770c01186173736574731d02013c5665633c4d756c746941737365743e00011c72657365727665250201344d756c74694c6f636174696f6e00011c65666665637473e90401385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c01186173736574731d02013c5665633c4d756c746941737365743e00011064657374250201344d756c74694c6f636174696f6e00011c65666665637473e90401385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f696428010c75363400011064657374250201344d756c74694c6f636174696f6e0001186173736574731d02013c5665633c4d756c746941737365743e00060030427579457865637574696f6e14011066656573210201284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72a40110626f6f6c00010c78636df10401545665633c58636d3c52756e74696d6543616c6c3e3e00070000f104000002e50400f5040c0c78636d08763020526573706f6e73650001041841737365747304001d02013c5665633c4d756c746941737365743e00000000f9040c0c78636d0876310c58636d042c52756e74696d6543616c6c0001343457697468647261774173736574080118617373657473d501012c4d756c746941737365747300011c65666665637473fd04015c5665633c4f726465723c52756e74696d6543616c6c3e3e000000545265736572766541737365744465706f7369746564080118617373657473d501012c4d756c746941737365747300011c65666665637473fd04015c5665633c4f726465723c52756e74696d6543616c6c3e3e000100585265636569766554656c65706f727465644173736574080118617373657473d501012c4d756c746941737365747300011c65666665637473fd04015c5665633c4f726465723c52756e74696d6543616c6c3e3e000200345175657279526573706f6e736508012071756572795f696428010c753634000120726573706f6e736509050120526573706f6e7365000300345472616e736665724173736574080118617373657473d501012c4d756c746941737365747300012c62656e6566696369617279a50101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473d501012c4d756c746941737365747300011064657374a50101344d756c74694c6f636174696f6e00011c65666665637473fd0401385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f74797065fd0101284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c01020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b101010c7533320001406d61785f6d6573736167655f73697a65b101010c7533320001306d61785f6361706163697479b101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b101010c75333200011873656e646572b101010c753332000124726563697069656e74b101010c7533320009002c52656c6179656446726f6d08010c77686fa9010154496e746572696f724d756c74694c6f636174696f6e00011c6d657373616765f904018c616c6c6f633a3a626f7865643a3a426f783c58636d3c52756e74696d6543616c6c3e3e000a004053756273637269626556657273696f6e08012071756572795f696428010c75363400014c6d61785f726573706f6e73655f77656967687428010c753634000b0048556e73756273637269626556657273696f6e000c0000fd040000020105000105100c78636d087631146f72646572144f72646572042c52756e74696d6543616c6c000120104e6f6f70000000304465706f73697441737365740c0118617373657473050201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200012c62656e6566696369617279a50101344d756c74694c6f636174696f6e0001004c4465706f736974526573657276654173736574100118617373657473050201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200011064657374a50101344d756c74694c6f636174696f6e00011c65666665637473fd0401385665633c4f726465723c28293e3e0002003445786368616e6765417373657408011067697665050201404d756c7469417373657446696c74657200011c72656365697665d501012c4d756c74694173736574730003005c496e6974696174655265736572766557697468647261770c0118617373657473050201404d756c7469417373657446696c74657200011c72657365727665a50101344d756c74694c6f636174696f6e00011c65666665637473fd0401385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c0118617373657473050201404d756c7469417373657446696c74657200011064657374a50101344d756c74694c6f636174696f6e00011c65666665637473fd0401385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f696428010c75363400011064657374a50101344d756c74694c6f636174696f6e000118617373657473050201404d756c7469417373657446696c74657200060030427579457865637574696f6e14011066656573dd0101284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72a40110626f6f6c000130696e737472756374696f6e73050501545665633c58636d3c52756e74696d6543616c6c3e3e000700000505000002f9040009050c0c78636d08763120526573706f6e7365000108184173736574730400d501012c4d756c74694173736574730000001c56657273696f6e04001c013873757065723a3a56657273696f6e000100000d05080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010c08563004001105015076303a3a58636d3c52756e74696d6543616c6c3e00000008563104002505015076313a3a58636d3c52756e74696d6543616c6c3e00010008563204003505015076323a3a58636d3c52756e74696d6543616c6c3e0002000011050c0c78636d0876300c58636d042c52756e74696d6543616c6c00012c34576974686472617741737365740801186173736574731d02013c5665633c4d756c746941737365743e00011c656666656374731505015c5665633c4f726465723c52756e74696d6543616c6c3e3e0000004c5265736572766541737365744465706f7369740801186173736574731d02013c5665633c4d756c746941737365743e00011c656666656374731505015c5665633c4f726465723c52756e74696d6543616c6c3e3e0001003454656c65706f727441737365740801186173736574731d02013c5665633c4d756c746941737365743e00011c656666656374731505015c5665633c4f726465723c52756e74696d6543616c6c3e3e000200345175657279526573706f6e736508012071756572795f696428010c753634000120726573706f6e7365f5040120526573706f6e7365000300345472616e7366657241737365740801186173736574731d02013c5665633c4d756c746941737365743e00011064657374250201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574731d02013c5665633c4d756c746941737365743e00011064657374250201344d756c74694c6f636174696f6e00011c65666665637473e90401385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f74797065fd0101284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c21050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b101010c7533320001406d61785f6d6573736167655f73697a65b101010c7533320001306d61785f6361706163697479b101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b101010c75333200011873656e646572b101010c753332000124726563697069656e74b101010c7533320009002c52656c6179656446726f6d08010c77686f250201344d756c74694c6f636174696f6e00011c6d6573736167651105018c616c6c6f633a3a626f7865643a3a426f783c58636d3c52756e74696d6543616c6c3e3e000a000015050000021905001905100c78636d087630146f72646572144f72646572042c52756e74696d6543616c6c000120104e756c6c000000304465706f73697441737365740801186173736574731d02013c5665633c4d756c746941737365743e00011064657374250201344d756c74694c6f636174696f6e0001004c4465706f7369745265736572766541737365740c01186173736574731d02013c5665633c4d756c746941737365743e00011064657374250201344d756c74694c6f636174696f6e00011c65666665637473e90401385665633c4f726465723c28293e3e0002003445786368616e67654173736574080110676976651d02013c5665633c4d756c746941737365743e00011c726563656976651d02013c5665633c4d756c746941737365743e0003005c496e6974696174655265736572766557697468647261770c01186173736574731d02013c5665633c4d756c746941737365743e00011c72657365727665250201344d756c74694c6f636174696f6e00011c65666665637473e90401385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c01186173736574731d02013c5665633c4d756c746941737365743e00011064657374250201344d756c74694c6f636174696f6e00011c65666665637473e90401385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f696428010c75363400011064657374250201344d756c74694c6f636174696f6e0001186173736574731d02013c5665633c4d756c746941737365743e00060030427579457865637574696f6e14011066656573210201284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72a40110626f6f6c00010c78636d1d0501545665633c58636d3c52756e74696d6543616c6c3e3e000700001d0500000211050021050c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e000025050c0c78636d0876310c58636d042c52756e74696d6543616c6c0001343457697468647261774173736574080118617373657473d501012c4d756c746941737365747300011c656666656374732905015c5665633c4f726465723c52756e74696d6543616c6c3e3e000000545265736572766541737365744465706f7369746564080118617373657473d501012c4d756c746941737365747300011c656666656374732905015c5665633c4f726465723c52756e74696d6543616c6c3e3e000100585265636569766554656c65706f727465644173736574080118617373657473d501012c4d756c746941737365747300011c656666656374732905015c5665633c4f726465723c52756e74696d6543616c6c3e3e000200345175657279526573706f6e736508012071756572795f696428010c753634000120726573706f6e736509050120526573706f6e7365000300345472616e736665724173736574080118617373657473d501012c4d756c746941737365747300012c62656e6566696369617279a50101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473d501012c4d756c746941737365747300011064657374a50101344d756c74694c6f636174696f6e00011c65666665637473fd0401385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f74797065fd0101284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c21050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b101010c7533320001406d61785f6d6573736167655f73697a65b101010c7533320001306d61785f6361706163697479b101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b101010c75333200011873656e646572b101010c753332000124726563697069656e74b101010c7533320009002c52656c6179656446726f6d08010c77686fa9010154496e746572696f724d756c74694c6f636174696f6e00011c6d6573736167652505018c616c6c6f633a3a626f7865643a3a426f783c58636d3c52756e74696d6543616c6c3e3e000a004053756273637269626556657273696f6e08012071756572795f696428010c75363400014c6d61785f726573706f6e73655f77656967687428010c753634000b0048556e73756273637269626556657273696f6e000c000029050000022d05002d05100c78636d087631146f72646572144f72646572042c52756e74696d6543616c6c000120104e6f6f70000000304465706f73697441737365740c0118617373657473050201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200012c62656e6566696369617279a50101344d756c74694c6f636174696f6e0001004c4465706f736974526573657276654173736574100118617373657473050201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200011064657374a50101344d756c74694c6f636174696f6e00011c65666665637473fd0401385665633c4f726465723c28293e3e0002003445786368616e6765417373657408011067697665050201404d756c7469417373657446696c74657200011c72656365697665d501012c4d756c74694173736574730003005c496e6974696174655265736572766557697468647261770c0118617373657473050201404d756c7469417373657446696c74657200011c72657365727665a50101344d756c74694c6f636174696f6e00011c65666665637473fd0401385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c0118617373657473050201404d756c7469417373657446696c74657200011064657374a50101344d756c74694c6f636174696f6e00011c65666665637473fd0401385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f696428010c75363400011064657374a50101344d756c74694c6f636174696f6e000118617373657473050201404d756c7469417373657446696c74657200060030427579457865637574696f6e14011066656573dd0101284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72a40110626f6f6c000130696e737472756374696f6e73310501545665633c58636d3c52756e74696d6543616c6c3e3e00070000310500000225050035050c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400390501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e000039050000023d05003d050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c00017034576974686472617741737365740400d501012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400d501012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400d501012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e7365f1010120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e736665724173736574080118617373657473d501012c4d756c746941737365747300012c62656e6566696369617279a50101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473d501012c4d756c746941737365747300011064657374a50101344d756c74694c6f636174696f6e00010c78636dc901011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065fd0101284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c21050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b101010c7533320001406d61785f6d6573736167655f73697a65b101010c7533320001306d61785f6361706163697479b101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b101010c75333200011873656e646572b101010c753332000124726563697069656e74b101010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400a9010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374a50101344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473050201404d756c7469417373657446696c7465720001286d61785f617373657473b101010c75333200012c62656e6566696369617279a50101344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473050201404d756c7469417373657446696c7465720001286d61785f617373657473b101010c75333200011064657374a50101344d756c74694c6f636174696f6e00010c78636dc901011c58636d3c28293e000e003445786368616e6765417373657408011067697665050201404d756c7469417373657446696c74657200011c72656365697665d501012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473050201404d756c7469417373657446696c74657200011c72657365727665a50101344d756c74694c6f636174696f6e00010c78636dc901011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473050201404d756c7469417373657446696c74657200011064657374a50101344d756c74694c6f636174696f6e00010c78636dc901011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374a50101344d756c74694c6f636174696f6e000118617373657473050201404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e08011066656573dd0101284d756c746941737365740001307765696768745f6c696d69741102012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204003505014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804003505014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473d501012c4d756c74694173736574730001187469636b6574a50101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b000041050c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c65741043616c6c04045400010448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d697410012458636d576569676874000030905365727669636520612073696e676c65206f766572776569676874206d6573736167652e00c02d20606f726967696e603a204d75737420706173732060457865637574654f7665727765696768744f726967696e602ee82d2060696e646578603a2054686520696e646578206f6620746865206f766572776569676874206d65737361676520746f20736572766963652e1d012d20607765696768745f6c696d6974603a2054686520616d6f756e74206f66207765696768742074686174206d65737361676520657865637574696f6e206d61792074616b652e001c4572726f72733aac2d2060556e6b6e6f776e603a204d657373616765206f662060696e6465786020697320756e6b6e6f776e2e15012d20604f7665724c696d6974603a204d65737361676520657865637574696f6e206d6179207573652067726561746572207468616e20607765696768745f6c696d6974602e001c4576656e74733a8c2d20604f7665727765696768745365727669636564603a204f6e20737563636573732e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e4505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000049050000028503004d0500000408510518005105101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540100045300000400e90201185665633c543e000055050c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d62657201102050726f706f73616c0189031c42616c616e6365011801081c4f6e676f696e670400590501c05265666572656e64756d5374617475733c426c6f636b4e756d6265722c2050726f706f73616c2c2042616c616e63653e0000002046696e6973686564080120617070726f766564a40110626f6f6c00010c656e6410012c426c6f636b4e756d6265720001000059050c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d62657201102050726f706f73616c0189031c42616c616e636501180014010c656e6410012c426c6f636b4e756d62657200012070726f706f73616c8903012050726f706f73616c0001247468726573686f6c64940134566f74655468726573686f6c6400011464656c617910012c426c6f636b4e756d62657200011474616c6c795d05013854616c6c793c42616c616e63653e00005d050c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e6365000061050c4070616c6c65745f64656d6f637261637910766f746518566f74696e67101c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d6265720110204d6178566f746573000108184469726563740c0114766f746573650501f4426f756e6465645665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e737105015044656c65676174696f6e733c42616c616e63653e0001147072696f727505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6e95030128436f6e76696374696f6e00012c64656c65676174696f6e737105015044656c65676174696f6e733c42616c616e63653e0001147072696f727505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e000100006505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540169050453000004006d0501185665633c543e00006905000004081c98006d0500000269050071050c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e6365000075050c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201101c42616c616e6365011800080010012c426c6f636b4e756d626572000018011c42616c616e63650000790500000408890394007d05000004081051050081050c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f7204045400015c2056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365445265666572656e64756d496e76616c696400090484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d2c4e6f6e6557616974696e67000a04504e6f2070726f706f73616c732077616974696e67204e6f74566f746572000b04c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e000c04c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67000d0488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473000e04fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000f04a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740010085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001104d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650012049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400130450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001404804d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c546f6f4d616e79001504804d6178696d756d206e756d626572206f66206974656d7320726561636865642e3c566f74696e67506572696f644c6f7700160454566f74696e6720706572696f6420746f6f206c6f7704b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909098505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c0453000004003d0201185665633c543e00008905084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572011000140114696e6465781c013450726f706f73616c496e6465780001247468726573686f6c641c012c4d656d626572436f756e7400011061796573e90201385665633c4163636f756e7449643e0001106e617973e90201385665633c4163636f756e7449643e00010c656e6410012c426c6f636b4e756d62657200008d050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909099105101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c0453000004003d0201185665633c543e000095050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909099905101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540100045300000400e90201185665633c543e00009d050c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a105083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e63650000a505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454011c045300000400f90201185665633c543e0000a9050c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c000004001c010c7533320000ad0504184f7074696f6e04045401180108104e6f6e6500000010536f6d650400180000010000b10508346672616d655f737570706f72742050616c6c6574496400000400ed01011c5b75383b20385d0000b5050c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900011470496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0003084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640004047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e04784572726f7220666f72207468652074726561737572792070616c6c65742eb9050c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909bd05101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401e103045300000400c10501185665633c543e0000c105000002e10300c505083870616c6c65745f76657374696e672052656c656173657300010808563000000008563100010000c9050c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742ecd05101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401d105045300000400d90501185665633c543e0000d10504184f7074696f6e04045401d5050108104e6f6e6500000010536f6d650400d5050000010000d505084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c0189032c426c6f636b4e756d62657201103450616c6c6574734f726967696e01bd03244163636f756e7449640100001401206d617962655f6964cc01304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c8903011043616c6c0001386d617962655f706572696f646963e90301944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696ebd03013450616c6c6574734f726967696e0000d905000002d10500dd050c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909e10500000408e5051800e505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401e905045300000400ed0501185665633c543e0000e905083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501d42c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065d4012450726f78795479706500011464656c617910012c426c6f636b4e756d6265720000ed05000002e90500f10500000408f5051800f505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401f905045300000400fd0501185665633c543e0000f905083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e74496401001048617368012c2c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173682c01104861736800011868656967687410012c426c6f636b4e756d6265720000fd05000002f9050001060c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909090506083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f73697409060150284163636f756e7449642c2042616c616e63652900010c6c656e1c010c753332000000245265717565737465640c011c6465706f7369740d0601704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e741c010c75333200010c6c656e9903012c4f7074696f6e3c7533323e000100000906000004080018000d0604184f7074696f6e0404540109060108104e6f6e6500000010536f6d650400090600000100001106000004082c1c001506101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000019060c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400011818546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909091d060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909092106082c70616c6c65745f746970731c4f70656e54697010244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d62657201101048617368012c001c0118726561736f6e2c01104861736800010c77686f0001244163636f756e74496400011866696e6465720001244163636f756e74496400011c6465706f73697418011c42616c616e6365000118636c6f7365732506014c4f7074696f6e3c426c6f636b4e756d6265723e00011074697073290601645665633c284163636f756e7449642c2042616c616e6365293e00012c66696e646572735f666565a40110626f6f6c0000250604184f7074696f6e04045401100108104e6f6e6500000010536f6d65040010000001000029060000020906002d060c3473705f61726974686d65746963287065725f7468696e67731c50657263656e74000004000801087538000031060c2c70616c6c65745f746970731870616c6c6574144572726f7208045400044900011830526561736f6e546f6f4269670000048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e00010488546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e5469700002046054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e6465720003041d01546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e0004042901546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d61747572650005043101546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090935060c1463747970652c63747970655f656e747279284374797065456e747279081c43726561746f7201002c426c6f636b4e756d62657201100008011c63726561746f7200011c43726561746f72000128637265617465645f617410012c426c6f636b4e756d626572000039060c1463747970651870616c6c6574144572726f7204045400010c3443547970654e6f74466f756e64000004985468657265206973206e6f20435479706520776974682074686520676976656e20686173682e484354797065416c72656164794578697374730001046454686520435479706520616c7265616479206578697374732e3c556e61626c65546f506179466565730002040d0154686520706179696e67206163636f756e742077617320756e61626c6520746f2070617920746865206665657320666f72206372656174696e6720612063747970652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909093d060c2c6174746573746174696f6e306174746573746174696f6e73484174746573746174696f6e44657461696c73040454000014012863747970655f686173682c01384374797065486173684f663c543e000120617474657374657200013441747465737465724f663c543e000140617574686f72697a6174696f6e5f6964f001704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e00011c7265766f6b6564a40110626f6f6c00011c6465706f736974410601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e000041060c306b696c745f737570706f72741c6465706f7369741c4465706f736974081c4163636f756e7401001c42616c616e63650118000801146f776e657200011c4163636f756e74000118616d6f756e7418011c42616c616e63650000450600000408f42c0049060c2c6174746573746174696f6e1870616c6c6574144572726f720404540001183c416c726561647941747465737465640000080901546865726520697320616c726561647920616e206174746573746174696f6e2077697468207468652073616d6520636c61696d20686173682073746f726564206f6e18636861696e2e38416c72656164795265766f6b6564000104a4546865206174746573746174696f6e2068617320616c7265616479206265656e207265766f6b65642e4c4174746573746174696f6e4e6f74466f756e64000204c04e6f206174746573746174696f6e206f6e20636861696e206d61746368696e672074686520636c61696d20686173682e3443547970654d69736d61746368000308fc546865206174746573746174696f6e20435479706520646f6573206e6f74206d61746368207468652043547970652073706563696669656420696e207468656864656c65676174696f6e2068696572617263687920726f6f742e30556e617574686f72697a6564000404f05468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f206368616e676520746865206174746573746174696f6e2e804d617844656c6567617465644174746573746174696f6e73457863656564656400050cf4546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732068617320616c7265616479206265656e05017265616368656420666f722074686520636f72726573706f6e64696e672064656c65676174696f6e2069642073756368207468617420616e6f74686572206f6e654063616e6e6f742062652061646465642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909094d060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368793844656c65676174696f6e4e6f646504045400001401446869657261726368795f726f6f745f69642c015444656c65676174696f6e4e6f646549644f663c543e000118706172656e74910101744f7074696f6e3c44656c65676174696f6e4e6f646549644f663c543e3e0001206368696c6472656e510601d8426f756e64656442547265655365743c44656c65676174696f6e4e6f646549644f663c543e2c20543a3a4d61784368696c6472656e3e00011c64657461696c735906015044656c65676174696f6e44657461696c733c543e00011c6465706f736974410601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e00005106101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c0453000004005506012c42547265655365743c543e0000550604204254726565536574040454012c0004003d0200000059060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368794444656c65676174696f6e44657461696c7304045400000c01146f776e657200014044656c656761746f7249644f663c543e00011c7265766f6b6564a40110626f6f6c00012c7065726d697373696f6e73fc012c5065726d697373696f6e7300005d060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368796844656c65676174696f6e48696572617263687944657461696c73040454000004012863747970655f686173682c01384374797065486173684f663c543e000061060c2864656c65676174696f6e1870616c6c6574144572726f720404540001585c44656c65676174696f6e416c72656164794578697374730000041101546865726520697320616c726561647920612064656c65676174696f6e206e6f64652077697468207468652073616d652049442073746f726564206f6e20636861696e2e60496e76616c696444656c65676174655369676e617475726500010805015468652064656c65676174652773207369676e617475726520666f72207468652064656c65676174696f6e206372656174696f6e206f7065726174696f6e20697320696e76616c69642e4844656c65676174696f6e4e6f74466f756e64000204c04e6f2064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e4044656c65676174654e6f74466f756e64000304b84e6f2064656c656761746520776974682074686520676976656e2049442073746f726564206f6e20636861696e2e58486965726172636879416c7265616479457869737473000404f8546865726520697320616c72656164792061206869657261726368792077697468207468652073616d652049442073746f726564206f6e20636861696e2e444869657261726368794e6f74466f756e64000504bc4e6f2068696572617263687920776974682074686520676976656e2049442073746f726564206f6e20636861696e2e544d617853656172636844657074685265616368656400060409014d6178206e756d626572206f66206e6f64657320636865636b656420776974686f757420766572696679696e672074686520676976656e20636f6e646974696f6e2e684e6f744f776e65724f66506172656e7444656c65676174696f6e000708f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6ef462656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20706172656e74206e6f64652e744e6f744f776e65724f6644656c65676174696f6e486965726172636879000808f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6eec62656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20726f6f74206e6f64652e60506172656e7444656c65676174696f6e4e6f74466f756e64000904dc4e6f20706172656e742064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e5c506172656e7444656c65676174696f6e5265766f6b6564000a04c854686520706172656e742064656c65676174696f6e206861732070726576696f75736c79206265656e207265766f6b65642e58556e617574686f72697a65645265766f636174696f6e000b04fc5468652064656c65676174696f6e207265766f6b6572206973206e6f7420616c6c6f77656420746f207265766f6b65207468652064656c65676174696f6e2e4c556e617574686f72697a656452656d6f76616c000c04ec5468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f2072656d6f7665207468652064656c65676174696f6e2e58556e617574686f72697a656444656c65676174696f6e000d04fc5468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f20637265617465207468652064656c65676174696f6e2e3041636365737344656e696564000e04f0546865206f7065726174696f6e207761736e277420616c6c6f7765642062656361757365206f6620696e73756666696369656e74207269676874732e6045786365656465645265766f636174696f6e426f756e6473000f080d014d6178206e756d626572206f66207265766f636174696f6e7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7238746865206f7065726174696f6e2e54457863656564656452656d6f76616c426f756e647300100811014d6178206e756d626572206f662072656d6f76616c7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7220746865286f7065726174696f6e2e584d61785265766f636174696f6e73546f6f4c61726765001104f8546865206d6178206e756d626572206f66207265766f636174696f6e206578636565647320746865206c696d697420666f72207468652070616c6c65742e4c4d617852656d6f76616c73546f6f4c61726765001204f0546865206d6178206e756d626572206f662072656d6f76616c73206578636565647320746865206c696d697420666f72207468652070616c6c65742e5c4d6178506172656e74436865636b73546f6f4c617267650013040501546865206d6178206e756d626572206f6620706172656e7420636865636b73206578636565647320746865206c696d697420666f72207468652070616c6c65742e34496e7465726e616c4572726f72001404f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e4c4d61784368696c6472656e4578636565646564001508dc546865206d6178206e756d626572206f6620616c6c206368696c6472656e20686173206265656e207265616368656420666f722074686578636f72726573706f6e64696e672064656c65676174696f6e206e6f64652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090965060c0c6469642c6469645f64657461696c732844696444657461696c7304045400001c014861757468656e7469636174696f6e5f6b65792c01284b657949644f663c543e0001486b65795f61677265656d656e745f6b657973690601604469644b657941677265656d656e744b65795365743c543e00013864656c65676174696f6e5f6b6579910101484f7074696f6e3c4b657949644f663c543e3e00013c6174746573746174696f6e5f6b6579910101484f7074696f6e3c4b657949644f663c543e3e00012c7075626c69635f6b6579736d0601484469645075626c69634b65794d61703c543e00013c6c6173745f74785f636f756e74657210010c75363400011c6465706f736974410601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e00006906101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c0453000004005506012c42547265655365743c543e00006d06101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b012c04560171060453000004007906013842547265654d61703c4b2c20563e000071060c0c6469642c6469645f64657461696c734c4469645075626c69634b657944657461696c73042c426c6f636b4e756d62657201100008010c6b6579750601304469645075626c69634b6579000130626c6f636b5f6e756d62657210012c426c6f636b4e756d626572000075060c0c6469642c6469645f64657461696c73304469645075626c69634b6579000108545075626c6963566572696669636174696f6e4b6579040051040148446964566572696669636174696f6e4b65790000004c5075626c6963456e6372797074696f6e4b6579040041040140446964456e6372797074696f6e4b6579000100007906042042547265654d617008044b012c04560171060004007d060000007d060000028106008106000004082c7106008506000004080069040089060c0c6469641870616c6c6574144572726f7204045400016c58496e76616c69645369676e6174757265466f726d6174000008050154686520444944206f7065726174696f6e207369676e6174757265206973206e6f7420696e2074686520666f726d61742074686520766572696669636174696f6e306b657920657870656374732e40496e76616c69645369676e6174757265000108f854686520444944206f7065726174696f6e207369676e617475726520697320696e76616c696420666f7220746865207061796c6f616420616e642074686568766572696669636174696f6e206b65792070726f76696465642e44446964416c726561647950726573656e74000204f85468652044494420776974682074686520676976656e206964656e74696669657220697320616c72656164792070726573656e74206f6e20636861696e2e344469644e6f7450726573656e74000304d44e6f2044494420776974682074686520676976656e206964656e7469666965722069732070726573656e74206f6e20636861696e2e64566572696669636174696f6e4b65794e6f7450726573656e7400040809014f6e65206f72206d6f726520766572696669636174696f6e206b657973207265666572656e63656420617265206e6f742073746f72656420696e2074686520736574546f6620766572696669636174696f6e206b6579732e30496e76616c69644e6f6e6365000504090154686520444944206f7065726174696f6e206e6f6e6365206973206e6f7420657175616c20746f207468652063757272656e7420444944206e6f6e6365202b20312e7c556e737570706f72746564446964417574686f72697a6174696f6e43616c6c000604e05468652063616c6c65642065787472696e73696320646f6573206e6f7420737570706f72742044494420617574686f7269736174696f6e2e6c496e76616c6964446964417574686f72697a6174696f6e43616c6c000708dc5468652063616c6c2068616420706172616d6574657273207468617420636f6e666c696374656420776974682065616368206f74686572406f72207765726520696e76616c69642e804d61784b657941677265656d656e744b6579734c696d697445786365656465640008080d0141206e756d626572206f66206e6577206b65792061677265656d656e74206b6579732067726561746572207468616e20746865206d6178696d756d20616c6c6f77656448686173206265656e2070726f76696465642e6c4d61785075626c69634b65797350657244696445786365656465640009080501546865206d6178696d756d206e756d626572206f66207075626c6963206b65797320666f72207468697320444944206b6579206964656e74696669657220686173346265656e20726561636865642e804d6178546f74616c4b657941677265656d656e744b6579734578636565646564000a080501546865206d6178696d756d206e756d626572206f66206b65792061677265656d656e747320686173206265656e207265616368656420666f722074686520444944207375626a6563742e304261644469644f726967696e000b04bc546865204449442063616c6c20776173207375626d6974746564206279207468652077726f6e67206163636f756e74485472616e73616374696f6e45787069726564000c040d0154686520626c6f636b206e756d6265722070726f766964656420696e2061204449442d617574686f72697a6564206f7065726174696f6e20697320696e76616c69642e44446964416c726561647944656c65746564000d04b0546865204449442068617320616c7265616479206265656e2070726576696f75736c792064656c657465642e444e6f744f776e65724f664465706f736974000e04fc4f6e6c7920746865206f776e6572206f6620746865206465706f7369742063616e207265636c61696d206974732072657365727665642062616c616e63652e3c556e61626c65546f50617946656573000f04f0546865206f726967696e20697320756e61626c6520746f207265736572766520746865206465706f73697420616e642070617920746865206665652e844d61784e756d6265724f66536572766963657350657244696445786365656465640010041101546865206d6178696d756d206e756d626572206f66207365727669636520656e64706f696e747320666f7220612044494420686173206265656e2065786365656465642e684d61785365727669636549644c656e6774684578636565646564001104f0546865207365727669636520656e64706f696e7420494420657863656564656420746865206d6178696d756d20616c6c6f776564206c656e6774682e704d617853657276696365547970654c656e6774684578636565646564001208f84f6e65206f6620746865207365727669636520656e64706f696e7420747970657320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e884d61784e756d6265724f665479706573506572536572766963654578636565646564001308ec546865206d6178696d756d206e756d626572206f6620747970657320666f722061207365727669636520656e64706f696e7420686173206265656e2465786365656465642e6c4d61785365727669636555726c4c656e6774684578636565646564001408f44f6e65206f6620746865207365727669636520656e64706f696e742055524c7320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e844d61784e756d6265724f6655726c735065725365727669636545786365656465640015041101546865206d6178696d756d206e756d626572206f662055524c7320666f722061207365727669636520656e64706f696e7420686173206265656e2065786365656465642e5453657276696365416c726561647950726573656e7400160411014120736572766963652077697468207468652070726f766964656420494420697320616c72656164792070726573656e7420666f722074686520676976656e204449442e44536572766963654e6f7450726573656e7400170409014120736572766963652077697468207468652070726f7669646564204944206973206e6f742070726573656e7420756e6465722074686520676976656e204449442e58496e76616c696453657276696365456e636f64696e6700180409014f6e65206f6620746865207365727669636520656e64706f696e742064657461696c7320636f6e7461696e73206e6f6e2d415343494920636861726163746572732e7053746f726564456e64706f696e7473436f756e74546f6f4c617267650019080d01546865206e756d626572206f66207365727669636520656e64706f696e74732073746f72656420756e6465722074686520444944206973206c6172676572207468616e88746865206e756d626572206f6620656e64706f696e747320746f2064656c6574652e34496e7465726e616c4572726f72001a04f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909098d060c4470616c6c65745f6469645f6c6f6f6b757044636f6e6e656374696f6e5f7265636f726440436f6e6e656374696f6e5265636f72640c344469644964656e74696669657201001c4163636f756e7401001c42616c616e636501180008010c6469640001344469644964656e74696669657200011c6465706f736974410601644465706f7369743c4163636f756e742c2042616c616e63653e000091060000040800000095060c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144572726f720404540001104c4173736f63696174696f6e4e6f74466f756e640000047c546865206173736f63696174696f6e20646f6573206e6f742065786973742e344e6f74417574686f72697a65640001081101546865206f726967696e20776173206e6f7420616c6c6f77656420746f206d616e61676520746865206173736f63696174696f6e206265747765656e20746865204449444c616e6420746865206163636f756e742049442e344f7574646174656450726f6f66000204b454686520737570706c6965642070726f6f66206f66206f776e65727368697020776173206f757464617465642e44496e73756666696369656e7446756e64730003081101546865206163636f756e742068617320696e73756666696369656e742066756e647320616e642063616e277420706179207468652066656573206f72207265736572766530746865206465706f7369742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090999060c4470616c6c65745f776562335f6e616d657324776562335f6e616d6544576562334e616d654f776e6572736869700c144f776e657201001c4465706f7369740141062c426c6f636b4e756d6265720110000c01146f776e65720001144f776e6572000128636c61696d65645f617410012c426c6f636b4e756d62657200011c6465706f7369744106011c4465706f73697400009d060c4470616c6c65745f776562335f6e616d65731870616c6c6574144572726f7204045400013444496e73756666696369656e7446756e64730000040d01546865207478207375626d697474657220646f6573206e6f74206861766520656e6f7567682066756e647320746f2070617920666f7220746865206465706f7369742e58576562334e616d65416c7265616479436c61696d6564000104dc54686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c7920636c61696d65642e40576562334e616d654e6f74466f756e640002048854686520737065636966696564206e616d6520646f6573206e6f742065786973742e484f776e6572416c7265616479457869737473000304a054686520737065636966696564206f776e657220616c7265616479206f776e732061206e616d652e344f776e65724e6f74466f756e64000404ac54686520737065636966696564206f776e657220646f6573206e6f74206f776e20616e79206e616d65732e38576562334e616d6542616e6e6564000508ec54686520737065636966696564206e616d6520686173206265656e2062616e6e656420616e642063616e6e6f7420626520696e746572616374656414776974682e44576562334e616d654e6f7442616e6e6564000604ac54686520737065636966696564206e616d65206973206e6f742063757272656e746c792062616e6e65642e54576562334e616d65416c726561647942616e6e6564000704d854686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c792062616e6e65642e344e6f74417574686f72697a6564000804cc546865206163746f722063616e6e6f7420706572666f726d65642074686520737065636966696564206f7065726174696f6e2e40576562334e616d65546f6f53686f7274000904a841206e616d65207468617420697320746f6f2073686f7274206973206265696e6720636c61696d65642e3c576562334e616d65546f6f4c6f6e67000a04a441206e616d65207468617420697320746f6f206c6f6e67206973206265696e6720636c61696d65642e60496e76616c6964576562334e616d65436861726163746572000b04f441206e616d65207468617420636f6e7461696e73206e6f7420616c6c6f7765642063686172616374657273206973206265696e6720636c61696d65642e30556e617574686f72697a6564000c04d0546865206f726967696e20776173206e6f7420617574686f72697a656420746f20706572666f726d207468617420616374696f6e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a1060000040819012c00a5060c487075626c69635f63726564656e7469616c732c63726564656e7469616c733c43726564656e7469616c456e7472791824435479706548617368012c20417474657374657201002c426c6f636b4e756d6265720110244163636f756e74496401001c42616c616e636501183c417574686f72697a6174696f6e496401f40018012863747970655f686173682c01244354797065486173680001206174746573746572000120417474657374657200011c7265766f6b6564a40110626f6f6c000130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200011c6465706f7369744106016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000140617574686f72697a6174696f6e5f6964f0015c4f7074696f6e3c417574686f72697a6174696f6e49643e0000a9060c487075626c69635f63726564656e7469616c731870616c6c6574144572726f720404540001185c43726564656e7469616c416c7265616479497373756564000008f8412063726564656e7469616c2077697468207468652073616d6520726f6f7420686173682068617320616c72656164792069737375656420746f2074686548737065636966696564207375626a6563742e4843726564656e7469616c4e6f74466f756e6400010805014e6f2063726564656e7469616c2077697468207468652073706563696669656420726f6f74206861736820686173206265656e2069737375656420746f2074686548737065636966696564207375626a6563742e3c556e61626c65546f50617946656573000204d44e6f7420656e6f75676820746f6b656e7320746f2070617920666f72207468652066656573206f7220746865206465706f7369742e30496e76616c6964496e707574000304805468652063726564656e7469616c20696e70757420697320696e76616c69642e30556e617574686f72697a6564000404e05468652063616c6c6572206973206e6f7420617574686f72697a656420746f20706572666f726d656420746865206f7065726174696f6e2e34496e7465726e616c4572726f72000508f443617463682d616c6c20666f7220616e79206f74686572206572726f727320746861742073686f756c64206e6f742068617070656e2c207965742069742468617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909ad0604184f7074696f6e04045401b1060108104e6f6e6500000010536f6d650400b1060000010000b1060c4c706f6c6b61646f745f7072696d69746976657308763248557067726164655265737472696374696f6e0001041c50726573656e7400000000b5060c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f74584d6573736167696e675374617465536e617073686f740000100130646d715f6d71635f686561642c014472656c61795f636861696e3a3a4861736800016472656c61795f64697370617463685f71756575655f73697a65b9060128287533322c2075333229000140696e67726573735f6368616e6e656c73bd0601885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00013c6567726573735f6368616e6e656c73bd0601885665633c285061726149642c20416272696467656448726d704368616e6e656c293e0000b906000004081c1c00bd06000002c10600c106000004089901c50600c5060c4c706f6c6b61646f745f7072696d6974697665730876324c416272696467656448726d704368616e6e656c00001801306d61785f63617061636974791c010c7533320001386d61785f746f74616c5f73697a651c010c7533320001406d61785f6d6573736167655f73697a651c010c7533320001246d73675f636f756e741c010c753332000128746f74616c5f73697a651c010c7533320001206d71635f68656164910101304f7074696f6e3c486173683e0000c9060c4c706f6c6b61646f745f7072696d697469766573087632644162726964676564486f7374436f6e66696775726174696f6e00002401346d61785f636f64655f73697a651c010c7533320001486d61785f686561645f646174615f73697a651c010c7533320001586d61785f7570776172645f71756575655f636f756e741c010c7533320001546d61785f7570776172645f71756575655f73697a651c010c75333200015c6d61785f7570776172645f6d6573736167655f73697a651c010c7533320001906d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200018868726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200016c76616c69646174696f6e5f757067726164655f636f6f6c646f776e1c012c426c6f636b4e756d62657200016076616c69646174696f6e5f757067726164655f64656c61791c012c426c6f636b4e756d6265720000cd06089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74444d6573736167655175657565436861696e000004002c012452656c6179486173680000d106042042547265654d617008044b019901045601cd06000400d506000000d506000002d90600d906000004089901cd0600dd06000002e10600e1060860706f6c6b61646f745f636f72655f7072696d6974697665734c4f7574626f756e6448726d704d6573736167650408496401990100080124726563697069656e749901010849640001106461746130015073705f7374643a3a7665633a3a5665633c75383e0000e5060c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144572726f720404540001204c4f7665726c617070696e6755706772616465730000041501417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e675050726f686962697465644279506f6c6b61646f740001044901506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e18546f6f426967000208450154686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f742069733877696c6c696e6720746f2072756e6856616c69646174696f6e446174614e6f74417661696c61626c65000304190154686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b74486f7374436f6e66696775726174696f6e4e6f74417661696c61626c65000404250154686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b304e6f745363686564756c6564000504d84e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642e444e6f7468696e67417574686f72697a6564000604904e6f20636f6465207570677261646520686173206265656e20617574686f72697a65642e30556e617574686f72697a6564000704bc54686520676976656e20636f6465207570677261646520686173206e6f74206265656e20617574686f72697a65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909e906000002ed0600ed06086463756d756c75735f70616c6c65745f78636d705f717565756554496e626f756e644368616e6e656c44657461696c7300000c011873656e646572990101185061726149640001147374617465f1060130496e626f756e6453746174650001406d6573736167655f6d65746164617461f50601a85665633c2852656c6179426c6f636b4e756d6265722c2058636d704d657373616765466f726d6174293e0000f106086463756d756c75735f70616c6c65745f78636d705f717565756530496e626f756e645374617465000108084f6b0000002453757370656e64656400010000f506000002f90600f906000004081cfd0600fd060c48706f6c6b61646f745f70617261636861696e287072696d6974697665734458636d704d657373616765466f726d617400010c60436f6e636174656e6174656456657273696f6e656458636d0000005c436f6e636174656e61746564456e636f646564426c6f620001001c5369676e616c730002000001070000040899011c0005070000020907000907086463756d756c75735f70616c6c65745f78636d705f7175657565584f7574626f756e644368616e6e656c44657461696c730000140124726563697069656e749901011850617261496400011473746174650d0701344f7574626f756e6453746174650001347369676e616c735f6578697374a40110626f6f6c00012c66697273745f696e646578d8010c7531360001286c6173745f696e646578d8010c75313600000d07086463756d756c75735f70616c6c65745f78636d705f7175657565344f7574626f756e645374617465000108084f6b0000002453757370656e646564000100001107000004089901d8001507086463756d756c75735f70616c6c65745f78636d705f71756575653c5175657565436f6e66696744617461000018014473757370656e645f7468726573686f6c641c010c75333200013864726f705f7468726573686f6c641c010c753332000140726573756d655f7468726573686f6c641c010c7533320001407468726573686f6c645f7765696768742401185765696768740001547765696768745f72657374726963745f646563617924011857656967687400016878636d705f6d61785f696e646976696475616c5f776569676874240118576569676874000019070000040c99011c30001d070c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144572726f72040454000114304661696c6564546f53656e640000046c4661696c656420746f2073656e642058434d206d6573736167652e3042616458636d4f726967696e0001043c4261642058434d206f726967696e2e1842616458636d000204344261642058434d20646174612e484261644f766572776569676874496e64657800030454426164206f76657277656967687420696e6465782e3c5765696768744f7665724c696d6974000404f850726f76696465642077656967687420697320706f737369626c79206e6f7420656e6f75676820746f206578656375746520746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090921070c2870616c6c65745f78636d1870616c6c6574144572726f720404540001342c556e726561636861626c650000085d0154686520646573697265642064657374696e6174696f6e2077617320756e726561636861626c652c2067656e6572616c6c7920626563617573652074686572652069732061206e6f20776179206f6620726f7574696e6718746f2069742e2c53656e644661696c757265000108610154686572652077617320736f6d65206f746865722069737375652028692e652e206e6f7420746f20646f207769746820726f7574696e672920696e2073656e64696e6720746865206d6573736167652e2050657268617073a861206c61636b206f6620737061636520666f7220627566666572696e6720746865206d6573736167652e2046696c74657265640002049c546865206d65737361676520657865637574696f6e206661696c73207468652066696c7465722e48556e776569676861626c654d657373616765000304b4546865206d65737361676527732077656967687420636f756c64206e6f742062652064657465726d696e65642e6044657374696e6174696f6e4e6f74496e7665727469626c65000404f05468652064657374696e6174696f6e20604d756c74694c6f636174696f6e602070726f76696465642063616e6e6f7420626520696e7665727465642e14456d707479000504805468652061737365747320746f2062652073656e742061726520656d7074792e3843616e6e6f745265616e63686f720006043501436f756c64206e6f742072652d616e63686f72207468652061737365747320746f206465636c61726520746865206665657320666f72207468652064657374696e6174696f6e20636861696e2e34546f6f4d616e79417373657473000704c4546f6f206d616e79206173736574732068617665206265656e20617474656d7074656420666f72207472616e736665722e34496e76616c69644f726967696e000804784f726967696e20697320696e76616c696420666f722073656e64696e672e2842616456657273696f6e00090421015468652076657273696f6e206f6620746865206056657273696f6e6564602076616c75652075736564206973206e6f742061626c6520746f20626520696e7465727072657465642e2c4261644c6f636174696f6e000a08410154686520676976656e206c6f636174696f6e20636f756c64206e6f7420626520757365642028652e672e20626563617573652069742063616e6e6f742062652065787072657373656420696e2074686560646573697265642076657273696f6e206f662058434d292e384e6f537562736372697074696f6e000b04bc546865207265666572656e63656420737562736372697074696f6e20636f756c64206e6f7420626520666f756e642e44416c726561647953756273637269626564000c041101546865206c6f636174696f6e20697320696e76616c69642073696e636520697420616c726561647920686173206120737562736372697074696f6e2066726f6d2075732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090925070c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144572726f7204045400010004b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909092907086063756d756c75735f70616c6c65745f646d705f717565756528436f6e6669674461746100000401386d61785f696e646976696475616c24011857656967687400002d07086063756d756c75735f70616c6c65745f646d705f71756575653450616765496e6465784461746100000c0128626567696e5f757365641c012c50616765436f756e746572000120656e645f757365641c012c50616765436f756e7465720001406f7665727765696768745f636f756e7410013c4f766572776569676874496e646578000031070000023507003507000004081c300039070c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144572726f720404540001081c556e6b6e6f776e0000048c546865206d65737361676520696e64657820676976656e20697320756e6b6e6f776e2e244f7665724c696d6974000104310154686520616d6f756e74206f662077656967687420676976656e20697320706f737369626c79206e6f7420656e6f75676820666f7220657865637574696e6720746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909093d07102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c41646472657373019d021043616c6c018d03245369676e6174757265018d0414457874726101410700040030000000410700000420450749074d07510755075d076107650700450710306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000490710306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e040454000000004d0710306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e04045400000000510710306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000550710306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c697479040454000004005907010c45726100005907102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff00005d0710306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e636504045400000400280120543a3a496e6465780000610710306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b576569676874040454000000006507086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e7404045400000400bd01013042616c616e63654f663c543e0000941853797374656d011853797374656d401c4163636f756e7401010402000c510100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e7400001c040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010020180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e00001c040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010405102c8000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e73696344617461010104051c300400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010010200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801002c80000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010034040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004404001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e7401001c100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f70696373010104022c41020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000450204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100a40400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100a40400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e506861736500003902040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e014d0201501830426c6f636b576569676874735d026d01e2817a5500070088526a7402004001c2e49817000107d0389ca54b0200d000010700e6bd4f570200f000010000c2e49817000107d0da30c0680200200101070088526a7402004001010700a2941a1d02005000c2e498170000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e6774686d023000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7410206009000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e20446257656967687475024040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6e79026103386b696c742d7370697269746e6574386b696c742d7370697269746e6574010000008a2a00000000000038df6acb689907609b0400000037e397fc7c91f5e401000000bc9d89904f5b923f0100000037c8bb1350a9a2a802000000f3ff14d5ab5270590200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d69620200000026609555c065660301000000a47b7d544994c99b0100000045bfba51a310b2230100000004000000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978d808260014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e018902006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c01008d0204000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e00000000012454696d657374616d70012454696d657374616d70080c4e6f7701001020000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100a4040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f0191020004344d696e696d756d506572696f6410207017000000000000104d0120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a5d0120706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c5d012067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c206265a020646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e00021c496e6469636573011c496e646963657304204163636f756e7473000104021095020400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e0199020174041c4465706f736974184000b47cf328350000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e01a502052042616c616e636573012042616c616e6365731434546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b730101040200a902040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e2052657365727665730101040200b902040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e01c50201780c484578697374656e7469616c4465706f736974184000a0724e18090000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d61784c6f636b731c103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d617852657365727665731c1032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e01c90206485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100cd0240000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100d10204000000018004604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e00071041757261011041757261082c417574686f7269746965730100d5020400046c205468652063757272656e7420617574686f72697479207365742e2c43757272656e74536c6f740100e5022000000000000000000c80205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e009420546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e00000000171c53657373696f6e011c53657373696f6e1c2856616c696461746f72730100e9020400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801001c100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100a4040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100ed020400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100f9020400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b6579730001040500f5020400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405fd0200040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e010503018400010903164050617261636861696e5374616b696e67014050617261636861696e5374616b696e6740544d617853656c656374656443616e6469646174657301001c100000000004090120546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c6563746564206174206561636820726f756e642e14526f756e6401000d0350000000000000000000000000140000000000000004e82043757272656e7420726f756e64206e756d62657220616e64206e65787420726f756e64207363686564756c6564207472616e736974696f6e2e384c61737444656c65676174696f6e01010405001103200000000000000000140d012044656c65676174696f6e20696e666f726d6174696f6e20666f7220746865206c61746573742073657373696f6e20696e20776869636820612064656c656761746f722c2064656c6567617465642e000501204974206d6170732066726f6d20616e206163636f756e7420746f20746865206e756d626572206f662064656c65676174696f6e7320696e20746865206c617374982073657373696f6e20696e2077686963682074686579202872652d2964656c6567617465642e3844656c656761746f7253746174650001040500150304000c802044656c65676174696f6e207374616b696e6720696e666f726d6174696f6e2e00cc204974206d6170732066726f6d20616e206163636f756e7420746f206974732064656c65676174696f6e2064657461696c732e3443616e646964617465506f6f6c00010405001903040010a420546865207374616b696e6720696e666f726d6174696f6e20666f7220612063616e6469646174652e00b0204974206d6170732066726f6d20616e206163636f756e7420746f2069747320696e666f726d6174696f6e2eb8204d6f72656f7665722c20697420636f756e747320746865206e756d626572206f662063616e646964617465732e5c436f756e746572466f7243616e646964617465506f6f6c01001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617048546f74616c436f6c6c61746f725374616b6501002d0380000000000000000000000000000000000000000000000000000000000000000014f420546f74616c2066756e6473206c6f636b656420746f206261636b207468652063757272656e746c792073656c656374656420636f6c6c61746f72732ed0205468652073756d206f6620616c6c20636f6c6c61746f7220616e642074686569722064656c656761746f72207374616b65732e002101204e6f74653a20546865726520617265206d6f72652066756e6473206c6f636b656420627920746869732070616c6c65742c2073696e636520746865206261636b696e6720666f720901206e6f6e20636f6c6c6174696e672063616e64696461746573206973206e6f7420696e636c7564656420696e205b546f74616c436f6c6c61746f725374616b655d2e34546f7043616e6469646174657301003103040028e82054686520636f6c6c61746f722063616e64696461746573207769746820746865206869676865737420616d6f756e74206f66207374616b652e00190120456163682074696d6520746865207374616b65206f66206120636f6c6c61746f7220697320696e637265617365642c20697420697320636865636b65642077686574686572050120746869732070757368657320616e6f746865722063616e646964617465206f7574206f6620746865206c6973742e205768656e20746865207374616b652069732101207265647563656420686f77657665722c206974206973206e6f7420636865636b656420696620616e6f746865722063616e64696461746520686173206d6f7265207374616b652c11012073696e6365207468697320776f756c64207265717569726520697465726174696e67206f7665722074686520656e74697265205b43616e646964617465506f6f6c5d2e001501205468657265206d75737420616c77617973206265206d6f72652063616e64696461746573207468616e205b4d617853656c656374656443616e646964617465735d20736f0d012074686174206120636f6c6c61746f722063616e2064726f70206f7574206f662074686520636f6c6c61746f7220736574206279207265647563696e672074686569721c207374616b652e3c496e666c6174696f6e436f6e66696701003903c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046420496e666c6174696f6e20636f6e66696775726174696f6e2e24556e7374616b696e670101040500450304001088205468652066756e64732077616974696e6720746f20626520756e7374616b65642e001d01204974206d6170732066726f6d206163636f756e747320746f20616c6c207468652066756e64732061646472657373656420746f207468656d20696e20746865206675747572652020626c6f636b732e644d6178436f6c6c61746f7243616e6469646174655374616b65010018400000000000000000000000000000000004cc20546865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e6469646174652063616e207374616b652e4c4c617374526577617264526564756374696f6e010010200000000000000000140d0120546865207965617220696e20776869636820746865206c617374206175746f6d6174696320726564756374696f6e206f66207468652072657761726420726174657328206f636375727265642e00250120497420737461727473206174207a65726f2061742067656e6573697320616e6420696e6372656d656e7473206279206f6e6520657665727920424c4f434b535f5045525f5945415234206d616e7920626c6f636b732e38426c6f636b73417574686f726564010104050010200000000000000000080d0120546865206e756d626572206f6620617574686f72656420626c6f636b7320666f7220636f6c6c61746f72732e20497420697320757064617465642076696120746865b020606e6f74655f617574686f726020686f6f6b207768656e20617574686f72696e67206120626c6f636b202e38426c6f636b73526577617264656401010405001020000000000000000024210120546865206e756d626572206f6620626c6f636b7320666f7220776869636820726577617264732068617665206265656e20636c61696d656420627920616e20616464726573732e00190120466f7220636f6c6c61746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f7265642e2049742069732075706461746564207768656ecc20696e6372656d656e74696e6720636f6c6c61746f7220726577617264732c20656974686572207768656e2063616c6c696e67e02060696e635f636f6c6c61746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e00250120466f722064656c656761746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f726564206f662074686520636f6c6c61746f722e497420697305012075706461746564207768656e20696e6372656d656e74696e672064656c656761746f7220726577617264732c20656974686572207768656e2063616c6c696e67e42060696e635f64656c656761746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e1c5265776172647301010405001840000000000000000000000000000000000c01012054686520616363756d756c61746564207265776172647320666f7220636f6c6c61746f722063616e6469646174657320616e642064656c656761746f72732e001101204974206d6170732066726f6d206163636f756e747320746f20746865697220746f74616c20726577617264732073696e636520746865206c617374207061796f75742e34466f7263654e6577526f756e640100a404000001550301883c444d696e426c6f636b73506572526f756e6410202c0100000000000004d4204d696e696d756d206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e64732063616e206c6173742e5444656661756c74426c6f636b73506572526f756e641020580200000000000008fc2044656661756c74206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e6473206c6173742c2061732073657420696e207468655c2067656e6573697320636f6e66696775726174696f6e2e345374616b654475726174696f6e1020e0c40000000000000c0501204e756d626572206f6620626c6f636b7320666f7220776869636820756e7374616b65642062616c616e63652077696c6c207374696c6c206265206c6f636b6564f0206265666f72652069742063616e20626520756e6c6f636b6564206279206163746976656c792063616c6c696e67207468652065787472696e7369634c2060756e6c6f636b5f756e7374616b6564602e3845786974517565756544656c61791c1002000000080901204e756d626572206f6620726f756e6473206120636f6c6c61746f722068617320746f207374617920616374697665206166746572207375626d697474696e672061c4207265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e304d696e436f6c6c61746f72731c1010000000080d01204d696e696d756d206e756d626572206f6620636f6c6c61746f72732073656c65637465642066726f6d2074686520736574206f662063616e64696461746573206174602065766572792076616c69646174696f6e20726f756e642e504d696e5265717569726564436f6c6c61746f72731c1004000000081101204d696e696d756d206e756d626572206f6620636f6c6c61746f72732077686963682063616e6e6f74206c6561766520746865206e6574776f726b2069662074686572653c20617265206e6f206f74686572732e584d617844656c65676174696f6e73506572526f756e641c1001000000140101204d6178696d756d206e756d626572206f662064656c65676174696f6e732077686963682063616e206265206d6164652077697468696e207468652073616d651c20726f756e642e000d01204e4f54453a20546f2070726576656e742072652d64656c65676174696f6e2d7265776172642061747461636b732c2077652073686f756c64206b65657020746869732c20746f206265206f6e652e604d617844656c656761746f7273506572436f6c6c61746f721c102300000004e4204d6178696d756d206e756d626572206f662064656c656761746f727320612073696e676c6520636f6c6c61746f722063616e20686176652e404d6178546f7043616e646964617465731c104b00000004a0204d6178696d756d2073697a65206f662074686520746f702063616e64696461746573207365742e404d696e436f6c6c61746f725374616b6518400000e8890423c78a0000000000000000080901204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520656c65637465642061732076616c696461746f723420666f72206120726f756e642e644d696e436f6c6c61746f7243616e6469646174655374616b6518400000e8890423c78a0000000000000000080501204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520616464656420746f2074686520736574206f66302063616e646964617465732e444d696e44656c656761746f725374616b651840000082dfe40d4700000000000000000004f8204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f206265636f6d6520612064656c656761746f722e484d6178556e7374616b6552657175657374731c100a00000028e8204d6178206e756d626572206f6620636f6e63757272656e742061637469766520756e7374616b696e67207265717565737473206265666f72652c20756e6c6f636b696e672e001501204e4f54453a20546f2070726f7465637420616761696e737420697272656d6f766162696c697479206f6620612063616e646964617465206f722064656c656761746f722cf4207765206f6e6c7920616c6c6f7720666f72204d6178556e7374616b655265717565737473202d2031206d616e79206d616e75616c20756e7374616b6501012072657175657374732e20546865206c617374206f6e6520736572766573206173206120706c616365686f6c64657220666f7220746865206361736573206f66f02063616c6c696e672065697468657220606b69636b5f64656c656761746f72602c20666f7263655f72656d6f76655f63616e64696461746560206f7209012060657865637574655f6c656176655f63616e64696461746573602e204f74686572776973652c2061207573657220636f756c64206d6178206f75742074686569720d0120756e7374616b6520726571756573747320616e642070726576656e74207468656d73656c7665732066726f6d206265696e67206b69636b65642066726f6d20746865f020736574206f662063616e646964617465732f64656c656761746f727320756e74696c207468657920756e6c6f636b2074686569722066756e64732e484e6574776f726b5265776172645374617274102048a3c800000000000c110120546865207374617274696e6720626c6f636b206e756d62657220666f7220746865206e6574776f726b20726577617264732e204f6e6365207468652063757272656e74090120626c6f636b206e756d626572206578636565647320746869732073746172742c207468652062656e65666963696172792077696c6c2072656365697665207468658420636f6e666967757265642072657761726420696e206561636820626c6f636b2e444e6574776f726b526577617264526174658c2000008a5d784563010c0d0120546865207261746520696e2070657263656e7420666f7220746865206e6574776f726b207265776172647320776869636820617265206261736564206f6e207468650901206d6178696d756d206e756d626572206f6620636f6c6c61746f727320616e6420746865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e1c207374616b652e0159031528417574686f72736869700128417574686f72736869700c18556e636c657301005d030400041c20556e636c657318417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c65730100a4040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e016d03000440556e636c6547656e65726174696f6e73102000000000000000000ccc20546865206e756d626572206f6620626c6f636b73206261636b2077652073686f756c642061636365707420756e636c65732ee42054686973206d65616e7320746861742077652077696c6c206465616c207769746820756e636c652d706172656e7473207468617420617265942060556e636c6547656e65726174696f6e73202b203160206265666f726520606e6f77602e017d03141c41757261457874011c41757261457874042c417574686f7269746965730100d502040014942053657276657320617320636163686520666f722074686520617574686f7269746965732e0071012054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c790120627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973f0206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e00000000182444656d6f6372616379012444656d6f63726163792c3c5075626c696350726f70436f756e7401001c100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301008103040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f66000104051c4d0504000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e7401001c100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401001c100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f66000104051c550504000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010405006105e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100a40400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00007905040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c697374000104062c7d0504000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e73010104062ca40400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e0191030190303c456e6163746d656e74506572696f641020201c00000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f641020e0c400000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f641020e0c400000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f641020e0c4000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400080c6a47e8d0300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f776564a404010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f641020840300000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f641020e0c400000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f7465731c106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c731c1064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f736974731c1064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c69737465641c106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e0181051e1c436f756e63696c011c436f756e63696c182450726f706f73616c7301008505040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062c8d03040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062c8905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100e9020400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e019d0301a000018d051f48546563686e6963616c436f6d6d69747465650148546563686e6963616c436f6d6d6974746565182450726f706f73616c7301009105040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062c8d03040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062c8905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100e9020400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01a90301b000019505204c546563686e6963616c4d656d62657273686970014c546563686e6963616c4d656d62657273686970081c4d656d6265727301009905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01ad0301b400019d052220547265617375727901205472656173757279103450726f706f73616c436f756e7401001c100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c73000104051ca1050400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c730100a505040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e01b10301b81c3050726f706f73616c426f6e64a9051050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d1840000082dfe40d47000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756dad050400044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f641020c0a8000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726ea90510000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c65744964b105206b696c742f7473790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c731c10640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e01b505231c5574696c6974790001b50301bc044c626174636865645f63616c6c735f6c696d69741c10aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01b905281c56657374696e67011c56657374696e67081c56657374696e670001040200bd05040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100c50504000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e01dd0301c008444d696e5665737465645472616e73666572184000407a10f35a0000000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c65731c101c0000000001c90529245363686564756c657201245363686564756c65720c3c496e636f6d706c65746553696e6365000010040000184167656e64610101040510cd050400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001040504c8040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e01e50301c408344d6178696d756d57656967687424280700a0db215d0200000104290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b1c1032000000041d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e01dd052a1450726f7879011450726f7879081c50726f786965730101040500e1054400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e74730101040500f10544000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01ed0301d0184050726f78794465706f7369744261736518400020f7a54b330000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f72184000f4a92b80010000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f786965731c100a00000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e671c100a00000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518400020f7a54b330000000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000e8535700030000000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e0101062b20507265696d6167650120507265696d6167650824537461747573466f72000104062c05060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f72000104061106150604000001f50301dc000119062c38546970734d656d626572736869700138546970734d656d62657273686970081c4d656d6265727301009905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01f90301e000011d062d1054697073011054697073081054697073000104052c210604000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e73000104062c3004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01fd0301e4144c4d6178696d756d526561736f6e4c656e6774681c10004000000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756548446174614465706f73697450657242797465184000743ba40b00000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e30546970436f756e74646f776e1020201c0000000000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665652d060414043501205468652070657263656e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f73697442617365184000f45628fa320000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e0131062e144374797065011443747970650418437479706573000104022c350604001060204354797065732073746f726564206f6e20636861696e2e001901204974206d6170732066726f6d2061204354797065206861736820746f206974732063726561746f7220616e6420626c6f636b206e756d62657220696e207768696368206974342077617320637265617465642e01010401e8000139063d2c4174746573746174696f6e012c4174746573746174696f6e08304174746573746174696f6e73000104022c3d0604000c78204174746573746174696f6e732073746f726564206f6e20636861696e2e00cc204974206d6170732066726f6d206120636c61696d206861736820746f207468652066756c6c206174746573746174696f6e2e5045787465726e616c4174746573746174696f6e7301010805024506a404000ca02044656c656761746564206174746573746174696f6e732073746f726564206f6e20636861696e2e00e8204974206d6170732066726f6d20612064656c65676174696f6e20494420746f206120766563746f72206f6620636c61696d206861736865732e01050401ec081c4465706f7369741840001cc9dd006e0000000000000000000004e420546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720616e206174746573746174696f6e2e604d617844656c6567617465644174746573746174696f6e731c10e803000008090120546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732077686963682063616e206265206d61646520627954207468652073616d652064656c65676174696f6e2e0149063e2844656c65676174696f6e012844656c65676174696f6e083c44656c65676174696f6e4e6f646573000104022c4d0604000c882044656c65676174696f6e206e6f6465732073746f726564206f6e20636861696e2e00b0204974206d6170732066726f6d2061206e6f646520494420746f20746865206e6f64652064657461696c732e5444656c65676174696f6e4869657261726368696573000104022c5d0604000ca02044656c65676174696f6e2068696572617263686965732073746f726564206f6e20636861696e2e00dc204974206d61707320666f7220612028726f6f7429206e6f646520494420746f20746865206869657261726368792064657461696c732e01190401f8181c4465706f73697418400080c6a47e8d0300000000000000000004dc20546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720612064656c65676174696f6e2e584d61785369676e6174757265427974654c656e677468d808400000384d61785265766f636174696f6e731c1005000000047c204d6178696d756d206e756d626572206f66207265766f636174696f6e732e2c4d617852656d6f76616c731c100500000004f4204d6178696d756d206e756d626572206f662072656d6f76616c732e2053686f756c642062652073616d65206173204d61785265766f636174696f6e733c4d6178506172656e74436865636b731c1005000000080d01204d6178696d756d206e756d626572206f6620757077617264732074726176657273616c73206f66207468652064656c65676174696f6e20747265652066726f6d2061f0206e6f646520746f2074686520726f6f7420616e64207468757320746865206465707468206f66207468652064656c65676174696f6e20747265652e2c4d61784368696c6472656e1c10e80300000c0d01204d6178696d756d206e756d626572206f6620616c6c206368696c6472656e20666f7220612064656c65676174696f6e206e6f64652e20466f7220612062696e617279fc20747265652c20746869732073686f756c6420626520747769636520746865206d6178696d756d206465707468206f662074686520747265652c20692e652e5c206032205e204d6178506172656e74436865636b73602e0161063f0c446964010c446964100c4469640001040200650604000c5820444944732073746f726564206f6e20636861696e2e00c8204974206d6170732066726f6d206120444944206964656e74696669657220746f20746865204449442064657461696c732e4053657276696365456e64706f696e747300010805028506650404000ca0205365727669636520656e64706f696e7473206173736f636961746564207769746820444944732e000901204974206d6170732066726f6d2028444944206964656e7469666965722c20736572766963652049442920746f2074686520736572766963652064657461696c732e44446964456e64706f696e7473436f756e7401010402001c10000000000cac20436f756e746572206f66207365727669636520656e64706f696e747320666f722065616368204449442e00cc204974206d6170732066726f6d2028444944206964656e7469666965722920746f20612033322d62697420636f756e7465722e30446964426c61636b6c6973740001040200ac0400141d012054686520736574206f66204449447320746861742068617665206265656e2064656c6574656420616e642063616e6e6f74207468657265666f726520626520637265617465647020616761696e20666f7220736563757269747920726561736f6e732e002101204974206d6170732066726f6d206120444944206964656e74696669657220746f206120756e6974207475706c652c20666f72207468652073616b65206f6620747261636b696e674420444944206964656e746966696572732e013504010101301c4465706f736974184000983ea62c22070000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e0c466565184000203d88792d000000000000000000000c09012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f7220656163682044494420617320612066656520746f0d0120696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206665652077696c6c206e6f74206765748820726566756e646564207768656e20746865204449442069732064656c657465642e4c4d61785075626c69634b6579735065724469641c10140000000c1101204d6178696d756d206e756d626572206f6620746f74616c207075626c6963206b6579732077686963682063616e2062652073746f7265642070657220444944206b6579d8206964656e7469666965722e205468697320696e636c7564657320746865206f6e65732063757272656e746c79207573656420666f72f02061757468656e7469636174696f6e2c206b65792061677265656d656e742c206174746573746174696f6e2c20616e642064656c65676174696f6e2e584d61784e65774b657941677265656d656e744b6579731c100a000000081501204d6178696d756d206e756d626572206f66206b65792061677265656d656e74206b65797320746861742063616e20626520616464656420696e2061206372656174696f6e2c206f7065726174696f6e2e604d6178546f74616c4b657941677265656d656e744b6579731c1013000000101101204d6178696d756d206e756d626572206f6620746f74616c206b65792061677265656d656e74206b65797320746861742063616e2062652073746f72656420666f7220613420444944207375626a6563742e00c42053686f756c642062652067726561746572207468616e20604d61784e65774b657941677265656d656e744b657973602e4c4d6178426c6f636b73547856616c696469747910202c0100000000000008ec20546865206d6178696d756d206e756d626572206f6620626c6f636b732061204449442d617574686f72697a6564206f7065726174696f6e2069739420636f6e736964657265642076616c696420616674657220697473206372656174696f6e2e644d61784e756d6265724f6653657276696365735065724469641c101900000004fc20546865206d6178696d756d206e756d626572206f6620736572766963657320746861742063616e2062652073746f72656420756e6465722061204449442e484d61785365727669636549644c656e6774681c1032000000049020546865206d6178696d756d206c656e677468206f66206120736572766963652049442e504d617853657276696365547970654c656e6774681c103200000004c820546865206d6178696d756d206c656e677468206f66206120736572766963652074797065206465736372697074696f6e2e684d61784e756d6265724f665479706573506572536572766963651c100100000004090120546865206d6178696d756d206e756d626572206f662061207479706573206465736372697074696f6e20666f722061207365727669636520656e64706f696e742e4c4d61785365727669636555726c4c656e6774681c10c8000000049420546865206d6178696d756d206c656e677468206f66206120736572766963652055524c2e644d61784e756d6265724f6655726c73506572536572766963651c100100000004d420546865206d6178696d756d206e756d626572206f6620612055524c7320666f722061207365727669636520656e64706f696e742e0189064024496e666c6174696f6e000000084c496e697469616c506572696f644c656e677468102048a3c800000000000c050120546865206c656e677468206f662074686520696e697469616c20706572696f6420696e2077686963682074686520636f6e7374616e74207265776172642069731101206d696e7465642e204f6e6365207468652063757272656e7420626c6f636b206578636565647320746869732c207265776172647320617265206e6f206675727468657220206973737565642e4c496e697469616c506572696f64526577617264184036f539fdaeb30200000000000000000008fc2054686520616d6f756e74206f66206e65776c792069737375656420746f6b656e732070657220626c6f636b20647572696e672074686520696e697469616c2020706572696f642e0042244469644c6f6f6b757001244469644c6f6f6b75700834436f6e6e65637465644469647300010402008d06040004a8204d617070696e672066726f6d206163636f756e74206964656e7469666965727320746f20444944732e44436f6e6e65637465644163636f756e747300010802029106ac04000cbc204d617070696e672066726f6d2028444944202b206163636f756e74206964656e74696669657229202d3e2028292e0d012054686520656d707479207475706c65206973207573656420617320612073656e74696e656c2076616c756520746f2073696d706c7920696e64696361746520746865982070726573656e6365206f66206120676976656e207475706c6520696e20746865206d61702e018904010501041c4465706f736974184000c0afd69136000000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e0195064324576562334e616d65730124576562334e616d65730c144f776e6572000104020d01990604000488204d6170206f66206e616d65202d3e206f776e6572736869702064657461696c732e144e616d657300010402000d0104000458204d6170206f66206f776e6572202d3e206e616d652e1842616e6e6564000104020d01ac04000c4c204d6170206f66206e616d65202d3e2028292e00e02049662061206e616d65206b65792069732070726573656e742c20746865206e616d652069732063757272656e746c792062616e6e65642e0191040109010c1c4465706f736974184000d450a85d6b0000000000000000000004bc2054686520616d6f756e74206f66204b494c5420746f206465706f73697420746f20636c61696d2061206e616d652e344d696e4e616d654c656e6774681c1003000000048820546865206d696e20656e636f646564206c656e677468206f662061206e616d652e344d61784e616d654c656e6774681c1020000000048820546865206d617820656e636f646564206c656e677468206f662061206e616d652e019d0644445075626c696343726564656e7469616c7301445075626c696343726564656e7469616c73082c43726564656e7469616c730001080502a106a50604000cc020546865206d6170206f66207075626c69632063726564656e7469616c7320616c72656164792061747465737465642ef0204974206d6170732066726f6d206120287375626a656374206964202b2063726564656e7469616c20696429202d3e20746865206372656174696f6e6c2064657461696c73206f66207468652063726564656e7469616c2e4843726564656e7469616c5375626a65637473000104022c190104001025012041207265766572736520696e646578206d617070696e672066726f6d2063726564656e7469616c20494420746f20746865207375626a656374207468652063726564656e7469616c3c207761732069737375656420746f2e001901204974206974207573656420746f20706572666f726d20656666696369656e74206c6f6f6b7570206f662063726564656e7469616c7320676976656e2074686569722049442e0195040115010c1c4465706f7369741840005c8d421343000000000000000000000411012054686520616d6f756e74206f6620746f6b656e7320746f2072657365727665207768656e20617474657374696e672061207075626c69632063726564656e7469616c2e584d6178456e636f646564436c61696d734c656e6774681c10a0860100040d0120546865206d6178696d756d206c656e67746820696e206279746573206f662074686520656e636f64656420636c61696d73206f6620612063726564656e7469616c2e484d61785375626a65637449644c656e6774681c10cc00000008e820546865206d6178696d756d206c656e67746820696e206279746573206f6620746865207261772063726564656e7469616c207375626a65637430206964656e7469666965722e01a906453c50617261636861696e53797374656d013c50617261636861696e53797374656d545450656e64696e6756616c69646174696f6e436f64650100300400187d0120496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e00c10120417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455dad012077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e000501205b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455d3a2073705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f4445444e657756616c69646174696f6e436f64650000300400145d012056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e647820636f6e73657175656e746c79207468652072656c61792d636861696e2e00650120546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c7265616479207365742c207468652076616c75652e3856616c69646174696f6e446174610000ad0404000cd020546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e2d0120546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f7265643420696e2074686520747269652e5044696453657456616c69646174696f6e436f64650100a4040004e02057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f644c61737452656c6179436861696e426c6f636b4e756d62657201001c1000000000041d01205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e60557067726164655265737472696374696f6e5369676e616c0100ad0604001c750120416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e610120496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365646c2063616e6469646174652077696c6c20626520696e76616c69642e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3c52656c6179537461746550726f6f660000b504040018c4205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e5852656c6576616e744d6573736167696e6753746174650000b50604001c65012054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e2061732070657248207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e44486f7374436f6e66696775726174696f6e0000c9060400182901205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e384c617374446d714d7163486561640100cd0680000000000000000000000000000000000000000000000000000000000000000010f420546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e404c61737448726d704d716348656164730100d106040010490120546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e6450726f636573736564446f776e776172644d6573736167657301001c10000000000cc8204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e3448726d7057617465726d61726b01001c10000000000ca02048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5048726d704f7574626f756e644d657373616765730100dd0604000ca42048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e385570776172644d657373616765730100590204000cac20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5450656e64696e675570776172644d6573736167657301005902040004310120557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e84416e6e6f756e63656448726d704d6573736167657350657243616e64696461746501001c100000000008650120546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f72f020616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e68526573657276656458636d705765696768744f766572726964650000240400085d01205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e645265736572766564446d705765696768744f766572726964650000240400085901205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e44417574686f72697a65645570677261646500002c040004b820546865206e65787420617574686f72697a656420757067726164652c206966207468657265206973206f6e652e60437573746f6d56616c69646174696f6e486561644461746100003004000c2901204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e00190120536565205b6050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461605d20666f72206d6f726520696e666f726d6174696f6e2e01a5040189010001e506503450617261636861696e496e666f013450617261636861696e496e666f042c50617261636861696e49640100990110640000000000000000512458636d705175657565012458636d7051756575652444496e626f756e6458636d705374617475730100e9060400049420537461747573206f662074686520696e626f756e642058434d50206368616e6e656c732e4c496e626f756e6458636d704d657373616765730101080205010730040004190120496e626f756e64206167677265676174652058434d50206d657373616765732e2049742063616e206f6e6c79206265206f6e6520706572205061726149642f626c6f636b2e484f7574626f756e6458636d70537461747573010005070400185d0120546865206e6f6e2d656d7074792058434d50206368616e6e656c7320696e206f72646572206f66206265636f6d696e67206e6f6e2d656d7074792c20616e642074686520696e646578206f6620746865206669727374510120616e64206c617374206f7574626f756e64206d6573736167652e204966207468652074776f20696e64696365732061726520657175616c2c207468656e20697420696e6469636174657320616e20656d707479590120717565756520616e64207468657265206d7573742062652061206e6f6e2d604f6b6020604f7574626f756e64537461747573602e20576520617373756d65207175657565732067726f77206e6f20677265617465725901207468616e203635353335206974656d732e20517565756520696e646963657320666f72206e6f726d616c206d6573736167657320626567696e206174206f6e653b207a65726f20697320726573657276656420696e11012063617365206f6620746865206e65656420746f2073656e64206120686967682d7072696f72697479207369676e616c206d657373616765207468697320626c6f636b2e09012054686520626f6f6c20697320747275652069662074686572652069732061207369676e616c206d6573736167652077616974696e6720746f2062652073656e742e504f7574626f756e6458636d704d657373616765730101080205110730040004bc20546865206d65737361676573206f7574626f756e6420696e206120676976656e2058434d50206368616e6e656c2e385369676e616c4d6573736167657301010402990130040004a020416e79207369676e616c206d657373616765732077616974696e6720746f2062652073656e742e2c5175657565436f6e6669670100150774020000000500000001000000821a06000008000700c817a804020004000415012054686520636f6e66696775726174696f6e20776869636820636f6e74726f6c73207468652064796e616d696373206f6620746865206f7574626f756e642071756575652e284f76657277656967687400010405101907040010050120546865206d657373616765732074686174206578636565646564206d617820696e646976696475616c206d65737361676520776569676874206275646765742e003901205468657365206d657373616765207374617920696e20746869732073746f72616765206d617020756e74696c207468657920617265206d616e75616c6c79206469737061746368656420766961582060736572766963655f6f766572776569676874602e3c4f766572776569676874436f756e7401001020000000000000000008690120546865206e756d626572206f66206f766572776569676874206d657373616765732065766572207265636f7264656420696e20604f766572776569676874602e20416c736f20646f75626c657320617320746865206e6578748420617661696c61626c652066726565206f76657277656967687420696e6465782e38517565756553757370656e6465640100a404000441012057686574686572206f72206e6f74207468652058434d502071756575652069732073757370656e6465642066726f6d20657865637574696e6720696e636f6d696e672058434d73206f72206e6f742e01d904018d0100011d07522c506f6c6b61646f7458636d0001dd04019d0100012107532843756d756c757358636d0000013102000125075420446d7051756575650120446d7051756575651034436f6e66696775726174696f6e01002907280700e40b540202000400044c2054686520636f6e66696775726174696f6e2e2450616765496e64657801002d074000000000000000000000000000000000044020546865207061676520696e6465782e145061676573010104021c310704000444205468652071756575652070616765732e284f766572776569676874000104021035070400046420546865206f766572776569676874206d657373616765732e01410501350200013907553d07042048436865636b4e6f6e5a65726f53656e6465724507ac40436865636b5370656356657273696f6e49071c38436865636b547856657273696f6e4d071c30436865636b47656e6573697351072c38436865636b4d6f7274616c69747955072c28436865636b4e6f6e63655d07ac2c436865636b5765696768746107ac604368617267655472616e73616374696f6e5061796d656e746507ac1504"} \ No newline at end of file diff --git a/packages/augment-api/src/interfaces/augment-api-consts.ts b/packages/augment-api/src/interfaces/augment-api-consts.ts index 39f47cdff..a8d9f67d7 100644 --- a/packages/augment-api/src/interfaces/augment-api-consts.ts +++ b/packages/augment-api/src/interfaces/augment-api-consts.ts @@ -7,8 +7,8 @@ import '@polkadot/api-base/types/consts'; import type { ApiTypes, AugmentedConst } from '@polkadot/api-base/types'; import type { Option, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; -import type { Percent, Permill, Perquintill, Weight } from '@polkadot/types/interfaces/runtime'; -import type { FrameSupportPalletId, FrameSupportWeightsRuntimeDbWeight, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion } from '@polkadot/types/lookup'; +import type { Percent, Permill, Perquintill } from '@polkadot/types/interfaces/runtime'; +import type { FrameSupportPalletId, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight } from '@polkadot/types/lookup'; export type __AugmentedConst = AugmentedConst; @@ -101,6 +101,14 @@ declare module '@polkadot/api-base/types/consts' { * How often (in blocks) new public referenda are launched. **/ launchPeriod: u64 & AugmentedConst; + /** + * The maximum number of items which can be blacklisted. + **/ + maxBlacklisted: u32 & AugmentedConst; + /** + * The maximum number of deposits a public proposal may have at any time. + **/ + maxDeposits: u32 & AugmentedConst; /** * The maximum number of public proposals that can exist at any time. **/ @@ -116,10 +124,6 @@ declare module '@polkadot/api-base/types/consts' { * The minimum amount to be used as a deposit for a public referendum proposal. **/ minimumDeposit: u128 & AugmentedConst; - /** - * The amount of balance that must be deposited per byte of preimage stored. - **/ - preimageByteDeposit: u128 & AugmentedConst; /** * The minimum period of vote locking. * @@ -363,13 +367,11 @@ declare module '@polkadot/api-base/types/consts' { }; scheduler: { /** - * The maximum weight that may be scheduled per block for any dispatchables of less - * priority than `schedule::HARD_DEADLINE`. + * The maximum weight that may be scheduled per block for any dispatchables. **/ - maximumWeight: Weight & AugmentedConst; + maximumWeight: SpWeightsWeightV2Weight & AugmentedConst; /** * The maximum number of scheduled calls in the queue for a single block. - * Not strictly enforced, but used for weight estimation. **/ maxScheduledPerBlock: u32 & AugmentedConst; }; @@ -389,7 +391,7 @@ declare module '@polkadot/api-base/types/consts' { /** * The weight of runtime database operations the runtime can invoke. **/ - dbWeight: FrameSupportWeightsRuntimeDbWeight & AugmentedConst; + dbWeight: SpWeightsRuntimeDbWeight & AugmentedConst; /** * The designated SS58 prefix of this chain. * diff --git a/packages/augment-api/src/interfaces/augment-api-errors.ts b/packages/augment-api/src/interfaces/augment-api-errors.ts index c4bd7b2be..2d8e88203 100644 --- a/packages/augment-api/src/interfaces/augment-api-errors.ts +++ b/packages/augment-api/src/interfaces/augment-api-errors.ts @@ -85,7 +85,7 @@ declare module '@polkadot/api-base/types/errors' { **/ ExistingVestingSchedule: AugmentedError; /** - * Balance too low to send value + * Balance too low to send value. **/ InsufficientBalance: AugmentedError; /** @@ -272,18 +272,10 @@ declare module '@polkadot/api-base/types/errors' { * Identity may not veto a proposal twice **/ AlreadyVetoed: AugmentedError; - /** - * Preimage already noted - **/ - DuplicatePreimage: AugmentedError; /** * Proposal already made **/ DuplicateProposal: AugmentedError; - /** - * Imminent - **/ - Imminent: AugmentedError; /** * The instant referendum origin is currently disallowed. **/ @@ -320,10 +312,6 @@ declare module '@polkadot/api-base/types/errors' { * The account is not currently delegating. **/ NotDelegating: AugmentedError; - /** - * Not imminent - **/ - NotImminent: AugmentedError; /** * Next external proposal not simple majority **/ @@ -332,14 +320,6 @@ declare module '@polkadot/api-base/types/errors' { * The given account did not vote on the referendum. **/ NotVoter: AugmentedError; - /** - * Invalid preimage - **/ - PreimageInvalid: AugmentedError; - /** - * Preimage not found - **/ - PreimageMissing: AugmentedError; /** * Proposal still blacklisted **/ @@ -353,13 +333,9 @@ declare module '@polkadot/api-base/types/errors' { **/ ReferendumInvalid: AugmentedError; /** - * Too early + * Maximum number of items reached. **/ - TooEarly: AugmentedError; - /** - * Maximum number of proposals reached. - **/ - TooManyProposals: AugmentedError; + TooMany: AugmentedError; /** * Value too low **/ @@ -821,7 +797,7 @@ declare module '@polkadot/api-base/types/errors' { /** * Preimage is too large to store on-chain. **/ - TooLarge: AugmentedError; + TooBig: AugmentedError; }; proxy: { /** @@ -891,6 +867,10 @@ declare module '@polkadot/api-base/types/errors' { * Failed to schedule a call **/ FailedToSchedule: AugmentedError; + /** + * Attempt to use a non-named function on a named task. + **/ + Named: AugmentedError; /** * Cannot find the scheduled call. **/ diff --git a/packages/augment-api/src/interfaces/augment-api-events.ts b/packages/augment-api/src/interfaces/augment-api-events.ts index a593a09a9..480a41d5d 100644 --- a/packages/augment-api/src/interfaces/augment-api-events.ts +++ b/packages/augment-api/src/interfaces/augment-api-events.ts @@ -6,10 +6,10 @@ import '@polkadot/api-base/types/events'; import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types'; -import type { Bytes, Null, Option, Result, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; +import type { Bytes, Null, Option, Result, U8aFixed, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; -import type { AccountId32, H256, Perquintill, Weight } from '@polkadot/types/interfaces/runtime'; -import type { DelegationDelegationHierarchyPermissions, FrameSupportScheduleLookupError, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchInfo, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletDidLookupLinkableAccountLinkableAccountId, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpRuntimeDispatchError, SpiritnetRuntimeProxyType, XcmV1MultiLocation, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; +import type { AccountId32, H256, Perquintill } from '@polkadot/types/interfaces/runtime'; +import type { DelegationDelegationHierarchyPermissions, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpRuntimeDispatchError, SpWeightsWeightV2Weight, SpiritnetRuntimeProxyType, XcmV1MultiLocation, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; export type __AugmentedEvent = AugmentedEvent; @@ -193,10 +193,6 @@ declare module '@polkadot/api-base/types/events' { * An account has delegated their vote to another account. **/ Delegated: AugmentedEvent; - /** - * A proposal has been enacted. - **/ - Executed: AugmentedEvent], { refIndex: u32, result: Result }>; /** * An external proposal has been tabled. **/ @@ -209,26 +205,6 @@ declare module '@polkadot/api-base/types/events' { * A proposal has been approved by referendum. **/ Passed: AugmentedEvent; - /** - * A proposal could not be executed because its preimage was invalid. - **/ - PreimageInvalid: AugmentedEvent; - /** - * A proposal could not be executed because its preimage was missing. - **/ - PreimageMissing: AugmentedEvent; - /** - * A proposal's preimage was noted, and the deposit taken. - **/ - PreimageNoted: AugmentedEvent; - /** - * A registered preimage was removed and the deposit collected by the reaper. - **/ - PreimageReaped: AugmentedEvent; - /** - * A proposal preimage was removed and used (the deposit was returned). - **/ - PreimageUsed: AugmentedEvent; /** * A proposal got canceled. **/ @@ -248,7 +224,7 @@ declare module '@polkadot/api-base/types/events' { /** * A public proposal has been tabled for referendum vote. **/ - Tabled: AugmentedEvent], { proposalIndex: u32, deposit: u128, depositors: Vec }>; + Tabled: AugmentedEvent; /** * An account has cancelled a previous delegation operation. **/ @@ -288,11 +264,11 @@ declare module '@polkadot/api-base/types/events' { /** * A new association between a DID and an account ID was created. **/ - AssociationEstablished: AugmentedEvent; + AssociationEstablished: AugmentedEvent; /** * An association between a DID and an account ID was removed. **/ - AssociationRemoved: AugmentedEvent; + AssociationRemoved: AugmentedEvent; }; dmpQueue: { /** @@ -306,11 +282,11 @@ declare module '@polkadot/api-base/types/events' { /** * Downward message is overweight and was placed in the overweight queue. **/ - OverweightEnqueued: AugmentedEvent; + OverweightEnqueued: AugmentedEvent; /** * Downward message from the overweight queue was executed. **/ - OverweightServiced: AugmentedEvent; + OverweightServiced: AugmentedEvent; /** * Downward message is unsupported version of XCM. **/ @@ -318,7 +294,7 @@ declare module '@polkadot/api-base/types/events' { /** * The weight limit for handling downward messages was reached. **/ - WeightExhausted: AugmentedEvent; + WeightExhausted: AugmentedEvent; }; indices: { /** @@ -458,7 +434,7 @@ declare module '@polkadot/api-base/types/events' { /** * Downward messages were processed using the given weight. **/ - DownwardMessagesProcessed: AugmentedEvent; + DownwardMessagesProcessed: AugmentedEvent; /** * Some downward messages have been received and will be processed. **/ @@ -481,6 +457,12 @@ declare module '@polkadot/api-base/types/events' { ValidationFunctionStored: AugmentedEvent; }; polkadotXcm: { + /** + * Some assets have been claimed from an asset trap + * + * \[ hash, origin, assets \] + **/ + AssetsClaimed: AugmentedEvent; /** * Some assets have been placed in an asset trap. * @@ -542,7 +524,7 @@ declare module '@polkadot/api-base/types/events' { * * \[ id, pallet index, call index, actual weight, max budgeted weight \] **/ - NotifyOverweight: AugmentedEvent; + NotifyOverweight: AugmentedEvent; /** * A given location which had a version change subscription was dropped owing to an error * migrating the location to our new XCM format. @@ -617,11 +599,6 @@ declare module '@polkadot/api-base/types/events' { * An announcement was placed to make a call in the future. **/ Announced: AugmentedEvent; - /** - * Anonymous account has been created by new proxy with given - * disambiguation index and proxy type. - **/ - AnonymousCreated: AugmentedEvent; /** * A proxy was added. **/ @@ -634,6 +611,11 @@ declare module '@polkadot/api-base/types/events' { * A proxy was removed. **/ ProxyRemoved: AugmentedEvent; + /** + * A pure account has been created by new proxy with given + * disambiguation index and proxy type. + **/ + PureCreated: AugmentedEvent; }; publicCredentials: { /** @@ -657,7 +639,7 @@ declare module '@polkadot/api-base/types/events' { /** * The call for the provided hash was not found so the task has been aborted. **/ - CallLookupFailed: AugmentedEvent, id: Option, error: FrameSupportScheduleLookupError], { task: ITuple<[u64, u32]>, id: Option, error: FrameSupportScheduleLookupError }>; + CallUnavailable: AugmentedEvent, id: Option], { task: ITuple<[u64, u32]>, id: Option }>; /** * Canceled some task. **/ @@ -665,7 +647,15 @@ declare module '@polkadot/api-base/types/events' { /** * Dispatched some task. **/ - Dispatched: AugmentedEvent, id: Option, result: Result], { task: ITuple<[u64, u32]>, id: Option, result: Result }>; + Dispatched: AugmentedEvent, id: Option, result: Result], { task: ITuple<[u64, u32]>, id: Option, result: Result }>; + /** + * The given task was unable to be renewed since the agenda is full at that block. + **/ + PeriodicFailed: AugmentedEvent, id: Option], { task: ITuple<[u64, u32]>, id: Option }>; + /** + * The given task can never be executed since it is overweight. + **/ + PermanentlyOverweight: AugmentedEvent, id: Option], { task: ITuple<[u64, u32]>, id: Option }>; /** * Scheduled some task. **/ @@ -686,11 +676,11 @@ declare module '@polkadot/api-base/types/events' { /** * An extrinsic failed. **/ - ExtrinsicFailed: AugmentedEvent; + ExtrinsicFailed: AugmentedEvent; /** * An extrinsic completed successfully. **/ - ExtrinsicSuccess: AugmentedEvent; + ExtrinsicSuccess: AugmentedEvent; /** * An account was reaped. **/ @@ -850,6 +840,10 @@ declare module '@polkadot/api-base/types/events' { * We have ended a spend period and will now allocate funds. **/ Spending: AugmentedEvent; + /** + * The inactive funds of the pallet have been updated. + **/ + UpdatedInactive: AugmentedEvent; }; utility: { /** @@ -919,19 +913,19 @@ declare module '@polkadot/api-base/types/events' { /** * Some XCM failed. **/ - Fail: AugmentedEvent, error: XcmV2TraitsError, weight: Weight], { messageHash: Option, error: XcmV2TraitsError, weight: Weight }>; + Fail: AugmentedEvent, error: XcmV2TraitsError, weight: SpWeightsWeightV2Weight], { messageHash: Option, error: XcmV2TraitsError, weight: SpWeightsWeightV2Weight }>; /** * An XCM exceeded the individual message weight budget. **/ - OverweightEnqueued: AugmentedEvent; + OverweightEnqueued: AugmentedEvent; /** * An XCM from the overweight queue was executed with the given actual weight used. **/ - OverweightServiced: AugmentedEvent; + OverweightServiced: AugmentedEvent; /** * Some XCM was executed ok. **/ - Success: AugmentedEvent, weight: Weight], { messageHash: Option, weight: Weight }>; + Success: AugmentedEvent, weight: SpWeightsWeightV2Weight], { messageHash: Option, weight: SpWeightsWeightV2Weight }>; /** * An upward message was sent to the relay chain. **/ diff --git a/packages/augment-api/src/interfaces/augment-api-query.ts b/packages/augment-api/src/interfaces/augment-api-query.ts index ca8807ebe..475c6af92 100644 --- a/packages/augment-api/src/interfaces/augment-api-query.ts +++ b/packages/augment-api/src/interfaces/augment-api-query.ts @@ -6,10 +6,10 @@ import '@polkadot/api-base/types/storage'; import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/api-base/types'; -import type { BTreeMap, Bytes, Null, Option, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec'; +import type { BTreeMap, Bytes, Null, Option, U8aFixed, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec'; import type { AnyNumber, ITuple } from '@polkadot/types-codec/types'; -import type { AccountId32, Call, H256, Weight } from '@polkadot/types/interfaces/runtime'; -import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportWeightsPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, KiltAssetDidsV1AssetDid, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyPreimageStatus, PalletDemocracyReferendumInfo, PalletDemocracyReleases, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupConnectionRecord, PalletDidLookupLinkableAccountLinkableAccountId, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduledV3, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpiritnetRuntimeSessionKeys } from '@polkadot/types/lookup'; +import type { AccountId32, Call, H256 } from '@polkadot/types/interfaces/runtime'; +import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, KiltAssetDidsV1AssetDid, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupConnectionRecord, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, SpiritnetRuntimeSessionKeys } from '@polkadot/types/lookup'; import type { Observable } from '@polkadot/types/types'; export type __AugmentedQuery = AugmentedQuery unknown>; @@ -95,6 +95,10 @@ declare module '@polkadot/api-base/types/storage' { * NOTE: This is only used in the case that this pallet is used to store balances. **/ account: AugmentedQuery Observable, [AccountId32]>; + /** + * The total units of outstanding deactivated balance in the system. + **/ + inactiveIssuance: AugmentedQuery Observable, []>; /** * Any liquidity locks on some account balances. * NOTE: Should only be accessed when setting, changing and freeing a lock. @@ -104,12 +108,6 @@ declare module '@polkadot/api-base/types/storage' { * Named reserves on some account balances. **/ reserves: AugmentedQuery Observable>, [AccountId32]>; - /** - * Storage version of the pallet. - * - * This is set to v2.0.0 for new networks. - **/ - storageVersion: AugmentedQuery Observable, []>; /** * The total units issued in the system. **/ @@ -196,20 +194,15 @@ declare module '@polkadot/api-base/types/storage' { * - `LastTabledWasExternal` is `false`; or * - `PublicProps` is empty. **/ - nextExternal: AugmentedQuery Observable>>, []>; - /** - * Map of hashes to the proposal preimage, along with who registered it and their deposit. - * The block number is the block at which it was deposited. - **/ - preimages: AugmentedQuery Observable>, [H256]>; + nextExternal: AugmentedQuery Observable>>, []>; /** * The number of (public) proposals that have been made so far. **/ publicPropCount: AugmentedQuery Observable, []>; /** - * The public proposals. Unsorted. The second item is the proposal's hash. + * The public proposals. Unsorted. The second item is the proposal. **/ - publicProps: AugmentedQuery Observable>>, []>; + publicProps: AugmentedQuery Observable>>, []>; /** * The next free referendum index, aka the number of referenda started so far. **/ @@ -220,12 +213,6 @@ declare module '@polkadot/api-base/types/storage' { * TWOX-NOTE: SAFE as indexes are not under an attacker’s control. **/ referendumInfoOf: AugmentedQuery Observable>, [u32]>; - /** - * Storage version of the pallet. - * - * New networks start with last version. - **/ - storageVersion: AugmentedQuery Observable>, []>; /** * All votes for a particular voter. We store the balance for the number of votes that we * have recorded. The second item is the total amount of delegations, that will be added. @@ -268,11 +255,11 @@ declare module '@polkadot/api-base/types/storage' { * The empty tuple is used as a sentinel value to simply indicate the * presence of a given tuple in the map. **/ - connectedAccounts: AugmentedQuery Observable>, [AccountId32, PalletDidLookupLinkableAccountLinkableAccountId]>; + connectedAccounts: AugmentedQuery Observable>, [AccountId32, AccountId32]>; /** * Mapping from account identifiers to DIDs. **/ - connectedDids: AugmentedQuery Observable>, [PalletDidLookupLinkableAccountLinkableAccountId]>; + connectedDids: AugmentedQuery Observable>, [AccountId32]>; }; dmpQueue: { /** @@ -513,12 +500,12 @@ declare module '@polkadot/api-base/types/storage' { * The weight we reserve at the beginning of the block for processing DMP messages. This * overrides the amount set in the Config trait. **/ - reservedDmpWeightOverride: AugmentedQuery Observable>, []>; + reservedDmpWeightOverride: AugmentedQuery Observable>, []>; /** * The weight we reserve at the beginning of the block for processing XCMP messages. This * overrides the amount set in the Config trait. **/ - reservedXcmpWeightOverride: AugmentedQuery Observable>, []>; + reservedXcmpWeightOverride: AugmentedQuery Observable>, []>; /** * An option which indicates if the relay-chain restricts signalling a validation code upgrade. * In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced @@ -543,10 +530,7 @@ declare module '@polkadot/api-base/types/storage' { validationData: AugmentedQuery Observable>, []>; }; preimage: { - /** - * The preimages stored by this pallet. - **/ - preimageFor: AugmentedQuery Observable>, [H256]>; + preimageFor: AugmentedQuery | [H256 | string | Uint8Array, u32 | AnyNumber | Uint8Array]) => Observable>, [ITuple<[H256, u32]>]>; /** * The request status of a given hash. **/ @@ -590,11 +574,15 @@ declare module '@polkadot/api-base/types/storage' { /** * Items to be executed, indexed by the block number that they should be executed on. **/ - agenda: AugmentedQuery Observable>>, [u64]>; + agenda: AugmentedQuery Observable>>, [u64]>; + incompleteSince: AugmentedQuery Observable>, []>; /** - * Lookup from identity to the block number and index of the task. + * Lookup from a name to the block number and index of the task. + * + * For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4 + * identities. **/ - lookup: AugmentedQuery Observable>>, [Bytes]>; + lookup: AugmentedQuery Observable>>, [U8aFixed]>; }; session: { /** @@ -648,7 +636,7 @@ declare module '@polkadot/api-base/types/storage' { /** * The current weight for the block. **/ - blockWeight: AugmentedQuery Observable, []>; + blockWeight: AugmentedQuery Observable, []>; /** * Digest of the current block, also part of the block header. **/ @@ -792,6 +780,10 @@ declare module '@polkadot/api-base/types/storage' { * Proposal indices that have been approved but not yet awarded. **/ approvals: AugmentedQuery Observable>, []>; + /** + * The amount which has been reported as inactive to Currency. + **/ + deactivated: AugmentedQuery Observable, []>; /** * Number of proposals that have been made. **/ diff --git a/packages/augment-api/src/interfaces/augment-api-runtime.ts b/packages/augment-api/src/interfaces/augment-api-runtime.ts index 80f0b8064..b32094178 100644 --- a/packages/augment-api/src/interfaces/augment-api-runtime.ts +++ b/packages/augment-api/src/interfaces/augment-api-runtime.ts @@ -7,10 +7,9 @@ import '@polkadot/api-base/types/calls'; // FIXME: Error when using the autogenerated "from '@kiltprotocol/augment-api/extraDefs'" import type { DidApiAccountId, PublicCredentialError, PublicCredentialFilter, RawDidLinkedInfo, StakingRates } from './extraDefs/index.js'; - import type { ApiTypes, AugmentedCall, DecoratedCallBase } from '@polkadot/api-base/types'; import type { Bytes, Null, Option, Result, Text, Vec, u32 } from '@polkadot/types-codec'; -import type { AnyNumber, ITuple } from '@polkadot/types-codec/types'; +import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; import type { CheckInherentsResult, InherentData } from '@polkadot/types/interfaces/blockbuilder'; import type { BlockHash } from '@polkadot/types/interfaces/chain'; import type { AuthorityId } from '@polkadot/types/interfaces/consensus'; @@ -18,7 +17,7 @@ import type { CollationInfo } from '@polkadot/types/interfaces/cumulus'; import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics'; import type { OpaqueMetadata } from '@polkadot/types/interfaces/metadata'; import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment'; -import type { AccountId, AccountId32, Balance, Block, Hash, Header, Index, KeyTypeId, SlotDuration } from '@polkadot/types/interfaces/runtime'; +import type { AccountId, AccountId32, Balance, Block, Call, Hash, Header, Index, KeyTypeId, SlotDuration } from '@polkadot/types/interfaces/runtime'; import type { RuntimeVersion } from '@polkadot/types/interfaces/state'; import type { ApplyExtrinsicResult } from '@polkadot/types/interfaces/system'; import type { TransactionSource, TransactionValidity } from '@polkadot/types/interfaces/txqueue'; @@ -89,7 +88,7 @@ declare module '@polkadot/api-base/types/calls' { **/ version: AugmentedCall Observable>; }; - /** 0x26609555c0656603/2 */ + /** 0x26609555c0656603/1 */ did: { /** * Return the information relative to the owner of the provided DID, if present. @@ -98,7 +97,7 @@ declare module '@polkadot/api-base/types/calls' { /** * Return the information relative to the DID to which the provided account is linked, if any. **/ - queryByAccount: AugmentedCall Observable>>; + queryByAccount: AugmentedCall Observable>>; /** * Return the information relative to the owner of the provided web3name, if any. **/ @@ -160,7 +159,7 @@ declare module '@polkadot/api-base/types/calls' { **/ validateTransaction: AugmentedCall Observable>; }; - /** 0x37c8bb1350a9a2a8/1 */ + /** 0x37c8bb1350a9a2a8/2 */ transactionPaymentApi: { /** * The transaction fee details @@ -171,5 +170,16 @@ declare module '@polkadot/api-base/types/calls' { **/ queryInfo: AugmentedCall Observable>; }; + /** 0xf3ff14d5ab527059/2 */ + transactionPaymentCallApi: { + /** + * The call fee details + **/ + queryCallFeeDetails: AugmentedCall Observable>; + /** + * The call info + **/ + queryCallInfo: AugmentedCall Observable>; + }; } // AugmentedCalls } // declare module diff --git a/packages/augment-api/src/interfaces/augment-api-tx.ts b/packages/augment-api/src/interfaces/augment-api-tx.ts index 85f622c21..0580ccb1d 100644 --- a/packages/augment-api/src/interfaces/augment-api-tx.ts +++ b/packages/augment-api/src/interfaces/augment-api-tx.ts @@ -6,10 +6,10 @@ import '@polkadot/api-base/types/submittable'; import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableExtrinsicFunction } from '@polkadot/api-base/types'; -import type { Bytes, Compact, Option, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; +import type { Bytes, Compact, Option, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; -import type { AccountId32, Call, H256, MultiAddress, Perbill, Perquintill, Weight } from '@polkadot/types/interfaces/runtime'; -import type { CumulusPrimitivesParachainInherentParachainInherentData, DelegationDelegationHierarchyPermissions, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidServiceEndpointsDidEndpoint, FrameSupportScheduleMaybeHashed, PalletDemocracyConviction, PalletDemocracyVoteAccountVote, PalletDidLookupAssociateAccountRequest, PalletDidLookupLinkableAccountLinkableAccountId, PalletVestingVestingInfo, PublicCredentialsCredentialsCredential, RuntimeCommonAuthorizationPalletAuthorize, SpRuntimeHeader, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeSessionKeys, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { AccountId32, Call, H256, MultiAddress, Perquintill } from '@polkadot/types/interfaces/runtime'; +import type { CumulusPrimitivesParachainInherentParachainInherentData, DelegationDelegationHierarchyPermissions, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidServiceEndpointsDidEndpoint, FrameSupportPreimagesBounded, PalletDemocracyConviction, PalletDemocracyVoteAccountVote, PalletVestingVestingInfo, PublicCredentialsCredentialsCredential, RuntimeCommonAuthorizationPalletAuthorize, SpRuntimeHeader, SpRuntimeMultiSignature, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeSessionKeys, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>; export type __SubmittableExtrinsic = SubmittableExtrinsic; @@ -237,7 +237,42 @@ declare module '@polkadot/api-base/types/submittable' { * - up to 3 events * # **/ - close: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, Compact, Compact]>; + close: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, SpWeightsWeightV2Weight, Compact]>; + /** + * Close a vote that is either approved, disapproved or whose voting period has ended. + * + * May be called by any signed account in order to finish voting and close the proposal. + * + * If called before the end of the voting period it will only close the vote if it is + * has enough votes to be approved or disapproved. + * + * If called after the end of the voting period abstentions are counted as rejections + * unless there is a prime member set and the prime member cast an approval. + * + * If the close operation completes successfully with disapproval, the transaction fee will + * be waived. Otherwise execution of the approved operation will be charged to the caller. + * + * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed + * proposal. + * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via + * `storage::read` so it is `size_of::() == 4` larger than the pure length. + * + * # + * ## Weight + * - `O(B + M + P1 + P2)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` is members-count (code- and governance-bounded) + * - `P1` is the complexity of `proposal` preimage. + * - `P2` is proposal-count (code-bounded) + * - DB: + * - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`) + * - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec + * `O(P2)`) + * - any mutations done while executing `proposal` (`P1`) + * - up to 3 events + * # + **/ + closeOldWeight: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, Compact, Compact]>; /** * Disapprove a proposal, close, and remove it from the system, regardless of its current * state. @@ -576,16 +611,6 @@ declare module '@polkadot/api-base/types/submittable' { * Weight: `O(p)` where `p = PublicProps::::decode_len()` **/ cancelProposal: AugmentedSubmittable<(propIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; - /** - * Cancel a proposal queued for enactment. - * - * The dispatch origin of this call must be _Root_. - * - * - `which`: The index of the referendum to cancel. - * - * Weight: `O(D)` where `D` is the items in the dispatch queue. Weighted as `D = 10`. - **/ - cancelQueued: AugmentedSubmittable<(which: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** * Remove a referendum. * @@ -638,10 +663,6 @@ declare module '@polkadot/api-base/types/submittable' { * Weight: `O(1)`. **/ emergencyCancel: AugmentedSubmittable<(refIndex: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; - /** - * Enact a proposal from a referendum. For now we just make the weight be the maximum. - **/ - enactProposal: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, u32]>; /** * Schedule a referendum to be tabled once it is legal to schedule an external * referendum. @@ -649,11 +670,8 @@ declare module '@polkadot/api-base/types/submittable' { * The dispatch origin of this call must be `ExternalOrigin`. * * - `proposal_hash`: The preimage hash of the proposal. - * - * Weight: `O(V)` with V number of vetoers in the blacklist of proposal. - * Decoding vec of length V. Charged as maximum **/ - externalPropose: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; + externalPropose: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded]>; /** * Schedule a negative-turnout-bias referendum to be tabled next once it is legal to * schedule an external referendum. @@ -667,7 +685,7 @@ declare module '@polkadot/api-base/types/submittable' { * * Weight: `O(1)` **/ - externalProposeDefault: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; + externalProposeDefault: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded]>; /** * Schedule a majority-carries referendum to be tabled next once it is legal to schedule * an external referendum. @@ -681,7 +699,7 @@ declare module '@polkadot/api-base/types/submittable' { * * Weight: `O(1)` **/ - externalProposeMajority: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; + externalProposeMajority: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded]>; /** * Schedule the currently externally-proposed majority-carries referendum to be tabled * immediately. If there is no externally-proposed referendum currently, or if there is one @@ -690,7 +708,7 @@ declare module '@polkadot/api-base/types/submittable' { * The dispatch of this call must be `FastTrackOrigin`. * * - `proposal_hash`: The hash of the current external proposal. - * - `voting_period`: The period that is allowed for voting on this proposal. + * - `voting_period`: The period that is allowed for voting on this proposal. Increased to * Must be always greater than zero. * For `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`. * - `delay`: The number of block after voting has ended in approval and this should be @@ -701,42 +719,6 @@ declare module '@polkadot/api-base/types/submittable' { * Weight: `O(1)` **/ fastTrack: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, votingPeriod: u64 | AnyNumber | Uint8Array, delay: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, u64, u64]>; - /** - * Register the preimage for an upcoming proposal. This requires the proposal to be - * in the dispatch queue. No deposit is needed. When this call is successful, i.e. - * the preimage has not been uploaded before and matches some imminent proposal, - * no fee is paid. - * - * The dispatch origin of this call must be _Signed_. - * - * - `encoded_proposal`: The preimage of a proposal. - * - * Emits `PreimageNoted`. - * - * Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit). - **/ - noteImminentPreimage: AugmentedSubmittable<(encodedProposal: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; - /** - * Same as `note_imminent_preimage` but origin is `OperationalPreimageOrigin`. - **/ - noteImminentPreimageOperational: AugmentedSubmittable<(encodedProposal: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; - /** - * Register the preimage for an upcoming proposal. This doesn't require the proposal to be - * in the dispatch queue but does require a deposit, returned once enacted. - * - * The dispatch origin of this call must be _Signed_. - * - * - `encoded_proposal`: The preimage of a proposal. - * - * Emits `PreimageNoted`. - * - * Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit). - **/ - notePreimage: AugmentedSubmittable<(encodedProposal: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; - /** - * Same as `note_preimage` but origin is `OperationalPreimageOrigin`. - **/ - notePreimageOperational: AugmentedSubmittable<(encodedProposal: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** * Propose a sensitive action to be taken. * @@ -747,28 +729,8 @@ declare module '@polkadot/api-base/types/submittable' { * - `value`: The amount of deposit (must be at least `MinimumDeposit`). * * Emits `Proposed`. - * - * Weight: `O(p)` - **/ - propose: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact]>; - /** - * Remove an expired proposal preimage and collect the deposit. - * - * The dispatch origin of this call must be _Signed_. - * - * - `proposal_hash`: The preimage hash of a proposal. - * - `proposal_length_upper_bound`: an upper bound on length of the proposal. Extrinsic is - * weighted according to this value with no refund. - * - * This will only work after `VotingPeriod` blocks from the time that the preimage was - * noted, if it's the same account doing it. If it's a different account, then it'll only - * work an additional `EnactmentPeriod` later. - * - * Emits `PreimageReaped`. - * - * Weight: `O(D)` where D is length of proposal. **/ - reapPreimage: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, proposalLenUpperBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact]>; + propose: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded, Compact]>; /** * Remove a vote for a referendum. * @@ -824,12 +786,8 @@ declare module '@polkadot/api-base/types/submittable' { * must have funds to cover the deposit, equal to the original deposit. * * - `proposal`: The index of the proposal to second. - * - `seconds_upper_bound`: an upper bound on the current number of seconds on this - * proposal. Extrinsic is weighted according to this value with no refund. - * - * Weight: `O(S)` where S is the number of seconds a proposal already has. **/ - second: AugmentedSubmittable<(proposal: Compact | AnyNumber | Uint8Array, secondsUpperBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Compact]>; + second: AugmentedSubmittable<(proposal: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Undelegate the voting power of the sending account. * @@ -875,8 +833,6 @@ declare module '@polkadot/api-base/types/submittable' { * * - `ref_index`: The index of the referendum to vote for. * - `vote`: The vote configuration. - * - * Weight: `O(R)` where R is the number of referendums the voter has voted on. **/ vote: AugmentedSubmittable<(refIndex: Compact | AnyNumber | Uint8Array, vote: PalletDemocracyVoteAccountVote | { Standard: any } | { Split: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, PalletDemocracyVoteAccountVote]>; }; @@ -1197,7 +1153,7 @@ declare module '@polkadot/api-base/types/submittable' { * - Writes: ConnectedDids + ConnectedAccounts * # **/ - associateAccount: AugmentedSubmittable<(req: PalletDidLookupAssociateAccountRequest | { Dotsama: any } | { Ethereum: any } | string | Uint8Array, expiration: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupAssociateAccountRequest, u64]>; + associateAccount: AugmentedSubmittable<(account: AccountId32 | string | Uint8Array, expiration: u64 | AnyNumber | Uint8Array, proof: SpRuntimeMultiSignature | { ed25519: any } | { sr25519: any } | { ecdsa: any } | string | Uint8Array) => SubmittableExtrinsic, [AccountId32, u64, SpRuntimeMultiSignature]>; /** * Associate the sender of the call to the DID that authorized this * call. @@ -1221,7 +1177,7 @@ declare module '@polkadot/api-base/types/submittable' { * The subject of the call must be linked to the account. * The sender of the call will be the new deposit owner. **/ - changeDepositOwner: AugmentedSubmittable<(account: PalletDidLookupLinkableAccountLinkableAccountId | { AccountId20: any } | { AccountId32: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupLinkableAccountLinkableAccountId]>; + changeDepositOwner: AugmentedSubmittable<(account: AccountId32 | string | Uint8Array) => SubmittableExtrinsic, [AccountId32]>; /** * Remove the association of the provided account. This call can only * be called from the deposit owner. The reserved deposit will be @@ -1235,7 +1191,7 @@ declare module '@polkadot/api-base/types/submittable' { * - Writes: ConnectedDids * # **/ - reclaimDeposit: AugmentedSubmittable<(account: PalletDidLookupLinkableAccountLinkableAccountId | { AccountId20: any } | { AccountId32: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupLinkableAccountLinkableAccountId]>; + reclaimDeposit: AugmentedSubmittable<(account: AccountId32 | string | Uint8Array) => SubmittableExtrinsic, [AccountId32]>; /** * Remove the association of the provided account ID. This call doesn't * require the authorization of the account ID, but the associated DID @@ -1249,7 +1205,7 @@ declare module '@polkadot/api-base/types/submittable' { * - Writes: ConnectedDids + ConnectedAccounts * # **/ - removeAccountAssociation: AugmentedSubmittable<(account: PalletDidLookupLinkableAccountLinkableAccountId | { AccountId20: any } | { AccountId32: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupLinkableAccountLinkableAccountId]>; + removeAccountAssociation: AugmentedSubmittable<(account: AccountId32 | string | Uint8Array) => SubmittableExtrinsic, [AccountId32]>; /** * Remove the association of the sender account. This call doesn't * require the authorization of the DID, but requires a signed origin. @@ -1268,7 +1224,7 @@ declare module '@polkadot/api-base/types/submittable' { * * The sender must be the deposit owner. **/ - updateDeposit: AugmentedSubmittable<(account: PalletDidLookupLinkableAccountLinkableAccountId | { AccountId20: any } | { AccountId32: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupLinkableAccountLinkableAccountId]>; + updateDeposit: AugmentedSubmittable<(account: AccountId32 | string | Uint8Array) => SubmittableExtrinsic, [AccountId32]>; }; dmpQueue: { /** @@ -1285,7 +1241,7 @@ declare module '@polkadot/api-base/types/submittable' { * Events: * - `OverweightServiced`: On success. **/ - serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: Weight | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64, Weight]>; + serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64, u64]>; }; indices: { /** @@ -1759,7 +1715,7 @@ declare module '@polkadot/api-base/types/submittable' { * NOTE: A successful return to this does *not* imply that the `msg` was executed successfully * to completion; only that *some* of it was executed. **/ - execute: AugmentedSubmittable<(message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array, maxWeight: Weight | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmVersionedXcm, Weight]>; + execute: AugmentedSubmittable<(message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array, maxWeight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmVersionedXcm, u64]>; /** * Set a safe XCM version (the version that XCM should be encoded with if the most recent * version a destination can accept is unknown). @@ -1890,6 +1846,11 @@ declare module '@polkadot/api-base/types/submittable' { requestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** * Clear an unrequested preimage from the runtime storage. + * + * If `len` is provided, then it will be a much cheaper operation. + * + * - `hash`: The hash of the preimage to be removed from the store. + * - `len`: The length of the preimage of `hash`. **/ unnotePreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** @@ -1910,10 +1871,6 @@ declare module '@polkadot/api-base/types/submittable' { * - `proxy_type`: The permissions allowed for this proxy account. * - `delay`: The announcement period required of the initial proxy. Will generally be * zero. - * - * # - * Weight is a function of the number of proxies the user has (P). - * # **/ addProxy: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, proxyType: SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number | Uint8Array, delay: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, SpiritnetRuntimeProxyType, u64]>; /** @@ -1932,12 +1889,6 @@ declare module '@polkadot/api-base/types/submittable' { * Parameters: * - `real`: The account that the proxy will make a call on behalf of. * - `call_hash`: The hash of the call to be made by the `real` account. - * - * # - * Weight is a function of: - * - A: the number of announcements made. - * - P: the number of proxies the user has. - * # **/ announce: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; /** @@ -1959,36 +1910,27 @@ declare module '@polkadot/api-base/types/submittable' { * same sender, with the same parameters. * * Fails if there are insufficient funds to pay for deposit. - * - * # - * Weight is a function of the number of proxies the user has (P). - * # - * TODO: Might be over counting 1 read **/ - anonymous: AugmentedSubmittable<(proxyType: SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number | Uint8Array, delay: u64 | AnyNumber | Uint8Array, index: u16 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [SpiritnetRuntimeProxyType, u64, u16]>; + createPure: AugmentedSubmittable<(proxyType: SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number | Uint8Array, delay: u64 | AnyNumber | Uint8Array, index: u16 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [SpiritnetRuntimeProxyType, u64, u16]>; /** - * Removes a previously spawned anonymous proxy. + * Removes a previously spawned pure proxy. * * WARNING: **All access to this account will be lost.** Any funds held in it will be * inaccessible. * * Requires a `Signed` origin, and the sender account must have been created by a call to - * `anonymous` with corresponding parameters. - * - * - `spawner`: The account that originally called `anonymous` to create this account. - * - `index`: The disambiguation index originally passed to `anonymous`. Probably `0`. - * - `proxy_type`: The proxy type originally passed to `anonymous`. - * - `height`: The height of the chain when the call to `anonymous` was processed. - * - `ext_index`: The extrinsic index in which the call to `anonymous` was processed. + * `pure` with corresponding parameters. * - * Fails with `NoPermission` in case the caller is not a previously created anonymous - * account whose `anonymous` call has corresponding parameters. + * - `spawner`: The account that originally called `pure` to create this account. + * - `index`: The disambiguation index originally passed to `pure`. Probably `0`. + * - `proxy_type`: The proxy type originally passed to `pure`. + * - `height`: The height of the chain when the call to `pure` was processed. + * - `ext_index`: The extrinsic index in which the call to `pure` was processed. * - * # - * Weight is a function of the number of proxies the user has (P). - * # + * Fails with `NoPermission` in case the caller is not a previously created pure + * account whose `pure` call has corresponding parameters. **/ - killAnonymous: AugmentedSubmittable<(spawner: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, proxyType: SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number | Uint8Array, index: u16 | AnyNumber | Uint8Array, height: Compact | AnyNumber | Uint8Array, extIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, SpiritnetRuntimeProxyType, u16, Compact, Compact]>; + killPure: AugmentedSubmittable<(spawner: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, proxyType: SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number | Uint8Array, index: u16 | AnyNumber | Uint8Array, height: Compact | AnyNumber | Uint8Array, extIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, SpiritnetRuntimeProxyType, u16, Compact, Compact]>; /** * Dispatch the given `call` from an account that the sender is authorised for through * `add_proxy`. @@ -2001,10 +1943,6 @@ declare module '@polkadot/api-base/types/submittable' { * - `real`: The account that the proxy will make a call on behalf of. * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. * - `call`: The call to be made by the `real` account. - * - * # - * Weight is a function of the number of proxies the user has (P). - * # **/ proxy: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, forceProxyType: Option | null | Uint8Array | SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Option, Call]>; /** @@ -2019,12 +1957,6 @@ declare module '@polkadot/api-base/types/submittable' { * - `real`: The account that the proxy will make a call on behalf of. * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. * - `call`: The call to be made by the `real` account. - * - * # - * Weight is a function of: - * - A: the number of announcements made. - * - P: the number of proxies the user has. - * # **/ proxyAnnounced: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, forceProxyType: Option | null | Uint8Array | SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress, Option, Call]>; /** @@ -2038,12 +1970,6 @@ declare module '@polkadot/api-base/types/submittable' { * Parameters: * - `delegate`: The account that previously announced the call. * - `call_hash`: The hash of the call to be made. - * - * # - * Weight is a function of: - * - A: the number of announcements made. - * - P: the number of proxies the user has. - * # **/ rejectAnnouncement: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; /** @@ -2057,12 +1983,6 @@ declare module '@polkadot/api-base/types/submittable' { * Parameters: * - `real`: The account that the proxy will make a call on behalf of. * - `call_hash`: The hash of the call to be made by the `real` account. - * - * # - * Weight is a function of: - * - A: the number of announcements made. - * - P: the number of proxies the user has. - * # **/ removeAnnouncement: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; /** @@ -2070,12 +1990,8 @@ declare module '@polkadot/api-base/types/submittable' { * * The dispatch origin for this call must be _Signed_. * - * WARNING: This may be called on accounts created by `anonymous`, however if done, then + * WARNING: This may be called on accounts created by `pure`, however if done, then * the unreserved fees will be inaccessible. **All access to this account will be lost.** - * - * # - * Weight is a function of the number of proxies the user has (P). - * # **/ removeProxies: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** @@ -2086,10 +2002,6 @@ declare module '@polkadot/api-base/types/submittable' { * Parameters: * - `proxy`: The account that the `caller` would like to remove as a proxy. * - `proxy_type`: The permissions currently enabled for the removed proxy account. - * - * # - * Weight is a function of the number of proxies the user has (P). - * # **/ removeProxy: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, proxyType: SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number | Uint8Array, delay: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, SpiritnetRuntimeProxyType, u64]>; }; @@ -2192,11 +2104,11 @@ declare module '@polkadot/api-base/types/submittable' { /** * Cancel a named scheduled task. **/ - cancelNamed: AugmentedSubmittable<(id: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; + cancelNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array) => SubmittableExtrinsic, [U8aFixed]>; /** * Anonymously schedule a task. **/ - schedule: AugmentedSubmittable<(when: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic, [u64, Option>, u8, FrameSupportScheduleMaybeHashed]>; + schedule: AugmentedSubmittable<(when: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [u64, Option>, u8, Call]>; /** * Anonymously schedule a task after a delay. * @@ -2204,11 +2116,11 @@ declare module '@polkadot/api-base/types/submittable' { * Same as [`schedule`]. * # **/ - scheduleAfter: AugmentedSubmittable<(after: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic, [u64, Option>, u8, FrameSupportScheduleMaybeHashed]>; + scheduleAfter: AugmentedSubmittable<(after: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [u64, Option>, u8, Call]>; /** * Schedule a named task. **/ - scheduleNamed: AugmentedSubmittable<(id: Bytes | string | Uint8Array, when: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic, [Bytes, u64, Option>, u8, FrameSupportScheduleMaybeHashed]>; + scheduleNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, when: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [U8aFixed, u64, Option>, u8, Call]>; /** * Schedule a named task after a delay. * @@ -2216,7 +2128,7 @@ declare module '@polkadot/api-base/types/submittable' { * Same as [`schedule_named`](Self::schedule_named). * # **/ - scheduleNamedAfter: AugmentedSubmittable<(id: Bytes | string | Uint8Array, after: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic, [Bytes, u64, Option>, u8, FrameSupportScheduleMaybeHashed]>; + scheduleNamedAfter: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, after: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [U8aFixed, u64, Option>, u8, Call]>; }; session: { /** @@ -2257,10 +2169,6 @@ declare module '@polkadot/api-base/types/submittable' { setKeys: AugmentedSubmittable<(keys: SpiritnetRuntimeSessionKeys | { aura?: any } | string | Uint8Array, proof: Bytes | string | Uint8Array) => SubmittableExtrinsic, [SpiritnetRuntimeSessionKeys, Bytes]>; }; system: { - /** - * A dispatch that will fill the block weight up to the given ratio. - **/ - fillBlock: AugmentedSubmittable<(ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Perbill]>; /** * Kill all storage items with a key that starts with the given prefix. * @@ -2355,7 +2263,42 @@ declare module '@polkadot/api-base/types/submittable' { * - up to 3 events * # **/ - close: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, Compact, Compact]>; + close: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, SpWeightsWeightV2Weight, Compact]>; + /** + * Close a vote that is either approved, disapproved or whose voting period has ended. + * + * May be called by any signed account in order to finish voting and close the proposal. + * + * If called before the end of the voting period it will only close the vote if it is + * has enough votes to be approved or disapproved. + * + * If called after the end of the voting period abstentions are counted as rejections + * unless there is a prime member set and the prime member cast an approval. + * + * If the close operation completes successfully with disapproval, the transaction fee will + * be waived. Otherwise execution of the approved operation will be charged to the caller. + * + * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed + * proposal. + * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via + * `storage::read` so it is `size_of::() == 4` larger than the pure length. + * + * # + * ## Weight + * - `O(B + M + P1 + P2)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` is members-count (code- and governance-bounded) + * - `P1` is the complexity of `proposal` preimage. + * - `P2` is proposal-count (code-bounded) + * - DB: + * - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`) + * - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec + * `O(P2)`) + * - any mutations done while executing `proposal` (`P1`) + * - up to 3 events + * # + **/ + closeOldWeight: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, Compact, Compact]>; /** * Disapprove a proposal, close, and remove it from the system, regardless of its current * state. @@ -2810,13 +2753,13 @@ declare module '@polkadot/api-base/types/submittable' { /** * Send a batch of dispatch calls. * - * May be called from any origin. + * May be called from any origin except `None`. * * - `calls`: The calls to be dispatched from the same origin. The number of call must not * exceed the constant: `batched_calls_limit` (available in constant metadata). * - * If origin is root then call are dispatch without checking origin filter. (This includes - * bypassing `frame_system::Config::BaseCallFilter`). + * If origin is root then the calls are dispatched without checking origin filter. (This + * includes bypassing `frame_system::Config::BaseCallFilter`). * * # * - Complexity: O(C) where C is the number of calls to be batched. @@ -2833,13 +2776,13 @@ declare module '@polkadot/api-base/types/submittable' { * Send a batch of dispatch calls and atomically execute them. * The whole transaction will rollback and fail if any of the calls failed. * - * May be called from any origin. + * May be called from any origin except `None`. * * - `calls`: The calls to be dispatched from the same origin. The number of call must not * exceed the constant: `batched_calls_limit` (available in constant metadata). * - * If origin is root then call are dispatch without checking origin filter. (This includes - * bypassing `frame_system::Config::BaseCallFilter`). + * If origin is root then the calls are dispatched without checking origin filter. (This + * includes bypassing `frame_system::Config::BaseCallFilter`). * * # * - Complexity: O(C) where C is the number of calls to be batched. @@ -2863,19 +2806,28 @@ declare module '@polkadot/api-base/types/submittable' { * Send a batch of dispatch calls. * Unlike `batch`, it allows errors and won't interrupt. * - * May be called from any origin. + * May be called from any origin except `None`. * * - `calls`: The calls to be dispatched from the same origin. The number of call must not * exceed the constant: `batched_calls_limit` (available in constant metadata). * - * If origin is root then call are dispatch without checking origin filter. (This includes - * bypassing `frame_system::Config::BaseCallFilter`). + * If origin is root then the calls are dispatch without checking origin filter. (This + * includes bypassing `frame_system::Config::BaseCallFilter`). * * # * - Complexity: O(C) where C is the number of calls to be batched. * # **/ forceBatch: AugmentedSubmittable<(calls: Vec | (Call | IMethod | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + /** + * Dispatch a function call with a specified weight. + * + * This function does not check the weight of the call, and instead allows the + * Root origin to specify the weight of the call. + * + * The dispatch origin for this call must be _Root_. + **/ + withWeight: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array, weight: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [Call, SpWeightsWeightV2Weight]>; }; vesting: { /** @@ -3104,7 +3056,7 @@ declare module '@polkadot/api-base/types/submittable' { * Events: * - `OverweightServiced`: On success. **/ - serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: Weight | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64, Weight]>; + serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64, u64]>; /** * Suspends all XCM executions for the XCMP queue, regardless of the sender's origin. * @@ -3141,7 +3093,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `origin`: Must pass `Root`. * - `new`: Desired value for `QueueConfigData.threshold_weight` **/ - updateThresholdWeight: AugmentedSubmittable<(updated: Weight | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Weight]>; + updateThresholdWeight: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; /** * Overwrites the speed to which the available weight approaches the maximum weight. * A lower number results in a faster progression. A value of 1 makes the entire weight available initially. @@ -3149,7 +3101,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `origin`: Must pass `Root`. * - `new`: Desired value for `QueueConfigData.weight_restrict_decay`. **/ - updateWeightRestrictDecay: AugmentedSubmittable<(updated: Weight | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Weight]>; + updateWeightRestrictDecay: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; /** * Overwrite the maximum amount of weight any individual message may consume. * Messages above this weight go into the overweight queue and may only be serviced explicitly. @@ -3157,7 +3109,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `origin`: Must pass `Root`. * - `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`. **/ - updateXcmpMaxIndividualWeight: AugmentedSubmittable<(updated: Weight | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Weight]>; + updateXcmpMaxIndividualWeight: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; }; } // AugmentedSubmittables } // declare module diff --git a/packages/augment-api/src/interfaces/extraDefs/types.ts b/packages/augment-api/src/interfaces/extraDefs/types.ts index 42a6bfaee..ce4f28bfb 100644 --- a/packages/augment-api/src/interfaces/extraDefs/types.ts +++ b/packages/augment-api/src/interfaces/extraDefs/types.ts @@ -4,10 +4,10 @@ import type { Enum, Option, Struct, Text, Vec } from '@polkadot/types-codec'; import type { AccountId32, Hash, Perquintill } from '@polkadot/types/interfaces/runtime'; // FIXME: manually added as they are not automatically imported -import type { DidServiceEndpointsDidEndpoint, DidDidDetails, PalletDidLookupLinkableAccountLinkableAccountId } from '@polkadot/types/lookup' +import type { DidServiceEndpointsDidEndpoint, DidDidDetails } from '@polkadot/types/lookup' /** @name DidApiAccountId */ -export interface DidApiAccountId extends PalletDidLookupLinkableAccountLinkableAccountId { } +export interface DidApiAccountId extends AccountId32 {} /** @name PublicCredentialError */ export interface PublicCredentialError extends Enum { diff --git a/packages/augment-api/src/interfaces/lookup.ts b/packages/augment-api/src/interfaces/lookup.ts index 9558566c5..ef6e89bd2 100644 --- a/packages/augment-api/src/interfaces/lookup.ts +++ b/packages/augment-api/src/interfaces/lookup.ts @@ -24,21 +24,28 @@ export default { feeFrozen: 'u128' }, /** - * Lookup8: frame_support::weights::PerDispatchClass + * Lookup8: frame_support::dispatch::PerDispatchClass **/ - FrameSupportWeightsPerDispatchClassWeight: { - normal: 'Weight', - operational: 'Weight', - mandatory: 'Weight' + FrameSupportDispatchPerDispatchClassWeight: { + normal: 'SpWeightsWeightV2Weight', + operational: 'SpWeightsWeightV2Weight', + mandatory: 'SpWeightsWeightV2Weight' }, /** - * Lookup12: sp_runtime::generic::digest::Digest + * Lookup9: sp_weights::weight_v2::Weight + **/ + SpWeightsWeightV2Weight: { + refTime: 'Compact', + proofSize: 'Compact' + }, + /** + * Lookup13: sp_runtime::generic::digest::Digest **/ SpRuntimeDigest: { logs: 'Vec' }, /** - * Lookup14: sp_runtime::generic::digest::DigestItem + * Lookup15: sp_runtime::generic::digest::DigestItem **/ SpRuntimeDigestDigestItem: { _enum: { @@ -54,7 +61,7 @@ export default { } }, /** - * Lookup17: frame_system::EventRecord + * Lookup18: frame_system::EventRecord **/ FrameSystemEventRecord: { phase: 'FrameSystemPhase', @@ -62,16 +69,16 @@ export default { topics: 'Vec' }, /** - * Lookup19: frame_system::pallet::Event + * Lookup20: frame_system::pallet::Event **/ FrameSystemEvent: { _enum: { ExtrinsicSuccess: { - dispatchInfo: 'FrameSupportWeightsDispatchInfo', + dispatchInfo: 'FrameSupportDispatchDispatchInfo', }, ExtrinsicFailed: { dispatchError: 'SpRuntimeDispatchError', - dispatchInfo: 'FrameSupportWeightsDispatchInfo', + dispatchInfo: 'FrameSupportDispatchDispatchInfo', }, CodeUpdated: 'Null', NewAccount: { @@ -90,27 +97,27 @@ export default { } }, /** - * Lookup20: frame_support::weights::DispatchInfo + * Lookup21: frame_support::dispatch::DispatchInfo **/ - FrameSupportWeightsDispatchInfo: { - weight: 'Weight', - class: 'FrameSupportWeightsDispatchClass', - paysFee: 'FrameSupportWeightsPays' + FrameSupportDispatchDispatchInfo: { + weight: 'SpWeightsWeightV2Weight', + class: 'FrameSupportDispatchDispatchClass', + paysFee: 'FrameSupportDispatchPays' }, /** - * Lookup21: frame_support::weights::DispatchClass + * Lookup22: frame_support::dispatch::DispatchClass **/ - FrameSupportWeightsDispatchClass: { + FrameSupportDispatchDispatchClass: { _enum: ['Normal', 'Operational', 'Mandatory'] }, /** - * Lookup22: frame_support::weights::Pays + * Lookup23: frame_support::dispatch::Pays **/ - FrameSupportWeightsPays: { + FrameSupportDispatchPays: { _enum: ['Yes', 'No'] }, /** - * Lookup23: sp_runtime::DispatchError + * Lookup24: sp_runtime::DispatchError **/ SpRuntimeDispatchError: { _enum: { @@ -122,37 +129,40 @@ export default { NoProviders: 'Null', TooManyConsumers: 'Null', Token: 'SpRuntimeTokenError', - Arithmetic: 'SpRuntimeArithmeticError', - Transactional: 'SpRuntimeTransactionalError' + Arithmetic: 'SpArithmeticArithmeticError', + Transactional: 'SpRuntimeTransactionalError', + Exhausted: 'Null', + Corruption: 'Null', + Unavailable: 'Null' } }, /** - * Lookup24: sp_runtime::ModuleError + * Lookup25: sp_runtime::ModuleError **/ SpRuntimeModuleError: { index: 'u8', error: '[u8;4]' }, /** - * Lookup25: sp_runtime::TokenError + * Lookup26: sp_runtime::TokenError **/ SpRuntimeTokenError: { _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported'] }, /** - * Lookup26: sp_runtime::ArithmeticError + * Lookup27: sp_arithmetic::ArithmeticError **/ - SpRuntimeArithmeticError: { + SpArithmeticArithmeticError: { _enum: ['Underflow', 'Overflow', 'DivisionByZero'] }, /** - * Lookup27: sp_runtime::TransactionalError + * Lookup28: sp_runtime::TransactionalError **/ SpRuntimeTransactionalError: { _enum: ['LimitReached', 'NoLayer'] }, /** - * Lookup28: pallet_indices::pallet::Event + * Lookup29: pallet_indices::pallet::Event **/ PalletIndicesEvent: { _enum: { @@ -170,7 +180,7 @@ export default { } }, /** - * Lookup29: pallet_balances::pallet::Event + * Lookup30: pallet_balances::pallet::Event **/ PalletBalancesEvent: { _enum: { @@ -221,13 +231,13 @@ export default { } }, /** - * Lookup30: frame_support::traits::tokens::misc::BalanceStatus + * Lookup31: frame_support::traits::tokens::misc::BalanceStatus **/ FrameSupportTokensMiscBalanceStatus: { _enum: ['Free', 'Reserved'] }, /** - * Lookup31: pallet_transaction_payment::pallet::Event + * Lookup32: pallet_transaction_payment::pallet::Event **/ PalletTransactionPaymentEvent: { _enum: { @@ -239,7 +249,7 @@ export default { } }, /** - * Lookup32: pallet_session::pallet::Event + * Lookup33: pallet_session::pallet::Event **/ PalletSessionEvent: { _enum: { @@ -249,7 +259,7 @@ export default { } }, /** - * Lookup33: parachain_staking::pallet::Event + * Lookup34: parachain_staking::pallet::Event **/ ParachainStakingEvent: { _enum: { @@ -277,7 +287,7 @@ export default { } }, /** - * Lookup35: pallet_democracy::pallet::Event + * Lookup36: pallet_democracy::pallet::Event **/ PalletDemocracyEvent: { _enum: { @@ -288,7 +298,6 @@ export default { Tabled: { proposalIndex: 'u32', deposit: 'u128', - depositors: 'Vec', }, ExternalTabled: 'Null', Started: { @@ -304,10 +313,6 @@ export default { Cancelled: { refIndex: 'u32', }, - Executed: { - refIndex: 'u32', - result: 'Result', - }, Delegated: { who: 'AccountId32', target: 'AccountId32', @@ -320,30 +325,6 @@ export default { proposalHash: 'H256', until: 'u64', }, - PreimageNoted: { - proposalHash: 'H256', - who: 'AccountId32', - deposit: 'u128', - }, - PreimageUsed: { - proposalHash: 'H256', - provider: 'AccountId32', - deposit: 'u128', - }, - PreimageInvalid: { - proposalHash: 'H256', - refIndex: 'u32', - }, - PreimageMissing: { - proposalHash: 'H256', - refIndex: 'u32', - }, - PreimageReaped: { - proposalHash: 'H256', - provider: 'AccountId32', - deposit: 'u128', - reaper: 'AccountId32', - }, Blacklisted: { proposalHash: 'H256', }, @@ -368,7 +349,7 @@ export default { _enum: ['SuperMajorityApprove', 'SuperMajorityAgainst', 'SimpleMajority'] }, /** - * Lookup40: pallet_democracy::vote::AccountVote + * Lookup38: pallet_democracy::vote::AccountVote **/ PalletDemocracyVoteAccountVote: { _enum: { @@ -383,7 +364,7 @@ export default { } }, /** - * Lookup42: pallet_collective::pallet::Event + * Lookup40: pallet_collective::pallet::Event **/ PalletCollectiveEvent: { _enum: { @@ -459,7 +440,11 @@ export default { SpendApproved: { proposalIndex: 'u32', amount: 'u128', - beneficiary: 'AccountId32' + beneficiary: 'AccountId32', + }, + UpdatedInactive: { + reactivated: 'u128', + deactivated: 'u128' } } }, @@ -512,32 +497,33 @@ export default { }, Dispatched: { task: '(u64,u32)', - id: 'Option', + id: 'Option<[u8;32]>', result: 'Result', }, - CallLookupFailed: { + CallUnavailable: { + task: '(u64,u32)', + id: 'Option<[u8;32]>', + }, + PeriodicFailed: { task: '(u64,u32)', - id: 'Option', - error: 'FrameSupportScheduleLookupError' + id: 'Option<[u8;32]>', + }, + PermanentlyOverweight: { + task: '(u64,u32)', + id: 'Option<[u8;32]>' } } }, /** - * Lookup52: frame_support::traits::schedule::LookupError - **/ - FrameSupportScheduleLookupError: { - _enum: ['Unknown', 'BadFormat'] - }, - /** - * Lookup53: pallet_proxy::pallet::Event + * Lookup52: pallet_proxy::pallet::Event **/ PalletProxyEvent: { _enum: { ProxyExecuted: { result: 'Result', }, - AnonymousCreated: { - anonymous: 'AccountId32', + PureCreated: { + pure: 'AccountId32', who: 'AccountId32', proxyType: 'SpiritnetRuntimeProxyType', disambiguationIndex: 'u16', @@ -562,13 +548,13 @@ export default { } }, /** - * Lookup54: spiritnet_runtime::ProxyType + * Lookup53: spiritnet_runtime::ProxyType **/ SpiritnetRuntimeProxyType: { _enum: ['Any', 'NonTransfer', 'Governance', 'ParachainStaking', 'CancelProxy', 'NonDepositClaiming'] }, /** - * Lookup56: pallet_preimage::pallet::Event + * Lookup55: pallet_preimage::pallet::Event **/ PalletPreimageEvent: { _enum: { @@ -593,7 +579,7 @@ export default { } }, /** - * Lookup58: pallet_tips::pallet::Event + * Lookup57: pallet_tips::pallet::Event **/ PalletTipsEvent: { _enum: { @@ -619,7 +605,7 @@ export default { } }, /** - * Lookup59: ctype::pallet::Event + * Lookup58: ctype::pallet::Event **/ CtypeEvent: { _enum: { @@ -628,7 +614,7 @@ export default { } }, /** - * Lookup60: attestation::pallet::Event + * Lookup59: attestation::pallet::Event **/ AttestationEvent: { _enum: { @@ -639,7 +625,7 @@ export default { } }, /** - * Lookup62: runtime_common::authorization::AuthorizationId + * Lookup61: runtime_common::authorization::AuthorizationId **/ RuntimeCommonAuthorizationAuthorizationId: { _enum: { @@ -647,7 +633,7 @@ export default { } }, /** - * Lookup63: delegation::pallet::Event + * Lookup62: delegation::pallet::Event **/ DelegationEvent: { _enum: { @@ -661,13 +647,13 @@ export default { } }, /** - * Lookup64: delegation::delegation_hierarchy::Permissions + * Lookup63: delegation::delegation_hierarchy::Permissions **/ DelegationDelegationHierarchyPermissions: { bits: 'u32' }, /** - * Lookup65: did::pallet::Event + * Lookup64: did::pallet::Event **/ DidEvent: { _enum: { @@ -678,29 +664,16 @@ export default { } }, /** - * Lookup66: pallet_did_lookup::pallet::Event + * Lookup65: pallet_did_lookup::pallet::Event **/ PalletDidLookupEvent: { _enum: { - AssociationEstablished: '(PalletDidLookupLinkableAccountLinkableAccountId,AccountId32)', - AssociationRemoved: '(PalletDidLookupLinkableAccountLinkableAccountId,AccountId32)' - } - }, - /** - * Lookup67: pallet_did_lookup::linkable_account::LinkableAccountId - **/ - PalletDidLookupLinkableAccountLinkableAccountId: { - _enum: { - AccountId20: 'PalletDidLookupAccountAccountId20', - AccountId32: 'AccountId32' + AssociationEstablished: '(AccountId32,AccountId32)', + AssociationRemoved: '(AccountId32,AccountId32)' } }, /** - * Lookup68: pallet_did_lookup::account::AccountId20 - **/ - PalletDidLookupAccountAccountId20: '[u8;20]', - /** - * Lookup70: pallet_web3_names::pallet::Event + * Lookup66: pallet_web3_names::pallet::Event **/ PalletWeb3NamesEvent: { _enum: { @@ -721,7 +694,7 @@ export default { } }, /** - * Lookup73: public_credentials::pallet::Event + * Lookup69: public_credentials::pallet::Event **/ PublicCredentialsEvent: { _enum: { @@ -742,18 +715,18 @@ export default { } }, /** - * Lookup74: runtime_common::assets::AssetDid + * Lookup70: runtime_common::assets::AssetDid **/ RuntimeCommonAssetsAssetDid: 'KiltAssetDidsV1AssetDid', /** - * Lookup75: kilt_asset_dids::v1::AssetDid + * Lookup71: kilt_asset_dids::v1::AssetDid **/ KiltAssetDidsV1AssetDid: { chainId: 'KiltAssetDidsChainV1ChainId', assetId: 'KiltAssetDidsAssetV1AssetId' }, /** - * Lookup76: kilt_asset_dids::chain::v1::ChainId + * Lookup72: kilt_asset_dids::chain::v1::ChainId **/ KiltAssetDidsChainV1ChainId: { _enum: { @@ -765,18 +738,18 @@ export default { } }, /** - * Lookup78: kilt_asset_dids::chain::v1::GenesisHexHash32Reference + * Lookup74: kilt_asset_dids::chain::v1::GenesisHexHash32Reference **/ KiltAssetDidsChainV1GenesisHexHash32Reference: '[u8;16]', /** - * Lookup82: kilt_asset_dids::chain::v1::GenericChainId + * Lookup78: kilt_asset_dids::chain::v1::GenericChainId **/ KiltAssetDidsChainV1GenericChainId: { namespace: 'Bytes', reference: 'Bytes' }, /** - * Lookup86: kilt_asset_dids::asset::v1::AssetId + * Lookup82: kilt_asset_dids::asset::v1::AssetId **/ KiltAssetDidsAssetV1AssetId: { _enum: { @@ -788,15 +761,15 @@ export default { } }, /** - * Lookup90: kilt_asset_dids::asset::v1::EvmSmartContractFungibleReference + * Lookup86: kilt_asset_dids::asset::v1::EvmSmartContractFungibleReference **/ KiltAssetDidsAssetV1EvmSmartContractFungibleReference: '[u8;20]', /** - * Lookup91: kilt_asset_dids::asset::v1::EvmSmartContractNonFungibleReference + * Lookup88: kilt_asset_dids::asset::v1::EvmSmartContractNonFungibleReference **/ KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference: '(KiltAssetDidsAssetV1EvmSmartContractFungibleReference,Option)', /** - * Lookup95: kilt_asset_dids::asset::v1::GenericAssetId + * Lookup92: kilt_asset_dids::asset::v1::GenericAssetId **/ KiltAssetDidsAssetV1GenericAssetId: { namespace: 'Bytes', @@ -804,7 +777,7 @@ export default { id: 'Option' }, /** - * Lookup101: cumulus_pallet_parachain_system::pallet::Event + * Lookup98: cumulus_pallet_parachain_system::pallet::Event **/ CumulusPalletParachainSystemEvent: { _enum: { @@ -820,24 +793,24 @@ export default { count: 'u32', }, DownwardMessagesProcessed: { - weightUsed: 'Weight', + weightUsed: 'SpWeightsWeightV2Weight', dmqHead: 'H256' } } }, /** - * Lookup102: cumulus_pallet_xcmp_queue::pallet::Event + * Lookup99: cumulus_pallet_xcmp_queue::pallet::Event **/ CumulusPalletXcmpQueueEvent: { _enum: { Success: { messageHash: 'Option', - weight: 'Weight', + weight: 'SpWeightsWeightV2Weight', }, Fail: { messageHash: 'Option', error: 'XcmV2TraitsError', - weight: 'Weight', + weight: 'SpWeightsWeightV2Weight', }, BadVersion: { messageHash: 'Option', @@ -855,16 +828,16 @@ export default { sender: 'u32', sentAt: 'u32', index: 'u64', - required: 'Weight', + required: 'SpWeightsWeightV2Weight', }, OverweightServiced: { index: 'u64', - used: 'Weight' + used: 'SpWeightsWeightV2Weight' } } }, /** - * Lookup104: xcm::v2::traits::Error + * Lookup101: xcm::v2::traits::Error **/ XcmV2TraitsError: { _enum: { @@ -897,7 +870,7 @@ export default { } }, /** - * Lookup106: pallet_xcm::pallet::Event + * Lookup103: pallet_xcm::pallet::Event **/ PalletXcmEvent: { _enum: { @@ -906,7 +879,7 @@ export default { UnexpectedResponse: '(XcmV1MultiLocation,u64)', ResponseReady: '(u64,XcmV2Response)', Notified: '(u64,u8,u8)', - NotifyOverweight: '(u64,u8,u8,Weight,Weight)', + NotifyOverweight: '(u64,u8,u8,SpWeightsWeightV2Weight,SpWeightsWeightV2Weight)', NotifyDispatchError: '(u64,u8,u8)', NotifyDecodeFailed: '(u64,u8,u8)', InvalidResponder: '(XcmV1MultiLocation,u64,Option)', @@ -916,11 +889,12 @@ export default { VersionChangeNotified: '(XcmV1MultiLocation,u32)', SupportedVersionChanged: '(XcmV1MultiLocation,u32)', NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)', - NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)' + NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)', + AssetsClaimed: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)' } }, /** - * Lookup107: xcm::v2::traits::Outcome + * Lookup104: xcm::v2::traits::Outcome **/ XcmV2TraitsOutcome: { _enum: { @@ -930,14 +904,14 @@ export default { } }, /** - * Lookup108: xcm::v1::multilocation::MultiLocation + * Lookup105: xcm::v1::multilocation::MultiLocation **/ XcmV1MultiLocation: { parents: 'u8', interior: 'XcmV1MultilocationJunctions' }, /** - * Lookup109: xcm::v1::multilocation::Junctions + * Lookup106: xcm::v1::multilocation::Junctions **/ XcmV1MultilocationJunctions: { _enum: { @@ -953,7 +927,7 @@ export default { } }, /** - * Lookup110: xcm::v1::junction::Junction + * Lookup107: xcm::v1::junction::Junction **/ XcmV1Junction: { _enum: { @@ -981,7 +955,7 @@ export default { } }, /** - * Lookup112: xcm::v0::junction::NetworkId + * Lookup109: xcm::v0::junction::NetworkId **/ XcmV0JunctionNetworkId: { _enum: { @@ -992,7 +966,7 @@ export default { } }, /** - * Lookup116: xcm::v0::junction::BodyId + * Lookup112: xcm::v0::junction::BodyId **/ XcmV0JunctionBodyId: { _enum: { @@ -1002,11 +976,14 @@ export default { Executive: 'Null', Technical: 'Null', Legislative: 'Null', - Judicial: 'Null' + Judicial: 'Null', + Defense: 'Null', + Administration: 'Null', + Treasury: 'Null' } }, /** - * Lookup117: xcm::v0::junction::BodyPart + * Lookup113: xcm::v0::junction::BodyPart **/ XcmV0JunctionBodyPart: { _enum: { @@ -1029,11 +1006,11 @@ export default { } }, /** - * Lookup118: xcm::v2::Xcm + * Lookup114: xcm::v2::Xcm **/ XcmV2Xcm: 'Vec', /** - * Lookup120: xcm::v2::Instruction + * Lookup116: xcm::v2::Instruction **/ XcmV2Instruction: { _enum: { @@ -1131,18 +1108,18 @@ export default { } }, /** - * Lookup121: xcm::v1::multiasset::MultiAssets + * Lookup117: xcm::v1::multiasset::MultiAssets **/ XcmV1MultiassetMultiAssets: 'Vec', /** - * Lookup123: xcm::v1::multiasset::MultiAsset + * Lookup119: xcm::v1::multiasset::MultiAsset **/ XcmV1MultiAsset: { id: 'XcmV1MultiassetAssetId', fun: 'XcmV1MultiassetFungibility' }, /** - * Lookup124: xcm::v1::multiasset::AssetId + * Lookup120: xcm::v1::multiasset::AssetId **/ XcmV1MultiassetAssetId: { _enum: { @@ -1151,7 +1128,7 @@ export default { } }, /** - * Lookup125: xcm::v1::multiasset::Fungibility + * Lookup121: xcm::v1::multiasset::Fungibility **/ XcmV1MultiassetFungibility: { _enum: { @@ -1160,7 +1137,7 @@ export default { } }, /** - * Lookup126: xcm::v1::multiasset::AssetInstance + * Lookup122: xcm::v1::multiasset::AssetInstance **/ XcmV1MultiassetAssetInstance: { _enum: { @@ -1174,7 +1151,7 @@ export default { } }, /** - * Lookup128: xcm::v2::Response + * Lookup124: xcm::v2::Response **/ XcmV2Response: { _enum: { @@ -1185,19 +1162,19 @@ export default { } }, /** - * Lookup131: xcm::v0::OriginKind + * Lookup127: xcm::v0::OriginKind **/ XcmV0OriginKind: { _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm'] }, /** - * Lookup132: xcm::double_encoded::DoubleEncoded + * Lookup128: xcm::double_encoded::DoubleEncoded **/ XcmDoubleEncoded: { encoded: 'Bytes' }, /** - * Lookup133: xcm::v1::multiasset::MultiAssetFilter + * Lookup129: xcm::v1::multiasset::MultiAssetFilter **/ XcmV1MultiassetMultiAssetFilter: { _enum: { @@ -1206,7 +1183,7 @@ export default { } }, /** - * Lookup134: xcm::v1::multiasset::WildMultiAsset + * Lookup130: xcm::v1::multiasset::WildMultiAsset **/ XcmV1MultiassetWildMultiAsset: { _enum: { @@ -1218,13 +1195,13 @@ export default { } }, /** - * Lookup135: xcm::v1::multiasset::WildFungibility + * Lookup131: xcm::v1::multiasset::WildFungibility **/ XcmV1MultiassetWildFungibility: { _enum: ['Fungible', 'NonFungible'] }, /** - * Lookup136: xcm::v2::WeightLimit + * Lookup132: xcm::v2::WeightLimit **/ XcmV2WeightLimit: { _enum: { @@ -1233,7 +1210,7 @@ export default { } }, /** - * Lookup138: xcm::VersionedMultiAssets + * Lookup134: xcm::VersionedMultiAssets **/ XcmVersionedMultiAssets: { _enum: { @@ -1242,7 +1219,7 @@ export default { } }, /** - * Lookup140: xcm::v0::multi_asset::MultiAsset + * Lookup136: xcm::v0::multi_asset::MultiAsset **/ XcmV0MultiAsset: { _enum: { @@ -1281,7 +1258,7 @@ export default { } }, /** - * Lookup141: xcm::v0::multi_location::MultiLocation + * Lookup137: xcm::v0::multi_location::MultiLocation **/ XcmV0MultiLocation: { _enum: { @@ -1297,7 +1274,7 @@ export default { } }, /** - * Lookup142: xcm::v0::junction::Junction + * Lookup138: xcm::v0::junction::Junction **/ XcmV0Junction: { _enum: { @@ -1326,7 +1303,7 @@ export default { } }, /** - * Lookup143: xcm::VersionedMultiLocation + * Lookup139: xcm::VersionedMultiLocation **/ XcmVersionedMultiLocation: { _enum: { @@ -1335,7 +1312,7 @@ export default { } }, /** - * Lookup144: cumulus_pallet_xcm::pallet::Event + * Lookup140: cumulus_pallet_xcm::pallet::Event **/ CumulusPalletXcmEvent: { _enum: { @@ -1345,7 +1322,7 @@ export default { } }, /** - * Lookup145: cumulus_pallet_dmp_queue::pallet::Event + * Lookup141: cumulus_pallet_dmp_queue::pallet::Event **/ CumulusPalletDmpQueueEvent: { _enum: { @@ -1361,22 +1338,22 @@ export default { }, WeightExhausted: { messageId: '[u8;32]', - remainingWeight: 'Weight', - requiredWeight: 'Weight', + remainingWeight: 'SpWeightsWeightV2Weight', + requiredWeight: 'SpWeightsWeightV2Weight', }, OverweightEnqueued: { messageId: '[u8;32]', overweightIndex: 'u64', - requiredWeight: 'Weight', + requiredWeight: 'SpWeightsWeightV2Weight', }, OverweightServiced: { overweightIndex: 'u64', - weightUsed: 'Weight' + weightUsed: 'SpWeightsWeightV2Weight' } } }, /** - * Lookup146: frame_system::Phase + * Lookup142: frame_system::Phase **/ FrameSystemPhase: { _enum: { @@ -1386,20 +1363,17 @@ export default { } }, /** - * Lookup149: frame_system::LastRuntimeUpgradeInfo + * Lookup145: frame_system::LastRuntimeUpgradeInfo **/ FrameSystemLastRuntimeUpgradeInfo: { specVersion: 'Compact', specName: 'Text' }, /** - * Lookup151: frame_system::pallet::Call + * Lookup147: frame_system::pallet::Call **/ FrameSystemCall: { _enum: { - fill_block: { - ratio: 'Perbill', - }, remark: { remark: 'Bytes', }, @@ -1431,53 +1405,53 @@ export default { } }, /** - * Lookup156: frame_system::limits::BlockWeights + * Lookup151: frame_system::limits::BlockWeights **/ FrameSystemLimitsBlockWeights: { - baseBlock: 'Weight', - maxBlock: 'Weight', - perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass' + baseBlock: 'SpWeightsWeightV2Weight', + maxBlock: 'SpWeightsWeightV2Weight', + perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass' }, /** - * Lookup157: frame_support::weights::PerDispatchClass + * Lookup152: frame_support::dispatch::PerDispatchClass **/ - FrameSupportWeightsPerDispatchClassWeightsPerClass: { + FrameSupportDispatchPerDispatchClassWeightsPerClass: { normal: 'FrameSystemLimitsWeightsPerClass', operational: 'FrameSystemLimitsWeightsPerClass', mandatory: 'FrameSystemLimitsWeightsPerClass' }, /** - * Lookup158: frame_system::limits::WeightsPerClass + * Lookup153: frame_system::limits::WeightsPerClass **/ FrameSystemLimitsWeightsPerClass: { - baseExtrinsic: 'Weight', - maxExtrinsic: 'Option', - maxTotal: 'Option', - reserved: 'Option' + baseExtrinsic: 'SpWeightsWeightV2Weight', + maxExtrinsic: 'Option', + maxTotal: 'Option', + reserved: 'Option' }, /** - * Lookup160: frame_system::limits::BlockLength + * Lookup155: frame_system::limits::BlockLength **/ FrameSystemLimitsBlockLength: { - max: 'FrameSupportWeightsPerDispatchClassU32' + max: 'FrameSupportDispatchPerDispatchClassU32' }, /** - * Lookup161: frame_support::weights::PerDispatchClass + * Lookup156: frame_support::dispatch::PerDispatchClass **/ - FrameSupportWeightsPerDispatchClassU32: { + FrameSupportDispatchPerDispatchClassU32: { normal: 'u32', operational: 'u32', mandatory: 'u32' }, /** - * Lookup162: frame_support::weights::RuntimeDbWeight + * Lookup157: sp_weights::RuntimeDbWeight **/ - FrameSupportWeightsRuntimeDbWeight: { + SpWeightsRuntimeDbWeight: { read: 'u64', write: 'u64' }, /** - * Lookup163: sp_version::RuntimeVersion + * Lookup158: sp_version::RuntimeVersion **/ SpVersionRuntimeVersion: { specName: 'Text', @@ -1490,13 +1464,13 @@ export default { stateVersion: 'u8' }, /** - * Lookup167: frame_system::pallet::Error + * Lookup162: frame_system::pallet::Error **/ FrameSystemError: { _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered'] }, /** - * Lookup169: pallet_timestamp::pallet::Call + * Lookup164: pallet_timestamp::pallet::Call **/ PalletTimestampCall: { _enum: { @@ -1506,7 +1480,7 @@ export default { } }, /** - * Lookup171: pallet_indices::pallet::Call + * Lookup166: pallet_indices::pallet::Call **/ PalletIndicesCall: { _enum: { @@ -1537,13 +1511,13 @@ export default { } }, /** - * Lookup174: pallet_indices::pallet::Error + * Lookup169: pallet_indices::pallet::Error **/ PalletIndicesError: { _enum: ['NotAssigned', 'NotOwner', 'InUse', 'NotTransfer', 'Permanent'] }, /** - * Lookup176: pallet_balances::BalanceLock + * Lookup171: pallet_balances::BalanceLock **/ PalletBalancesBalanceLock: { id: '[u8;8]', @@ -1551,26 +1525,20 @@ export default { reasons: 'PalletBalancesReasons' }, /** - * Lookup177: pallet_balances::Reasons + * Lookup172: pallet_balances::Reasons **/ PalletBalancesReasons: { _enum: ['Fee', 'Misc', 'All'] }, /** - * Lookup180: pallet_balances::ReserveData + * Lookup175: pallet_balances::ReserveData **/ PalletBalancesReserveData: { id: '[u8;8]', amount: 'u128' }, /** - * Lookup182: pallet_balances::Releases - **/ - PalletBalancesReleases: { - _enum: ['V1_0_0', 'V2_0_0'] - }, - /** - * Lookup183: pallet_balances::pallet::Call + * Lookup177: pallet_balances::pallet::Call **/ PalletBalancesCall: { _enum: { @@ -1603,37 +1571,37 @@ export default { } }, /** - * Lookup184: pallet_balances::pallet::Error + * Lookup178: pallet_balances::pallet::Error **/ PalletBalancesError: { _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves'] }, /** - * Lookup186: pallet_transaction_payment::Releases + * Lookup180: pallet_transaction_payment::Releases **/ PalletTransactionPaymentReleases: { _enum: ['V1Ancient', 'V2'] }, /** - * Lookup188: sp_consensus_aura::sr25519::app_sr25519::Public + * Lookup182: sp_consensus_aura::sr25519::app_sr25519::Public **/ SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public', /** - * Lookup189: sp_core::sr25519::Public + * Lookup183: sp_core::sr25519::Public **/ SpCoreSr25519Public: '[u8;32]', /** - * Lookup194: spiritnet_runtime::SessionKeys + * Lookup189: spiritnet_runtime::SessionKeys **/ SpiritnetRuntimeSessionKeys: { aura: 'SpConsensusAuraSr25519AppSr25519Public' }, /** - * Lookup197: sp_core::crypto::KeyTypeId + * Lookup192: sp_core::crypto::KeyTypeId **/ SpCoreCryptoKeyTypeId: '[u8;4]', /** - * Lookup198: pallet_session::pallet::Call + * Lookup193: pallet_session::pallet::Call **/ PalletSessionCall: { _enum: { @@ -1648,13 +1616,13 @@ export default { } }, /** - * Lookup199: pallet_session::pallet::Error + * Lookup194: pallet_session::pallet::Error **/ PalletSessionError: { _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount'] }, /** - * Lookup200: parachain_staking::types::RoundInfo + * Lookup195: parachain_staking::types::RoundInfo **/ ParachainStakingRoundInfo: { current: 'u32', @@ -1662,21 +1630,21 @@ export default { length: 'u64' }, /** - * Lookup201: parachain_staking::types::DelegationCounter + * Lookup196: parachain_staking::types::DelegationCounter **/ ParachainStakingDelegationCounter: { round: 'u32', counter: 'u32' }, /** - * Lookup202: parachain_staking::types::Stake + * Lookup197: parachain_staking::types::Stake **/ ParachainStakingStake: { owner: 'AccountId32', amount: 'u128' }, /** - * Lookup203: parachain_staking::types::Candidate + * Lookup198: parachain_staking::types::Candidate **/ ParachainStakingCandidate: { id: 'AccountId32', @@ -1686,11 +1654,11 @@ export default { status: 'ParachainStakingCandidateStatus' }, /** - * Lookup204: parachain_staking::set::OrderedSet, S> + * Lookup199: parachain_staking::set::OrderedSet, S> **/ ParachainStakingSetOrderedSet: 'Vec', /** - * Lookup207: parachain_staking::types::CandidateStatus + * Lookup202: parachain_staking::types::CandidateStatus **/ ParachainStakingCandidateStatus: { _enum: { @@ -1699,35 +1667,35 @@ export default { } }, /** - * Lookup208: parachain_staking::types::TotalStake + * Lookup203: parachain_staking::types::TotalStake **/ ParachainStakingTotalStake: { collators: 'u128', delegators: 'u128' }, /** - * Lookup211: parachain_staking::inflation::InflationInfo + * Lookup206: parachain_staking::inflation::InflationInfo **/ ParachainStakingInflationInflationInfo: { collator: 'ParachainStakingInflationStakingInfo', delegator: 'ParachainStakingInflationStakingInfo' }, /** - * Lookup212: parachain_staking::inflation::StakingInfo + * Lookup207: parachain_staking::inflation::StakingInfo **/ ParachainStakingInflationStakingInfo: { maxRate: 'Perquintill', rewardRate: 'ParachainStakingInflationRewardRate' }, /** - * Lookup213: parachain_staking::inflation::RewardRate + * Lookup208: parachain_staking::inflation::RewardRate **/ ParachainStakingInflationRewardRate: { annual: 'Perquintill', perBlock: 'Perquintill' }, /** - * Lookup218: parachain_staking::pallet::Call + * Lookup213: parachain_staking::pallet::Call **/ ParachainStakingCall: { _enum: { @@ -1794,13 +1762,13 @@ export default { } }, /** - * Lookup219: parachain_staking::pallet::Error + * Lookup214: parachain_staking::pallet::Error **/ ParachainStakingError: { _enum: ['DelegatorNotFound', 'CandidateNotFound', 'DelegatorExists', 'CandidateExists', 'ValStakeZero', 'ValStakeBelowMin', 'ValStakeAboveMax', 'DelegationBelowMin', 'AlreadyLeaving', 'NotLeaving', 'CannotLeaveYet', 'CannotJoinBeforeUnlocking', 'AlreadyDelegating', 'NotYetDelegating', 'DelegationsPerRoundExceeded', 'TooManyDelegators', 'TooFewCollatorCandidates', 'CannotStakeIfLeaving', 'CannotDelegateIfLeaving', 'MaxCollatorsPerDelegatorExceeded', 'AlreadyDelegatedCollator', 'DelegationNotFound', 'Underflow', 'CannotSetAboveMax', 'CannotSetBelowMin', 'InvalidSchedule', 'NoMoreUnstaking', 'TooEarly', 'StakeNotFound', 'UnstakingIsEmpty', 'RewardsNotFound'] }, /** - * Lookup221: pallet_authorship::UncleEntryItem + * Lookup216: pallet_authorship::UncleEntryItem **/ PalletAuthorshipUncleEntryItem: { _enum: { @@ -1809,7 +1777,7 @@ export default { } }, /** - * Lookup224: pallet_authorship::pallet::Call + * Lookup219: pallet_authorship::pallet::Call **/ PalletAuthorshipCall: { _enum: { @@ -1819,7 +1787,7 @@ export default { } }, /** - * Lookup226: sp_runtime::generic::header::Header + * Lookup221: sp_runtime::generic::header::Header **/ SpRuntimeHeader: { parentHash: 'H256', @@ -1829,114 +1797,47 @@ export default { digest: 'SpRuntimeDigest' }, /** - * Lookup227: sp_runtime::traits::BlakeTwo256 + * Lookup222: sp_runtime::traits::BlakeTwo256 **/ SpRuntimeBlakeTwo256: 'Null', /** - * Lookup228: pallet_authorship::pallet::Error + * Lookup223: pallet_authorship::pallet::Error **/ PalletAuthorshipError: { _enum: ['InvalidUncleParent', 'UnclesAlreadySet', 'TooManyUncles', 'GenesisUncle', 'TooHighUncle', 'UncleAlreadyIncluded', 'OldUncle'] }, /** - * Lookup232: pallet_democracy::PreimageStatus - **/ - PalletDemocracyPreimageStatus: { - _enum: { - Missing: 'u64', - Available: { - data: 'Bytes', - provider: 'AccountId32', - deposit: 'u128', - since: 'u64', - expiry: 'Option' - } - } - }, - /** - * Lookup234: pallet_democracy::types::ReferendumInfo + * Lookup226: frame_support::traits::preimages::Bounded **/ - PalletDemocracyReferendumInfo: { + FrameSupportPreimagesBounded: { _enum: { - Ongoing: 'PalletDemocracyReferendumStatus', - Finished: { - approved: 'bool', - end: 'u64' - } - } - }, - /** - * Lookup235: pallet_democracy::types::ReferendumStatus - **/ - PalletDemocracyReferendumStatus: { - end: 'u64', - proposalHash: 'H256', - threshold: 'PalletDemocracyVoteThreshold', - delay: 'u64', - tally: 'PalletDemocracyTally' - }, - /** - * Lookup236: pallet_democracy::types::Tally - **/ - PalletDemocracyTally: { - ayes: 'u128', - nays: 'u128', - turnout: 'u128' - }, - /** - * Lookup237: pallet_democracy::vote::Voting - **/ - PalletDemocracyVoteVoting: { - _enum: { - Direct: { - votes: 'Vec<(u32,PalletDemocracyVoteAccountVote)>', - delegations: 'PalletDemocracyDelegations', - prior: 'PalletDemocracyVotePriorLock', + Legacy: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', }, - Delegating: { - balance: 'u128', - target: 'AccountId32', - conviction: 'PalletDemocracyConviction', - delegations: 'PalletDemocracyDelegations', - prior: 'PalletDemocracyVotePriorLock' + Inline: 'Bytes', + Lookup: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', + len: 'u32' } } }, /** - * Lookup240: pallet_democracy::types::Delegations - **/ - PalletDemocracyDelegations: { - votes: 'u128', - capital: 'u128' - }, - /** - * Lookup241: pallet_democracy::vote::PriorLock - **/ - PalletDemocracyVotePriorLock: '(u64,u128)', - /** - * Lookup242: pallet_democracy::conviction::Conviction - **/ - PalletDemocracyConviction: { - _enum: ['None', 'Locked1x', 'Locked2x', 'Locked3x', 'Locked4x', 'Locked5x', 'Locked6x'] - }, - /** - * Lookup245: pallet_democracy::Releases - **/ - PalletDemocracyReleases: { - _enum: ['V1'] - }, - /** - * Lookup246: pallet_democracy::pallet::Call + * Lookup228: pallet_democracy::pallet::Call **/ PalletDemocracyCall: { _enum: { propose: { - proposalHash: 'H256', + proposal: 'FrameSupportPreimagesBounded', value: 'Compact', }, second: { proposal: 'Compact', - secondsUpperBound: 'Compact', }, vote: { refIndex: 'Compact', @@ -1946,13 +1847,13 @@ export default { refIndex: 'u32', }, external_propose: { - proposalHash: 'H256', + proposal: 'FrameSupportPreimagesBounded', }, external_propose_majority: { - proposalHash: 'H256', + proposal: 'FrameSupportPreimagesBounded', }, external_propose_default: { - proposalHash: 'H256', + proposal: 'FrameSupportPreimagesBounded', }, fast_track: { proposalHash: 'H256', @@ -1965,9 +1866,6 @@ export default { cancel_referendum: { refIndex: 'Compact', }, - cancel_queued: { - which: 'u32', - }, delegate: { to: 'MultiAddress', conviction: 'PalletDemocracyConviction', @@ -1975,22 +1873,6 @@ export default { }, undelegate: 'Null', clear_public_proposals: 'Null', - note_preimage: { - encodedProposal: 'Bytes', - }, - note_preimage_operational: { - encodedProposal: 'Bytes', - }, - note_imminent_preimage: { - encodedProposal: 'Bytes', - }, - note_imminent_preimage_operational: { - encodedProposal: 'Bytes', - }, - reap_preimage: { - proposalHash: 'H256', - proposalLenUpperBound: 'Compact', - }, unlock: { target: 'MultiAddress', }, @@ -2001,10 +1883,6 @@ export default { target: 'MultiAddress', index: 'u32', }, - enact_proposal: { - proposalHash: 'H256', - index: 'u32', - }, blacklist: { proposalHash: 'H256', maybeRefIndex: 'Option', @@ -2015,13 +1893,13 @@ export default { } }, /** - * Lookup248: pallet_democracy::pallet::Error + * Lookup229: pallet_democracy::conviction::Conviction **/ - PalletDemocracyError: { - _enum: ['ValueLow', 'ProposalMissing', 'AlreadyCanceled', 'DuplicateProposal', 'ProposalBlacklisted', 'NotSimpleMajority', 'InvalidHash', 'NoProposal', 'AlreadyVetoed', 'DuplicatePreimage', 'NotImminent', 'TooEarly', 'Imminent', 'PreimageMissing', 'ReferendumInvalid', 'PreimageInvalid', 'NoneWaiting', 'NotVoter', 'NoPermission', 'AlreadyDelegating', 'InsufficientFunds', 'NotDelegating', 'VotesExist', 'InstantNotAllowed', 'Nonsense', 'WrongUpperBound', 'MaxVotesReached', 'TooManyProposals', 'VotingPeriodLow'] + PalletDemocracyConviction: { + _enum: ['None', 'Locked1x', 'Locked2x', 'Locked3x', 'Locked4x', 'Locked5x', 'Locked6x'] }, /** - * Lookup251: pallet_collective::pallet::Call + * Lookup231: pallet_collective::pallet::Call **/ PalletCollectiveCall: { _enum: { @@ -2044,19 +1922,25 @@ export default { index: 'Compact', approve: 'bool', }, - close: { + close_old_weight: { proposalHash: 'H256', index: 'Compact', - proposalWeightBound: 'Compact', + proposalWeightBound: 'Compact', lengthBound: 'Compact', }, disapprove_proposal: { - proposalHash: 'H256' + proposalHash: 'H256', + }, + close: { + proposalHash: 'H256', + index: 'Compact', + proposalWeightBound: 'SpWeightsWeightV2Weight', + lengthBound: 'Compact' } } }, /** - * Lookup254: pallet_membership::pallet::Call + * Lookup235: pallet_membership::pallet::Call **/ PalletMembershipCall: { _enum: { @@ -2086,7 +1970,7 @@ export default { } }, /** - * Lookup255: pallet_treasury::pallet::Call + * Lookup236: pallet_treasury::pallet::Call **/ PalletTreasuryCall: { _enum: { @@ -2110,7 +1994,7 @@ export default { } }, /** - * Lookup256: pallet_utility::pallet::Call + * Lookup237: pallet_utility::pallet::Call **/ PalletUtilityCall: { _enum: { @@ -2129,12 +2013,16 @@ export default { call: 'Call', }, force_batch: { - calls: 'Vec' + calls: 'Vec', + }, + with_weight: { + call: 'Call', + weight: 'SpWeightsWeightV2Weight' } } }, /** - * Lookup258: spiritnet_runtime::OriginCaller + * Lookup239: spiritnet_runtime::OriginCaller **/ SpiritnetRuntimeOriginCaller: { _enum: { @@ -2226,7 +2114,7 @@ export default { } }, /** - * Lookup259: frame_support::dispatch::RawOrigin + * Lookup240: frame_support::dispatch::RawOrigin **/ FrameSupportDispatchRawOrigin: { _enum: { @@ -2236,7 +2124,7 @@ export default { } }, /** - * Lookup260: pallet_collective::RawOrigin + * Lookup241: pallet_collective::RawOrigin **/ PalletCollectiveRawOrigin: { _enum: { @@ -2246,14 +2134,14 @@ export default { } }, /** - * Lookup262: did::origin::DidRawOrigin + * Lookup243: did::origin::DidRawOrigin **/ DidOriginDidRawOrigin: { id: 'AccountId32', submitter: 'AccountId32' }, /** - * Lookup263: pallet_xcm::pallet::Origin + * Lookup244: pallet_xcm::pallet::Origin **/ PalletXcmOrigin: { _enum: { @@ -2262,7 +2150,7 @@ export default { } }, /** - * Lookup264: cumulus_pallet_xcm::pallet::Origin + * Lookup245: cumulus_pallet_xcm::pallet::Origin **/ CumulusPalletXcmOrigin: { _enum: { @@ -2271,11 +2159,11 @@ export default { } }, /** - * Lookup265: sp_core::Void + * Lookup246: sp_core::Void **/ SpCoreVoid: 'Null', /** - * Lookup266: pallet_vesting::pallet::Call + * Lookup247: pallet_vesting::pallet::Call **/ PalletVestingCall: { _enum: { @@ -2299,7 +2187,7 @@ export default { } }, /** - * Lookup267: pallet_vesting::vesting_info::VestingInfo + * Lookup248: pallet_vesting::vesting_info::VestingInfo **/ PalletVestingVestingInfo: { locked: 'u128', @@ -2307,7 +2195,7 @@ export default { startingBlock: 'u64' }, /** - * Lookup268: pallet_scheduler::pallet::Call + * Lookup249: pallet_scheduler::pallet::Call **/ PalletSchedulerCall: { _enum: { @@ -2315,48 +2203,39 @@ export default { when: 'u64', maybePeriodic: 'Option<(u64,u32)>', priority: 'u8', - call: 'FrameSupportScheduleMaybeHashed', + call: 'Call', }, cancel: { when: 'u64', index: 'u32', }, schedule_named: { - id: 'Bytes', + id: '[u8;32]', when: 'u64', maybePeriodic: 'Option<(u64,u32)>', priority: 'u8', - call: 'FrameSupportScheduleMaybeHashed', + call: 'Call', }, cancel_named: { - id: 'Bytes', + id: '[u8;32]', }, schedule_after: { after: 'u64', maybePeriodic: 'Option<(u64,u32)>', priority: 'u8', - call: 'FrameSupportScheduleMaybeHashed', + call: 'Call', }, schedule_named_after: { - id: 'Bytes', + id: '[u8;32]', after: 'u64', maybePeriodic: 'Option<(u64,u32)>', priority: 'u8', - call: 'FrameSupportScheduleMaybeHashed' + call: 'Call' } } }, /** - * Lookup270: frame_support::traits::schedule::MaybeHashed - **/ - FrameSupportScheduleMaybeHashed: { - _enum: { - Value: 'Call', - Hash: 'H256' - } - }, - /** - * Lookup271: pallet_proxy::pallet::Call + * Lookup251: pallet_proxy::pallet::Call **/ PalletProxyCall: { _enum: { @@ -2376,12 +2255,12 @@ export default { delay: 'u64', }, remove_proxies: 'Null', - anonymous: { + create_pure: { proxyType: 'SpiritnetRuntimeProxyType', delay: 'u64', index: 'u16', }, - kill_anonymous: { + kill_pure: { spawner: 'MultiAddress', proxyType: 'SpiritnetRuntimeProxyType', index: 'u16', @@ -2409,7 +2288,7 @@ export default { } }, /** - * Lookup273: pallet_preimage::pallet::Call + * Lookup253: pallet_preimage::pallet::Call **/ PalletPreimageCall: { _enum: { @@ -2437,7 +2316,7 @@ export default { } }, /** - * Lookup275: pallet_tips::pallet::Call + * Lookup255: pallet_tips::pallet::Call **/ PalletTipsCall: { _enum: { @@ -2478,7 +2357,7 @@ export default { } }, /** - * Lookup276: ctype::pallet::Call + * Lookup256: ctype::pallet::Call **/ CtypeCall: { _enum: { @@ -2492,7 +2371,7 @@ export default { } }, /** - * Lookup277: attestation::pallet::Call + * Lookup257: attestation::pallet::Call **/ AttestationCall: { _enum: { @@ -2521,7 +2400,7 @@ export default { } }, /** - * Lookup279: runtime_common::authorization::PalletAuthorize> + * Lookup259: runtime_common::authorization::PalletAuthorize> **/ RuntimeCommonAuthorizationPalletAuthorize: { _enum: { @@ -2529,18 +2408,18 @@ export default { } }, /** - * Lookup280: delegation::access_control::DelegationAc + * Lookup260: delegation::access_control::DelegationAc **/ DelegationAccessControlDelegationAc: { subjectNodeId: 'H256', maxChecks: 'u32' }, /** - * Lookup281: spiritnet_runtime::Runtime + * Lookup261: spiritnet_runtime::Runtime **/ SpiritnetRuntimeRuntime: 'Null', /** - * Lookup282: delegation::pallet::Call + * Lookup262: delegation::pallet::Call **/ DelegationCall: { _enum: { @@ -2577,7 +2456,7 @@ export default { } }, /** - * Lookup283: did::did_details::DidSignature + * Lookup263: did::did_details::DidSignature **/ DidDidDetailsDidSignature: { _enum: { @@ -2587,19 +2466,19 @@ export default { } }, /** - * Lookup284: sp_core::ed25519::Signature + * Lookup264: sp_core::ed25519::Signature **/ SpCoreEd25519Signature: '[u8;64]', /** - * Lookup286: sp_core::sr25519::Signature + * Lookup266: sp_core::sr25519::Signature **/ SpCoreSr25519Signature: '[u8;64]', /** - * Lookup287: sp_core::ecdsa::Signature + * Lookup267: sp_core::ecdsa::Signature **/ SpCoreEcdsaSignature: '[u8;65]', /** - * Lookup289: did::pallet::Call + * Lookup269: did::pallet::Call **/ DidCall: { _enum: { @@ -2648,7 +2527,7 @@ export default { } }, /** - * Lookup290: did::did_details::DidCreationDetails + * Lookup270: did::did_details::DidCreationDetails **/ DidDidDetailsDidCreationDetails: { did: 'AccountId32', @@ -2659,7 +2538,7 @@ export default { newServiceDetails: 'Vec' }, /** - * Lookup292: did::did_details::DidEncryptionKey + * Lookup272: did::did_details::DidEncryptionKey **/ DidDidDetailsDidEncryptionKey: { _enum: { @@ -2667,7 +2546,7 @@ export default { } }, /** - * Lookup296: did::did_details::DidVerificationKey + * Lookup276: did::did_details::DidVerificationKey **/ DidDidDetailsDidVerificationKey: { _enum: { @@ -2677,15 +2556,15 @@ export default { } }, /** - * Lookup297: sp_core::ed25519::Public + * Lookup277: sp_core::ed25519::Public **/ SpCoreEd25519Public: '[u8;32]', /** - * Lookup298: sp_core::ecdsa::Public + * Lookup278: sp_core::ecdsa::Public **/ SpCoreEcdsaPublic: '[u8;33]', /** - * Lookup301: did::service_endpoints::DidEndpoint + * Lookup281: did::service_endpoints::DidEndpoint **/ DidServiceEndpointsDidEndpoint: { id: 'Bytes', @@ -2693,7 +2572,7 @@ export default { urls: 'Vec' }, /** - * Lookup309: did::did_details::DidAuthorizedCallOperation + * Lookup289: did::did_details::DidAuthorizedCallOperation **/ DidDidDetailsDidAuthorizedCallOperation: { did: 'AccountId32', @@ -2703,41 +2582,33 @@ export default { submitter: 'AccountId32' }, /** - * Lookup310: pallet_did_lookup::pallet::Call + * Lookup290: pallet_did_lookup::pallet::Call **/ PalletDidLookupCall: { _enum: { associate_account: { - req: 'PalletDidLookupAssociateAccountRequest', + account: 'AccountId32', expiration: 'u64', + proof: 'SpRuntimeMultiSignature', }, associate_sender: 'Null', remove_sender_association: 'Null', remove_account_association: { - account: 'PalletDidLookupLinkableAccountLinkableAccountId', + account: 'AccountId32', }, reclaim_deposit: { - account: 'PalletDidLookupLinkableAccountLinkableAccountId', + account: 'AccountId32', }, change_deposit_owner: { - account: 'PalletDidLookupLinkableAccountLinkableAccountId', + account: 'AccountId32', }, update_deposit: { - account: 'PalletDidLookupLinkableAccountLinkableAccountId' + account: 'AccountId32' } } }, /** - * Lookup311: pallet_did_lookup::associate_account_request::AssociateAccountRequest - **/ - PalletDidLookupAssociateAccountRequest: { - _enum: { - Dotsama: '(AccountId32,SpRuntimeMultiSignature)', - Ethereum: '(PalletDidLookupAccountAccountId20,PalletDidLookupAccountEthereumSignature)' - } - }, - /** - * Lookup312: sp_runtime::MultiSignature + * Lookup291: sp_runtime::MultiSignature **/ SpRuntimeMultiSignature: { _enum: { @@ -2747,11 +2618,7 @@ export default { } }, /** - * Lookup313: pallet_did_lookup::account::EthereumSignature - **/ - PalletDidLookupAccountEthereumSignature: 'SpCoreEcdsaSignature', - /** - * Lookup314: pallet_web3_names::pallet::Call + * Lookup292: pallet_web3_names::pallet::Call **/ PalletWeb3NamesCall: { _enum: { @@ -2775,7 +2642,7 @@ export default { } }, /** - * Lookup315: public_credentials::pallet::Call + * Lookup293: public_credentials::pallet::Call **/ PublicCredentialsCall: { _enum: { @@ -2806,7 +2673,7 @@ export default { } }, /** - * Lookup316: public_credentials::credentials::Credential, sp_runtime::bounded::bounded_vec::BoundedVec, runtime_common::authorization::PalletAuthorize>> + * Lookup294: public_credentials::credentials::Credential, sp_core::bounded::bounded_vec::BoundedVec, runtime_common::authorization::PalletAuthorize>> **/ PublicCredentialsCredentialsCredential: { ctypeHash: 'H256', @@ -2815,7 +2682,7 @@ export default { authorization: 'Option' }, /** - * Lookup319: cumulus_pallet_parachain_system::pallet::Call + * Lookup297: cumulus_pallet_parachain_system::pallet::Call **/ CumulusPalletParachainSystemCall: { _enum: { @@ -2834,7 +2701,7 @@ export default { } }, /** - * Lookup320: cumulus_primitives_parachain_inherent::ParachainInherentData + * Lookup298: cumulus_primitives_parachain_inherent::ParachainInherentData **/ CumulusPrimitivesParachainInherentParachainInherentData: { validationData: 'PolkadotPrimitivesV2PersistedValidationData', @@ -2843,7 +2710,7 @@ export default { horizontalMessages: 'BTreeMap>' }, /** - * Lookup321: polkadot_primitives::v2::PersistedValidationData + * Lookup299: polkadot_primitives::v2::PersistedValidationData **/ PolkadotPrimitivesV2PersistedValidationData: { parentHead: 'Bytes', @@ -2852,33 +2719,33 @@ export default { maxPovSize: 'u32' }, /** - * Lookup323: sp_trie::storage_proof::StorageProof + * Lookup301: sp_trie::storage_proof::StorageProof **/ SpTrieStorageProof: { trieNodes: 'BTreeSet' }, /** - * Lookup326: polkadot_core_primitives::InboundDownwardMessage + * Lookup304: polkadot_core_primitives::InboundDownwardMessage **/ PolkadotCorePrimitivesInboundDownwardMessage: { sentAt: 'u32', msg: 'Bytes' }, /** - * Lookup329: polkadot_core_primitives::InboundHrmpMessage + * Lookup307: polkadot_core_primitives::InboundHrmpMessage **/ PolkadotCorePrimitivesInboundHrmpMessage: { sentAt: 'u32', data: 'Bytes' }, /** - * Lookup332: cumulus_pallet_xcmp_queue::pallet::Call + * Lookup310: cumulus_pallet_xcmp_queue::pallet::Call **/ CumulusPalletXcmpQueueCall: { _enum: { service_overweight: { index: 'u64', - weightLimit: 'Weight', + weightLimit: 'u64', }, suspend_xcm_execution: 'Null', resume_xcm_execution: 'Null', @@ -2904,24 +2771,24 @@ export default { _alias: { new_: 'new', }, - new_: 'Weight', + new_: 'u64', }, update_weight_restrict_decay: { _alias: { new_: 'new', }, - new_: 'Weight', + new_: 'u64', }, update_xcmp_max_individual_weight: { _alias: { new_: 'new', }, - new_: 'Weight' + new_: 'u64' } } }, /** - * Lookup333: pallet_xcm::pallet::Call + * Lookup311: pallet_xcm::pallet::Call **/ PalletXcmCall: { _enum: { @@ -2943,7 +2810,7 @@ export default { }, execute: { message: 'XcmVersionedXcm', - maxWeight: 'Weight', + maxWeight: 'u64', }, force_xcm_version: { location: 'XcmV1MultiLocation', @@ -2975,7 +2842,7 @@ export default { } }, /** - * Lookup334: xcm::VersionedXcm + * Lookup312: xcm::VersionedXcm **/ XcmVersionedXcm: { _enum: { @@ -2985,7 +2852,7 @@ export default { } }, /** - * Lookup335: xcm::v0::Xcm + * Lookup313: xcm::v0::Xcm **/ XcmV0Xcm: { _enum: { @@ -3039,7 +2906,7 @@ export default { } }, /** - * Lookup337: xcm::v0::order::Order + * Lookup315: xcm::v0::order::Order **/ XcmV0Order: { _enum: { @@ -3082,7 +2949,7 @@ export default { } }, /** - * Lookup339: xcm::v0::Response + * Lookup317: xcm::v0::Response **/ XcmV0Response: { _enum: { @@ -3090,7 +2957,7 @@ export default { } }, /** - * Lookup340: xcm::v1::Xcm + * Lookup318: xcm::v1::Xcm **/ XcmV1Xcm: { _enum: { @@ -3149,7 +3016,7 @@ export default { } }, /** - * Lookup342: xcm::v1::order::Order + * Lookup320: xcm::v1::order::Order **/ XcmV1Order: { _enum: { @@ -3194,7 +3061,7 @@ export default { } }, /** - * Lookup344: xcm::v1::Response + * Lookup322: xcm::v1::Response **/ XcmV1Response: { _enum: { @@ -3203,18 +3070,84 @@ export default { } }, /** - * Lookup358: cumulus_pallet_dmp_queue::pallet::Call + * Lookup336: cumulus_pallet_dmp_queue::pallet::Call **/ CumulusPalletDmpQueueCall: { _enum: { service_overweight: { index: 'u64', - weightLimit: 'Weight' + weightLimit: 'u64' } } }, /** - * Lookup359: pallet_collective::Votes + * Lookup341: pallet_democracy::types::ReferendumInfo, Balance> + **/ + PalletDemocracyReferendumInfo: { + _enum: { + Ongoing: 'PalletDemocracyReferendumStatus', + Finished: { + approved: 'bool', + end: 'u64' + } + } + }, + /** + * Lookup342: pallet_democracy::types::ReferendumStatus, Balance> + **/ + PalletDemocracyReferendumStatus: { + end: 'u64', + proposal: 'FrameSupportPreimagesBounded', + threshold: 'PalletDemocracyVoteThreshold', + delay: 'u64', + tally: 'PalletDemocracyTally' + }, + /** + * Lookup343: pallet_democracy::types::Tally + **/ + PalletDemocracyTally: { + ayes: 'u128', + nays: 'u128', + turnout: 'u128' + }, + /** + * Lookup344: pallet_democracy::vote::Voting + **/ + PalletDemocracyVoteVoting: { + _enum: { + Direct: { + votes: 'Vec<(u32,PalletDemocracyVoteAccountVote)>', + delegations: 'PalletDemocracyDelegations', + prior: 'PalletDemocracyVotePriorLock', + }, + Delegating: { + balance: 'u128', + target: 'AccountId32', + conviction: 'PalletDemocracyConviction', + delegations: 'PalletDemocracyDelegations', + prior: 'PalletDemocracyVotePriorLock' + } + } + }, + /** + * Lookup348: pallet_democracy::types::Delegations + **/ + PalletDemocracyDelegations: { + votes: 'u128', + capital: 'u128' + }, + /** + * Lookup349: pallet_democracy::vote::PriorLock + **/ + PalletDemocracyVotePriorLock: '(u64,u128)', + /** + * Lookup352: pallet_democracy::pallet::Error + **/ + PalletDemocracyError: { + _enum: ['ValueLow', 'ProposalMissing', 'AlreadyCanceled', 'DuplicateProposal', 'ProposalBlacklisted', 'NotSimpleMajority', 'InvalidHash', 'NoProposal', 'AlreadyVetoed', 'ReferendumInvalid', 'NoneWaiting', 'NotVoter', 'NoPermission', 'AlreadyDelegating', 'InsufficientFunds', 'NotDelegating', 'VotesExist', 'InstantNotAllowed', 'Nonsense', 'WrongUpperBound', 'MaxVotesReached', 'TooMany', 'VotingPeriodLow'] + }, + /** + * Lookup354: pallet_collective::Votes **/ PalletCollectiveVotes: { index: 'u32', @@ -3224,19 +3157,19 @@ export default { end: 'u64' }, /** - * Lookup360: pallet_collective::pallet::Error + * Lookup355: pallet_collective::pallet::Error **/ PalletCollectiveError: { _enum: ['NotMember', 'DuplicateProposal', 'ProposalMissing', 'WrongIndex', 'DuplicateVote', 'AlreadyInitialized', 'TooEarly', 'TooManyProposals', 'WrongProposalWeight', 'WrongProposalLength'] }, /** - * Lookup364: pallet_membership::pallet::Error + * Lookup359: pallet_membership::pallet::Error **/ PalletMembershipError: { _enum: ['AlreadyMember', 'NotMember', 'TooManyMembers'] }, /** - * Lookup365: pallet_treasury::Proposal + * Lookup360: pallet_treasury::Proposal **/ PalletTreasuryProposal: { proposer: 'AccountId32', @@ -3245,51 +3178,51 @@ export default { bond: 'u128' }, /** - * Lookup369: frame_support::PalletId + * Lookup364: frame_support::PalletId **/ FrameSupportPalletId: '[u8;8]', /** - * Lookup370: pallet_treasury::pallet::Error + * Lookup365: pallet_treasury::pallet::Error **/ PalletTreasuryError: { _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved'] }, /** - * Lookup371: pallet_utility::pallet::Error + * Lookup366: pallet_utility::pallet::Error **/ PalletUtilityError: { _enum: ['TooManyCalls'] }, /** - * Lookup374: pallet_vesting::Releases + * Lookup369: pallet_vesting::Releases **/ PalletVestingReleases: { _enum: ['V0', 'V1'] }, /** - * Lookup375: pallet_vesting::pallet::Error + * Lookup370: pallet_vesting::pallet::Error **/ PalletVestingError: { _enum: ['NotVesting', 'AtMaxVestingSchedules', 'AmountLow', 'ScheduleIndexOutOfBounds', 'InvalidScheduleParams'] }, /** - * Lookup378: pallet_scheduler::ScheduledV3, BlockNumber, spiritnet_runtime::OriginCaller, sp_core::crypto::AccountId32> + * Lookup373: pallet_scheduler::Scheduled, BlockNumber, spiritnet_runtime::OriginCaller, sp_core::crypto::AccountId32> **/ - PalletSchedulerScheduledV3: { - maybeId: 'Option', + PalletSchedulerScheduled: { + maybeId: 'Option<[u8;32]>', priority: 'u8', - call: 'FrameSupportScheduleMaybeHashed', + call: 'FrameSupportPreimagesBounded', maybePeriodic: 'Option<(u64,u32)>', origin: 'SpiritnetRuntimeOriginCaller' }, /** - * Lookup379: pallet_scheduler::pallet::Error + * Lookup375: pallet_scheduler::pallet::Error **/ PalletSchedulerError: { - _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange'] + _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange', 'Named'] }, /** - * Lookup382: pallet_proxy::ProxyDefinition + * Lookup378: pallet_proxy::ProxyDefinition **/ PalletProxyProxyDefinition: { delegate: 'AccountId32', @@ -3297,7 +3230,7 @@ export default { delay: 'u64' }, /** - * Lookup386: pallet_proxy::Announcement + * Lookup382: pallet_proxy::Announcement **/ PalletProxyAnnouncement: { real: 'AccountId32', @@ -3305,28 +3238,35 @@ export default { height: 'u64' }, /** - * Lookup388: pallet_proxy::pallet::Error + * Lookup384: pallet_proxy::pallet::Error **/ PalletProxyError: { _enum: ['TooMany', 'NotFound', 'NotProxy', 'Unproxyable', 'Duplicate', 'NoPermission', 'Unannounced', 'NoSelfProxy'] }, /** - * Lookup389: pallet_preimage::RequestStatus + * Lookup385: pallet_preimage::RequestStatus **/ PalletPreimageRequestStatus: { _enum: { - Unrequested: 'Option<(AccountId32,u128)>', - Requested: 'u32' + Unrequested: { + deposit: '(AccountId32,u128)', + len: 'u32', + }, + Requested: { + deposit: 'Option<(AccountId32,u128)>', + count: 'u32', + len: 'Option' + } } }, /** - * Lookup393: pallet_preimage::pallet::Error + * Lookup390: pallet_preimage::pallet::Error **/ PalletPreimageError: { - _enum: ['TooLarge', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested'] + _enum: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested'] }, /** - * Lookup395: pallet_tips::OpenTip + * Lookup392: pallet_tips::OpenTip **/ PalletTipsOpenTip: { reason: 'H256', @@ -3338,26 +3278,26 @@ export default { findersFee: 'bool' }, /** - * Lookup396: ctype::ctype_entry::CtypeEntry + * Lookup396: pallet_tips::pallet::Error **/ - CtypeCtypeEntry: { - creator: 'AccountId32', - createdAt: 'u64' + PalletTipsError: { + _enum: ['ReasonTooBig', 'AlreadyKnown', 'UnknownTip', 'NotFinder', 'StillOpen', 'Premature'] }, /** - * Lookup398: pallet_tips::pallet::Error + * Lookup397: ctype::ctype_entry::CtypeEntry **/ - PalletTipsError: { - _enum: ['ReasonTooBig', 'AlreadyKnown', 'UnknownTip', 'NotFinder', 'StillOpen', 'Premature'] + CtypeCtypeEntry: { + creator: 'AccountId32', + createdAt: 'u64' }, /** - * Lookup399: ctype::pallet::Error + * Lookup398: ctype::pallet::Error **/ CtypeError: { _enum: ['CTypeNotFound', 'CTypeAlreadyExists', 'UnableToPayFees'] }, /** - * Lookup400: attestation::attestations::AttestationDetails + * Lookup399: attestation::attestations::AttestationDetails **/ AttestationAttestationsAttestationDetails: { ctypeHash: 'H256', @@ -3367,20 +3307,20 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup401: kilt_support::deposit::Deposit + * Lookup400: kilt_support::deposit::Deposit **/ KiltSupportDeposit: { owner: 'AccountId32', amount: 'u128' }, /** - * Lookup403: attestation::pallet::Error + * Lookup402: attestation::pallet::Error **/ AttestationError: { _enum: ['AlreadyAttested', 'AlreadyRevoked', 'AttestationNotFound', 'CTypeMismatch', 'Unauthorized', 'MaxDelegatedAttestationsExceeded'] }, /** - * Lookup404: delegation::delegation_hierarchy::DelegationNode + * Lookup403: delegation::delegation_hierarchy::DelegationNode **/ DelegationDelegationHierarchyDelegationNode: { hierarchyRootId: 'H256', @@ -3390,7 +3330,7 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup407: delegation::delegation_hierarchy::DelegationDetails + * Lookup406: delegation::delegation_hierarchy::DelegationDetails **/ DelegationDelegationHierarchyDelegationDetails: { owner: 'AccountId32', @@ -3398,19 +3338,19 @@ export default { permissions: 'DelegationDelegationHierarchyPermissions' }, /** - * Lookup408: delegation::delegation_hierarchy::DelegationHierarchyDetails + * Lookup407: delegation::delegation_hierarchy::DelegationHierarchyDetails **/ DelegationDelegationHierarchyDelegationHierarchyDetails: { ctypeHash: 'H256' }, /** - * Lookup409: delegation::pallet::Error + * Lookup408: delegation::pallet::Error **/ DelegationError: { _enum: ['DelegationAlreadyExists', 'InvalidDelegateSignature', 'DelegationNotFound', 'DelegateNotFound', 'HierarchyAlreadyExists', 'HierarchyNotFound', 'MaxSearchDepthReached', 'NotOwnerOfParentDelegation', 'NotOwnerOfDelegationHierarchy', 'ParentDelegationNotFound', 'ParentDelegationRevoked', 'UnauthorizedRevocation', 'UnauthorizedRemoval', 'UnauthorizedDelegation', 'AccessDenied', 'ExceededRevocationBounds', 'ExceededRemovalBounds', 'MaxRevocationsTooLarge', 'MaxRemovalsTooLarge', 'MaxParentChecksTooLarge', 'InternalError', 'MaxChildrenExceeded'] }, /** - * Lookup410: did::did_details::DidDetails + * Lookup409: did::did_details::DidDetails **/ DidDidDetails: { authenticationKey: 'H256', @@ -3422,14 +3362,14 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup413: did::did_details::DidPublicKeyDetails + * Lookup412: did::did_details::DidPublicKeyDetails **/ DidDidDetailsDidPublicKeyDetails: { key: 'DidDidDetailsDidPublicKey', blockNumber: 'u64' }, /** - * Lookup414: did::did_details::DidPublicKey + * Lookup413: did::did_details::DidPublicKey **/ DidDidDetailsDidPublicKey: { _enum: { @@ -3438,26 +3378,26 @@ export default { } }, /** - * Lookup419: did::pallet::Error + * Lookup418: did::pallet::Error **/ DidError: { _enum: ['InvalidSignatureFormat', 'InvalidSignature', 'DidAlreadyPresent', 'DidNotPresent', 'VerificationKeyNotPresent', 'InvalidNonce', 'UnsupportedDidAuthorizationCall', 'InvalidDidAuthorizationCall', 'MaxKeyAgreementKeysLimitExceeded', 'MaxPublicKeysPerDidExceeded', 'MaxTotalKeyAgreementKeysExceeded', 'BadDidOrigin', 'TransactionExpired', 'DidAlreadyDeleted', 'NotOwnerOfDeposit', 'UnableToPayFees', 'MaxNumberOfServicesPerDidExceeded', 'MaxServiceIdLengthExceeded', 'MaxServiceTypeLengthExceeded', 'MaxNumberOfTypesPerServiceExceeded', 'MaxServiceUrlLengthExceeded', 'MaxNumberOfUrlsPerServiceExceeded', 'ServiceAlreadyPresent', 'ServiceNotPresent', 'InvalidServiceEncoding', 'StoredEndpointsCountTooLarge', 'InternalError'] }, /** - * Lookup420: pallet_did_lookup::connection_record::ConnectionRecord + * Lookup419: pallet_did_lookup::connection_record::ConnectionRecord **/ PalletDidLookupConnectionRecord: { did: 'AccountId32', deposit: 'KiltSupportDeposit' }, /** - * Lookup422: pallet_did_lookup::pallet::Error + * Lookup421: pallet_did_lookup::pallet::Error **/ PalletDidLookupError: { _enum: ['AssociationNotFound', 'NotAuthorized', 'OutdatedProof', 'InsufficientFunds'] }, /** - * Lookup423: pallet_web3_names::web3_name::Web3NameOwnership, BlockNumber> + * Lookup422: pallet_web3_names::web3_name::Web3NameOwnership, BlockNumber> **/ PalletWeb3NamesWeb3NameWeb3NameOwnership: { owner: 'AccountId32', @@ -3465,13 +3405,13 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup424: pallet_web3_names::pallet::Error + * Lookup423: pallet_web3_names::pallet::Error **/ PalletWeb3NamesError: { _enum: ['InsufficientFunds', 'Web3NameAlreadyClaimed', 'Web3NameNotFound', 'OwnerAlreadyExists', 'OwnerNotFound', 'Web3NameBanned', 'Web3NameNotBanned', 'Web3NameAlreadyBanned', 'NotAuthorized', 'Web3NameTooShort', 'Web3NameTooLong', 'InvalidWeb3NameCharacter', 'Unauthorized'] }, /** - * Lookup426: public_credentials::credentials::CredentialEntry> + * Lookup425: public_credentials::credentials::CredentialEntry> **/ PublicCredentialsCredentialsCredentialEntry: { ctypeHash: 'H256', @@ -3482,19 +3422,19 @@ export default { authorizationId: 'Option' }, /** - * Lookup427: public_credentials::pallet::Error + * Lookup426: public_credentials::pallet::Error **/ PublicCredentialsError: { _enum: ['CredentialAlreadyIssued', 'CredentialNotFound', 'UnableToPayFees', 'InvalidInput', 'Unauthorized', 'InternalError'] }, /** - * Lookup429: polkadot_primitives::v2::UpgradeRestriction + * Lookup428: polkadot_primitives::v2::UpgradeRestriction **/ PolkadotPrimitivesV2UpgradeRestriction: { _enum: ['Present'] }, /** - * Lookup430: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot + * Lookup429: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot **/ CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { dmqMqcHead: 'H256', @@ -3503,7 +3443,7 @@ export default { egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>' }, /** - * Lookup434: polkadot_primitives::v2::AbridgedHrmpChannel + * Lookup433: polkadot_primitives::v2::AbridgedHrmpChannel **/ PolkadotPrimitivesV2AbridgedHrmpChannel: { maxCapacity: 'u32', @@ -3514,7 +3454,7 @@ export default { mqcHead: 'Option' }, /** - * Lookup435: polkadot_primitives::v2::AbridgedHostConfiguration + * Lookup434: polkadot_primitives::v2::AbridgedHostConfiguration **/ PolkadotPrimitivesV2AbridgedHostConfiguration: { maxCodeSize: 'u32', @@ -3528,20 +3468,20 @@ export default { validationUpgradeDelay: 'u32' }, /** - * Lookup441: polkadot_core_primitives::OutboundHrmpMessage + * Lookup440: polkadot_core_primitives::OutboundHrmpMessage **/ PolkadotCorePrimitivesOutboundHrmpMessage: { recipient: 'u32', data: 'Bytes' }, /** - * Lookup442: cumulus_pallet_parachain_system::pallet::Error + * Lookup441: cumulus_pallet_parachain_system::pallet::Error **/ CumulusPalletParachainSystemError: { _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized'] }, /** - * Lookup444: cumulus_pallet_xcmp_queue::InboundChannelDetails + * Lookup443: cumulus_pallet_xcmp_queue::InboundChannelDetails **/ CumulusPalletXcmpQueueInboundChannelDetails: { sender: 'u32', @@ -3549,19 +3489,19 @@ export default { messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>' }, /** - * Lookup445: cumulus_pallet_xcmp_queue::InboundState + * Lookup444: cumulus_pallet_xcmp_queue::InboundState **/ CumulusPalletXcmpQueueInboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup448: polkadot_parachain::primitives::XcmpMessageFormat + * Lookup447: polkadot_parachain::primitives::XcmpMessageFormat **/ PolkadotParachainPrimitivesXcmpMessageFormat: { _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals'] }, /** - * Lookup451: cumulus_pallet_xcmp_queue::OutboundChannelDetails + * Lookup450: cumulus_pallet_xcmp_queue::OutboundChannelDetails **/ CumulusPalletXcmpQueueOutboundChannelDetails: { recipient: 'u32', @@ -3571,46 +3511,46 @@ export default { lastIndex: 'u16' }, /** - * Lookup452: cumulus_pallet_xcmp_queue::OutboundState + * Lookup451: cumulus_pallet_xcmp_queue::OutboundState **/ CumulusPalletXcmpQueueOutboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup454: cumulus_pallet_xcmp_queue::QueueConfigData + * Lookup453: cumulus_pallet_xcmp_queue::QueueConfigData **/ CumulusPalletXcmpQueueQueueConfigData: { suspendThreshold: 'u32', dropThreshold: 'u32', resumeThreshold: 'u32', - thresholdWeight: 'Weight', - weightRestrictDecay: 'Weight', - xcmpMaxIndividualWeight: 'Weight' + thresholdWeight: 'SpWeightsWeightV2Weight', + weightRestrictDecay: 'SpWeightsWeightV2Weight', + xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight' }, /** - * Lookup456: cumulus_pallet_xcmp_queue::pallet::Error + * Lookup455: cumulus_pallet_xcmp_queue::pallet::Error **/ CumulusPalletXcmpQueueError: { _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit'] }, /** - * Lookup457: pallet_xcm::pallet::Error + * Lookup456: pallet_xcm::pallet::Error **/ PalletXcmError: { _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed'] }, /** - * Lookup458: cumulus_pallet_xcm::pallet::Error + * Lookup457: cumulus_pallet_xcm::pallet::Error **/ CumulusPalletXcmError: 'Null', /** - * Lookup459: cumulus_pallet_dmp_queue::ConfigData + * Lookup458: cumulus_pallet_dmp_queue::ConfigData **/ CumulusPalletDmpQueueConfigData: { - maxIndividual: 'Weight' + maxIndividual: 'SpWeightsWeightV2Weight' }, /** - * Lookup460: cumulus_pallet_dmp_queue::PageIndexData + * Lookup459: cumulus_pallet_dmp_queue::PageIndexData **/ CumulusPalletDmpQueuePageIndexData: { beginUsed: 'u32', @@ -3618,37 +3558,37 @@ export default { overweightCount: 'u64' }, /** - * Lookup463: cumulus_pallet_dmp_queue::pallet::Error + * Lookup462: cumulus_pallet_dmp_queue::pallet::Error **/ CumulusPalletDmpQueueError: { _enum: ['Unknown', 'OverLimit'] }, /** - * Lookup466: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender + * Lookup465: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender **/ FrameSystemExtensionsCheckNonZeroSender: 'Null', /** - * Lookup467: frame_system::extensions::check_spec_version::CheckSpecVersion + * Lookup466: frame_system::extensions::check_spec_version::CheckSpecVersion **/ FrameSystemExtensionsCheckSpecVersion: 'Null', /** - * Lookup468: frame_system::extensions::check_tx_version::CheckTxVersion + * Lookup467: frame_system::extensions::check_tx_version::CheckTxVersion **/ FrameSystemExtensionsCheckTxVersion: 'Null', /** - * Lookup469: frame_system::extensions::check_genesis::CheckGenesis + * Lookup468: frame_system::extensions::check_genesis::CheckGenesis **/ FrameSystemExtensionsCheckGenesis: 'Null', /** - * Lookup472: frame_system::extensions::check_nonce::CheckNonce + * Lookup471: frame_system::extensions::check_nonce::CheckNonce **/ FrameSystemExtensionsCheckNonce: 'Compact', /** - * Lookup473: frame_system::extensions::check_weight::CheckWeight + * Lookup472: frame_system::extensions::check_weight::CheckWeight **/ FrameSystemExtensionsCheckWeight: 'Null', /** - * Lookup474: pallet_transaction_payment::ChargeTransactionPayment + * Lookup473: pallet_transaction_payment::ChargeTransactionPayment **/ PalletTransactionPaymentChargeTransactionPayment: 'Compact' }; diff --git a/packages/augment-api/src/interfaces/registry.ts b/packages/augment-api/src/interfaces/registry.ts index 48b972b4f..7c6409076 100644 --- a/packages/augment-api/src/interfaces/registry.ts +++ b/packages/augment-api/src/interfaces/registry.ts @@ -5,7 +5,7 @@ // this is required to allow for ambient/previous definitions import '@polkadot/types/types/registry'; -import type { AttestationAttestationsAttestationDetails, AttestationCall, AttestationError, AttestationEvent, CtypeCall, CtypeError, CtypeCtypeEntry, CtypeEvent, CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, DelegationAccessControlDelegationAc, DelegationCall, DelegationDelegationHierarchyDelegationDetails, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DelegationDelegationHierarchyPermissions, DelegationError, DelegationEvent, DidCall, DidDidDetails, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidPublicKey, DidDidDetailsDidPublicKeyDetails, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidError, DidEvent, DidOriginDidRawOrigin, DidServiceEndpointsDidEndpoint, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassWeight, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, KiltAssetDidsAssetV1AssetId, KiltAssetDidsAssetV1EvmSmartContractFungibleReference, KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference, KiltAssetDidsAssetV1GenericAssetId, KiltAssetDidsChainV1ChainId, KiltAssetDidsChainV1GenericChainId, KiltAssetDidsChainV1GenesisHexHash32Reference, KiltAssetDidsV1AssetDid, KiltSupportDeposit, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyPreimageStatus, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyReleases, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupAccountAccountId20, PalletDidLookupAccountEthereumSignature, PalletDidLookupAssociateAccountRequest, PalletDidLookupCall, PalletDidLookupConnectionRecord, PalletDidLookupError, PalletDidLookupEvent, PalletDidLookupLinkableAccountLinkableAccountId, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduledV3, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletTimestampCall, PalletTipsCall, PalletTipsError, PalletTipsEvent, PalletTipsOpenTip, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesCall, PalletWeb3NamesError, PalletWeb3NamesEvent, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, ParachainStakingCall, ParachainStakingCandidate, ParachainStakingCandidateStatus, ParachainStakingDelegationCounter, ParachainStakingError, ParachainStakingEvent, ParachainStakingInflationInflationInfo, ParachainStakingInflationRewardRate, ParachainStakingInflationStakingInfo, ParachainStakingRoundInfo, ParachainStakingSetOrderedSet, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCall, PublicCredentialsCredentialsCredential, PublicCredentialsCredentialsCredentialEntry, PublicCredentialsError, PublicCredentialsEvent, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonAuthorizationPalletAuthorize, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaPublic, SpCoreEcdsaSignature, SpCoreEd25519Public, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeRuntime, SpiritnetRuntimeSessionKeys, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { AttestationAttestationsAttestationDetails, AttestationCall, AttestationError, AttestationEvent, CtypeCall, CtypeCtypeEntry, CtypeError, CtypeEvent, CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, DelegationAccessControlDelegationAc, DelegationCall, DelegationDelegationHierarchyDelegationDetails, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DelegationDelegationHierarchyPermissions, DelegationError, DelegationEvent, DidCall, DidDidDetails, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidPublicKey, DidDidDetailsDidPublicKeyDetails, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidError, DidEvent, DidOriginDidRawOrigin, DidServiceEndpointsDidEndpoint, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, KiltAssetDidsAssetV1AssetId, KiltAssetDidsAssetV1EvmSmartContractFungibleReference, KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference, KiltAssetDidsAssetV1GenericAssetId, KiltAssetDidsChainV1ChainId, KiltAssetDidsChainV1GenericChainId, KiltAssetDidsChainV1GenesisHexHash32Reference, KiltAssetDidsV1AssetDid, KiltSupportDeposit, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupCall, PalletDidLookupConnectionRecord, PalletDidLookupError, PalletDidLookupEvent, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletTimestampCall, PalletTipsCall, PalletTipsError, PalletTipsEvent, PalletTipsOpenTip, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesCall, PalletWeb3NamesError, PalletWeb3NamesEvent, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, ParachainStakingCall, ParachainStakingCandidate, ParachainStakingCandidateStatus, ParachainStakingDelegationCounter, ParachainStakingError, ParachainStakingEvent, ParachainStakingInflationInflationInfo, ParachainStakingInflationRewardRate, ParachainStakingInflationStakingInfo, ParachainStakingRoundInfo, ParachainStakingSetOrderedSet, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCall, PublicCredentialsCredentialsCredential, PublicCredentialsCredentialsCredentialEntry, PublicCredentialsError, PublicCredentialsEvent, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonAuthorizationPalletAuthorize, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaPublic, SpCoreEcdsaSignature, SpCoreEd25519Public, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeRuntime, SpiritnetRuntimeSessionKeys, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; declare module '@polkadot/types/types/registry' { interface InterfaceTypes { @@ -59,18 +59,16 @@ declare module '@polkadot/types/types/registry' { DidEvent: DidEvent; DidOriginDidRawOrigin: DidOriginDidRawOrigin; DidServiceEndpointsDidEndpoint: DidServiceEndpointsDidEndpoint; + FrameSupportDispatchDispatchClass: FrameSupportDispatchDispatchClass; + FrameSupportDispatchDispatchInfo: FrameSupportDispatchDispatchInfo; + FrameSupportDispatchPays: FrameSupportDispatchPays; + FrameSupportDispatchPerDispatchClassU32: FrameSupportDispatchPerDispatchClassU32; + FrameSupportDispatchPerDispatchClassWeight: FrameSupportDispatchPerDispatchClassWeight; + FrameSupportDispatchPerDispatchClassWeightsPerClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; FrameSupportDispatchRawOrigin: FrameSupportDispatchRawOrigin; FrameSupportPalletId: FrameSupportPalletId; - FrameSupportScheduleLookupError: FrameSupportScheduleLookupError; - FrameSupportScheduleMaybeHashed: FrameSupportScheduleMaybeHashed; + FrameSupportPreimagesBounded: FrameSupportPreimagesBounded; FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus; - FrameSupportWeightsDispatchClass: FrameSupportWeightsDispatchClass; - FrameSupportWeightsDispatchInfo: FrameSupportWeightsDispatchInfo; - FrameSupportWeightsPays: FrameSupportWeightsPays; - FrameSupportWeightsPerDispatchClassU32: FrameSupportWeightsPerDispatchClassU32; - FrameSupportWeightsPerDispatchClassWeight: FrameSupportWeightsPerDispatchClassWeight; - FrameSupportWeightsPerDispatchClassWeightsPerClass: FrameSupportWeightsPerDispatchClassWeightsPerClass; - FrameSupportWeightsRuntimeDbWeight: FrameSupportWeightsRuntimeDbWeight; FrameSystemAccountInfo: FrameSystemAccountInfo; FrameSystemCall: FrameSystemCall; FrameSystemError: FrameSystemError; @@ -105,7 +103,6 @@ declare module '@polkadot/types/types/registry' { PalletBalancesError: PalletBalancesError; PalletBalancesEvent: PalletBalancesEvent; PalletBalancesReasons: PalletBalancesReasons; - PalletBalancesReleases: PalletBalancesReleases; PalletBalancesReserveData: PalletBalancesReserveData; PalletCollectiveCall: PalletCollectiveCall; PalletCollectiveError: PalletCollectiveError; @@ -117,23 +114,17 @@ declare module '@polkadot/types/types/registry' { PalletDemocracyDelegations: PalletDemocracyDelegations; PalletDemocracyError: PalletDemocracyError; PalletDemocracyEvent: PalletDemocracyEvent; - PalletDemocracyPreimageStatus: PalletDemocracyPreimageStatus; PalletDemocracyReferendumInfo: PalletDemocracyReferendumInfo; PalletDemocracyReferendumStatus: PalletDemocracyReferendumStatus; - PalletDemocracyReleases: PalletDemocracyReleases; PalletDemocracyTally: PalletDemocracyTally; PalletDemocracyVoteAccountVote: PalletDemocracyVoteAccountVote; PalletDemocracyVotePriorLock: PalletDemocracyVotePriorLock; PalletDemocracyVoteThreshold: PalletDemocracyVoteThreshold; PalletDemocracyVoteVoting: PalletDemocracyVoteVoting; - PalletDidLookupAccountAccountId20: PalletDidLookupAccountAccountId20; - PalletDidLookupAccountEthereumSignature: PalletDidLookupAccountEthereumSignature; - PalletDidLookupAssociateAccountRequest: PalletDidLookupAssociateAccountRequest; PalletDidLookupCall: PalletDidLookupCall; PalletDidLookupConnectionRecord: PalletDidLookupConnectionRecord; PalletDidLookupError: PalletDidLookupError; PalletDidLookupEvent: PalletDidLookupEvent; - PalletDidLookupLinkableAccountLinkableAccountId: PalletDidLookupLinkableAccountLinkableAccountId; PalletIndicesCall: PalletIndicesCall; PalletIndicesError: PalletIndicesError; PalletIndicesEvent: PalletIndicesEvent; @@ -152,7 +143,7 @@ declare module '@polkadot/types/types/registry' { PalletSchedulerCall: PalletSchedulerCall; PalletSchedulerError: PalletSchedulerError; PalletSchedulerEvent: PalletSchedulerEvent; - PalletSchedulerScheduledV3: PalletSchedulerScheduledV3; + PalletSchedulerScheduled: PalletSchedulerScheduled; PalletSessionCall: PalletSessionCall; PalletSessionError: PalletSessionError; PalletSessionEvent: PalletSessionEvent; @@ -213,6 +204,7 @@ declare module '@polkadot/types/types/registry' { RuntimeCommonAssetsAssetDid: RuntimeCommonAssetsAssetDid; RuntimeCommonAuthorizationAuthorizationId: RuntimeCommonAuthorizationAuthorizationId; RuntimeCommonAuthorizationPalletAuthorize: RuntimeCommonAuthorizationPalletAuthorize; + SpArithmeticArithmeticError: SpArithmeticArithmeticError; SpConsensusAuraSr25519AppSr25519Public: SpConsensusAuraSr25519AppSr25519Public; SpCoreCryptoKeyTypeId: SpCoreCryptoKeyTypeId; SpCoreEcdsaPublic: SpCoreEcdsaPublic; @@ -222,7 +214,6 @@ declare module '@polkadot/types/types/registry' { SpCoreSr25519Public: SpCoreSr25519Public; SpCoreSr25519Signature: SpCoreSr25519Signature; SpCoreVoid: SpCoreVoid; - SpRuntimeArithmeticError: SpRuntimeArithmeticError; SpRuntimeBlakeTwo256: SpRuntimeBlakeTwo256; SpRuntimeDigest: SpRuntimeDigest; SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem; @@ -234,6 +225,8 @@ declare module '@polkadot/types/types/registry' { SpRuntimeTransactionalError: SpRuntimeTransactionalError; SpTrieStorageProof: SpTrieStorageProof; SpVersionRuntimeVersion: SpVersionRuntimeVersion; + SpWeightsRuntimeDbWeight: SpWeightsRuntimeDbWeight; + SpWeightsWeightV2Weight: SpWeightsWeightV2Weight; SpiritnetRuntimeOriginCaller: SpiritnetRuntimeOriginCaller; SpiritnetRuntimeProxyType: SpiritnetRuntimeProxyType; SpiritnetRuntimeRuntime: SpiritnetRuntimeRuntime; diff --git a/packages/augment-api/src/interfaces/types-lookup.ts b/packages/augment-api/src/interfaces/types-lookup.ts index 1395191da..f07c77046 100644 --- a/packages/augment-api/src/interfaces/types-lookup.ts +++ b/packages/augment-api/src/interfaces/types-lookup.ts @@ -8,7 +8,7 @@ import '@polkadot/types/lookup'; import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; import type { Vote } from '@polkadot/types/interfaces/elections'; -import type { AccountId32, Call, H256, MultiAddress, Perbill, Perquintill, Weight } from '@polkadot/types/interfaces/runtime'; +import type { AccountId32, Call, H256, MultiAddress, Perquintill } from '@polkadot/types/interfaces/runtime'; import type { Event } from '@polkadot/types/interfaces/system'; declare module '@polkadot/types/lookup' { @@ -29,19 +29,25 @@ declare module '@polkadot/types/lookup' { readonly feeFrozen: u128; } - /** @name FrameSupportWeightsPerDispatchClassWeight (8) */ - interface FrameSupportWeightsPerDispatchClassWeight extends Struct { - readonly normal: Weight; - readonly operational: Weight; - readonly mandatory: Weight; + /** @name FrameSupportDispatchPerDispatchClassWeight (8) */ + interface FrameSupportDispatchPerDispatchClassWeight extends Struct { + readonly normal: SpWeightsWeightV2Weight; + readonly operational: SpWeightsWeightV2Weight; + readonly mandatory: SpWeightsWeightV2Weight; } - /** @name SpRuntimeDigest (12) */ + /** @name SpWeightsWeightV2Weight (9) */ + interface SpWeightsWeightV2Weight extends Struct { + readonly refTime: Compact; + readonly proofSize: Compact; + } + + /** @name SpRuntimeDigest (13) */ interface SpRuntimeDigest extends Struct { readonly logs: Vec; } - /** @name SpRuntimeDigestDigestItem (14) */ + /** @name SpRuntimeDigestDigestItem (15) */ interface SpRuntimeDigestDigestItem extends Enum { readonly isOther: boolean; readonly asOther: Bytes; @@ -55,23 +61,23 @@ declare module '@polkadot/types/lookup' { readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated'; } - /** @name FrameSystemEventRecord (17) */ + /** @name FrameSystemEventRecord (18) */ interface FrameSystemEventRecord extends Struct { readonly phase: FrameSystemPhase; readonly event: Event; readonly topics: Vec; } - /** @name FrameSystemEvent (19) */ + /** @name FrameSystemEvent (20) */ interface FrameSystemEvent extends Enum { readonly isExtrinsicSuccess: boolean; readonly asExtrinsicSuccess: { - readonly dispatchInfo: FrameSupportWeightsDispatchInfo; + readonly dispatchInfo: FrameSupportDispatchDispatchInfo; } & Struct; readonly isExtrinsicFailed: boolean; readonly asExtrinsicFailed: { readonly dispatchError: SpRuntimeDispatchError; - readonly dispatchInfo: FrameSupportWeightsDispatchInfo; + readonly dispatchInfo: FrameSupportDispatchDispatchInfo; } & Struct; readonly isCodeUpdated: boolean; readonly isNewAccount: boolean; @@ -90,29 +96,29 @@ declare module '@polkadot/types/lookup' { readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked'; } - /** @name FrameSupportWeightsDispatchInfo (20) */ - interface FrameSupportWeightsDispatchInfo extends Struct { - readonly weight: Weight; - readonly class: FrameSupportWeightsDispatchClass; - readonly paysFee: FrameSupportWeightsPays; + /** @name FrameSupportDispatchDispatchInfo (21) */ + interface FrameSupportDispatchDispatchInfo extends Struct { + readonly weight: SpWeightsWeightV2Weight; + readonly class: FrameSupportDispatchDispatchClass; + readonly paysFee: FrameSupportDispatchPays; } - /** @name FrameSupportWeightsDispatchClass (21) */ - interface FrameSupportWeightsDispatchClass extends Enum { + /** @name FrameSupportDispatchDispatchClass (22) */ + interface FrameSupportDispatchDispatchClass extends Enum { readonly isNormal: boolean; readonly isOperational: boolean; readonly isMandatory: boolean; readonly type: 'Normal' | 'Operational' | 'Mandatory'; } - /** @name FrameSupportWeightsPays (22) */ - interface FrameSupportWeightsPays extends Enum { + /** @name FrameSupportDispatchPays (23) */ + interface FrameSupportDispatchPays extends Enum { readonly isYes: boolean; readonly isNo: boolean; readonly type: 'Yes' | 'No'; } - /** @name SpRuntimeDispatchError (23) */ + /** @name SpRuntimeDispatchError (24) */ interface SpRuntimeDispatchError extends Enum { readonly isOther: boolean; readonly isCannotLookup: boolean; @@ -125,19 +131,22 @@ declare module '@polkadot/types/lookup' { readonly isToken: boolean; readonly asToken: SpRuntimeTokenError; readonly isArithmetic: boolean; - readonly asArithmetic: SpRuntimeArithmeticError; + readonly asArithmetic: SpArithmeticArithmeticError; readonly isTransactional: boolean; readonly asTransactional: SpRuntimeTransactionalError; - readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional'; + readonly isExhausted: boolean; + readonly isCorruption: boolean; + readonly isUnavailable: boolean; + readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable'; } - /** @name SpRuntimeModuleError (24) */ + /** @name SpRuntimeModuleError (25) */ interface SpRuntimeModuleError extends Struct { readonly index: u8; readonly error: U8aFixed; } - /** @name SpRuntimeTokenError (25) */ + /** @name SpRuntimeTokenError (26) */ interface SpRuntimeTokenError extends Enum { readonly isNoFunds: boolean; readonly isWouldDie: boolean; @@ -149,22 +158,22 @@ declare module '@polkadot/types/lookup' { readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported'; } - /** @name SpRuntimeArithmeticError (26) */ - interface SpRuntimeArithmeticError extends Enum { + /** @name SpArithmeticArithmeticError (27) */ + interface SpArithmeticArithmeticError extends Enum { readonly isUnderflow: boolean; readonly isOverflow: boolean; readonly isDivisionByZero: boolean; readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero'; } - /** @name SpRuntimeTransactionalError (27) */ + /** @name SpRuntimeTransactionalError (28) */ interface SpRuntimeTransactionalError extends Enum { readonly isLimitReached: boolean; readonly isNoLayer: boolean; readonly type: 'LimitReached' | 'NoLayer'; } - /** @name PalletIndicesEvent (28) */ + /** @name PalletIndicesEvent (29) */ interface PalletIndicesEvent extends Enum { readonly isIndexAssigned: boolean; readonly asIndexAssigned: { @@ -183,7 +192,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'IndexAssigned' | 'IndexFreed' | 'IndexFrozen'; } - /** @name PalletBalancesEvent (29) */ + /** @name PalletBalancesEvent (30) */ interface PalletBalancesEvent extends Enum { readonly isEndowed: boolean; readonly asEndowed: { @@ -242,14 +251,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed'; } - /** @name FrameSupportTokensMiscBalanceStatus (30) */ + /** @name FrameSupportTokensMiscBalanceStatus (31) */ interface FrameSupportTokensMiscBalanceStatus extends Enum { readonly isFree: boolean; readonly isReserved: boolean; readonly type: 'Free' | 'Reserved'; } - /** @name PalletTransactionPaymentEvent (31) */ + /** @name PalletTransactionPaymentEvent (32) */ interface PalletTransactionPaymentEvent extends Enum { readonly isTransactionFeePaid: boolean; readonly asTransactionFeePaid: { @@ -260,7 +269,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TransactionFeePaid'; } - /** @name PalletSessionEvent (32) */ + /** @name PalletSessionEvent (33) */ interface PalletSessionEvent extends Enum { readonly isNewSession: boolean; readonly asNewSession: { @@ -269,7 +278,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewSession'; } - /** @name ParachainStakingEvent (33) */ + /** @name ParachainStakingEvent (34) */ interface ParachainStakingEvent extends Enum { readonly isNewRound: boolean; readonly asNewRound: ITuple<[u64, u32]>; @@ -316,7 +325,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewRound' | 'EnteredTopCandidates' | 'LeftTopCandidates' | 'JoinedCollatorCandidates' | 'CollatorStakedMore' | 'CollatorStakedLess' | 'CollatorScheduledExit' | 'CollatorCanceledExit' | 'CandidateLeft' | 'CollatorRemoved' | 'MaxCandidateStakeChanged' | 'DelegatorStakedMore' | 'DelegatorStakedLess' | 'DelegatorLeft' | 'Delegation' | 'DelegationReplaced' | 'DelegatorLeftCollator' | 'Rewarded' | 'RoundInflationSet' | 'MaxSelectedCandidatesSet' | 'BlocksPerRoundSet'; } - /** @name PalletDemocracyEvent (35) */ + /** @name PalletDemocracyEvent (36) */ interface PalletDemocracyEvent extends Enum { readonly isProposed: boolean; readonly asProposed: { @@ -327,7 +336,6 @@ declare module '@polkadot/types/lookup' { readonly asTabled: { readonly proposalIndex: u32; readonly deposit: u128; - readonly depositors: Vec; } & Struct; readonly isExternalTabled: boolean; readonly isStarted: boolean; @@ -347,11 +355,6 @@ declare module '@polkadot/types/lookup' { readonly asCancelled: { readonly refIndex: u32; } & Struct; - readonly isExecuted: boolean; - readonly asExecuted: { - readonly refIndex: u32; - readonly result: Result; - } & Struct; readonly isDelegated: boolean; readonly asDelegated: { readonly who: AccountId32; @@ -367,35 +370,6 @@ declare module '@polkadot/types/lookup' { readonly proposalHash: H256; readonly until: u64; } & Struct; - readonly isPreimageNoted: boolean; - readonly asPreimageNoted: { - readonly proposalHash: H256; - readonly who: AccountId32; - readonly deposit: u128; - } & Struct; - readonly isPreimageUsed: boolean; - readonly asPreimageUsed: { - readonly proposalHash: H256; - readonly provider: AccountId32; - readonly deposit: u128; - } & Struct; - readonly isPreimageInvalid: boolean; - readonly asPreimageInvalid: { - readonly proposalHash: H256; - readonly refIndex: u32; - } & Struct; - readonly isPreimageMissing: boolean; - readonly asPreimageMissing: { - readonly proposalHash: H256; - readonly refIndex: u32; - } & Struct; - readonly isPreimageReaped: boolean; - readonly asPreimageReaped: { - readonly proposalHash: H256; - readonly provider: AccountId32; - readonly deposit: u128; - readonly reaper: AccountId32; - } & Struct; readonly isBlacklisted: boolean; readonly asBlacklisted: { readonly proposalHash: H256; @@ -415,7 +389,7 @@ declare module '@polkadot/types/lookup' { readonly asProposalCanceled: { readonly propIndex: u32; } & Struct; - readonly type: 'Proposed' | 'Tabled' | 'ExternalTabled' | 'Started' | 'Passed' | 'NotPassed' | 'Cancelled' | 'Executed' | 'Delegated' | 'Undelegated' | 'Vetoed' | 'PreimageNoted' | 'PreimageUsed' | 'PreimageInvalid' | 'PreimageMissing' | 'PreimageReaped' | 'Blacklisted' | 'Voted' | 'Seconded' | 'ProposalCanceled'; + readonly type: 'Proposed' | 'Tabled' | 'ExternalTabled' | 'Started' | 'Passed' | 'NotPassed' | 'Cancelled' | 'Delegated' | 'Undelegated' | 'Vetoed' | 'Blacklisted' | 'Voted' | 'Seconded' | 'ProposalCanceled'; } /** @name PalletDemocracyVoteThreshold (37) */ @@ -426,7 +400,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SuperMajorityApprove' | 'SuperMajorityAgainst' | 'SimpleMajority'; } - /** @name PalletDemocracyVoteAccountVote (40) */ + /** @name PalletDemocracyVoteAccountVote (38) */ interface PalletDemocracyVoteAccountVote extends Enum { readonly isStandard: boolean; readonly asStandard: { @@ -441,7 +415,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Standard' | 'Split'; } - /** @name PalletCollectiveEvent (42) */ + /** @name PalletCollectiveEvent (40) */ interface PalletCollectiveEvent extends Enum { readonly isProposed: boolean; readonly asProposed: { @@ -535,7 +509,12 @@ declare module '@polkadot/types/lookup' { readonly amount: u128; readonly beneficiary: AccountId32; } & Struct; - readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved'; + readonly isUpdatedInactive: boolean; + readonly asUpdatedInactive: { + readonly reactivated: u128; + readonly deactivated: u128; + } & Struct; + readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved' | 'UpdatedInactive'; } /** @name PalletUtilityEvent (47) */ @@ -588,34 +567,36 @@ declare module '@polkadot/types/lookup' { readonly isDispatched: boolean; readonly asDispatched: { readonly task: ITuple<[u64, u32]>; - readonly id: Option; + readonly id: Option; readonly result: Result; } & Struct; - readonly isCallLookupFailed: boolean; - readonly asCallLookupFailed: { + readonly isCallUnavailable: boolean; + readonly asCallUnavailable: { readonly task: ITuple<[u64, u32]>; - readonly id: Option; - readonly error: FrameSupportScheduleLookupError; + readonly id: Option; } & Struct; - readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallLookupFailed'; - } - - /** @name FrameSupportScheduleLookupError (52) */ - interface FrameSupportScheduleLookupError extends Enum { - readonly isUnknown: boolean; - readonly isBadFormat: boolean; - readonly type: 'Unknown' | 'BadFormat'; + readonly isPeriodicFailed: boolean; + readonly asPeriodicFailed: { + readonly task: ITuple<[u64, u32]>; + readonly id: Option; + } & Struct; + readonly isPermanentlyOverweight: boolean; + readonly asPermanentlyOverweight: { + readonly task: ITuple<[u64, u32]>; + readonly id: Option; + } & Struct; + readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallUnavailable' | 'PeriodicFailed' | 'PermanentlyOverweight'; } - /** @name PalletProxyEvent (53) */ + /** @name PalletProxyEvent (52) */ interface PalletProxyEvent extends Enum { readonly isProxyExecuted: boolean; readonly asProxyExecuted: { readonly result: Result; } & Struct; - readonly isAnonymousCreated: boolean; - readonly asAnonymousCreated: { - readonly anonymous: AccountId32; + readonly isPureCreated: boolean; + readonly asPureCreated: { + readonly pure: AccountId32; readonly who: AccountId32; readonly proxyType: SpiritnetRuntimeProxyType; readonly disambiguationIndex: u16; @@ -640,10 +621,10 @@ declare module '@polkadot/types/lookup' { readonly proxyType: SpiritnetRuntimeProxyType; readonly delay: u64; } & Struct; - readonly type: 'ProxyExecuted' | 'AnonymousCreated' | 'Announced' | 'ProxyAdded' | 'ProxyRemoved'; + readonly type: 'ProxyExecuted' | 'PureCreated' | 'Announced' | 'ProxyAdded' | 'ProxyRemoved'; } - /** @name SpiritnetRuntimeProxyType (54) */ + /** @name SpiritnetRuntimeProxyType (53) */ interface SpiritnetRuntimeProxyType extends Enum { readonly isAny: boolean; readonly isNonTransfer: boolean; @@ -654,7 +635,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming'; } - /** @name PalletPreimageEvent (56) */ + /** @name PalletPreimageEvent (55) */ interface PalletPreimageEvent extends Enum { readonly isNoted: boolean; readonly asNoted: { @@ -671,7 +652,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noted' | 'Requested' | 'Cleared'; } - /** @name PalletTipsEvent (58) */ + /** @name PalletTipsEvent (57) */ interface PalletTipsEvent extends Enum { readonly isNewTip: boolean; readonly asNewTip: { @@ -700,7 +681,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewTip' | 'TipClosing' | 'TipClosed' | 'TipRetracted' | 'TipSlashed'; } - /** @name CtypeEvent (59) */ + /** @name CtypeEvent (58) */ interface CtypeEvent extends Enum { readonly isCTypeCreated: boolean; readonly asCTypeCreated: ITuple<[AccountId32, H256]>; @@ -709,7 +690,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CTypeCreated' | 'CTypeUpdated'; } - /** @name AttestationEvent (60) */ + /** @name AttestationEvent (59) */ interface AttestationEvent extends Enum { readonly isAttestationCreated: boolean; readonly asAttestationCreated: ITuple<[AccountId32, H256, H256, Option]>; @@ -722,14 +703,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'AttestationCreated' | 'AttestationRevoked' | 'AttestationRemoved' | 'DepositReclaimed'; } - /** @name RuntimeCommonAuthorizationAuthorizationId (62) */ + /** @name RuntimeCommonAuthorizationAuthorizationId (61) */ interface RuntimeCommonAuthorizationAuthorizationId extends Enum { readonly isDelegation: boolean; readonly asDelegation: H256; readonly type: 'Delegation'; } - /** @name DelegationEvent (63) */ + /** @name DelegationEvent (62) */ interface DelegationEvent extends Enum { readonly isHierarchyCreated: boolean; readonly asHierarchyCreated: ITuple<[AccountId32, H256, H256]>; @@ -748,12 +729,12 @@ declare module '@polkadot/types/lookup' { readonly type: 'HierarchyCreated' | 'HierarchyRevoked' | 'HierarchyRemoved' | 'DelegationCreated' | 'DelegationRevoked' | 'DelegationRemoved' | 'DepositReclaimed'; } - /** @name DelegationDelegationHierarchyPermissions (64) */ + /** @name DelegationDelegationHierarchyPermissions (63) */ interface DelegationDelegationHierarchyPermissions extends Struct { readonly bits: u32; } - /** @name DidEvent (65) */ + /** @name DidEvent (64) */ interface DidEvent extends Enum { readonly isDidCreated: boolean; readonly asDidCreated: ITuple<[AccountId32, AccountId32]>; @@ -766,28 +747,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'DidCreated' | 'DidUpdated' | 'DidDeleted' | 'DidCallDispatched'; } - /** @name PalletDidLookupEvent (66) */ + /** @name PalletDidLookupEvent (65) */ interface PalletDidLookupEvent extends Enum { readonly isAssociationEstablished: boolean; - readonly asAssociationEstablished: ITuple<[PalletDidLookupLinkableAccountLinkableAccountId, AccountId32]>; + readonly asAssociationEstablished: ITuple<[AccountId32, AccountId32]>; readonly isAssociationRemoved: boolean; - readonly asAssociationRemoved: ITuple<[PalletDidLookupLinkableAccountLinkableAccountId, AccountId32]>; + readonly asAssociationRemoved: ITuple<[AccountId32, AccountId32]>; readonly type: 'AssociationEstablished' | 'AssociationRemoved'; } - /** @name PalletDidLookupLinkableAccountLinkableAccountId (67) */ - interface PalletDidLookupLinkableAccountLinkableAccountId extends Enum { - readonly isAccountId20: boolean; - readonly asAccountId20: PalletDidLookupAccountAccountId20; - readonly isAccountId32: boolean; - readonly asAccountId32: AccountId32; - readonly type: 'AccountId20' | 'AccountId32'; - } - - /** @name PalletDidLookupAccountAccountId20 (68) */ - interface PalletDidLookupAccountAccountId20 extends U8aFixed { } - - /** @name PalletWeb3NamesEvent (70) */ + /** @name PalletWeb3NamesEvent (66) */ interface PalletWeb3NamesEvent extends Enum { readonly isWeb3NameClaimed: boolean; readonly asWeb3NameClaimed: { @@ -810,7 +779,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Web3NameClaimed' | 'Web3NameReleased' | 'Web3NameBanned' | 'Web3NameUnbanned'; } - /** @name PublicCredentialsEvent (73) */ + /** @name PublicCredentialsEvent (69) */ interface PublicCredentialsEvent extends Enum { readonly isCredentialStored: boolean; readonly asCredentialStored: { @@ -833,16 +802,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'CredentialStored' | 'CredentialRemoved' | 'CredentialRevoked' | 'CredentialUnrevoked'; } - /** @name RuntimeCommonAssetsAssetDid (74) */ - interface RuntimeCommonAssetsAssetDid extends KiltAssetDidsV1AssetDid { } + /** @name RuntimeCommonAssetsAssetDid (70) */ + interface RuntimeCommonAssetsAssetDid extends KiltAssetDidsV1AssetDid {} - /** @name KiltAssetDidsV1AssetDid (75) */ + /** @name KiltAssetDidsV1AssetDid (71) */ interface KiltAssetDidsV1AssetDid extends Struct { readonly chainId: KiltAssetDidsChainV1ChainId; readonly assetId: KiltAssetDidsAssetV1AssetId; } - /** @name KiltAssetDidsChainV1ChainId (76) */ + /** @name KiltAssetDidsChainV1ChainId (72) */ interface KiltAssetDidsChainV1ChainId extends Enum { readonly isEip155: boolean; readonly asEip155: u128; @@ -857,16 +826,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Eip155' | 'Bip122' | 'Dotsama' | 'Solana' | 'Generic'; } - /** @name KiltAssetDidsChainV1GenesisHexHash32Reference (78) */ - interface KiltAssetDidsChainV1GenesisHexHash32Reference extends U8aFixed { } + /** @name KiltAssetDidsChainV1GenesisHexHash32Reference (74) */ + interface KiltAssetDidsChainV1GenesisHexHash32Reference extends U8aFixed {} - /** @name KiltAssetDidsChainV1GenericChainId (82) */ + /** @name KiltAssetDidsChainV1GenericChainId (78) */ interface KiltAssetDidsChainV1GenericChainId extends Struct { readonly namespace: Bytes; readonly reference: Bytes; } - /** @name KiltAssetDidsAssetV1AssetId (86) */ + /** @name KiltAssetDidsAssetV1AssetId (82) */ interface KiltAssetDidsAssetV1AssetId extends Enum { readonly isSlip44: boolean; readonly asSlip44: U256; @@ -881,20 +850,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'Slip44' | 'Erc20' | 'Erc721' | 'Erc1155' | 'Generic'; } - /** @name KiltAssetDidsAssetV1EvmSmartContractFungibleReference (90) */ - interface KiltAssetDidsAssetV1EvmSmartContractFungibleReference extends U8aFixed { } + /** @name KiltAssetDidsAssetV1EvmSmartContractFungibleReference (86) */ + interface KiltAssetDidsAssetV1EvmSmartContractFungibleReference extends U8aFixed {} - /** @name KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference (91) */ - interface KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference extends ITuple<[KiltAssetDidsAssetV1EvmSmartContractFungibleReference, Option]> { } + /** @name KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference (88) */ + interface KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference extends ITuple<[KiltAssetDidsAssetV1EvmSmartContractFungibleReference, Option]> {} - /** @name KiltAssetDidsAssetV1GenericAssetId (95) */ + /** @name KiltAssetDidsAssetV1GenericAssetId (92) */ interface KiltAssetDidsAssetV1GenericAssetId extends Struct { readonly namespace: Bytes; readonly reference: Bytes; readonly id: Option; } - /** @name CumulusPalletParachainSystemEvent (101) */ + /** @name CumulusPalletParachainSystemEvent (98) */ interface CumulusPalletParachainSystemEvent extends Enum { readonly isValidationFunctionStored: boolean; readonly isValidationFunctionApplied: boolean; @@ -912,24 +881,24 @@ declare module '@polkadot/types/lookup' { } & Struct; readonly isDownwardMessagesProcessed: boolean; readonly asDownwardMessagesProcessed: { - readonly weightUsed: Weight; + readonly weightUsed: SpWeightsWeightV2Weight; readonly dmqHead: H256; } & Struct; readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed'; } - /** @name CumulusPalletXcmpQueueEvent (102) */ + /** @name CumulusPalletXcmpQueueEvent (99) */ interface CumulusPalletXcmpQueueEvent extends Enum { readonly isSuccess: boolean; readonly asSuccess: { readonly messageHash: Option; - readonly weight: Weight; + readonly weight: SpWeightsWeightV2Weight; } & Struct; readonly isFail: boolean; readonly asFail: { readonly messageHash: Option; readonly error: XcmV2TraitsError; - readonly weight: Weight; + readonly weight: SpWeightsWeightV2Weight; } & Struct; readonly isBadVersion: boolean; readonly asBadVersion: { @@ -952,17 +921,17 @@ declare module '@polkadot/types/lookup' { readonly sender: u32; readonly sentAt: u32; readonly index: u64; - readonly required: Weight; + readonly required: SpWeightsWeightV2Weight; } & Struct; readonly isOverweightServiced: boolean; readonly asOverweightServiced: { readonly index: u64; - readonly used: Weight; + readonly used: SpWeightsWeightV2Weight; } & Struct; readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced'; } - /** @name XcmV2TraitsError (104) */ + /** @name XcmV2TraitsError (101) */ interface XcmV2TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; @@ -995,7 +964,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable'; } - /** @name PalletXcmEvent (106) */ + /** @name PalletXcmEvent (103) */ interface PalletXcmEvent extends Enum { readonly isAttempted: boolean; readonly asAttempted: XcmV2TraitsOutcome; @@ -1008,7 +977,7 @@ declare module '@polkadot/types/lookup' { readonly isNotified: boolean; readonly asNotified: ITuple<[u64, u8, u8]>; readonly isNotifyOverweight: boolean; - readonly asNotifyOverweight: ITuple<[u64, u8, u8, Weight, Weight]>; + readonly asNotifyOverweight: ITuple<[u64, u8, u8, SpWeightsWeightV2Weight, SpWeightsWeightV2Weight]>; readonly isNotifyDispatchError: boolean; readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>; readonly isNotifyDecodeFailed: boolean; @@ -1029,10 +998,12 @@ declare module '@polkadot/types/lookup' { readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>; readonly isNotifyTargetMigrationFail: boolean; readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>; - readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail'; + readonly isAssetsClaimed: boolean; + readonly asAssetsClaimed: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>; + readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'AssetsClaimed'; } - /** @name XcmV2TraitsOutcome (107) */ + /** @name XcmV2TraitsOutcome (104) */ interface XcmV2TraitsOutcome extends Enum { readonly isComplete: boolean; readonly asComplete: u64; @@ -1043,13 +1014,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Complete' | 'Incomplete' | 'Error'; } - /** @name XcmV1MultiLocation (108) */ + /** @name XcmV1MultiLocation (105) */ interface XcmV1MultiLocation extends Struct { readonly parents: u8; readonly interior: XcmV1MultilocationJunctions; } - /** @name XcmV1MultilocationJunctions (109) */ + /** @name XcmV1MultilocationJunctions (106) */ interface XcmV1MultilocationJunctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; @@ -1071,7 +1042,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; } - /** @name XcmV1Junction (110) */ + /** @name XcmV1Junction (107) */ interface XcmV1Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; @@ -1105,7 +1076,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; } - /** @name XcmV0JunctionNetworkId (112) */ + /** @name XcmV0JunctionNetworkId (109) */ interface XcmV0JunctionNetworkId extends Enum { readonly isAny: boolean; readonly isNamed: boolean; @@ -1115,7 +1086,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama'; } - /** @name XcmV0JunctionBodyId (116) */ + /** @name XcmV0JunctionBodyId (112) */ interface XcmV0JunctionBodyId extends Enum { readonly isUnit: boolean; readonly isNamed: boolean; @@ -1126,10 +1097,13 @@ declare module '@polkadot/types/lookup' { readonly isTechnical: boolean; readonly isLegislative: boolean; readonly isJudicial: boolean; - readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial'; + readonly isDefense: boolean; + readonly isAdministration: boolean; + readonly isTreasury: boolean; + readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; } - /** @name XcmV0JunctionBodyPart (117) */ + /** @name XcmV0JunctionBodyPart (113) */ interface XcmV0JunctionBodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; @@ -1154,10 +1128,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; } - /** @name XcmV2Xcm (118) */ - interface XcmV2Xcm extends Vec { } + /** @name XcmV2Xcm (114) */ + interface XcmV2Xcm extends Vec {} - /** @name XcmV2Instruction (120) */ + /** @name XcmV2Instruction (116) */ interface XcmV2Instruction extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: XcmV1MultiassetMultiAssets; @@ -1277,16 +1251,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion'; } - /** @name XcmV1MultiassetMultiAssets (121) */ - interface XcmV1MultiassetMultiAssets extends Vec { } + /** @name XcmV1MultiassetMultiAssets (117) */ + interface XcmV1MultiassetMultiAssets extends Vec {} - /** @name XcmV1MultiAsset (123) */ + /** @name XcmV1MultiAsset (119) */ interface XcmV1MultiAsset extends Struct { readonly id: XcmV1MultiassetAssetId; readonly fun: XcmV1MultiassetFungibility; } - /** @name XcmV1MultiassetAssetId (124) */ + /** @name XcmV1MultiassetAssetId (120) */ interface XcmV1MultiassetAssetId extends Enum { readonly isConcrete: boolean; readonly asConcrete: XcmV1MultiLocation; @@ -1295,7 +1269,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Concrete' | 'Abstract'; } - /** @name XcmV1MultiassetFungibility (125) */ + /** @name XcmV1MultiassetFungibility (121) */ interface XcmV1MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; @@ -1304,7 +1278,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV1MultiassetAssetInstance (126) */ + /** @name XcmV1MultiassetAssetInstance (122) */ interface XcmV1MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -1322,7 +1296,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob'; } - /** @name XcmV2Response (128) */ + /** @name XcmV2Response (124) */ interface XcmV2Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; @@ -1334,7 +1308,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version'; } - /** @name XcmV0OriginKind (131) */ + /** @name XcmV0OriginKind (127) */ interface XcmV0OriginKind extends Enum { readonly isNative: boolean; readonly isSovereignAccount: boolean; @@ -1343,12 +1317,12 @@ declare module '@polkadot/types/lookup' { readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm'; } - /** @name XcmDoubleEncoded (132) */ + /** @name XcmDoubleEncoded (128) */ interface XcmDoubleEncoded extends Struct { readonly encoded: Bytes; } - /** @name XcmV1MultiassetMultiAssetFilter (133) */ + /** @name XcmV1MultiassetMultiAssetFilter (129) */ interface XcmV1MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; readonly asDefinite: XcmV1MultiassetMultiAssets; @@ -1357,7 +1331,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Definite' | 'Wild'; } - /** @name XcmV1MultiassetWildMultiAsset (134) */ + /** @name XcmV1MultiassetWildMultiAsset (130) */ interface XcmV1MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; @@ -1368,14 +1342,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'All' | 'AllOf'; } - /** @name XcmV1MultiassetWildFungibility (135) */ + /** @name XcmV1MultiassetWildFungibility (131) */ interface XcmV1MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV2WeightLimit (136) */ + /** @name XcmV2WeightLimit (132) */ interface XcmV2WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; @@ -1383,7 +1357,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unlimited' | 'Limited'; } - /** @name XcmVersionedMultiAssets (138) */ + /** @name XcmVersionedMultiAssets (134) */ interface XcmVersionedMultiAssets extends Enum { readonly isV0: boolean; readonly asV0: Vec; @@ -1392,7 +1366,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'V0' | 'V1'; } - /** @name XcmV0MultiAsset (140) */ + /** @name XcmV0MultiAsset (136) */ interface XcmV0MultiAsset extends Enum { readonly isNone: boolean; readonly isAll: boolean; @@ -1437,7 +1411,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible'; } - /** @name XcmV0MultiLocation (141) */ + /** @name XcmV0MultiLocation (137) */ interface XcmV0MultiLocation extends Enum { readonly isNull: boolean; readonly isX1: boolean; @@ -1459,7 +1433,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; } - /** @name XcmV0Junction (142) */ + /** @name XcmV0Junction (138) */ interface XcmV0Junction extends Enum { readonly isParent: boolean; readonly isParachain: boolean; @@ -1494,7 +1468,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; } - /** @name XcmVersionedMultiLocation (143) */ + /** @name XcmVersionedMultiLocation (139) */ interface XcmVersionedMultiLocation extends Enum { readonly isV0: boolean; readonly asV0: XcmV0MultiLocation; @@ -1503,7 +1477,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'V0' | 'V1'; } - /** @name CumulusPalletXcmEvent (144) */ + /** @name CumulusPalletXcmEvent (140) */ interface CumulusPalletXcmEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: U8aFixed; @@ -1514,7 +1488,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward'; } - /** @name CumulusPalletDmpQueueEvent (145) */ + /** @name CumulusPalletDmpQueueEvent (141) */ interface CumulusPalletDmpQueueEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: { @@ -1532,24 +1506,24 @@ declare module '@polkadot/types/lookup' { readonly isWeightExhausted: boolean; readonly asWeightExhausted: { readonly messageId: U8aFixed; - readonly remainingWeight: Weight; - readonly requiredWeight: Weight; + readonly remainingWeight: SpWeightsWeightV2Weight; + readonly requiredWeight: SpWeightsWeightV2Weight; } & Struct; readonly isOverweightEnqueued: boolean; readonly asOverweightEnqueued: { readonly messageId: U8aFixed; readonly overweightIndex: u64; - readonly requiredWeight: Weight; + readonly requiredWeight: SpWeightsWeightV2Weight; } & Struct; readonly isOverweightServiced: boolean; readonly asOverweightServiced: { readonly overweightIndex: u64; - readonly weightUsed: Weight; + readonly weightUsed: SpWeightsWeightV2Weight; } & Struct; readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced'; } - /** @name FrameSystemPhase (146) */ + /** @name FrameSystemPhase (142) */ interface FrameSystemPhase extends Enum { readonly isApplyExtrinsic: boolean; readonly asApplyExtrinsic: u32; @@ -1558,18 +1532,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; } - /** @name FrameSystemLastRuntimeUpgradeInfo (149) */ + /** @name FrameSystemLastRuntimeUpgradeInfo (145) */ interface FrameSystemLastRuntimeUpgradeInfo extends Struct { readonly specVersion: Compact; readonly specName: Text; } - /** @name FrameSystemCall (151) */ + /** @name FrameSystemCall (147) */ interface FrameSystemCall extends Enum { - readonly isFillBlock: boolean; - readonly asFillBlock: { - readonly ratio: Perbill; - } & Struct; readonly isRemark: boolean; readonly asRemark: { readonly remark: Bytes; @@ -1603,50 +1573,50 @@ declare module '@polkadot/types/lookup' { readonly asRemarkWithEvent: { readonly remark: Bytes; } & Struct; - readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent'; + readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent'; } - /** @name FrameSystemLimitsBlockWeights (156) */ + /** @name FrameSystemLimitsBlockWeights (151) */ interface FrameSystemLimitsBlockWeights extends Struct { - readonly baseBlock: Weight; - readonly maxBlock: Weight; - readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass; + readonly baseBlock: SpWeightsWeightV2Weight; + readonly maxBlock: SpWeightsWeightV2Weight; + readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; } - /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (157) */ - interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct { + /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (152) */ + interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { readonly normal: FrameSystemLimitsWeightsPerClass; readonly operational: FrameSystemLimitsWeightsPerClass; readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name FrameSystemLimitsWeightsPerClass (158) */ + /** @name FrameSystemLimitsWeightsPerClass (153) */ interface FrameSystemLimitsWeightsPerClass extends Struct { - readonly baseExtrinsic: Weight; - readonly maxExtrinsic: Option; - readonly maxTotal: Option; - readonly reserved: Option; + readonly baseExtrinsic: SpWeightsWeightV2Weight; + readonly maxExtrinsic: Option; + readonly maxTotal: Option; + readonly reserved: Option; } - /** @name FrameSystemLimitsBlockLength (160) */ + /** @name FrameSystemLimitsBlockLength (155) */ interface FrameSystemLimitsBlockLength extends Struct { - readonly max: FrameSupportWeightsPerDispatchClassU32; + readonly max: FrameSupportDispatchPerDispatchClassU32; } - /** @name FrameSupportWeightsPerDispatchClassU32 (161) */ - interface FrameSupportWeightsPerDispatchClassU32 extends Struct { + /** @name FrameSupportDispatchPerDispatchClassU32 (156) */ + interface FrameSupportDispatchPerDispatchClassU32 extends Struct { readonly normal: u32; readonly operational: u32; readonly mandatory: u32; } - /** @name FrameSupportWeightsRuntimeDbWeight (162) */ - interface FrameSupportWeightsRuntimeDbWeight extends Struct { + /** @name SpWeightsRuntimeDbWeight (157) */ + interface SpWeightsRuntimeDbWeight extends Struct { readonly read: u64; readonly write: u64; } - /** @name SpVersionRuntimeVersion (163) */ + /** @name SpVersionRuntimeVersion (158) */ interface SpVersionRuntimeVersion extends Struct { readonly specName: Text; readonly implName: Text; @@ -1658,7 +1628,7 @@ declare module '@polkadot/types/lookup' { readonly stateVersion: u8; } - /** @name FrameSystemError (167) */ + /** @name FrameSystemError (162) */ interface FrameSystemError extends Enum { readonly isInvalidSpecName: boolean; readonly isSpecVersionNeedsToIncrease: boolean; @@ -1669,7 +1639,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered'; } - /** @name PalletTimestampCall (169) */ + /** @name PalletTimestampCall (164) */ interface PalletTimestampCall extends Enum { readonly isSet: boolean; readonly asSet: { @@ -1678,7 +1648,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Set'; } - /** @name PalletIndicesCall (171) */ + /** @name PalletIndicesCall (166) */ interface PalletIndicesCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -1706,7 +1676,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'Transfer' | 'Free' | 'ForceTransfer' | 'Freeze'; } - /** @name PalletIndicesError (174) */ + /** @name PalletIndicesError (169) */ interface PalletIndicesError extends Enum { readonly isNotAssigned: boolean; readonly isNotOwner: boolean; @@ -1716,14 +1686,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotAssigned' | 'NotOwner' | 'InUse' | 'NotTransfer' | 'Permanent'; } - /** @name PalletBalancesBalanceLock (176) */ + /** @name PalletBalancesBalanceLock (171) */ interface PalletBalancesBalanceLock extends Struct { readonly id: U8aFixed; readonly amount: u128; readonly reasons: PalletBalancesReasons; } - /** @name PalletBalancesReasons (177) */ + /** @name PalletBalancesReasons (172) */ interface PalletBalancesReasons extends Enum { readonly isFee: boolean; readonly isMisc: boolean; @@ -1731,20 +1701,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fee' | 'Misc' | 'All'; } - /** @name PalletBalancesReserveData (180) */ + /** @name PalletBalancesReserveData (175) */ interface PalletBalancesReserveData extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name PalletBalancesReleases (182) */ - interface PalletBalancesReleases extends Enum { - readonly isV100: boolean; - readonly isV200: boolean; - readonly type: 'V100' | 'V200'; - } - - /** @name PalletBalancesCall (183) */ + /** @name PalletBalancesCall (177) */ interface PalletBalancesCall extends Enum { readonly isTransfer: boolean; readonly asTransfer: { @@ -1781,7 +1744,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve'; } - /** @name PalletBalancesError (184) */ + /** @name PalletBalancesError (178) */ interface PalletBalancesError extends Enum { readonly isVestingBalance: boolean; readonly isLiquidityRestrictions: boolean; @@ -1794,28 +1757,28 @@ declare module '@polkadot/types/lookup' { readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves'; } - /** @name PalletTransactionPaymentReleases (186) */ + /** @name PalletTransactionPaymentReleases (180) */ interface PalletTransactionPaymentReleases extends Enum { readonly isV1Ancient: boolean; readonly isV2: boolean; readonly type: 'V1Ancient' | 'V2'; } - /** @name SpConsensusAuraSr25519AppSr25519Public (188) */ - interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public { } + /** @name SpConsensusAuraSr25519AppSr25519Public (182) */ + interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {} - /** @name SpCoreSr25519Public (189) */ - interface SpCoreSr25519Public extends U8aFixed { } + /** @name SpCoreSr25519Public (183) */ + interface SpCoreSr25519Public extends U8aFixed {} - /** @name SpiritnetRuntimeSessionKeys (194) */ + /** @name SpiritnetRuntimeSessionKeys (189) */ interface SpiritnetRuntimeSessionKeys extends Struct { readonly aura: SpConsensusAuraSr25519AppSr25519Public; } - /** @name SpCoreCryptoKeyTypeId (197) */ - interface SpCoreCryptoKeyTypeId extends U8aFixed { } + /** @name SpCoreCryptoKeyTypeId (192) */ + interface SpCoreCryptoKeyTypeId extends U8aFixed {} - /** @name PalletSessionCall (198) */ + /** @name PalletSessionCall (193) */ interface PalletSessionCall extends Enum { readonly isSetKeys: boolean; readonly asSetKeys: { @@ -1826,7 +1789,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetKeys' | 'PurgeKeys'; } - /** @name PalletSessionError (199) */ + /** @name PalletSessionError (194) */ interface PalletSessionError extends Enum { readonly isInvalidProof: boolean; readonly isNoAssociatedValidatorId: boolean; @@ -1836,26 +1799,26 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount'; } - /** @name ParachainStakingRoundInfo (200) */ + /** @name ParachainStakingRoundInfo (195) */ interface ParachainStakingRoundInfo extends Struct { readonly current: u32; readonly first: u64; readonly length: u64; } - /** @name ParachainStakingDelegationCounter (201) */ + /** @name ParachainStakingDelegationCounter (196) */ interface ParachainStakingDelegationCounter extends Struct { readonly round: u32; readonly counter: u32; } - /** @name ParachainStakingStake (202) */ + /** @name ParachainStakingStake (197) */ interface ParachainStakingStake extends Struct { readonly owner: AccountId32; readonly amount: u128; } - /** @name ParachainStakingCandidate (203) */ + /** @name ParachainStakingCandidate (198) */ interface ParachainStakingCandidate extends Struct { readonly id: AccountId32; readonly stake: u128; @@ -1864,10 +1827,10 @@ declare module '@polkadot/types/lookup' { readonly status: ParachainStakingCandidateStatus; } - /** @name ParachainStakingSetOrderedSet (204) */ - interface ParachainStakingSetOrderedSet extends Vec { } + /** @name ParachainStakingSetOrderedSet (199) */ + interface ParachainStakingSetOrderedSet extends Vec {} - /** @name ParachainStakingCandidateStatus (207) */ + /** @name ParachainStakingCandidateStatus (202) */ interface ParachainStakingCandidateStatus extends Enum { readonly isActive: boolean; readonly isLeaving: boolean; @@ -1875,31 +1838,31 @@ declare module '@polkadot/types/lookup' { readonly type: 'Active' | 'Leaving'; } - /** @name ParachainStakingTotalStake (208) */ + /** @name ParachainStakingTotalStake (203) */ interface ParachainStakingTotalStake extends Struct { readonly collators: u128; readonly delegators: u128; } - /** @name ParachainStakingInflationInflationInfo (211) */ + /** @name ParachainStakingInflationInflationInfo (206) */ interface ParachainStakingInflationInflationInfo extends Struct { readonly collator: ParachainStakingInflationStakingInfo; readonly delegator: ParachainStakingInflationStakingInfo; } - /** @name ParachainStakingInflationStakingInfo (212) */ + /** @name ParachainStakingInflationStakingInfo (207) */ interface ParachainStakingInflationStakingInfo extends Struct { readonly maxRate: Perquintill; readonly rewardRate: ParachainStakingInflationRewardRate; } - /** @name ParachainStakingInflationRewardRate (213) */ + /** @name ParachainStakingInflationRewardRate (208) */ interface ParachainStakingInflationRewardRate extends Struct { readonly annual: Perquintill; readonly perBlock: Perquintill; } - /** @name ParachainStakingCall (218) */ + /** @name ParachainStakingCall (213) */ interface ParachainStakingCall extends Enum { readonly isForceNewRound: boolean; readonly isSetInflation: boolean; @@ -1968,7 +1931,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ForceNewRound' | 'SetInflation' | 'SetMaxSelectedCandidates' | 'SetBlocksPerRound' | 'SetMaxCandidateStake' | 'ForceRemoveCandidate' | 'JoinCandidates' | 'InitLeaveCandidates' | 'ExecuteLeaveCandidates' | 'CancelLeaveCandidates' | 'CandidateStakeMore' | 'CandidateStakeLess' | 'JoinDelegators' | 'LeaveDelegators' | 'DelegatorStakeMore' | 'DelegatorStakeLess' | 'UnlockUnstaked' | 'ClaimRewards' | 'IncrementCollatorRewards' | 'IncrementDelegatorRewards' | 'ExecuteScheduledRewardChange'; } - /** @name ParachainStakingError (219) */ + /** @name ParachainStakingError (214) */ interface ParachainStakingError extends Enum { readonly isDelegatorNotFound: boolean; readonly isCandidateNotFound: boolean; @@ -2004,7 +1967,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'DelegatorNotFound' | 'CandidateNotFound' | 'DelegatorExists' | 'CandidateExists' | 'ValStakeZero' | 'ValStakeBelowMin' | 'ValStakeAboveMax' | 'DelegationBelowMin' | 'AlreadyLeaving' | 'NotLeaving' | 'CannotLeaveYet' | 'CannotJoinBeforeUnlocking' | 'AlreadyDelegating' | 'NotYetDelegating' | 'DelegationsPerRoundExceeded' | 'TooManyDelegators' | 'TooFewCollatorCandidates' | 'CannotStakeIfLeaving' | 'CannotDelegateIfLeaving' | 'MaxCollatorsPerDelegatorExceeded' | 'AlreadyDelegatedCollator' | 'DelegationNotFound' | 'Underflow' | 'CannotSetAboveMax' | 'CannotSetBelowMin' | 'InvalidSchedule' | 'NoMoreUnstaking' | 'TooEarly' | 'StakeNotFound' | 'UnstakingIsEmpty' | 'RewardsNotFound'; } - /** @name PalletAuthorshipUncleEntryItem (221) */ + /** @name PalletAuthorshipUncleEntryItem (216) */ interface PalletAuthorshipUncleEntryItem extends Enum { readonly isInclusionHeight: boolean; readonly asInclusionHeight: u64; @@ -2013,7 +1976,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InclusionHeight' | 'Uncle'; } - /** @name PalletAuthorshipCall (224) */ + /** @name PalletAuthorshipCall (219) */ interface PalletAuthorshipCall extends Enum { readonly isSetUncles: boolean; readonly asSetUncles: { @@ -2022,7 +1985,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetUncles'; } - /** @name SpRuntimeHeader (226) */ + /** @name SpRuntimeHeader (221) */ interface SpRuntimeHeader extends Struct { readonly parentHash: H256; readonly number: Compact; @@ -2031,10 +1994,10 @@ declare module '@polkadot/types/lookup' { readonly digest: SpRuntimeDigest; } - /** @name SpRuntimeBlakeTwo256 (227) */ + /** @name SpRuntimeBlakeTwo256 (222) */ type SpRuntimeBlakeTwo256 = Null; - /** @name PalletAuthorshipError (228) */ + /** @name PalletAuthorshipError (223) */ interface PalletAuthorshipError extends Enum { readonly isInvalidUncleParent: boolean; readonly isUnclesAlreadySet: boolean; @@ -2046,106 +2009,32 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidUncleParent' | 'UnclesAlreadySet' | 'TooManyUncles' | 'GenesisUncle' | 'TooHighUncle' | 'UncleAlreadyIncluded' | 'OldUncle'; } - /** @name PalletDemocracyPreimageStatus (232) */ - interface PalletDemocracyPreimageStatus extends Enum { - readonly isMissing: boolean; - readonly asMissing: u64; - readonly isAvailable: boolean; - readonly asAvailable: { - readonly data: Bytes; - readonly provider: AccountId32; - readonly deposit: u128; - readonly since: u64; - readonly expiry: Option; - } & Struct; - readonly type: 'Missing' | 'Available'; - } - - /** @name PalletDemocracyReferendumInfo (234) */ - interface PalletDemocracyReferendumInfo extends Enum { - readonly isOngoing: boolean; - readonly asOngoing: PalletDemocracyReferendumStatus; - readonly isFinished: boolean; - readonly asFinished: { - readonly approved: bool; - readonly end: u64; - } & Struct; - readonly type: 'Ongoing' | 'Finished'; - } - - /** @name PalletDemocracyReferendumStatus (235) */ - interface PalletDemocracyReferendumStatus extends Struct { - readonly end: u64; - readonly proposalHash: H256; - readonly threshold: PalletDemocracyVoteThreshold; - readonly delay: u64; - readonly tally: PalletDemocracyTally; - } - - /** @name PalletDemocracyTally (236) */ - interface PalletDemocracyTally extends Struct { - readonly ayes: u128; - readonly nays: u128; - readonly turnout: u128; - } - - /** @name PalletDemocracyVoteVoting (237) */ - interface PalletDemocracyVoteVoting extends Enum { - readonly isDirect: boolean; - readonly asDirect: { - readonly votes: Vec>; - readonly delegations: PalletDemocracyDelegations; - readonly prior: PalletDemocracyVotePriorLock; + /** @name FrameSupportPreimagesBounded (226) */ + interface FrameSupportPreimagesBounded extends Enum { + readonly isLegacy: boolean; + readonly asLegacy: { + readonly hash_: H256; } & Struct; - readonly isDelegating: boolean; - readonly asDelegating: { - readonly balance: u128; - readonly target: AccountId32; - readonly conviction: PalletDemocracyConviction; - readonly delegations: PalletDemocracyDelegations; - readonly prior: PalletDemocracyVotePriorLock; + readonly isInline: boolean; + readonly asInline: Bytes; + readonly isLookup: boolean; + readonly asLookup: { + readonly hash_: H256; + readonly len: u32; } & Struct; - readonly type: 'Direct' | 'Delegating'; - } - - /** @name PalletDemocracyDelegations (240) */ - interface PalletDemocracyDelegations extends Struct { - readonly votes: u128; - readonly capital: u128; + readonly type: 'Legacy' | 'Inline' | 'Lookup'; } - /** @name PalletDemocracyVotePriorLock (241) */ - interface PalletDemocracyVotePriorLock extends ITuple<[u64, u128]> { } - - /** @name PalletDemocracyConviction (242) */ - interface PalletDemocracyConviction extends Enum { - readonly isNone: boolean; - readonly isLocked1x: boolean; - readonly isLocked2x: boolean; - readonly isLocked3x: boolean; - readonly isLocked4x: boolean; - readonly isLocked5x: boolean; - readonly isLocked6x: boolean; - readonly type: 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x'; - } - - /** @name PalletDemocracyReleases (245) */ - interface PalletDemocracyReleases extends Enum { - readonly isV1: boolean; - readonly type: 'V1'; - } - - /** @name PalletDemocracyCall (246) */ + /** @name PalletDemocracyCall (228) */ interface PalletDemocracyCall extends Enum { readonly isPropose: boolean; readonly asPropose: { - readonly proposalHash: H256; + readonly proposal: FrameSupportPreimagesBounded; readonly value: Compact; } & Struct; readonly isSecond: boolean; readonly asSecond: { readonly proposal: Compact; - readonly secondsUpperBound: Compact; } & Struct; readonly isVote: boolean; readonly asVote: { @@ -2158,15 +2047,15 @@ declare module '@polkadot/types/lookup' { } & Struct; readonly isExternalPropose: boolean; readonly asExternalPropose: { - readonly proposalHash: H256; + readonly proposal: FrameSupportPreimagesBounded; } & Struct; readonly isExternalProposeMajority: boolean; readonly asExternalProposeMajority: { - readonly proposalHash: H256; + readonly proposal: FrameSupportPreimagesBounded; } & Struct; readonly isExternalProposeDefault: boolean; readonly asExternalProposeDefault: { - readonly proposalHash: H256; + readonly proposal: FrameSupportPreimagesBounded; } & Struct; readonly isFastTrack: boolean; readonly asFastTrack: { @@ -2182,10 +2071,6 @@ declare module '@polkadot/types/lookup' { readonly asCancelReferendum: { readonly refIndex: Compact; } & Struct; - readonly isCancelQueued: boolean; - readonly asCancelQueued: { - readonly which: u32; - } & Struct; readonly isDelegate: boolean; readonly asDelegate: { readonly to: MultiAddress; @@ -2194,27 +2079,6 @@ declare module '@polkadot/types/lookup' { } & Struct; readonly isUndelegate: boolean; readonly isClearPublicProposals: boolean; - readonly isNotePreimage: boolean; - readonly asNotePreimage: { - readonly encodedProposal: Bytes; - } & Struct; - readonly isNotePreimageOperational: boolean; - readonly asNotePreimageOperational: { - readonly encodedProposal: Bytes; - } & Struct; - readonly isNoteImminentPreimage: boolean; - readonly asNoteImminentPreimage: { - readonly encodedProposal: Bytes; - } & Struct; - readonly isNoteImminentPreimageOperational: boolean; - readonly asNoteImminentPreimageOperational: { - readonly encodedProposal: Bytes; - } & Struct; - readonly isReapPreimage: boolean; - readonly asReapPreimage: { - readonly proposalHash: H256; - readonly proposalLenUpperBound: Compact; - } & Struct; readonly isUnlock: boolean; readonly asUnlock: { readonly target: MultiAddress; @@ -2228,11 +2092,6 @@ declare module '@polkadot/types/lookup' { readonly target: MultiAddress; readonly index: u32; } & Struct; - readonly isEnactProposal: boolean; - readonly asEnactProposal: { - readonly proposalHash: H256; - readonly index: u32; - } & Struct; readonly isBlacklist: boolean; readonly asBlacklist: { readonly proposalHash: H256; @@ -2242,44 +2101,22 @@ declare module '@polkadot/types/lookup' { readonly asCancelProposal: { readonly propIndex: Compact; } & Struct; - readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'CancelQueued' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'NotePreimage' | 'NotePreimageOperational' | 'NoteImminentPreimage' | 'NoteImminentPreimageOperational' | 'ReapPreimage' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'EnactProposal' | 'Blacklist' | 'CancelProposal'; + readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'Blacklist' | 'CancelProposal'; } - /** @name PalletDemocracyError (248) */ - interface PalletDemocracyError extends Enum { - readonly isValueLow: boolean; - readonly isProposalMissing: boolean; - readonly isAlreadyCanceled: boolean; - readonly isDuplicateProposal: boolean; - readonly isProposalBlacklisted: boolean; - readonly isNotSimpleMajority: boolean; - readonly isInvalidHash: boolean; - readonly isNoProposal: boolean; - readonly isAlreadyVetoed: boolean; - readonly isDuplicatePreimage: boolean; - readonly isNotImminent: boolean; - readonly isTooEarly: boolean; - readonly isImminent: boolean; - readonly isPreimageMissing: boolean; - readonly isReferendumInvalid: boolean; - readonly isPreimageInvalid: boolean; - readonly isNoneWaiting: boolean; - readonly isNotVoter: boolean; - readonly isNoPermission: boolean; - readonly isAlreadyDelegating: boolean; - readonly isInsufficientFunds: boolean; - readonly isNotDelegating: boolean; - readonly isVotesExist: boolean; - readonly isInstantNotAllowed: boolean; - readonly isNonsense: boolean; - readonly isWrongUpperBound: boolean; - readonly isMaxVotesReached: boolean; - readonly isTooManyProposals: boolean; - readonly isVotingPeriodLow: boolean; - readonly type: 'ValueLow' | 'ProposalMissing' | 'AlreadyCanceled' | 'DuplicateProposal' | 'ProposalBlacklisted' | 'NotSimpleMajority' | 'InvalidHash' | 'NoProposal' | 'AlreadyVetoed' | 'DuplicatePreimage' | 'NotImminent' | 'TooEarly' | 'Imminent' | 'PreimageMissing' | 'ReferendumInvalid' | 'PreimageInvalid' | 'NoneWaiting' | 'NotVoter' | 'NoPermission' | 'AlreadyDelegating' | 'InsufficientFunds' | 'NotDelegating' | 'VotesExist' | 'InstantNotAllowed' | 'Nonsense' | 'WrongUpperBound' | 'MaxVotesReached' | 'TooManyProposals' | 'VotingPeriodLow'; + /** @name PalletDemocracyConviction (229) */ + interface PalletDemocracyConviction extends Enum { + readonly isNone: boolean; + readonly isLocked1x: boolean; + readonly isLocked2x: boolean; + readonly isLocked3x: boolean; + readonly isLocked4x: boolean; + readonly isLocked5x: boolean; + readonly isLocked6x: boolean; + readonly type: 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x'; } - /** @name PalletCollectiveCall (251) */ + /** @name PalletCollectiveCall (231) */ interface PalletCollectiveCall extends Enum { readonly isSetMembers: boolean; readonly asSetMembers: { @@ -2304,21 +2141,28 @@ declare module '@polkadot/types/lookup' { readonly index: Compact; readonly approve: bool; } & Struct; - readonly isClose: boolean; - readonly asClose: { + readonly isCloseOldWeight: boolean; + readonly asCloseOldWeight: { readonly proposalHash: H256; readonly index: Compact; - readonly proposalWeightBound: Compact; + readonly proposalWeightBound: Compact; readonly lengthBound: Compact; } & Struct; readonly isDisapproveProposal: boolean; readonly asDisapproveProposal: { readonly proposalHash: H256; } & Struct; - readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'Close' | 'DisapproveProposal'; + readonly isClose: boolean; + readonly asClose: { + readonly proposalHash: H256; + readonly index: Compact; + readonly proposalWeightBound: SpWeightsWeightV2Weight; + readonly lengthBound: Compact; + } & Struct; + readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'CloseOldWeight' | 'DisapproveProposal' | 'Close'; } - /** @name PalletMembershipCall (254) */ + /** @name PalletMembershipCall (235) */ interface PalletMembershipCall extends Enum { readonly isAddMember: boolean; readonly asAddMember: { @@ -2349,7 +2193,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AddMember' | 'RemoveMember' | 'SwapMember' | 'ResetMembers' | 'ChangeKey' | 'SetPrime' | 'ClearPrime'; } - /** @name PalletTreasuryCall (255) */ + /** @name PalletTreasuryCall (236) */ interface PalletTreasuryCall extends Enum { readonly isProposeSpend: boolean; readonly asProposeSpend: { @@ -2376,7 +2220,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval'; } - /** @name PalletUtilityCall (256) */ + /** @name PalletUtilityCall (237) */ interface PalletUtilityCall extends Enum { readonly isBatch: boolean; readonly asBatch: { @@ -2400,10 +2244,15 @@ declare module '@polkadot/types/lookup' { readonly asForceBatch: { readonly calls: Vec; } & Struct; - readonly type: 'Batch' | 'AsDerivative' | 'BatchAll' | 'DispatchAs' | 'ForceBatch'; + readonly isWithWeight: boolean; + readonly asWithWeight: { + readonly call: Call; + readonly weight: SpWeightsWeightV2Weight; + } & Struct; + readonly type: 'Batch' | 'AsDerivative' | 'BatchAll' | 'DispatchAs' | 'ForceBatch' | 'WithWeight'; } - /** @name SpiritnetRuntimeOriginCaller (258) */ + /** @name SpiritnetRuntimeOriginCaller (239) */ interface SpiritnetRuntimeOriginCaller extends Enum { readonly isSystem: boolean; readonly asSystem: FrameSupportDispatchRawOrigin; @@ -2421,7 +2270,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'System' | 'Void' | 'Council' | 'TechnicalCommittee' | 'Did' | 'PolkadotXcm' | 'CumulusXcm'; } - /** @name FrameSupportDispatchRawOrigin (259) */ + /** @name FrameSupportDispatchRawOrigin (240) */ interface FrameSupportDispatchRawOrigin extends Enum { readonly isRoot: boolean; readonly isSigned: boolean; @@ -2430,7 +2279,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Root' | 'Signed' | 'None'; } - /** @name PalletCollectiveRawOrigin (260) */ + /** @name PalletCollectiveRawOrigin (241) */ interface PalletCollectiveRawOrigin extends Enum { readonly isMembers: boolean; readonly asMembers: ITuple<[u32, u32]>; @@ -2440,13 +2289,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Members' | 'Member' | 'Phantom'; } - /** @name DidOriginDidRawOrigin (262) */ + /** @name DidOriginDidRawOrigin (243) */ interface DidOriginDidRawOrigin extends Struct { readonly id: AccountId32; readonly submitter: AccountId32; } - /** @name PalletXcmOrigin (263) */ + /** @name PalletXcmOrigin (244) */ interface PalletXcmOrigin extends Enum { readonly isXcm: boolean; readonly asXcm: XcmV1MultiLocation; @@ -2455,7 +2304,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Xcm' | 'Response'; } - /** @name CumulusPalletXcmOrigin (264) */ + /** @name CumulusPalletXcmOrigin (245) */ interface CumulusPalletXcmOrigin extends Enum { readonly isRelay: boolean; readonly isSiblingParachain: boolean; @@ -2463,10 +2312,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Relay' | 'SiblingParachain'; } - /** @name SpCoreVoid (265) */ + /** @name SpCoreVoid (246) */ type SpCoreVoid = Null; - /** @name PalletVestingCall (266) */ + /** @name PalletVestingCall (247) */ interface PalletVestingCall extends Enum { readonly isVest: boolean; readonly isVestOther: boolean; @@ -2492,21 +2341,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'Vest' | 'VestOther' | 'VestedTransfer' | 'ForceVestedTransfer' | 'MergeSchedules'; } - /** @name PalletVestingVestingInfo (267) */ + /** @name PalletVestingVestingInfo (248) */ interface PalletVestingVestingInfo extends Struct { readonly locked: u128; readonly perBlock: u128; readonly startingBlock: u64; } - /** @name PalletSchedulerCall (268) */ + /** @name PalletSchedulerCall (249) */ interface PalletSchedulerCall extends Enum { readonly isSchedule: boolean; readonly asSchedule: { readonly when: u64; readonly maybePeriodic: Option>; readonly priority: u8; - readonly call: FrameSupportScheduleMaybeHashed; + readonly call: Call; } & Struct; readonly isCancel: boolean; readonly asCancel: { @@ -2515,44 +2364,35 @@ declare module '@polkadot/types/lookup' { } & Struct; readonly isScheduleNamed: boolean; readonly asScheduleNamed: { - readonly id: Bytes; + readonly id: U8aFixed; readonly when: u64; readonly maybePeriodic: Option>; readonly priority: u8; - readonly call: FrameSupportScheduleMaybeHashed; + readonly call: Call; } & Struct; readonly isCancelNamed: boolean; readonly asCancelNamed: { - readonly id: Bytes; + readonly id: U8aFixed; } & Struct; readonly isScheduleAfter: boolean; readonly asScheduleAfter: { readonly after: u64; readonly maybePeriodic: Option>; readonly priority: u8; - readonly call: FrameSupportScheduleMaybeHashed; + readonly call: Call; } & Struct; readonly isScheduleNamedAfter: boolean; readonly asScheduleNamedAfter: { - readonly id: Bytes; + readonly id: U8aFixed; readonly after: u64; readonly maybePeriodic: Option>; readonly priority: u8; - readonly call: FrameSupportScheduleMaybeHashed; + readonly call: Call; } & Struct; readonly type: 'Schedule' | 'Cancel' | 'ScheduleNamed' | 'CancelNamed' | 'ScheduleAfter' | 'ScheduleNamedAfter'; } - /** @name FrameSupportScheduleMaybeHashed (270) */ - interface FrameSupportScheduleMaybeHashed extends Enum { - readonly isValue: boolean; - readonly asValue: Call; - readonly isHash: boolean; - readonly asHash: H256; - readonly type: 'Value' | 'Hash'; - } - - /** @name PalletProxyCall (271) */ + /** @name PalletProxyCall (251) */ interface PalletProxyCall extends Enum { readonly isProxy: boolean; readonly asProxy: { @@ -2573,14 +2413,14 @@ declare module '@polkadot/types/lookup' { readonly delay: u64; } & Struct; readonly isRemoveProxies: boolean; - readonly isAnonymous: boolean; - readonly asAnonymous: { + readonly isCreatePure: boolean; + readonly asCreatePure: { readonly proxyType: SpiritnetRuntimeProxyType; readonly delay: u64; readonly index: u16; } & Struct; - readonly isKillAnonymous: boolean; - readonly asKillAnonymous: { + readonly isKillPure: boolean; + readonly asKillPure: { readonly spawner: MultiAddress; readonly proxyType: SpiritnetRuntimeProxyType; readonly index: u16; @@ -2609,10 +2449,10 @@ declare module '@polkadot/types/lookup' { readonly forceProxyType: Option; readonly call: Call; } & Struct; - readonly type: 'Proxy' | 'AddProxy' | 'RemoveProxy' | 'RemoveProxies' | 'Anonymous' | 'KillAnonymous' | 'Announce' | 'RemoveAnnouncement' | 'RejectAnnouncement' | 'ProxyAnnounced'; + readonly type: 'Proxy' | 'AddProxy' | 'RemoveProxy' | 'RemoveProxies' | 'CreatePure' | 'KillPure' | 'Announce' | 'RemoveAnnouncement' | 'RejectAnnouncement' | 'ProxyAnnounced'; } - /** @name PalletPreimageCall (273) */ + /** @name PalletPreimageCall (253) */ interface PalletPreimageCall extends Enum { readonly isNotePreimage: boolean; readonly asNotePreimage: { @@ -2633,7 +2473,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage'; } - /** @name PalletTipsCall (275) */ + /** @name PalletTipsCall (255) */ interface PalletTipsCall extends Enum { readonly isReportAwesome: boolean; readonly asReportAwesome: { @@ -2666,7 +2506,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ReportAwesome' | 'RetractTip' | 'TipNew' | 'Tip' | 'CloseTip' | 'SlashTip'; } - /** @name CtypeCall (276) */ + /** @name CtypeCall (256) */ interface CtypeCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -2680,7 +2520,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'SetBlockNumber'; } - /** @name AttestationCall (277) */ + /** @name AttestationCall (257) */ interface AttestationCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -2713,23 +2553,23 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'Revoke' | 'Remove' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name RuntimeCommonAuthorizationPalletAuthorize (279) */ + /** @name RuntimeCommonAuthorizationPalletAuthorize (259) */ interface RuntimeCommonAuthorizationPalletAuthorize extends Enum { readonly isDelegation: boolean; readonly asDelegation: DelegationAccessControlDelegationAc; readonly type: 'Delegation'; } - /** @name DelegationAccessControlDelegationAc (280) */ + /** @name DelegationAccessControlDelegationAc (260) */ interface DelegationAccessControlDelegationAc extends Struct { readonly subjectNodeId: H256; readonly maxChecks: u32; } - /** @name SpiritnetRuntimeRuntime (281) */ + /** @name SpiritnetRuntimeRuntime (261) */ type SpiritnetRuntimeRuntime = Null; - /** @name DelegationCall (282) */ + /** @name DelegationCall (262) */ interface DelegationCall extends Enum { readonly isCreateHierarchy: boolean; readonly asCreateHierarchy: { @@ -2771,7 +2611,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CreateHierarchy' | 'AddDelegation' | 'RevokeDelegation' | 'RemoveDelegation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name DidDidDetailsDidSignature (283) */ + /** @name DidDidDetailsDidSignature (263) */ interface DidDidDetailsDidSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -2782,16 +2622,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name SpCoreEd25519Signature (284) */ - interface SpCoreEd25519Signature extends U8aFixed { } + /** @name SpCoreEd25519Signature (264) */ + interface SpCoreEd25519Signature extends U8aFixed {} - /** @name SpCoreSr25519Signature (286) */ - interface SpCoreSr25519Signature extends U8aFixed { } + /** @name SpCoreSr25519Signature (266) */ + interface SpCoreSr25519Signature extends U8aFixed {} - /** @name SpCoreEcdsaSignature (287) */ - interface SpCoreEcdsaSignature extends U8aFixed { } + /** @name SpCoreEcdsaSignature (267) */ + interface SpCoreEcdsaSignature extends U8aFixed {} - /** @name DidCall (289) */ + /** @name DidCall (269) */ interface DidCall extends Enum { readonly isCreate: boolean; readonly asCreate: { @@ -2850,7 +2690,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Create' | 'SetAuthenticationKey' | 'SetDelegationKey' | 'RemoveDelegationKey' | 'SetAttestationKey' | 'RemoveAttestationKey' | 'AddKeyAgreementKey' | 'RemoveKeyAgreementKey' | 'AddServiceEndpoint' | 'RemoveServiceEndpoint' | 'Delete' | 'ReclaimDeposit' | 'SubmitDidCall' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name DidDidDetailsDidCreationDetails (290) */ + /** @name DidDidDetailsDidCreationDetails (270) */ interface DidDidDetailsDidCreationDetails extends Struct { readonly did: AccountId32; readonly submitter: AccountId32; @@ -2860,14 +2700,14 @@ declare module '@polkadot/types/lookup' { readonly newServiceDetails: Vec; } - /** @name DidDidDetailsDidEncryptionKey (292) */ + /** @name DidDidDetailsDidEncryptionKey (272) */ interface DidDidDetailsDidEncryptionKey extends Enum { readonly isX25519: boolean; readonly asX25519: U8aFixed; readonly type: 'X25519'; } - /** @name DidDidDetailsDidVerificationKey (296) */ + /** @name DidDidDetailsDidVerificationKey (276) */ interface DidDidDetailsDidVerificationKey extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Public; @@ -2878,20 +2718,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name SpCoreEd25519Public (297) */ - interface SpCoreEd25519Public extends U8aFixed { } + /** @name SpCoreEd25519Public (277) */ + interface SpCoreEd25519Public extends U8aFixed {} - /** @name SpCoreEcdsaPublic (298) */ - interface SpCoreEcdsaPublic extends U8aFixed { } + /** @name SpCoreEcdsaPublic (278) */ + interface SpCoreEcdsaPublic extends U8aFixed {} - /** @name DidServiceEndpointsDidEndpoint (301) */ + /** @name DidServiceEndpointsDidEndpoint (281) */ interface DidServiceEndpointsDidEndpoint extends Struct { readonly id: Bytes; readonly serviceTypes: Vec; readonly urls: Vec; } - /** @name DidDidDetailsDidAuthorizedCallOperation (309) */ + /** @name DidDidDetailsDidAuthorizedCallOperation (289) */ interface DidDidDetailsDidAuthorizedCallOperation extends Struct { readonly did: AccountId32; readonly txCounter: u64; @@ -2900,44 +2740,36 @@ declare module '@polkadot/types/lookup' { readonly submitter: AccountId32; } - /** @name PalletDidLookupCall (310) */ + /** @name PalletDidLookupCall (290) */ interface PalletDidLookupCall extends Enum { readonly isAssociateAccount: boolean; readonly asAssociateAccount: { - readonly req: PalletDidLookupAssociateAccountRequest; + readonly account: AccountId32; readonly expiration: u64; + readonly proof: SpRuntimeMultiSignature; } & Struct; readonly isAssociateSender: boolean; readonly isRemoveSenderAssociation: boolean; readonly isRemoveAccountAssociation: boolean; readonly asRemoveAccountAssociation: { - readonly account: PalletDidLookupLinkableAccountLinkableAccountId; + readonly account: AccountId32; } & Struct; readonly isReclaimDeposit: boolean; readonly asReclaimDeposit: { - readonly account: PalletDidLookupLinkableAccountLinkableAccountId; + readonly account: AccountId32; } & Struct; readonly isChangeDepositOwner: boolean; readonly asChangeDepositOwner: { - readonly account: PalletDidLookupLinkableAccountLinkableAccountId; + readonly account: AccountId32; } & Struct; readonly isUpdateDeposit: boolean; readonly asUpdateDeposit: { - readonly account: PalletDidLookupLinkableAccountLinkableAccountId; + readonly account: AccountId32; } & Struct; readonly type: 'AssociateAccount' | 'AssociateSender' | 'RemoveSenderAssociation' | 'RemoveAccountAssociation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PalletDidLookupAssociateAccountRequest (311) */ - interface PalletDidLookupAssociateAccountRequest extends Enum { - readonly isDotsama: boolean; - readonly asDotsama: ITuple<[AccountId32, SpRuntimeMultiSignature]>; - readonly isEthereum: boolean; - readonly asEthereum: ITuple<[PalletDidLookupAccountAccountId20, PalletDidLookupAccountEthereumSignature]>; - readonly type: 'Dotsama' | 'Ethereum'; - } - - /** @name SpRuntimeMultiSignature (312) */ + /** @name SpRuntimeMultiSignature (291) */ interface SpRuntimeMultiSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -2948,10 +2780,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name PalletDidLookupAccountEthereumSignature (313) */ - interface PalletDidLookupAccountEthereumSignature extends SpCoreEcdsaSignature { } - - /** @name PalletWeb3NamesCall (314) */ + /** @name PalletWeb3NamesCall (292) */ interface PalletWeb3NamesCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -2978,7 +2807,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'ReleaseByOwner' | 'ReclaimDeposit' | 'Ban' | 'Unban' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PublicCredentialsCall (315) */ + /** @name PublicCredentialsCall (293) */ interface PublicCredentialsCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -3014,7 +2843,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'Revoke' | 'Unrevoke' | 'Remove' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PublicCredentialsCredentialsCredential (316) */ + /** @name PublicCredentialsCredentialsCredential (294) */ interface PublicCredentialsCredentialsCredential extends Struct { readonly ctypeHash: H256; readonly subject: Bytes; @@ -3022,7 +2851,7 @@ declare module '@polkadot/types/lookup' { readonly authorization: Option; } - /** @name CumulusPalletParachainSystemCall (319) */ + /** @name CumulusPalletParachainSystemCall (297) */ interface CumulusPalletParachainSystemCall extends Enum { readonly isSetValidationData: boolean; readonly asSetValidationData: { @@ -3043,7 +2872,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade'; } - /** @name CumulusPrimitivesParachainInherentParachainInherentData (320) */ + /** @name CumulusPrimitivesParachainInherentParachainInherentData (298) */ interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { readonly validationData: PolkadotPrimitivesV2PersistedValidationData; readonly relayChainState: SpTrieStorageProof; @@ -3051,7 +2880,7 @@ declare module '@polkadot/types/lookup' { readonly horizontalMessages: BTreeMap>; } - /** @name PolkadotPrimitivesV2PersistedValidationData (321) */ + /** @name PolkadotPrimitivesV2PersistedValidationData (299) */ interface PolkadotPrimitivesV2PersistedValidationData extends Struct { readonly parentHead: Bytes; readonly relayParentNumber: u32; @@ -3059,35 +2888,29 @@ declare module '@polkadot/types/lookup' { readonly maxPovSize: u32; } - /** @name CtypeCtypeEntry (322) */ - interface CtypeCtypeEntry extends Struct { - readonly creator: AccountId32; - readonly createdAt: u64; - } - - /** @name SpTrieStorageProof (323) */ + /** @name SpTrieStorageProof (301) */ interface SpTrieStorageProof extends Struct { readonly trieNodes: BTreeSet; } - /** @name PolkadotCorePrimitivesInboundDownwardMessage (326) */ + /** @name PolkadotCorePrimitivesInboundDownwardMessage (304) */ interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { readonly sentAt: u32; readonly msg: Bytes; } - /** @name PolkadotCorePrimitivesInboundHrmpMessage (329) */ + /** @name PolkadotCorePrimitivesInboundHrmpMessage (307) */ interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { readonly sentAt: u32; readonly data: Bytes; } - /** @name CumulusPalletXcmpQueueCall (332) */ + /** @name CumulusPalletXcmpQueueCall (310) */ interface CumulusPalletXcmpQueueCall extends Enum { readonly isServiceOverweight: boolean; readonly asServiceOverweight: { readonly index: u64; - readonly weightLimit: Weight; + readonly weightLimit: u64; } & Struct; readonly isSuspendXcmExecution: boolean; readonly isResumeXcmExecution: boolean; @@ -3105,20 +2928,20 @@ declare module '@polkadot/types/lookup' { } & Struct; readonly isUpdateThresholdWeight: boolean; readonly asUpdateThresholdWeight: { - readonly new_: Weight; + readonly new_: u64; } & Struct; readonly isUpdateWeightRestrictDecay: boolean; readonly asUpdateWeightRestrictDecay: { - readonly new_: Weight; + readonly new_: u64; } & Struct; readonly isUpdateXcmpMaxIndividualWeight: boolean; readonly asUpdateXcmpMaxIndividualWeight: { - readonly new_: Weight; + readonly new_: u64; } & Struct; readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight'; } - /** @name PalletXcmCall (333) */ + /** @name PalletXcmCall (311) */ interface PalletXcmCall extends Enum { readonly isSend: boolean; readonly asSend: { @@ -3142,7 +2965,7 @@ declare module '@polkadot/types/lookup' { readonly isExecute: boolean; readonly asExecute: { readonly message: XcmVersionedXcm; - readonly maxWeight: Weight; + readonly maxWeight: u64; } & Struct; readonly isForceXcmVersion: boolean; readonly asForceXcmVersion: { @@ -3180,7 +3003,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets'; } - /** @name XcmVersionedXcm (334) */ + /** @name XcmVersionedXcm (312) */ interface XcmVersionedXcm extends Enum { readonly isV0: boolean; readonly asV0: XcmV0Xcm; @@ -3191,7 +3014,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'V0' | 'V1' | 'V2'; } - /** @name XcmV0Xcm (335) */ + /** @name XcmV0Xcm (313) */ interface XcmV0Xcm extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: { @@ -3254,7 +3077,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom'; } - /** @name XcmV0Order (337) */ + /** @name XcmV0Order (315) */ interface XcmV0Order extends Enum { readonly isNull: boolean; readonly isDepositAsset: boolean; @@ -3302,14 +3125,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution'; } - /** @name XcmV0Response (339) */ + /** @name XcmV0Response (317) */ interface XcmV0Response extends Enum { readonly isAssets: boolean; readonly asAssets: Vec; readonly type: 'Assets'; } - /** @name XcmV1Xcm (340) */ + /** @name XcmV1Xcm (318) */ interface XcmV1Xcm extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: { @@ -3378,7 +3201,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion'; } - /** @name XcmV1Order (342) */ + /** @name XcmV1Order (320) */ interface XcmV1Order extends Enum { readonly isNoop: boolean; readonly isDepositAsset: boolean; @@ -3428,7 +3251,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution'; } - /** @name XcmV1Response (344) */ + /** @name XcmV1Response (322) */ interface XcmV1Response extends Enum { readonly isAssets: boolean; readonly asAssets: XcmV1MultiassetMultiAssets; @@ -3437,17 +3260,101 @@ declare module '@polkadot/types/lookup' { readonly type: 'Assets' | 'Version'; } - /** @name CumulusPalletDmpQueueCall (358) */ + /** @name CumulusPalletDmpQueueCall (336) */ interface CumulusPalletDmpQueueCall extends Enum { readonly isServiceOverweight: boolean; readonly asServiceOverweight: { readonly index: u64; - readonly weightLimit: Weight; + readonly weightLimit: u64; } & Struct; readonly type: 'ServiceOverweight'; } - /** @name PalletCollectiveVotes (359) */ + /** @name PalletDemocracyReferendumInfo (341) */ + interface PalletDemocracyReferendumInfo extends Enum { + readonly isOngoing: boolean; + readonly asOngoing: PalletDemocracyReferendumStatus; + readonly isFinished: boolean; + readonly asFinished: { + readonly approved: bool; + readonly end: u64; + } & Struct; + readonly type: 'Ongoing' | 'Finished'; + } + + /** @name PalletDemocracyReferendumStatus (342) */ + interface PalletDemocracyReferendumStatus extends Struct { + readonly end: u64; + readonly proposal: FrameSupportPreimagesBounded; + readonly threshold: PalletDemocracyVoteThreshold; + readonly delay: u64; + readonly tally: PalletDemocracyTally; + } + + /** @name PalletDemocracyTally (343) */ + interface PalletDemocracyTally extends Struct { + readonly ayes: u128; + readonly nays: u128; + readonly turnout: u128; + } + + /** @name PalletDemocracyVoteVoting (344) */ + interface PalletDemocracyVoteVoting extends Enum { + readonly isDirect: boolean; + readonly asDirect: { + readonly votes: Vec>; + readonly delegations: PalletDemocracyDelegations; + readonly prior: PalletDemocracyVotePriorLock; + } & Struct; + readonly isDelegating: boolean; + readonly asDelegating: { + readonly balance: u128; + readonly target: AccountId32; + readonly conviction: PalletDemocracyConviction; + readonly delegations: PalletDemocracyDelegations; + readonly prior: PalletDemocracyVotePriorLock; + } & Struct; + readonly type: 'Direct' | 'Delegating'; + } + + /** @name PalletDemocracyDelegations (348) */ + interface PalletDemocracyDelegations extends Struct { + readonly votes: u128; + readonly capital: u128; + } + + /** @name PalletDemocracyVotePriorLock (349) */ + interface PalletDemocracyVotePriorLock extends ITuple<[u64, u128]> {} + + /** @name PalletDemocracyError (352) */ + interface PalletDemocracyError extends Enum { + readonly isValueLow: boolean; + readonly isProposalMissing: boolean; + readonly isAlreadyCanceled: boolean; + readonly isDuplicateProposal: boolean; + readonly isProposalBlacklisted: boolean; + readonly isNotSimpleMajority: boolean; + readonly isInvalidHash: boolean; + readonly isNoProposal: boolean; + readonly isAlreadyVetoed: boolean; + readonly isReferendumInvalid: boolean; + readonly isNoneWaiting: boolean; + readonly isNotVoter: boolean; + readonly isNoPermission: boolean; + readonly isAlreadyDelegating: boolean; + readonly isInsufficientFunds: boolean; + readonly isNotDelegating: boolean; + readonly isVotesExist: boolean; + readonly isInstantNotAllowed: boolean; + readonly isNonsense: boolean; + readonly isWrongUpperBound: boolean; + readonly isMaxVotesReached: boolean; + readonly isTooMany: boolean; + readonly isVotingPeriodLow: boolean; + readonly type: 'ValueLow' | 'ProposalMissing' | 'AlreadyCanceled' | 'DuplicateProposal' | 'ProposalBlacklisted' | 'NotSimpleMajority' | 'InvalidHash' | 'NoProposal' | 'AlreadyVetoed' | 'ReferendumInvalid' | 'NoneWaiting' | 'NotVoter' | 'NoPermission' | 'AlreadyDelegating' | 'InsufficientFunds' | 'NotDelegating' | 'VotesExist' | 'InstantNotAllowed' | 'Nonsense' | 'WrongUpperBound' | 'MaxVotesReached' | 'TooMany' | 'VotingPeriodLow'; + } + + /** @name PalletCollectiveVotes (354) */ interface PalletCollectiveVotes extends Struct { readonly index: u32; readonly threshold: u32; @@ -3456,7 +3363,7 @@ declare module '@polkadot/types/lookup' { readonly end: u64; } - /** @name PalletCollectiveError (360) */ + /** @name PalletCollectiveError (355) */ interface PalletCollectiveError extends Enum { readonly isNotMember: boolean; readonly isDuplicateProposal: boolean; @@ -3471,7 +3378,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotMember' | 'DuplicateProposal' | 'ProposalMissing' | 'WrongIndex' | 'DuplicateVote' | 'AlreadyInitialized' | 'TooEarly' | 'TooManyProposals' | 'WrongProposalWeight' | 'WrongProposalLength'; } - /** @name PalletMembershipError (364) */ + /** @name PalletMembershipError (359) */ interface PalletMembershipError extends Enum { readonly isAlreadyMember: boolean; readonly isNotMember: boolean; @@ -3479,7 +3386,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyMember' | 'NotMember' | 'TooManyMembers'; } - /** @name PalletTreasuryProposal (365) */ + /** @name PalletTreasuryProposal (360) */ interface PalletTreasuryProposal extends Struct { readonly proposer: AccountId32; readonly value: u128; @@ -3487,10 +3394,10 @@ declare module '@polkadot/types/lookup' { readonly bond: u128; } - /** @name FrameSupportPalletId (369) */ - interface FrameSupportPalletId extends U8aFixed { } + /** @name FrameSupportPalletId (364) */ + interface FrameSupportPalletId extends U8aFixed {} - /** @name PalletTreasuryError (370) */ + /** @name PalletTreasuryError (365) */ interface PalletTreasuryError extends Enum { readonly isInsufficientProposersBalance: boolean; readonly isInvalidIndex: boolean; @@ -3500,20 +3407,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved'; } - /** @name PalletUtilityError (371) */ + /** @name PalletUtilityError (366) */ interface PalletUtilityError extends Enum { readonly isTooManyCalls: boolean; readonly type: 'TooManyCalls'; } - /** @name PalletVestingReleases (374) */ + /** @name PalletVestingReleases (369) */ interface PalletVestingReleases extends Enum { readonly isV0: boolean; readonly isV1: boolean; readonly type: 'V0' | 'V1'; } - /** @name PalletVestingError (375) */ + /** @name PalletVestingError (370) */ interface PalletVestingError extends Enum { readonly isNotVesting: boolean; readonly isAtMaxVestingSchedules: boolean; @@ -3523,39 +3430,40 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotVesting' | 'AtMaxVestingSchedules' | 'AmountLow' | 'ScheduleIndexOutOfBounds' | 'InvalidScheduleParams'; } - /** @name PalletSchedulerScheduledV3 (378) */ - interface PalletSchedulerScheduledV3 extends Struct { - readonly maybeId: Option; + /** @name PalletSchedulerScheduled (373) */ + interface PalletSchedulerScheduled extends Struct { + readonly maybeId: Option; readonly priority: u8; - readonly call: FrameSupportScheduleMaybeHashed; + readonly call: FrameSupportPreimagesBounded; readonly maybePeriodic: Option>; readonly origin: SpiritnetRuntimeOriginCaller; } - /** @name PalletSchedulerError (379) */ + /** @name PalletSchedulerError (375) */ interface PalletSchedulerError extends Enum { readonly isFailedToSchedule: boolean; readonly isNotFound: boolean; readonly isTargetBlockNumberInPast: boolean; readonly isRescheduleNoChange: boolean; - readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange'; + readonly isNamed: boolean; + readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange' | 'Named'; } - /** @name PalletProxyProxyDefinition (382) */ + /** @name PalletProxyProxyDefinition (378) */ interface PalletProxyProxyDefinition extends Struct { readonly delegate: AccountId32; readonly proxyType: SpiritnetRuntimeProxyType; readonly delay: u64; } - /** @name PalletProxyAnnouncement (386) */ + /** @name PalletProxyAnnouncement (382) */ interface PalletProxyAnnouncement extends Struct { readonly real: AccountId32; readonly callHash: H256; readonly height: u64; } - /** @name PalletProxyError (388) */ + /** @name PalletProxyError (384) */ interface PalletProxyError extends Enum { readonly isTooMany: boolean; readonly isNotFound: boolean; @@ -3568,27 +3476,34 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooMany' | 'NotFound' | 'NotProxy' | 'Unproxyable' | 'Duplicate' | 'NoPermission' | 'Unannounced' | 'NoSelfProxy'; } - /** @name PalletPreimageRequestStatus (389) */ + /** @name PalletPreimageRequestStatus (385) */ interface PalletPreimageRequestStatus extends Enum { readonly isUnrequested: boolean; - readonly asUnrequested: Option>; + readonly asUnrequested: { + readonly deposit: ITuple<[AccountId32, u128]>; + readonly len: u32; + } & Struct; readonly isRequested: boolean; - readonly asRequested: u32; + readonly asRequested: { + readonly deposit: Option>; + readonly count: u32; + readonly len: Option; + } & Struct; readonly type: 'Unrequested' | 'Requested'; } - /** @name PalletPreimageError (393) */ + /** @name PalletPreimageError (390) */ interface PalletPreimageError extends Enum { - readonly isTooLarge: boolean; + readonly isTooBig: boolean; readonly isAlreadyNoted: boolean; readonly isNotAuthorized: boolean; readonly isNotNoted: boolean; readonly isRequested: boolean; readonly isNotRequested: boolean; - readonly type: 'TooLarge' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested'; + readonly type: 'TooBig' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested'; } - /** @name PalletTipsOpenTip (395) */ + /** @name PalletTipsOpenTip (392) */ interface PalletTipsOpenTip extends Struct { readonly reason: H256; readonly who: AccountId32; @@ -3599,7 +3514,7 @@ declare module '@polkadot/types/lookup' { readonly findersFee: bool; } - /** @name PalletTipsError (398) */ + /** @name PalletTipsError (396) */ interface PalletTipsError extends Enum { readonly isReasonTooBig: boolean; readonly isAlreadyKnown: boolean; @@ -3610,7 +3525,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'ReasonTooBig' | 'AlreadyKnown' | 'UnknownTip' | 'NotFinder' | 'StillOpen' | 'Premature'; } - /** @name CtypeError (399) */ + /** @name CtypeCtypeEntry (397) */ + interface CtypeCtypeEntry extends Struct { + readonly creator: AccountId32; + readonly createdAt: u64; + } + + /** @name CtypeError (398) */ interface CtypeError extends Enum { readonly isCTypeNotFound: boolean; readonly isCTypeAlreadyExists: boolean; @@ -3618,7 +3539,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CTypeNotFound' | 'CTypeAlreadyExists' | 'UnableToPayFees'; } - /** @name AttestationAttestationsAttestationDetails (400) */ + /** @name AttestationAttestationsAttestationDetails (399) */ interface AttestationAttestationsAttestationDetails extends Struct { readonly ctypeHash: H256; readonly attester: AccountId32; @@ -3627,13 +3548,13 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name KiltSupportDeposit (401) */ + /** @name KiltSupportDeposit (400) */ interface KiltSupportDeposit extends Struct { readonly owner: AccountId32; readonly amount: u128; } - /** @name AttestationError (403) */ + /** @name AttestationError (402) */ interface AttestationError extends Enum { readonly isAlreadyAttested: boolean; readonly isAlreadyRevoked: boolean; @@ -3644,7 +3565,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyAttested' | 'AlreadyRevoked' | 'AttestationNotFound' | 'CTypeMismatch' | 'Unauthorized' | 'MaxDelegatedAttestationsExceeded'; } - /** @name DelegationDelegationHierarchyDelegationNode (404) */ + /** @name DelegationDelegationHierarchyDelegationNode (403) */ interface DelegationDelegationHierarchyDelegationNode extends Struct { readonly hierarchyRootId: H256; readonly parent: Option; @@ -3653,19 +3574,19 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name DelegationDelegationHierarchyDelegationDetails (407) */ + /** @name DelegationDelegationHierarchyDelegationDetails (406) */ interface DelegationDelegationHierarchyDelegationDetails extends Struct { readonly owner: AccountId32; readonly revoked: bool; readonly permissions: DelegationDelegationHierarchyPermissions; } - /** @name DelegationDelegationHierarchyDelegationHierarchyDetails (408) */ + /** @name DelegationDelegationHierarchyDelegationHierarchyDetails (407) */ interface DelegationDelegationHierarchyDelegationHierarchyDetails extends Struct { readonly ctypeHash: H256; } - /** @name DelegationError (409) */ + /** @name DelegationError (408) */ interface DelegationError extends Enum { readonly isDelegationAlreadyExists: boolean; readonly isInvalidDelegateSignature: boolean; @@ -3692,7 +3613,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'DelegationAlreadyExists' | 'InvalidDelegateSignature' | 'DelegationNotFound' | 'DelegateNotFound' | 'HierarchyAlreadyExists' | 'HierarchyNotFound' | 'MaxSearchDepthReached' | 'NotOwnerOfParentDelegation' | 'NotOwnerOfDelegationHierarchy' | 'ParentDelegationNotFound' | 'ParentDelegationRevoked' | 'UnauthorizedRevocation' | 'UnauthorizedRemoval' | 'UnauthorizedDelegation' | 'AccessDenied' | 'ExceededRevocationBounds' | 'ExceededRemovalBounds' | 'MaxRevocationsTooLarge' | 'MaxRemovalsTooLarge' | 'MaxParentChecksTooLarge' | 'InternalError' | 'MaxChildrenExceeded'; } - /** @name DidDidDetails (410) */ + /** @name DidDidDetails (409) */ interface DidDidDetails extends Struct { readonly authenticationKey: H256; readonly keyAgreementKeys: BTreeSet; @@ -3703,13 +3624,13 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name DidDidDetailsDidPublicKeyDetails (413) */ + /** @name DidDidDetailsDidPublicKeyDetails (412) */ interface DidDidDetailsDidPublicKeyDetails extends Struct { readonly key: DidDidDetailsDidPublicKey; readonly blockNumber: u64; } - /** @name DidDidDetailsDidPublicKey (414) */ + /** @name DidDidDetailsDidPublicKey (413) */ interface DidDidDetailsDidPublicKey extends Enum { readonly isPublicVerificationKey: boolean; readonly asPublicVerificationKey: DidDidDetailsDidVerificationKey; @@ -3718,7 +3639,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'PublicVerificationKey' | 'PublicEncryptionKey'; } - /** @name DidError (419) */ + /** @name DidError (418) */ interface DidError extends Enum { readonly isInvalidSignatureFormat: boolean; readonly isInvalidSignature: boolean; @@ -3750,13 +3671,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidSignatureFormat' | 'InvalidSignature' | 'DidAlreadyPresent' | 'DidNotPresent' | 'VerificationKeyNotPresent' | 'InvalidNonce' | 'UnsupportedDidAuthorizationCall' | 'InvalidDidAuthorizationCall' | 'MaxKeyAgreementKeysLimitExceeded' | 'MaxPublicKeysPerDidExceeded' | 'MaxTotalKeyAgreementKeysExceeded' | 'BadDidOrigin' | 'TransactionExpired' | 'DidAlreadyDeleted' | 'NotOwnerOfDeposit' | 'UnableToPayFees' | 'MaxNumberOfServicesPerDidExceeded' | 'MaxServiceIdLengthExceeded' | 'MaxServiceTypeLengthExceeded' | 'MaxNumberOfTypesPerServiceExceeded' | 'MaxServiceUrlLengthExceeded' | 'MaxNumberOfUrlsPerServiceExceeded' | 'ServiceAlreadyPresent' | 'ServiceNotPresent' | 'InvalidServiceEncoding' | 'StoredEndpointsCountTooLarge' | 'InternalError'; } - /** @name PalletDidLookupConnectionRecord (420) */ + /** @name PalletDidLookupConnectionRecord (419) */ interface PalletDidLookupConnectionRecord extends Struct { readonly did: AccountId32; readonly deposit: KiltSupportDeposit; } - /** @name PalletDidLookupError (422) */ + /** @name PalletDidLookupError (421) */ interface PalletDidLookupError extends Enum { readonly isAssociationNotFound: boolean; readonly isNotAuthorized: boolean; @@ -3765,14 +3686,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'AssociationNotFound' | 'NotAuthorized' | 'OutdatedProof' | 'InsufficientFunds'; } - /** @name PalletWeb3NamesWeb3NameWeb3NameOwnership (423) */ + /** @name PalletWeb3NamesWeb3NameWeb3NameOwnership (422) */ interface PalletWeb3NamesWeb3NameWeb3NameOwnership extends Struct { readonly owner: AccountId32; readonly claimedAt: u64; readonly deposit: KiltSupportDeposit; } - /** @name PalletWeb3NamesError (424) */ + /** @name PalletWeb3NamesError (423) */ interface PalletWeb3NamesError extends Enum { readonly isInsufficientFunds: boolean; readonly isWeb3NameAlreadyClaimed: boolean; @@ -3790,7 +3711,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InsufficientFunds' | 'Web3NameAlreadyClaimed' | 'Web3NameNotFound' | 'OwnerAlreadyExists' | 'OwnerNotFound' | 'Web3NameBanned' | 'Web3NameNotBanned' | 'Web3NameAlreadyBanned' | 'NotAuthorized' | 'Web3NameTooShort' | 'Web3NameTooLong' | 'InvalidWeb3NameCharacter' | 'Unauthorized'; } - /** @name PublicCredentialsCredentialsCredentialEntry (426) */ + /** @name PublicCredentialsCredentialsCredentialEntry (425) */ interface PublicCredentialsCredentialsCredentialEntry extends Struct { readonly ctypeHash: H256; readonly attester: AccountId32; @@ -3800,7 +3721,7 @@ declare module '@polkadot/types/lookup' { readonly authorizationId: Option; } - /** @name PublicCredentialsError (427) */ + /** @name PublicCredentialsError (426) */ interface PublicCredentialsError extends Enum { readonly isCredentialAlreadyIssued: boolean; readonly isCredentialNotFound: boolean; @@ -3811,13 +3732,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'CredentialAlreadyIssued' | 'CredentialNotFound' | 'UnableToPayFees' | 'InvalidInput' | 'Unauthorized' | 'InternalError'; } - /** @name PolkadotPrimitivesV2UpgradeRestriction (429) */ + /** @name PolkadotPrimitivesV2UpgradeRestriction (428) */ interface PolkadotPrimitivesV2UpgradeRestriction extends Enum { readonly isPresent: boolean; readonly type: 'Present'; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (430) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (429) */ interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { readonly dmqMqcHead: H256; readonly relayDispatchQueueSize: ITuple<[u32, u32]>; @@ -3825,7 +3746,7 @@ declare module '@polkadot/types/lookup' { readonly egressChannels: Vec>; } - /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (434) */ + /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (433) */ interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct { readonly maxCapacity: u32; readonly maxTotalSize: u32; @@ -3835,7 +3756,7 @@ declare module '@polkadot/types/lookup' { readonly mqcHead: Option; } - /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (435) */ + /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (434) */ interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct { readonly maxCodeSize: u32; readonly maxHeadDataSize: u32; @@ -3848,13 +3769,13 @@ declare module '@polkadot/types/lookup' { readonly validationUpgradeDelay: u32; } - /** @name PolkadotCorePrimitivesOutboundHrmpMessage (441) */ + /** @name PolkadotCorePrimitivesOutboundHrmpMessage (440) */ interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { readonly recipient: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemError (442) */ + /** @name CumulusPalletParachainSystemError (441) */ interface CumulusPalletParachainSystemError extends Enum { readonly isOverlappingUpgrades: boolean; readonly isProhibitedByPolkadot: boolean; @@ -3867,21 +3788,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized'; } - /** @name CumulusPalletXcmpQueueInboundChannelDetails (444) */ + /** @name CumulusPalletXcmpQueueInboundChannelDetails (443) */ interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct { readonly sender: u32; readonly state: CumulusPalletXcmpQueueInboundState; readonly messageMetadata: Vec>; } - /** @name CumulusPalletXcmpQueueInboundState (445) */ + /** @name CumulusPalletXcmpQueueInboundState (444) */ interface CumulusPalletXcmpQueueInboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name PolkadotParachainPrimitivesXcmpMessageFormat (448) */ + /** @name PolkadotParachainPrimitivesXcmpMessageFormat (447) */ interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum { readonly isConcatenatedVersionedXcm: boolean; readonly isConcatenatedEncodedBlob: boolean; @@ -3889,7 +3810,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals'; } - /** @name CumulusPalletXcmpQueueOutboundChannelDetails (451) */ + /** @name CumulusPalletXcmpQueueOutboundChannelDetails (450) */ interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct { readonly recipient: u32; readonly state: CumulusPalletXcmpQueueOutboundState; @@ -3898,24 +3819,24 @@ declare module '@polkadot/types/lookup' { readonly lastIndex: u16; } - /** @name CumulusPalletXcmpQueueOutboundState (452) */ + /** @name CumulusPalletXcmpQueueOutboundState (451) */ interface CumulusPalletXcmpQueueOutboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name CumulusPalletXcmpQueueQueueConfigData (454) */ + /** @name CumulusPalletXcmpQueueQueueConfigData (453) */ interface CumulusPalletXcmpQueueQueueConfigData extends Struct { readonly suspendThreshold: u32; readonly dropThreshold: u32; readonly resumeThreshold: u32; - readonly thresholdWeight: Weight; - readonly weightRestrictDecay: Weight; - readonly xcmpMaxIndividualWeight: Weight; + readonly thresholdWeight: SpWeightsWeightV2Weight; + readonly weightRestrictDecay: SpWeightsWeightV2Weight; + readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight; } - /** @name CumulusPalletXcmpQueueError (456) */ + /** @name CumulusPalletXcmpQueueError (455) */ interface CumulusPalletXcmpQueueError extends Enum { readonly isFailedToSend: boolean; readonly isBadXcmOrigin: boolean; @@ -3925,7 +3846,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit'; } - /** @name PalletXcmError (457) */ + /** @name PalletXcmError (456) */ interface PalletXcmError extends Enum { readonly isUnreachable: boolean; readonly isSendFailure: boolean; @@ -3943,47 +3864,47 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed'; } - /** @name CumulusPalletXcmError (458) */ + /** @name CumulusPalletXcmError (457) */ type CumulusPalletXcmError = Null; - /** @name CumulusPalletDmpQueueConfigData (459) */ + /** @name CumulusPalletDmpQueueConfigData (458) */ interface CumulusPalletDmpQueueConfigData extends Struct { - readonly maxIndividual: Weight; + readonly maxIndividual: SpWeightsWeightV2Weight; } - /** @name CumulusPalletDmpQueuePageIndexData (460) */ + /** @name CumulusPalletDmpQueuePageIndexData (459) */ interface CumulusPalletDmpQueuePageIndexData extends Struct { readonly beginUsed: u32; readonly endUsed: u32; readonly overweightCount: u64; } - /** @name CumulusPalletDmpQueueError (463) */ + /** @name CumulusPalletDmpQueueError (462) */ interface CumulusPalletDmpQueueError extends Enum { readonly isUnknown: boolean; readonly isOverLimit: boolean; readonly type: 'Unknown' | 'OverLimit'; } - /** @name FrameSystemExtensionsCheckNonZeroSender (466) */ + /** @name FrameSystemExtensionsCheckNonZeroSender (465) */ type FrameSystemExtensionsCheckNonZeroSender = Null; - /** @name FrameSystemExtensionsCheckSpecVersion (467) */ + /** @name FrameSystemExtensionsCheckSpecVersion (466) */ type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckTxVersion (468) */ + /** @name FrameSystemExtensionsCheckTxVersion (467) */ type FrameSystemExtensionsCheckTxVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (469) */ + /** @name FrameSystemExtensionsCheckGenesis (468) */ type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (472) */ - interface FrameSystemExtensionsCheckNonce extends Compact { } + /** @name FrameSystemExtensionsCheckNonce (471) */ + interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (473) */ + /** @name FrameSystemExtensionsCheckWeight (472) */ type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTransactionPaymentChargeTransactionPayment (474) */ - interface PalletTransactionPaymentChargeTransactionPayment extends Compact { } + /** @name PalletTransactionPaymentChargeTransactionPayment (473) */ + interface PalletTransactionPaymentChargeTransactionPayment extends Compact {} } // declare module diff --git a/packages/type-definitions/src/index.ts b/packages/type-definitions/src/index.ts index 481a07245..b709d60aa 100644 --- a/packages/type-definitions/src/index.ts +++ b/packages/type-definitions/src/index.ts @@ -50,7 +50,7 @@ export { types10720, types10800, types10900, - types10900 as types, + types10800 as types, } export { calls as didCalls } from './runtime/did.js' From 1dd2744aca817bc7a3c2fac2e79f577a0dda1124 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> Date: Tue, 7 Feb 2023 05:50:31 -0500 Subject: [PATCH 03/52] fix: align dependency versions (#713) * chore: unify cbor deps * chore: unify @polkadot/keyring deps * chore: set polkadot utils versions to minimum required by (minimum) api version * chore: align @types/websocket dependency * chore: align websocket dep --- docs/package.json | 6 ++-- packages/augment-api/package.json | 4 +-- packages/chain-helpers/package.json | 2 +- packages/core/package.json | 6 ++-- packages/did/package.json | 8 ++--- packages/messaging/package.json | 2 +- packages/testing/package.json | 6 ++-- packages/types/package.json | 6 ++-- packages/utils/package.json | 6 ++-- packages/vc-export/package.json | 4 +-- yarn.lock | 56 ++++++++++++++--------------- 11 files changed, 53 insertions(+), 53 deletions(-) diff --git a/docs/package.json b/docs/package.json index d3de43ce7..be3d4cdb2 100644 --- a/docs/package.json +++ b/docs/package.json @@ -17,11 +17,11 @@ "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "dependencies": { "@kiltprotocol/sdk-js": "workspace:*", - "@polkadot/keyring": "^10.0.0", + "@polkadot/keyring": "^10.2.1", "@polkadot/types": "^9.10.2", - "@polkadot/util": "^10.0.0", + "@polkadot/util": "^10.2.1", "typescript-logging": "^0.6.4", - "@polkadot/util-crypto": "^10.0.0", + "@polkadot/util-crypto": "^10.2.1", "testcontainers": "^8.6.1" } } \ No newline at end of file diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 7ff8b1a29..25b1280b0 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -38,12 +38,12 @@ "devDependencies": { "@polkadot/api": "^9.10.2", "@polkadot/typegen": "^9.10.2", - "@types/websocket": "^1.0.0", + "@types/websocket": "^1.0.5", "glob": "^7.1.1", "rimraf": "^3.0.2", "ts-node": "^10.4.0", "typescript": "^4.8.3", - "websocket": "^1.0.31", + "websocket": "^1.0.34", "yargs": "^16.2.0" }, "dependencies": { diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 6d40771eb..2fc8ef38d 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -31,7 +31,7 @@ "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "devDependencies": { "@kiltprotocol/testing": "workspace:*", - "@polkadot/keyring": "^10.0.0", + "@polkadot/keyring": "^10.2.1", "rimraf": "^3.0.2", "typescript": "^4.8.3" }, diff --git a/packages/core/package.json b/packages/core/package.json index e04e5539a..aeac23038 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -46,10 +46,10 @@ "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", "@polkadot/api": "^9.10.2", - "@polkadot/keyring": "^10.0.0", + "@polkadot/keyring": "^10.2.1", "@polkadot/types": "^9.10.2", - "@polkadot/util": "^10.0.0", - "@polkadot/util-crypto": "^10.0.0", + "@polkadot/util": "^10.2.1", + "@polkadot/util-crypto": "^10.2.1", "cbor": "^8.1.0" } } diff --git a/packages/did/package.json b/packages/did/package.json index d41cdb12e..fe3d92312 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -40,11 +40,11 @@ "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", "@polkadot/api": "^9.10.2", - "@polkadot/keyring": "^10.0.0", + "@polkadot/keyring": "^10.2.1", "@polkadot/types": "^9.10.2", "@polkadot/types-codec": "^9.10.2", - "@polkadot/util": "^10.0.0", - "@polkadot/util-crypto": "^10.0.0", - "cbor": "^8.0.2" + "@polkadot/util": "^10.2.1", + "@polkadot/util-crypto": "^10.2.1", + "cbor": "^8.1.0" } } diff --git a/packages/messaging/package.json b/packages/messaging/package.json index e662503c2..5bb33a085 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -39,6 +39,6 @@ "@kiltprotocol/did": "workspace:*", "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", - "@polkadot/util": "^10.0.0" + "@polkadot/util": "^10.2.1" } } diff --git a/packages/testing/package.json b/packages/testing/package.json index 06f8da846..555447c87 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -38,10 +38,10 @@ "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", "@polkadot/api": "^9.10.2", - "@polkadot/keyring": "^10.0.0", + "@polkadot/keyring": "^10.2.1", "@polkadot/types": "^9.10.2", - "@polkadot/util": "^10.0.0", - "@polkadot/util-crypto": "^10.0.0" + "@polkadot/util": "^10.2.1", + "@polkadot/util-crypto": "^10.2.1" }, "devDependencies": { "rimraf": "^3.0.2", diff --git a/packages/types/package.json b/packages/types/package.json index 0b38e40af..858cdada3 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -31,10 +31,10 @@ "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "dependencies": { "@polkadot/api": "^9.10.2", - "@polkadot/keyring": "^10.0.0", + "@polkadot/keyring": "^10.2.1", "@polkadot/types": "^9.10.2", - "@polkadot/util": "^10.0.0", - "@polkadot/util-crypto": "^10.0.0" + "@polkadot/util": "^10.2.1", + "@polkadot/util-crypto": "^10.2.1" }, "devDependencies": { "rimraf": "^3.0.2", diff --git a/packages/utils/package.json b/packages/utils/package.json index 72daf8c3e..5d78163e3 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -36,9 +36,9 @@ "dependencies": { "@kiltprotocol/types": "workspace:*", "@polkadot/api": "^9.10.2", - "@polkadot/keyring": "^10.0.0", - "@polkadot/util": "^10.0.0", - "@polkadot/util-crypto": "^10.0.0", + "@polkadot/keyring": "^10.2.1", + "@polkadot/util": "^10.2.1", + "@polkadot/util-crypto": "^10.2.1", "tweetnacl": "^1.0.3", "uuid": "^9.0.0" } diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 863bd7fc6..836be4af7 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -43,8 +43,8 @@ "@kiltprotocol/utils": "workspace:*", "@polkadot/api": "^9.10.2", "@polkadot/types": "^9.10.2", - "@polkadot/util": "^10.0.0", - "@polkadot/util-crypto": "^10.0.0", + "@polkadot/util": "^10.2.1", + "@polkadot/util-crypto": "^10.2.1", "jsonld": "^2.0.2", "jsonld-signatures": "^5.0.0", "vc-js": "^0.6.4" diff --git a/yarn.lock b/yarn.lock index ec200b426..6d77dc665 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1849,12 +1849,12 @@ __metadata: "@kiltprotocol/type-definitions": "workspace:*" "@polkadot/api": ^9.10.2 "@polkadot/typegen": ^9.10.2 - "@types/websocket": ^1.0.0 + "@types/websocket": ^1.0.5 glob: ^7.1.1 rimraf: ^3.0.2 ts-node: ^10.4.0 typescript: ^4.8.3 - websocket: ^1.0.31 + websocket: ^1.0.34 yargs: ^16.2.0 languageName: unknown linkType: soft @@ -1868,7 +1868,7 @@ __metadata: "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.0.0 + "@polkadot/keyring": ^10.2.1 "@polkadot/types": ^9.10.2 rimraf: ^3.0.2 typescript: ^4.8.3 @@ -1902,10 +1902,10 @@ __metadata: "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.0.0 + "@polkadot/keyring": ^10.2.1 "@polkadot/types": ^9.10.2 - "@polkadot/util": ^10.0.0 - "@polkadot/util-crypto": ^10.0.0 + "@polkadot/util": ^10.2.1 + "@polkadot/util-crypto": ^10.2.1 "@types/uuid": ^8.0.0 cbor: ^8.1.0 rimraf: ^3.0.2 @@ -1924,12 +1924,12 @@ __metadata: "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.0.0 + "@polkadot/keyring": ^10.2.1 "@polkadot/types": ^9.10.2 "@polkadot/types-codec": ^9.10.2 - "@polkadot/util": ^10.0.0 - "@polkadot/util-crypto": ^10.0.0 - cbor: ^8.0.2 + "@polkadot/util": ^10.2.1 + "@polkadot/util-crypto": ^10.2.1 + cbor: ^8.1.0 rimraf: ^3.0.2 typescript: ^4.8.3 languageName: unknown @@ -1944,7 +1944,7 @@ __metadata: "@kiltprotocol/testing": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - "@polkadot/util": ^10.0.0 + "@polkadot/util": ^10.2.1 rimraf: ^3.0.2 typescript: ^4.8.3 languageName: unknown @@ -1986,10 +1986,10 @@ __metadata: "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.0.0 + "@polkadot/keyring": ^10.2.1 "@polkadot/types": ^9.10.2 - "@polkadot/util": ^10.0.0 - "@polkadot/util-crypto": ^10.0.0 + "@polkadot/util": ^10.2.1 + "@polkadot/util-crypto": ^10.2.1 rimraf: ^3.0.2 typescript: ^4.8.3 languageName: unknown @@ -2009,10 +2009,10 @@ __metadata: resolution: "@kiltprotocol/types@workspace:packages/types" dependencies: "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.0.0 + "@polkadot/keyring": ^10.2.1 "@polkadot/types": ^9.10.2 - "@polkadot/util": ^10.0.0 - "@polkadot/util-crypto": ^10.0.0 + "@polkadot/util": ^10.2.1 + "@polkadot/util-crypto": ^10.2.1 rimraf: ^3.0.2 typescript: ^4.8.3 languageName: unknown @@ -2024,9 +2024,9 @@ __metadata: dependencies: "@kiltprotocol/types": "workspace:*" "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.0.0 - "@polkadot/util": ^10.0.0 - "@polkadot/util-crypto": ^10.0.0 + "@polkadot/keyring": ^10.2.1 + "@polkadot/util": ^10.2.1 + "@polkadot/util-crypto": ^10.2.1 rimraf: ^3.0.2 tweetnacl: ^1.0.3 typescript: ^4.8.3 @@ -2046,8 +2046,8 @@ __metadata: "@kiltprotocol/utils": "workspace:*" "@polkadot/api": ^9.10.2 "@polkadot/types": ^9.10.2 - "@polkadot/util": ^10.0.0 - "@polkadot/util-crypto": ^10.0.0 + "@polkadot/util": ^10.2.1 + "@polkadot/util-crypto": ^10.2.1 "@types/jsonld": 1.5.1 jsonld: ^2.0.2 jsonld-signatures: ^5.0.0 @@ -2201,7 +2201,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/keyring@npm:^10.0.0, @polkadot/keyring@npm:^10.2.1": +"@polkadot/keyring@npm:^10.2.1": version: 10.2.1 resolution: "@polkadot/keyring@npm:10.2.1" dependencies: @@ -2380,7 +2380,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/util-crypto@npm:10.2.1, @polkadot/util-crypto@npm:^10.0.0, @polkadot/util-crypto@npm:^10.2.1": +"@polkadot/util-crypto@npm:10.2.1, @polkadot/util-crypto@npm:^10.2.1": version: 10.2.1 resolution: "@polkadot/util-crypto@npm:10.2.1" dependencies: @@ -2401,7 +2401,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/util@npm:10.2.1, @polkadot/util@npm:^10.0.0, @polkadot/util@npm:^10.2.1": +"@polkadot/util@npm:10.2.1, @polkadot/util@npm:^10.2.1": version: 10.2.1 resolution: "@polkadot/util@npm:10.2.1" dependencies: @@ -2935,7 +2935,7 @@ __metadata: languageName: node linkType: hard -"@types/websocket@npm:^1.0.0, @types/websocket@npm:^1.0.5": +"@types/websocket@npm:^1.0.5": version: 1.0.5 resolution: "@types/websocket@npm:1.0.5" dependencies: @@ -4150,7 +4150,7 @@ __metadata: languageName: node linkType: hard -"cbor@npm:^8.0.2, cbor@npm:^8.1.0": +"cbor@npm:^8.1.0": version: 8.1.0 resolution: "cbor@npm:8.1.0" dependencies: @@ -10726,7 +10726,7 @@ typescript@^4.8.3: languageName: node linkType: hard -"websocket@npm:^1.0.31, websocket@npm:^1.0.34": +"websocket@npm:^1.0.34": version: 1.0.34 resolution: "websocket@npm:1.0.34" dependencies: From b38d1ae4ecf7cb209be36f2360cb420fc7d0fb78 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> Date: Tue, 7 Feb 2023 04:23:04 -0500 Subject: [PATCH 04/52] feat: add did contexts (#712) * feat: static copy of DID json-ld contexts * test: update tests * chore: use shorter ipfs URL --- .../src/DidDocumentExporter/DidContexts.ts | 196 ++++++++++++++++++ .../DidDocumentExporter.spec.ts | 4 +- .../DidDocumentExporter.ts | 3 +- packages/did/src/DidDocumentExporter/index.ts | 1 + 4 files changed, 202 insertions(+), 2 deletions(-) create mode 100644 packages/did/src/DidDocumentExporter/DidContexts.ts diff --git a/packages/did/src/DidDocumentExporter/DidContexts.ts b/packages/did/src/DidDocumentExporter/DidContexts.ts new file mode 100644 index 000000000..dd3d86ce1 --- /dev/null +++ b/packages/did/src/DidDocumentExporter/DidContexts.ts @@ -0,0 +1,196 @@ +/** + * Copyright (c) 2018-2023, BOTLabs GmbH. + * + * This source code is licensed under the BSD 4-Clause "Original" license + * found in the LICENSE file in the root directory of this source tree. + */ + +/** + * IPFS URL identifying a JSON-LD context file describing terms used in DID documents of the KILT method that are not defined in the W3C DID core context. + * Should be the second entry in the ordered set of contexts after [[W3C_DID_CONTEXT_URL]] in the JSON-LD representation of a KILT DID document. + */ +export const KILT_DID_CONTEXT_URL = + 'ipfs://QmU7QkuTCPz7NmD5bD7Z7mQVz2UsSPaEK58B5sYnjnPRNW' +/** + * URL identifying the JSON-LD context file that is part of the W3C DID core specifications describing the terms defined by the core data model. + * Must be the first entry in the ordered set of contexts in a JSON-LD representation of a DID document. + * See https://www.w3.org/TR/did-core/#json-ld. + */ +export const W3C_DID_CONTEXT_URL = 'https://www.w3.org/ns/did/v1' +/** + * URL identifying a JSON-LD context file proposed by the W3C Credentials Community Group defining a number of terms which are used in verification methods on KILT DID documents. + * See https://w3c-ccg.github.io/security-vocab/. + * This document is extended by the context file available under the [[KILT_DID_CONTEXT_URL]]. + */ +export const W3C_SECURITY_CONTEXT_URI = 'https://w3id.org/security/v2' +/** + * An object containing static copies of JSON-LD context files relevant to KILT DID documents, of the form -> context. + * These context definitions are not supposed to change; therefore, a cached version can (and should) be used to avoid unexpected changes in definitions. + */ +export const DID_CONTEXTS = { + [KILT_DID_CONTEXT_URL]: { + '@context': [ + W3C_SECURITY_CONTEXT_URI, + { + '@protected': true, + KiltPublishedCredentialCollectionV1: + 'https://github.com/KILTprotocol/spec-KiltPublishedCredentialCollectionV1', + Sr25519VerificationKey2020: + 'https://github.com/KILTprotocol/spec-kilt-did#sr25519', + }, + ], + }, + [W3C_DID_CONTEXT_URL]: { + '@context': { + '@protected': true, + id: '@id', + type: '@type', + + alsoKnownAs: { + '@id': 'https://www.w3.org/ns/activitystreams#alsoKnownAs', + '@type': '@id', + }, + assertionMethod: { + '@id': 'https://w3id.org/security#assertionMethod', + '@type': '@id', + '@container': '@set', + }, + authentication: { + '@id': 'https://w3id.org/security#authenticationMethod', + '@type': '@id', + '@container': '@set', + }, + capabilityDelegation: { + '@id': 'https://w3id.org/security#capabilityDelegationMethod', + '@type': '@id', + '@container': '@set', + }, + capabilityInvocation: { + '@id': 'https://w3id.org/security#capabilityInvocationMethod', + '@type': '@id', + '@container': '@set', + }, + controller: { + '@id': 'https://w3id.org/security#controller', + '@type': '@id', + }, + keyAgreement: { + '@id': 'https://w3id.org/security#keyAgreementMethod', + '@type': '@id', + '@container': '@set', + }, + service: { + '@id': 'https://www.w3.org/ns/did#service', + '@type': '@id', + '@context': { + '@protected': true, + id: '@id', + type: '@type', + serviceEndpoint: { + '@id': 'https://www.w3.org/ns/did#serviceEndpoint', + '@type': '@id', + }, + }, + }, + verificationMethod: { + '@id': 'https://w3id.org/security#verificationMethod', + '@type': '@id', + }, + }, + }, + [W3C_SECURITY_CONTEXT_URI]: { + '@context': [ + { + '@version': 1.1, + }, + 'https://w3id.org/security/v1', + { + AesKeyWrappingKey2019: 'sec:AesKeyWrappingKey2019', + DeleteKeyOperation: 'sec:DeleteKeyOperation', + DeriveSecretOperation: 'sec:DeriveSecretOperation', + EcdsaSecp256k1Signature2019: 'sec:EcdsaSecp256k1Signature2019', + EcdsaSecp256r1Signature2019: 'sec:EcdsaSecp256r1Signature2019', + EcdsaSecp256k1VerificationKey2019: + 'sec:EcdsaSecp256k1VerificationKey2019', + EcdsaSecp256r1VerificationKey2019: + 'sec:EcdsaSecp256r1VerificationKey2019', + Ed25519Signature2018: 'sec:Ed25519Signature2018', + Ed25519VerificationKey2018: 'sec:Ed25519VerificationKey2018', + EquihashProof2018: 'sec:EquihashProof2018', + ExportKeyOperation: 'sec:ExportKeyOperation', + GenerateKeyOperation: 'sec:GenerateKeyOperation', + KmsOperation: 'sec:KmsOperation', + RevokeKeyOperation: 'sec:RevokeKeyOperation', + RsaSignature2018: 'sec:RsaSignature2018', + RsaVerificationKey2018: 'sec:RsaVerificationKey2018', + Sha256HmacKey2019: 'sec:Sha256HmacKey2019', + SignOperation: 'sec:SignOperation', + UnwrapKeyOperation: 'sec:UnwrapKeyOperation', + VerifyOperation: 'sec:VerifyOperation', + WrapKeyOperation: 'sec:WrapKeyOperation', + X25519KeyAgreementKey2019: 'sec:X25519KeyAgreementKey2019', + + allowedAction: 'sec:allowedAction', + assertionMethod: { + '@id': 'sec:assertionMethod', + '@type': '@id', + '@container': '@set', + }, + authentication: { + '@id': 'sec:authenticationMethod', + '@type': '@id', + '@container': '@set', + }, + capability: { '@id': 'sec:capability', '@type': '@id' }, + capabilityAction: 'sec:capabilityAction', + capabilityChain: { + '@id': 'sec:capabilityChain', + '@type': '@id', + '@container': '@list', + }, + capabilityDelegation: { + '@id': 'sec:capabilityDelegationMethod', + '@type': '@id', + '@container': '@set', + }, + capabilityInvocation: { + '@id': 'sec:capabilityInvocationMethod', + '@type': '@id', + '@container': '@set', + }, + caveat: { '@id': 'sec:caveat', '@type': '@id', '@container': '@set' }, + challenge: 'sec:challenge', + ciphertext: 'sec:ciphertext', + controller: { '@id': 'sec:controller', '@type': '@id' }, + delegator: { '@id': 'sec:delegator', '@type': '@id' }, + equihashParameterK: { + '@id': 'sec:equihashParameterK', + '@type': 'xsd:integer', + }, + equihashParameterN: { + '@id': 'sec:equihashParameterN', + '@type': 'xsd:integer', + }, + invocationTarget: { '@id': 'sec:invocationTarget', '@type': '@id' }, + invoker: { '@id': 'sec:invoker', '@type': '@id' }, + jws: 'sec:jws', + keyAgreement: { + '@id': 'sec:keyAgreementMethod', + '@type': '@id', + '@container': '@set', + }, + kmsModule: { '@id': 'sec:kmsModule' }, + parentCapability: { '@id': 'sec:parentCapability', '@type': '@id' }, + plaintext: 'sec:plaintext', + proof: { '@id': 'sec:proof', '@type': '@id', '@container': '@graph' }, + proofPurpose: { '@id': 'sec:proofPurpose', '@type': '@vocab' }, + proofValue: 'sec:proofValue', + referenceId: 'sec:referenceId', + unwrappedKey: 'sec:unwrappedKey', + verificationMethod: { '@id': 'sec:verificationMethod', '@type': '@id' }, + verifyData: 'sec:verifyData', + wrappedKey: 'sec:wrappedKey', + }, + ], + }, +} diff --git a/packages/did/src/DidDocumentExporter/DidDocumentExporter.spec.ts b/packages/did/src/DidDocumentExporter/DidDocumentExporter.spec.ts index 846962b2c..943c28ac6 100644 --- a/packages/did/src/DidDocumentExporter/DidDocumentExporter.spec.ts +++ b/packages/did/src/DidDocumentExporter/DidDocumentExporter.spec.ts @@ -19,6 +19,7 @@ import type { import { exportToDidDocument } from './DidDocumentExporter.js' import * as Did from '../index.js' +import { KILT_DID_CONTEXT_URL, W3C_DID_CONTEXT_URL } from '../index.js' /** * @group unit/did @@ -138,7 +139,7 @@ describe('When exporting a DID Document from a full DID', () => { const didDoc = exportToDidDocument(fullDid, 'application/ld+json') expect(didDoc).toStrictEqual({ - '@context': ['https://www.w3.org/ns/did/v1'], + '@context': [W3C_DID_CONTEXT_URL, KILT_DID_CONTEXT_URL], id: 'did:kilt:4r1WkS3t8rbCb11H8t3tJvGVCynwDXSUBiuGB6sLRHzCLCjs', verificationMethod: [ { @@ -267,6 +268,7 @@ describe('When exporting a DID Document from a light DID', () => { Object { "@context": Array [ "https://www.w3.org/ns/did/v1", + "ipfs://QmU7QkuTCPz7NmD5bD7Z7mQVz2UsSPaEK58B5sYnjnPRNW", ], "authentication": Array [ "#authentication", diff --git a/packages/did/src/DidDocumentExporter/DidDocumentExporter.ts b/packages/did/src/DidDocumentExporter/DidDocumentExporter.ts index 75b24744f..f2103fde4 100644 --- a/packages/did/src/DidDocumentExporter/DidDocumentExporter.ts +++ b/packages/did/src/DidDocumentExporter/DidDocumentExporter.ts @@ -18,6 +18,7 @@ import { verificationKeyTypesMap, } from '@kiltprotocol/types' import { SDKErrors } from '@kiltprotocol/utils' +import { KILT_DID_CONTEXT_URL, W3C_DID_CONTEXT_URL } from './DidContexts.js' function exportToJsonDidDocument(did: DidDocument): ConformingDidDocument { const { @@ -77,7 +78,7 @@ function exportToJsonDidDocument(did: DidDocument): ConformingDidDocument { function exportToJsonLdDidDocument(did: DidDocument): JsonLDDidDocument { const document = exportToJsonDidDocument(did) - document['@context'] = ['https://www.w3.org/ns/did/v1'] + document['@context'] = [W3C_DID_CONTEXT_URL, KILT_DID_CONTEXT_URL] return document as JsonLDDidDocument } diff --git a/packages/did/src/DidDocumentExporter/index.ts b/packages/did/src/DidDocumentExporter/index.ts index 7f1f3617b..3243aecb8 100644 --- a/packages/did/src/DidDocumentExporter/index.ts +++ b/packages/did/src/DidDocumentExporter/index.ts @@ -6,3 +6,4 @@ */ export * from './DidDocumentExporter.js' +export * from './DidContexts.js' From a3d0be134e0f5456b4f3522b8cb2fb2f6c2cc38b Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 7 Feb 2023 09:57:14 -0500 Subject: [PATCH 05/52] chore: rename URI to URL --- packages/did/src/DidDocumentExporter/DidContexts.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/did/src/DidDocumentExporter/DidContexts.ts b/packages/did/src/DidDocumentExporter/DidContexts.ts index dd3d86ce1..677fc4960 100644 --- a/packages/did/src/DidDocumentExporter/DidContexts.ts +++ b/packages/did/src/DidDocumentExporter/DidContexts.ts @@ -22,7 +22,7 @@ export const W3C_DID_CONTEXT_URL = 'https://www.w3.org/ns/did/v1' * See https://w3c-ccg.github.io/security-vocab/. * This document is extended by the context file available under the [[KILT_DID_CONTEXT_URL]]. */ -export const W3C_SECURITY_CONTEXT_URI = 'https://w3id.org/security/v2' +export const W3C_SECURITY_CONTEXT_URL = 'https://w3id.org/security/v2' /** * An object containing static copies of JSON-LD context files relevant to KILT DID documents, of the form -> context. * These context definitions are not supposed to change; therefore, a cached version can (and should) be used to avoid unexpected changes in definitions. @@ -30,7 +30,7 @@ export const W3C_SECURITY_CONTEXT_URI = 'https://w3id.org/security/v2' export const DID_CONTEXTS = { [KILT_DID_CONTEXT_URL]: { '@context': [ - W3C_SECURITY_CONTEXT_URI, + W3C_SECURITY_CONTEXT_URL, { '@protected': true, KiltPublishedCredentialCollectionV1: @@ -98,7 +98,7 @@ export const DID_CONTEXTS = { }, }, }, - [W3C_SECURITY_CONTEXT_URI]: { + [W3C_SECURITY_CONTEXT_URL]: { '@context': [ { '@version': 1.1, From 7f0d8eb3e18a029cab6c9e15e191823fcbd098b8 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 7 Feb 2023 11:00:50 -0500 Subject: [PATCH 06/52] chore: v0.31.0-rc.2 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 566cd3705..4a97ab35e 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 148f7d5df..7cd34d729 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 25b1280b0..b293f4611 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 2fc8ef38d..6fd96c8dd 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 95f52658d..fba87ad75 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index aeac23038..42080578e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index fe3d92312..0d998e2b9 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 5bb33a085..7c4df3a0a 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index b48dca21a..3b9238c94 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index 555447c87..b13f7d67c 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index bc18d857c..63ebb738a 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 858cdada3..8727775bc 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 5d78163e3..d1f966d7e 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 836be4af7..b87ebbda3 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.31.0-rc.1", + "version": "0.31.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From e0b95e5d77d07dce6800da2438b373659cb98b1e Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Wed, 8 Feb 2023 13:40:26 -0500 Subject: [PATCH 07/52] chore: version 0.31.0 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 4a97ab35e..b3dabdef8 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.31.0-rc.2", + "version": "0.31.0", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 7cd34d729..ac11535ab 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index b293f4611..2acacfbb3 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 6fd96c8dd..a3c188286 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index fba87ad75..7fbce323f 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 42080578e..f3d69719d 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 0d998e2b9..99e32eff0 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 7c4df3a0a..857d866d0 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 3b9238c94..92dcac97e 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index b13f7d67c..3f0831625 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 63ebb738a..781c7ea17 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 8727775bc..b5819db5b 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index d1f966d7e..6cc2008cc 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index b87ebbda3..7082d2c97 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.31.0-rc.2", + "version": "0.31.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From 72c8cdbb57ce3ebec507d82fb607347a7764bfb6 Mon Sep 17 00:00:00 2001 From: Antonio Date: Mon, 13 Feb 2023 16:12:28 +0100 Subject: [PATCH 08/52] fix: jsdocs for public credential fetch* functions (#723) Update JSDocs for public credential fetch* functions --- .../src/publicCredential/PublicCredential.chain.ts | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/core/src/publicCredential/PublicCredential.chain.ts b/packages/core/src/publicCredential/PublicCredential.chain.ts index cc4488892..2c3b1604e 100644 --- a/packages/core/src/publicCredential/PublicCredential.chain.ts +++ b/packages/core/src/publicCredential/PublicCredential.chain.ts @@ -152,12 +152,11 @@ function extractDidCallsFromBatchCall( } /** - * Decodes the public credential details returned by `api.call.publicCredentials.getById()`. + * Retrieves from the blockchain the [[IPublicCredential]] that is identified by the provided identifier. * * This is the **only** secure way for users to retrieve and verify a credential. - * Hence, calling `api.call.publicCredentials.getById(credentialId)` and then passing the result to this function is the only way to trust that a credential with a given ID is valid. * - * @param credentialId Credential ID to use for the query. It is required to complement the information stored on the blockchain in a [[PublicCredentialsCredentialsCredentialEntry]]. + * @param credentialId Credential ID to use for the query. * @returns The [[IPublicCredential]] as the result of combining the on-chain information and the information present in the tx history. */ export async function fetchCredentialFromChain( @@ -242,13 +241,12 @@ export async function fetchCredentialFromChain( } /** - * Decodes the public credential details returned by `api.call.publicCredentials.getBySubject()`. + * Retrieves from the blockchain the [[IPublicCredential]]s that have been issued to the provided AssetDID. * * This is the **only** secure way for users to retrieve and verify all the credentials issued to a given [[AssetDidUri]]. - * Hence, calling `api.call.publicCredentials.getBySubject(asset_id)` and then passing the result to this function is the only way to trust that the credentials for a given AssetDID are valid. * * @param subject The AssetDID of the subject. - * @returns An array of [[IPublicCredential]] as the result of combining the on-chain information and the information present in the tx history. If the result is an error, it maps it to the right error type. + * @returns An array of [[IPublicCredential]] as the result of combining the on-chain information and the information present in the tx history. */ export async function fetchCredentialsFromChain( subject: AssetDidUri From 1b3b0e75c5deddc5bdf5460323d8c57dd96bfb49 Mon Sep 17 00:00:00 2001 From: Antonio Date: Tue, 14 Feb 2023 16:01:03 +0100 Subject: [PATCH 09/52] fix: light DID decoding logic (#725) * Fix light DID decoding logic * Remove irrelevant resolver unit test * Revert usage of ...rest --- .../did/src/DidDetails/LightDidDetails.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/packages/did/src/DidDetails/LightDidDetails.ts b/packages/did/src/DidDetails/LightDidDetails.ts index 13eafa8b3..62331329b 100644 --- a/packages/did/src/DidDetails/LightDidDetails.ts +++ b/packages/did/src/DidDetails/LightDidDetails.ts @@ -110,7 +110,11 @@ const SERVICES_MAP_KEY = 's' interface SerializableStructure { [KEY_AGREEMENT_MAP_KEY]?: NewDidEncryptionKey - [SERVICES_MAP_KEY]?: Array & { id: string }> + [SERVICES_MAP_KEY]?: Array< + Partial> & { + id: string + } & { types?: string[]; urls?: string[] } // This below was mistakenly not accounted for during the SDK refactor, meaning there are light DIDs that contain these keys in their service endpoints. + > } /** @@ -167,10 +171,15 @@ function deserializeAdditionalLightDidDetails( const keyAgreement = deserialized[KEY_AGREEMENT_MAP_KEY] return { keyAgreement: keyAgreement && [keyAgreement], - service: deserialized[SERVICES_MAP_KEY]?.map(({ id, ...rest }) => ({ - id: `#${id}`, - ...rest, - })), + service: deserialized[SERVICES_MAP_KEY]?.map( + ({ id, type, serviceEndpoint, types, urls }) => ({ + id: `#${id}`, + // types for retro-compatibility + type: (type ?? types) as string[], + // urls for retro-compatibility + serviceEndpoint: (serviceEndpoint ?? urls) as string[], + }) + ), } } From bd35921f8da1e60a923940afb1ff33d25fba1209 Mon Sep 17 00:00:00 2001 From: Antonio Date: Wed, 15 Feb 2023 14:55:18 +0100 Subject: [PATCH 10/52] chore: move DidExporter snippets to docs (#722) * Add placeholder for DidExporter docs * Replace placeholder with actual docs link --- .../did/src/DidDocumentExporter/README.md | 55 +------------------ 1 file changed, 1 insertion(+), 54 deletions(-) diff --git a/packages/did/src/DidDocumentExporter/README.md b/packages/did/src/DidDocumentExporter/README.md index 2fc3653d8..216659f99 100644 --- a/packages/did/src/DidDocumentExporter/README.md +++ b/packages/did/src/DidDocumentExporter/README.md @@ -2,57 +2,4 @@ The DID Document exporter provides the functionality needed to convert an instance of a generic `DidDocument` into a document that is compliant with the [W3C specification](https://www.w3.org/TR/did-core/). This component is required for the KILT plugin for the [DIF Universal Resolver](https://dev.uniresolver.io/). -## How to use the exporter - -The exporter interface and used types are part of the `@kiltprotocol/types` package, while the actual `DidDocumentExporter` is part of this module. The following shows how to use the exporter to generate a DID Document for both a light and a full DID. - -Currently, the exporter supports DID Documents in `application/json` and `application/ld+json` format. - -```typescript -import * as Did from '@kiltprotocol/did' - -import type { - ConformingDidDocument, - DidDocument, -} from '@kiltprotocol/types' - -// Create `DidDocument` with the required information -const lightDid: DidDocument = Did.createLightDidDocument({ ... }) - -const lightDidDocument: ConformingDidDocument = Did.exportToDidDocument( - lightDid, - 'application/json' -) - -// Will print the light DID. -console.log(lightDidDocument.id) - -// Will print all the public keys associated with the light DID. -console.log(lightDidDocument.verificationMethod) - -// Will print all the assertion keys. -console.log(lightDidDocument.assertionMethod) - -// Will print all the encryption keys. -console.log(lightDidDocument.keyAgreement) - -// Will print all the delegation keys. -console.log(lightDidDocument.capabilityDelegation) - -// Will print all the external services referenced inside the `DidDocument` instance. -console.log(lightDidDocument.service) - -// Let's export `DidDocument` using the `application/ld+json` format. - -const fullDid = (await Did.resolve('...'))?.document -if (!fullDid) throw new Error('This DID does not exist or has been deactivated') - -// The document type will be a `JsonLDDidDocument`, which extends the simpler `ConformingDidDocument`. -const fullDidDocument: ConformingDidDocument = Did.exportToDidDocument( - fullDid, - 'application/ld+json' -) - -// The same properties of `ConformingDidDocument` can be accessed, plus a `@context` property required by the JSON-LD specification. -console.log(fullDidDocument['@context']) -``` +For a list of examples and code snippets, please refer to our [official documentation](https://docs.kilt.io/docs/develop/sdk/cookbook/dids/did-export). \ No newline at end of file From 8aeb9625e8923d3227058c9f2862b4ecd2f2b990 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Wed, 15 Feb 2023 16:50:40 -0500 Subject: [PATCH 11/52] chore: fix styling --- packages/did/src/DidDocumentExporter/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/did/src/DidDocumentExporter/README.md b/packages/did/src/DidDocumentExporter/README.md index 216659f99..e9c90965e 100644 --- a/packages/did/src/DidDocumentExporter/README.md +++ b/packages/did/src/DidDocumentExporter/README.md @@ -2,4 +2,4 @@ The DID Document exporter provides the functionality needed to convert an instance of a generic `DidDocument` into a document that is compliant with the [W3C specification](https://www.w3.org/TR/did-core/). This component is required for the KILT plugin for the [DIF Universal Resolver](https://dev.uniresolver.io/). -For a list of examples and code snippets, please refer to our [official documentation](https://docs.kilt.io/docs/develop/sdk/cookbook/dids/did-export). \ No newline at end of file +For a list of examples and code snippets, please refer to our [official documentation](https://docs.kilt.io/docs/develop/sdk/cookbook/dids/did-export). From 046df7ed6bd6c6f63cf2f86419a44844f5cba0fe Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 21 Feb 2023 11:59:55 -0500 Subject: [PATCH 12/52] chore: set version 0.31.1-rc.1 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index b3dabdef8..7015884b7 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.31.0", + "version": "0.31.1-rc.1", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index ac11535ab..b90314704 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 2acacfbb3..e2c5cffb1 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index a3c188286..9d9491abf 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 7fbce323f..0a6520aac 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index f3d69719d..cb5e808d2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 99e32eff0..4a506497a 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 857d866d0..e8d28b1be 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 92dcac97e..e3a304db3 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index 3f0831625..b6cb02e37 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 781c7ea17..59ae91751 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index b5819db5b..006944023 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 6cc2008cc..cd2446152 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 7082d2c97..e09543989 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.31.0", + "version": "0.31.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From b00b16e305da9f73ca6a38a82f56f1c1876a49a3 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Wed, 22 Feb 2023 11:27:08 -0500 Subject: [PATCH 13/52] chore: v0.31.1 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 7015884b7..509b3df4e 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.31.1-rc.1", + "version": "0.31.1", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index b90314704..bc01d1480 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index e2c5cffb1..7b19b1f32 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 9d9491abf..5c1be608d 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 0a6520aac..70ed719c4 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index cb5e808d2..68183626f 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 4a506497a..4a7ece206 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index e8d28b1be..254d10375 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index e3a304db3..d3e8b099a 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index b6cb02e37..98c22a174 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 59ae91751..a1b2d8300 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 006944023..edb622587 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index cd2446152..33694f7b4 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index e09543989..0ffe3c36f 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.31.1-rc.1", + "version": "0.31.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From 3f2785e39633b35e96f5ccf53757fb16107404b1 Mon Sep 17 00:00:00 2001 From: Github Action Date: Tue, 21 Feb 2023 16:22:40 +0000 Subject: [PATCH 14/52] [CI Skip] ci: publish prerelease --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 6009ebfe3..bf83c6085 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.32.0-5", + "version": "0.32.0-6", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index fe3ad5cc8..7939d44d6 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index f0cd9f71b..200d12df5 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 28b6a0eff..aa532b501 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 83d62f9fd..1c2fb28ca 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 122efe505..b11f4e4c0 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index a89f967b1..eedc251ec 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 4997dc8ec..e3fae11e8 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index d337f57fa..6ffbc5ec2 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index a717376d3..f352af1df 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 7755b5156..67233dd1c 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 53f397575..f08543e3e 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 99a8c9944..09a208a5a 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 3af68425c..563f98463 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.32.0-5", + "version": "0.32.0-6", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From ee572c3beed56374f25d65f7c939f64a4830c3bb Mon Sep 17 00:00:00 2001 From: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> Date: Wed, 1 Mar 2023 10:49:17 +0100 Subject: [PATCH 15/52] chore: enable tests for ethereum linking (#724) --- .../AccountLinking.spec.ts | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/packages/core/src/__integrationtests__/AccountLinking.spec.ts b/packages/core/src/__integrationtests__/AccountLinking.spec.ts index 62d855c94..111ce49b1 100644 --- a/packages/core/src/__integrationtests__/AccountLinking.spec.ts +++ b/packages/core/src/__integrationtests__/AccountLinking.spec.ts @@ -149,15 +149,19 @@ describe('When there is an on-chain DID', () => { describe.each(['ed25519', 'sr25519', 'ecdsa', 'ethereum'])( 'and an %s account different than the sender to link', (keyType) => { - // TODO: remove this line to test against ethereum linking enabled chains - const it = keyType === 'ethereum' ? test.skip : test - + let skip = false let keypair: KeyringPair let keypairChain: string beforeAll(async () => { - // TODO: remove this line to test against ethereum linking enabled chains - if (keyType === 'ethereum') return - + if ( + keyType === 'ethereum' && + // @ts-ignore palletVersion exists but is not augmented + (await api.query.didLookup.palletVersion()) < 3 + ) { + console.warn('skipping ethereum tests') + skip = true + return + } const keyTool = makeSigningKeyTool(keyType as KiltKeyringPair['type']) keypair = keyTool.keypair keypairChain = Did.accountToChain(keypair.address) @@ -168,6 +172,9 @@ describe('When there is an on-chain DID', () => { }, 40_000) it('should be possible to associate the account while the sender pays the deposit', async () => { + if (skip) { + return + } const args = await Did.associateAccountToChainArgs( keypair.address, did.uri, @@ -204,6 +211,9 @@ describe('When there is an on-chain DID', () => { expect(queryByAccount.document.uri).toStrictEqual(did.uri) }) it('should be possible to associate the account to a new DID while the sender pays the deposit', async () => { + if (skip) { + return + } const args = await Did.associateAccountToChainArgs( keypair.address, newDid.uri, @@ -237,6 +247,9 @@ describe('When there is an on-chain DID', () => { expect(queryByAccount.document.uri).toStrictEqual(newDid.uri) }) it('should be possible for the DID to remove the link', async () => { + if (skip) { + return + } const removeLinkTx = api.tx.didLookup.removeAccountAssociation(keypairChain) const signedTx = await Did.authorizeTx( From 0a0fe434449d0a079719cb47abaa1351b84e7dea Mon Sep 17 00:00:00 2001 From: Github Action Date: Wed, 1 Mar 2023 11:57:52 +0000 Subject: [PATCH 16/52] [CI Skip] ci: publish prerelease --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index bf83c6085..135372b4e 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.32.0-6", + "version": "0.32.0-7", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 7939d44d6..45d56d8f6 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 200d12df5..dd33a4e53 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index aa532b501..243bd704e 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 1c2fb28ca..0eecfbd65 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index b11f4e4c0..335a7899e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index eedc251ec..749179af5 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index e3fae11e8..cb1b9f3c5 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 6ffbc5ec2..31f368f1f 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index f352af1df..c75fc7543 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 67233dd1c..25859fba8 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index f08543e3e..77eafee4c 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 09a208a5a..fe12547a4 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 563f98463..1d3b64edb 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.32.0-6", + "version": "0.32.0-7", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From 7cbd5656ebeaf5f9674c57641917b55905a5d97a Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Wed, 1 Mar 2023 14:46:11 +0100 Subject: [PATCH 17/52] fix: integration test error matching --- .../src/__integrationtests__/Attestation.spec.ts | 14 ++++++++++---- .../core/src/__integrationtests__/Ctypes.spec.ts | 5 ++++- packages/core/src/__integrationtests__/Did.spec.ts | 8 +++++--- .../src/__integrationtests__/ErrorHandler.spec.ts | 2 +- .../src/__integrationtests__/Web3Names.spec.ts | 2 +- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/packages/core/src/__integrationtests__/Attestation.spec.ts b/packages/core/src/__integrationtests__/Attestation.spec.ts index ea780fe03..206fa3884 100644 --- a/packages/core/src/__integrationtests__/Attestation.spec.ts +++ b/packages/core/src/__integrationtests__/Attestation.spec.ts @@ -89,7 +89,7 @@ describe('handling attestations that do not exist', () => { ) await expect(submitTx(authorized, tokenHolder)).rejects.toMatchObject({ section: 'attestation', - name: 'AttestationNotFound', + name: expect.stringMatching(/^(Attestation)?NotFound$/), }) }, 30_000) @@ -103,7 +103,7 @@ describe('handling attestations that do not exist', () => { ) await expect(submitTx(authorized, tokenHolder)).rejects.toMatchObject({ section: 'attestation', - name: 'AttestationNotFound', + name: expect.stringMatching(/^(Attestation)?NotFound$/), }) }, 30_000) }) @@ -275,7 +275,10 @@ describe('When there is an attester, claimer and ctype drivers license', () => { await expect( submitTx(authorizedStoreTx, tokenHolder) - ).rejects.toMatchObject({ section: 'ctype', name: 'CTypeNotFound' }) + ).rejects.toMatchObject({ + section: 'ctype', + name: expect.stringMatching(/^(CType)?NotFound$/), + }) }, 60_000) describe('when there is a credential on-chain', () => { @@ -367,7 +370,10 @@ describe('When there is an attester, claimer and ctype drivers license', () => { await expect( submitTx(authorizedRevokeTx, tokenHolder) - ).rejects.toMatchObject({ section: 'attestation', name: 'Unauthorized' }) + ).rejects.toMatchObject({ + section: 'attestation', + name: expect.stringMatching(/^(Unauthorized|NotAuthorized)$/), + }) const storedAttestation = Attestation.fromChain( await api.query.attestation.attestations(attestation.claimHash), attestation.claimHash diff --git a/packages/core/src/__integrationtests__/Ctypes.spec.ts b/packages/core/src/__integrationtests__/Ctypes.spec.ts index 889e27c3a..4fac16e74 100644 --- a/packages/core/src/__integrationtests__/Ctypes.spec.ts +++ b/packages/core/src/__integrationtests__/Ctypes.spec.ts @@ -111,7 +111,10 @@ describe('When there is an CtypeCreator and a verifier', () => { ) await expect( submitTx(authorizedStoreTx2, paymentAccount) - ).rejects.toMatchObject({ section: 'ctype', name: 'CTypeAlreadyExists' }) + ).rejects.toMatchObject({ + section: 'ctype', + name: expect.stringMatching(/^(CType)?AlreadyExists$/), + }) if (hasBlockNumbers) { const retrievedCType = await CType.fetchFromChain(ctype.$id) diff --git a/packages/core/src/__integrationtests__/Did.spec.ts b/packages/core/src/__integrationtests__/Did.spec.ts index 2be5535d3..b86915244 100644 --- a/packages/core/src/__integrationtests__/Did.spec.ts +++ b/packages/core/src/__integrationtests__/Did.spec.ts @@ -184,7 +184,9 @@ describe('write and didDeleteTx', () => { // Will fail because count provided is too low await expect(submitTx(submittable, paymentAccount)).rejects.toMatchObject({ section: 'did', - name: 'StoredEndpointsCountTooLarge', + name: expect.stringMatching( + /^(StoredEndpointsCountTooLarge|MaxStoredEndpointsCountExceeded)$/ + ), }) }, 60_000) @@ -555,7 +557,7 @@ describe('DID authorization', () => { ) await expect(submitTx(tx2, paymentAccount)).rejects.toMatchObject({ section: 'did', - name: 'DidNotPresent', + name: expect.stringMatching(/^(DidNotPresent|NotFound)$/), }) await expect(CType.verifyStored(ctype)).rejects.toThrow() @@ -983,7 +985,7 @@ describe('DID management batching', () => { // Now, submitting will result in the second operation to fail AND the batch to fail, so we can test the atomic flag. await expect(submitTx(updateTx, paymentAccount)).rejects.toMatchObject({ section: 'did', - name: 'ServiceAlreadyPresent', + name: expect.stringMatching(/^ServiceAlready(Exists|Present)$/), }) const updatedFullDidLinkedInfo = await api.call.did.query( diff --git a/packages/core/src/__integrationtests__/ErrorHandler.spec.ts b/packages/core/src/__integrationtests__/ErrorHandler.spec.ts index 65b3ab444..497cc4139 100644 --- a/packages/core/src/__integrationtests__/ErrorHandler.spec.ts +++ b/packages/core/src/__integrationtests__/ErrorHandler.spec.ts @@ -76,7 +76,7 @@ it('records an extrinsic error when ctype does not exist', async () => { ) await expect(submitTx(tx, paymentAccount)).rejects.toMatchObject({ section: 'ctype', - name: 'CTypeNotFound', + name: expect.stringMatching(/^(CType)?NotFound$/), }) }, 30_000) diff --git a/packages/core/src/__integrationtests__/Web3Names.spec.ts b/packages/core/src/__integrationtests__/Web3Names.spec.ts index 1c814a65a..da6b9bba9 100644 --- a/packages/core/src/__integrationtests__/Web3Names.spec.ts +++ b/packages/core/src/__integrationtests__/Web3Names.spec.ts @@ -120,7 +120,7 @@ describe('When there is an Web3NameCreator and a payer', () => { await expect(p).rejects.toMatchObject({ section: 'web3Names', - name: 'Web3NameAlreadyClaimed', + name: expect.stringMatching(/^(Web3NameAlreadyClaimed|AlreadyExists)$/), }) }, 30_000) From 126976e963fa73681ae8f94043a03a55f701a96c Mon Sep 17 00:00:00 2001 From: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> Date: Mon, 6 Mar 2023 10:07:53 +0100 Subject: [PATCH 18/52] fix: fromFemtoKilt fails for non-english locales (#731) * fixes balance formatting in fromFemtoKilt by forcing an English locale in the internals --- packages/core/src/balance/Balance.utils.ts | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/packages/core/src/balance/Balance.utils.ts b/packages/core/src/balance/Balance.utils.ts index 548760f30..d475751aa 100644 --- a/packages/core/src/balance/Balance.utils.ts +++ b/packages/core/src/balance/Balance.utils.ts @@ -43,7 +43,7 @@ export const Prefixes = new Map([ * @returns String representation of the given BN with prefix and unit ('KILT' as default). */ export function formatKiltBalance( - amount: BN, + amount: BalanceNumber, additionalOptions?: BalanceOptions ): string { const options = { @@ -144,17 +144,15 @@ export function toFemtoKilt( export function fromFemtoKilt( input: BalanceNumber, decimals = 4, - options?: BalanceOptions + options: BalanceOptions = {} ): string { const inputBN = new BN(balanceNumberToString(input)) - const formatted = formatKiltBalance(inputBN, options) + // overwriting the locale as parsing a number from a string only works with English locale formatted numbers + const formatted = formatKiltBalance(inputBN, { ...options, locale: 'en' }) const [number, ...rest] = formatted.split(' ') - const negative = number.startsWith('-') - const localeNumber = new Intl.NumberFormat(options?.locale, { - minimumFractionDigits: 4, - }).format(Number(negative ? number.slice(1) : number)) - return `${negative ? '-' : ''}${localeNumber.slice( - 0, - localeNumber.length - 4 + decimals - )} ${rest.join(' ')}` + const localeNumber = new Intl.NumberFormat(options.locale, { + minimumFractionDigits: decimals + 1, + maximumFractionDigits: decimals + 1, + }).format(Number(number)) + return `${localeNumber.slice(0, localeNumber.length - 1)} ${rest.join(' ')}` } From 74aa43d764e78db9ea0f763a3bc4b9499cabbb20 Mon Sep 17 00:00:00 2001 From: Github Action Date: Mon, 6 Mar 2023 09:13:00 +0000 Subject: [PATCH 19/52] [CI Skip] ci: publish prerelease --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 135372b4e..af787e397 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.32.0-7", + "version": "0.32.0-8", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 45d56d8f6..a6385d143 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index dd33a4e53..bd25d4554 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 243bd704e..1714cd1c8 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 0eecfbd65..523b8bb2d 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 335a7899e..8ffbea462 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 749179af5..10b407051 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index cb1b9f3c5..7277f5ca5 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 31f368f1f..476bf4cf3 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index c75fc7543..f90758faa 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 25859fba8..1f88122e0 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 77eafee4c..584a254e1 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index fe12547a4..2605c854a 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 1d3b64edb..4f963aaa6 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.32.0-7", + "version": "0.32.0-8", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From 41681bab32c4856f3ff9d227366d8365e64c2198 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Mon, 6 Mar 2023 15:23:09 +0100 Subject: [PATCH 20/52] chore: have renovate update polkadot dev deps too --- .github/renovate.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/renovate.json b/.github/renovate.json index ee5b7ccbf..1c3e0bea2 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -1,7 +1,6 @@ { "extends": [ ":preserveSemverRanges", - ":disableDevDependencies", ":disablePeerDependencies", ":semanticCommits" ], @@ -36,6 +35,15 @@ "separateMinorPatch": false, "groupName": "polkadot dependencies", "groupSlug": "polkadot" + }, + { + "matchDepTypes": [ + "devDependencies" + ], + "excludePackagePatterns": [ + "^@polkadot/*" + ], + "enabled": false } ] } \ No newline at end of file From acce9311d5dda2ec8977a532d0d21566152f206c Mon Sep 17 00:00:00 2001 From: Albrecht Date: Tue, 7 Mar 2023 10:59:49 +0100 Subject: [PATCH 21/52] refactor!: new account linking challenge & split `associateAccountToChainArgs` (#730) This makes it possible to use the high level associateAccountToChainArgs in most cases, but also use the building blocks in edge cases where parts are already done by other parts of the app (e.g. the wrapping of bytes). fixes [#2484](https://github.com/KILTprotocol/ticket/issues/2484) --------- Co-authored-by: Antonio --- .../did/src/DidLinks/AccountLinks.chain.ts | 157 ++++++++++++++---- 1 file changed, 121 insertions(+), 36 deletions(-) diff --git a/packages/did/src/DidLinks/AccountLinks.chain.ts b/packages/did/src/DidLinks/AccountLinks.chain.ts index 1b0373e63..be3a372c6 100644 --- a/packages/did/src/DidLinks/AccountLinks.chain.ts +++ b/packages/did/src/DidLinks/AccountLinks.chain.ts @@ -16,6 +16,7 @@ import { u8aConcatStrict, u8aToHex, u8aWrapBytes, + BN, } from '@polkadot/util' import { ApiPromise } from '@polkadot/api' @@ -26,7 +27,9 @@ import { ConfigService } from '@kiltprotocol/config' import { EncodedSignature } from '../Did.utils.js' import { toChain } from '../Did.chain.js' -/// A chain-agnostic address, which can be encoded using any network prefix. +/** + * A chain-agnostic address, which can be encoded using any network prefix. + */ export type SubstrateAddress = KeyringPair['address'] export type EthereumAddress = HexString @@ -124,28 +127,12 @@ function getUnprefixedSignature( throw new SDKErrors.SignatureUnverifiableError() } -/** - * Builds the parameters for an extrinsic to link the `account` to the `did` where the fees and deposit are covered by some third account. - * This extrinsic must be authorized using the same full DID. - * Note that in addition to the signing account and DID used here, the submitting account will also be able to dissolve the link via reclaiming its deposit! - * - * @param accountAddress Address of the account to be linked. - * @param did Full DID to be linked. - * @param sign The sign callback that generates the account signature over the encoded (DidAddress, BlockNumber) tuple. - * @param nBlocksValid The link request will be rejected if submitted later than (current block number + nBlocksValid)? - * @returns An array of parameters for `api.tx.didLookup.associateAccount` that must be DID-authorized by the full DID used. - */ -export async function associateAccountToChainArgs( - accountAddress: Address, +async function getLinkingChallengeV1( did: DidUri, - sign: (encodedLinkingDetails: HexString) => Promise, - nBlocksValid = 10 -): Promise { + validUntil: BN +): Promise { const api = ConfigService.get('api') - const blockNo = await api.query.system.number() - const validTill = blockNo.addn(nBlocksValid) - // Gets the current definition of BlockNumber (second tx argument) from the metadata. const BlockNumber = api.tx.didLookup.associateAccount.meta.args[1].type.toString() @@ -158,33 +145,63 @@ export async function associateAccountToChainArgs( ).sub as TypeDef[] )[0].type // get the type of the first key, which is the DidAddress - const encoded = api - .createType(`(${DidAddress}, ${BlockNumber})`, [toChain(did), validTill]) + return api + .createType(`(${DidAddress}, ${BlockNumber})`, [toChain(did), validUntil]) .toU8a() +} - const isAccountId32 = decodeAddress(accountAddress).length > 20 - const length = stringToU8a(String(encoded.length)) - const paddedDetails = u8aToHex( - isAccountId32 - ? u8aWrapBytes(encoded) - : u8aConcatStrict([U8A_WRAP_ETHEREUM, length, encoded]) +function getLinkingChallengeV2(did: DidUri, validUntil: BN): Uint8Array { + return stringToU8a( + `Publicly link the signing address to ${did} before block number ${validUntil}` ) +} - const { signature, type } = getUnprefixedSignature( - paddedDetails, - await sign(paddedDetails), - accountAddress - ) +/** + * Generates the challenge that links a DID to an account. + * The account has to sign the challenge, while the DID will sign the extrinsic that contains the challenge and will + * link the account to the DID. + * + * @param did The URI of the DID that that should be linked to an account. + * @param validUntil Last blocknumber that this challenge is valid for. + * @returns The encoded challenge. + */ +export async function getLinkingChallenge( + did: DidUri, + validUntil: BN +): Promise { + const api = ConfigService.get('api') + if (isEthereumEnabled(api)) { + return getLinkingChallengeV2(did, validUntil) + } + return getLinkingChallengeV1(did, validUntil) +} + +/** + * Generates the arguments for the extrinsic that links an account to a DID. + * + * @param accountAddress Address of the account to be linked. + * @param validUntil Last blocknumber that this challenge is valid for. + * @param signature The signature for the linking challenge. + * @param type The key type used to sign the challenge. + * @returns The arguments for the call that links account and DID. + */ +export async function getLinkingArguments( + accountAddress: Address, + validUntil: BN, + signature: Uint8Array, + type: KeypairType +): Promise { + const api = ConfigService.get('api') const proof = { [type]: signature } as EncodedSignature if (isEthereumEnabled(api)) { if (type === 'ethereum') { - const result = [{ Ethereum: [accountAddress, signature] }, validTill] + const result = [{ Ethereum: [accountAddress, signature] }, validUntil] // Force type cast to enable the old blockchain types to accept the future format return result as unknown as AssociateAccountToChainResult } - const result = [{ Dotsama: [accountAddress, proof] }, validTill] + const result = [{ Polkadot: [accountAddress, proof] }, validUntil] // Force type cast to enable the old blockchain types to accept the future format return result as unknown as AssociateAccountToChainResult } @@ -194,5 +211,73 @@ export async function associateAccountToChainArgs( 'Ethereum linking is not yet supported by this chain' ) - return [accountAddress, validTill, proof] + return [accountAddress, validUntil, proof] +} + +/** + * Identifies the strategy to wrap raw bytes for signing. + */ +export type WrappingStrategy = 'ethereum' | 'polkadot' + +/** + * Wraps the provided challenge according to the key type. + * + * Ethereum addresses will cause the challenge to be prefixed with + * `\x19Ethereum Signed Message:\n` and the length of the message. + * + * For all other key types the message will be wrapped in `..`. + * + * @param type The key type that will sign the challenge. + * @param challenge The challenge to proof ownership of both account and DID. + * @returns The wrapped challenge. + */ +export function getWrappedChallenge( + type: WrappingStrategy, + challenge: Uint8Array +): Uint8Array { + if (type === 'ethereum') { + const length = stringToU8a(String(challenge.length)) + return u8aConcatStrict([U8A_WRAP_ETHEREUM, length, challenge]) + } + return u8aWrapBytes(challenge) +} + +/** + * Builds the parameters for an extrinsic to link the `account` to the `did` where the fees and deposit are covered by some third account. + * This extrinsic must be authorized using the same full DID. + * Note that in addition to the signing account and DID used here, the submitting account will also be able to dissolve the link via reclaiming its deposit! + * + * @param accountAddress Address of the account to be linked. + * @param did Full DID to be linked. + * @param sign The sign callback that generates the account signature over the encoded (DidAddress, BlockNumber) tuple. + * @param nBlocksValid The link request will be rejected if submitted later than (current block number + nBlocksValid)? + * @returns An array of parameters for `api.tx.didLookup.associateAccount` that must be DID-authorized by the full DID used. + */ +export async function associateAccountToChainArgs( + accountAddress: Address, + did: DidUri, + sign: (encodedLinkingDetails: HexString) => Promise, + nBlocksValid = 10 +): Promise { + const api = ConfigService.get('api') + + const blockNo = await api.query.system.number() + const validTill = blockNo.addn(nBlocksValid) + + const challenge = await getLinkingChallenge(did, validTill) + + // ethereum addresses are 42 characters long since they are 20 bytes hex encoded strings + // (they start with 0x, 2 characters per byte) + const predictedType = accountAddress.length === 42 ? 'ethereum' : 'polkadot' + const wrappedChallenge = u8aToHex( + getWrappedChallenge(predictedType, challenge) + ) + + const { signature, type } = getUnprefixedSignature( + wrappedChallenge, + await sign(wrappedChallenge), + accountAddress + ) + + return getLinkingArguments(accountAddress, validTill, signature, type) } From 59f3ab0cd8281f9d786bdbb60478c81a5eda1f33 Mon Sep 17 00:00:00 2001 From: Github Action Date: Tue, 7 Mar 2023 10:05:16 +0000 Subject: [PATCH 22/52] [CI Skip] ci: publish prerelease --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index af787e397..b6732f940 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.32.0-8", + "version": "0.32.0-9", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index a6385d143..a2e85ea19 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index bd25d4554..d68533f44 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 1714cd1c8..b46db4785 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 523b8bb2d..0fe2717d2 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 8ffbea462..49d147d6a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 10b407051..8554ad650 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 7277f5ca5..d47b58963 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 476bf4cf3..93ccf4101 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index f90758faa..6bb5bed1c 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 1f88122e0..b3462b405 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 584a254e1..748fc0414 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 2605c854a..71a2b8f83 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 4f963aaa6..dcccacb7e 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.32.0-8", + "version": "0.32.0-9", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From 14c477fed1b434d1498e4b730af1fa78b9dabb2e Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 14 Mar 2023 13:59:38 +0100 Subject: [PATCH 23/52] chore: explain flooring of decimals in fromFemtoKilt --- packages/core/src/balance/Balance.utils.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/core/src/balance/Balance.utils.ts b/packages/core/src/balance/Balance.utils.ts index d475751aa..d92ddae99 100644 --- a/packages/core/src/balance/Balance.utils.ts +++ b/packages/core/src/balance/Balance.utils.ts @@ -151,8 +151,10 @@ export function fromFemtoKilt( const formatted = formatKiltBalance(inputBN, { ...options, locale: 'en' }) const [number, ...rest] = formatted.split(' ') const localeNumber = new Intl.NumberFormat(options.locale, { + // flooring the fraction by having the formatter use 1 more than the desired decimals and removing the extra digit minimumFractionDigits: decimals + 1, maximumFractionDigits: decimals + 1, }).format(Number(number)) + // removing the extra digit here return `${localeNumber.slice(0, localeNumber.length - 1)} ${rest.join(' ')}` } From 6d37170259b2ee1c5784dec12c58b0d2a6ebe130 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 14 Mar 2023 14:23:41 +0100 Subject: [PATCH 24/52] chore: type augmentation for 1.10.0-rc1 --- packages/augment-api/metadata/spiritnet.json | 2 +- .../src/interfaces/augment-api-consts.ts | 8 - .../src/interfaces/augment-api-errors.ts | 202 +-- .../src/interfaces/augment-api-events.ts | 103 +- .../src/interfaces/augment-api-query.ts | 19 +- .../src/interfaces/augment-api-runtime.ts | 29 +- .../src/interfaces/augment-api-tx.ts | 60 +- packages/augment-api/src/interfaces/lookup.ts | 1515 ++++++++++------- .../augment-api/src/interfaces/registry.ts | 73 +- .../src/interfaces/types-lookup.ts | 1463 +++++++++------- 10 files changed, 2012 insertions(+), 1462 deletions(-) diff --git a/packages/augment-api/metadata/spiritnet.json b/packages/augment-api/metadata/spiritnet.json index 39f9dbfcf..908b69fcc 100644 --- a/packages/augment-api/metadata/spiritnet.json +++ b/packages/augment-api/metadata/spiritnet.json @@ -1 +1 @@ -{"result":"0x6d6574610e7907000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f0814496e64657801102c4163636f756e74446174610114001401146e6f6e6365100114496e646578000124636f6e73756d6572731c0120526566436f756e7400012470726f7669646572731c0120526566436f756e7400012c73756666696369656e74731c0120526566436f756e740001106461746114012c4163636f756e7444617461000010000005060014083c70616c6c65745f62616c616e6365732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500012c6d6973635f66726f7a656e18011c42616c616e63650001286665655f66726f7a656e18011c42616c616e636500001800000507001c0000050500200c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540124000c01186e6f726d616c2401045400012c6f7065726174696f6e616c240104540001246d616e6461746f7279240104540000240c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d6528010c75363400012870726f6f665f73697a6528010c75363400002800000610002c083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d000030000002080034102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f677338013c5665633c4469676573744974656d3e0000380000023c003c102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e00060024436f6e73656e7375730800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000400105365616c0800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000500144f74686572040030011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e745570646174656400080000400000030400000008004400000248004808306672616d655f73797374656d2c4576656e745265636f7264080445014c0454012c000c011470686173654102011450686173650001146576656e744c010445000118746f70696373450201185665633c543e00004c08447370697269746e65745f72756e74696d653052756e74696d654576656e740001781853797374656d04005001706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c496e6469636573040074017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e0005002042616c616e636573040078017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404008001a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c53657373696f6e040084015470616c6c65745f73657373696f6e3a3a4576656e740016004050617261636861696e5374616b696e67040088018470617261636861696e5f7374616b696e673a3a4576656e743c52756e74696d653e0015002444656d6f6372616379040090018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e001e001c436f756e63696c0400a001fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400b001fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020004c546563686e6963616c4d656d626572736869700400b401fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365313e0022002054726561737572790400b8017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e0023001c5574696c6974790400bc015470616c6c65745f7574696c6974793a3a4576656e740028001c56657374696e670400c0017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e002900245363686564756c65720400c4018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e002a001450726f78790400d0017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002b0020507265696d6167650400dc017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e002c0038546970734d656d626572736869700400e001fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365323e002d0010546970730400e4016c70616c6c65745f746970733a3a4576656e743c52756e74696d653e002e001443747970650400e8015463747970653a3a4576656e743c52756e74696d653e003d002c4174746573746174696f6e0400ec016c6174746573746174696f6e3a3a4576656e743c52756e74696d653e003e002844656c65676174696f6e0400f8016864656c65676174696f6e3a3a4576656e743c52756e74696d653e003f000c44696404000101014c6469643a3a4576656e743c52756e74696d653e004000244469644c6f6f6b757004000501018470616c6c65745f6469645f6c6f6f6b75703a3a4576656e743c52756e74696d653e00430024576562334e616d657304001501018470616c6c65745f776562335f6e616d65733a3a4576656e743c52756e74696d653e004400445075626c696343726564656e7469616c730400210101887075626c69635f63726564656e7469616c733a3a4576656e743c52756e74696d653e0045003c50617261636861696e53797374656d0400910101bc63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e0050002458636d7051756575650400950101a463756d756c75735f70616c6c65745f78636d705f71756575653a3a4576656e743c52756e74696d653e0052002c506f6c6b61646f7458636d0400a501016870616c6c65745f78636d3a3a4576656e743c52756e74696d653e0053002843756d756c757358636d04003902018863756d756c75735f70616c6c65745f78636d3a3a4576656e743c52756e74696d653e00540020446d70517565756504003d0201a063756d756c75735f70616c6c65745f646d705f71756575653a3a4576656e743c52756e74696d653e00550000500c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5401304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7260013444697370617463684572726f7200013464697370617463685f696e666f5401304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e744964000110686173682c011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e540c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874240118576569676874000114636c6173735801344469737061746368436c617373000120706179735f6665655c0110506179730000580c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f7279000200005c0c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000060082873705f72756e74696d653444697370617463684572726f72000134144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040064012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e0400680128546f6b656e4572726f720007002841726974686d6574696304006c013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007001485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c000064082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7240018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d000068082873705f72756e74696d6528546f6b656e4572726f7200011c1c4e6f46756e647300000020576f756c644469650001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f72746564000600006c083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000070082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000740c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909780c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001281c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e63655365740c010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e63650001207265736572766564180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475737c01185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909097c14346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e6365537461747573000108104672656500000020526573657276656400010000800c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909840c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e6465781c013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909880c4470617261636861696e5f7374616b696e671870616c6c6574144576656e74040454000154204e6577526f756e640800100138543a3a426c6f636b4e756d62657200001c013053657373696f6e496e6465780000088041206e6577207374616b696e6720726f756e642068617320737461727465642e785c5b626c6f636b206e756d6265722c20726f756e64206e756d6265725c5d50456e7465726564546f7043616e646964617465730400000130543a3a4163636f756e744964000108cc41206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d444c656674546f7043616e646964617465730400000130543a3a4163636f756e744964000208d8416e206163636f756e74207761732072656d6f7665642066726f6d2074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d604a6f696e6564436f6c6c61746f7243616e646964617465730800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000308e041206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620636f6c6c61746f722063616e646964617465732ebc5c5b6163636f756e742c20616d6f756e74207374616b656420627920746865206e65772063616e6469646174655c5d48436f6c6c61746f725374616b65644d6f72650c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00040801014120636f6c6c61746f722063616e6469646174652068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d48436f6c6c61746f725374616b65644c6573730c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00050801014120636f6c6c61746f722063616e64696461746520686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d54436f6c6c61746f725363686564756c6564457869740c001c013053657373696f6e496e6465780000000130543a3a4163636f756e74496400001c013053657373696f6e496e64657800061001014120636f6c6c61746f722063616e646964617465206861732073746172746564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e646964617465732e205c5b726f756e64206e756d6265722c20636f6c6c61746f722773206163636f756e742c20726f756e64206e756d626572207768656ee074686520636f6c6c61746f722077696c6c206265206566666563746976656c792072656d6f7665642066726f6d2074686520736574206f663063616e646964617465735c5d50436f6c6c61746f7243616e63656c6564457869740400000130543a3a4163636f756e74496400070c05014120636f6c6c61746f722063616e646964617465206861732063616e63656c6564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e6469646174657320616e6420776173206164646564206261636b20746f207468652063616e64696461746520706f6f6c2e205c5b636f6c6c61746f722773246163636f756e745c5d3443616e6469646174654c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000808cc416e206163636f756e7420686173206c6566742074686520736574206f6620636f6c6c61746f722063616e646964617465732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d3c436f6c6c61746f7252656d6f7665640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000908e4416e206163636f756e742077617320666f726365646c792072656d6f7665642066726f6d207468652020736574206f6620636f6c6c61746f72c863616e646964617465732e205c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d604d617843616e6469646174655374616b654368616e676564040018013042616c616e63654f663c543e000a08b4546865206d6178696d756d2063616e646964617465207374616b6520686173206265656e206368616e6765642e485c5b6e6577206d617820616d6f756e745c5d4c44656c656761746f725374616b65644d6f72651000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000b0cf0412064656c656761746f722068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d4c44656c656761746f725374616b65644c6573731000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000c0cf0412064656c656761746f7220686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d3444656c656761746f724c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000d08a8416e206163636f756e7420686173206c6566742074686520736574206f662064656c656761746f72732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d2844656c65676174696f6e1000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000e0cc8416e206163636f756e74206861732064656c6567617465642061206e657720636f6c6c61746f722063616e6469646174652e11015c5b6163636f756e742c20616d6f756e74206f662066756e6473207374616b65642c20746f74616c20616d6f756e74206f662064656c656761746f7273272066756e64738c7374616b656420666f722074686520636f6c6c61746f722063616e6469646174655c5d4844656c65676174696f6e5265706c616365641800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000f180d0141206e65772064656c65676174696f6e20686173207265706c6163656420616e206578697374696e67206f6e6520696e2074686520736574206f66206f6e676f696e67010164656c65676174696f6e7320666f72206120636f6c6c61746f722063616e6469646174652e205c5b6e65772064656c656761746f722773206163636f756e742c0901616d6f756e74206f662066756e6473207374616b656420696e20746865206e65772064656c65676174696f6e2c207265706c616365642064656c656761746f7227730d016163636f756e742c20616d6f756e74206f662066756e6473207374616b656420696e20746865207265706c6163652064656c65676174696f6e2c20636f6c6c61746f72050163616e6469646174652773206163636f756e742c206e657720746f74616c20616d6f756e74206f662064656c656761746f7273272066756e6473207374616b656470666f722074686520636f6c6c61746f722063616e6469646174655c5d5444656c656761746f724c656674436f6c6c61746f721000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00100cdc416e206163636f756e74206861732073746f707065642064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e09015c5b6163636f756e742c20636f6c6c61746f722063616e6469646174652773206163636f756e742c206f6c6420616d6f756e74206f662064656c656761746f727327d866756e6473207374616b65642c206e657720616d6f756e74206f662064656c656761746f7273272066756e6473207374616b65645c5d2052657761726465640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e001108c04120636f6c6c61746f72206f7220612064656c656761746f72206861732072656365697665642061207265776172642e745c5b6163636f756e742c20616d6f756e74206f66207265776172645c5d44526f756e64496e666c6174696f6e53657410008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00120c0501496e666c6174696f6e20636f6e66696775726174696f6e20666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e09015c5b6d6178696d756d20636f6c6c61746f722773207374616b696e6720726174652c206d6178696d756d20636f6c6c61746f7227732072657761726420726174652c0d016d6178696d756d2064656c656761746f722773207374616b696e6720726174652c206d6178696d756d2064656c656761746f7227732072657761726420726174655c5d604d617853656c656374656443616e6469646174657353657408001c010c75333200001c010c753332001308f0546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c656374656420696e20667574757265dc76616c69646174696f6e20726f756e647320686173206368616e6765642e205c5b6f6c642076616c75652c206e65772076616c75655c5d44426c6f636b73506572526f756e6453657410001c013053657373696f6e496e6465780000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d62657200140cf8546865206c656e67746820696e20626c6f636b7320666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e01015c5b726f756e64206e756d6265722c20666972737420626c6f636b20696e207468652063757272656e7420726f756e642c206f6c642076616c75652c206e65771c76616c75655c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909098c0c3473705f61726974686d65746963287065725f7468696e67732c5065727175696e74696c6c0000040010010c7536340000900c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001382050726f706f73656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e6465781c013c5265666572656e64756d496e6465780001247468726573686f6c64940134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e6465781c013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000704dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000804e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011048323536000114756e74696c100138543a3a426c6f636b4e756d62657200090494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e2c426c61636b6c697374656404013470726f706f73616c5f686173682c011048323536000a04c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e6465781c013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e000b0490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e6465781c012450726f70496e646578000c048c416e206163636f756e742068617320736563636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e6465781c012450726f70496e646578000d0460412070726f706f73616c20676f742063616e63656c65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909940c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f7269747900020000980c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f74659c0110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e6365000100009c0c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000a00c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a40110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a40000050000a80418526573756c7408045401ac044501600108084f6b0400ac000000000c4572720400600000010000ac0000040000b00c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a40110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b40c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b80c3c70616c6c65745f74726561737572791870616c6c6574144576656e740804540004490001242050726f706f73656404013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640007049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000804cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909bc0c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e6465781c010c7533320001146572726f7260013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7260013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c74a801384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c00c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c40c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000118245363686564756c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e000118726573756c74a801384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e00030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e0004043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e545065726d616e656e746c794f7665727765696768740801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e000504f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652ec800000408101c00cc04184f7074696f6e04045401040108104e6f6e6500000010536f6d650400040000010000d00c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c74a801384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578d8010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f686173682c013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200040450412070726f7879207761732072656d6f7665642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909d408447370697269746e65745f72756e74696d652450726f7879547970650001180c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002004050617261636861696e5374616b696e670003002c43616e63656c50726f7879000400484e6f6e4465706f736974436c61696d696e6700050000d80000050400dc0c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f746564040110686173682c011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e24526571756573746564040110686173682c011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c6561726564040110686173682c011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e00c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e40c2c70616c6c65745f746970731870616c6c6574144576656e74080454000449000114184e65775469700401207469705f686173682c011c543a3a486173680000049441206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e670401207469705f686173682c011c543a3a48617368000104d841207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c01207469705f686173682c011c543a3a4861736800010c77686f000130543a3a4163636f756e7449640001187061796f757418013c42616c616e63654f663c542c20493e0002048441207469702073756767657374696f6e20686173206265656e20636c6f7365642e305469705265747261637465640401207469705f686173682c011c543a3a486173680003049041207469702073756767657374696f6e20686173206265656e207265747261637465642e28546970536c61736865640c01207469705f686173682c011c543a3a4861736800011866696e646572000130543a3a4163636f756e74496400011c6465706f73697418013c42616c616e63654f663c542c20493e0004048841207469702073756767657374696f6e20686173206265656e20736c61736865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e80c1463747970651870616c6c6574144576656e74040454000108304354797065437265617465640800000144437479706543726561746f724f663c543e00002c01384374797065486173684f663c543e0000087441206e657720435479706520686173206265656e20637265617465642e885c5b63726561746f72206964656e7469666965722c20435479706520686173685c5d3043547970655570646174656404002c01384374797065486173684f663c543e000108ac496e666f726d6174696f6e2061626f7574206120435479706520686173206265656e20757064617465642e385c5b435479706520686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909ec0c2c6174746573746174696f6e1870616c6c6574144576656e74040454000110484174746573746174696f6e43726561746564100000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00002c01384374797065486173684f663c543e0000f001704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e0000088c41206e6577206174746573746174696f6e20686173206265656e20637265617465642e05015c5b61747465737465722049442c20636c61696d20686173682c20435479706520686173682c20286f7074696f6e616c292064656c65676174696f6e2049445c5d484174746573746174696f6e5265766f6b6564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00010880416e206174746573746174696f6e20686173206265656e207265766f6b65642e685c5b6163636f756e742069642c20636c61696d20686173685c5d484174746573746174696f6e52656d6f766564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00020880416e206174746573746174696f6e20686173206265656e2072656d6f7665642e685c5b6163636f756e742069642c20636c61696d20686173685c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c0138436c61696d486173684f663c543e0003080501546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e2e685c5b6163636f756e742069642c20636c61696d20686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909f004184f7074696f6e04045401f40108104e6f6e6500000010536f6d650400f40000010000f40c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c417574686f72697a6174696f6e4964043044656c65676174696f6e4964012c01042844656c65676174696f6e04002c013044656c65676174696f6e496400000000f80c2864656c65676174696f6e1870616c6c6574144576656e7404045400011c40486965726172636879437265617465640c0000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c01384374797065486173684f663c543e0000088441206e65772068696572617263687920686173206265656e20637265617465642ea05c5b63726561746f722049442c20726f6f74206e6f64652049442c20435459504520686173685c5d404869657261726368795265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00010874412068696572617263687920686173206265656e207265766f6b65642e705c5b7265766f6b65722049442c20726f6f74206e6f64652049445c5d4048696572617263687952656d6f766564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000208dc412068696572617263687920686173206265656e2072656d6f7665642066726f6d207468652073746f72616765206f6e20636861696e2e705c5b72656d6f7665722049442c20726f6f74206e6f64652049445c5d4444656c65676174696f6e43726561746564180000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000000014044656c656761746f7249644f663c543e0000fc012c5065726d697373696f6e7300030c8841206e65772064656c65676174696f6e20686173206265656e20637265617465642efc5c5b63726561746f722049442c20726f6f74206e6f64652049442c2064656c65676174696f6e206e6f64652049442c20706172656e74206e6f64652049442c6864656c65676174652049442c207065726d697373696f6e735c5d4444656c65676174696f6e5265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00040878412064656c65676174696f6e20686173206265656e207265766f6b65642e885c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d4444656c65676174696f6e52656d6f76656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00050878412064656c65676174696f6e20686173206265656e2072656d6f7665642e885c5b72656d6f7665722049442c2064656c65676174696f6e206e6f64652049445c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000608f8546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720612064656c65676174696f6eac737562747265652e205c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909fc0c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368792c5065726d697373696f6e730000040110626974731c010c753332000001010c0c6469641870616c6c6574144576656e74040454000110284469644372656174656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e0000086c41206e65772044494420686173206265656e20637265617465642e985c5b7472616e73616374696f6e207369676e65722c20444944206964656e7469666965725c5d284469645570646174656404000001484469644964656e7469666965724f663c543e0001085c412044494420686173206265656e20757064617465642e485c5b444944206964656e7469666965725c5d2844696444656c6574656404000001484469644964656e7469666965724f663c543e0002085c412044494420686173206265656e2064656c657465642e485c5b444944206964656e7469666965725c5d4444696443616c6c4469737061746368656408000001484469644964656e7469666965724f663c543e0000a801384469737061746368526573756c74000308a041204449442d617574686f72697365642063616c6c20686173206265656e2065786563757465642e7c5c5b4449442063616c6c65722c20646973706174636820726573756c745c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090905010c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144576656e74040454000108584173736f63696174696f6e45737461626c69736865640800090101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000004f841206e6577206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e742049442077617320637265617465642e484173736f63696174696f6e52656d6f7665640800090101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000104ec416e206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e74204944207761732072656d6f7665642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090909010c4470616c6c65745f6469645f6c6f6f6b7570406c696e6b61626c655f6163636f756e74444c696e6b61626c654163636f756e7449640001082c4163636f756e744964323004000d01012c4163636f756e74496432300000002c4163636f756e7449643332040000012c4163636f756e7449643332000100000d010c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e742c4163636f756e744964323000000400110101205b75383b2032305d0000110100000314000000080015010c4470616c6c65745f776562335f6e616d65731870616c6c6574144576656e740404540001103c576562334e616d65436c61696d65640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6519010134576562334e616d654f663c543e0000047041206e6577206e616d6520686173206265656e20636c61696d65642e40576562334e616d6552656c65617365640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6519010134576562334e616d654f663c543e0001046441206e616d6520686173206265656e2072656c65617365642e38576562334e616d6542616e6e65640401106e616d6519010134576562334e616d654f663c543e0002045c41206e616d6520686173206265656e2062616e6e65642e40576562334e616d65556e62616e6e65640401106e616d6519010134576562334e616d654f663c543e0003046441206e616d6520686173206265656e20756e62616e6e65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090919010c4470616c6c65745f776562335f6e616d657324776562335f6e616d65344173636969576562334e616d65040454000004001d010180426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e00001d01101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000021010c487075626c69635f63726564656e7469616c731870616c6c6574144576656e740404540001104043726564656e7469616c53746f7265640801287375626a6563745f696425010130543a3a5375626a65637449640488546865207375626a656374206f6620746865206e65772063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0474546865206964206f6620746865206e65772063726564656e7469616c2e0004a041206e6577207075626c69632063726564656e7469616c20686173206265656e206973737565642e4443726564656e7469616c52656d6f7665640801287375626a6563745f696425010130543a3a5375626a65637449640498546865207375626a656374206f66207468652072656d6f7665642063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f66207468652072656d6f7665642063726564656e7469616c2e01049841207075626c69632063726564656e7469616c7320686173206265656e2072656d6f7665642e4443726564656e7469616c5265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f6620746865207265766f6b65642063726564656e7469616c2e02049441207075626c69632063726564656e7469616c20686173206265656e207265766f6b65642e4c43726564656e7469616c556e7265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e048c546865206964206f662074686520756e7265766f6b65642063726564656e7469616c2e03049c41207075626c69632063726564656e7469616c20686173206265656e20756e7265766f6b65642e0490546865206576656e74732067656e65726174656420627920746869732070616c6c65742e25010c3872756e74696d655f636f6d6d6f6e18617373657473204173736574446964000004002901013c41737365744964656e746966696572000029010c3c6b696c745f61737365745f646964730876312041737365744469640000080120636861696e5f69642d01011c436861696e496400012061737365745f69645501011c4173736574496400002d01103c6b696c745f61737365745f6469647314636861696e0876311c436861696e49640001141845697031353504003101013c4569703135355265666572656e63650000001842697031323204003501016447656e657369734865784861736833325265666572656e63650001001c446f7473616d6104003501016447656e657369734865784861736833325265666572656e636500020018536f6c616e6104003d01017047656e657369734261736535384861736833325265666572656e63650003001c47656e6572696304004501013847656e65726963436861696e4964000400003101103c6b696c745f61737365745f6469647314636861696e0876313c4569703135355265666572656e6365000004001801107531323800003501103c6b696c745f61737365745f6469647314636861696e0876316447656e657369734865784861736833325265666572656e636500000400390101205b75383b2031365d000039010000031000000008003d01103c6b696c745f61737365745f6469647314636861696e0876317047656e657369734261736535384861736833325265666572656e63650000040041010170426f756e6465645665633c75382c20436f6e73745533323c33323e3e00004101101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00004501103c6b696c745f61737365745f6469647314636861696e0876313847656e65726963436861696e496400000801246e616d6573706163654901015447656e65726963436861696e4e616d6573706163650001247265666572656e63655101015447656e65726963436861696e5265666572656e636500004901103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e4e616d657370616365000004004d0101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4e414d4553504143455f4c454e4754485f5533323e3e00004d01101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00005101103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e5265666572656e636500000400410101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f5245464552454e43455f4c454e4754485f5533323e3e00005501103c6b696c745f61737365745f646964731461737365740876311c4173736574496400011418536c6970343404005901013c536c697034345265666572656e636500000014457263323004006501018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650001001845726337323104006901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650002001c4572633131353504006901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650003001c47656e6572696304007901013847656e6572696341737365744964000400005901103c6b696c745f61737365745f646964731461737365740876313c536c697034345265666572656e6365000004005d0101105532353600005d01083c7072696d69746976655f7479706573105532353600000400610101205b7536343b20345d000061010000030400000010006501103c6b696c745f61737365745f646964731461737365740876318445766d536d617274436f6e747261637446756e6769626c655265666572656e636500000400110101205b75383b2032305d00006901103c6b696c745f61737365745f646964731461737365740876319045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e6365000008006501018445766d536d617274436f6e747261637446756e6769626c655265666572656e636500006d0101b44f7074696f6e3c45766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e7469666965723e00006d0104184f7074696f6e0404540171010108104e6f6e6500000010536f6d650400710100000100007101103c6b696c745f61737365745f646964731461737365740876319445766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e74696669657200000400750101dc426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4944454e5449464945525f4c454e4754485f5533323e3e00007501101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00007901103c6b696c745f61737365745f646964731461737365740876313847656e657269634173736574496400000c01246e616d6573706163657d01015447656e6572696341737365744e616d6573706163650001247265666572656e63658101015447656e6572696341737365745265666572656e63650001086964890101784f7074696f6e3c47656e6572696341737365744964656e7469666965723e00007d01103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365744e616d657370616365000004004d0101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4e414d4553504143455f4c454e4754485f5533323e3e00008101103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365745265666572656e636500000400850101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f5245464552454e43455f4c454e4754485f5533323e3e00008501101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000890104184f7074696f6e040454018d010108104e6f6e6500000010536f6d6504008d0100000100008d01103c6b696c745f61737365745f646964731461737365740876315847656e6572696341737365744964656e74696669657200000400750101dc426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4944454e5449464945525f4c454e4754485f5533323e3e000091010c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144576656e740404540001186056616c69646174696f6e46756e6374696f6e53746f726564000004d05468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e6456616c69646174696f6e46756e6374696f6e4170706c69656404015472656c61795f636861696e5f626c6f636b5f6e756d1c015452656c6179436861696e426c6f636b4e756d62657200010445015468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e6c56616c69646174696f6e46756e6374696f6e446973636172646564000204b05468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e4455706772616465417574686f72697a6564040124636f64655f686173682c011c543a3a486173680003047c416e207570677261646520686173206265656e20617574686f72697a65642e60446f776e776172644d657373616765735265636569766564040114636f756e741c010c7533320004040101536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e64446f776e776172644d6573736167657350726f63657373656408012c7765696768745f75736564240118576569676874000120646d715f686561642c014472656c61795f636861696e3a3a48617368000504e0446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090995010c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144576656e740404540001201c537563636573730801306d6573736167655f686173689901013c4f7074696f6e3c543a3a486173683e00011877656967687424011857656967687400000464536f6d652058434d20776173206578656375746564206f6b2e104661696c0c01306d6573736167655f686173689901013c4f7074696f6e3c543a3a486173683e0001146572726f729d01012058636d4572726f7200011877656967687424011857656967687400010440536f6d652058434d206661696c65642e2842616456657273696f6e0401306d6573736167655f686173689901013c4f7074696f6e3c543a3a486173683e000204544261642058434d2076657273696f6e20757365642e24426164466f726d61740401306d6573736167655f686173689901013c4f7074696f6e3c543a3a486173683e000304504261642058434d20666f726d617420757365642e445570776172644d65737361676553656e740401306d6573736167655f686173689901013c4f7074696f6e3c543a3a486173683e000404b8416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e3c58636d704d65737361676553656e740401306d6573736167655f686173689901013c4f7074696f6e3c543a3a486173683e000504c0416e2048524d50206d657373616765207761732073656e7420746f2061207369626c696e672070617261636861696e2e484f766572776569676874456e71756575656410011873656e646572a101011850617261496400011c73656e745f61741c014052656c6179426c6f636b4e756d626572000114696e64657810013c4f766572776569676874496e6465780001207265717569726564240118576569676874000604d4416e2058434d2065786365656465642074686520696e646976696475616c206d65737361676520776569676874206275646765742e484f7665727765696768745365727669636564080114696e64657810013c4f766572776569676874496e646578000110757365642401185765696768740007044101416e2058434d2066726f6d20746865206f7665727765696768742071756575652077617320657865637574656420776974682074686520676976656e2061637475616c2077656967687420757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909990104184f7074696f6e040454012c0108104e6f6e6500000010536f6d6504002c00000100009d01100c78636d08763218747261697473144572726f72000168204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300444d756c74694c6f636174696f6e46756c6c000400684d756c74694c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c7536340015004c556e68616e646c656458636d56657273696f6e001600485765696768744c696d69745265616368656404001001185765696768740017001c426172726965720018004c5765696768744e6f74436f6d70757461626c6500190000a1010c48706f6c6b61646f745f70617261636861696e287072696d697469766573084964000004001c010c7533320000a5010c2870616c6c65745f78636d1870616c6c6574144576656e7404045400014424417474656d707465640400a901015078636d3a3a6c61746573743a3a4f7574636f6d6500000ca8457865637574696f6e206f6620616e2058434d206d6573736167652077617320617474656d707465642e00345c5b206f7574636f6d65205c5d1053656e740c00ad0101344d756c74694c6f636174696f6e0000ad0101344d756c74694c6f636174696f6e0000d101011c58636d3c28293e00010c5c412058434d206d657373616765207761732073656e742e00885c5b206f726967696e2c2064657374696e6174696f6e2c206d657373616765205c5d48556e6578706563746564526573706f6e73650800ad0101344d756c74694c6f636174696f6e000010011c517565727949640002145901517565727920726573706f6e736520726563656976656420776869636820646f6573206e6f74206d61746368206120726567697374657265642071756572792e2054686973206d61792062652062656361757365206155016d61746368696e6720717565727920776173206e6576657220726567697374657265642c206974206d617920626520626563617573652069742069732061206475706c696361746520726573706f6e73652c206f727062656361757365207468652071756572792074696d6564206f75742e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e73655265616479080010011c517565727949640000f9010120526573706f6e73650003105d01517565727920726573706f6e736520686173206265656e20726563656976656420616e6420697320726561647920666f722074616b696e672077697468206074616b655f726573706f6e7365602e205468657265206973806e6f2072656769737465726564206e6f74696669636174696f6e2063616c6c2e00485c5b2069642c20726573706f6e7365205c5d204e6f7469666965640c0010011c5175657279496400000801087538000008010875380004105901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20686173a86265656e206469737061746368656420616e64206578656375746564207375636365737366756c6c792e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d404e6f746966794f766572776569676874140010011c517565727949640000080108753800000801087538000024011857656967687400002401185765696768740005146101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20636f756c6441016e6f742062652064697370617463686564206265636175736520746865206469737061746368207765696768742069732067726561746572207468616e20746865206d6178696d756d20776569676874e46f726967696e616c6c7920627564676574656420627920746869732072756e74696d6520666f722074686520717565727920726573756c742e0019015c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e6465782c2061637475616c207765696768742c206d617820627564676574656420776569676874205c5d4c4e6f7469667944697370617463684572726f720c0010011c5175657279496400000801087538000008010875380006105501517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e2054686572652077617320612067656e6572616c206572726f722077697468886469737061746368696e6720746865206e6f74696669636174696f6e2063616c6c2e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d484e6f746966794465636f64654661696c65640c0010011c5175657279496400000801087538000008010875380007145101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652064697370617463682077617320756e61626c6520746f20626559016465636f64656420696e746f2061206043616c6c603b2074686973206d696768742062652064756520746f2064697370617463682066756e6374696f6e20686176696e672061207369676e6174757265207768696368946973206e6f742060286f726967696e2c20517565727949642c20526573706f6e736529602e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d40496e76616c6964526573706f6e6465720c00ad0101344d756c74694c6f636174696f6e000010011c5175657279496400001d0201544f7074696f6e3c4d756c74694c6f636174696f6e3e0008145901457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206f726967696e206c6f636174696f6e206f662074686520726573706f6e736520646f657355016e6f74206d6174636820746861742065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e00b05c5b206f726967696e206c6f636174696f6e2c2069642c206578706563746564206c6f636174696f6e205c5d5c496e76616c6964526573706f6e64657256657273696f6e0800ad0101344d756c74694c6f636174696f6e000010011c517565727949640009245101457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206578706563746564206f726967696e206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e736554616b656e040010011c51756572794964000a0cc8526563656976656420717565727920726573706f6e736520686173206265656e207265616420616e642072656d6f7665642e00205c5b206964205c5d34417373657473547261707065640c002c0110483235360000ad0101344d756c74694c6f636174696f6e00002102015056657273696f6e65644d756c7469417373657473000b0cb8536f6d65206173736574732068617665206265656e20706c6163656420696e20616e20617373657420747261702e00685c5b20686173682c206f726967696e2c20617373657473205c5d5456657273696f6e4368616e67654e6f7469666965640800ad0101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e000c0c2501416e2058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e206d65737361676520686173206265656e20617474656d7074656420746f2062652073656e742e00645c5b2064657374696e6174696f6e2c20726573756c74205c5d5c537570706f7274656456657273696f6e4368616e6765640800ad0101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e000d10390154686520737570706f727465642076657273696f6e206f662061206c6f636174696f6e20686173206265656e206368616e6765642e2054686973206d69676874206265207468726f75676820616ec06175746f6d61746963206e6f74696669636174696f6e206f722061206d616e75616c20696e74657276656e74696f6e2e006c5c5b206c6f636174696f6e2c2058434d2076657273696f6e205c5d504e6f7469667954617267657453656e644661696c0c00ad0101344d756c74694c6f636174696f6e000010011c5175657279496400009d01012058636d4572726f72000e1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f727c73656e64696e6720746865206e6f74696669636174696f6e20746f2069742e007c5c5b206c6f636174696f6e2c2071756572792049442c206572726f72205c5d644e6f746966795461726765744d6967726174696f6e4661696c08003502015856657273696f6e65644d756c74694c6f636174696f6e000010011c51756572794964000f1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f72b46d6967726174696e6720746865206c6f636174696f6e20746f206f7572206e65772058434d20666f726d61742e00605c5b206c6f636174696f6e2c207175657279204944205c5d34417373657473436c61696d65640c002c0110483235360000ad0101344d756c74694c6f636174696f6e00002102015056657273696f6e65644d756c746941737365747300100cc0536f6d65206173736574732068617665206265656e20636c61696d65642066726f6d20616e206173736574207472617000685c5b20686173682c206f726967696e2c20617373657473205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a901100c78636d087632187472616974731c4f7574636f6d6500010c20436f6d706c657465040010011857656967687400000028496e636f6d706c657465080010011857656967687400009d0101144572726f72000100144572726f7204009d0101144572726f7200020000ad01100c78636d087631346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72b10101244a756e6374696f6e730000b101100c78636d087631346d756c74696c6f636174696f6e244a756e6374696f6e7300012410486572650000000858310400b50101204a756e6374696f6e0001000858320800b50101204a756e6374696f6e0000b50101204a756e6374696f6e0002000858330c00b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0003000858341000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0004000858351400b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0005000858361800b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0006000858371c00b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0007000858382000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e0000b50101204a756e6374696f6e00080000b501100c78636d087631206a756e6374696f6e204a756e6374696f6e0001242450617261636861696e0400b901010c7533320000002c4163636f756e744964333208011c6e6574776f726bbd0101244e6574776f726b496400010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726bbd0101244e6574776f726b4964000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726bbd0101244e6574776f726b496400010c6b6579110101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400c5010110753132380005002847656e6572616c4b65790400c10101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000600244f6e6c794368696c6400070024506c7572616c6974790801086964c9010118426f6479496400011070617274cd010120426f64795061727400080000b9010000061c00bd01100c78636d087630206a756e6374696f6e244e6574776f726b49640001100c416e79000000144e616d65640400c10101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010020506f6c6b61646f74000200184b7573616d6100030000c101101c73705f636f72651c626f756e646564407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004003001185665633c543e0000c5010000061800c901100c78636d087630206a756e6374696f6e18426f6479496400012810556e6974000000144e616d65640400c10101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010014496e6465780400b901010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e00080020547265617375727900090000cd01100c78636d087630206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74b901010c753332000100204672616374696f6e08010c6e6f6db901010c75333200011464656e6f6db901010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6db901010c75333200011464656e6f6db901010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6db901010c75333200011464656e6f6db901010c75333200040000d1010c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400d50101745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e0000d501000002d90100d9010c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c00017034576974686472617741737365740400dd01012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400dd01012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400dd01012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e7365f9010120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e736665724173736574080118617373657473dd01012c4d756c746941737365747300012c62656e6566696369617279ad0101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473dd01012c4d756c746941737365747300011064657374ad0101344d756c74694c6f636174696f6e00010c78636dd101011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065050201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c09020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b901010c7533320001406d61785f6d6573736167655f73697a65b901010c7533320001306d61785f6361706163697479b901010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b901010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b901010c75333200011873656e646572b901010c753332000124726563697069656e74b901010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400b1010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374ad0101344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c01186173736574730d0201404d756c7469417373657446696c7465720001286d61785f617373657473b901010c75333200012c62656e6566696369617279ad0101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365741001186173736574730d0201404d756c7469417373657446696c7465720001286d61785f617373657473b901010c75333200011064657374ad0101344d756c74694c6f636174696f6e00010c78636dd101011c58636d3c28293e000e003445786368616e67654173736574080110676976650d0201404d756c7469417373657446696c74657200011c72656365697665dd01012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c01186173736574730d0201404d756c7469417373657446696c74657200011c72657365727665ad0101344d756c74694c6f636174696f6e00010c78636dd101011c58636d3c28293e00100040496e69746961746554656c65706f72740c01186173736574730d0201404d756c7469417373657446696c74657200011064657374ad0101344d756c74694c6f636174696f6e00010c78636dd101011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374ad0101344d756c74694c6f636174696f6e0001186173736574730d0201404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e08011066656573e50101284d756c746941737365740001307765696768745f6c696d69741902012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400d101014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e6469780400d101014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473dd01012c4d756c74694173736574730001187469636b6574ad0101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b0000dd01100c78636d087631286d756c746961737365742c4d756c746941737365747300000400e101013c5665633c4d756c746941737365743e0000e101000002e50100e501100c78636d087631286d756c74696173736574284d756c7469417373657400000801086964e901011c4173736574496400010c66756eed01012c46756e676962696c6974790000e901100c78636d087631286d756c746961737365741c4173736574496400010820436f6e63726574650400ad0101344d756c74694c6f636174696f6e000000204162737472616374040030011c5665633c75383e00010000ed01100c78636d087631286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400c5010110753132380000002c4e6f6e46756e6769626c650400f10101344173736574496e7374616e636500010000f101100c78636d087631286d756c74696173736574344173736574496e7374616e636500011c24556e646566696e656400000014496e6465780400c50101107531323800010018417272617934040040011c5b75383b20345d000200184172726179380400f501011c5b75383b20385d0003001c417272617931360400390101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050010426c6f62040030011c5665633c75383e00060000f501000003080000000800f9010c0c78636d08763220526573706f6e7365000110104e756c6c000000184173736574730400dd01012c4d756c74694173736574730001003c457865637574696f6e526573756c740400fd0101504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e04001c013873757065723a3a56657273696f6e00030000fd0104184f7074696f6e0404540101020108104e6f6e6500000010536f6d650400010200000100000102000004081c9d010005020c0c78636d087630284f726967696e4b696e64000110184e617469766500000040536f7665726569676e4163636f756e74000100245375706572757365720002000c58636d0003000009020c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e00000d02100c78636d087631286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e6974650400dd01012c4d756c74694173736574730000001057696c6404001102013857696c644d756c74694173736574000100001102100c78636d087631286d756c746961737365743857696c644d756c746941737365740001080c416c6c00000014416c6c4f660801086964e901011c4173736574496400010c66756e1502013c57696c6446756e676962696c697479000100001502100c78636d087631286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c650001000019020c0c78636d0876322c5765696768744c696d697400010824556e6c696d697465640000001c4c696d69746564040028010c753634000100001d0204184f7074696f6e04045401ad010108104e6f6e6500000010536f6d650400ad0100000100002102080c78636d5056657273696f6e65644d756c746941737365747300010808563004002502014c5665633c76303a3a4d756c746941737365743e0000000856310400dd01013c76313a3a4d756c74694173736574730001000025020000022902002902100c78636d0876302c6d756c74695f6173736574284d756c74694173736574000130104e6f6e650000000c416c6c0001002c416c6c46756e6769626c6500020038416c6c4e6f6e46756e6769626c650003004c416c6c416273747261637446756e6769626c65040108696430011c5665633c75383e00040058416c6c41627374726163744e6f6e46756e6769626c65040114636c61737330011c5665633c75383e0005004c416c6c436f6e637265746546756e6769626c6504010869642d0201344d756c74694c6f636174696f6e00060058416c6c436f6e63726574654e6f6e46756e6769626c65040114636c6173732d0201344d756c74694c6f636174696f6e00070040416273747261637446756e6769626c65080108696430011c5665633c75383e000118616d6f756e74c5010110753132380008004c41627374726163744e6f6e46756e6769626c65080114636c61737330011c5665633c75383e000120696e7374616e6365f10101344173736574496e7374616e636500090040436f6e637265746546756e6769626c6508010869642d0201344d756c74694c6f636174696f6e000118616d6f756e74c501011075313238000a004c436f6e63726574654e6f6e46756e6769626c65080114636c6173732d0201344d756c74694c6f636174696f6e000120696e7374616e6365f10101344173736574496e7374616e6365000b00002d02100c78636d087630386d756c74695f6c6f636174696f6e344d756c74694c6f636174696f6e000124104e756c6c0000000858310400310201204a756e6374696f6e0001000858320800310201204a756e6374696f6e0000310201204a756e6374696f6e0002000858330c00310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0003000858341000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0004000858351400310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0005000858361800310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0006000858371c00310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0007000858382000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e000800003102100c78636d087630206a756e6374696f6e204a756e6374696f6e00012818506172656e740000002450617261636861696e0400b901010c7533320001002c4163636f756e744964333208011c6e6574776f726bbd0101244e6574776f726b496400010869640401205b75383b2033325d000200384163636f756e74496e646578363408011c6e6574776f726bbd0101244e6574776f726b4964000114696e64657828010c753634000300304163636f756e744b6579323008011c6e6574776f726bbd0101244e6574776f726b496400010c6b6579110101205b75383b2032305d0004003850616c6c6574496e7374616e6365040008010875380005003047656e6572616c496e6465780400c5010110753132380006002847656e6572616c4b65790400c10101805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000700244f6e6c794368696c6400080024506c7572616c6974790801086964c9010118426f6479496400011070617274cd010120426f647950617274000900003502080c78636d5856657273696f6e65644d756c74694c6f636174696f6e00010808563004002d02014476303a3a4d756c74694c6f636174696f6e0000000856310400ad01014476313a3a4d756c74694c6f636174696f6e0001000039020c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144576656e7404045400010c34496e76616c6964466f726d61740400f501011c5b75383b20385d00000880446f776e77617264206d65737361676520697320696e76616c69642058434d2e205c5b206964205c5d48556e737570706f7274656456657273696f6e0400f501011c5b75383b20385d000108bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e205c5b206964205c5d404578656375746564446f776e776172640800f501011c5b75383b20385d0000a901011c4f7574636f6d65000208c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e445c5b2069642c206f7574636f6d65205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909093d020c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144576656e7404045400011834496e76616c6964466f726d61740401286d6573736167655f69640401244d657373616765496400000480446f776e77617264206d65737361676520697320696e76616c69642058434d2e48556e737570706f7274656456657273696f6e0401286d6573736167655f69640401244d6573736167654964000104bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e404578656375746564446f776e776172640801286d6573736167655f69640401244d657373616765496400011c6f7574636f6d65a901011c4f7574636f6d65000204c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e3c5765696768744578686175737465640c01286d6573736167655f69640401244d657373616765496400014072656d61696e696e675f77656967687424011857656967687400013c72657175697265645f776569676874240118576569676874000304f054686520776569676874206c696d697420666f722068616e646c696e6720646f776e77617264206d657373616765732077617320726561636865642e484f766572776569676874456e7175657565640c01286d6573736167655f69640401244d65737361676549640001406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800013c72657175697265645f7765696768742401185765696768740004041901446f776e77617264206d657373616765206973206f76657277656967687420616e642077617320706c6163656420696e20746865206f7665727765696768742071756575652e484f76657277656967687453657276696365640801406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800012c7765696768745f75736564240118576569676874000504e0446f776e77617264206d6573736167652066726f6d20746865206f766572776569676874207175657565207761732065786563757465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909410208306672616d655f73797374656d14506861736500010c384170706c7945787472696e73696304001c010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e0002000045020000022c004902000002c8004d0208306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6eb901014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d655102016473705f72756e74696d653a3a52756e74696d65537472696e6700005102000005020055020c306672616d655f73797374656d1870616c6c65741043616c6c0404540001201872656d61726b04011872656d61726b30011c5665633c75383e000014684d616b6520736f6d65206f6e2d636861696e2072656d61726b2e002823203c7765696768743e202d20604f283129602c23203c2f7765696768743e387365745f686561705f7061676573040114706167657310010c753634000104f853657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f6465040110636f646530011c5665633c75383e0002306453657420746865206e65772072756e74696d6520636f64652e002823203c7765696768743e31012d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f64656045012d20312063616c6c20746f206063616e5f7365745f636f6465603a20604f28532960202863616c6c73206073705f696f3a3a6d6973633a3a72756e74696d655f76657273696f6e60207768696368206973342020657870656e73697665292e842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e4d0154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652c206275742067656e6572616c6c7920746869732069732076657279b8657870656e736976652e2057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e2c23203c2f7765696768743e5c7365745f636f64655f776974686f75745f636865636b73040110636f646530011c5665633c75383e000324190153657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e002823203c7765696768743e8c2d20604f2843296020776865726520604360206c656e677468206f662060636f646560842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e550154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652e2057652077696c6c207472656174207468697320617320612066756c6c48626c6f636b2e2023203c2f7765696768743e2c7365745f73746f726167650401146974656d73590201345665633c4b657956616c75653e0004046853657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f726167650401106b657973610201205665633c4b65793e000504744b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697808011870726566697830010c4b657900011c7375626b6579731c010c75333200061011014b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e0039012a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e6465723d0174686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e4472656d61726b5f776974685f6576656e7404011872656d61726b30011c5665633c75383e000704a44d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e59020000025d02005d02000004083030006102000002300065020c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2401185765696768740001246d61785f626c6f636b2401185765696768740001247065725f636c617373690201845065724469737061746368436c6173733c57656967687473506572436c6173733e000069020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c617373040454016d02000c01186e6f726d616c6d0201045400012c6f7065726174696f6e616c6d020104540001246d616e6461746f72796d0201045400006d020c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632401185765696768740001346d61785f65787472696e736963710201384f7074696f6e3c5765696768743e0001246d61785f746f74616c710201384f7074696f6e3c5765696768743e0001207265736572766564710201384f7074696f6e3c5765696768743e0000710204184f7074696f6e04045401240108104e6f6e6500000010536f6d65040024000001000075020c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178790201545065724469737061746368436c6173733c7533323e000079020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c617373040454011c000c01186e6f726d616c1c01045400012c6f7065726174696f6e616c1c0104540001246d616e6461746f72791c01045400007d02082873705f776569676874733c52756e74696d65446257656967687400000801107265616410010c753634000114777269746510010c75363400008102082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d655102013452756e74696d65537472696e67000124696d706c5f6e616d655102013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e1c010c753332000130737065635f76657273696f6e1c010c753332000130696d706c5f76657273696f6e1c010c753332000110617069738502011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e1c010c75333200013473746174655f76657273696f6e080108753800008502040c436f77040454018902000400890200000089020000028d02008d0200000408f5011c0091020c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c65749502101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c045300000400450201185665633c543e000099020c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f77280124543a3a4d6f6d656e7400004054536574207468652063757272656e742074696d652e005501546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed470686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e0041015468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e742073706563696669656420627940604d696e696d756d506572696f64602e00d4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e002823203c7765696768743e31012d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f283129602961012d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e402020606f6e5f66696e616c697a656029d42d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e9d020000040c0018a400a1020c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e6465780000489841737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00dc5061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f02d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e602d204f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e207472616e7366657208010c6e6577a50201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e6465780001505d0141737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6eb86973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0025012d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e642d204f6e65207472616e73666572206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743ae02020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e7429e42020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e74292c23203c2f7765696768743e1066726565040114696e64657810013c543a3a4163636f756e74496e646578000248944672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e005d015061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e000d012d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e0084456d6974732060496e646578467265656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e602d204f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e38666f7263655f7472616e736665720c010c6e6577a50201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65a40110626f6f6c0003545501466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479e868656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a42d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e41012d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e782d20557020746f206f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743af42020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e657229f82020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e6572292c23203c2f7765696768743e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004484101467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206861766520616c6e6f6e2d66726f7a656e206163636f756e742060696e646578602e00ac2d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e0088456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e702d20557020746f206f6e6520736c617368206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea5020c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e64657801ac011408496404000001244163636f756e74496400000014496e6465780400a90201304163636f756e74496e6465780001000c526177040030011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400110101205b75383b2032305d00040000a902000006ac00ad020c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909b102101c73705f636f72651c626f756e646564407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401b502045300000400bd0201185665633c543e0000b502083c70616c6c65745f62616c616e6365732c42616c616e63654c6f636b041c42616c616e63650118000c01086964f50101384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e73b902011c526561736f6e730000b902083c70616c6c65745f62616c616e6365731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000bd02000002b50200c102101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401c502045300000400c90201185665633c543e0000c502083c70616c6c65745f62616c616e6365732c52657365727665446174610844526573657276654964656e74696669657201f5011c42616c616e63650118000801086964f5010144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e63650000c902000002c50200cd020c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000118207472616e7366657208011064657374a50201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565c5010128543a3a42616c616e6365000064d45472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e000501607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e11014966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b06f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002823203c7765696768743e61012d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f7220696e70757420636f6e66696794202074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e31012d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c6578382020636f6d7075746174696f6e2e004852656c617465642066756e6374696f6e733a004d0120202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e290120202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365cc2020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642e5d0120202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765722060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e636564602e5d0120202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616c20636865636bdc202020207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e842d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d11012d204f726967696e206163636f756e7420697320616c726561647920696e206d656d6f72792c20736f206e6f204442206f7065726174696f6e7320666f72207468656d2e2c23203c2f7765696768743e2c7365745f62616c616e63650c010c77686fa50201504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f66726565c5010128543a3a42616c616e63650001306e65775f7265736572766564c5010128543a3a42616c616e636500012090536574207468652062616c616e636573206f66206120676976656e206163636f756e742e001d01546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c3101616c736f20616c7465722074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e6365602920617070726f7072696174656c792e1501496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742cfc69742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b0546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e38666f7263655f7472616e736665720c0118736f75726365a50201504163636f756e7449644c6f6f6b75704f663c543e00011064657374a50201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565c5010128543a3a42616c616e63650002184d0145786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d6179206265287370656369666965642e2823203c7765696768743e4d012d2053616d65206173207472616e736665722c20627574206164646974696f6e616c207265616420616e6420777269746520626563617573652074686520736f75726365206163636f756e74206973206e6f747c2020617373756d656420746f20626520696e20746865206f7665726c61792e2c23203c2f7765696768743e4c7472616e736665725f6b6565705f616c69766508011064657374a50201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565c5010128543a3a42616c616e63650003184d0153616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c207468653c6f726967696e206163636f756e742e00b8393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c05b607472616e73666572605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572307472616e736665725f616c6c08011064657374a50201504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665a40110626f6f6c00044405015472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e0059014e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e7320746861746101616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062655d017472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c4501796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f72616765406465706f736974732c206574632e2e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e00a02d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e59012d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c4d0120206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f72590120207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746fc820206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e2023203c7765696768743e39012d204f2831292e204a757374206c696b65207472616e736665722c206275742072656164696e672074686520757365722773207472616e7366657261626c652062616c616e63652066697273742e302020233c2f7765696768743e3c666f7263655f756e7265736572766508010c77686fa50201504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050cb0556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e006c43616e206f6e6c792062652063616c6c656420627920524f4f542e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed1020c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001203856657374696e6742616c616e63650000049856657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e73000104c44163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304e856616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650004048c5472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c65000504c8412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e740006048842656e6566696369617279206163636f756e74206d757374207072652d65786973743c546f6f4d616e795265736572766573000704ac4e756d626572206f66206e616d656420726573657276657320657863656564204d6178526573657276657304b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909d5020c3473705f61726974686d657469632c66697865645f706f696e742446697865645531323800000400180110753132380000d902086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e7400000008563200010000dd02101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401e102045300000400e90201185665633c543e0000e102104473705f636f6e73656e7375735f617572611c737232353531392c6170705f73723235353139185075626c696300000400e502013c737232353531393a3a5075626c69630000e5020c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d0000e902000002e10200ed02084873705f636f6e73656e7375735f736c6f747310536c6f740000040010010c7536340000f1020000020000f502000002f90200f9020000040800fd0200fd0208447370697269746e65745f72756e74696d652c53657373696f6e4b657973000004011061757261e10201c43c41757261206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c6963000001030000021c000503000004080903300009030c1c73705f636f72651863727970746f244b65795479706549640000040040011c5b75383b20345d00000d030c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b657973fd02011c543a3a4b65797300011470726f6f6630011c5665633c75383e000038e453657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e1d01416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d0546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002823203c7765696768743e11012d20436f6d706c65786974793a20604f283129602e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f6698202060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a20606f726967696e206163636f756e74602c2060543a3a56616c696461746f7249644f66602c20604e6578744b65797360a02d2044625772697465733a20606f726967696e206163636f756e74602c20604e6578744b65797360802d204462526561647320706572206b65792069643a20604b65794f776e657260842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e2870757267655f6b657973000140c852656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722e00c05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e005501546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265205369676e656420616e6420746865206163636f756e74206d757374206265206569746865722062655d01636f6e7665727469626c6520746f20612076616c696461746f72204944207573696e672074686520636861696e2773207479706963616c2061646472657373696e672073797374656d20287468697320757375616c6c7951016d65616e73206265696e67206120636f6e74726f6c6c6572206163636f756e7429206f72206469726563746c7920636f6e7665727469626c6520696e746f20612076616c696461746f722049442028776869636894757375616c6c79206d65616e73206265696e672061207374617368206163636f756e74292e002823203c7765696768743e61012d20436f6d706c65786974793a20604f2831296020696e206e756d626572206f66206b65792074797065732e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468a420206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a2060543a3a56616c696461746f7249644f66602c20604e6578744b657973602c20606f726967696e206163636f756e7460a02d2044625772697465733a20604e6578744b657973602c20606f726967696e206163636f756e7460842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e11030c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742e15030c4470617261636861696e5f7374616b696e6714747970657324526f756e64496e666f042c426c6f636b4e756d6265720110000c011c63757272656e741c013053657373696f6e496e646578000114666972737410012c426c6f636b4e756d6265720001186c656e67746810012c426c6f636b4e756d626572000019030c4470617261636861696e5f7374616b696e671474797065734444656c65676174696f6e436f756e7465720000080114726f756e641c013053657373696f6e496e64657800011c636f756e7465721c010c75333200001d030c4470617261636861696e5f7374616b696e67147479706573145374616b6508244163636f756e74496401001c42616c616e63650118000801146f776e65720001244163636f756e744964000118616d6f756e7418011c42616c616e6365000021030c4470617261636861696e5f7374616b696e671474797065732443616e6469646174650c244163636f756e74496401001c42616c616e63650118644d617844656c656761746f727350657243616e646964617465000014010869640001244163636f756e7449640001147374616b6518011c42616c616e636500012864656c656761746f727325030101014f7264657265645365743c5374616b653c4163636f756e7449642c2042616c616e63653e2c204d617844656c656761746f727350657243616e6469646174653e000114746f74616c18011c42616c616e63650001187374617475733103013c43616e646964617465537461747573000025030c4470617261636861696e5f7374616b696e670c736574284f726465726564536574080454011d0304530000040029030140426f756e6465645665633c542c20533e00002903101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454011d030453000004002d0301185665633c543e00002d030000021d030031030c4470617261636861696e5f7374616b696e671474797065733c43616e646964617465537461747573000108184163746976650000001c4c656176696e6704001c013053657373696f6e496e6465780001000035030c4470617261636861696e5f7374616b696e6714747970657328546f74616c5374616b65041c42616c616e6365011800080124636f6c6c61746f727318011c42616c616e636500012864656c656761746f727318011c42616c616e6365000039030c4470617261636861696e5f7374616b696e670c736574284f726465726564536574080454011d030453000004003d030140426f756e6465645665633c542c20533e00003d03101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454011d030453000004002d0301185665633c543e000041030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e34496e666c6174696f6e496e666f0000080120636f6c6c61746f724503012c5374616b696e67496e666f00012464656c656761746f724503012c5374616b696e67496e666f000045030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e2c5374616b696e67496e666f00000801206d61785f726174658c012c5065727175696e74696c6c00012c7265776172645f726174654903012852657761726452617465000049030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e28526577617264526174650000080118616e6e75616c8c012c5065727175696e74696c6c0001247065725f626c6f636b8c012c5065727175696e74696c6c00004d03101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601180453000004005103013842547265654d61703c4b2c20563e00005103042042547265654d617008044b011004560118000400550300000055030000025903005903000004081018005d030c4470617261636861696e5f7374616b696e671870616c6c65741043616c6c0404540001543c666f7263655f6e65775f726f756e64000018d0466f7263657320746865207374617274206f6620746865206e657720726f756e6420696e20746865206e65787420626c6f636b2e00a0546865206e657720726f756e642077696c6c20626520656e666f7263656420766961203c54206173a453686f756c64456e6453657373696f6e3c5f3e3e3a3a73686f756c645f656e645f73657373696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e347365745f696e666c6174696f6e100170636f6c6c61746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c000198636f6c6c61746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00017464656c656761746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c00019c64656c656761746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00013cf05365742074686520616e6e75616c20696e666c6174696f6e207261746520746f20646572697665207065722d726f756e6420696e666c6174696f6e2e00110154686520696e666c6174696f6e2064657461696c732061726520636f6e736964657265642076616c69642069662074686520616e6e75616c207265776172642072617465f0697320617070726f78696d6174656c7920746865207065722d626c6f636b207265776172642072617465206d756c7469706c69656420627920746865ac657374696d617465642a20746f74616c206e756d626572206f6620626c6f636b732070657220796561722e00cc54686520657374696d61746564206176657261676520626c6f636b2074696d65206973207477656c7665207365636f6e64732e000d014e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20616e6420666f7220656163682063616e646964617465206f766572207468656972090164656c656761746f727320746f207570646174652074686569722072657761726473206265666f72652074686520726577617264207261746573206368616e67652ee04e6565647320746f20626520696d70726f766564207768656e207363616c696e6720757020604d6178546f7043616e64696461746573602e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060526f756e64496e666c6174696f6e536574602e6c7365745f6d61785f73656c65637465645f63616e6469646174657304010c6e65771c010c75333200022c090153657420746865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e6469646174657320746861742063616e2062652073656c6563746564a861742074686520626567696e6e696e67206f6620656163682076616c69646174696f6e20726f756e642e00e84368616e67657320617265206e6f74206170706c69656420756e74696c20746865207374617274206f6620746865206e65787420726f756e642e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617853656c656374656443616e64696461746573536574602e507365745f626c6f636b735f7065725f726f756e6404010c6e6577100138543a3a426c6f636b4e756d62657200032cd453657420746865206e756d626572206f6620626c6f636b7320656163682076616c69646174696f6e20726f756e64206c617374732e000901496620746865206e65772076616c7565206973206c657373207468616e20746865206c656e677468206f66207468652063757272656e7420726f756e642c20746865050173797374656d2077696c6c20696d6d6564696174656c79206d6f766520746f20746865206e65787420726f756e6420696e20746865206e65787420626c6f636b2e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060426c6f636b73506572526f756e64536574602e5c7365745f6d61785f63616e6469646174655f7374616b6504010c6e657718013042616c616e63654f663c543e000418110153657420746865206d6178696d616c20616d6f756e74206120636f6c6c61746f722063616e207374616b652e204578697374696e67207374616b657320617265206e6f74206368616e6765642e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617843616e6469646174655374616b654368616e676564602e58666f7263655f72656d6f76655f63616e646964617465040120636f6c6c61746f72a502018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650005300101466f726365646c792072656d6f766573206120636f6c6c61746f722063616e6469646174652066726f6d2074686520546f7043616e6469646174657320616e64e4636c6561727320616c6c206173736f6369617465642073746f7261676520666f72207468652063616e64696461746520616e642074686569722c64656c656761746f72732e00fc507265706172657320756e7374616b696e67206f66207468652063616e6469646174657320616e642074686569722064656c656761746f7273207374616b65f077686963682063616e20626520756e6c6f636b6564207669612060756e6c6f636b5f756e7374616b6564602061667465722077616974696e6720617409016c6561737420605374616b654475726174696f6e60206d616e7920626c6f636b732e20416c736f20696e6372656d656e7473207265776172647320666f722074686578636f6c6c61746f7220616e642074686569722064656c656761746f72732e00d4496e6372656d656e74732072657761726473206f662063616e64696461746520616e642074686569722064656c656761746f72732e0064456d697473206043616e64696461746552656d6f766564602e3c6a6f696e5f63616e646964617465730401147374616b6518013042616c616e63654f663c543e000644904a6f696e2074686520736574206f6620636f6c6c61746f722063616e646964617465732e00f8496e20746865206e65787420626c6f636b732c2069662074686520636f6c6c61746f722063616e6469646174652068617320656e6f7567682066756e6473fc7374616b656420746f20626520696e636c7564656420696e20616e79206f662074686520746f7020604d617853656c656374656443616e64696461746573600d01706f736974696f6e732c2069742077696c6c20626520696e636c7564656420696e2074686520736574206f6620706f74656e7469616c20617574686f72732074686174050177696c6c2062652073656c656374656420627920746865207374616b652d77656967687465642072616e646f6d2073656c656374696f6e2066756e6374696f6e2e00fc546865207374616b65642066756e6473206f6620746865206e657720636f6c6c61746f722063616e6469646174652061726520616464656420746f2074686568746f74616c207374616b65206f66207468652073797374656d2e00110154686520746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e2074686520616c6c6f7765642072616e67652061738873657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e00f0546865206469737061746368206f726967696e206d757374206e6f7420626520616c72656164792070617274206f662074686520636f6c6c61746f729463616e64696461746573206e6f72206f66207468652064656c656761746f7273207365742e0084456d69747320604a6f696e6564436f6c6c61746f7243616e64696461746573602e54696e69745f6c656176655f63616e6469646174657300076cc05265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e0005014f6e20737563636573732c20746865206163636f756e7420697320696d6d6564696174656c792072656d6f7665642066726f6d207468652063616e6469646174651101706f6f6c20746f2070726576656e742073656c656374696f6e206173206120636f6c6c61746f7220696e206675747572652076616c69646174696f6e20726f756e64732cd862757420756e7374616b696e67206f66207468652066756e6473206973206578656375746564207769746820612064656c6179206f665c605374616b654475726174696f6e6020626c6f636b732e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00f454686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e204974206973110175706461746564206576656e2074686f756768207468652066756e6473206f66207468652063616e6469646174652077686f207369676e616c656420746f206c65617665fc617265207374696c6c206c6f636b656420666f7220604578697444656c617960202b20605374616b654475726174696f6e60206d6f726520626c6f636b732e000d014e4f544520313a2055706f6e207374617274696e672061206e65772073657373696f6e5f6920696e20606e65775f73657373696f6e602c207468652063757272656e741101746f702063616e64696461746573206172652073656c656374656420746f20626520626c6f636b20617574686f727320666f722073657373696f6e5f692b312e20416e7905016368616e67657320746f2074686520746f702063616e64696461746573206166746572776172647320646f206e6f74206566666563742074686520736574206f6660617574686f727320666f722073657373696f6e5f692b312ed8546875732c207765206861766520746f206d616b652073757265206e6f6e65206f6620746865736520636f6c6c61746f72732063616ebc6c65617665206265666f72652073657373696f6e5f692b3120656e64732062792064656c6179696e67207468656972846578697420666f7220604578697444656c617960206d616e7920626c6f636b732e00f04e4f544520323a20576520646f206e6f7420696e6372656d656e74207265776172647320696e20746869732065787472696e73696320617320746865110163616e64696461746520636f756c64207374696c6c20617574686f7220626c6f636b732c20616e64207468757320626520656c696769626c6520746f2072656365697665ac726577617264732c20756e74696c2074686520656e64206f6620746865206e6578742073657373696f6e2e0078456d6974732060436f6c6c61746f725363686564756c656445786974602e60657865637574655f6c656176655f63616e64696461746573040120636f6c6c61746f72a502018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500084405014578656375746520746865206e6574776f726b2065786974206f6620612063616e6469646174652077686f2072657175657374656420746f206c65617665206174f06c65617374206045786974517565756544656c61796020726f756e64732061676f2e20507265706172657320756e7374616b696e67206f6620746865fc63616e6469646174657320616e642074686569722064656c656761746f7273207374616b652077686963682063616e20626520756e6c6f636b656420766961f460756e6c6f636b5f756e7374616b6564602061667465722077616974696e67206174206c6561737420605374616b654475726174696f6e60206d616e791c626c6f636b732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00fc4e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20666f7220656163682063616e646964617465206f766572207468656972fc64656c656761746f727320746f2073657420726577617264732e204e6565647320746f20626520696d70726f766564207768656e207363616c696e672075704c604d6178546f7043616e64696461746573602e0054456d6974732060436f6c6c61746f724c656674602e5c63616e63656c5f6c656176655f63616e646964617465730009200501526576657274207468652070726576696f75736c79207265717565737465642065786974206f6620746865206e6574776f726b206f66206120636f6c6c61746f720d0163616e6469646174652e204f6e20737563636573732c2061646473206261636b207468652063616e64696461746520746f2074686520546f7043616e6469646174657368616e6420757064617465732074686520636f6c6c61746f72732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e0074456d6974732060436f6c6c61746f7243616e63656c656445786974602e5063616e6469646174655f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000a30a85374616b65206d6f72652066756e647320666f72206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686505016163636f756e7420746f20626520616464656420746f2069742e20546865206c617267657220616d6f756e74206f662066756e64732c2074686520686967686572dc6368616e63657320746f2062652073656c65637465642061732074686520617574686f72206f6620746865206e65787420626c6f636b2e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644d6f7265602e5063616e6469646174655f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000b3ca85374616b65206c6573732066756e647320666f72206120636f6c6c61746f722063616e6469646174652e000501496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c20746865206163636f756e74fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e000d0154686520756e7374616b65642066756e647320617265206e6f742072656c656173656420696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644c657373602e3c6a6f696e5f64656c656761746f7273080120636f6c6c61746f72a502018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000118616d6f756e7418013042616c616e63654f663c543e000c5805014a6f696e2074686520736574206f662064656c656761746f72732062792064656c65676174696e6720746f206120636f6c6c61746f722063616e6469646174652e000501546865206163636f756e7420746861742077616e747320746f2064656c65676174652063616e6e6f742062652070617274206f662074686520636f6c6c61746f725c63616e64696461746573207365742061732077656c6c2e0009015468652063616c6c6572206d757374205f6e6f745f206861766520612064656c65676174696f6e2e20496620746861742069732074686520636173652c2074686579b061726520726571756972656420746f2066697273742072656d6f7665207468652064656c65676174696f6e2e00110154686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206d696e696d756d20726571756972656420746f206265636f6d65c4612064656c656761746f722061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0009014173206f6e6c7920604d617844656c656761746f7273506572436f6c6c61746f72602061726520616c6c6f77656420746f2064656c6567617465206120676976656e0501636f6c6c61746f722c2074686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206c6f77657374206f6e6520696e01017468652063757272656e7420736574206f662064656c656761746f7220666f7220746865206f7065726174696f6e20746f206265206d65616e696e6766756c2e00090154686520636f6c6c61746f72277320746f74616c207374616b652061732077656c6c206173207468652070616c6c6574277320746f74616c207374616b652061726558696e63726561736564206163636f7264696e676c792e004c456d697473206044656c65676174696f6e602ebc456d697473206044656c65676174696f6e5265706c6163656460206966207468652063616e64696461746520686173f8604d617844656c656761746f7273506572436f6c6c61746f7260206d616e792064656c65676174696f6e732062757420746869732064656c656761746f72fc7374616b6564206d6f7265207468616e206f6e65206f6620746865206f746865722064656c656761746f7273206f6620746869732063616e6469646174652e406c656176655f64656c656761746f7273000d400d014c656176652074686520736574206f662064656c656761746f727320616e642c20627920696d706c69636174696f6e2c207265766f6b6520746865206f6e676f696e672c64656c65676174696f6e2e001101416c6c207374616b65642066756e647320617265206e6f7420756e6c6f636b656420696d6d6564696174656c792c2062757420746865792061726520616464656420746f0101746865207175657565206f662070656e64696e6720756e7374616b696e672c20616e642077696c6c206566666563746976656c792062652072656c65617365640901616674657220605374616b654475726174696f6e6020626c6f636b732066726f6d20746865206d6f6d656e74207468652064656c656761746f72206c65617665732e000d0154686973206f7065726174696f6e20726564756365732074686520746f74616c207374616b65206f66207468652070616c6c65742061732077656c6c2061732074686509017374616b6573206f6620616c6c20636f6c6c61746f7273207468617420776572652064656c6567617465642c20706f74656e7469616c6c7920616666656374696e6705017468656972206368616e63657320746f20626520696e636c7564656420696e2074686520736574206f662063616e6469646174657320696e20746865206e6578741c726f756e64732e0005014175746f6d61746963616c6c7920696e6372656d656e74732074686520616363756d756c617465642072657761726473206f6620746865206f726967696e206f665c7468652063757272656e742064656c65676174696f6e2e0058456d697473206044656c656761746f724c656674602e5064656c656761746f725f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000e18dc496e63726561736520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686594636f6c6c61746f722063616e64696461746520746f20626520616464656420746f2069742e0070456d697473206044656c656761746f725374616b65644d6f7265602e5064656c656761746f725f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000f40d452656475636520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e000901496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c2074686520636f6c6c61746f72fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00090154686520756e7374616b65642066756e647320617265206e6f742072656c6561736520696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e0001015468652072656d61696e696e67207374616b65642066756e6473206d757374207374696c6c206265206c6172676572207468616e20746865206d696e696d756df0726571756972656420627920746869732070616c6c657420746f206d61696e7461696e2074686520737461747573206f662064656c656761746f722e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0070456d697473206044656c656761746f725374616b65644c657373602e3c756e6c6f636b5f756e7374616b6564040118746172676574a502018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365001028f4556e6c6f636b20616c6c2070726576696f75736c79207374616b65642066756e6473207468617420617265206e6f7720617661696c61626c6520666f720501756e6c6f636b696e6720627920746865206f726967696e206163636f756e7420616674657220605374616b654475726174696f6e6020626c6f636b73206861766520656c61707365642e00fc5765696768743a204f285529207768657265205520697320746865206e756d626572206f66206c6f636b656420756e7374616b696e6720726571756573747380626f756e64656420627920604d6178556e7374616b655265717565737473602eac2d2052656164733a205b4f726967696e204163636f756e745d2c20556e7374616b696e672c204c6f636b73682d205772697465733a20556e7374616b696e672c204c6f636b73e82d204b696c6c733a20556e7374616b696e672026204c6f636b73206966206e6f2062616c616e6365206973206c6f636b656420616e796d6f72652c23203c2f7765696768743e34636c61696d5f7265776172647300113cd4436c61696d20626c6f636b20617574686f72696e67207265776172647320666f72207468652074617267657420616464726573732e00090152657175697265732060526577617264736020746f20626520736574206265666f726568616e642c2077686963682063616e2062792074726967676572656420627970616e79206f662074686520666f6c6c6f77696e67206f7074696f6e73e82a2043616c6c696e6720696e6372656d656e745f7b636f6c6c61746f722c2064656c656761746f727d5f72657761726473202861637469766529782a20416c746572696e6720796f7572207374616b65202861637469766529b02a204c656176696e6720746865206e6574776f726b206173206120636f6c6c61746f72202861637469766529bc2a205265766f6b696e6720612064656c65676174696f6e20617320612064656c656761746f7220286163746976652909012a204265696e6720612064656c656761746f722077686f736520636f6c6c61746f72206c65667420746865206e6574776f726b2c20616c7465726564207468656972a020207374616b65206f7220696e6372656d656e746564207265776172647320287061737369766529000501546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652c20652e672e2c20616e796f6e652063616e20636c61696d2c666f7220616e796f6e652e0044456d69747320605265776172646564602e68696e6372656d656e745f636f6c6c61746f725f72657761726473001218b44163746976656c7920696e6372656d656e74207468652072657761726473206f66206120636f6c6c61746f722e0005015468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72206c656176696e6720746865206e6574776f726b2e009c546865206469737061746368206f726967696e206d757374206265206120636f6c6c61746f722e6c696e6372656d656e745f64656c656761746f725f72657761726473001318b84163746976656c7920696e6372656d656e74207468652072657761726473206f6620612064656c656761746f722e00f85468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72207265766f6b696e673064656c65676174696f6e732e00a0546865206469737061746368206f726967696e206d75737420626520612064656c656761746f722e7c657865637574655f7363686564756c65645f7265776172645f6368616e67650014280d0145786563757465732074686520616e6e75616c20726564756374696f6e206f66207468652072657761726420726174657320666f7220636f6c6c61746f727320616e642c64656c656761746f72732e00dc4d6f72656f7665722c2073657473207265776172647320666f7220616c6c20636f6c6c61746f727320616e642064656c656761746f72737c6265666f72652061646a757374696e672074686520696e666c6174696f6e2e000d01546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652062656361757365207765206261696c2069662063616c6c656428746f6f206561726c792e0068456d6974732060526f756e64496e666c6174696f6e536574602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e61030c4470617261636861696e5f7374616b696e671870616c6c6574144572726f7204045400017c4444656c656761746f724e6f74466f756e64000004b8546865206163636f756e74206973206e6f742070617274206f66207468652064656c656761746f7273207365742e4443616e6469646174654e6f74466f756e64000104dc546865206163636f756e74206973206e6f742070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3c44656c656761746f72457869737473000204c8546865206163636f756e7420697320616c72656164792070617274206f66207468652064656c656761746f7273207365742e3c43616e646964617465457869737473000304ec546865206163636f756e7420697320616c72656164792070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3056616c5374616b655a65726f000404e4546865206163636f756e7420747269656420746f207374616b65206d6f7265206f72206c657373207769746820616d6f756e74207a65726f2e4056616c5374616b6542656c6f774d696e0005080d01546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f20626520616464656420746f2074686520636f6c6c61746f723c63616e64696461746573207365742e4056616c5374616b6541626f76654d61780006041101546865206163636f756e742068617320616c7265616479207374616b656420746865206d6178696d756d20616d6f756e74206f662066756e647320706f737369626c652e4844656c65676174696f6e42656c6f774d696e000708f8546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f2064656c6567617465206120636f6c6c61746f722863616e6469646174652e38416c72656164794c656176696e670008080d0154686520636f6c6c61746f722063616e6469646174652068617320616c72656164792074726967676572207468652070726f6365737320746f206c65617665207468656c736574206f6620636f6c6c61746f722063616e646964617465732e284e6f744c656176696e67000908f454686520636f6c6c61746f722063616e6469646174652077616e74656420746f20657865637574652074686520657869742062757420686173206e6f74f472657175657374656420746f206c65617665206265666f72652062792063616c6c696e672060696e69745f6c656176655f63616e64696461746573602e3843616e6e6f744c65617665596574000a08dc54686520636f6c6c61746f7220747269656420746f206c65617665206265666f72652077616974696e67206174206c6561737420666f72746045786974517565756544656c617960206d616e7920726f756e64732e6443616e6e6f744a6f696e4265666f7265556e6c6f636b696e67000b10f8546865206163636f756e742068617320612066756c6c206c697374206f6620756e7374616b696e6720726571756573747320616e64206e6565647320746ffc756e6c6f636b206174206c65617374206f6e65206f66207468657365206265666f7265206265696e672061626c6520746f206a6f696e2028616761696e292edc4e4f54453a2043616e206f6e6c792068617070656e20696620746865206163636f756e742077617320612063616e646964617465206f72f464656c656761746f72206265666f726520616e642065697468657220676f74206b69636b6564206f722065786974656420766f6c756e746172696c792e44416c726561647944656c65676174696e67000c04e4546865206163636f756e7420697320616c72656164792064656c65676174696e672074686520636f6c6c61746f722063616e6469646174652e404e6f7459657444656c65676174696e67000d080901546865206163636f756e7420686173206e6f742064656c65676174656420616e7920636f6c6c61746f722063616e646964617465207965742c2068656e6365206974806973206e6f7420696e2074686520736574206f662064656c656761746f72732e6c44656c65676174696f6e73506572526f756e644578636565646564000e1811015468652064656c656761746f722068617320657863656564656420746865206e756d626572206f662064656c65676174696f6e732070657220726f756e6420776869636894697320657175616c20746f204d617844656c656761746f7273506572436f6c6c61746f722e000901546869732070726f746563747320616761696e73742061747461636b7320696e20776869636820612064656c656761746f722063616e2072652d64656c6567617465010166726f6d206120636f6c6c61746f722077686f2068617320616c726561647920617574686f726564206120626c6f636b2c20746f20616e6f74686572206f6e6570776869636820686173206e6f7420696e207468697320726f756e642e44546f6f4d616e7944656c656761746f7273000f14010154686520636f6c6c61746f722063616e6469646174652068617320616c7265616479207265616368656420746865206d6178696d756d206e756d626572206f662c64656c656761746f72732e00050154686973206572726f722069732067656e65726174656420696e20636173652061206e65772064656c65676174696f6e207265717565737420646f6573206e6f74f47374616b6520656e6f7567682066756e647320746f207265706c61636520736f6d65206f74686572206578697374696e672064656c65676174696f6e2e60546f6f466577436f6c6c61746f7243616e64696461746573001008110154686520736574206f6620636f6c6c61746f722063616e6469646174657320776f756c642066616c6c2062656c6f7720746865207265717569726564206d696e696d756d5469662074686520636f6c6c61746f72206c6566742e5043616e6e6f745374616b6549664c656176696e67001108f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66010163616e6469646174657320616e642063616e6e6f7420706572666f726d20616e79206f7468657220616374696f6e7320696e20746865206d65616e74696d652e5c43616e6e6f7444656c656761746549664c656176696e67001208f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66ac63616e6469646174657320616e6420746875732063616e6e6f742062652064656c65676174656420746f2e804d6178436f6c6c61746f727350657244656c656761746f72457863656564656400130811015468652064656c656761746f722068617320616c72656164792064656c65676174656420746865206d6178696d756d206e756d626572206f662063616e6469646174657320616c6c6f7765642e60416c726561647944656c656761746564436f6c6c61746f72001408ec5468652064656c656761746f722068617320616c72656164792070726576696f75736c792064656c6567617465642074686520636f6c6c61746f722863616e6469646174652e4844656c65676174696f6e4e6f74466f756e64001504f854686520676976656e2064656c65676174696f6e20646f6573206e6f7420657869737420696e2074686520736574206f662064656c65676174696f6e732e24556e646572666c6f77001608050154686520636f6c6c61746f722064656c6567617465206f72207468652064656c656761746f7220697320747279696e6720746f20756e2d7374616b65206d6f72658066756e64732074686174206172652063757272656e746c79207374616b65642e4443616e6e6f7453657441626f76654d6178001708d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738061626f766520746865206d6178696d756d2076616c756520616c6c6f7765642e4443616e6e6f7453657442656c6f774d696e001808d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738062656c6f7720746865206d696e696d756d2076616c756520616c6c6f7765642e3c496e76616c69645363686564756c65001904dc416e20696e76616c696420696e666c6174696f6e20636f6e66696775726174696f6e20697320747279696e6720746f206265207365742e3c4e6f4d6f7265556e7374616b696e67001a08c4546865207374616b696e6720726577617264206265696e6720756e6c6f636b656420646f6573206e6f742065786973742e7c4d617820756e6c6f636b696e6720726571756573747320726561636865642e20546f6f4561726c79001b0801015468652072657761726420726174652063616e6e6f742062652061646a75737465642079657420617320616e20656e74697265207965617220686173206e6f741c7061737365642e345374616b654e6f74466f756e64001c04d850726f7669646564207374616b65642076616c7565206973207a65726f2e2053686f756c64206e65766572206265207468726f776e2e40556e7374616b696e674973456d707479001d049443616e6e6f7420756e6c6f636b207768656e20556e7374616b656420697320656d7074792e3c526577617264734e6f74466f756e64001e047843616e6e6f7420636c61696d207265776172647320696620656d7074792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909096503101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454016903045300000400710301185665633c543e00006903084470616c6c65745f617574686f727368697038556e636c65456e7472794974656d0c2c426c6f636b4e756d62657201101048617368012c18417574686f72010001083c496e636c7573696f6e486569676874040010012c426c6f636b4e756d62657200000014556e636c6508002c01104861736800006d0301384f7074696f6e3c417574686f723e000100006d0304184f7074696f6e04045401000108104e6f6e6500000010536f6d650400000000010000710300000269030075030c4470616c6c65745f617574686f72736869701870616c6c65741043616c6c040454000104287365745f756e636c65730401286e65775f756e636c6573790301385665633c543a3a4865616465723e0000046050726f76696465206120736574206f6620756e636c65732e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e79030000027d03007d03102873705f72756e74696d651c67656e65726963186865616465721848656164657208184e756d626572011010486173680181030014012c706172656e745f686173682c0130486173683a3a4f75747075740001186e756d6265722801184e756d62657200012873746174655f726f6f742c0130486173683a3a4f757470757400013c65787472696e736963735f726f6f742c0130486173683a3a4f7574707574000118646967657374340118446967657374000081030c2873705f72756e74696d65187472616974732c426c616b6554776f3235360000000085030c4470616c6c65745f617574686f72736869701870616c6c6574144572726f7204045400011c48496e76616c6964556e636c65506172656e740000048854686520756e636c6520706172656e74206e6f7420696e2074686520636861696e2e40556e636c6573416c726561647953657400010480556e636c657320616c72656164792073657420696e2074686520626c6f636b2e34546f6f4d616e79556e636c657300020440546f6f206d616e7920756e636c65732e3047656e65736973556e636c650003045454686520756e636c652069732067656e657369732e30546f6f48696768556e636c650004047c54686520756e636c6520697320746f6f206869676820696e20636861696e2e50556e636c65416c7265616479496e636c756465640005047854686520756e636c6520697320616c726561647920696e636c756465642e204f6c64556e636c65000604b454686520756e636c652069736e277420726563656e7420656e6f75676820746f20626520696e636c756465642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909098903101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454018d03045300000400590501185665633c543e00008d030000040c1c91030000910310346672616d655f737570706f72741874726169747324707265696d616765731c426f756e646564040454019503010c184c6567616379040110686173682c01104861736800000018496e6c696e65040055050134426f756e646564496e6c696e65000100184c6f6f6b7570080110686173682c01104861736800010c6c656e1c010c75333200020000950308447370697269746e65745f72756e74696d652c52756e74696d6543616c6c0001781853797374656d0400550201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0000002454696d657374616d700400990201b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0002001c496e64696365730400a10201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e0005002042616c616e6365730400cd0201b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e0006001c53657373696f6e04000d0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0016004050617261636861696e5374616b696e6704005d0301d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e5374616b696e672c2052756e74696d653e00150028417574686f72736869700400750301bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c417574686f72736869702c2052756e74696d653e0014002444656d6f63726163790400990301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e001e001c436f756e63696c0400a50301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e001f0048546563686e6963616c436f6d6d69747465650400b10301dd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c436f6d6d69747465652c2052756e74696d653e0020004c546563686e6963616c4d656d626572736869700400b50301e10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c4d656d626572736869702c2052756e74696d653e0022002054726561737572790400b90301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e0023001c5574696c6974790400bd0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0028001c56657374696e670400e50301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e002900245363686564756c65720400ed0301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e002a001450726f78790400f50301a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002b0020507265696d6167650400fd0301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e002c0038546970734d656d626572736869700400010401cd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970734d656d626572736869702c2052756e74696d653e002d0010546970730400050401a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970732c2052756e74696d653e002e001443747970650400090401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c43747970652c2052756e74696d653e003d002c4174746573746174696f6e04000d0401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4174746573746174696f6e2c2052756e74696d653e003e002844656c65676174696f6e0400210401bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656c65676174696f6e2c2052756e74696d653e003f000c44696404003d0401a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469642c2052756e74696d653e004000244469644c6f6f6b75700400910401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469644c6f6f6b75702c2052756e74696d653e00430024576562334e616d65730400a10401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c576562334e616d65732c2052756e74696d653e004400445075626c696343726564656e7469616c730400a50401d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5075626c696343726564656e7469616c732c2052756e74696d653e0045003c50617261636861696e53797374656d0400b50401d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e0050002458636d7051756575650400e90401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c58636d7051756575652c2052756e74696d653e0052002c506f6c6b61646f7458636d0400ed0401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506f6c6b61646f7458636d2c2052756e74696d653e00530020446d7051756575650400510501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c446d7051756575652c2052756e74696d653e0055000099030c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c0404540001481c70726f706f736508012070726f706f73616c91030140426f756e64656443616c6c4f663c543e00011476616c7565c501013042616c616e63654f663c543e0000249c50726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e001501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737480686176652066756e647320746f20636f76657220746865206465706f7369742e00d42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e15012d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e0044456d697473206050726f706f736564602e187365636f6e6404012070726f706f73616cb901012450726f70496e646578000118b45369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e64657211016d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00c82d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e10766f74650801247265665f696e646578b901013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e00021c3101566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bb86f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00dc2d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e842d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e40656d657267656e63795f63616e63656c0401247265665f696e6465781c013c5265666572656e64756d496e6465780003204d015363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d652c7265666572656e64756d2e00f8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d02d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e003c5765696768743a20604f283129602e4065787465726e616c5f70726f706f736504012070726f706f73616c91030140426f756e64656443616c6c4f663c543e0004182d015363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c2c7265666572656e64756d2e00e8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e6465787465726e616c5f70726f706f73655f6d616a6f7269747904012070726f706f73616c91030140426f756e64656443616c6c4f663c543e00052c55015363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c655c616e2065787465726e616c207265666572656e64756d2e00ec546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f283129606065787465726e616c5f70726f706f73655f64656661756c7404012070726f706f73616c91030140426f756e64656443616c6c4f663c543e00062c45015363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f807363686564756c6520616e2065787465726e616c207265666572656e64756d2e00e8546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f2831296028666173745f747261636b0c013470726f706f73616c5f686173682c011048323536000134766f74696e675f706572696f64100138543a3a426c6f636b4e756d62657200011464656c6179100138543a3a426c6f636b4e756d6265720007404d015363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c65646101696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65e8627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d0546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e5d012d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f88094d75737420626520616c776179732067726561746572207468616e207a65726f2e350109466f72206046617374547261636b4f726967696e60206d75737420626520657175616c206f722067726561746572207468616e206046617374547261636b566f74696e67506572696f64602e51012d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265b82020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e0040456d697473206053746172746564602e00385765696768743a20604f28312960347665746f5f65787465726e616c04013470726f706f73616c5f686173682c011048323536000824b85665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00d8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e002d012d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e003c456d69747320605665746f6564602e00fc5765696768743a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604463616e63656c5f7265666572656e64756d0401247265665f696e646578b901013c5265666572656e64756d496e64657800091c5052656d6f76652061207265666572656e64756d2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d42d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e004423205765696768743a20604f283129602e2064656c65676174650c0108746fa50201504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6e9d030128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000a50390144656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e0055015468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865c874696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a7420202d2062652064656c65676174696e6720616c72656164793b206f72590120202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c69646174656494202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e0045012d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e55012d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e20746865410120206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e61012d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374206e6f74b420206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e0048456d697473206044656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e28756e64656c6567617465000b30cc556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e005d01546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64dc6f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062655463757272656e746c792064656c65676174696e672e0050456d6974732060556e64656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e58636c6561725f7075626c69635f70726f706f73616c73000c1470436c6561727320616c6c207075626c69632070726f706f73616c732e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e003c5765696768743a20604f283129602e18756e6c6f636b040118746172676574a50201504163636f756e7449644c6f6f6b75704f663c543e000d1ca0556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00b82d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e00bc5765696768743a20604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742e2c72656d6f76655f766f7465040114696e6465781c013c5265666572656e64756d496e646578000e6c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e000c49663a882d20746865207265666572656e64756d207761732063616e63656c6c65642c206f727c2d20746865207265666572656e64756d206973206f6e676f696e672c206f72902d20746865207265666572656e64756d2068617320656e64656420737563682074686174fc20202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d420202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f728420202d20746865206163636f756e74206d61646520612073706c697420766f74655d012e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655866756e6473206265696e6720617661696c61626c652e00a849662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643aec2d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64dc2d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64bc2d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f76657259012e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c766559012a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de46f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004901546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f7465887265676973746572656420666f72207265666572656e64756d2060696e646578602e00f42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e4472656d6f76655f6f746865725f766f7465080118746172676574a50201504163636f756e7449644c6f6f6b75704f663c543e000114696e6465781c013c5265666572656e64756d496e646578000f3c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e004d0149662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f2d016072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c5501656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f7298626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e004d012d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f725420207265666572656e64756d2060696e646578602ef42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e24626c61636b6c69737408013470726f706f73616c5f686173682c01104832353600013c6d617962655f7265665f696e646578a103015c4f7074696f6e3c5265666572656e64756d496e6465783e00103c45015065726d616e656e746c7920706c61636520612070726f706f73616c20696e746f2074686520626c61636b6c6973742e20546869732070726576656e74732069742066726f6d2065766572206265696e673c70726f706f73656420616761696e2e00510149662063616c6c6564206f6e206120717565756564207075626c6963206f722065787465726e616c2070726f706f73616c2c207468656e20746869732077696c6c20726573756c7420696e206974206265696e67510172656d6f7665642e2049662074686520607265665f696e6465786020737570706c69656420697320616e20616374697665207265666572656e64756d2077697468207468652070726f706f73616c20686173682c687468656e2069742077696c6c2062652063616e63656c6c65642e00ec546865206469737061746368206f726967696e206f6620746869732063616c6c206d7573742062652060426c61636b6c6973744f726967696e602e00f82d206070726f706f73616c5f68617368603a205468652070726f706f73616c206861736820746f20626c61636b6c697374207065726d616e656e746c792e45012d20607265665f696e646578603a20416e206f6e676f696e67207265666572656e64756d2077686f73652068617368206973206070726f706f73616c5f68617368602c2077686963682077696c6c2062652863616e63656c6c65642e0041015765696768743a20604f28702960202874686f756768206173207468697320697320616e20686967682d70726976696c6567652064697370617463682c20776520617373756d65206974206861732061502020726561736f6e61626c652076616c7565292e3c63616e63656c5f70726f706f73616c04012870726f705f696e646578b901012450726f70496e64657800111c4852656d6f766520612070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c50726f706f73616c4f726967696e602e00d02d206070726f705f696e646578603a2054686520696e646578206f66207468652070726f706f73616c20746f2063616e63656c2e00e45765696768743a20604f28702960207768657265206070203d205075626c696350726f70733a3a3c543e3a3a6465636f64655f6c656e282960042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e9d030c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000a10304184f7074696f6e040454011c0108104e6f6e6500000010536f6d6504001c0000010000a5030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273f10201445665633c543a3a4163636f756e7449643e0001147072696d656d0301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000080805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e0054526571756972657320726f6f74206f726967696e2e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e002823203c7765696768743e24232320576569676874502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e64656429142d2044423a510120202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e67207468652c202020206d656d62657273ec20202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c73450120202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c5d0120202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e652c23203c2f7765696768743e1c6578656375746508012070726f706f73616c9503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b901010c75333200012cf0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002823203c7765696768743e2423232057656967687455012d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e673020206070726f706f73616c60d42d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c60242d2031206576656e742c23203c2f7765696768743e1c70726f706f73650c01247468726573686f6c64b901012c4d656d626572436f756e7400012070726f706f73616c9503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b901010c75333200026cf84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e002823203c7765696768743e24232320576569676874ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d20326029142d2044423ab420202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029a820202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0901202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029b8202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029d82020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e42020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029cc2020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029bc2020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d2960292c20202d2031206576656e742c23203c2f7765696768743e10766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578b901013450726f706f73616c496e64657800011c617070726f7665a40110626f6f6c00033cf041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e2823203c7765696768743e2423232057656967687409012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429142d2044423aac20202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029b820202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d296029242d2031206576656e742c23203c2f7765696768743e40636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b901013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64a90301244f6c645765696768740001306c656e6774685f626f756e64b901010c7533320004804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005385901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002823203c7765696768743edc436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c73284442205765696768743a482a2052656164733a2050726f706f73616c739c2a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f662c23203c2f7765696768743e14636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b901013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64b901010c7533320006804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea903000006ad0300ad03082873705f77656967687473244f6c645765696768740000040010010c7536340000b1030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273f10201445665633c543a3a4163636f756e7449643e0001147072696d656d0301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000080805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e0054526571756972657320726f6f74206f726967696e2e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e002823203c7765696768743e24232320576569676874502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e64656429142d2044423a510120202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e67207468652c202020206d656d62657273ec20202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c73450120202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c5d0120202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e652c23203c2f7765696768743e1c6578656375746508012070726f706f73616c9503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b901010c75333200012cf0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002823203c7765696768743e2423232057656967687455012d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e673020206070726f706f73616c60d42d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c60242d2031206576656e742c23203c2f7765696768743e1c70726f706f73650c01247468726573686f6c64b901012c4d656d626572436f756e7400012070726f706f73616c9503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b901010c75333200026cf84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e002823203c7765696768743e24232320576569676874ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d20326029142d2044423ab420202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029a820202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0901202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029b8202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029d82020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e42020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029cc2020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029bc2020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d2960292c20202d2031206576656e742c23203c2f7765696768743e10766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578b901013450726f706f73616c496e64657800011c617070726f7665a40110626f6f6c00033cf041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e2823203c7765696768743e2423232057656967687409012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429142d2044423aac20202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029b820202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d296029242d2031206576656e742c23203c2f7765696768743e40636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b901013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64a90301244f6c645765696768740001306c656e6774685f626f756e64b901010c7533320004804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005385901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002823203c7765696768743edc436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c73284442205765696768743a482a2052656164733a2050726f706f73616c739c2a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f662c23203c2f7765696768743e14636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b901013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64b901010c7533320006804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb5030c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fa50201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fa50201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665a50201504163636f756e7449644c6f6f6b75704f663c543e00010c616464a50201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273f10201445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577a50201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fa50201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb9030c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001143470726f706f73655f7370656e6408011476616c7565c501013c42616c616e63654f663c542c20493e00012c62656e6566696369617279a50201504163636f756e7449644c6f6f6b75704f663c543e000024290150757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c75653101697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e6365207468655070726f706f73616c20697320617761726465642e002823203c7765696768743e482d20436f6d706c65786974793a204f283129b02d20446252656164733a206050726f706f73616c436f756e74602c20606f726967696e206163636f756e7460e82d2044625772697465733a206050726f706f73616c436f756e74602c206050726f706f73616c73602c20606f726967696e206163636f756e74602c23203c2f7765696768743e3c72656a6563745f70726f706f73616c04012c70726f706f73616c5f6964b901013450726f706f73616c496e646578000124f852656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e002823203c7765696768743e482d20436f6d706c65786974793a204f283129cc2d20446252656164733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460d02d2044625772697465733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e74602c23203c2f7765696768743e40617070726f76655f70726f706f73616c04012c70726f706f73616c5f6964b901013450726f706f73616c496e6465780002285901417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279a8616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00ac4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002823203c7765696768743e4c2d20436f6d706c65786974793a204f2831292e8c2d20446252656164733a206050726f706f73616c73602c2060417070726f76616c7360582d20446257726974653a2060417070726f76616c73602c23203c2f7765696768743e147370656e64080118616d6f756e74c501013c42616c616e63654f663c542c20493e00012c62656e6566696369617279a50201504163636f756e7449644c6f6f6b75704f663c543e000320b850726f706f736520616e6420617070726f76652061207370656e64206f662074726561737572792066756e64732e004d012d20606f726967696e603a204d75737420626520605370656e644f726967696e60207769746820746865206053756363657373602076616c7565206265696e67206174206c656173742060616d6f756e74602e41012d2060616d6f756e74603a2054686520616d6f756e7420746f206265207472616e736665727265642066726f6d2074686520747265617375727920746f20746865206062656e6566696369617279602ee82d206062656e6566696369617279603a205468652064657374696e6174696f6e206163636f756e7420666f7220746865207472616e736665722e0045014e4f54453a20466f72207265636f72642d6b656570696e6720707572706f7365732c207468652070726f706f736572206973206465656d656420746f206265206571756976616c656e7420746f207468653062656e65666963696172792e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f6964b901013450726f706f73616c496e64657800043c2d01466f72636520612070726576696f75736c7920617070726f7665642070726f706f73616c20746f2062652072656d6f7665642066726f6d2074686520617070726f76616c2071756575652ec0546865206f726967696e616c206465706f7369742077696c6c206e6f206c6f6e6765722062652072657475726e65642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602ea02d206070726f706f73616c5f6964603a2054686520696e646578206f6620612070726f706f73616c002823203c7765696768743edc2d20436f6d706c65786974793a204f2841292077686572652060416020697320746865206e756d626572206f6620617070726f76616c73882d20446220726561647320616e64207772697465733a2060417070726f76616c73602c23203c2f7765696768743e001c4572726f72733a61012d206050726f706f73616c4e6f74417070726f766564603a20546865206070726f706f73616c5f69646020737570706c69656420776173206e6f7420666f756e6420696e2074686520617070726f76616c2071756575652c5101692e652e2c207468652070726f706f73616c20686173206e6f74206265656e20617070726f7665642e205468697320636f756c6420616c736f206d65616e207468652070726f706f73616c20646f6573206e6f745901657869737420616c746f6765746865722c2074687573207468657265206973206e6f2077617920697420776f756c642068617665206265656e20617070726f76656420696e2074686520666972737420706c6163652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ebd030c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c73c103017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00004c7c53656e642061206261746368206f662064697370617463682063616c6c732e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e005501546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e31016576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e207468655501604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d6164654d01616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c65746564604c6576656e74206973206465706f73697465642e3461735f64657269766174697665080114696e646578d8010c75313600011063616c6c9503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000134dc53656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00550146696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368bc757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e0045014e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e61016265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e7451017468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31607c696e20746865204d756c74697369672070616c6c657420696e73746561642e00f44e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c04011463616c6c73c103017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000238ec53656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e21015468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e2c64697370617463685f617308012461735f6f726967696ec5030154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6c9503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000328c84469737061746368657320612066756e6374696f6e2063616c6c207769746820612070726f7669646564206f726967696e2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e002823203c7765696768743e1c2d204f2831292e602d204c696d697465642073746f726167652072656164732e5c2d204f6e6520444220777269746520286576656e74292e1d012d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b20543a3a576569676874496e666f3a3a64697370617463685f617328292e2c23203c2f7765696768743e2c666f7263655f626174636804011463616c6c73c103017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004387c53656e642061206261746368206f662064697370617463682063616c6c732ed4556e6c696b6520606261746368602c20697420616c6c6f7773206572726f727320616e6420776f6e277420696e746572727570742e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e004d014966206f726967696e20697320726f6f74207468656e207468652063616c6c732061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e2c776974685f77656967687408011063616c6c9503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000118776569676874240118576569676874000518c4446973706174636820612066756e6374696f6e2063616c6c2077697468206120737065636966696564207765696768742e002d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b8526f6f74206f726967696e20746f20737065636966792074686520776569676874206f66207468652063616c6c2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ec103000002950300c50308447370697269746e65745f72756e74696d65304f726967696e43616c6c657200011c1873797374656d0400c90301746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0000001c436f756e63696c0400cd0301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400d10301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020000c4469640400d50301506469643a3a4f726967696e3c52756e74696d653e0040002c506f6c6b61646f7458636d0400d903014870616c6c65745f78636d3a3a4f726967696e0053002843756d756c757358636d0400dd03016863756d756c75735f70616c6c65745f78636d3a3a4f726967696e00540010566f69640400e10301110173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a566f696400060000c9030c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e6500020000cd03084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000d103084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000d5030c0c646964186f726967696e304469645261774f726967696e08344469644964656e7469666965720100244163636f756e74496401000008010869640001344469644964656e7469666965720001247375626d69747465720001244163636f756e7449640000d9030c2870616c6c65745f78636d1870616c6c6574184f726967696e0001080c58636d0400ad0101344d756c74694c6f636174696f6e00000020526573706f6e73650400ad0101344d756c74694c6f636174696f6e00010000dd030c4863756d756c75735f70616c6c65745f78636d1870616c6c6574184f726967696e0001081452656c6179000000405369626c696e6750617261636861696e0400a101011850617261496400010000e103081c73705f636f726510566f696400010000e5030c3870616c6c65745f76657374696e671870616c6c65741043616c6c0404540001141076657374000034b8556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e005d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20322052656164732c203220577269746573f8202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745dfc202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745d2c23203c2f7765696768743e28766573745f6f74686572040118746172676574a50201504163636f756e7449644c6f6f6b75704f663c543e00013cb8556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051012d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20332052656164732c203320577269746573f0202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e74f4202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c23203c2f7765696768743e3c7665737465645f7472616e73666572080118746172676574a50201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65e90301a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00024464437265617465206120766573746564207472616e736665722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00cc2d2060746172676574603a20546865206163636f756e7420726563656976696e6720746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20332052656164732c2033205772697465733901202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d3d01202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d2c23203c2f7765696768743e54666f7263655f7665737465645f7472616e736665720c0118736f75726365a50201504163636f756e7449644c6f6f6b75704f663c543e000118746172676574a50201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65e90301a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00034860466f726365206120766573746564207472616e736665722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00e82d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e11012d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20342052656164732c2034205772697465733101202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e743501202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e742c23203c2f7765696768743e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e6465781c010c75333200013c7363686564756c65325f696e6465781c010c7533320004545d014d657267652074776f2076657374696e67207363686564756c657320746f6765746865722c206372656174696e672061206e65772076657374696e67207363686564756c65207468617420756e6c6f636b73206f7665725501746865206869676865737420706f737369626c6520737461727420616e6420656e6420626c6f636b732e20496620626f7468207363686564756c6573206861766520616c7265616479207374617274656420746865590163757272656e7420626c6f636b2077696c6c206265207573656420617320746865207363686564756c652073746172743b207769746820746865206361766561742074686174206966206f6e65207363686564756c655d0169732066696e6973686564206279207468652063757272656e7420626c6f636b2c20746865206f746865722077696c6c206265207472656174656420617320746865206e6577206d6572676564207363686564756c652c2c756e6d6f6469666965642e00f84e4f54453a20496620607363686564756c65315f696e646578203d3d207363686564756c65325f696e6465786020746869732069732061206e6f2d6f702e41014e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b207072696f7220746f206d657267696e672e61014e4f54453a20496620626f7468207363686564756c6573206861766520656e646564206279207468652063757272656e7420626c6f636b2c206e6f206e6577207363686564756c652077696c6c206265206372656174656464616e6420626f74682077696c6c2062652072656d6f7665642e006c4d6572676564207363686564756c6520617474726962757465733a35012d20607374617274696e675f626c6f636b603a20604d4158287363686564756c65312e7374617274696e675f626c6f636b2c207363686564756c6564322e7374617274696e675f626c6f636b2c48202063757272656e745f626c6f636b29602e21012d2060656e64696e675f626c6f636b603a20604d4158287363686564756c65312e656e64696e675f626c6f636b2c207363686564756c65322e656e64696e675f626c6f636b29602e59012d20606c6f636b6564603a20607363686564756c65312e6c6f636b65645f61742863757272656e745f626c6f636b29202b207363686564756c65322e6c6f636b65645f61742863757272656e745f626c6f636b29602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00e82d20607363686564756c65315f696e646578603a20696e646578206f6620746865206669727374207363686564756c6520746f206d657267652eec2d20607363686564756c65325f696e646578603a20696e646578206f6620746865207365636f6e64207363686564756c6520746f206d657267652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee9030c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720110000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b10012c426c6f636b4e756d6265720000ed030c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963f10301a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c9503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000470416e6f6e796d6f75736c79207363686564756c652061207461736b2e1863616e63656c0801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001049443616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963f10301a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c9503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000204585363686564756c652061206e616d6564207461736b2e3063616e63656c5f6e616d656404010869640401205461736b4e616d650003047843616e63656c2061206e616d6564207363686564756c6564207461736b2e387363686564756c655f61667465721001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963f10301a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c9503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000414a8416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e002823203c7765696768743e5453616d65206173205b607363686564756c65605d2e2c23203c2f7765696768743e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963f10301a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c9503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000514905363686564756c652061206e616d6564207461736b20616674657220612064656c61792e002823203c7765696768743ec453616d65206173205b607363686564756c655f6e616d6564605d2853656c663a3a7363686564756c655f6e616d6564292e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ef10304184f7074696f6e04045401c80108104e6f6e6500000010536f6d650400c80000010000f5030c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616ca50201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065f90301504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c9503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00002c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e246164645f70726f78790c012064656c6567617465a50201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d6265720001244501526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a11012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792efc2d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e3072656d6f76655f70726f78790c012064656c6567617465a50201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200021ca8556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a25012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e41012d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e3872656d6f76655f70726f78696573000318b4556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0041015741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e74732063726561746564206279206070757265602c20686f776576657220696620646f6e652c207468656e590174686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a2c6372656174655f707572650c012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d626572000114696e646578d8010c7531360004483901537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64fc696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e006c5265717569726573206120605369676e656460206f726967696e2e0051012d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468654d016e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f78616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e51012d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d655d017472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a7573744077616e7420746f20757365206030602e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e0051014661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659873616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e44661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e246b696c6c5f7075726514011c737061776e6572a50201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f787954797065000114696e646578d8010c753136000118686569676874280138543a3a426c6f636b4e756d6265720001246578745f696e646578b901010c753332000540a052656d6f76657320612070726576696f75736c7920737061776e656420707572652070726f78792e0049015741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c20626534696e61636365737369626c652e0059015265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746f94607075726560207769746820636f72726573706f6e64696e6720706172616d65746572732e0039012d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060707572656020746f206372656174652074686973206163636f756e742e39012d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f206070757265602e2050726f6261626c79206030602eec2d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f206070757265602e29012d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f20607075726560207761732070726f6365737365642e35012d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f20607075726560207761732070726f6365737365642e0035014661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c7920637265617465642070757265dc6163636f756e742077686f7365206070757265602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e20616e6e6f756e63650801107265616ca50201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e00063c05015075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e005d0154686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d7074656425016966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e0011014e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000901546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c206173190160416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656d6f76655f616e6e6f756e63656d656e740801107265616ca50201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e0007287052656d6f7665206120676976656e20616e6e6f756e63656d656e742e0059014d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e30746865206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465a50201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e000828b052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e0061014d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c6567617465732501286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733af42d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ebc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e3c70726f78795f616e6e6f756e63656410012064656c6567617465a50201504163636f756e7449644c6f6f6b75704f663c543e0001107265616ca50201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065f90301504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c9503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00092c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ef90304184f7074696f6e04045401d40108104e6f6e6500000010536f6d650400d40000010000fd030c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000110346e6f74655f707265696d616765040114627974657330011c5665633c75383e000010745265676973746572206120707265696d616765206f6e2d636861696e2e00550149662074686520707265696d616765207761732070726576696f75736c79207265717565737465642c206e6f2066656573206f72206465706f73697473206172652074616b656e20666f722070726f766964696e67550174686520707265696d6167652e204f74686572776973652c2061206465706f7369742069732074616b656e2070726f706f7274696f6e616c20746f207468652073697a65206f662074686520707265696d6167652e3c756e6e6f74655f707265696d616765040110686173682c011c543a3a48617368000118dc436c65617220616e20756e72657175657374656420707265696d6167652066726f6d207468652072756e74696d652073746f726167652e00fc496620606c656e602069732070726f76696465642c207468656e2069742077696c6c2062652061206d7563682063686561706572206f7065726174696f6e2e0001012d206068617368603a205468652068617368206f662074686520707265696d61676520746f2062652072656d6f7665642066726f6d207468652073746f72652eb82d20606c656e603a20546865206c656e677468206f662074686520707265696d616765206f66206068617368602e40726571756573745f707265696d616765040110686173682c011c543a3a48617368000210410152657175657374206120707265696d6167652062652075706c6f6164656420746f2074686520636861696e20776974686f757420706179696e6720616e792066656573206f72206465706f736974732e00550149662074686520707265696d6167652072657175657374732068617320616c7265616479206265656e2070726f7669646564206f6e2d636861696e2c20776520756e7265736572766520616e79206465706f7369743901612075736572206d6179206861766520706169642c20616e642074616b652074686520636f6e74726f6c206f662074686520707265696d616765206f7574206f662074686569722068616e64732e48756e726571756573745f707265696d616765040110686173682c011c543a3a4861736800030cbc436c65617220612070726576696f75736c79206d616465207265717565737420666f72206120707265696d6167652e002d014e4f54453a2054484953204d555354204e4f542042452043414c4c4544204f4e20606861736860204d4f52452054494d4553205448414e2060726571756573745f707265696d616765602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e01040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fa50201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fa50201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665a50201504163636f756e7449644c6f6f6b75704f663c543e00010c616464a50201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273f10201445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577a50201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fa50201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e05040c2c70616c6c65745f746970731870616c6c65741043616c6c080454000449000118387265706f72745f617765736f6d65080118726561736f6e30011c5665633c75383e00010c77686fa50201504163636f756e7449644c6f6f6b75704f663c543e00004c59015265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051015061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173bc60446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e0074456d69747320604e657754697060206966207375636365737366756c2e002823203c7765696768743ec82d20436f6d706c65786974793a20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e9020202d20656e636f64696e6720616e642068617368696e67206f662027726561736f6e27702d20446252656164733a2060526561736f6e73602c20605469707360742d2044625772697465733a2060526561736f6e73602c206054697073602c23203c2f7765696768743e2c726574726163745f746970040110686173682c011c543a3a4861736800014c5101526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00dc4966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e004d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e7469666965642062792060686173686041016d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f744c7468726f75676820607469705f6e657760292e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e008c456d697473206054697052657472616374656460206966207375636365737366756c2e002823203c7765696768743e502d20436f6d706c65786974793a20604f28312960d820202d20446570656e6473206f6e20746865206c656e677468206f662060543a3a48617368602077686963682069732066697865642e8c2d20446252656164733a206054697073602c20606f726967696e206163636f756e7460bc2d2044625772697465733a2060526561736f6e73602c206054697073602c20606f726967696e206163636f756e74602c23203c2f7765696768743e1c7469705f6e65770c0118726561736f6e30011c5665633c75383e00010c77686fa50201504163636f756e7449644c6f6f6b75704f663c543e0001247469705f76616c7565c501013c42616c616e63654f663c542c20493e000258f04769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e0074456d69747320604e657754697060206966207375636365737366756c2e002823203c7765696768743e51012d20436f6d706c65786974793a20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732e5d0120202d20604f285429603a206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792d012020202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f66442020202060543a3a54697070657273602ee020202d20604f285229603a2068617368696e6720616e6420656e636f64696e67206f6620726561736f6e206f66206c656e677468206052607c2d20446252656164733a206054697070657273602c2060526561736f6e7360742d2044625772697465733a2060526561736f6e73602c206054697073602c23203c2f7765696768743e0c746970080110686173682c011c543a3a486173680001247469705f76616c7565c501013c42616c616e63654f663c542c20493e000360b04465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e65666963696172793420206163636f756e742049442e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e006101456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f643068617320737461727465642e002823203c7765696768743e61012d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e6774682d0120206054602c20696e736572742074697020616e6420636865636b20636c6f73696e672c20605460206973206368617267656420617320757070657220626f756e6420676976656e2062795d01202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e005d01202041637475616c6c792077656967687420636f756c64206265206c6f77657220617320697420646570656e6473206f6e20686f77206d616e7920746970732061726520696e20604f70656e5469706020627574206974d02020697320776569676874656420617320696620616c6d6f73742066756c6c20692e65206f66206c656e6774682060542d31602e702d20446252656164733a206054697070657273602c20605469707360482d2044625772697465733a206054697073602c23203c2f7765696768743e24636c6f73655f746970040110686173682c011c543a3a486173680004405c436c6f736520616e64207061796f75742061207469702e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00150154686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002823203c7765696768743e61012d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e677468510120206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f7374c02020646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602ea82d20446252656164733a206054697073602c206054697070657273602c20607469702066696e64657260d82d2044625772697465733a2060526561736f6e73602c206054697073602c206054697070657273602c20607469702066696e646572602c23203c2f7765696768743e24736c6173685f746970040110686173682c011c543a3a486173680005309452656d6f766520616e6420736c61736820616e20616c72656164792d6f70656e207469702e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e00f44173206120726573756c742c207468652066696e64657220697320736c617368656420616e6420746865206465706f7369747320617265206c6f73742e0084456d6974732060546970536c617368656460206966207375636365737366756c2e002823203c7765696768743efc2020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e010120205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e09040c1463747970651870616c6c65741043616c6c0404540001080c616464040114637479706530011c5665633c75383e00003009014372656174652061206e65772043547970652066726f6d2074686520676976656e20756e69717565204354797065206861736820616e64206173736f6369617465735069742077697468206974732063726561746f722e00dc412043547970652077697468207468652073616d652068617368206d757374206e6f742062652073746f726564206f6e20636861696e2e0054456d6974732060435479706543726561746564602e002823203c7765696768743e305765696768743a204f283129602d2052656164733a204374797065732c2042616c616e6365642d205772697465733a204374797065732c2042616c616e63652c23203c2f7765696768743e407365745f626c6f636b5f6e756d62657208012863747970655f686173682c01384374797065486173684f663c543e000130626c6f636b5f6e756d626572100144426c6f636b4e756d626572466f723c543e00010ce853657420746865206372656174696f6e20626c6f636b206e756d62657220666f72206120676976656e2043547970652c20696620666f756e642e0054456d6974732060435479706555706461746564602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e0d040c2c6174746573746174696f6e1870616c6c65741043616c6c0404540001180c6164640c0128636c61696d5f686173682c0138436c61696d486173684f663c543e00012863747970655f686173682c01384374797065486173684f663c543e000134617574686f72697a6174696f6e110401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000054644372656174652061206e6577206174746573746174696f6e2e00f85468652061747465737465722063616e206f7074696f6e616c6c792070726f766964652061207265666572656e636520746f20616e206578697374696e67090164656c65676174696f6e20746861742077696c6c20626520736176656420616c6f6e67207769746820746865206174746573746174696f6e20697473656c6620696e8c74686520666f726d206f6620616e2061747465737465642064656c65676174696f6e2e00ec546865207265666572656e6365642043547970652068617368206d75737420616c72656164792062652070726573656e74206f6e20636861696e2e000901496620616e206f7074696f6e616c2064656c65676174696f6e2069642069732070726f76696465642c20746865206469737061746368206f726967696e206d757374e8626520746865206f776e6572206f66207468652064656c65676174696f6e2e204f74686572776973652c20697420636f756c6420626520616e79546044656c65676174696f6e456e746974794964602e006c456d69747320604174746573746174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b82d2052656164733a205b4f726967696e204163636f756e745d2c2043747970652c204174746573746174696f6e73e42d2052656164732069662064656c65676174696f6e2069642069732070726f76696465643a2044656c65676174696f6e732c20526f6f74732c5c202044656c6567617465644174746573746174696f6e73bc2d205772697465733a204174746573746174696f6e732c202844656c6567617465644174746573746174696f6e73292c23203c2f7765696768743e187265766f6b65080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e110401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001447c5265766f6b6520616e206578697374696e67206174746573746174696f6e2e00fc546865207265766f6b6572206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206265696e6709017265766f6b6564206f7220616e20656e74697479207468617420696e207468652064656c65676174696f6e207472656520697320616e20616e636573746f72206f6609017468652061747465737465722c20692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7250616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e5265766f6b6564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e1872656d6f7665080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e110401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0002445852656d6f766520616e206174746573746174696f6e2e00f8546865206f726967696e206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206f7220616e0d01656e7469747920776869636820697320616e20616e636573746f72206f662074686520617474657374657220696e207468652064656c65676174696f6e20747265652c0101692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7220616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e52656d6f766564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e000324d05265636c61696d20612073746f72616765206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e0064456d69747320604465706f7369745265636c61696d6564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572040128636c61696d5f686173682c0138436c61696d486173684f663c543e00041c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00ec546865207375626a656374206f66207468652063616c6c206d757374206265207468652061747465737465722077686f206973737565732074686509016174746573746174696f6e2e205468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e00050cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e110404184f7074696f6e0404540115040108104e6f6e6500000010536f6d6504001504000001000015040c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c50616c6c6574417574686f72697a65043044656c65676174696f6e416301190401042844656c65676174696f6e04001904013044656c65676174696f6e41630000000019040c2864656c65676174696f6e386163636573735f636f6e74726f6c3044656c65676174696f6e4163040454011d040008013c7375626a6563745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e0001286d61785f636865636b731c010c75333200001d0408447370697269746e65745f72756e74696d651c52756e74696d650000000021040c2864656c65676174696f6e1870616c6c65741043616c6c04045400011c406372656174655f686965726172636879080130726f6f745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e00012863747970655f686173682c01384374797065486173684f663c543e00006401014372656174652061206e65772064656c65676174696f6e20726f6f74206173736f6369617465642077697468206120676976656e20435479706520686173682e00f8546865206e657720726f6f742077696c6c20616c6c6f772061206e65772074727573742068696572617263687920746f2062652063726561746564206279a0616464696e67206368696c6472656e2064656c65676174696f6e7320746f2074686520726f6f742e000d015468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652049442073746f726564206f6e20636861696e2c207768696c65fc7468657265206d75737420626520616c7265616479206120435479706520776974682074686520676976656e20686173682073746f72656420696e207468653443547970652070616c6c65742e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0050456d6974732060526f6f7443726561746564602e002823203c7765696768743e305765696768743a204f283129a02d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c204354797065733c2d205772697465733a20526f6f74732c23203c2f7765696768743e386164645f64656c65676174696f6e14013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e000124706172656e745f69642c015444656c65676174696f6e4e6f646549644f663c543e00012064656c656761746500014044656c656761746f7249644f663c543e00012c7065726d697373696f6e73fc012c5065726d697373696f6e7300014864656c65676174655f7369676e61747572652504016844656c65676174655369676e6174757265547970654f663c543e000180744372656174652061206e65772064656c65676174696f6e206e6f64652e00f4546865206e65772064656c65676174696f6e206e6f646520726570726573656e74732061206e65772074727573742068696572617263687920746861740d01636f6e73696465727320746865206e6577206e6f64652061732069747320726f6f742e20546865206f776e6572206f662074686973206e6f6465206861732066756c6ce0636f6e74726f6c206f76657220616e79206f66206974732064697265637420616e6420696e6469726563742064657363656e64616e74732e00fc466f7220746865206372656174696f6e20746f20737563636565642c207468652064656c656761746565206d7573742070726f7669646520612076616c696411017369676e6174757265206f766572207468652028626c616b65323536292068617368206f6620746865206372656174696f6e206f7065726174696f6e2064657461696c731101776869636820696e636c7564652028696e206f72646572292064656c65676174696f6e2069642c20726f6f74206e6f64652069642c20706172656e742069642c20616e64707065726d697373696f6e73206f6620746865206e6577206e6f64652e00f45468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652069642073746f726564206f6e20636861696e2e0501467572746865726d6f72652c20746865207265666572656e63656420726f6f7420616e6420706172656e74206e6f646573206d75737420616c7265616479206265050170726573656e74206f6e20636861696e20616e6420636f6e7461696e207468652076616c6964207065726d697373696f6e7320616e64207265766f636174696f6e6c7374617475732028692e652e2c206e6f74207265766f6b6564292e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0068456d697473206044656c65676174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b42d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2044656c65676174696f6e73542d205772697465733a2044656c65676174696f6e732c23203c2f7765696768743e447265766f6b655f64656c65676174696f6e0c013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001446d61785f706172656e745f636865636b731c010c75333200013c6d61785f7265766f636174696f6e731c010c753332000274f85265766f6b6520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00fc446f6573206e6f7420726566756e64207468652064656c65676174696f6e206261636b20746f20746865206465706f736974206f776e657220617320746865f06e6f6465206973207374696c6c2073746f726564206f6e20636861696e2e20526571756972657320746f206164646974696f6e616c6c792063616c6cb46072656d6f76655f64656c65676174696f6e6020746f20756e7265736572766520746865206465706f7369742e0009015265766f6b696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67090166726f6d2074686520676976656e206e6f6465206265696e67207265766f6b65642e204e657665727468656c6573732c207265766f636174696f6e20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f6465206973207265766f6b65642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e73696465726564207265766f6b65642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e5265766f6b6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e802d205772697465733a20526f6f74732c2043202a2044656c65676174696f6e732c23203c2f7765696768743e4472656d6f76655f64656c65676174696f6e08013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000370f852656d6f766520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e52656d6f766564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000460f45265636c61696d20746865206465706f73697420666f7220612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74b86e6f6465292c2072656d6f76696e6720746865206e6f646520616e6420616c6c20697473206368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e000d01546865206469737061746368206f726967696e206d757374206265207369676e6564206279207468652064656c65676174696f6e206465706f736974206f776e65722e004c604465706f7369745265636c61696d6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f72656d6f76616c73602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e000501546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652064656c65676174696f6e206e6f64652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e25040c0c6469642c6469645f64657461696c73304469645369676e617475726500010c1c45643235353139040029040148656432353531393a3a5369676e61747572650000001c53723235353139040031040148737232353531393a3a5369676e617475726500010014456364736104003504014065636473613a3a5369676e61747572650002000029040c1c73705f636f72651c65643235353139245369676e6174757265000004002d0401205b75383b2036345d00002d0400000340000000080031040c1c73705f636f72651c73723235353139245369676e6174757265000004002d0401205b75383b2036345d000035040c1c73705f636f7265146563647361245369676e617475726500000400390401205b75383b2036355d000039040000034100000008003d040c0c6469641870616c6c65741043616c6c04045400013c1863726561746508011c64657461696c7341040168426f783c4469644372656174696f6e44657461696c733c543e3e0001247369676e6174757265250401304469645369676e617475726500007cec53746f72652061206e657720444944206f6e20636861696e2c20616674657220766572696679696e67207468617420746865206372656174696f6e05016f7065726174696f6e20686173206265656e207369676e656420627920746865204b494c54206163636f756e74206173736f63696174656420776974682074686501016964656e746966696572206f662074686520444944206265696e67206372656174656420616e6420746861742061204449442077697468207468652073616d6511016964656e74696669657220686173206e6f742070726576696f75736c792065786973746564206f6e2028616e64207468656e2064656c657465642066726f6d292074686518636861696e2e000d015468657265206d757374206265206e6f2044494420696e666f726d6174696f6e2073746f726564206f6e20636861696e20756e646572207468652073616d65204449442c6964656e7469666965722e00fc546865206e6577206b65797320616464656420776974682074686973206f7065726174696f6e206172652073746f72656420756e646572207468652044494405016964656e74696669657220616c6f6e6720776974682074686520626c6f636b206e756d62657220696e20776869636820746865206f7065726174696f6e207761732465786563757465642e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e004c456d697473206044696443726561746564602e002823203c7765696768743e0d012d20546865207472616e73616374696f6e277320636f6d706c6578697479206973206d61696e6c7920646570656e64656e74206f6e20746865206e756d626572206f66010120206e6577206b65792061677265656d656e74206b65797320616e6420746865206e756d626572206f66206e6577207365727669636520656e64706f696e7473702020696e636c7564656420696e20746865206f7065726174696f6e2e242d2d2d2d2d2d2d2d2df85765696768743a204f284b29202b204f284e29207768657265204b20697320746865206e756d626572206f66206e6577206b65792061677265656d656e7409016b65797320626f756e64656420627920604d61784e65774b657941677265656d656e744b657973602c207768696c65204e20697320746865206e756d626572206f66f46e6577207365727669636520656e64706f696e747320626f756e64656420627920604d61784e756d6265724f665365727669636573506572446964602eb02d2052656164733a205b4f726967696e204163636f756e745d2c204469642c20446964426c61636b6c697374fc2d205772697465733a20446964202877697468204b206e6577206b65792061677265656d656e74206b657973292c2053657276696365456e64706f696e7473cc20202877697468204e206e6577207365727669636520656e64706f696e7473292c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e587365745f61757468656e7469636174696f6e5f6b657904011c6e65775f6b657959040148446964566572696669636174696f6e4b65790001408855706461746520746865204449442061757468656e7469636174696f6e206b65792e00ec546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696620697420697309016e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f207468654c736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e487365745f64656c65676174696f6e5f6b657904011c6e65775f6b657959040148446964566572696669636174696f6e4b657900024094536574206f722075706461746520746865204449442064656c65676174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5472656d6f76655f64656c65676174696f6e5f6b657900033c7852656d6f766520746865204449442064656c65676174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e4c7365745f6174746573746174696f6e5f6b657904011c6e65775f6b657959040148446964566572696669636174696f6e4b657900044098536574206f72207570646174652074686520444944206174746573746174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5872656d6f76655f6174746573746174696f6e5f6b657900053c7c52656d6f76652074686520444944206174746573746174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e546164645f6b65795f61677265656d656e745f6b657904011c6e65775f6b657949040140446964456e6372797074696f6e4b6579000638b841646420612073696e676c65206e6577206b65792061677265656d656e74206b657920746f20746865204449442e00bc546865206e6577206b657920697320616464656420746f2074686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e6072656d6f76655f6b65795f61677265656d656e745f6b65790401186b65795f69642c01284b657949644f663c543e000734050152656d6f7665206120444944206b65792061677265656d656e74206b65792066726f6d20626f74682069747320736574206f66206b65792061677265656d656e74906b65797320616e642061732077656c6c20617320697473207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506164645f736572766963655f656e64706f696e74040140736572766963655f656e64706f696e746d040138446964456e64706f696e743c543e000830bc4164642061206e6577207365727669636520656e64706f696e7420756e6465722074686520676976656e204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f2831290d012d2052656164733a205b4f726967696e204163636f756e745d2c204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e5c72656d6f76655f736572766963655f656e64706f696e74040128736572766963655f69647104015053657276696365456e64706f696e7449643c543e000930d452656d6f76652074686520736572766963652077697468207468652070726f76696465642049442066726f6d20746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e1864656c65746504014c656e64706f696e74735f746f5f72656d6f76651c010c753332000a600d0144656c6574652061204449442066726f6d2074686520636861696e20616e6420616c6c20696e666f726d6174696f6e206173736f63696174656420776974682069742c1101616674657220766572696679696e672074686174207468652064656c657465206f7065726174696f6e20686173206265656e207369676e65642062792074686520444944fc7375626a656374207573696e67207468652061757468656e7469636174696f6e206b65792063757272656e746c792073746f726564206f6e20636861696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408012c6469645f7375626a6563740001484469644964656e7469666965724f663c543e00014c656e64706f696e74735f746f5f72656d6f76651c010c753332000b54f45265636c61696d2061206465706f73697420666f722061204449442e20546869732077696c6c2064656c657465207468652044494420616e6420616c6c0901696e666f726d6174696f6e206173736f63696174656420776974682069742c20616674657220766572696679696e672074686174207468652063616c6c657220697364746865206f776e6572206f6620746865206465706f7369742e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7375626d69745f6469645f63616c6c0801206469645f63616c6c8d040188426f783c446964417574686f72697a656443616c6c4f7065726174696f6e3c543e3e0001247369676e6174757265250401304469645369676e6174757265000c8cec50726f7879206120646973706174636861626c652063616c6c206f6620616e6f746865722072756e74696d652065787472696e736963207468617458737570706f727473206120444944206f726967696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f726520746865606f7065726174696f6e20697320646973706174636865642e00fc412063616c6c207375626d6974746564207468726f75676820746869732065787472696e736963206d757374206265207369676e65642077697468207468650901726967687420444944206b65792c20646570656e64696e67206f6e207468652063616c6c2e205468697320696e666f726d6174696f6e2069732070726f766964656409016279207468652060446964417574686f72697a656443616c6c4f7065726174696f6e6020706172616d657465722c20776869636820737065636966696573207468650901444944207375626a65637420616374696e6720617320746865206f726967696e206f66207468652063616c6c2c2074686520444944277320747820636f756e7465720101286e6f6e6365292c2074686520646973706174636861626c6520746f2063616c6c20696e2063617365207369676e617475726520766572696669636174696f6ef073756363656564732c207468652074797065206f6620444944206b657920746f2075736520746f2076657269667920746865206f7065726174696f6efc7369676e61747572652c20616e642074686520626c6f636b206e756d62657220746865206f7065726174696f6e2077617320746172676574696e6720666f72a8696e636c7573696f6e2c207768656e20697420776173206372656174656420616e64207369676e65642e00fc496e206361736520746865207369676e617475726520697320696e636f72726563742c20746865206e6f6e6365206973206e6f742076616c69642c20746865fc7265717569726564206b6579206973206e6f742070726573656e7420666f722074686520737065636966696564204449442c206f722074686520626c6f636bfc73706563696669656420697320746f6f206f6c642074686520766572696669636174696f6e206661696c7320616e64207468652063616c6c206973206e6f74f4646973706174636865642e204f74686572776973652c207468652063616c6c2069732070726f7065726c79206469737061746368656420776974682061b8604469644f726967696e60206f726967696e20696e6469636174696e672074686520444944207375626a6563742e00110141207375636365737366756c206469737061746368206f7065726174696f6e20726573756c747320696e2074686520747820636f756e746572206173736f6369617465640501776974682074686520676976656e2044494420746f20626520696e6372656d656e7465642c20746f206d69746967617465207265706c61792061747461636b732e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e0068456d697473206044696443616c6c44697370617463686564602e002823203c7765696768743eb05765696768743a204f283129202b20776569676874206f662074686520646973706174636865642063616c6c782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572000d1c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00b8546865207375626a656374206f66207468652063616c6c206d7573742062652074686520646964206f776e65722ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404010c6469640001484469644964656e7469666965724f663c543e000e0cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e41040c0c6469642c6469645f64657461696c73484469644372656174696f6e44657461696c73040454000018010c6469640001484469644964656e7469666965724f663c543e0001247375626d69747465720001384163636f756e7449644f663c543e0001586e65775f6b65795f61677265656d656e745f6b6579734504016c4469644e65774b657941677265656d656e744b65795365743c543e00014c6e65775f6174746573746174696f6e5f6b6579550401684f7074696f6e3c446964566572696669636174696f6e4b65793e0001486e65775f64656c65676174696f6e5f6b6579550401684f7074696f6e3c446964566572696669636174696f6e4b65793e00014c6e65775f736572766963655f64657461696c736904014c5665633c446964456e64706f696e743c543e3e00004504101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e64656442547265655365740804540149040453000004004d04012c42547265655365743c543e000049040c0c6469642c6469645f64657461696c7340446964456e6372797074696f6e4b65790001041858323535313904000401205b75383b2033325d000000004d040420425472656553657404045401490400040051040000005104000002490400550404184f7074696f6e0404540159040108104e6f6e6500000010536f6d6504005904000001000059040c0c6469642c6469645f64657461696c7348446964566572696669636174696f6e4b657900010c1c4564323535313904005d04013c656432353531393a3a5075626c69630000001c537232353531390400e502013c737232353531393a3a5075626c696300010014456364736104006104013465636473613a3a5075626c6963000200005d040c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d000061040c1c73705f636f7265146563647361185075626c696300000400650401205b75383b2033335d0000650400000321000000080069040000026d04006d040c0c64696444736572766963655f656e64706f696e74732c446964456e64706f696e7404045400000c010869647104015053657276696365456e64706f696e7449643c543e000134736572766963655f74797065737504017453657276696365456e64706f696e7454797065456e74726965733c543e00011075726c738104017053657276696365456e64706f696e7455726c456e74726965733c543e00007104101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00007504101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540179040453000004007d0401185665633c543e00007904101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00007d040000027904008104101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454018504045300000400890401185665633c543e00008504101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000089040000028504008d040c0c6469642c6469645f64657461696c7368446964417574686f72697a656443616c6c4f7065726174696f6e040454000014010c6469640001484469644964656e7469666965724f663c543e00012874785f636f756e74657210010c75363400011063616c6c9503014044696443616c6c61626c654f663c543e000130626c6f636b5f6e756d626572100140426c6f636b4e756d6265724f663c543e0001247375626d69747465720001384163636f756e7449644f663c543e000091040c4470616c6c65745f6469645f6c6f6f6b75701870616c6c65741043616c6c04045400011c446173736f63696174655f6163636f756e7408010c7265719504015c4173736f63696174654163636f756e745265717565737400012865787069726174696f6e1001a03c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a426c6f636b4e756d62657200004405014173736f63696174652074686520676976656e206163636f756e7420746f2074686520444944207468617420617574686f72697a656420746869732063616c6c2e000501546865206163636f756e742068617320746f207369676e207468652044494420616e64206120626c6f636b6e756d62657220616674657220776869636820746865e07369676e6174757265206578706972657320696e206f7264657220746f20617574686f72697a6520746865206173736f63696174696f6e2e001101546865207369676e61747572652077696c6c20626520636865636b656420616761696e737420746865207363616c6520656e636f646564207475706c65206f66207468650d016d6574686f64207370656369666963206964206f662074686520646964206964656e74696669657220616e642074686520626c6f636b206e756d626572206166746572bc776869636820746865207369676e61747572652073686f756c6420626520726567617264656420696e76616c69642e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e406173736f63696174655f73656e64657200012c01014173736f6369617465207468652073656e646572206f66207468652063616c6c20746f2074686520444944207468617420617574686f72697a656420746869731463616c6c2e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6472656d6f76655f73656e6465725f6173736f63696174696f6e000228fc52656d6f766520746865206173736f63696174696f6e206f66207468652073656e646572206163636f756e742e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865204449442c206275742072657175697265732061207369676e6564206f726967696e2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6872656d6f76655f6163636f756e745f6173736f63696174696f6e04011c6163636f756e74090101444c696e6b61626c654163636f756e74496400032c110152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742049442e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865206163636f756e742049442c2062757420746865206173736f63696174656420444944c46e6565647320746f206d617463682074686520444944207468617420617574686f72697a656420746869732063616c6c2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697404011c6163636f756e74090101444c696e6b61626c654163636f756e74496400042c090152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742e20546869732063616c6c2063616e206f6e6c79f862652063616c6c65642066726f6d20746865206465706f736974206f776e65722e20546865207265736572766564206465706f7369742077696c6c2062651866726565642e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129582d2052656164733a20436f6e6e6563746564446964735c2d205772697465733a20436f6e6e6563746564446964732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204011c6163636f756e74090101444c696e6b61626c654163636f756e74496400051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00d8546865207375626a656374206f66207468652063616c6c206d757374206265206c696e6b656420746f20746865206163636f756e742ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404011c6163636f756e74090101444c696e6b61626c654163636f756e74496400060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e95040c4470616c6c65745f6469645f6c6f6f6b7570646173736f63696174655f6163636f756e745f726571756573745c4173736f63696174654163636f756e74526571756573740001081c446f7473616d61080000012c4163636f756e74496433320000990401384d756c74695369676e617475726500000020457468657265756d08000d01012c4163636f756e744964323000009d040144457468657265756d5369676e6174757265000100009904082873705f72756e74696d65384d756c74695369676e617475726500010c1c45643235353139040029040148656432353531393a3a5369676e61747572650000001c53723235353139040031040148737232353531393a3a5369676e617475726500010014456364736104003504014065636473613a3a5369676e6174757265000200009d040c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e7444457468657265756d5369676e6174757265000004003504014065636473613a3a5369676e61747572650000a1040c4470616c6c65745f776562335f6e616d65731870616c6c65741043616c6c04045400011c14636c61696d0401106e616d651d010140576562334e616d65496e7075743c543e00003ce841737369676e2074686520737065636966696564206e616d6520746f20746865206f776e65722061732073706563696669656420696e207468651c6f726967696e2e000d01546865206e616d65206d757374206e6f74206861766520616c7265616479206265656e20636c61696d656420627920736f6d656f6e6520656c736520616e6420746865a06f776e6572206d757374206e6f7420616c7265616479206f776e20616e6f74686572206e616d652e00dc456d6974732060576562334e616d65436c61696d65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f28312909012d2052656164733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b20617661696c61626c652063757272656e6379582020636865636b202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f73697420726573657276652c23203c2f7765696768743e4072656c656173655f62795f6f776e6572000130a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e00cc546865206f726967696e206d75737420626520746865206f776e6572206f662074686520737065636966696564206e616d652e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204e616d65732073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e3c7265636c61696d5f6465706f7369740401106e616d651d010140576562334e616d65496e7075743c543e000230a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e000101546865206f726967696e206d75737420626520746865206163636f756e742074686174207061696420666f7220746865206e616d652773206465706f7369742e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204f776e65722073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e0c62616e0401106e616d651d010140576562334e616d65496e7075743c543e0003402c42616e2061206e616d652e00f4412062616e6e6564206e616d652063616e6e6f7420626520636c61696d656420627920616e796f6e652e20546865206e616d652773206465706f7369748869732072657475726e656420746f20746865206f726967696e616c2070617965722e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00d8456d6974732060576562334e616d6542616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129f02d2052656164733a2042616e6e65642c204f776e65722c204e616d65732073746f7261676520656e7472696573202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b2063757272656e6379206465706f73697424202072656c656173652c23203c2f7765696768743e14756e62616e0401106e616d651d010140576562334e616d65496e7075743c543e00043834556e62616e2061206e616d652e00704d616b652061206e616d6520636c61696d61626c6520616761696e2e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00e0456d6974732060576562334e616d65556e62616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129b02d2052656164733a2042616e6e65642073746f7261676520656e747279202b206f726967696e20636865636bb82d205772697465733a2042616e6e65642073746f7261676520656e747279206465706f7369742072656c656173652c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657200051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00e8546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f662074686520776562336e616d652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f7369740401286e616d655f696e7075741d010140576562334e616d65496e7075743c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea5040c487075626c69635f63726564656e7469616c731870616c6c65741043616c6c04045400011c0c61646404012863726564656e7469616ca9040164426f783c496e70757443726564656e7469616c4f663c543e3e000018a852656769737465722061206e6577207075626c69632063726564656e7469616c206f6e20636861696e2e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c2077697468207468652073616d65206964656e74696669657220616c72656164798465786973747320666f722074686520737065636966696564207375626a6563742e0064456d697473206043726564656e7469616c53746f726564602e187265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e110401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000120705265766f6b65732061207075626c69632063726564656e7469616c2e001101496620612063726564656e7469616c2077617320616c7265616479207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f207265766f6b65207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c5265766f6b6564602e20756e7265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e110401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00022478556e7265766f6b65732061207075626c69632063726564656e7469616c2e000101496620612063726564656e7469616c20776173206e6f74207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e00d8546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f20756e7265766f6b65207468652c63726564656e7469616c2e0070456d697473206043726564656e7469616c556e7265766f6b6564602e1872656d6f766508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e110401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000344fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d2074686518636861696e2e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f2072656d6f7665207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c52656d6f766564602e3c7265636c61696d5f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000448fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d20746865ac636861696e20616e642072657475726e7320746865206465706f73697420746f206974732070617965722e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000d01546865206469737061746368206f726967696e206d75737420626520746865206f776e6572206f6620746865206465706f7369742c2068656e6365206e6f74207468655863726564656e7469616c27732061747465737465722e0068456d697473206043726564656e7469616c52656d6f766564602e506368616e67655f6465706f7369745f6f776e657204013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00f0546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652063726564656e7469616c2ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea9040c487075626c69635f63726564656e7469616c732c63726564656e7469616c732843726564656e7469616c1024437479706548617368012c445375626a6563744964656e74696669657201ad0418436c61696d7301b10434416363657373436f6e74726f6c0115040010012863747970655f686173682c012443747970654861736800011c7375626a656374ad0401445375626a6563744964656e746966696572000118636c61696d73b1040118436c61696d73000134617574686f72697a6174696f6e110401544f7074696f6e3c416363657373436f6e74726f6c3e0000ad04101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000b104101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000b5040c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c65741043616c6c0404540001104c7365745f76616c69646174696f6e5f6461746104011064617461b904015450617261636861696e496e686572656e744461746100002480536574207468652063757272656e742076616c69646174696f6e20646174612e004101546869732073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e887068617365206966207468652063616c6c20776173206e6f7420696e766f6b65642e00d0546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e7460002101417320612073696465206566666563742c20746869732066756e6374696f6e207570677261646573207468652063757272656e742076616c69646174696f6e2066756e6374696f6e8469662074686520617070726f7072696174652074696d652068617320636f6d652e607375646f5f73656e645f7570776172645f6d65737361676504011c6d6573736167653001345570776172644d65737361676500010044617574686f72697a655f75706772616465040124636f64655f686173682c011c543a3a4861736800020060656e6163745f617574686f72697a65645f75706772616465040110636f646530011c5665633c75383e000300042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb904089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e745450617261636861696e496e686572656e7444617461000010013c76616c69646174696f6e5f64617461bd04015c50657273697374656456616c69646174696f6e4461746100014472656c61795f636861696e5f7374617465c504015473705f747269653a3a53746f7261676550726f6f66000144646f776e776172645f6d65737361676573cd04016c5665633c496e626f756e64446f776e776172644d6573736167653e00014c686f72697a6f6e74616c5f6d65737361676573d50401a442547265654d61703c5061726149642c205665633c496e626f756e6448726d704d6573736167653e3e0000bd040c4c706f6c6b61646f745f7072696d6974697665730876325c50657273697374656456616c69646174696f6e44617461080448012c044e011c0010012c706172656e745f68656164c1040120486561644461746100014c72656c61795f706172656e745f6e756d6265721c01044e00016472656c61795f706172656e745f73746f726167655f726f6f742c0104480001306d61785f706f765f73697a651c010c7533320000c1040c48706f6c6b61646f745f70617261636861696e287072696d6974697665732048656164446174610000040030011c5665633c75383e0000c5040c1c73705f747269653473746f726167655f70726f6f663053746f7261676550726f6f660000040128747269655f6e6f646573c904014442547265655365743c5665633c75383e3e0000c9040420425472656553657404045401300004006102000000cd04000002d10400d1040860706f6c6b61646f745f636f72655f7072696d69746976657358496e626f756e64446f776e776172644d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d62657200010c6d736730013c446f776e776172644d6573736167650000d504042042547265654d617008044b01a101045601d904000400e104000000d904000002dd0400dd040860706f6c6b61646f745f636f72655f7072696d69746976657348496e626f756e6448726d704d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d6265720001106461746130015073705f7374643a3a7665633a3a5665633c75383e0000e104000002e50400e50400000408a101d90400e9040c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c65741043616c6c04045400012448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d697410012458636d57656967687400003484536572766963657320612073696e676c65206f7665727765696768742058434d2e00c02d20606f726967696e603a204d75737420706173732060457865637574654f7665727765696768744f726967696e602ed42d2060696e646578603a2054686520696e646578206f6620746865206f7665727765696768742058434d20746f20736572766963650d012d20607765696768745f6c696d6974603a2054686520616d6f756e74206f662077656967687420746861742058434d20657865637574696f6e206d61792074616b652e001c4572726f72733a5d012d20604261644f766572776569676874496e646578603a2058434d20756e6465722060696e64657860206973206e6f7420666f756e6420696e2074686520604f766572776569676874602073746f72616765206d61702e45012d206042616458636d603a2058434d20756e6465722060696e646578602063616e6e6f742062652070726f7065726c79206465636f64656420696e746f20612076616c69642058434d20666f726d61742e09012d20605765696768744f7665724c696d6974603a2058434d20657865637574696f6e206d617920757365206772656174657220607765696768745f6c696d6974602e001c4576656e74733a8c2d20604f7665727765696768745365727669636564603a204f6e20737563636573732e5473757370656e645f78636d5f657865637574696f6e00010c490153757370656e647320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652c207265676172646c657373206f66207468652073656e6465722773206f726967696e2e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e50726573756d655f78636d5f657865637574696f6e000214b8526573756d657320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652e003d014e6f7465207468617420746869732066756e6374696f6e20646f65736e2774206368616e67652074686520737461747573206f662074686520696e2f6f757420626f756e64206368616e6e656c732e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e607570646174655f73757370656e645f7468726573686f6c6404010c6e65771c010c75333200031499014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e2074686520717565756520666f7220746865206f74686572207369646520746f20626520746f6c6420746f5873757370656e642074686569722073656e64696e672e00742d20606f726967696e603a204d75737420706173732060526f6f74602ee82d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e73757370656e645f76616c756560547570646174655f64726f705f7468726573686f6c6404010c6e65771c010c75333200041495014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e207468652071756575652061667465722077686963682077652064726f7020616e792066757274686572686d657373616765732066726f6d20746865206368616e6e656c2e00742d20606f726967696e603a204d75737420706173732060526f6f74602eec2d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e64726f705f7468726573686f6c64605c7570646174655f726573756d655f7468726573686f6c6404010c6e65771c010c75333200051491014f76657277726974657320746865206e756d626572206f66207061676573206f66206d6573736167657320776869636820746865207175657565206d757374206265207265647563656420746f206265666f7265206974207369676e616c732074686174ec6d6573736167652073656e64696e67206d6179207265636f6d6d656e636520616674657220697420686173206265656e2073757370656e6465642e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e726573756d655f7468726573686f6c64605c7570646174655f7468726573686f6c645f77656967687404010c6e657710012458636d57656967687400061049014f7665727772697465732074686520616d6f756e74206f662072656d61696e696e672077656967687420756e6465722077686963682077652073746f702070726f63657373696e67206d657373616765732e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7468726573686f6c645f77656967687460707570646174655f7765696768745f72657374726963745f646563617904010c6e657710012458636d57656967687400071445014f7665727772697465732074686520737065656420746f2077686963682074686520617661696c61626c652077656967687420617070726f616368657320746865206d6178696d756d207765696768742ea50141206c6f776572206e756d62657220726573756c747320696e2061206661737465722070726f6772657373696f6e2e20412076616c7565206f662031206d616b65732074686520656e746972652077656967687420617661696c61626c6520696e697469616c6c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e0d012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7765696768745f72657374726963745f6465636179602e847570646174655f78636d705f6d61785f696e646976696475616c5f77656967687404010c6e657710012458636d57656967687400081429014f766572777269746520746865206d6178696d756d20616d6f756e74206f662077656967687420616e7920696e646976696475616c206d657373616765206d617920636f6e73756d652e71014d657373616765732061626f766520746869732077656967687420676f20696e746f20746865206f76657277656967687420717565756520616e64206d6179206f6e6c79206265207365727669636564206578706c696369746c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e21012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e78636d705f6d61785f696e646976696475616c5f776569676874602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eed040c2870616c6c65745f78636d1870616c6c65741043616c6c0404540001281073656e64080110646573743502016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011c6d657373616765f1040154426f783c56657273696f6e656458636d3c28293e3e0000003c74656c65706f72745f617373657473100110646573743502016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793502016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747321020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c75333200013c110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e5c726573657276655f7472616e736665725f617373657473100110646573743502016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793502016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747321020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320002404d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e1c6578656375746508011c6d6573736167651d0501c0426f783c56657273696f6e656458636d3c3c5420617320537973436f6e6669673e3a3a52756e74696d6543616c6c3e3e0001286d61785f77656967687410012458636d57656967687400032cd04578656375746520616e2058434d206d6573736167652066726f6d2061206c6f63616c2c207369676e65642c206f726967696e2e004d01416e206576656e74206973206465706f736974656420696e6469636174696e67207768657468657220606d73676020636f756c6420626520657865637574656420636f6d706c6574656c79206f72206f6e6c79287061727469616c6c792e006d014e6f206d6f7265207468616e20606d61785f776569676874602077696c6c206265207573656420696e2069747320617474656d7074656420657865637574696f6e2e2049662074686973206973206c657373207468616e2074686559016d6178696d756d20616d6f756e74206f6620776569676874207468617420746865206d65737361676520636f756c642074616b6520746f2062652065786563757465642c207468656e206e6f20657865637574696f6e54617474656d70742077696c6c206265206d6164652e006d014e4f54453a2041207375636365737366756c2072657475726e20746f207468697320646f6573202a6e6f742a20696d706c7920746861742074686520606d73676020776173206578656375746564207375636365737366756c6c79cc746f20636f6d706c6574696f6e3b206f6e6c792074686174202a736f6d652a206f66206974207761732065786563757465642e44666f7263655f78636d5f76657273696f6e0801206c6f636174696f6ead010148426f783c4d756c74694c6f636174696f6e3e00012c78636d5f76657273696f6e1c012858636d56657273696f6e00041849014578746f6c6c2074686174206120706172746963756c61722064657374696e6174696f6e2063616e20626520636f6d6d756e6963617465642077697468207468726f756768206120706172746963756c61723c76657273696f6e206f662058434d2e00642d20606f726967696e603a204d75737420626520526f6f742ed82d20606c6f636174696f6e603a205468652064657374696e6174696f6e2074686174206973206265696e67206465736372696265642e11012d206078636d5f76657273696f6e603a20546865206c61746573742076657273696f6e206f662058434d207468617420606c6f636174696f6e6020737570706f7274732e64666f7263655f64656661756c745f78636d5f76657273696f6e0401446d617962655f78636d5f76657273696f6ea10301484f7074696f6e3c58636d56657273696f6e3e0005145901536574206120736166652058434d2076657273696f6e20287468652076657273696f6e20746861742058434d2073686f756c6420626520656e636f646564207769746820696620746865206d6f737420726563656e74b476657273696f6e20612064657374696e6174696f6e2063616e2061636365707420697320756e6b6e6f776e292e00642d20606f726967696e603a204d75737420626520526f6f742e39012d20606d617962655f78636d5f76657273696f6e603a205468652064656661756c742058434d20656e636f64696e672076657273696f6e2c206f7220604e6f6e656020746f2064697361626c652e78666f7263655f7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e3502016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000610390141736b2061206c6f636174696f6e20746f206e6f7469667920757320726567617264696e672074686569722058434d2076657273696f6e20616e6420616e79206368616e67657320746f2069742e00642d20606f726967696e603a204d75737420626520526f6f742e59012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f2077686963682077652073686f756c642073756273637269626520666f722058434d2076657273696f6e206e6f74696669636174696f6e732e80666f7263655f756e7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e3502016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e0007184901526571756972652074686174206120706172746963756c61722064657374696e6174696f6e2073686f756c64206e6f206c6f6e676572206e6f7469667920757320726567617264696e6720616e792058434d4076657273696f6e206368616e6765732e00642d20606f726967696e603a204d75737420626520526f6f742e3d012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f207768696368207765206172652063757272656e746c79207375627363726962656420666f722058434d2076657273696f6ea820206e6f74696669636174696f6e73207768696368207765206e6f206c6f6e676572206465736972652e7c6c696d697465645f726573657276655f7472616e736665725f617373657473140110646573743502016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793502016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747321020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69741902012c5765696768744c696d69740008484d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e5c6c696d697465645f74656c65706f72745f617373657473140110646573743502016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172793502016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747321020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69741902012c5765696768744c696d6974000944110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ef104080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010c0856300400f504015076303a3a58636d3c52756e74696d6543616c6c3e00000008563104000905015076313a3a58636d3c52756e74696d6543616c6c3e0001000856320400d101015076323a3a58636d3c52756e74696d6543616c6c3e00020000f5040c0c78636d0876300c58636d042c52756e74696d6543616c6c00012c34576974686472617741737365740801186173736574732502013c5665633c4d756c746941737365743e00011c65666665637473f904015c5665633c4f726465723c52756e74696d6543616c6c3e3e0000004c5265736572766541737365744465706f7369740801186173736574732502013c5665633c4d756c746941737365743e00011c65666665637473f904015c5665633c4f726465723c52756e74696d6543616c6c3e3e0001003454656c65706f727441737365740801186173736574732502013c5665633c4d756c746941737365743e00011c65666665637473f904015c5665633c4f726465723c52756e74696d6543616c6c3e3e000200345175657279526573706f6e736508012071756572795f696428010c753634000120726573706f6e736505050120526573706f6e7365000300345472616e7366657241737365740801186173736574732502013c5665633c4d756c746941737365743e000110646573742d0201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574732502013c5665633c4d756c746941737365743e000110646573742d0201344d756c74694c6f636174696f6e00011c65666665637473f90401385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f74797065050201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c09020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b901010c7533320001406d61785f6d6573736167655f73697a65b901010c7533320001306d61785f6361706163697479b901010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b901010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b901010c75333200011873656e646572b901010c753332000124726563697069656e74b901010c7533320009002c52656c6179656446726f6d08010c77686f2d0201344d756c74694c6f636174696f6e00011c6d657373616765f504018c616c6c6f633a3a626f7865643a3a426f783c58636d3c52756e74696d6543616c6c3e3e000a0000f904000002fd0400fd04100c78636d087630146f72646572144f72646572042c52756e74696d6543616c6c000120104e756c6c000000304465706f73697441737365740801186173736574732502013c5665633c4d756c746941737365743e000110646573742d0201344d756c74694c6f636174696f6e0001004c4465706f7369745265736572766541737365740c01186173736574732502013c5665633c4d756c746941737365743e000110646573742d0201344d756c74694c6f636174696f6e00011c65666665637473f90401385665633c4f726465723c28293e3e0002003445786368616e67654173736574080110676976652502013c5665633c4d756c746941737365743e00011c726563656976652502013c5665633c4d756c746941737365743e0003005c496e6974696174655265736572766557697468647261770c01186173736574732502013c5665633c4d756c746941737365743e00011c726573657276652d0201344d756c74694c6f636174696f6e00011c65666665637473f90401385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c01186173736574732502013c5665633c4d756c746941737365743e000110646573742d0201344d756c74694c6f636174696f6e00011c65666665637473f90401385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f696428010c753634000110646573742d0201344d756c74694c6f636174696f6e0001186173736574732502013c5665633c4d756c746941737365743e00060030427579457865637574696f6e14011066656573290201284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72a40110626f6f6c00010c78636d010501545665633c58636d3c52756e74696d6543616c6c3e3e000700000105000002f5040005050c0c78636d08763020526573706f6e73650001041841737365747304002502013c5665633c4d756c746941737365743e0000000009050c0c78636d0876310c58636d042c52756e74696d6543616c6c0001343457697468647261774173736574080118617373657473dd01012c4d756c746941737365747300011c656666656374730d05015c5665633c4f726465723c52756e74696d6543616c6c3e3e000000545265736572766541737365744465706f7369746564080118617373657473dd01012c4d756c746941737365747300011c656666656374730d05015c5665633c4f726465723c52756e74696d6543616c6c3e3e000100585265636569766554656c65706f727465644173736574080118617373657473dd01012c4d756c746941737365747300011c656666656374730d05015c5665633c4f726465723c52756e74696d6543616c6c3e3e000200345175657279526573706f6e736508012071756572795f696428010c753634000120726573706f6e736519050120526573706f6e7365000300345472616e736665724173736574080118617373657473dd01012c4d756c746941737365747300012c62656e6566696369617279ad0101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473dd01012c4d756c746941737365747300011064657374ad0101344d756c74694c6f636174696f6e00011c656666656374730d0501385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f74797065050201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c09020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b901010c7533320001406d61785f6d6573736167655f73697a65b901010c7533320001306d61785f6361706163697479b901010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b901010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b901010c75333200011873656e646572b901010c753332000124726563697069656e74b901010c7533320009002c52656c6179656446726f6d08010c77686fb1010154496e746572696f724d756c74694c6f636174696f6e00011c6d6573736167650905018c616c6c6f633a3a626f7865643a3a426f783c58636d3c52756e74696d6543616c6c3e3e000a004053756273637269626556657273696f6e08012071756572795f696428010c75363400014c6d61785f726573706f6e73655f77656967687428010c753634000b0048556e73756273637269626556657273696f6e000c00000d050000021105001105100c78636d087631146f72646572144f72646572042c52756e74696d6543616c6c000120104e6f6f70000000304465706f73697441737365740c01186173736574730d0201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200012c62656e6566696369617279ad0101344d756c74694c6f636174696f6e0001004c4465706f7369745265736572766541737365741001186173736574730d0201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200011064657374ad0101344d756c74694c6f636174696f6e00011c656666656374730d0501385665633c4f726465723c28293e3e0002003445786368616e67654173736574080110676976650d0201404d756c7469417373657446696c74657200011c72656365697665dd01012c4d756c74694173736574730003005c496e6974696174655265736572766557697468647261770c01186173736574730d0201404d756c7469417373657446696c74657200011c72657365727665ad0101344d756c74694c6f636174696f6e00011c656666656374730d0501385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c01186173736574730d0201404d756c7469417373657446696c74657200011064657374ad0101344d756c74694c6f636174696f6e00011c656666656374730d0501385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f696428010c75363400011064657374ad0101344d756c74694c6f636174696f6e0001186173736574730d0201404d756c7469417373657446696c74657200060030427579457865637574696f6e14011066656573e50101284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72a40110626f6f6c000130696e737472756374696f6e73150501545665633c58636d3c52756e74696d6543616c6c3e3e00070000150500000209050019050c0c78636d08763120526573706f6e7365000108184173736574730400dd01012c4d756c74694173736574730000001c56657273696f6e04001c013873757065723a3a56657273696f6e000100001d05080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010c08563004002105015076303a3a58636d3c52756e74696d6543616c6c3e00000008563104003505015076313a3a58636d3c52756e74696d6543616c6c3e00010008563204004505015076323a3a58636d3c52756e74696d6543616c6c3e0002000021050c0c78636d0876300c58636d042c52756e74696d6543616c6c00012c34576974686472617741737365740801186173736574732502013c5665633c4d756c746941737365743e00011c656666656374732505015c5665633c4f726465723c52756e74696d6543616c6c3e3e0000004c5265736572766541737365744465706f7369740801186173736574732502013c5665633c4d756c746941737365743e00011c656666656374732505015c5665633c4f726465723c52756e74696d6543616c6c3e3e0001003454656c65706f727441737365740801186173736574732502013c5665633c4d756c746941737365743e00011c656666656374732505015c5665633c4f726465723c52756e74696d6543616c6c3e3e000200345175657279526573706f6e736508012071756572795f696428010c753634000120726573706f6e736505050120526573706f6e7365000300345472616e7366657241737365740801186173736574732502013c5665633c4d756c746941737365743e000110646573742d0201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574732502013c5665633c4d756c746941737365743e000110646573742d0201344d756c74694c6f636174696f6e00011c65666665637473f90401385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f74797065050201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c31050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b901010c7533320001406d61785f6d6573736167655f73697a65b901010c7533320001306d61785f6361706163697479b901010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b901010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b901010c75333200011873656e646572b901010c753332000124726563697069656e74b901010c7533320009002c52656c6179656446726f6d08010c77686f2d0201344d756c74694c6f636174696f6e00011c6d6573736167652105018c616c6c6f633a3a626f7865643a3a426f783c58636d3c52756e74696d6543616c6c3e3e000a000025050000022905002905100c78636d087630146f72646572144f72646572042c52756e74696d6543616c6c000120104e756c6c000000304465706f73697441737365740801186173736574732502013c5665633c4d756c746941737365743e000110646573742d0201344d756c74694c6f636174696f6e0001004c4465706f7369745265736572766541737365740c01186173736574732502013c5665633c4d756c746941737365743e000110646573742d0201344d756c74694c6f636174696f6e00011c65666665637473f90401385665633c4f726465723c28293e3e0002003445786368616e67654173736574080110676976652502013c5665633c4d756c746941737365743e00011c726563656976652502013c5665633c4d756c746941737365743e0003005c496e6974696174655265736572766557697468647261770c01186173736574732502013c5665633c4d756c746941737365743e00011c726573657276652d0201344d756c74694c6f636174696f6e00011c65666665637473f90401385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c01186173736574732502013c5665633c4d756c746941737365743e000110646573742d0201344d756c74694c6f636174696f6e00011c65666665637473f90401385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f696428010c753634000110646573742d0201344d756c74694c6f636174696f6e0001186173736574732502013c5665633c4d756c746941737365743e00060030427579457865637574696f6e14011066656573290201284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72a40110626f6f6c00010c78636d2d0501545665633c58636d3c52756e74696d6543616c6c3e3e000700002d0500000221050031050c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e000035050c0c78636d0876310c58636d042c52756e74696d6543616c6c0001343457697468647261774173736574080118617373657473dd01012c4d756c746941737365747300011c656666656374733905015c5665633c4f726465723c52756e74696d6543616c6c3e3e000000545265736572766541737365744465706f7369746564080118617373657473dd01012c4d756c746941737365747300011c656666656374733905015c5665633c4f726465723c52756e74696d6543616c6c3e3e000100585265636569766554656c65706f727465644173736574080118617373657473dd01012c4d756c746941737365747300011c656666656374733905015c5665633c4f726465723c52756e74696d6543616c6c3e3e000200345175657279526573706f6e736508012071756572795f696428010c753634000120726573706f6e736519050120526573706f6e7365000300345472616e736665724173736574080118617373657473dd01012c4d756c746941737365747300012c62656e6566696369617279ad0101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473dd01012c4d756c746941737365747300011064657374ad0101344d756c74694c6f636174696f6e00011c656666656374730d0501385665633c4f726465723c28293e3e000500205472616e736163740c012c6f726967696e5f74797065050201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737410010c75363400011063616c6c31050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b901010c7533320001406d61785f6d6573736167655f73697a65b901010c7533320001306d61785f6361706163697479b901010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b901010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b901010c75333200011873656e646572b901010c753332000124726563697069656e74b901010c7533320009002c52656c6179656446726f6d08010c77686fb1010154496e746572696f724d756c74694c6f636174696f6e00011c6d6573736167653505018c616c6c6f633a3a626f7865643a3a426f783c58636d3c52756e74696d6543616c6c3e3e000a004053756273637269626556657273696f6e08012071756572795f696428010c75363400014c6d61785f726573706f6e73655f77656967687428010c753634000b0048556e73756273637269626556657273696f6e000c000039050000023d05003d05100c78636d087631146f72646572144f72646572042c52756e74696d6543616c6c000120104e6f6f70000000304465706f73697441737365740c01186173736574730d0201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200012c62656e6566696369617279ad0101344d756c74694c6f636174696f6e0001004c4465706f7369745265736572766541737365741001186173736574730d0201404d756c7469417373657446696c7465720001286d61785f6173736574731c010c75333200011064657374ad0101344d756c74694c6f636174696f6e00011c656666656374730d0501385665633c4f726465723c28293e3e0002003445786368616e67654173736574080110676976650d0201404d756c7469417373657446696c74657200011c72656365697665dd01012c4d756c74694173736574730003005c496e6974696174655265736572766557697468647261770c01186173736574730d0201404d756c7469417373657446696c74657200011c72657365727665ad0101344d756c74694c6f636174696f6e00011c656666656374730d0501385665633c4f726465723c28293e3e00040040496e69746961746554656c65706f72740c01186173736574730d0201404d756c7469417373657446696c74657200011064657374ad0101344d756c74694c6f636174696f6e00011c656666656374730d0501385665633c4f726465723c28293e3e000500305175657279486f6c64696e670c012071756572795f696428010c75363400011064657374ad0101344d756c74694c6f636174696f6e0001186173736574730d0201404d756c7469417373657446696c74657200060030427579457865637574696f6e14011066656573e50101284d756c7469417373657400011877656967687410010c7536340001106465627410010c75363400013468616c745f6f6e5f6572726f72a40110626f6f6c000130696e737472756374696f6e73410501545665633c58636d3c52756e74696d6543616c6c3e3e00070000410500000235050045050c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400490501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e000049050000024d05004d050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c00017034576974686472617741737365740400dd01012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400dd01012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400dd01012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e7365f9010120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e736665724173736574080118617373657473dd01012c4d756c746941737365747300012c62656e6566696369617279ad0101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473dd01012c4d756c746941737365747300011064657374ad0101344d756c74694c6f636174696f6e00010c78636dd101011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065050201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c31050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b901010c7533320001406d61785f6d6573736167655f73697a65b901010c7533320001306d61785f6361706163697479b901010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b901010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b901010c75333200011873656e646572b901010c753332000124726563697069656e74b901010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400b1010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374ad0101344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c01186173736574730d0201404d756c7469417373657446696c7465720001286d61785f617373657473b901010c75333200012c62656e6566696369617279ad0101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365741001186173736574730d0201404d756c7469417373657446696c7465720001286d61785f617373657473b901010c75333200011064657374ad0101344d756c74694c6f636174696f6e00010c78636dd101011c58636d3c28293e000e003445786368616e67654173736574080110676976650d0201404d756c7469417373657446696c74657200011c72656365697665dd01012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c01186173736574730d0201404d756c7469417373657446696c74657200011c72657365727665ad0101344d756c74694c6f636174696f6e00010c78636dd101011c58636d3c28293e00100040496e69746961746554656c65706f72740c01186173736574730d0201404d756c7469417373657446696c74657200011064657374ad0101344d756c74694c6f636174696f6e00010c78636dd101011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374ad0101344d756c74694c6f636174696f6e0001186173736574730d0201404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e08011066656573e50101284d756c746941737365740001307765696768745f6c696d69741902012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204004505014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804004505014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473dd01012c4d756c74694173736574730001187469636b6574ad0101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b000051050c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c65741043616c6c04045400010448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d697410012458636d576569676874000030905365727669636520612073696e676c65206f766572776569676874206d6573736167652e00c02d20606f726967696e603a204d75737420706173732060457865637574654f7665727765696768744f726967696e602ee82d2060696e646578603a2054686520696e646578206f6620746865206f766572776569676874206d65737361676520746f20736572766963652e1d012d20607765696768745f6c696d6974603a2054686520616d6f756e74206f66207765696768742074686174206d65737361676520657865637574696f6e206d61792074616b652e001c4572726f72733aac2d2060556e6b6e6f776e603a204d657373616765206f662060696e6465786020697320756e6b6e6f776e2e15012d20604f7665724c696d6974603a204d65737361676520657865637574696f6e206d6179207573652067726561746572207468616e20607765696768745f6c696d6974602e001c4576656e74733a8c2d20604f7665727765696768745365727669636564603a204f6e20737563636573732e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e5505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000059050000028d03005d0500000408610518006105101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540100045300000400f10201185665633c543e000065050c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d62657201102050726f706f73616c0191031c42616c616e6365011801081c4f6e676f696e670400690501c05265666572656e64756d5374617475733c426c6f636b4e756d6265722c2050726f706f73616c2c2042616c616e63653e0000002046696e6973686564080120617070726f766564a40110626f6f6c00010c656e6410012c426c6f636b4e756d6265720001000069050c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d62657201102050726f706f73616c0191031c42616c616e636501180014010c656e6410012c426c6f636b4e756d62657200012070726f706f73616c9103012050726f706f73616c0001247468726573686f6c64940134566f74655468726573686f6c6400011464656c617910012c426c6f636b4e756d62657200011474616c6c796d05013854616c6c793c42616c616e63653e00006d050c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e6365000071050c4070616c6c65745f64656d6f637261637910766f746518566f74696e67101c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d6265720110204d6178566f746573000108184469726563740c0114766f746573750501f4426f756e6465645665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e738105015044656c65676174696f6e733c42616c616e63653e0001147072696f728505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6e9d030128436f6e76696374696f6e00012c64656c65676174696f6e738105015044656c65676174696f6e733c42616c616e63653e0001147072696f728505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e000100007505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540179050453000004007d0501185665633c543e00007905000004081c98007d0500000279050081050c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e6365000085050c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201101c42616c616e6365011800080010012c426c6f636b4e756d626572000018011c42616c616e63650000890500000408910394008d05000004081061050091050c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f7204045400015c2056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365445265666572656e64756d496e76616c696400090484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d2c4e6f6e6557616974696e67000a04504e6f2070726f706f73616c732077616974696e67204e6f74566f746572000b04c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e000c04c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67000d0488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473000e04fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000f04a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740010085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001104d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650012049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400130450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001404804d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c546f6f4d616e79001504804d6178696d756d206e756d626572206f66206974656d7320726561636865642e3c566f74696e67506572696f644c6f7700160454566f74696e6720706572696f6420746f6f206c6f7704b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909099505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c045300000400450201185665633c543e00009905084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572011000140114696e6465781c013450726f706f73616c496e6465780001247468726573686f6c641c012c4d656d626572436f756e7400011061796573f10201385665633c4163636f756e7449643e0001106e617973f10201385665633c4163636f756e7449643e00010c656e6410012c426c6f636b4e756d62657200009d050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a105101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c045300000400450201185665633c543e0000a5050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a905101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540100045300000400f10201185665633c543e0000ad050c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909b105083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e63650000b505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454011c045300000400010301185665633c543e0000b9050c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c000004001c010c7533320000bd0504184f7074696f6e04045401180108104e6f6e6500000010536f6d650400180000010000c10508346672616d655f737570706f72742050616c6c6574496400000400f501011c5b75383b20385d0000c5050c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900011470496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0003084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640004047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e04784572726f7220666f72207468652074726561737572792070616c6c65742ec9050c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909cd05101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401e903045300000400d10501185665633c543e0000d105000002e90300d505083870616c6c65745f76657374696e672052656c656173657300010808563000000008563100010000d9050c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742edd05101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401e105045300000400e90501185665633c543e0000e10504184f7074696f6e04045401e5050108104e6f6e6500000010536f6d650400e5050000010000e505084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c0191032c426c6f636b4e756d62657201103450616c6c6574734f726967696e01c503244163636f756e7449640100001401206d617962655f6964cc01304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c9103011043616c6c0001386d617962655f706572696f646963f10301944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696ec503013450616c6c6574734f726967696e0000e905000002e10500ed050c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909f10500000408f5051800f505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401f905045300000400fd0501185665633c543e0000f905083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501d42c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065d4012450726f78795479706500011464656c617910012c426c6f636b4e756d6265720000fd05000002f90500010600000408050618000506101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540109060453000004000d0601185665633c543e00000906083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e74496401001048617368012c2c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173682c01104861736800011868656967687410012c426c6f636b4e756d62657200000d0600000209060011060c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909091506083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f73697419060150284163636f756e7449642c2042616c616e63652900010c6c656e1c010c753332000000245265717565737465640c011c6465706f7369741d0601704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e741c010c75333200010c6c656ea103012c4f7074696f6e3c7533323e000100001906000004080018001d0604184f7074696f6e0404540119060108104e6f6e6500000010536f6d650400190600000100002106000004082c1c002506101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000029060c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400011818546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909092d060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909093106082c70616c6c65745f746970731c4f70656e54697010244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d62657201101048617368012c001c0118726561736f6e2c01104861736800010c77686f0001244163636f756e74496400011866696e6465720001244163636f756e74496400011c6465706f73697418011c42616c616e6365000118636c6f7365733506014c4f7074696f6e3c426c6f636b4e756d6265723e00011074697073390601645665633c284163636f756e7449642c2042616c616e6365293e00012c66696e646572735f666565a40110626f6f6c0000350604184f7074696f6e04045401100108104e6f6e6500000010536f6d65040010000001000039060000021906003d060c3473705f61726974686d65746963287065725f7468696e67731c50657263656e74000004000801087538000041060c2c70616c6c65745f746970731870616c6c6574144572726f7208045400044900011830526561736f6e546f6f4269670000048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e00010488546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e5469700002046054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e6465720003041d01546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e0004042901546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d61747572650005043101546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090945060c1463747970652c63747970655f656e747279284374797065456e747279081c43726561746f7201002c426c6f636b4e756d62657201100008011c63726561746f7200011c43726561746f72000128637265617465645f617410012c426c6f636b4e756d626572000049060c1463747970651870616c6c6574144572726f7204045400010c3443547970654e6f74466f756e64000004985468657265206973206e6f20435479706520776974682074686520676976656e20686173682e484354797065416c72656164794578697374730001046454686520435479706520616c7265616479206578697374732e3c556e61626c65546f506179466565730002040d0154686520706179696e67206163636f756e742077617320756e61626c6520746f2070617920746865206665657320666f72206372656174696e6720612063747970652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909094d060c2c6174746573746174696f6e306174746573746174696f6e73484174746573746174696f6e44657461696c73040454000014012863747970655f686173682c01384374797065486173684f663c543e000120617474657374657200013441747465737465724f663c543e000140617574686f72697a6174696f6e5f6964f001704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e00011c7265766f6b6564a40110626f6f6c00011c6465706f736974510601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e000051060c306b696c745f737570706f72741c6465706f7369741c4465706f736974081c4163636f756e7401001c42616c616e63650118000801146f776e657200011c4163636f756e74000118616d6f756e7418011c42616c616e63650000550600000408f42c0059060c2c6174746573746174696f6e1870616c6c6574144572726f720404540001183c416c726561647941747465737465640000080901546865726520697320616c726561647920616e206174746573746174696f6e2077697468207468652073616d6520636c61696d20686173682073746f726564206f6e18636861696e2e38416c72656164795265766f6b6564000104a4546865206174746573746174696f6e2068617320616c7265616479206265656e207265766f6b65642e4c4174746573746174696f6e4e6f74466f756e64000204c04e6f206174746573746174696f6e206f6e20636861696e206d61746368696e672074686520636c61696d20686173682e3443547970654d69736d61746368000308fc546865206174746573746174696f6e20435479706520646f6573206e6f74206d61746368207468652043547970652073706563696669656420696e207468656864656c65676174696f6e2068696572617263687920726f6f742e30556e617574686f72697a6564000404f05468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f206368616e676520746865206174746573746174696f6e2e804d617844656c6567617465644174746573746174696f6e73457863656564656400050cf4546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732068617320616c7265616479206265656e05017265616368656420666f722074686520636f72726573706f6e64696e672064656c65676174696f6e2069642073756368207468617420616e6f74686572206f6e654063616e6e6f742062652061646465642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909095d060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368793844656c65676174696f6e4e6f646504045400001401446869657261726368795f726f6f745f69642c015444656c65676174696f6e4e6f646549644f663c543e000118706172656e74990101744f7074696f6e3c44656c65676174696f6e4e6f646549644f663c543e3e0001206368696c6472656e610601d8426f756e64656442547265655365743c44656c65676174696f6e4e6f646549644f663c543e2c20543a3a4d61784368696c6472656e3e00011c64657461696c736906015044656c65676174696f6e44657461696c733c543e00011c6465706f736974510601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e00006106101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c0453000004006506012c42547265655365743c543e0000650604204254726565536574040454012c000400450200000069060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368794444656c65676174696f6e44657461696c7304045400000c01146f776e657200014044656c656761746f7249644f663c543e00011c7265766f6b6564a40110626f6f6c00012c7065726d697373696f6e73fc012c5065726d697373696f6e7300006d060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368796844656c65676174696f6e48696572617263687944657461696c73040454000004012863747970655f686173682c01384374797065486173684f663c543e000071060c2864656c65676174696f6e1870616c6c6574144572726f720404540001585c44656c65676174696f6e416c72656164794578697374730000041101546865726520697320616c726561647920612064656c65676174696f6e206e6f64652077697468207468652073616d652049442073746f726564206f6e20636861696e2e60496e76616c696444656c65676174655369676e617475726500010805015468652064656c65676174652773207369676e617475726520666f72207468652064656c65676174696f6e206372656174696f6e206f7065726174696f6e20697320696e76616c69642e4844656c65676174696f6e4e6f74466f756e64000204c04e6f2064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e4044656c65676174654e6f74466f756e64000304b84e6f2064656c656761746520776974682074686520676976656e2049442073746f726564206f6e20636861696e2e58486965726172636879416c7265616479457869737473000404f8546865726520697320616c72656164792061206869657261726368792077697468207468652073616d652049442073746f726564206f6e20636861696e2e444869657261726368794e6f74466f756e64000504bc4e6f2068696572617263687920776974682074686520676976656e2049442073746f726564206f6e20636861696e2e544d617853656172636844657074685265616368656400060409014d6178206e756d626572206f66206e6f64657320636865636b656420776974686f757420766572696679696e672074686520676976656e20636f6e646974696f6e2e684e6f744f776e65724f66506172656e7444656c65676174696f6e000708f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6ef462656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20706172656e74206e6f64652e744e6f744f776e65724f6644656c65676174696f6e486965726172636879000808f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6eec62656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20726f6f74206e6f64652e60506172656e7444656c65676174696f6e4e6f74466f756e64000904dc4e6f20706172656e742064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e5c506172656e7444656c65676174696f6e5265766f6b6564000a04c854686520706172656e742064656c65676174696f6e206861732070726576696f75736c79206265656e207265766f6b65642e58556e617574686f72697a65645265766f636174696f6e000b04fc5468652064656c65676174696f6e207265766f6b6572206973206e6f7420616c6c6f77656420746f207265766f6b65207468652064656c65676174696f6e2e4c556e617574686f72697a656452656d6f76616c000c04ec5468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f2072656d6f7665207468652064656c65676174696f6e2e58556e617574686f72697a656444656c65676174696f6e000d04fc5468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f20637265617465207468652064656c65676174696f6e2e3041636365737344656e696564000e04f0546865206f7065726174696f6e207761736e277420616c6c6f7765642062656361757365206f6620696e73756666696369656e74207269676874732e6045786365656465645265766f636174696f6e426f756e6473000f080d014d6178206e756d626572206f66207265766f636174696f6e7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7238746865206f7065726174696f6e2e54457863656564656452656d6f76616c426f756e647300100811014d6178206e756d626572206f662072656d6f76616c7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7220746865286f7065726174696f6e2e584d61785265766f636174696f6e73546f6f4c61726765001104f8546865206d6178206e756d626572206f66207265766f636174696f6e206578636565647320746865206c696d697420666f72207468652070616c6c65742e4c4d617852656d6f76616c73546f6f4c61726765001204f0546865206d6178206e756d626572206f662072656d6f76616c73206578636565647320746865206c696d697420666f72207468652070616c6c65742e5c4d6178506172656e74436865636b73546f6f4c617267650013040501546865206d6178206e756d626572206f6620706172656e7420636865636b73206578636565647320746865206c696d697420666f72207468652070616c6c65742e34496e7465726e616c4572726f72001404f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e4c4d61784368696c6472656e4578636565646564001508dc546865206d6178206e756d626572206f6620616c6c206368696c6472656e20686173206265656e207265616368656420666f722074686578636f72726573706f6e64696e672064656c65676174696f6e206e6f64652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090975060c0c6469642c6469645f64657461696c732844696444657461696c7304045400001c014861757468656e7469636174696f6e5f6b65792c01284b657949644f663c543e0001486b65795f61677265656d656e745f6b657973790601604469644b657941677265656d656e744b65795365743c543e00013864656c65676174696f6e5f6b6579990101484f7074696f6e3c4b657949644f663c543e3e00013c6174746573746174696f6e5f6b6579990101484f7074696f6e3c4b657949644f663c543e3e00012c7075626c69635f6b6579737d0601484469645075626c69634b65794d61703c543e00013c6c6173745f74785f636f756e74657210010c75363400011c6465706f736974510601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e00007906101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c0453000004006506012c42547265655365743c543e00007d06101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b012c04560181060453000004008906013842547265654d61703c4b2c20563e000081060c0c6469642c6469645f64657461696c734c4469645075626c69634b657944657461696c73042c426c6f636b4e756d62657201100008010c6b6579850601304469645075626c69634b6579000130626c6f636b5f6e756d62657210012c426c6f636b4e756d626572000085060c0c6469642c6469645f64657461696c73304469645075626c69634b6579000108545075626c6963566572696669636174696f6e4b6579040059040148446964566572696669636174696f6e4b65790000004c5075626c6963456e6372797074696f6e4b6579040049040140446964456e6372797074696f6e4b6579000100008906042042547265654d617008044b012c04560181060004008d060000008d060000029106009106000004082c8106009506000004080071040099060c0c6469641870616c6c6574144572726f7204045400016c58496e76616c69645369676e6174757265466f726d6174000008050154686520444944206f7065726174696f6e207369676e6174757265206973206e6f7420696e2074686520666f726d61742074686520766572696669636174696f6e306b657920657870656374732e40496e76616c69645369676e6174757265000108f854686520444944206f7065726174696f6e207369676e617475726520697320696e76616c696420666f7220746865207061796c6f616420616e642074686568766572696669636174696f6e206b65792070726f76696465642e44446964416c726561647950726573656e74000204f85468652044494420776974682074686520676976656e206964656e74696669657220697320616c72656164792070726573656e74206f6e20636861696e2e344469644e6f7450726573656e74000304d44e6f2044494420776974682074686520676976656e206964656e7469666965722069732070726573656e74206f6e20636861696e2e64566572696669636174696f6e4b65794e6f7450726573656e7400040809014f6e65206f72206d6f726520766572696669636174696f6e206b657973207265666572656e63656420617265206e6f742073746f72656420696e2074686520736574546f6620766572696669636174696f6e206b6579732e30496e76616c69644e6f6e6365000504090154686520444944206f7065726174696f6e206e6f6e6365206973206e6f7420657175616c20746f207468652063757272656e7420444944206e6f6e6365202b20312e7c556e737570706f72746564446964417574686f72697a6174696f6e43616c6c000604e05468652063616c6c65642065787472696e73696320646f6573206e6f7420737570706f72742044494420617574686f7269736174696f6e2e6c496e76616c6964446964417574686f72697a6174696f6e43616c6c000708dc5468652063616c6c2068616420706172616d6574657273207468617420636f6e666c696374656420776974682065616368206f74686572406f72207765726520696e76616c69642e804d61784b657941677265656d656e744b6579734c696d697445786365656465640008080d0141206e756d626572206f66206e6577206b65792061677265656d656e74206b6579732067726561746572207468616e20746865206d6178696d756d20616c6c6f77656448686173206265656e2070726f76696465642e6c4d61785075626c69634b65797350657244696445786365656465640009080501546865206d6178696d756d206e756d626572206f66207075626c6963206b65797320666f72207468697320444944206b6579206964656e74696669657220686173346265656e20726561636865642e804d6178546f74616c4b657941677265656d656e744b6579734578636565646564000a080501546865206d6178696d756d206e756d626572206f66206b65792061677265656d656e747320686173206265656e207265616368656420666f722074686520444944207375626a6563742e304261644469644f726967696e000b04bc546865204449442063616c6c20776173207375626d6974746564206279207468652077726f6e67206163636f756e74485472616e73616374696f6e45787069726564000c040d0154686520626c6f636b206e756d6265722070726f766964656420696e2061204449442d617574686f72697a6564206f7065726174696f6e20697320696e76616c69642e44446964416c726561647944656c65746564000d04b0546865204449442068617320616c7265616479206265656e2070726576696f75736c792064656c657465642e444e6f744f776e65724f664465706f736974000e04fc4f6e6c7920746865206f776e6572206f6620746865206465706f7369742063616e207265636c61696d206974732072657365727665642062616c616e63652e3c556e61626c65546f50617946656573000f04f0546865206f726967696e20697320756e61626c6520746f207265736572766520746865206465706f73697420616e642070617920746865206665652e844d61784e756d6265724f66536572766963657350657244696445786365656465640010041101546865206d6178696d756d206e756d626572206f66207365727669636520656e64706f696e747320666f7220612044494420686173206265656e2065786365656465642e684d61785365727669636549644c656e6774684578636565646564001104f0546865207365727669636520656e64706f696e7420494420657863656564656420746865206d6178696d756d20616c6c6f776564206c656e6774682e704d617853657276696365547970654c656e6774684578636565646564001208f84f6e65206f6620746865207365727669636520656e64706f696e7420747970657320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e884d61784e756d6265724f665479706573506572536572766963654578636565646564001308ec546865206d6178696d756d206e756d626572206f6620747970657320666f722061207365727669636520656e64706f696e7420686173206265656e2465786365656465642e6c4d61785365727669636555726c4c656e6774684578636565646564001408f44f6e65206f6620746865207365727669636520656e64706f696e742055524c7320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e844d61784e756d6265724f6655726c735065725365727669636545786365656465640015041101546865206d6178696d756d206e756d626572206f662055524c7320666f722061207365727669636520656e64706f696e7420686173206265656e2065786365656465642e5453657276696365416c726561647950726573656e7400160411014120736572766963652077697468207468652070726f766964656420494420697320616c72656164792070726573656e7420666f722074686520676976656e204449442e44536572766963654e6f7450726573656e7400170409014120736572766963652077697468207468652070726f7669646564204944206973206e6f742070726573656e7420756e6465722074686520676976656e204449442e58496e76616c696453657276696365456e636f64696e6700180409014f6e65206f6620746865207365727669636520656e64706f696e742064657461696c7320636f6e7461696e73206e6f6e2d415343494920636861726163746572732e7053746f726564456e64706f696e7473436f756e74546f6f4c617267650019080d01546865206e756d626572206f66207365727669636520656e64706f696e74732073746f72656420756e6465722074686520444944206973206c6172676572207468616e88746865206e756d626572206f6620656e64706f696e747320746f2064656c6574652e34496e7465726e616c4572726f72001a04f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909099d060c4470616c6c65745f6469645f6c6f6f6b757044636f6e6e656374696f6e5f7265636f726440436f6e6e656374696f6e5265636f72640c344469644964656e74696669657201001c4163636f756e7401001c42616c616e636501180008010c6469640001344469644964656e74696669657200011c6465706f736974510601644465706f7369743c4163636f756e742c2042616c616e63653e0000a1060000040800090100a5060c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144572726f720404540001104c4173736f63696174696f6e4e6f74466f756e640000047c546865206173736f63696174696f6e20646f6573206e6f742065786973742e344e6f74417574686f72697a65640001081101546865206f726967696e20776173206e6f7420616c6c6f77656420746f206d616e61676520746865206173736f63696174696f6e206265747765656e20746865204449444c616e6420746865206163636f756e742049442e344f7574646174656450726f6f66000204b454686520737570706c6965642070726f6f66206f66206f776e65727368697020776173206f757464617465642e44496e73756666696369656e7446756e64730003081101546865206163636f756e742068617320696e73756666696369656e742066756e647320616e642063616e277420706179207468652066656573206f72207265736572766530746865206465706f7369742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a9060c4470616c6c65745f776562335f6e616d657324776562335f6e616d6544576562334e616d654f776e6572736869700c144f776e657201001c4465706f7369740151062c426c6f636b4e756d6265720110000c01146f776e65720001144f776e6572000128636c61696d65645f617410012c426c6f636b4e756d62657200011c6465706f7369745106011c4465706f7369740000ad060c4470616c6c65745f776562335f6e616d65731870616c6c6574144572726f7204045400013444496e73756666696369656e7446756e64730000040d01546865207478207375626d697474657220646f6573206e6f74206861766520656e6f7567682066756e647320746f2070617920666f7220746865206465706f7369742e58576562334e616d65416c7265616479436c61696d6564000104dc54686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c7920636c61696d65642e40576562334e616d654e6f74466f756e640002048854686520737065636966696564206e616d6520646f6573206e6f742065786973742e484f776e6572416c7265616479457869737473000304a054686520737065636966696564206f776e657220616c7265616479206f776e732061206e616d652e344f776e65724e6f74466f756e64000404ac54686520737065636966696564206f776e657220646f6573206e6f74206f776e20616e79206e616d65732e38576562334e616d6542616e6e6564000508ec54686520737065636966696564206e616d6520686173206265656e2062616e6e656420616e642063616e6e6f7420626520696e746572616374656414776974682e44576562334e616d654e6f7442616e6e6564000604ac54686520737065636966696564206e616d65206973206e6f742063757272656e746c792062616e6e65642e54576562334e616d65416c726561647942616e6e6564000704d854686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c792062616e6e65642e344e6f74417574686f72697a6564000804cc546865206163746f722063616e6e6f7420706572666f726d65642074686520737065636966696564206f7065726174696f6e2e40576562334e616d65546f6f53686f7274000904a841206e616d65207468617420697320746f6f2073686f7274206973206265696e6720636c61696d65642e3c576562334e616d65546f6f4c6f6e67000a04a441206e616d65207468617420697320746f6f206c6f6e67206973206265696e6720636c61696d65642e60496e76616c6964576562334e616d65436861726163746572000b04f441206e616d65207468617420636f6e7461696e73206e6f7420616c6c6f7765642063686172616374657273206973206265696e6720636c61696d65642e30556e617574686f72697a6564000c04d0546865206f726967696e20776173206e6f7420617574686f72697a656420746f20706572666f726d207468617420616374696f6e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909b1060000040825012c00b5060c487075626c69635f63726564656e7469616c732c63726564656e7469616c733c43726564656e7469616c456e7472791824435479706548617368012c20417474657374657201002c426c6f636b4e756d6265720110244163636f756e74496401001c42616c616e636501183c417574686f72697a6174696f6e496401f40018012863747970655f686173682c01244354797065486173680001206174746573746572000120417474657374657200011c7265766f6b6564a40110626f6f6c000130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200011c6465706f7369745106016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000140617574686f72697a6174696f6e5f6964f0015c4f7074696f6e3c417574686f72697a6174696f6e49643e0000b9060c487075626c69635f63726564656e7469616c731870616c6c6574144572726f720404540001185c43726564656e7469616c416c7265616479497373756564000008f8412063726564656e7469616c2077697468207468652073616d6520726f6f7420686173682068617320616c72656164792069737375656420746f2074686548737065636966696564207375626a6563742e4843726564656e7469616c4e6f74466f756e6400010805014e6f2063726564656e7469616c2077697468207468652073706563696669656420726f6f74206861736820686173206265656e2069737375656420746f2074686548737065636966696564207375626a6563742e3c556e61626c65546f50617946656573000204d44e6f7420656e6f75676820746f6b656e7320746f2070617920666f72207468652066656573206f7220746865206465706f7369742e30496e76616c6964496e707574000304805468652063726564656e7469616c20696e70757420697320696e76616c69642e30556e617574686f72697a6564000404e05468652063616c6c6572206973206e6f7420617574686f72697a656420746f20706572666f726d656420746865206f7065726174696f6e2e34496e7465726e616c4572726f72000508f443617463682d616c6c20666f7220616e79206f74686572206572726f727320746861742073686f756c64206e6f742068617070656e2c207965742069742468617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909bd0604184f7074696f6e04045401c1060108104e6f6e6500000010536f6d650400c1060000010000c1060c4c706f6c6b61646f745f7072696d69746976657308763248557067726164655265737472696374696f6e0001041c50726573656e7400000000c5060c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f74584d6573736167696e675374617465536e617073686f740000100130646d715f6d71635f686561642c014472656c61795f636861696e3a3a4861736800016472656c61795f64697370617463685f71756575655f73697a65c9060128287533322c2075333229000140696e67726573735f6368616e6e656c73cd0601885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00013c6567726573735f6368616e6e656c73cd0601885665633c285061726149642c20416272696467656448726d704368616e6e656c293e0000c906000004081c1c00cd06000002d10600d10600000408a101d50600d5060c4c706f6c6b61646f745f7072696d6974697665730876324c416272696467656448726d704368616e6e656c00001801306d61785f63617061636974791c010c7533320001386d61785f746f74616c5f73697a651c010c7533320001406d61785f6d6573736167655f73697a651c010c7533320001246d73675f636f756e741c010c753332000128746f74616c5f73697a651c010c7533320001206d71635f68656164990101304f7074696f6e3c486173683e0000d9060c4c706f6c6b61646f745f7072696d697469766573087632644162726964676564486f7374436f6e66696775726174696f6e00002401346d61785f636f64655f73697a651c010c7533320001486d61785f686561645f646174615f73697a651c010c7533320001586d61785f7570776172645f71756575655f636f756e741c010c7533320001546d61785f7570776172645f71756575655f73697a651c010c75333200015c6d61785f7570776172645f6d6573736167655f73697a651c010c7533320001906d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200018868726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200016c76616c69646174696f6e5f757067726164655f636f6f6c646f776e1c012c426c6f636b4e756d62657200016076616c69646174696f6e5f757067726164655f64656c61791c012c426c6f636b4e756d6265720000dd06089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74444d6573736167655175657565436861696e000004002c012452656c6179486173680000e106042042547265654d617008044b01a101045601dd06000400e506000000e506000002e90600e90600000408a101dd0600ed06000002f10600f1060860706f6c6b61646f745f636f72655f7072696d6974697665734c4f7574626f756e6448726d704d6573736167650408496401a10100080124726563697069656e74a101010849640001106461746130015073705f7374643a3a7665633a3a5665633c75383e0000f5060c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144572726f720404540001204c4f7665726c617070696e6755706772616465730000041501417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e675050726f686962697465644279506f6c6b61646f740001044901506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e18546f6f426967000208450154686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f742069733877696c6c696e6720746f2072756e6856616c69646174696f6e446174614e6f74417661696c61626c65000304190154686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b74486f7374436f6e66696775726174696f6e4e6f74417661696c61626c65000404250154686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b304e6f745363686564756c6564000504d84e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642e444e6f7468696e67417574686f72697a6564000604904e6f20636f6465207570677261646520686173206265656e20617574686f72697a65642e30556e617574686f72697a6564000704bc54686520676976656e20636f6465207570677261646520686173206e6f74206265656e20617574686f72697a65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909f906000002fd0600fd06086463756d756c75735f70616c6c65745f78636d705f717565756554496e626f756e644368616e6e656c44657461696c7300000c011873656e646572a1010118506172614964000114737461746501070130496e626f756e6453746174650001406d6573736167655f6d65746164617461050701a85665633c2852656c6179426c6f636b4e756d6265722c2058636d704d657373616765466f726d6174293e00000107086463756d756c75735f70616c6c65745f78636d705f717565756530496e626f756e645374617465000108084f6b0000002453757370656e6465640001000005070000020907000907000004081c0d07000d070c48706f6c6b61646f745f70617261636861696e287072696d6974697665734458636d704d657373616765466f726d617400010c60436f6e636174656e6174656456657273696f6e656458636d0000005c436f6e636174656e61746564456e636f646564426c6f620001001c5369676e616c7300020000110700000408a1011c0015070000021907001907086463756d756c75735f70616c6c65745f78636d705f7175657565584f7574626f756e644368616e6e656c44657461696c730000140124726563697069656e74a101011850617261496400011473746174651d0701344f7574626f756e6453746174650001347369676e616c735f6578697374a40110626f6f6c00012c66697273745f696e646578d8010c7531360001286c6173745f696e646578d8010c75313600001d07086463756d756c75735f70616c6c65745f78636d705f7175657565344f7574626f756e645374617465000108084f6b0000002453757370656e64656400010000210700000408a101d8002507086463756d756c75735f70616c6c65745f78636d705f71756575653c5175657565436f6e66696744617461000018014473757370656e645f7468726573686f6c641c010c75333200013864726f705f7468726573686f6c641c010c753332000140726573756d655f7468726573686f6c641c010c7533320001407468726573686f6c645f7765696768742401185765696768740001547765696768745f72657374726963745f646563617924011857656967687400016878636d705f6d61785f696e646976696475616c5f776569676874240118576569676874000029070000040ca1011c30002d070c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144572726f72040454000114304661696c6564546f53656e640000046c4661696c656420746f2073656e642058434d206d6573736167652e3042616458636d4f726967696e0001043c4261642058434d206f726967696e2e1842616458636d000204344261642058434d20646174612e484261644f766572776569676874496e64657800030454426164206f76657277656967687420696e6465782e3c5765696768744f7665724c696d6974000404f850726f76696465642077656967687420697320706f737369626c79206e6f7420656e6f75676820746f206578656375746520746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090931070c2870616c6c65745f78636d1870616c6c6574144572726f720404540001342c556e726561636861626c650000085d0154686520646573697265642064657374696e6174696f6e2077617320756e726561636861626c652c2067656e6572616c6c7920626563617573652074686572652069732061206e6f20776179206f6620726f7574696e6718746f2069742e2c53656e644661696c757265000108610154686572652077617320736f6d65206f746865722069737375652028692e652e206e6f7420746f20646f207769746820726f7574696e672920696e2073656e64696e6720746865206d6573736167652e2050657268617073a861206c61636b206f6620737061636520666f7220627566666572696e6720746865206d6573736167652e2046696c74657265640002049c546865206d65737361676520657865637574696f6e206661696c73207468652066696c7465722e48556e776569676861626c654d657373616765000304b4546865206d65737361676527732077656967687420636f756c64206e6f742062652064657465726d696e65642e6044657374696e6174696f6e4e6f74496e7665727469626c65000404f05468652064657374696e6174696f6e20604d756c74694c6f636174696f6e602070726f76696465642063616e6e6f7420626520696e7665727465642e14456d707479000504805468652061737365747320746f2062652073656e742061726520656d7074792e3843616e6e6f745265616e63686f720006043501436f756c64206e6f742072652d616e63686f72207468652061737365747320746f206465636c61726520746865206665657320666f72207468652064657374696e6174696f6e20636861696e2e34546f6f4d616e79417373657473000704c4546f6f206d616e79206173736574732068617665206265656e20617474656d7074656420666f72207472616e736665722e34496e76616c69644f726967696e000804784f726967696e20697320696e76616c696420666f722073656e64696e672e2842616456657273696f6e00090421015468652076657273696f6e206f6620746865206056657273696f6e6564602076616c75652075736564206973206e6f742061626c6520746f20626520696e7465727072657465642e2c4261644c6f636174696f6e000a08410154686520676976656e206c6f636174696f6e20636f756c64206e6f7420626520757365642028652e672e20626563617573652069742063616e6e6f742062652065787072657373656420696e2074686560646573697265642076657273696f6e206f662058434d292e384e6f537562736372697074696f6e000b04bc546865207265666572656e63656420737562736372697074696f6e20636f756c64206e6f7420626520666f756e642e44416c726561647953756273637269626564000c041101546865206c6f636174696f6e20697320696e76616c69642073696e636520697420616c726561647920686173206120737562736372697074696f6e2066726f6d2075732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090935070c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144572726f7204045400010004b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909093907086063756d756c75735f70616c6c65745f646d705f717565756528436f6e6669674461746100000401386d61785f696e646976696475616c24011857656967687400003d07086063756d756c75735f70616c6c65745f646d705f71756575653450616765496e6465784461746100000c0128626567696e5f757365641c012c50616765436f756e746572000120656e645f757365641c012c50616765436f756e7465720001406f7665727765696768745f636f756e7410013c4f766572776569676874496e646578000041070000024507004507000004081c300049070c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144572726f720404540001081c556e6b6e6f776e0000048c546865206d65737361676520696e64657820676976656e20697320756e6b6e6f776e2e244f7665724c696d6974000104310154686520616d6f756e74206f662077656967687420676976656e20697320706f737369626c79206e6f7420656e6f75676820666f7220657865637574696e6720746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909094d07102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c4164647265737301a5021043616c6c019503245369676e617475726501990414457874726101510700040030000000510700000420550759075d07610765076d077107750700550710306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000590710306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e040454000000005d0710306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e04045400000000610710306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000650710306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c697479040454000004006907010c45726100006907102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff00006d0710306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e636504045400000400280120543a3a496e6465780000710710306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b576569676874040454000000007507086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e7404045400000400c501013042616c616e63654f663c543e0000941853797374656d011853797374656d401c4163636f756e7401010402000c510100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e7400001c040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010020180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e00001c040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010405102c8000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e73696344617461010104051c300400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010010200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801002c80000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010034040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004404001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e7401001c100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f70696373010104022c49020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d655570677261646500004d0204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100a40400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100a40400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e506861736500004102040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01550201501830426c6f636b5765696768747365026d01e2817a5500070088526a7402004001c2e49817000107d0389ca54b0200d000010700e6bd4f570200f000010000c2e49817000107d0da30c0680200200101070088526a7402004001010700a2941a1d02005000c2e498170000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e67746875023000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7410206009000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e2044625765696768747d024040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6e81026103386b696c742d7370697269746e6574386b696c742d7370697269746e657401000000f82a00000000000038df6acb689907609b0400000037e397fc7c91f5e401000000bc9d89904f5b923f0100000037c8bb1350a9a2a802000000f3ff14d5ab5270590200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d69620200000026609555c065660302000000a47b7d544994c99b0100000045bfba51a310b2230100000004000000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978d808260014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e019102006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100950204000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e00000000012454696d657374616d70012454696d657374616d70080c4e6f7701001020000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100a4040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f0199020004344d696e696d756d506572696f6410207017000000000000104d0120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a5d0120706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c5d012067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c206265a020646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e00021c496e6469636573011c496e646963657304204163636f756e747300010402109d020400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e01a1020174041c4465706f736974184000b47cf328350000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e01ad02052042616c616e636573012042616c616e6365731434546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b730101040200b102040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e2052657365727665730101040200c102040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e01cd0201780c484578697374656e7469616c4465706f736974184000a0724e18090000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d61784c6f636b731c103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d617852657365727665731c1032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e01d10206485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100d50240000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100d90204000000018004604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e00071041757261011041757261082c417574686f7269746965730100dd020400046c205468652063757272656e7420617574686f72697479207365742e2c43757272656e74536c6f740100ed022000000000000000000c80205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e009420546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e00000000171c53657373696f6e011c53657373696f6e1c2856616c696461746f72730100f1020400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801001c100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100a4040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100f5020400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f7273010001030400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b6579730001040500fd020400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405050300040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e010d03018400011103164050617261636861696e5374616b696e67014050617261636861696e5374616b696e6740544d617853656c656374656443616e6469646174657301001c100000000004090120546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c6563746564206174206561636820726f756e642e14526f756e640100150350000000000000000000000000140000000000000004e82043757272656e7420726f756e64206e756d62657220616e64206e65787420726f756e64207363686564756c6564207472616e736974696f6e2e384c61737444656c65676174696f6e01010405001903200000000000000000140d012044656c65676174696f6e20696e666f726d6174696f6e20666f7220746865206c61746573742073657373696f6e20696e20776869636820612064656c656761746f722c2064656c6567617465642e000501204974206d6170732066726f6d20616e206163636f756e7420746f20746865206e756d626572206f662064656c65676174696f6e7320696e20746865206c617374982073657373696f6e20696e2077686963682074686579202872652d2964656c6567617465642e3844656c656761746f72537461746500010405001d0304000c802044656c65676174696f6e207374616b696e6720696e666f726d6174696f6e2e00cc204974206d6170732066726f6d20616e206163636f756e7420746f206974732064656c65676174696f6e2064657461696c732e3443616e646964617465506f6f6c00010405002103040010a420546865207374616b696e6720696e666f726d6174696f6e20666f7220612063616e6469646174652e00b0204974206d6170732066726f6d20616e206163636f756e7420746f2069747320696e666f726d6174696f6e2eb8204d6f72656f7665722c20697420636f756e747320746865206e756d626572206f662063616e646964617465732e5c436f756e746572466f7243616e646964617465506f6f6c01001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617048546f74616c436f6c6c61746f725374616b650100350380000000000000000000000000000000000000000000000000000000000000000014f420546f74616c2066756e6473206c6f636b656420746f206261636b207468652063757272656e746c792073656c656374656420636f6c6c61746f72732ed0205468652073756d206f6620616c6c20636f6c6c61746f7220616e642074686569722064656c656761746f72207374616b65732e002101204e6f74653a20546865726520617265206d6f72652066756e6473206c6f636b656420627920746869732070616c6c65742c2073696e636520746865206261636b696e6720666f720901206e6f6e20636f6c6c6174696e672063616e64696461746573206973206e6f7420696e636c7564656420696e205b546f74616c436f6c6c61746f725374616b655d2e34546f7043616e6469646174657301003903040028e82054686520636f6c6c61746f722063616e64696461746573207769746820746865206869676865737420616d6f756e74206f66207374616b652e00190120456163682074696d6520746865207374616b65206f66206120636f6c6c61746f7220697320696e637265617365642c20697420697320636865636b65642077686574686572050120746869732070757368657320616e6f746865722063616e646964617465206f7574206f6620746865206c6973742e205768656e20746865207374616b652069732101207265647563656420686f77657665722c206974206973206e6f7420636865636b656420696620616e6f746865722063616e64696461746520686173206d6f7265207374616b652c11012073696e6365207468697320776f756c64207265717569726520697465726174696e67206f7665722074686520656e74697265205b43616e646964617465506f6f6c5d2e001501205468657265206d75737420616c77617973206265206d6f72652063616e64696461746573207468616e205b4d617853656c656374656443616e646964617465735d20736f0d012074686174206120636f6c6c61746f722063616e2064726f70206f7574206f662074686520636f6c6c61746f7220736574206279207265647563696e672074686569721c207374616b652e3c496e666c6174696f6e436f6e66696701004103c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046420496e666c6174696f6e20636f6e66696775726174696f6e2e24556e7374616b696e6701010405004d0304001088205468652066756e64732077616974696e6720746f20626520756e7374616b65642e001d01204974206d6170732066726f6d206163636f756e747320746f20616c6c207468652066756e64732061646472657373656420746f207468656d20696e20746865206675747572652020626c6f636b732e644d6178436f6c6c61746f7243616e6469646174655374616b65010018400000000000000000000000000000000004cc20546865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e6469646174652063616e207374616b652e4c4c617374526577617264526564756374696f6e010010200000000000000000140d0120546865207965617220696e20776869636820746865206c617374206175746f6d6174696320726564756374696f6e206f66207468652072657761726420726174657328206f636375727265642e00250120497420737461727473206174207a65726f2061742067656e6573697320616e6420696e6372656d656e7473206279206f6e6520657665727920424c4f434b535f5045525f5945415234206d616e7920626c6f636b732e38426c6f636b73417574686f726564010104050010200000000000000000080d0120546865206e756d626572206f6620617574686f72656420626c6f636b7320666f7220636f6c6c61746f72732e20497420697320757064617465642076696120746865b020606e6f74655f617574686f726020686f6f6b207768656e20617574686f72696e67206120626c6f636b202e38426c6f636b73526577617264656401010405001020000000000000000024210120546865206e756d626572206f6620626c6f636b7320666f7220776869636820726577617264732068617665206265656e20636c61696d656420627920616e20616464726573732e00190120466f7220636f6c6c61746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f7265642e2049742069732075706461746564207768656ecc20696e6372656d656e74696e6720636f6c6c61746f7220726577617264732c20656974686572207768656e2063616c6c696e67e02060696e635f636f6c6c61746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e00250120466f722064656c656761746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f726564206f662074686520636f6c6c61746f722e497420697305012075706461746564207768656e20696e6372656d656e74696e672064656c656761746f7220726577617264732c20656974686572207768656e2063616c6c696e67e42060696e635f64656c656761746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e1c5265776172647301010405001840000000000000000000000000000000000c01012054686520616363756d756c61746564207265776172647320666f7220636f6c6c61746f722063616e6469646174657320616e642064656c656761746f72732e001101204974206d6170732066726f6d206163636f756e747320746f20746865697220746f74616c20726577617264732073696e636520746865206c617374207061796f75742e34466f7263654e6577526f756e640100a4040000015d0301883c444d696e426c6f636b73506572526f756e6410202c0100000000000004d4204d696e696d756d206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e64732063616e206c6173742e5444656661756c74426c6f636b73506572526f756e641020580200000000000008fc2044656661756c74206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e6473206c6173742c2061732073657420696e207468655c2067656e6573697320636f6e66696775726174696f6e2e345374616b654475726174696f6e1020e0c40000000000000c0501204e756d626572206f6620626c6f636b7320666f7220776869636820756e7374616b65642062616c616e63652077696c6c207374696c6c206265206c6f636b6564f0206265666f72652069742063616e20626520756e6c6f636b6564206279206163746976656c792063616c6c696e67207468652065787472696e7369634c2060756e6c6f636b5f756e7374616b6564602e3845786974517565756544656c61791c1002000000080901204e756d626572206f6620726f756e6473206120636f6c6c61746f722068617320746f207374617920616374697665206166746572207375626d697474696e672061c4207265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e304d696e436f6c6c61746f72731c1010000000080d01204d696e696d756d206e756d626572206f6620636f6c6c61746f72732073656c65637465642066726f6d2074686520736574206f662063616e64696461746573206174602065766572792076616c69646174696f6e20726f756e642e504d696e5265717569726564436f6c6c61746f72731c1004000000081101204d696e696d756d206e756d626572206f6620636f6c6c61746f72732077686963682063616e6e6f74206c6561766520746865206e6574776f726b2069662074686572653c20617265206e6f206f74686572732e584d617844656c65676174696f6e73506572526f756e641c1001000000140101204d6178696d756d206e756d626572206f662064656c65676174696f6e732077686963682063616e206265206d6164652077697468696e207468652073616d651c20726f756e642e000d01204e4f54453a20546f2070726576656e742072652d64656c65676174696f6e2d7265776172642061747461636b732c2077652073686f756c64206b65657020746869732c20746f206265206f6e652e604d617844656c656761746f7273506572436f6c6c61746f721c102300000004e4204d6178696d756d206e756d626572206f662064656c656761746f727320612073696e676c6520636f6c6c61746f722063616e20686176652e404d6178546f7043616e646964617465731c104b00000004a0204d6178696d756d2073697a65206f662074686520746f702063616e64696461746573207365742e404d696e436f6c6c61746f725374616b6518400000e8890423c78a0000000000000000080901204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520656c65637465642061732076616c696461746f723420666f72206120726f756e642e644d696e436f6c6c61746f7243616e6469646174655374616b6518400000e8890423c78a0000000000000000080501204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520616464656420746f2074686520736574206f66302063616e646964617465732e444d696e44656c656761746f725374616b651840000082dfe40d4700000000000000000004f8204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f206265636f6d6520612064656c656761746f722e484d6178556e7374616b6552657175657374731c100a00000028e8204d6178206e756d626572206f6620636f6e63757272656e742061637469766520756e7374616b696e67207265717565737473206265666f72652c20756e6c6f636b696e672e001501204e4f54453a20546f2070726f7465637420616761696e737420697272656d6f766162696c697479206f6620612063616e646964617465206f722064656c656761746f722cf4207765206f6e6c7920616c6c6f7720666f72204d6178556e7374616b655265717565737473202d2031206d616e79206d616e75616c20756e7374616b6501012072657175657374732e20546865206c617374206f6e6520736572766573206173206120706c616365686f6c64657220666f7220746865206361736573206f66f02063616c6c696e672065697468657220606b69636b5f64656c656761746f72602c20666f7263655f72656d6f76655f63616e64696461746560206f7209012060657865637574655f6c656176655f63616e64696461746573602e204f74686572776973652c2061207573657220636f756c64206d6178206f75742074686569720d0120756e7374616b6520726571756573747320616e642070726576656e74207468656d73656c7665732066726f6d206265696e67206b69636b65642066726f6d20746865f020736574206f662063616e646964617465732f64656c656761746f727320756e74696c207468657920756e6c6f636b2074686569722066756e64732e484e6574776f726b5265776172645374617274102048a3c800000000000c110120546865207374617274696e6720626c6f636b206e756d62657220666f7220746865206e6574776f726b20726577617264732e204f6e6365207468652063757272656e74090120626c6f636b206e756d626572206578636565647320746869732073746172742c207468652062656e65666963696172792077696c6c2072656365697665207468658420636f6e666967757265642072657761726420696e206561636820626c6f636b2e444e6574776f726b526577617264526174658c2000008a5d784563010c0d0120546865207261746520696e2070657263656e7420666f7220746865206e6574776f726b207265776172647320776869636820617265206261736564206f6e207468650901206d6178696d756d206e756d626572206f6620636f6c6c61746f727320616e6420746865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e1c207374616b652e0161031528417574686f72736869700128417574686f72736869700c18556e636c6573010065030400041c20556e636c657318417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e30446964536574556e636c65730100a4040004bc205768657468657220756e636c6573207765726520616c72656164792073657420696e207468697320626c6f636b2e017503000440556e636c6547656e65726174696f6e73102000000000000000000ccc20546865206e756d626572206f6620626c6f636b73206261636b2077652073686f756c642061636365707420756e636c65732ee42054686973206d65616e7320746861742077652077696c6c206465616c207769746820756e636c652d706172656e7473207468617420617265942060556e636c6547656e65726174696f6e73202b203160206265666f726520606e6f77602e018503141c41757261457874011c41757261457874042c417574686f7269746965730100dd02040014942053657276657320617320636163686520666f722074686520617574686f7269746965732e0071012054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c790120627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973f0206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e00000000182444656d6f6372616379012444656d6f63726163792c3c5075626c696350726f70436f756e7401001c100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301008903040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f66000104051c5d0504000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e7401001c100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401001c100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f66000104051c650504000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010405007105e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100a40400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00008905040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c697374000104062c8d0504000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e73010104062ca40400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e0199030190303c456e6163746d656e74506572696f641020201c00000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f641020e0c400000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f641020e0c400000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f641020e0c4000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400080c6a47e8d0300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f776564a404010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f641020840300000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f641020e0c400000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f7465731c106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c731c1064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f736974731c1064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c69737465641c106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e0191051e1c436f756e63696c011c436f756e63696c182450726f706f73616c7301009505040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062c9503040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062c9905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100f1020400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01a50301a000019d051f48546563686e6963616c436f6d6d69747465650148546563686e6963616c436f6d6d6974746565182450726f706f73616c730100a105040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062c9503040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062c9905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100f1020400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01b10301b00001a505204c546563686e6963616c4d656d62657273686970014c546563686e6963616c4d656d62657273686970081c4d656d626572730100a905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01b50301b40001ad052220547265617375727901205472656173757279103450726f706f73616c436f756e7401001c100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c73000104051cb1050400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c730100b505040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e01b90301b81c3050726f706f73616c426f6e64b9051050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d1840000082dfe40d47000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756dbd050400044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f641020c0a8000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726eb90510000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c65744964c105206b696c742f7473790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c731c10640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e01c505231c5574696c6974790001bd0301bc044c626174636865645f63616c6c735f6c696d69741c10aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01c905281c56657374696e67011c56657374696e67081c56657374696e670001040200cd05040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100d50504000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e01e50301c008444d696e5665737465645472616e73666572184000407a10f35a0000000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c65731c101c0000000001d90529245363686564756c657201245363686564756c65720c3c496e636f6d706c65746553696e6365000010040000184167656e64610101040510dd050400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001040504c8040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e01ed0301c408344d6178696d756d57656967687424280700a0db215d0200000104290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b1c1032000000041d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e01ed052a1450726f7879011450726f7879081c50726f786965730101040500f1054400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e74730101040500010644000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01f50301d0184050726f78794465706f7369744261736518400020f7a54b330000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f72184000f4a92b80010000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f786965731c100a00000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e671c100a00000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518400020f7a54b330000000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000e8535700030000000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e0111062b20507265696d6167650120507265696d6167650824537461747573466f72000104062c15060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f72000104062106250604000001fd0301dc000129062c38546970734d656d626572736869700138546970734d656d62657273686970081c4d656d626572730100a905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01010401e000012d062d1054697073011054697073081054697073000104052c310604000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e73000104062c3004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01050401e4144c4d6178696d756d526561736f6e4c656e6774681c10004000000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756548446174614465706f73697450657242797465184000743ba40b00000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e30546970436f756e74646f776e1020201c0000000000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665653d060414043501205468652070657263656e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f73697442617365184000f45628fa320000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e0141062e144374797065011443747970650418437479706573000104022c450604001060204354797065732073746f726564206f6e20636861696e2e001901204974206d6170732066726f6d2061204354797065206861736820746f206974732063726561746f7220616e6420626c6f636b206e756d62657220696e207768696368206974342077617320637265617465642e01090401e8000149063d2c4174746573746174696f6e012c4174746573746174696f6e08304174746573746174696f6e73000104022c4d0604000c78204174746573746174696f6e732073746f726564206f6e20636861696e2e00cc204974206d6170732066726f6d206120636c61696d206861736820746f207468652066756c6c206174746573746174696f6e2e5045787465726e616c4174746573746174696f6e7301010805025506a404000ca02044656c656761746564206174746573746174696f6e732073746f726564206f6e20636861696e2e00e8204974206d6170732066726f6d20612064656c65676174696f6e20494420746f206120766563746f72206f6620636c61696d206861736865732e010d0401ec081c4465706f7369741840001cc9dd006e0000000000000000000004e420546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720616e206174746573746174696f6e2e604d617844656c6567617465644174746573746174696f6e731c10e803000008090120546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732077686963682063616e206265206d61646520627954207468652073616d652064656c65676174696f6e2e0159063e2844656c65676174696f6e012844656c65676174696f6e083c44656c65676174696f6e4e6f646573000104022c5d0604000c882044656c65676174696f6e206e6f6465732073746f726564206f6e20636861696e2e00b0204974206d6170732066726f6d2061206e6f646520494420746f20746865206e6f64652064657461696c732e5444656c65676174696f6e4869657261726368696573000104022c6d0604000ca02044656c65676174696f6e2068696572617263686965732073746f726564206f6e20636861696e2e00dc204974206d61707320666f7220612028726f6f7429206e6f646520494420746f20746865206869657261726368792064657461696c732e01210401f8181c4465706f73697418400080c6a47e8d0300000000000000000004dc20546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720612064656c65676174696f6e2e584d61785369676e6174757265427974654c656e677468d808400000384d61785265766f636174696f6e731c1005000000047c204d6178696d756d206e756d626572206f66207265766f636174696f6e732e2c4d617852656d6f76616c731c100500000004f4204d6178696d756d206e756d626572206f662072656d6f76616c732e2053686f756c642062652073616d65206173204d61785265766f636174696f6e733c4d6178506172656e74436865636b731c1005000000080d01204d6178696d756d206e756d626572206f6620757077617264732074726176657273616c73206f66207468652064656c65676174696f6e20747265652066726f6d2061f0206e6f646520746f2074686520726f6f7420616e64207468757320746865206465707468206f66207468652064656c65676174696f6e20747265652e2c4d61784368696c6472656e1c10e80300000c0d01204d6178696d756d206e756d626572206f6620616c6c206368696c6472656e20666f7220612064656c65676174696f6e206e6f64652e20466f7220612062696e617279fc20747265652c20746869732073686f756c6420626520747769636520746865206d6178696d756d206465707468206f662074686520747265652c20692e652e5c206032205e204d6178506172656e74436865636b73602e0171063f0c446964010c446964100c4469640001040200750604000c5820444944732073746f726564206f6e20636861696e2e00c8204974206d6170732066726f6d206120444944206964656e74696669657220746f20746865204449442064657461696c732e4053657276696365456e64706f696e7473000108050295066d0404000ca0205365727669636520656e64706f696e7473206173736f636961746564207769746820444944732e000901204974206d6170732066726f6d2028444944206964656e7469666965722c20736572766963652049442920746f2074686520736572766963652064657461696c732e44446964456e64706f696e7473436f756e7401010402001c10000000000cac20436f756e746572206f66207365727669636520656e64706f696e747320666f722065616368204449442e00cc204974206d6170732066726f6d2028444944206964656e7469666965722920746f20612033322d62697420636f756e7465722e30446964426c61636b6c6973740001040200ac0400141d012054686520736574206f66204449447320746861742068617665206265656e2064656c6574656420616e642063616e6e6f74207468657265666f726520626520637265617465647020616761696e20666f7220736563757269747920726561736f6e732e002101204974206d6170732066726f6d206120444944206964656e74696669657220746f206120756e6974207475706c652c20666f72207468652073616b65206f6620747261636b696e674420444944206964656e746966696572732e013d04010101301c4465706f736974184000983ea62c22070000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e0c466565184000203d88792d000000000000000000000c09012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f7220656163682044494420617320612066656520746f0d0120696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206665652077696c6c206e6f74206765748820726566756e646564207768656e20746865204449442069732064656c657465642e4c4d61785075626c69634b6579735065724469641c10140000000c1101204d6178696d756d206e756d626572206f6620746f74616c207075626c6963206b6579732077686963682063616e2062652073746f7265642070657220444944206b6579d8206964656e7469666965722e205468697320696e636c7564657320746865206f6e65732063757272656e746c79207573656420666f72f02061757468656e7469636174696f6e2c206b65792061677265656d656e742c206174746573746174696f6e2c20616e642064656c65676174696f6e2e584d61784e65774b657941677265656d656e744b6579731c100a000000081501204d6178696d756d206e756d626572206f66206b65792061677265656d656e74206b65797320746861742063616e20626520616464656420696e2061206372656174696f6e2c206f7065726174696f6e2e604d6178546f74616c4b657941677265656d656e744b6579731c1013000000101101204d6178696d756d206e756d626572206f6620746f74616c206b65792061677265656d656e74206b65797320746861742063616e2062652073746f72656420666f7220613420444944207375626a6563742e00c42053686f756c642062652067726561746572207468616e20604d61784e65774b657941677265656d656e744b657973602e4c4d6178426c6f636b73547856616c696469747910202c0100000000000008ec20546865206d6178696d756d206e756d626572206f6620626c6f636b732061204449442d617574686f72697a6564206f7065726174696f6e2069739420636f6e736964657265642076616c696420616674657220697473206372656174696f6e2e644d61784e756d6265724f6653657276696365735065724469641c101900000004fc20546865206d6178696d756d206e756d626572206f6620736572766963657320746861742063616e2062652073746f72656420756e6465722061204449442e484d61785365727669636549644c656e6774681c1032000000049020546865206d6178696d756d206c656e677468206f66206120736572766963652049442e504d617853657276696365547970654c656e6774681c103200000004c820546865206d6178696d756d206c656e677468206f66206120736572766963652074797065206465736372697074696f6e2e684d61784e756d6265724f665479706573506572536572766963651c100100000004090120546865206d6178696d756d206e756d626572206f662061207479706573206465736372697074696f6e20666f722061207365727669636520656e64706f696e742e4c4d61785365727669636555726c4c656e6774681c10c8000000049420546865206d6178696d756d206c656e677468206f66206120736572766963652055524c2e644d61784e756d6265724f6655726c73506572536572766963651c100100000004d420546865206d6178696d756d206e756d626572206f6620612055524c7320666f722061207365727669636520656e64706f696e742e0199064024496e666c6174696f6e000000084c496e697469616c506572696f644c656e677468102048a3c800000000000c050120546865206c656e677468206f662074686520696e697469616c20706572696f6420696e2077686963682074686520636f6e7374616e74207265776172642069731101206d696e7465642e204f6e6365207468652063757272656e7420626c6f636b206578636565647320746869732c207265776172647320617265206e6f206675727468657220206973737565642e4c496e697469616c506572696f64526577617264184036f539fdaeb30200000000000000000008fc2054686520616d6f756e74206f66206e65776c792069737375656420746f6b656e732070657220626c6f636b20647572696e672074686520696e697469616c2020706572696f642e0042244469644c6f6f6b757001244469644c6f6f6b75700834436f6e6e6563746564446964730001040209019d06040004a8204d617070696e672066726f6d206163636f756e74206964656e7469666965727320746f20444944732e44436f6e6e65637465644163636f756e74730001080202a106ac04000cbc204d617070696e672066726f6d2028444944202b206163636f756e74206964656e74696669657229202d3e2028292e0d012054686520656d707479207475706c65206973207573656420617320612073656e74696e656c2076616c756520746f2073696d706c7920696e64696361746520746865982070726573656e6365206f66206120676976656e207475706c6520696e20746865206d61702e019104010501041c4465706f736974184000c0afd69136000000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e01a5064324576562334e616d65730124576562334e616d65730c144f776e6572000104021901a90604000488204d6170206f66206e616d65202d3e206f776e6572736869702064657461696c732e144e616d65730001040200190104000458204d6170206f66206f776e6572202d3e206e616d652e1842616e6e6564000104021901ac04000c4c204d6170206f66206e616d65202d3e2028292e00e02049662061206e616d65206b65792069732070726573656e742c20746865206e616d652069732063757272656e746c792062616e6e65642e01a1040115010c1c4465706f736974184000d450a85d6b0000000000000000000004bc2054686520616d6f756e74206f66204b494c5420746f206465706f73697420746f20636c61696d2061206e616d652e344d696e4e616d654c656e6774681c1003000000048820546865206d696e20656e636f646564206c656e677468206f662061206e616d652e344d61784e616d654c656e6774681c1020000000048820546865206d617820656e636f646564206c656e677468206f662061206e616d652e01ad0644445075626c696343726564656e7469616c7301445075626c696343726564656e7469616c73082c43726564656e7469616c730001080502b106b50604000cc020546865206d6170206f66207075626c69632063726564656e7469616c7320616c72656164792061747465737465642ef0204974206d6170732066726f6d206120287375626a656374206964202b2063726564656e7469616c20696429202d3e20746865206372656174696f6e6c2064657461696c73206f66207468652063726564656e7469616c2e4843726564656e7469616c5375626a65637473000104022c250104001025012041207265766572736520696e646578206d617070696e672066726f6d2063726564656e7469616c20494420746f20746865207375626a656374207468652063726564656e7469616c3c207761732069737375656420746f2e001901204974206974207573656420746f20706572666f726d20656666696369656e74206c6f6f6b7570206f662063726564656e7469616c7320676976656e2074686569722049442e01a5040121010c1c4465706f7369741840005c8d421343000000000000000000000411012054686520616d6f756e74206f6620746f6b656e7320746f2072657365727665207768656e20617474657374696e672061207075626c69632063726564656e7469616c2e584d6178456e636f646564436c61696d734c656e6774681c10a0860100040d0120546865206d6178696d756d206c656e67746820696e206279746573206f662074686520656e636f64656420636c61696d73206f6620612063726564656e7469616c2e484d61785375626a65637449644c656e6774681c10cc00000008e820546865206d6178696d756d206c656e67746820696e206279746573206f6620746865207261772063726564656e7469616c207375626a65637430206964656e7469666965722e01b906453c50617261636861696e53797374656d013c50617261636861696e53797374656d545450656e64696e6756616c69646174696f6e436f64650100300400187d0120496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e00c10120417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455dad012077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e000501205b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455d3a2073705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f4445444e657756616c69646174696f6e436f64650000300400145d012056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e647820636f6e73657175656e746c79207468652072656c61792d636861696e2e00650120546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c7265616479207365742c207468652076616c75652e3856616c69646174696f6e446174610000bd0404000cd020546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e2d0120546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f7265643420696e2074686520747269652e5044696453657456616c69646174696f6e436f64650100a4040004e02057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f644c61737452656c6179436861696e426c6f636b4e756d62657201001c1000000000041d01205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e60557067726164655265737472696374696f6e5369676e616c0100bd0604001c750120416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e610120496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365646c2063616e6469646174652077696c6c20626520696e76616c69642e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3c52656c6179537461746550726f6f660000c504040018c4205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e5852656c6576616e744d6573736167696e6753746174650000c50604001c65012054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e2061732070657248207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e44486f7374436f6e66696775726174696f6e0000d9060400182901205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e384c617374446d714d7163486561640100dd0680000000000000000000000000000000000000000000000000000000000000000010f420546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e404c61737448726d704d716348656164730100e106040010490120546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e6450726f636573736564446f776e776172644d6573736167657301001c10000000000cc8204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e3448726d7057617465726d61726b01001c10000000000ca02048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5048726d704f7574626f756e644d657373616765730100ed0604000ca42048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e385570776172644d657373616765730100610204000cac20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5450656e64696e675570776172644d6573736167657301006102040004310120557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e84416e6e6f756e63656448726d704d6573736167657350657243616e64696461746501001c100000000008650120546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f72f020616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e68526573657276656458636d705765696768744f766572726964650000240400085d01205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e645265736572766564446d705765696768744f766572726964650000240400085901205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e44417574686f72697a65645570677261646500002c040004b820546865206e65787420617574686f72697a656420757067726164652c206966207468657265206973206f6e652e60437573746f6d56616c69646174696f6e486561644461746100003004000c2901204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e00190120536565205b6050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461605d20666f72206d6f726520696e666f726d6174696f6e2e01b5040191010001f506503450617261636861696e496e666f013450617261636861696e496e666f042c50617261636861696e49640100a10110640000000000000000512458636d705175657565012458636d7051756575652444496e626f756e6458636d705374617475730100f9060400049420537461747573206f662074686520696e626f756e642058434d50206368616e6e656c732e4c496e626f756e6458636d704d657373616765730101080205110730040004190120496e626f756e64206167677265676174652058434d50206d657373616765732e2049742063616e206f6e6c79206265206f6e6520706572205061726149642f626c6f636b2e484f7574626f756e6458636d70537461747573010015070400185d0120546865206e6f6e2d656d7074792058434d50206368616e6e656c7320696e206f72646572206f66206265636f6d696e67206e6f6e2d656d7074792c20616e642074686520696e646578206f6620746865206669727374510120616e64206c617374206f7574626f756e64206d6573736167652e204966207468652074776f20696e64696365732061726520657175616c2c207468656e20697420696e6469636174657320616e20656d707479590120717565756520616e64207468657265206d7573742062652061206e6f6e2d604f6b6020604f7574626f756e64537461747573602e20576520617373756d65207175657565732067726f77206e6f20677265617465725901207468616e203635353335206974656d732e20517565756520696e646963657320666f72206e6f726d616c206d6573736167657320626567696e206174206f6e653b207a65726f20697320726573657276656420696e11012063617365206f6620746865206e65656420746f2073656e64206120686967682d7072696f72697479207369676e616c206d657373616765207468697320626c6f636b2e09012054686520626f6f6c20697320747275652069662074686572652069732061207369676e616c206d6573736167652077616974696e6720746f2062652073656e742e504f7574626f756e6458636d704d657373616765730101080205210730040004bc20546865206d65737361676573206f7574626f756e6420696e206120676976656e2058434d50206368616e6e656c2e385369676e616c4d6573736167657301010402a10130040004a020416e79207369676e616c206d657373616765732077616974696e6720746f2062652073656e742e2c5175657565436f6e6669670100250774020000000500000001000000821a06000008000700c817a804020004000415012054686520636f6e66696775726174696f6e20776869636820636f6e74726f6c73207468652064796e616d696373206f6620746865206f7574626f756e642071756575652e284f76657277656967687400010405102907040010050120546865206d657373616765732074686174206578636565646564206d617820696e646976696475616c206d65737361676520776569676874206275646765742e003901205468657365206d657373616765207374617920696e20746869732073746f72616765206d617020756e74696c207468657920617265206d616e75616c6c79206469737061746368656420766961582060736572766963655f6f766572776569676874602e3c4f766572776569676874436f756e7401001020000000000000000008690120546865206e756d626572206f66206f766572776569676874206d657373616765732065766572207265636f7264656420696e20604f766572776569676874602e20416c736f20646f75626c657320617320746865206e6578748420617661696c61626c652066726565206f76657277656967687420696e6465782e38517565756553757370656e6465640100a404000441012057686574686572206f72206e6f74207468652058434d502071756575652069732073757370656e6465642066726f6d20657865637574696e6720696e636f6d696e672058434d73206f72206e6f742e01e90401950100012d07522c506f6c6b61646f7458636d0001ed0401a50100013107532843756d756c757358636d0000013902000135075420446d7051756575650120446d7051756575651034436f6e66696775726174696f6e01003907280700e40b540202000400044c2054686520636f6e66696775726174696f6e2e2450616765496e64657801003d074000000000000000000000000000000000044020546865207061676520696e6465782e145061676573010104021c410704000444205468652071756575652070616765732e284f766572776569676874000104021045070400046420546865206f766572776569676874206d657373616765732e015105013d0200014907554d07042048436865636b4e6f6e5a65726f53656e6465725507ac40436865636b5370656356657273696f6e59071c38436865636b547856657273696f6e5d071c30436865636b47656e6573697361072c38436865636b4d6f7274616c69747965072c28436865636b4e6f6e63656d07ac2c436865636b5765696768747107ac604368617267655472616e73616374696f6e5061796d656e747507ac1d04"} \ No newline at end of file +{"result":"0x6d6574610e8507000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f0814496e64657801102c4163636f756e74446174610114001401146e6f6e6365100114496e646578000124636f6e73756d6572731c0120526566436f756e7400012470726f7669646572731c0120526566436f756e7400012c73756666696369656e74731c0120526566436f756e740001106461746114012c4163636f756e7444617461000010000005060014083c70616c6c65745f62616c616e6365732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500012c6d6973635f66726f7a656e18011c42616c616e63650001286665655f66726f7a656e18011c42616c616e636500001800000507001c0000050500200c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540124000c01186e6f726d616c2401045400012c6f7065726174696f6e616c240104540001246d616e6461746f7279240104540000240c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d6528010c75363400012870726f6f665f73697a6528010c75363400002800000610002c083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d000030000002080034102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f677338013c5665633c4469676573744974656d3e0000380000023c003c102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e00060024436f6e73656e7375730800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000400105365616c0800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000500144f74686572040030011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e745570646174656400080000400000030400000008004400000248004808306672616d655f73797374656d2c4576656e745265636f7264080445014c0454012c000c011470686173657502011450686173650001146576656e744c010445000118746f70696373790201185665633c543e00004c08447370697269746e65745f72756e74696d653052756e74696d654576656e740001781853797374656d04005001706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c496e6469636573040074017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e0005002042616c616e636573040078017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404008001a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c53657373696f6e040084015470616c6c65745f73657373696f6e3a3a4576656e740016004050617261636861696e5374616b696e67040088018470617261636861696e5f7374616b696e673a3a4576656e743c52756e74696d653e0015002444656d6f6372616379040090018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e001e001c436f756e63696c0400a001fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400b001fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020004c546563686e6963616c4d656d626572736869700400b401fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365313e0022002054726561737572790400b8017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e0023001c5574696c6974790400bc015470616c6c65745f7574696c6974793a3a4576656e740028001c56657374696e670400c0017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e002900245363686564756c65720400c4018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e002a001450726f78790400d0017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002b0020507265696d6167650400dc017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e002c0038546970734d656d626572736869700400e001fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365323e002d0010546970730400e4016c70616c6c65745f746970733a3a4576656e743c52756e74696d653e002e001443747970650400e8015463747970653a3a4576656e743c52756e74696d653e003d002c4174746573746174696f6e0400ec016c6174746573746174696f6e3a3a4576656e743c52756e74696d653e003e002844656c65676174696f6e0400f8016864656c65676174696f6e3a3a4576656e743c52756e74696d653e003f000c44696404000101014c6469643a3a4576656e743c52756e74696d653e004000244469644c6f6f6b757004000501018470616c6c65745f6469645f6c6f6f6b75703a3a4576656e743c52756e74696d653e00430024576562334e616d657304001501018470616c6c65745f776562335f6e616d65733a3a4576656e743c52756e74696d653e004400445075626c696343726564656e7469616c730400210101887075626c69635f63726564656e7469616c733a3a4576656e743c52756e74696d653e0045003c50617261636861696e53797374656d0400910101bc63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e0050002458636d7051756575650400950101a463756d756c75735f70616c6c65745f78636d705f71756575653a3a4576656e743c52756e74696d653e0052002c506f6c6b61646f7458636d0400a101016870616c6c65745f78636d3a3a4576656e743c52756e74696d653e0053002843756d756c757358636d04006d02018863756d756c75735f70616c6c65745f78636d3a3a4576656e743c52756e74696d653e00540020446d7051756575650400710201a063756d756c75735f70616c6c65745f646d705f71756575653a3a4576656e743c52756e74696d653e00550000500c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5401304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7260013444697370617463684572726f7200013464697370617463685f696e666f5401304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e744964000110686173682c011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e540c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874240118576569676874000114636c6173735801344469737061746368436c617373000120706179735f6665655c0110506179730000580c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f7279000200005c0c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000060082873705f72756e74696d653444697370617463684572726f72000134144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040064012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e0400680128546f6b656e4572726f720007002841726974686d6574696304006c013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007001485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c000064082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7240018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d000068082873705f72756e74696d6528546f6b656e4572726f7200011c1c4e6f46756e647300000020576f756c644469650001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f72746564000600006c083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000070082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000740c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909780c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001281c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e63655365740c010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e63650001207265736572766564180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475737c01185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909097c14346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e6365537461747573000108104672656500000020526573657276656400010000800c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909840c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e6465781c013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909880c4470617261636861696e5f7374616b696e671870616c6c6574144576656e74040454000154204e6577526f756e640800100138543a3a426c6f636b4e756d62657200001c013053657373696f6e496e6465780000088041206e6577207374616b696e6720726f756e642068617320737461727465642e785c5b626c6f636b206e756d6265722c20726f756e64206e756d6265725c5d50456e7465726564546f7043616e646964617465730400000130543a3a4163636f756e744964000108cc41206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d444c656674546f7043616e646964617465730400000130543a3a4163636f756e744964000208d8416e206163636f756e74207761732072656d6f7665642066726f6d2074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d604a6f696e6564436f6c6c61746f7243616e646964617465730800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000308e041206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620636f6c6c61746f722063616e646964617465732ebc5c5b6163636f756e742c20616d6f756e74207374616b656420627920746865206e65772063616e6469646174655c5d48436f6c6c61746f725374616b65644d6f72650c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00040801014120636f6c6c61746f722063616e6469646174652068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d48436f6c6c61746f725374616b65644c6573730c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00050801014120636f6c6c61746f722063616e64696461746520686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d54436f6c6c61746f725363686564756c6564457869740c001c013053657373696f6e496e6465780000000130543a3a4163636f756e74496400001c013053657373696f6e496e64657800061001014120636f6c6c61746f722063616e646964617465206861732073746172746564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e646964617465732e205c5b726f756e64206e756d6265722c20636f6c6c61746f722773206163636f756e742c20726f756e64206e756d626572207768656ee074686520636f6c6c61746f722077696c6c206265206566666563746976656c792072656d6f7665642066726f6d2074686520736574206f663063616e646964617465735c5d50436f6c6c61746f7243616e63656c6564457869740400000130543a3a4163636f756e74496400070c05014120636f6c6c61746f722063616e646964617465206861732063616e63656c6564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e6469646174657320616e6420776173206164646564206261636b20746f207468652063616e64696461746520706f6f6c2e205c5b636f6c6c61746f722773246163636f756e745c5d3443616e6469646174654c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000808cc416e206163636f756e7420686173206c6566742074686520736574206f6620636f6c6c61746f722063616e646964617465732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d3c436f6c6c61746f7252656d6f7665640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000908e4416e206163636f756e742077617320666f726365646c792072656d6f7665642066726f6d207468652020736574206f6620636f6c6c61746f72c863616e646964617465732e205c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d604d617843616e6469646174655374616b654368616e676564040018013042616c616e63654f663c543e000a08b4546865206d6178696d756d2063616e646964617465207374616b6520686173206265656e206368616e6765642e485c5b6e6577206d617820616d6f756e745c5d4c44656c656761746f725374616b65644d6f72651000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000b0cf0412064656c656761746f722068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d4c44656c656761746f725374616b65644c6573731000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000c0cf0412064656c656761746f7220686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d3444656c656761746f724c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000d08a8416e206163636f756e7420686173206c6566742074686520736574206f662064656c656761746f72732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d2844656c65676174696f6e1000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000e0cc8416e206163636f756e74206861732064656c6567617465642061206e657720636f6c6c61746f722063616e6469646174652e11015c5b6163636f756e742c20616d6f756e74206f662066756e6473207374616b65642c20746f74616c20616d6f756e74206f662064656c656761746f7273272066756e64738c7374616b656420666f722074686520636f6c6c61746f722063616e6469646174655c5d4844656c65676174696f6e5265706c616365641800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000f180d0141206e65772064656c65676174696f6e20686173207265706c6163656420616e206578697374696e67206f6e6520696e2074686520736574206f66206f6e676f696e67010164656c65676174696f6e7320666f72206120636f6c6c61746f722063616e6469646174652e205c5b6e65772064656c656761746f722773206163636f756e742c0901616d6f756e74206f662066756e6473207374616b656420696e20746865206e65772064656c65676174696f6e2c207265706c616365642064656c656761746f7227730d016163636f756e742c20616d6f756e74206f662066756e6473207374616b656420696e20746865207265706c6163652064656c65676174696f6e2c20636f6c6c61746f72050163616e6469646174652773206163636f756e742c206e657720746f74616c20616d6f756e74206f662064656c656761746f7273272066756e6473207374616b656470666f722074686520636f6c6c61746f722063616e6469646174655c5d5444656c656761746f724c656674436f6c6c61746f721000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00100cdc416e206163636f756e74206861732073746f707065642064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e09015c5b6163636f756e742c20636f6c6c61746f722063616e6469646174652773206163636f756e742c206f6c6420616d6f756e74206f662064656c656761746f727327d866756e6473207374616b65642c206e657720616d6f756e74206f662064656c656761746f7273272066756e6473207374616b65645c5d2052657761726465640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e001108c04120636f6c6c61746f72206f7220612064656c656761746f72206861732072656365697665642061207265776172642e745c5b6163636f756e742c20616d6f756e74206f66207265776172645c5d44526f756e64496e666c6174696f6e53657410008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00120c0501496e666c6174696f6e20636f6e66696775726174696f6e20666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e09015c5b6d6178696d756d20636f6c6c61746f722773207374616b696e6720726174652c206d6178696d756d20636f6c6c61746f7227732072657761726420726174652c0d016d6178696d756d2064656c656761746f722773207374616b696e6720726174652c206d6178696d756d2064656c656761746f7227732072657761726420726174655c5d604d617853656c656374656443616e6469646174657353657408001c010c75333200001c010c753332001308f0546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c656374656420696e20667574757265dc76616c69646174696f6e20726f756e647320686173206368616e6765642e205c5b6f6c642076616c75652c206e65772076616c75655c5d44426c6f636b73506572526f756e6453657410001c013053657373696f6e496e6465780000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d62657200140cf8546865206c656e67746820696e20626c6f636b7320666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e01015c5b726f756e64206e756d6265722c20666972737420626c6f636b20696e207468652063757272656e7420726f756e642c206f6c642076616c75652c206e65771c76616c75655c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909098c0c3473705f61726974686d65746963287065725f7468696e67732c5065727175696e74696c6c0000040010010c7536340000900c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001382050726f706f73656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e6465781c013c5265666572656e64756d496e6465780001247468726573686f6c64940134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e6465781c013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000704dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000804e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011048323536000114756e74696c100138543a3a426c6f636b4e756d62657200090494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e2c426c61636b6c697374656404013470726f706f73616c5f686173682c011048323536000a04c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e6465781c013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e000b0490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e6465781c012450726f70496e646578000c048c416e206163636f756e742068617320736563636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e6465781c012450726f70496e646578000d0460412070726f706f73616c20676f742063616e63656c65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909940c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f7269747900020000980c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f74659c0110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e6365000100009c0c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000a00c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a40110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a40000050000a80418526573756c7408045401ac044501600108084f6b0400ac000000000c4572720400600000010000ac0000040000b00c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a40110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b40c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b80c3c70616c6c65745f74726561737572791870616c6c6574144576656e740804540004490001242050726f706f73656404013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640007049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000804cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909bc0c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e6465781c010c7533320001146572726f7260013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7260013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c74a801384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c00c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c40c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000118245363686564756c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e000118726573756c74a801384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e00030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e0004043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e545065726d616e656e746c794f7665727765696768740801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e000504f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652ec800000408101c00cc04184f7074696f6e04045401040108104e6f6e6500000010536f6d650400040000010000d00c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c74a801384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578d8010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f686173682c013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200040450412070726f7879207761732072656d6f7665642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909d408447370697269746e65745f72756e74696d652450726f7879547970650001180c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002004050617261636861696e5374616b696e670003002c43616e63656c50726f7879000400484e6f6e4465706f736974436c61696d696e6700050000d80000050400dc0c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f746564040110686173682c011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e24526571756573746564040110686173682c011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c6561726564040110686173682c011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e00c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e40c2c70616c6c65745f746970731870616c6c6574144576656e74080454000449000114184e65775469700401207469705f686173682c011c543a3a486173680000049441206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e670401207469705f686173682c011c543a3a48617368000104d841207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c01207469705f686173682c011c543a3a4861736800010c77686f000130543a3a4163636f756e7449640001187061796f757418013c42616c616e63654f663c542c20493e0002048441207469702073756767657374696f6e20686173206265656e20636c6f7365642e305469705265747261637465640401207469705f686173682c011c543a3a486173680003049041207469702073756767657374696f6e20686173206265656e207265747261637465642e28546970536c61736865640c01207469705f686173682c011c543a3a4861736800011866696e646572000130543a3a4163636f756e74496400011c6465706f73697418013c42616c616e63654f663c542c20493e0004048841207469702073756767657374696f6e20686173206265656e20736c61736865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e80c1463747970651870616c6c6574144576656e74040454000108304354797065437265617465640800000144437479706543726561746f724f663c543e00002c01384374797065486173684f663c543e0000087441206e657720435479706520686173206265656e20637265617465642e885c5b63726561746f72206964656e7469666965722c20435479706520686173685c5d3043547970655570646174656404002c01384374797065486173684f663c543e000108ac496e666f726d6174696f6e2061626f7574206120435479706520686173206265656e20757064617465642e385c5b435479706520686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909ec0c2c6174746573746174696f6e1870616c6c6574144576656e74040454000110484174746573746174696f6e43726561746564100000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00002c01384374797065486173684f663c543e0000f001704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e0000088c41206e6577206174746573746174696f6e20686173206265656e20637265617465642e05015c5b61747465737465722049442c20636c61696d20686173682c20435479706520686173682c20286f7074696f6e616c292064656c65676174696f6e2049445c5d484174746573746174696f6e5265766f6b6564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00010880416e206174746573746174696f6e20686173206265656e207265766f6b65642e685c5b6163636f756e742069642c20636c61696d20686173685c5d484174746573746174696f6e52656d6f766564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00020880416e206174746573746174696f6e20686173206265656e2072656d6f7665642e685c5b6163636f756e742069642c20636c61696d20686173685c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c0138436c61696d486173684f663c543e0003080501546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e2e685c5b6163636f756e742069642c20636c61696d20686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909f004184f7074696f6e04045401f40108104e6f6e6500000010536f6d650400f40000010000f40c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c417574686f72697a6174696f6e4964043044656c65676174696f6e4964012c01042844656c65676174696f6e04002c013044656c65676174696f6e496400000000f80c2864656c65676174696f6e1870616c6c6574144576656e7404045400011c40486965726172636879437265617465640c0000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c01384374797065486173684f663c543e0000088441206e65772068696572617263687920686173206265656e20637265617465642ea05c5b63726561746f722049442c20726f6f74206e6f64652049442c20435459504520686173685c5d404869657261726368795265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00010874412068696572617263687920686173206265656e207265766f6b65642e705c5b7265766f6b65722049442c20726f6f74206e6f64652049445c5d4048696572617263687952656d6f766564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000208dc412068696572617263687920686173206265656e2072656d6f7665642066726f6d207468652073746f72616765206f6e20636861696e2e705c5b72656d6f7665722049442c20726f6f74206e6f64652049445c5d4444656c65676174696f6e43726561746564180000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000000014044656c656761746f7249644f663c543e0000fc012c5065726d697373696f6e7300030c8841206e65772064656c65676174696f6e20686173206265656e20637265617465642efc5c5b63726561746f722049442c20726f6f74206e6f64652049442c2064656c65676174696f6e206e6f64652049442c20706172656e74206e6f64652049442c6864656c65676174652049442c207065726d697373696f6e735c5d4444656c65676174696f6e5265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00040878412064656c65676174696f6e20686173206265656e207265766f6b65642e885c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d4444656c65676174696f6e52656d6f76656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00050878412064656c65676174696f6e20686173206265656e2072656d6f7665642e885c5b72656d6f7665722049442c2064656c65676174696f6e206e6f64652049445c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000608f8546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720612064656c65676174696f6eac737562747265652e205c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909fc0c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368792c5065726d697373696f6e730000040110626974731c010c753332000001010c0c6469641870616c6c6574144576656e74040454000110284469644372656174656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e0000086c41206e65772044494420686173206265656e20637265617465642e985c5b7472616e73616374696f6e207369676e65722c20444944206964656e7469666965725c5d284469645570646174656404000001484469644964656e7469666965724f663c543e0001085c412044494420686173206265656e20757064617465642e485c5b444944206964656e7469666965725c5d2844696444656c6574656404000001484469644964656e7469666965724f663c543e0002085c412044494420686173206265656e2064656c657465642e485c5b444944206964656e7469666965725c5d4444696443616c6c4469737061746368656408000001484469644964656e7469666965724f663c543e0000a801384469737061746368526573756c74000308a041204449442d617574686f72697365642063616c6c20686173206265656e2065786563757465642e7c5c5b4449442063616c6c65722c20646973706174636820726573756c745c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090905010c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144576656e74040454000110584173736f63696174696f6e45737461626c69736865640800090101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000004f841206e6577206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e742049442077617320637265617465642e484173736f63696174696f6e52656d6f7665640800090101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000104ec416e206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e74204944207761732072656d6f7665642e444d6967726174696f6e50726f6772657373000204c454686572652077617320736f6d652070726f677265737320696e20746865206d6967726174696f6e2070726f636573732e484d6967726174696f6e436f6d706c65746564000304dc416c6c204163636f756e744964732068617665206265656e206d6967726174656420746f204c696e6b61626c654163636f756e7449642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090909010c4470616c6c65745f6469645f6c6f6f6b7570406c696e6b61626c655f6163636f756e74444c696e6b61626c654163636f756e7449640001082c4163636f756e744964323004000d01012c4163636f756e74496432300000002c4163636f756e7449643332040000012c4163636f756e7449643332000100000d010c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e742c4163636f756e744964323000000400110101205b75383b2032305d0000110100000314000000080015010c4470616c6c65745f776562335f6e616d65731870616c6c6574144576656e740404540001103c576562334e616d65436c61696d65640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6519010134576562334e616d654f663c543e0000047041206e6577206e616d6520686173206265656e20636c61696d65642e40576562334e616d6552656c65617365640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6519010134576562334e616d654f663c543e0001046441206e616d6520686173206265656e2072656c65617365642e38576562334e616d6542616e6e65640401106e616d6519010134576562334e616d654f663c543e0002045c41206e616d6520686173206265656e2062616e6e65642e40576562334e616d65556e62616e6e65640401106e616d6519010134576562334e616d654f663c543e0003046441206e616d6520686173206265656e20756e62616e6e65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090919010c4470616c6c65745f776562335f6e616d657324776562335f6e616d65344173636969576562334e616d65040454000004001d010180426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e00001d01101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000021010c487075626c69635f63726564656e7469616c731870616c6c6574144576656e740404540001104043726564656e7469616c53746f7265640801287375626a6563745f696425010130543a3a5375626a65637449640488546865207375626a656374206f6620746865206e65772063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0474546865206964206f6620746865206e65772063726564656e7469616c2e0004a041206e6577207075626c69632063726564656e7469616c20686173206265656e206973737565642e4443726564656e7469616c52656d6f7665640801287375626a6563745f696425010130543a3a5375626a65637449640498546865207375626a656374206f66207468652072656d6f7665642063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f66207468652072656d6f7665642063726564656e7469616c2e01049841207075626c69632063726564656e7469616c7320686173206265656e2072656d6f7665642e4443726564656e7469616c5265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f6620746865207265766f6b65642063726564656e7469616c2e02049441207075626c69632063726564656e7469616c20686173206265656e207265766f6b65642e4c43726564656e7469616c556e7265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e048c546865206964206f662074686520756e7265766f6b65642063726564656e7469616c2e03049c41207075626c69632063726564656e7469616c20686173206265656e20756e7265766f6b65642e0490546865206576656e74732067656e65726174656420627920746869732070616c6c65742e25010c3872756e74696d655f636f6d6d6f6e18617373657473204173736574446964000004002901013c41737365744964656e746966696572000029010c3c6b696c745f61737365745f646964730876312041737365744469640000080120636861696e5f69642d01011c436861696e496400012061737365745f69645501011c4173736574496400002d01103c6b696c745f61737365745f6469647314636861696e0876311c436861696e49640001141845697031353504003101013c4569703135355265666572656e63650000001842697031323204003501016447656e657369734865784861736833325265666572656e63650001001c446f7473616d6104003501016447656e657369734865784861736833325265666572656e636500020018536f6c616e6104003d01017047656e657369734261736535384861736833325265666572656e63650003001c47656e6572696304004501013847656e65726963436861696e4964000400003101103c6b696c745f61737365745f6469647314636861696e0876313c4569703135355265666572656e6365000004001801107531323800003501103c6b696c745f61737365745f6469647314636861696e0876316447656e657369734865784861736833325265666572656e636500000400390101205b75383b2031365d000039010000031000000008003d01103c6b696c745f61737365745f6469647314636861696e0876317047656e657369734261736535384861736833325265666572656e63650000040041010170426f756e6465645665633c75382c20436f6e73745533323c33323e3e00004101101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00004501103c6b696c745f61737365745f6469647314636861696e0876313847656e65726963436861696e496400000801246e616d6573706163654901015447656e65726963436861696e4e616d6573706163650001247265666572656e63655101015447656e65726963436861696e5265666572656e636500004901103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e4e616d657370616365000004004d0101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4e414d4553504143455f4c454e4754485f5533323e3e00004d01101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00005101103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e5265666572656e636500000400410101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f5245464552454e43455f4c454e4754485f5533323e3e00005501103c6b696c745f61737365745f646964731461737365740876311c4173736574496400011418536c6970343404005901013c536c697034345265666572656e636500000014457263323004006501018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650001001845726337323104006901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650002001c4572633131353504006901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650003001c47656e6572696304007901013847656e6572696341737365744964000400005901103c6b696c745f61737365745f646964731461737365740876313c536c697034345265666572656e6365000004005d0101105532353600005d01083c7072696d69746976655f7479706573105532353600000400610101205b7536343b20345d000061010000030400000010006501103c6b696c745f61737365745f646964731461737365740876318445766d536d617274436f6e747261637446756e6769626c655265666572656e636500000400110101205b75383b2032305d00006901103c6b696c745f61737365745f646964731461737365740876319045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e6365000008006501018445766d536d617274436f6e747261637446756e6769626c655265666572656e636500006d0101b44f7074696f6e3c45766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e7469666965723e00006d0104184f7074696f6e0404540171010108104e6f6e6500000010536f6d650400710100000100007101103c6b696c745f61737365745f646964731461737365740876319445766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e74696669657200000400750101dc426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4944454e5449464945525f4c454e4754485f5533323e3e00007501101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00007901103c6b696c745f61737365745f646964731461737365740876313847656e657269634173736574496400000c01246e616d6573706163657d01015447656e6572696341737365744e616d6573706163650001247265666572656e63658101015447656e6572696341737365745265666572656e63650001086964890101784f7074696f6e3c47656e6572696341737365744964656e7469666965723e00007d01103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365744e616d657370616365000004004d0101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4e414d4553504143455f4c454e4754485f5533323e3e00008101103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365745265666572656e636500000400850101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f5245464552454e43455f4c454e4754485f5533323e3e00008501101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000890104184f7074696f6e040454018d010108104e6f6e6500000010536f6d6504008d0100000100008d01103c6b696c745f61737365745f646964731461737365740876315847656e6572696341737365744964656e74696669657200000400750101dc426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4944454e5449464945525f4c454e4754485f5533323e3e000091010c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144576656e7404045400011c6056616c69646174696f6e46756e6374696f6e53746f726564000004d05468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e6456616c69646174696f6e46756e6374696f6e4170706c69656404015472656c61795f636861696e5f626c6f636b5f6e756d1c015452656c6179436861696e426c6f636b4e756d62657200010445015468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e6c56616c69646174696f6e46756e6374696f6e446973636172646564000204b05468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e4455706772616465417574686f72697a6564040124636f64655f686173682c011c543a3a486173680003047c416e207570677261646520686173206265656e20617574686f72697a65642e60446f776e776172644d657373616765735265636569766564040114636f756e741c010c7533320004040101536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e64446f776e776172644d6573736167657350726f63657373656408012c7765696768745f75736564240118576569676874000120646d715f686561642c014472656c61795f636861696e3a3a48617368000504e0446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e445570776172644d65737361676553656e740401306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e000604b8416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090995010c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144576656e7404045400011c1c537563636573730801306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e00011877656967687424011857656967687400000464536f6d652058434d20776173206578656375746564206f6b2e104661696c0c01306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e0001146572726f729901012058636d4572726f7200011877656967687424011857656967687400010440536f6d652058434d206661696c65642e2842616456657273696f6e0401306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e000204544261642058434d2076657273696f6e20757365642e24426164466f726d61740401306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e000304504261642058434d20666f726d617420757365642e3c58636d704d65737361676553656e740401306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e000404c0416e2048524d50206d657373616765207761732073656e7420746f2061207369626c696e672070617261636861696e2e484f766572776569676874456e71756575656410011873656e6465729d01011850617261496400011c73656e745f61741c014052656c6179426c6f636b4e756d626572000114696e64657810013c4f766572776569676874496e6465780001207265717569726564240118576569676874000504d4416e2058434d2065786365656465642074686520696e646976696475616c206d65737361676520776569676874206275646765742e484f7665727765696768745365727669636564080114696e64657810013c4f766572776569676874496e646578000110757365642401185765696768740006044101416e2058434d2066726f6d20746865206f7665727765696768742071756575652077617320657865637574656420776974682074686520676976656e2061637475616c2077656967687420757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909099901100c78636d08763318747261697473144572726f720001a0204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300304c6f636174696f6e46756c6c000400544c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c753634001500404578706563746174696f6e46616c73650016003850616c6c65744e6f74466f756e64001700304e616d654d69736d617463680018004c56657273696f6e496e636f6d70617469626c6500190050486f6c64696e67576f756c644f766572666c6f77001a002c4578706f72744572726f72001b00385265616e63686f724661696c6564001c00184e6f4465616c001d0028466565734e6f744d6574001e00244c6f636b4572726f72001f00304e6f5065726d697373696f6e00200028556e616e63686f726564002100384e6f744465706f73697461626c650022004c556e68616e646c656458636d56657273696f6e002300485765696768744c696d69745265616368656404002401185765696768740024001c426172726965720025004c5765696768744e6f74436f6d70757461626c650026004445786365656473537461636b4c696d6974002700009d010c48706f6c6b61646f745f70617261636861696e287072696d697469766573084964000004001c010c7533320000a1010c2870616c6c65745f78636d1870616c6c6574144576656e7404045400015c24417474656d707465640400a501015078636d3a3a6c61746573743a3a4f7574636f6d6500000ca8457865637574696f6e206f6620616e2058434d206d6573736167652077617320617474656d707465642e00345c5b206f7574636f6d65205c5d1053656e740c00a90101344d756c74694c6f636174696f6e0000a90101344d756c74694c6f636174696f6e0000cd01011c58636d3c28293e00010c5c412058434d206d657373616765207761732073656e742e00885c5b206f726967696e2c2064657374696e6174696f6e2c206d657373616765205c5d48556e6578706563746564526573706f6e73650800a90101344d756c74694c6f636174696f6e000010011c517565727949640002145901517565727920726573706f6e736520726563656976656420776869636820646f6573206e6f74206d61746368206120726567697374657265642071756572792e2054686973206d61792062652062656361757365206155016d61746368696e6720717565727920776173206e6576657220726567697374657265642c206974206d617920626520626563617573652069742069732061206475706c696361746520726573706f6e73652c206f727062656361757365207468652071756572792074696d6564206f75742e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e73655265616479080010011c517565727949640000f5010120526573706f6e73650003105d01517565727920726573706f6e736520686173206265656e20726563656976656420616e6420697320726561647920666f722074616b696e672077697468206074616b655f726573706f6e7365602e205468657265206973806e6f2072656769737465726564206e6f74696669636174696f6e2063616c6c2e00485c5b2069642c20726573706f6e7365205c5d204e6f7469666965640c0010011c5175657279496400000801087538000008010875380004105901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20686173a86265656e206469737061746368656420616e64206578656375746564207375636365737366756c6c792e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d404e6f746966794f766572776569676874140010011c517565727949640000080108753800000801087538000024011857656967687400002401185765696768740005146101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20636f756c6441016e6f742062652064697370617463686564206265636175736520746865206469737061746368207765696768742069732067726561746572207468616e20746865206d6178696d756d20776569676874e46f726967696e616c6c7920627564676574656420627920746869732072756e74696d6520666f722074686520717565727920726573756c742e0019015c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e6465782c2061637475616c207765696768742c206d617820627564676574656420776569676874205c5d4c4e6f7469667944697370617463684572726f720c0010011c5175657279496400000801087538000008010875380006105501517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e2054686572652077617320612067656e6572616c206572726f722077697468886469737061746368696e6720746865206e6f74696669636174696f6e2063616c6c2e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d484e6f746966794465636f64654661696c65640c0010011c5175657279496400000801087538000008010875380007145101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652064697370617463682077617320756e61626c6520746f20626559016465636f64656420696e746f2061206043616c6c603b2074686973206d696768742062652064756520746f2064697370617463682066756e6374696f6e20686176696e672061207369676e6174757265207768696368946973206e6f742060286f726967696e2c20517565727949642c20526573706f6e736529602e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d40496e76616c6964526573706f6e6465720c00a90101344d756c74694c6f636174696f6e000010011c517565727949640000110201544f7074696f6e3c4d756c74694c6f636174696f6e3e0008145901457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206f726967696e206c6f636174696f6e206f662074686520726573706f6e736520646f657355016e6f74206d6174636820746861742065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e00b05c5b206f726967696e206c6f636174696f6e2c2069642c206578706563746564206c6f636174696f6e205c5d5c496e76616c6964526573706f6e64657256657273696f6e0800a90101344d756c74694c6f636174696f6e000010011c517565727949640009245101457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206578706563746564206f726967696e206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e736554616b656e040010011c51756572794964000a0cc8526563656976656420717565727920726573706f6e736520686173206265656e207265616420616e642072656d6f7665642e00205c5b206964205c5d34417373657473547261707065640c002c0110483235360000a90101344d756c74694c6f636174696f6e00003102015056657273696f6e65644d756c7469417373657473000b0cb8536f6d65206173736574732068617665206265656e20706c6163656420696e20616e20617373657420747261702e00685c5b20686173682c206f726967696e2c20617373657473205c5d5456657273696f6e4368616e67654e6f7469666965640c00a90101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e0000d901012c4d756c7469417373657473000c142501416e2058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e206d65737361676520686173206265656e20617474656d7074656420746f2062652073656e742e00e054686520636f7374206f662073656e64696e672069742028626f726e652062792074686520636861696e2920697320696e636c756465642e007c5c5b2064657374696e6174696f6e2c20726573756c742c20636f7374205c5d5c537570706f7274656456657273696f6e4368616e6765640800a90101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e000d10390154686520737570706f727465642076657273696f6e206f662061206c6f636174696f6e20686173206265656e206368616e6765642e2054686973206d69676874206265207468726f75676820616ec06175746f6d61746963206e6f74696669636174696f6e206f722061206d616e75616c20696e74657276656e74696f6e2e006c5c5b206c6f636174696f6e2c2058434d2076657273696f6e205c5d504e6f7469667954617267657453656e644661696c0c00a90101344d756c74694c6f636174696f6e000010011c5175657279496400009901012058636d4572726f72000e1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f727c73656e64696e6720746865206e6f74696669636174696f6e20746f2069742e007c5c5b206c6f636174696f6e2c2071756572792049442c206572726f72205c5d644e6f746966795461726765744d6967726174696f6e4661696c08006902015856657273696f6e65644d756c74694c6f636174696f6e000010011c51756572794964000f1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f72b46d6967726174696e6720746865206c6f636174696f6e20746f206f7572206e65772058434d20666f726d61742e00605c5b206c6f636174696f6e2c207175657279204944205c5d54496e76616c69645175657269657256657273696f6e0800a90101344d756c74694c6f636174696f6e000010011c517565727949640010245501457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652065787065637465642071756572696572206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d38496e76616c6964517565726965721000a90101344d756c74694c6f636174696f6e000010011c517565727949640000a90101344d756c74694c6f636174696f6e0000110201544f7074696f6e3c4d756c74694c6f636174696f6e3e0011145d01457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652071756572696572206c6f636174696f6e206f662074686520726573706f6e736520646f657351016e6f74206d61746368207468652065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e0005015c5b206f726967696e206c6f636174696f6e2c2069642c20657870656374656420717565726965722c206d617962652061637475616c2071756572696572205c5d5056657273696f6e4e6f74696679537461727465640800a90101344d756c74694c6f636174696f6e0000d901012c4d756c74694173736574730012105901412072656d6f746520686173207265717565737465642058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e2066726f6d20757320616e64207765206861766520686f6e6f7265642069742e1d01412076657273696f6e20696e666f726d6174696f6e206d6573736167652069732073656e7420746f207468656d20616e642069747320636f737420697320696e636c756465642e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d5856657273696f6e4e6f746966795265717565737465640800a90101344d756c74694c6f636174696f6e0000d901012c4d756c746941737365747300130c41015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073656e64732075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d6056657273696f6e4e6f74696679556e7265717565737465640800a90101344d756c74694c6f636174696f6e0000d901012c4d756c746941737365747300140c61015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073746f70732073656e64696e672075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d2046656573506169640800a90101344d756c74694c6f636174696f6e0000d901012c4d756c746941737365747300150c310146656573207765726520706169642066726f6d2061206c6f636174696f6e20666f7220616e206f7065726174696f6e20286f6674656e20666f72207573696e67206053656e6458636d60292e006c5c5b20706179696e67206c6f636174696f6e2c2066656573205c5d34417373657473436c61696d65640c002c0110483235360000a90101344d756c74694c6f636174696f6e00003102015056657273696f6e65644d756c746941737365747300160cc0536f6d65206173736574732068617665206265656e20636c61696d65642066726f6d20616e206173736574207472617000685c5b20686173682c206f726967696e2c20617373657473205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a501100c78636d087633187472616974731c4f7574636f6d6500010c20436f6d706c657465040024011857656967687400000028496e636f6d706c65746508002401185765696768740000990101144572726f72000100144572726f720400990101144572726f7200020000a901100c78636d087633346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72ad0101244a756e6374696f6e730000ad01100c78636d087633246a756e6374696f6e73244a756e6374696f6e7300012410486572650000000858310400b10101204a756e6374696f6e0001000858320800b10101204a756e6374696f6e0000b10101204a756e6374696f6e0002000858330c00b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0003000858341000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0004000858351400b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0005000858361800b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0006000858371c00b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0007000858382000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e00080000b101100c78636d087633206a756e6374696f6e204a756e6374696f6e0001282450617261636861696e0400b501010c7533320000002c4163636f756e744964333208011c6e6574776f726bb90101444f7074696f6e3c4e6574776f726b49643e00010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726bb90101444f7074696f6e3c4e6574776f726b49643e000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726bb90101444f7074696f6e3c4e6574776f726b49643e00010c6b6579110101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400c1010110753132380005002847656e6572616c4b65790801186c656e6774680801087538000110646174610401205b75383b2033325d000600244f6e6c794368696c6400070024506c7572616c6974790801086964c5010118426f6479496400011070617274c9010120426f6479506172740008003c476c6f62616c436f6e73656e7375730400bd0101244e6574776f726b496400090000b5010000061c00b90104184f7074696f6e04045401bd010108104e6f6e6500000010536f6d650400bd010000010000bd01100c78636d087633206a756e6374696f6e244e6574776f726b496400012824427947656e6573697304000401205b75383b2033325d000000184279466f726b080130626c6f636b5f6e756d62657210010c753634000128626c6f636b5f686173680401205b75383b2033325d00010020506f6c6b61646f74000200184b7573616d610003001c57657374656e6400040018526f636f636f00050018576f636f636f00060020457468657265756d040120636861696e5f696428010c7536340007002c426974636f696e436f72650008002c426974636f696e4361736800090000c1010000061800c501100c78636d087633206a756e6374696f6e18426f6479496400012810556e69740000001c4d6f6e696b6572040040011c5b75383b20345d00010014496e6465780400b501010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e00080020547265617375727900090000c901100c78636d087633206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74b501010c753332000100204672616374696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c75333200040000cd010c0c78636d0876330c58636d041043616c6c00000400d10101585665633c496e737472756374696f6e3c43616c6c3e3e0000d101000002d50100d5010c0c78636d0876332c496e737472756374696f6e041043616c6c0001c034576974686472617741737365740400d901012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400d901012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400d901012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f696428011c51756572794964000120726573706f6e7365f5010120526573706f6e73650001286d61785f77656967687424011857656967687400011c71756572696572110201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e736665724173736574080118617373657473d901012c4d756c746941737365747300012c62656e6566696369617279a90101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473d901012c4d756c746941737365747300011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64150201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737424011857656967687400011063616c6c1902014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b501010c7533320001406d61785f6d6573736167655f73697a65b501010c7533320001306d61785f6361706163697479b501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b501010c75333200011873656e646572b501010c753332000124726563697069656e74b501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400ad010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f7204001d0201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473210201404d756c7469417373657446696c74657200012c62656e6566696369617279a90101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473210201404d756c7469417373657446696c74657200011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e000e003445786368616e676541737365740c011067697665210201404d756c7469417373657446696c74657200011077616e74d901012c4d756c746941737365747300011c6d6178696d616ca40110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473210201404d756c7469417373657446696c74657200011c72657365727665a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473210201404d756c7469417373657446696c74657200011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f1d0201445175657279526573706f6e7365496e666f000118617373657473210201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573e10101284d756c746941737365740001307765696768745f6c696d69742d02012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400cd01012458636d3c43616c6c3e0015002c536574417070656e6469780400cd01012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473d901012c4d756c74694173736574730001187469636b6574a90101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f776569676874240118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e41737365740400d901012c4d756c7469417373657473001c002c45787065637441737365740400d901012c4d756c7469417373657473001d00304578706563744f726967696e0400110201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400f90101504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e7361637453746174757304000d0201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6530011c5665633c75383e000134726573706f6e73655f696e666f1d0201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578b501010c7533320001106e616d6530011c5665633c75383e00012c6d6f64756c655f6e616d6530011c5665633c75383e00012c63726174655f6d616a6f72b501010c75333200013c6d696e5f63726174655f6d696e6f72b501010c753332002200505265706f72745472616e7361637453746174757304001d0201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400b10101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726bbd0101244e6574776f726b496400012c64657374696e6174696f6ead010154496e746572696f724d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e002600244c6f636b41737365740801146173736574e10101284d756c74694173736574000120756e6c6f636b6572a90101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574e10101284d756c74694173736574000118746172676574a90101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574e10101284d756c746941737365740001146f776e6572a90101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574e10101284d756c746941737365740001186c6f636b6572a90101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177a40110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400a90101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69742d02012c5765696768744c696d6974000130636865636b5f6f726967696e110201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f0000d901100c78636d087633286d756c746961737365742c4d756c746941737365747300000400dd01013c5665633c4d756c746941737365743e0000dd01000002e10100e101100c78636d087633286d756c74696173736574284d756c7469417373657400000801086964e501011c4173736574496400010c66756ee901012c46756e676962696c6974790000e501100c78636d087633286d756c746961737365741c4173736574496400010820436f6e63726574650400a90101344d756c74694c6f636174696f6e00000020416273747261637404000401205b75383b2033325d00010000e901100c78636d087633286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400c1010110753132380000002c4e6f6e46756e6769626c650400ed0101344173736574496e7374616e636500010000ed01100c78636d087633286d756c74696173736574344173736574496e7374616e636500011824556e646566696e656400000014496e6465780400c10101107531323800010018417272617934040040011c5b75383b20345d000200184172726179380400f101011c5b75383b20385d0003001c417272617931360400390101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050000f101000003080000000800f5010c0c78636d08763320526573706f6e7365000118104e756c6c000000184173736574730400d901012c4d756c74694173736574730001003c457865637574696f6e526573756c740400f90101504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e04001c013873757065723a3a56657273696f6e0003002c50616c6c657473496e666f04000102013456656350616c6c6574496e666f000400384469737061746368526573756c7404000d0201384d617962654572726f72436f646500050000f90104184f7074696f6e04045401fd010108104e6f6e6500000010536f6d650400fd010000010000fd01000004081c99010001020c0c78636d0876333456656350616c6c6574496e666f000004000502013c5665633c50616c6c6574496e666f3e0000050200000209020009020c0c78636d0876332850616c6c6574496e666f0000180114696e646578b501010c7533320001106e616d6530011c5665633c75383e00012c6d6f64756c655f6e616d6530011c5665633c75383e0001146d616a6f72b501010c7533320001146d696e6f72b501010c7533320001147061746368b501010c75333200000d020c0c78636d087633384d617962654572726f72436f646500010c1c53756363657373000000144572726f72040030011c5665633c75383e000100385472756e63617465644572726f72040030011c5665633c75383e00020000110204184f7074696f6e04045401a9010108104e6f6e6500000010536f6d650400a901000001000015020c0c78636d087632284f726967696e4b696e64000110184e617469766500000040536f7665726569676e4163636f756e74000100245375706572757365720002000c58636d0003000019020c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e00001d020c0c78636d087633445175657279526573706f6e7365496e666f00000c012c64657374696e6174696f6ea90101344d756c74694c6f636174696f6e00012071756572795f696428011c517565727949640001286d61785f77656967687424011857656967687400002102100c78636d087633286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e6974650400d901012c4d756c74694173736574730000001057696c6404002502013857696c644d756c74694173736574000100002502100c78636d087633286d756c746961737365743857696c644d756c746941737365740001100c416c6c00000014416c6c4f660801086964e501011c4173736574496400010c66756e2902013c57696c6446756e676962696c69747900010028416c6c436f756e7465640400b501010c75333200020030416c6c4f66436f756e7465640c01086964e501011c4173736574496400010c66756e2902013c57696c6446756e676962696c697479000114636f756e74b501010c753332000300002902100c78636d087633286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c65000100002d020c0c78636d0876332c5765696768744c696d697400010824556e6c696d697465640000001c4c696d697465640400240118576569676874000100003102080c78636d5056657273696f6e65644d756c746941737365747300010808563204003502013c76323a3a4d756c74694173736574730000000856330400d901013c76333a3a4d756c7469417373657473000100003502100c78636d087632286d756c746961737365742c4d756c7469417373657473000004003902013c5665633c4d756c746941737365743e000039020000023d02003d02100c78636d087632286d756c74696173736574284d756c74694173736574000008010869644102011c4173736574496400010c66756e6102012c46756e676962696c69747900004102100c78636d087632286d756c746961737365741c4173736574496400010820436f6e63726574650400450201344d756c74694c6f636174696f6e000000204162737472616374040030011c5665633c75383e000100004502100c78636d087632346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72490201244a756e6374696f6e7300004902100c78636d087632346d756c74696c6f636174696f6e244a756e6374696f6e73000124104865726500000008583104004d0201204a756e6374696f6e00010008583208004d0201204a756e6374696f6e00004d0201204a756e6374696f6e0002000858330c004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00030008583410004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00040008583514004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00050008583618004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e0006000858371c004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00070008583820004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e000800004d02100c78636d087632206a756e6374696f6e204a756e6374696f6e0001242450617261636861696e0400b501010c7533320000002c4163636f756e744964333208011c6e6574776f726b510201244e6574776f726b496400010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726b510201244e6574776f726b4964000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726b510201244e6574776f726b496400010c6b6579110101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400c1010110753132380005002847656e6572616c4b65790400550201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000600244f6e6c794368696c6400070024506c7572616c697479080108696459020118426f64794964000110706172745d020120426f6479506172740008000051020c0c78636d087632244e6574776f726b49640001100c416e79000000144e616d65640400550201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010020506f6c6b61646f74000200184b7573616d61000300005502101c73705f636f72651c626f756e646564407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004003001185665633c543e000059020c0c78636d08763218426f6479496400012810556e6974000000144e616d65640400550201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010014496e6465780400b501010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e000800205472656173757279000900005d020c0c78636d08763220426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74b501010c753332000100204672616374696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c753332000400006102100c78636d087632286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400c1010110753132380000002c4e6f6e46756e6769626c650400650201344173736574496e7374616e6365000100006502100c78636d087632286d756c74696173736574344173736574496e7374616e636500011c24556e646566696e656400000014496e6465780400c10101107531323800010018417272617934040040011c5b75383b20345d000200184172726179380400f101011c5b75383b20385d0003001c417272617931360400390101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050010426c6f62040030011c5665633c75383e000600006902080c78636d5856657273696f6e65644d756c74694c6f636174696f6e00010808563204004502014476323a3a4d756c74694c6f636174696f6e0000000856330400a901014476333a3a4d756c74694c6f636174696f6e000100006d020c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144576656e7404045400010c34496e76616c6964466f726d617404000401205b75383b2033325d00000880446f776e77617264206d65737361676520697320696e76616c69642058434d2e205c5b206964205c5d48556e737570706f7274656456657273696f6e04000401205b75383b2033325d000108bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e205c5b206964205c5d404578656375746564446f776e7761726408000401205b75383b2033325d0000a501011c4f7574636f6d65000208c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e445c5b2069642c206f7574636f6d65205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090971020c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144576656e7404045400011834496e76616c6964466f726d61740401286d6573736167655f69640401244d657373616765496400000480446f776e77617264206d65737361676520697320696e76616c69642058434d2e48556e737570706f7274656456657273696f6e0401286d6573736167655f69640401244d6573736167654964000104bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e404578656375746564446f776e776172640801286d6573736167655f69640401244d657373616765496400011c6f7574636f6d65a501011c4f7574636f6d65000204c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e3c5765696768744578686175737465640c01286d6573736167655f69640401244d657373616765496400014072656d61696e696e675f77656967687424011857656967687400013c72657175697265645f776569676874240118576569676874000304f054686520776569676874206c696d697420666f722068616e646c696e6720646f776e77617264206d657373616765732077617320726561636865642e484f766572776569676874456e7175657565640c01286d6573736167655f69640401244d65737361676549640001406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800013c72657175697265645f7765696768742401185765696768740004041901446f776e77617264206d657373616765206973206f76657277656967687420616e642077617320706c6163656420696e20746865206f7665727765696768742071756575652e484f76657277656967687453657276696365640801406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800012c7765696768745f75736564240118576569676874000504e0446f776e77617264206d6573736167652066726f6d20746865206f766572776569676874207175657565207761732065786563757465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909750208306672616d655f73797374656d14506861736500010c384170706c7945787472696e73696304001c010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e0002000079020000022c007d02000002c800810208306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6eb501014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d658502016473705f72756e74696d653a3a52756e74696d65537472696e6700008502000005020089020c306672616d655f73797374656d1870616c6c65741043616c6c0404540001201872656d61726b04011872656d61726b30011c5665633c75383e000014684d616b6520736f6d65206f6e2d636861696e2072656d61726b2e002823203c7765696768743e202d20604f283129602c23203c2f7765696768743e387365745f686561705f7061676573040114706167657310010c753634000104f853657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f6465040110636f646530011c5665633c75383e0002306453657420746865206e65772072756e74696d6520636f64652e002823203c7765696768743e31012d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f64656045012d20312063616c6c20746f206063616e5f7365745f636f6465603a20604f28532960202863616c6c73206073705f696f3a3a6d6973633a3a72756e74696d655f76657273696f6e60207768696368206973342020657870656e73697665292e842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e4d0154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652c206275742067656e6572616c6c7920746869732069732076657279b8657870656e736976652e2057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e2c23203c2f7765696768743e5c7365745f636f64655f776974686f75745f636865636b73040110636f646530011c5665633c75383e000324190153657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e002823203c7765696768743e8c2d20604f2843296020776865726520604360206c656e677468206f662060636f646560842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e550154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652e2057652077696c6c207472656174207468697320617320612066756c6c48626c6f636b2e2023203c2f7765696768743e2c7365745f73746f726167650401146974656d738d0201345665633c4b657956616c75653e0004046853657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f726167650401106b657973950201205665633c4b65793e000504744b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697808011870726566697830010c4b657900011c7375626b6579731c010c75333200061011014b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e0039012a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e6465723d0174686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e4472656d61726b5f776974685f6576656e7404011872656d61726b30011c5665633c75383e000704a44d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e8d020000029102009102000004083030009502000002300099020c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2401185765696768740001246d61785f626c6f636b2401185765696768740001247065725f636c6173739d0201845065724469737061746368436c6173733c57656967687473506572436c6173733e00009d020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c61737304045401a102000c01186e6f726d616ca10201045400012c6f7065726174696f6e616ca1020104540001246d616e6461746f7279a1020104540000a1020c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632401185765696768740001346d61785f65787472696e736963a50201384f7074696f6e3c5765696768743e0001246d61785f746f74616ca50201384f7074696f6e3c5765696768743e0001207265736572766564a50201384f7074696f6e3c5765696768743e0000a50204184f7074696f6e04045401240108104e6f6e6500000010536f6d650400240000010000a9020c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178ad0201545065724469737061746368436c6173733c7533323e0000ad020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c617373040454011c000c01186e6f726d616c1c01045400012c6f7065726174696f6e616c1c0104540001246d616e6461746f72791c0104540000b102082873705f776569676874733c52756e74696d65446257656967687400000801107265616410010c753634000114777269746510010c7536340000b502082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d658502013452756e74696d65537472696e67000124696d706c5f6e616d658502013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e1c010c753332000130737065635f76657273696f6e1c010c753332000130696d706c5f76657273696f6e1c010c75333200011061706973b902011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e1c010c75333200013473746174655f76657273696f6e08010875380000b902040c436f7704045401bd02000400bd02000000bd02000002c10200c10200000408f1011c00c5020c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c6574c902101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c045300000400790201185665633c543e0000cd020c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f77280124543a3a4d6f6d656e7400004054536574207468652063757272656e742074696d652e005501546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed470686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e0041015468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e742073706563696669656420627940604d696e696d756d506572696f64602e00d4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e002823203c7765696768743e31012d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f283129602961012d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e402020606f6e5f66696e616c697a656029d42d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed1020000040c0018a400d5020c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e6465780000489841737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00dc5061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f02d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e602d204f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e207472616e7366657208010c6e6577d90201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e6465780001505d0141737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6eb86973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0025012d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e642d204f6e65207472616e73666572206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743ae02020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e7429e42020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e74292c23203c2f7765696768743e1066726565040114696e64657810013c543a3a4163636f756e74496e646578000248944672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e005d015061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e000d012d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e0084456d6974732060496e646578467265656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e602d204f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e38666f7263655f7472616e736665720c010c6e6577d90201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65a40110626f6f6c0003545501466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479e868656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a42d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e41012d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e782d20557020746f206f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743af42020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e657229f82020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e6572292c23203c2f7765696768743e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004484101467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206861766520616c6e6f6e2d66726f7a656e206163636f756e742060696e646578602e00ac2d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e0088456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e702d20557020746f206f6e6520736c617368206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed9020c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e64657801ac011408496404000001244163636f756e74496400000014496e6465780400dd0201304163636f756e74496e6465780001000c526177040030011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400110101205b75383b2032305d00040000dd02000006ac00e1020c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909e502101c73705f636f72651c626f756e646564407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401e902045300000400f10201185665633c543e0000e902083c70616c6c65745f62616c616e6365732c42616c616e63654c6f636b041c42616c616e63650118000c01086964f10101384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e73ed02011c526561736f6e730000ed02083c70616c6c65745f62616c616e6365731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000f102000002e90200f502101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401f902045300000400fd0201185665633c543e0000f902083c70616c6c65745f62616c616e6365732c52657365727665446174610844526573657276654964656e74696669657201f1011c42616c616e63650118000801086964f1010144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e63650000fd02000002f9020001030c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000118207472616e7366657208011064657374d90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565c1010128543a3a42616c616e6365000064d45472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e000501607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e11014966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b06f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002823203c7765696768743e61012d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f7220696e70757420636f6e66696794202074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e31012d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c6578382020636f6d7075746174696f6e2e004852656c617465642066756e6374696f6e733a004d0120202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e290120202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365cc2020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642e5d0120202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765722060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e636564602e5d0120202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616c20636865636bdc202020207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e842d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d11012d204f726967696e206163636f756e7420697320616c726561647920696e206d656d6f72792c20736f206e6f204442206f7065726174696f6e7320666f72207468656d2e2c23203c2f7765696768743e2c7365745f62616c616e63650c010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f66726565c1010128543a3a42616c616e63650001306e65775f7265736572766564c1010128543a3a42616c616e636500012090536574207468652062616c616e636573206f66206120676976656e206163636f756e742e001d01546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c3101616c736f20616c7465722074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e6365602920617070726f7072696174656c792e1501496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742cfc69742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b0546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e38666f7263655f7472616e736665720c0118736f75726365d90201504163636f756e7449644c6f6f6b75704f663c543e00011064657374d90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565c1010128543a3a42616c616e63650002184d0145786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d6179206265287370656369666965642e2823203c7765696768743e4d012d2053616d65206173207472616e736665722c20627574206164646974696f6e616c207265616420616e6420777269746520626563617573652074686520736f75726365206163636f756e74206973206e6f747c2020617373756d656420746f20626520696e20746865206f7665726c61792e2c23203c2f7765696768743e4c7472616e736665725f6b6565705f616c69766508011064657374d90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565c1010128543a3a42616c616e63650003184d0153616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c207468653c6f726967696e206163636f756e742e00b8393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c05b607472616e73666572605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572307472616e736665725f616c6c08011064657374d90201504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665a40110626f6f6c00044405015472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e0059014e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e7320746861746101616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062655d017472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c4501796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f72616765406465706f736974732c206574632e2e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e00a02d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e59012d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c4d0120206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f72590120207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746fc820206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e2023203c7765696768743e39012d204f2831292e204a757374206c696b65207472616e736665722c206275742072656164696e672074686520757365722773207472616e7366657261626c652062616c616e63652066697273742e302020233c2f7765696768743e3c666f7263655f756e7265736572766508010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050cb0556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e006c43616e206f6e6c792062652063616c6c656420627920524f4f542e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e05030c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001203856657374696e6742616c616e63650000049856657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e73000104c44163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304e856616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650004048c5472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c65000504c8412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e740006048842656e6566696369617279206163636f756e74206d757374207072652d65786973743c546f6f4d616e795265736572766573000704ac4e756d626572206f66206e616d656420726573657276657320657863656564204d6178526573657276657304b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090909030c3473705f61726974686d657469632c66697865645f706f696e7424466978656455313238000004001801107531323800000d03086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e74000000085632000100001103101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540115030453000004001d0301185665633c543e00001503104473705f636f6e73656e7375735f617572611c737232353531392c6170705f73723235353139185075626c6963000004001903013c737232353531393a3a5075626c6963000019030c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d00001d030000021503002103084873705f636f6e73656e7375735f736c6f747310536c6f740000040010010c75363400002503000002000029030000022d03002d030000040800310300310308447370697269746e65745f72756e74696d652c53657373696f6e4b657973000004011061757261150301c43c41757261206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c6963000035030000021c003903000004083d0330003d030c1c73705f636f72651863727970746f244b65795479706549640000040040011c5b75383b20345d000041030c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b6579733103011c543a3a4b65797300011470726f6f6630011c5665633c75383e000038e453657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e1d01416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d0546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002823203c7765696768743e11012d20436f6d706c65786974793a20604f283129602e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f6698202060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a20606f726967696e206163636f756e74602c2060543a3a56616c696461746f7249644f66602c20604e6578744b65797360a02d2044625772697465733a20606f726967696e206163636f756e74602c20604e6578744b65797360802d204462526561647320706572206b65792069643a20604b65794f776e657260842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e2870757267655f6b657973000140c852656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722e00c05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e005501546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265205369676e656420616e6420746865206163636f756e74206d757374206265206569746865722062655d01636f6e7665727469626c6520746f20612076616c696461746f72204944207573696e672074686520636861696e2773207479706963616c2061646472657373696e672073797374656d20287468697320757375616c6c7951016d65616e73206265696e67206120636f6e74726f6c6c6572206163636f756e7429206f72206469726563746c7920636f6e7665727469626c6520696e746f20612076616c696461746f722049442028776869636894757375616c6c79206d65616e73206265696e672061207374617368206163636f756e74292e002823203c7765696768743e61012d20436f6d706c65786974793a20604f2831296020696e206e756d626572206f66206b65792074797065732e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468a420206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a2060543a3a56616c696461746f7249644f66602c20604e6578744b657973602c20606f726967696e206163636f756e7460a02d2044625772697465733a20604e6578744b657973602c20606f726967696e206163636f756e7460842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e45030c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742e49030c4470617261636861696e5f7374616b696e6714747970657324526f756e64496e666f042c426c6f636b4e756d6265720110000c011c63757272656e741c013053657373696f6e496e646578000114666972737410012c426c6f636b4e756d6265720001186c656e67746810012c426c6f636b4e756d62657200004d030c4470617261636861696e5f7374616b696e671474797065734444656c65676174696f6e436f756e7465720000080114726f756e641c013053657373696f6e496e64657800011c636f756e7465721c010c753332000051030c4470617261636861696e5f7374616b696e67147479706573145374616b6508244163636f756e74496401001c42616c616e63650118000801146f776e65720001244163636f756e744964000118616d6f756e7418011c42616c616e6365000055030c4470617261636861696e5f7374616b696e671474797065732443616e6469646174650c244163636f756e74496401001c42616c616e63650118644d617844656c656761746f727350657243616e646964617465000014010869640001244163636f756e7449640001147374616b6518011c42616c616e636500012864656c656761746f727359030101014f7264657265645365743c5374616b653c4163636f756e7449642c2042616c616e63653e2c204d617844656c656761746f727350657243616e6469646174653e000114746f74616c18011c42616c616e63650001187374617475736503013c43616e646964617465537461747573000059030c4470617261636861696e5f7374616b696e670c736574284f7264657265645365740804540151030453000004005d030140426f756e6465645665633c542c20533e00005d03101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454015103045300000400610301185665633c543e0000610300000251030065030c4470617261636861696e5f7374616b696e671474797065733c43616e646964617465537461747573000108184163746976650000001c4c656176696e6704001c013053657373696f6e496e6465780001000069030c4470617261636861696e5f7374616b696e6714747970657328546f74616c5374616b65041c42616c616e6365011800080124636f6c6c61746f727318011c42616c616e636500012864656c656761746f727318011c42616c616e636500006d030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401510304530000040071030140426f756e6465645665633c542c20533e00007103101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454015103045300000400610301185665633c543e000075030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e34496e666c6174696f6e496e666f0000080120636f6c6c61746f727903012c5374616b696e67496e666f00012464656c656761746f727903012c5374616b696e67496e666f000079030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e2c5374616b696e67496e666f00000801206d61785f726174658c012c5065727175696e74696c6c00012c7265776172645f726174657d0301285265776172645261746500007d030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e28526577617264526174650000080118616e6e75616c8c012c5065727175696e74696c6c0001247065725f626c6f636b8c012c5065727175696e74696c6c00008103101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601180453000004008503013842547265654d61703c4b2c20563e00008503042042547265654d617008044b011004560118000400890300000089030000028d03008d030000040810180091030c4470617261636861696e5f7374616b696e671870616c6c65741043616c6c0404540001543c666f7263655f6e65775f726f756e64000018d0466f7263657320746865207374617274206f6620746865206e657720726f756e6420696e20746865206e65787420626c6f636b2e00a0546865206e657720726f756e642077696c6c20626520656e666f7263656420766961203c54206173a453686f756c64456e6453657373696f6e3c5f3e3e3a3a73686f756c645f656e645f73657373696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e347365745f696e666c6174696f6e100170636f6c6c61746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c000198636f6c6c61746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00017464656c656761746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c00019c64656c656761746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00013cf05365742074686520616e6e75616c20696e666c6174696f6e207261746520746f20646572697665207065722d726f756e6420696e666c6174696f6e2e00110154686520696e666c6174696f6e2064657461696c732061726520636f6e736964657265642076616c69642069662074686520616e6e75616c207265776172642072617465f0697320617070726f78696d6174656c7920746865207065722d626c6f636b207265776172642072617465206d756c7469706c69656420627920746865ac657374696d617465642a20746f74616c206e756d626572206f6620626c6f636b732070657220796561722e00cc54686520657374696d61746564206176657261676520626c6f636b2074696d65206973207477656c7665207365636f6e64732e000d014e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20616e6420666f7220656163682063616e646964617465206f766572207468656972090164656c656761746f727320746f207570646174652074686569722072657761726473206265666f72652074686520726577617264207261746573206368616e67652ee04e6565647320746f20626520696d70726f766564207768656e207363616c696e6720757020604d6178546f7043616e64696461746573602e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060526f756e64496e666c6174696f6e536574602e6c7365745f6d61785f73656c65637465645f63616e6469646174657304010c6e65771c010c75333200022c090153657420746865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e6469646174657320746861742063616e2062652073656c6563746564a861742074686520626567696e6e696e67206f6620656163682076616c69646174696f6e20726f756e642e00e84368616e67657320617265206e6f74206170706c69656420756e74696c20746865207374617274206f6620746865206e65787420726f756e642e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617853656c656374656443616e64696461746573536574602e507365745f626c6f636b735f7065725f726f756e6404010c6e6577100138543a3a426c6f636b4e756d62657200032cd453657420746865206e756d626572206f6620626c6f636b7320656163682076616c69646174696f6e20726f756e64206c617374732e000901496620746865206e65772076616c7565206973206c657373207468616e20746865206c656e677468206f66207468652063757272656e7420726f756e642c20746865050173797374656d2077696c6c20696d6d6564696174656c79206d6f766520746f20746865206e65787420726f756e6420696e20746865206e65787420626c6f636b2e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060426c6f636b73506572526f756e64536574602e5c7365745f6d61785f63616e6469646174655f7374616b6504010c6e657718013042616c616e63654f663c543e000418110153657420746865206d6178696d616c20616d6f756e74206120636f6c6c61746f722063616e207374616b652e204578697374696e67207374616b657320617265206e6f74206368616e6765642e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617843616e6469646174655374616b654368616e676564602e58666f7263655f72656d6f76655f63616e646964617465040120636f6c6c61746f72d902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650005300101466f726365646c792072656d6f766573206120636f6c6c61746f722063616e6469646174652066726f6d2074686520546f7043616e6469646174657320616e64e4636c6561727320616c6c206173736f6369617465642073746f7261676520666f72207468652063616e64696461746520616e642074686569722c64656c656761746f72732e00fc507265706172657320756e7374616b696e67206f66207468652063616e6469646174657320616e642074686569722064656c656761746f7273207374616b65f077686963682063616e20626520756e6c6f636b6564207669612060756e6c6f636b5f756e7374616b6564602061667465722077616974696e6720617409016c6561737420605374616b654475726174696f6e60206d616e7920626c6f636b732e20416c736f20696e6372656d656e7473207265776172647320666f722074686578636f6c6c61746f7220616e642074686569722064656c656761746f72732e00d4496e6372656d656e74732072657761726473206f662063616e64696461746520616e642074686569722064656c656761746f72732e0064456d697473206043616e64696461746552656d6f766564602e3c6a6f696e5f63616e646964617465730401147374616b6518013042616c616e63654f663c543e000644904a6f696e2074686520736574206f6620636f6c6c61746f722063616e646964617465732e00f8496e20746865206e65787420626c6f636b732c2069662074686520636f6c6c61746f722063616e6469646174652068617320656e6f7567682066756e6473fc7374616b656420746f20626520696e636c7564656420696e20616e79206f662074686520746f7020604d617853656c656374656443616e64696461746573600d01706f736974696f6e732c2069742077696c6c20626520696e636c7564656420696e2074686520736574206f6620706f74656e7469616c20617574686f72732074686174050177696c6c2062652073656c656374656420627920746865207374616b652d77656967687465642072616e646f6d2073656c656374696f6e2066756e6374696f6e2e00fc546865207374616b65642066756e6473206f6620746865206e657720636f6c6c61746f722063616e6469646174652061726520616464656420746f2074686568746f74616c207374616b65206f66207468652073797374656d2e00110154686520746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e2074686520616c6c6f7765642072616e67652061738873657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e00f0546865206469737061746368206f726967696e206d757374206e6f7420626520616c72656164792070617274206f662074686520636f6c6c61746f729463616e64696461746573206e6f72206f66207468652064656c656761746f7273207365742e0084456d69747320604a6f696e6564436f6c6c61746f7243616e64696461746573602e54696e69745f6c656176655f63616e6469646174657300076cc05265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e0005014f6e20737563636573732c20746865206163636f756e7420697320696d6d6564696174656c792072656d6f7665642066726f6d207468652063616e6469646174651101706f6f6c20746f2070726576656e742073656c656374696f6e206173206120636f6c6c61746f7220696e206675747572652076616c69646174696f6e20726f756e64732cd862757420756e7374616b696e67206f66207468652066756e6473206973206578656375746564207769746820612064656c6179206f665c605374616b654475726174696f6e6020626c6f636b732e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00f454686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e204974206973110175706461746564206576656e2074686f756768207468652066756e6473206f66207468652063616e6469646174652077686f207369676e616c656420746f206c65617665fc617265207374696c6c206c6f636b656420666f7220604578697444656c617960202b20605374616b654475726174696f6e60206d6f726520626c6f636b732e000d014e4f544520313a2055706f6e207374617274696e672061206e65772073657373696f6e5f6920696e20606e65775f73657373696f6e602c207468652063757272656e741101746f702063616e64696461746573206172652073656c656374656420746f20626520626c6f636b20617574686f727320666f722073657373696f6e5f692b312e20416e7905016368616e67657320746f2074686520746f702063616e64696461746573206166746572776172647320646f206e6f74206566666563742074686520736574206f6660617574686f727320666f722073657373696f6e5f692b312ed8546875732c207765206861766520746f206d616b652073757265206e6f6e65206f6620746865736520636f6c6c61746f72732063616ebc6c65617665206265666f72652073657373696f6e5f692b3120656e64732062792064656c6179696e67207468656972846578697420666f7220604578697444656c617960206d616e7920626c6f636b732e00f04e4f544520323a20576520646f206e6f7420696e6372656d656e74207265776172647320696e20746869732065787472696e73696320617320746865110163616e64696461746520636f756c64207374696c6c20617574686f7220626c6f636b732c20616e64207468757320626520656c696769626c6520746f2072656365697665ac726577617264732c20756e74696c2074686520656e64206f6620746865206e6578742073657373696f6e2e0078456d6974732060436f6c6c61746f725363686564756c656445786974602e60657865637574655f6c656176655f63616e64696461746573040120636f6c6c61746f72d902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500084405014578656375746520746865206e6574776f726b2065786974206f6620612063616e6469646174652077686f2072657175657374656420746f206c65617665206174f06c65617374206045786974517565756544656c61796020726f756e64732061676f2e20507265706172657320756e7374616b696e67206f6620746865fc63616e6469646174657320616e642074686569722064656c656761746f7273207374616b652077686963682063616e20626520756e6c6f636b656420766961f460756e6c6f636b5f756e7374616b6564602061667465722077616974696e67206174206c6561737420605374616b654475726174696f6e60206d616e791c626c6f636b732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00fc4e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20666f7220656163682063616e646964617465206f766572207468656972fc64656c656761746f727320746f2073657420726577617264732e204e6565647320746f20626520696d70726f766564207768656e207363616c696e672075704c604d6178546f7043616e64696461746573602e0054456d6974732060436f6c6c61746f724c656674602e5c63616e63656c5f6c656176655f63616e646964617465730009200501526576657274207468652070726576696f75736c79207265717565737465642065786974206f6620746865206e6574776f726b206f66206120636f6c6c61746f720d0163616e6469646174652e204f6e20737563636573732c2061646473206261636b207468652063616e64696461746520746f2074686520546f7043616e6469646174657368616e6420757064617465732074686520636f6c6c61746f72732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e0074456d6974732060436f6c6c61746f7243616e63656c656445786974602e5063616e6469646174655f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000a30a85374616b65206d6f72652066756e647320666f72206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686505016163636f756e7420746f20626520616464656420746f2069742e20546865206c617267657220616d6f756e74206f662066756e64732c2074686520686967686572dc6368616e63657320746f2062652073656c65637465642061732074686520617574686f72206f6620746865206e65787420626c6f636b2e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644d6f7265602e5063616e6469646174655f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000b3ca85374616b65206c6573732066756e647320666f72206120636f6c6c61746f722063616e6469646174652e000501496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c20746865206163636f756e74fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e000d0154686520756e7374616b65642066756e647320617265206e6f742072656c656173656420696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644c657373602e3c6a6f696e5f64656c656761746f7273080120636f6c6c61746f72d902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000118616d6f756e7418013042616c616e63654f663c543e000c5805014a6f696e2074686520736574206f662064656c656761746f72732062792064656c65676174696e6720746f206120636f6c6c61746f722063616e6469646174652e000501546865206163636f756e7420746861742077616e747320746f2064656c65676174652063616e6e6f742062652070617274206f662074686520636f6c6c61746f725c63616e64696461746573207365742061732077656c6c2e0009015468652063616c6c6572206d757374205f6e6f745f206861766520612064656c65676174696f6e2e20496620746861742069732074686520636173652c2074686579b061726520726571756972656420746f2066697273742072656d6f7665207468652064656c65676174696f6e2e00110154686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206d696e696d756d20726571756972656420746f206265636f6d65c4612064656c656761746f722061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0009014173206f6e6c7920604d617844656c656761746f7273506572436f6c6c61746f72602061726520616c6c6f77656420746f2064656c6567617465206120676976656e0501636f6c6c61746f722c2074686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206c6f77657374206f6e6520696e01017468652063757272656e7420736574206f662064656c656761746f7220666f7220746865206f7065726174696f6e20746f206265206d65616e696e6766756c2e00090154686520636f6c6c61746f72277320746f74616c207374616b652061732077656c6c206173207468652070616c6c6574277320746f74616c207374616b652061726558696e63726561736564206163636f7264696e676c792e004c456d697473206044656c65676174696f6e602ebc456d697473206044656c65676174696f6e5265706c6163656460206966207468652063616e64696461746520686173f8604d617844656c656761746f7273506572436f6c6c61746f7260206d616e792064656c65676174696f6e732062757420746869732064656c656761746f72fc7374616b6564206d6f7265207468616e206f6e65206f6620746865206f746865722064656c656761746f7273206f6620746869732063616e6469646174652e406c656176655f64656c656761746f7273000d400d014c656176652074686520736574206f662064656c656761746f727320616e642c20627920696d706c69636174696f6e2c207265766f6b6520746865206f6e676f696e672c64656c65676174696f6e2e001101416c6c207374616b65642066756e647320617265206e6f7420756e6c6f636b656420696d6d6564696174656c792c2062757420746865792061726520616464656420746f0101746865207175657565206f662070656e64696e6720756e7374616b696e672c20616e642077696c6c206566666563746976656c792062652072656c65617365640901616674657220605374616b654475726174696f6e6020626c6f636b732066726f6d20746865206d6f6d656e74207468652064656c656761746f72206c65617665732e000d0154686973206f7065726174696f6e20726564756365732074686520746f74616c207374616b65206f66207468652070616c6c65742061732077656c6c2061732074686509017374616b6573206f6620616c6c20636f6c6c61746f7273207468617420776572652064656c6567617465642c20706f74656e7469616c6c7920616666656374696e6705017468656972206368616e63657320746f20626520696e636c7564656420696e2074686520736574206f662063616e6469646174657320696e20746865206e6578741c726f756e64732e0005014175746f6d61746963616c6c7920696e6372656d656e74732074686520616363756d756c617465642072657761726473206f6620746865206f726967696e206f665c7468652063757272656e742064656c65676174696f6e2e0058456d697473206044656c656761746f724c656674602e5064656c656761746f725f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000e18dc496e63726561736520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686594636f6c6c61746f722063616e64696461746520746f20626520616464656420746f2069742e0070456d697473206044656c656761746f725374616b65644d6f7265602e5064656c656761746f725f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000f40d452656475636520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e000901496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c2074686520636f6c6c61746f72fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00090154686520756e7374616b65642066756e647320617265206e6f742072656c6561736520696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e0001015468652072656d61696e696e67207374616b65642066756e6473206d757374207374696c6c206265206c6172676572207468616e20746865206d696e696d756df0726571756972656420627920746869732070616c6c657420746f206d61696e7461696e2074686520737461747573206f662064656c656761746f722e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0070456d697473206044656c656761746f725374616b65644c657373602e3c756e6c6f636b5f756e7374616b6564040118746172676574d902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365001028f4556e6c6f636b20616c6c2070726576696f75736c79207374616b65642066756e6473207468617420617265206e6f7720617661696c61626c6520666f720501756e6c6f636b696e6720627920746865206f726967696e206163636f756e7420616674657220605374616b654475726174696f6e6020626c6f636b73206861766520656c61707365642e00fc5765696768743a204f285529207768657265205520697320746865206e756d626572206f66206c6f636b656420756e7374616b696e6720726571756573747380626f756e64656420627920604d6178556e7374616b655265717565737473602eac2d2052656164733a205b4f726967696e204163636f756e745d2c20556e7374616b696e672c204c6f636b73682d205772697465733a20556e7374616b696e672c204c6f636b73e82d204b696c6c733a20556e7374616b696e672026204c6f636b73206966206e6f2062616c616e6365206973206c6f636b656420616e796d6f72652c23203c2f7765696768743e34636c61696d5f7265776172647300113cd4436c61696d20626c6f636b20617574686f72696e67207265776172647320666f72207468652074617267657420616464726573732e00090152657175697265732060526577617264736020746f20626520736574206265666f726568616e642c2077686963682063616e2062792074726967676572656420627970616e79206f662074686520666f6c6c6f77696e67206f7074696f6e73e82a2043616c6c696e6720696e6372656d656e745f7b636f6c6c61746f722c2064656c656761746f727d5f72657761726473202861637469766529782a20416c746572696e6720796f7572207374616b65202861637469766529b02a204c656176696e6720746865206e6574776f726b206173206120636f6c6c61746f72202861637469766529bc2a205265766f6b696e6720612064656c65676174696f6e20617320612064656c656761746f7220286163746976652909012a204265696e6720612064656c656761746f722077686f736520636f6c6c61746f72206c65667420746865206e6574776f726b2c20616c7465726564207468656972a020207374616b65206f7220696e6372656d656e746564207265776172647320287061737369766529000501546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652c20652e672e2c20616e796f6e652063616e20636c61696d2c666f7220616e796f6e652e0044456d69747320605265776172646564602e68696e6372656d656e745f636f6c6c61746f725f72657761726473001218b44163746976656c7920696e6372656d656e74207468652072657761726473206f66206120636f6c6c61746f722e0005015468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72206c656176696e6720746865206e6574776f726b2e009c546865206469737061746368206f726967696e206d757374206265206120636f6c6c61746f722e6c696e6372656d656e745f64656c656761746f725f72657761726473001318b84163746976656c7920696e6372656d656e74207468652072657761726473206f6620612064656c656761746f722e00f85468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72207265766f6b696e673064656c65676174696f6e732e00a0546865206469737061746368206f726967696e206d75737420626520612064656c656761746f722e7c657865637574655f7363686564756c65645f7265776172645f6368616e67650014280d0145786563757465732074686520616e6e75616c20726564756374696f6e206f66207468652072657761726420726174657320666f7220636f6c6c61746f727320616e642c64656c656761746f72732e00dc4d6f72656f7665722c2073657473207265776172647320666f7220616c6c20636f6c6c61746f727320616e642064656c656761746f72737c6265666f72652061646a757374696e672074686520696e666c6174696f6e2e000d01546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652062656361757365207765206261696c2069662063616c6c656428746f6f206561726c792e0068456d6974732060526f756e64496e666c6174696f6e536574602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e95030c4470617261636861696e5f7374616b696e671870616c6c6574144572726f7204045400017c4444656c656761746f724e6f74466f756e64000004b8546865206163636f756e74206973206e6f742070617274206f66207468652064656c656761746f7273207365742e4443616e6469646174654e6f74466f756e64000104dc546865206163636f756e74206973206e6f742070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3c44656c656761746f72457869737473000204c8546865206163636f756e7420697320616c72656164792070617274206f66207468652064656c656761746f7273207365742e3c43616e646964617465457869737473000304ec546865206163636f756e7420697320616c72656164792070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3056616c5374616b655a65726f000404e4546865206163636f756e7420747269656420746f207374616b65206d6f7265206f72206c657373207769746820616d6f756e74207a65726f2e4056616c5374616b6542656c6f774d696e0005080d01546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f20626520616464656420746f2074686520636f6c6c61746f723c63616e64696461746573207365742e4056616c5374616b6541626f76654d61780006041101546865206163636f756e742068617320616c7265616479207374616b656420746865206d6178696d756d20616d6f756e74206f662066756e647320706f737369626c652e4844656c65676174696f6e42656c6f774d696e000708f8546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f2064656c6567617465206120636f6c6c61746f722863616e6469646174652e38416c72656164794c656176696e670008080d0154686520636f6c6c61746f722063616e6469646174652068617320616c72656164792074726967676572207468652070726f6365737320746f206c65617665207468656c736574206f6620636f6c6c61746f722063616e646964617465732e284e6f744c656176696e67000908f454686520636f6c6c61746f722063616e6469646174652077616e74656420746f20657865637574652074686520657869742062757420686173206e6f74f472657175657374656420746f206c65617665206265666f72652062792063616c6c696e672060696e69745f6c656176655f63616e64696461746573602e3843616e6e6f744c65617665596574000a08dc54686520636f6c6c61746f7220747269656420746f206c65617665206265666f72652077616974696e67206174206c6561737420666f72746045786974517565756544656c617960206d616e7920726f756e64732e6443616e6e6f744a6f696e4265666f7265556e6c6f636b696e67000b10f8546865206163636f756e742068617320612066756c6c206c697374206f6620756e7374616b696e6720726571756573747320616e64206e6565647320746ffc756e6c6f636b206174206c65617374206f6e65206f66207468657365206265666f7265206265696e672061626c6520746f206a6f696e2028616761696e292edc4e4f54453a2043616e206f6e6c792068617070656e20696620746865206163636f756e742077617320612063616e646964617465206f72f464656c656761746f72206265666f726520616e642065697468657220676f74206b69636b6564206f722065786974656420766f6c756e746172696c792e44416c726561647944656c65676174696e67000c04e4546865206163636f756e7420697320616c72656164792064656c65676174696e672074686520636f6c6c61746f722063616e6469646174652e404e6f7459657444656c65676174696e67000d080901546865206163636f756e7420686173206e6f742064656c65676174656420616e7920636f6c6c61746f722063616e646964617465207965742c2068656e6365206974806973206e6f7420696e2074686520736574206f662064656c656761746f72732e6c44656c65676174696f6e73506572526f756e644578636565646564000e1811015468652064656c656761746f722068617320657863656564656420746865206e756d626572206f662064656c65676174696f6e732070657220726f756e6420776869636894697320657175616c20746f204d617844656c656761746f7273506572436f6c6c61746f722e000901546869732070726f746563747320616761696e73742061747461636b7320696e20776869636820612064656c656761746f722063616e2072652d64656c6567617465010166726f6d206120636f6c6c61746f722077686f2068617320616c726561647920617574686f726564206120626c6f636b2c20746f20616e6f74686572206f6e6570776869636820686173206e6f7420696e207468697320726f756e642e44546f6f4d616e7944656c656761746f7273000f14010154686520636f6c6c61746f722063616e6469646174652068617320616c7265616479207265616368656420746865206d6178696d756d206e756d626572206f662c64656c656761746f72732e00050154686973206572726f722069732067656e65726174656420696e20636173652061206e65772064656c65676174696f6e207265717565737420646f6573206e6f74f47374616b6520656e6f7567682066756e647320746f207265706c61636520736f6d65206f74686572206578697374696e672064656c65676174696f6e2e60546f6f466577436f6c6c61746f7243616e64696461746573001008110154686520736574206f6620636f6c6c61746f722063616e6469646174657320776f756c642066616c6c2062656c6f7720746865207265717569726564206d696e696d756d5469662074686520636f6c6c61746f72206c6566742e5043616e6e6f745374616b6549664c656176696e67001108f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66010163616e6469646174657320616e642063616e6e6f7420706572666f726d20616e79206f7468657220616374696f6e7320696e20746865206d65616e74696d652e5c43616e6e6f7444656c656761746549664c656176696e67001208f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66ac63616e6469646174657320616e6420746875732063616e6e6f742062652064656c65676174656420746f2e804d6178436f6c6c61746f727350657244656c656761746f72457863656564656400130811015468652064656c656761746f722068617320616c72656164792064656c65676174656420746865206d6178696d756d206e756d626572206f662063616e6469646174657320616c6c6f7765642e60416c726561647944656c656761746564436f6c6c61746f72001408ec5468652064656c656761746f722068617320616c72656164792070726576696f75736c792064656c6567617465642074686520636f6c6c61746f722863616e6469646174652e4844656c65676174696f6e4e6f74466f756e64001504f854686520676976656e2064656c65676174696f6e20646f6573206e6f7420657869737420696e2074686520736574206f662064656c65676174696f6e732e24556e646572666c6f77001608050154686520636f6c6c61746f722064656c6567617465206f72207468652064656c656761746f7220697320747279696e6720746f20756e2d7374616b65206d6f72658066756e64732074686174206172652063757272656e746c79207374616b65642e4443616e6e6f7453657441626f76654d6178001708d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738061626f766520746865206d6178696d756d2076616c756520616c6c6f7765642e4443616e6e6f7453657442656c6f774d696e001808d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738062656c6f7720746865206d696e696d756d2076616c756520616c6c6f7765642e3c496e76616c69645363686564756c65001904dc416e20696e76616c696420696e666c6174696f6e20636f6e66696775726174696f6e20697320747279696e6720746f206265207365742e3c4e6f4d6f7265556e7374616b696e67001a08c4546865207374616b696e6720726577617264206265696e6720756e6c6f636b656420646f6573206e6f742065786973742e7c4d617820756e6c6f636b696e6720726571756573747320726561636865642e20546f6f4561726c79001b0801015468652072657761726420726174652063616e6e6f742062652061646a75737465642079657420617320616e20656e74697265207965617220686173206e6f741c7061737365642e345374616b654e6f74466f756e64001c04d850726f7669646564207374616b65642076616c7565206973207a65726f2e2053686f756c64206e65766572206265207468726f776e2e40556e7374616b696e674973456d707479001d049443616e6e6f7420756e6c6f636b207768656e20556e7374616b656420697320656d7074792e3c526577617264734e6f74466f756e64001e047843616e6e6f7420636c61696d207265776172647320696620656d7074792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909099903101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454019d03045300000400590501185665633c543e00009d030000040c1ca1030000a10310346672616d655f737570706f72741874726169747324707265696d616765731c426f756e64656404045401a503010c184c6567616379040110686173682c01104861736800000018496e6c696e65040085010134426f756e646564496e6c696e65000100184c6f6f6b7570080110686173682c01104861736800010c6c656e1c010c75333200020000a50308447370697269746e65745f72756e74696d652c52756e74696d6543616c6c0001741853797374656d0400890201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0000002454696d657374616d700400cd0201b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0002001c496e64696365730400d50201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e0005002042616c616e6365730400010301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e0006001c53657373696f6e0400410301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0016004050617261636861696e5374616b696e670400910301d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e5374616b696e672c2052756e74696d653e0015002444656d6f63726163790400a90301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e001e001c436f756e63696c0400b50301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e001f0048546563686e6963616c436f6d6d69747465650400c50301dd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c436f6d6d69747465652c2052756e74696d653e0020004c546563686e6963616c4d656d626572736869700400c90301e10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c4d656d626572736869702c2052756e74696d653e0022002054726561737572790400cd0301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e0023001c5574696c6974790400d10301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0028001c56657374696e670400f90301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e002900245363686564756c65720400010401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e002a001450726f78790400090401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002b0020507265696d6167650400110401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e002c0038546970734d656d626572736869700400150401cd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970734d656d626572736869702c2052756e74696d653e002d0010546970730400190401a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970732c2052756e74696d653e002e0014437479706504001d0401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c43747970652c2052756e74696d653e003d002c4174746573746174696f6e0400210401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4174746573746174696f6e2c2052756e74696d653e003e002844656c65676174696f6e0400350401bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656c65676174696f6e2c2052756e74696d653e003f000c4469640400510401a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469642c2052756e74696d653e004000244469644c6f6f6b75700400a50401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469644c6f6f6b75702c2052756e74696d653e00430024576562334e616d65730400b50401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c576562334e616d65732c2052756e74696d653e004400445075626c696343726564656e7469616c730400b90401d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5075626c696343726564656e7469616c732c2052756e74696d653e0045003c50617261636861696e53797374656d0400c90401d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e0050002458636d7051756575650400fd0401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c58636d7051756575652c2052756e74696d653e0052002c506f6c6b61646f7458636d0400010501c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506f6c6b61646f7458636d2c2052756e74696d653e00530020446d7051756575650400550501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c446d7051756575652c2052756e74696d653e00550000a9030c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c0404540001481c70726f706f736508012070726f706f73616ca1030140426f756e64656443616c6c4f663c543e00011476616c7565c101013042616c616e63654f663c543e0000249c50726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e001501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737480686176652066756e647320746f20636f76657220746865206465706f7369742e00d42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e15012d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e0044456d697473206050726f706f736564602e187365636f6e6404012070726f706f73616cb501012450726f70496e646578000118b45369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e64657211016d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00c82d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e10766f74650801247265665f696e646578b501013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e00021c3101566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bb86f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00dc2d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e842d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e40656d657267656e63795f63616e63656c0401247265665f696e6465781c013c5265666572656e64756d496e6465780003204d015363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d652c7265666572656e64756d2e00f8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d02d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e003c5765696768743a20604f283129602e4065787465726e616c5f70726f706f736504012070726f706f73616ca1030140426f756e64656443616c6c4f663c543e0004182d015363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c2c7265666572656e64756d2e00e8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e6465787465726e616c5f70726f706f73655f6d616a6f7269747904012070726f706f73616ca1030140426f756e64656443616c6c4f663c543e00052c55015363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c655c616e2065787465726e616c207265666572656e64756d2e00ec546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f283129606065787465726e616c5f70726f706f73655f64656661756c7404012070726f706f73616ca1030140426f756e64656443616c6c4f663c543e00062c45015363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f807363686564756c6520616e2065787465726e616c207265666572656e64756d2e00e8546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f2831296028666173745f747261636b0c013470726f706f73616c5f686173682c011048323536000134766f74696e675f706572696f64100138543a3a426c6f636b4e756d62657200011464656c6179100138543a3a426c6f636b4e756d6265720007404d015363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c65646101696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65e8627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d0546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e5d012d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f88094d75737420626520616c776179732067726561746572207468616e207a65726f2e350109466f72206046617374547261636b4f726967696e60206d75737420626520657175616c206f722067726561746572207468616e206046617374547261636b566f74696e67506572696f64602e51012d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265b82020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e0040456d697473206053746172746564602e00385765696768743a20604f28312960347665746f5f65787465726e616c04013470726f706f73616c5f686173682c011048323536000824b85665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00d8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e002d012d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e003c456d69747320605665746f6564602e00fc5765696768743a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604463616e63656c5f7265666572656e64756d0401247265665f696e646578b501013c5265666572656e64756d496e64657800091c5052656d6f76652061207265666572656e64756d2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d42d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e004423205765696768743a20604f283129602e2064656c65676174650c0108746fd90201504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6ead030128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000a50390144656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e0055015468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865c874696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a7420202d2062652064656c65676174696e6720616c72656164793b206f72590120202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c69646174656494202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e0045012d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e55012d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e20746865410120206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e61012d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374206e6f74b420206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e0048456d697473206044656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e28756e64656c6567617465000b30cc556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e005d01546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64dc6f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062655463757272656e746c792064656c65676174696e672e0050456d6974732060556e64656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e58636c6561725f7075626c69635f70726f706f73616c73000c1470436c6561727320616c6c207075626c69632070726f706f73616c732e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e003c5765696768743a20604f283129602e18756e6c6f636b040118746172676574d90201504163636f756e7449644c6f6f6b75704f663c543e000d1ca0556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00b82d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e00bc5765696768743a20604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742e2c72656d6f76655f766f7465040114696e6465781c013c5265666572656e64756d496e646578000e6c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e000c49663a882d20746865207265666572656e64756d207761732063616e63656c6c65642c206f727c2d20746865207265666572656e64756d206973206f6e676f696e672c206f72902d20746865207265666572656e64756d2068617320656e64656420737563682074686174fc20202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d420202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f728420202d20746865206163636f756e74206d61646520612073706c697420766f74655d012e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655866756e6473206265696e6720617661696c61626c652e00a849662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643aec2d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64dc2d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64bc2d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f76657259012e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c766559012a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de46f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004901546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f7465887265676973746572656420666f72207265666572656e64756d2060696e646578602e00f42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e4472656d6f76655f6f746865725f766f7465080118746172676574d90201504163636f756e7449644c6f6f6b75704f663c543e000114696e6465781c013c5265666572656e64756d496e646578000f3c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e004d0149662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f2d016072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c5501656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f7298626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e004d012d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f725420207265666572656e64756d2060696e646578602ef42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e24626c61636b6c69737408013470726f706f73616c5f686173682c01104832353600013c6d617962655f7265665f696e646578b103015c4f7074696f6e3c5265666572656e64756d496e6465783e00103c45015065726d616e656e746c7920706c61636520612070726f706f73616c20696e746f2074686520626c61636b6c6973742e20546869732070726576656e74732069742066726f6d2065766572206265696e673c70726f706f73656420616761696e2e00510149662063616c6c6564206f6e206120717565756564207075626c6963206f722065787465726e616c2070726f706f73616c2c207468656e20746869732077696c6c20726573756c7420696e206974206265696e67510172656d6f7665642e2049662074686520607265665f696e6465786020737570706c69656420697320616e20616374697665207265666572656e64756d2077697468207468652070726f706f73616c20686173682c687468656e2069742077696c6c2062652063616e63656c6c65642e00ec546865206469737061746368206f726967696e206f6620746869732063616c6c206d7573742062652060426c61636b6c6973744f726967696e602e00f82d206070726f706f73616c5f68617368603a205468652070726f706f73616c206861736820746f20626c61636b6c697374207065726d616e656e746c792e45012d20607265665f696e646578603a20416e206f6e676f696e67207265666572656e64756d2077686f73652068617368206973206070726f706f73616c5f68617368602c2077686963682077696c6c2062652863616e63656c6c65642e0041015765696768743a20604f28702960202874686f756768206173207468697320697320616e20686967682d70726976696c6567652064697370617463682c20776520617373756d65206974206861732061502020726561736f6e61626c652076616c7565292e3c63616e63656c5f70726f706f73616c04012870726f705f696e646578b501012450726f70496e64657800111c4852656d6f766520612070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c50726f706f73616c4f726967696e602e00d02d206070726f705f696e646578603a2054686520696e646578206f66207468652070726f706f73616c20746f2063616e63656c2e00e45765696768743a20604f28702960207768657265206070203d205075626c696350726f70733a3a3c543e3a3a6465636f64655f6c656e282960042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ead030c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000b10304184f7074696f6e040454011c0108104e6f6e6500000010536f6d6504001c0000010000b5030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273250301445665633c543a3a4163636f756e7449643e0001147072696d65b90301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000080805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e0054526571756972657320726f6f74206f726967696e2e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e002823203c7765696768743e24232320576569676874502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e64656429142d2044423a510120202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e67207468652c202020206d656d62657273ec20202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c73450120202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c5d0120202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e652c23203c2f7765696768743e1c6578656375746508012070726f706f73616ca503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b501010c75333200012cf0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002823203c7765696768743e2423232057656967687455012d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e673020206070726f706f73616c60d42d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c60242d2031206576656e742c23203c2f7765696768743e1c70726f706f73650c01247468726573686f6c64b501012c4d656d626572436f756e7400012070726f706f73616ca503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b501010c75333200026cf84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e002823203c7765696768743e24232320576569676874ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d20326029142d2044423ab420202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029a820202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0901202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029b8202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029d82020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e42020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029cc2020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029bc2020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d2960292c20202d2031206576656e742c23203c2f7765696768743e10766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800011c617070726f7665a40110626f6f6c00033cf041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e2823203c7765696768743e2423232057656967687409012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429142d2044423aac20202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029b820202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d296029242d2031206576656e742c23203c2f7765696768743e40636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64bd0301244f6c645765696768740001306c656e6774685f626f756e64b501010c7533320004804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005385901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002823203c7765696768743edc436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c73284442205765696768743a482a2052656164733a2050726f706f73616c739c2a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f662c23203c2f7765696768743e14636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64b501010c7533320006804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb90304184f7074696f6e04045401000108104e6f6e6500000010536f6d650400000000010000bd03000006c10300c103082873705f77656967687473244f6c645765696768740000040010010c7536340000c5030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273250301445665633c543a3a4163636f756e7449643e0001147072696d65b90301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000080805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e0054526571756972657320726f6f74206f726967696e2e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e002823203c7765696768743e24232320576569676874502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e64656429142d2044423a510120202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e67207468652c202020206d656d62657273ec20202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c73450120202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c5d0120202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e652c23203c2f7765696768743e1c6578656375746508012070726f706f73616ca503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b501010c75333200012cf0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002823203c7765696768743e2423232057656967687455012d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e673020206070726f706f73616c60d42d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c60242d2031206576656e742c23203c2f7765696768743e1c70726f706f73650c01247468726573686f6c64b501012c4d656d626572436f756e7400012070726f706f73616ca503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b501010c75333200026cf84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e002823203c7765696768743e24232320576569676874ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d20326029142d2044423ab420202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029a820202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0901202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029b8202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029d82020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e42020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029cc2020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029bc2020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d2960292c20202d2031206576656e742c23203c2f7765696768743e10766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800011c617070726f7665a40110626f6f6c00033cf041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e2823203c7765696768743e2423232057656967687409012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429142d2044423aac20202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029b820202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d296029242d2031206576656e742c23203c2f7765696768743e40636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64bd0301244f6c645765696768740001306c656e6774685f626f756e64b501010c7533320004804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005385901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002823203c7765696768743edc436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c73284442205765696768743a482a2052656164733a2050726f706f73616c739c2a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f662c23203c2f7765696768743e14636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64b501010c7533320006804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ec9030c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665d90201504163636f756e7449644c6f6f6b75704f663c543e00010c616464d90201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273250301445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577d90201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ecd030c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001143470726f706f73655f7370656e6408011476616c7565c101013c42616c616e63654f663c542c20493e00012c62656e6566696369617279d90201504163636f756e7449644c6f6f6b75704f663c543e000024290150757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c75653101697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e6365207468655070726f706f73616c20697320617761726465642e002823203c7765696768743e482d20436f6d706c65786974793a204f283129b02d20446252656164733a206050726f706f73616c436f756e74602c20606f726967696e206163636f756e7460e82d2044625772697465733a206050726f706f73616c436f756e74602c206050726f706f73616c73602c20606f726967696e206163636f756e74602c23203c2f7765696768743e3c72656a6563745f70726f706f73616c04012c70726f706f73616c5f6964b501013450726f706f73616c496e646578000124f852656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e002823203c7765696768743e482d20436f6d706c65786974793a204f283129cc2d20446252656164733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460d02d2044625772697465733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e74602c23203c2f7765696768743e40617070726f76655f70726f706f73616c04012c70726f706f73616c5f6964b501013450726f706f73616c496e6465780002285901417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279a8616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00ac4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002823203c7765696768743e4c2d20436f6d706c65786974793a204f2831292e8c2d20446252656164733a206050726f706f73616c73602c2060417070726f76616c7360582d20446257726974653a2060417070726f76616c73602c23203c2f7765696768743e147370656e64080118616d6f756e74c101013c42616c616e63654f663c542c20493e00012c62656e6566696369617279d90201504163636f756e7449644c6f6f6b75704f663c543e000320b850726f706f736520616e6420617070726f76652061207370656e64206f662074726561737572792066756e64732e004d012d20606f726967696e603a204d75737420626520605370656e644f726967696e60207769746820746865206053756363657373602076616c7565206265696e67206174206c656173742060616d6f756e74602e41012d2060616d6f756e74603a2054686520616d6f756e7420746f206265207472616e736665727265642066726f6d2074686520747265617375727920746f20746865206062656e6566696369617279602ee82d206062656e6566696369617279603a205468652064657374696e6174696f6e206163636f756e7420666f7220746865207472616e736665722e0045014e4f54453a20466f72207265636f72642d6b656570696e6720707572706f7365732c207468652070726f706f736572206973206465656d656420746f206265206571756976616c656e7420746f207468653062656e65666963696172792e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f6964b501013450726f706f73616c496e64657800043c2d01466f72636520612070726576696f75736c7920617070726f7665642070726f706f73616c20746f2062652072656d6f7665642066726f6d2074686520617070726f76616c2071756575652ec0546865206f726967696e616c206465706f7369742077696c6c206e6f206c6f6e6765722062652072657475726e65642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602ea02d206070726f706f73616c5f6964603a2054686520696e646578206f6620612070726f706f73616c002823203c7765696768743edc2d20436f6d706c65786974793a204f2841292077686572652060416020697320746865206e756d626572206f6620617070726f76616c73882d20446220726561647320616e64207772697465733a2060417070726f76616c73602c23203c2f7765696768743e001c4572726f72733a61012d206050726f706f73616c4e6f74417070726f766564603a20546865206070726f706f73616c5f69646020737570706c69656420776173206e6f7420666f756e6420696e2074686520617070726f76616c2071756575652c5101692e652e2c207468652070726f706f73616c20686173206e6f74206265656e20617070726f7665642e205468697320636f756c6420616c736f206d65616e207468652070726f706f73616c20646f6573206e6f745901657869737420616c746f6765746865722c2074687573207468657265206973206e6f2077617920697420776f756c642068617665206265656e20617070726f76656420696e2074686520666972737420706c6163652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed1030c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c73d503017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00004c7c53656e642061206261746368206f662064697370617463682063616c6c732e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e005501546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e31016576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e207468655501604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d6164654d01616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c65746564604c6576656e74206973206465706f73697465642e3461735f64657269766174697665080114696e646578d8010c75313600011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000134dc53656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00550146696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368bc757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e0045014e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e61016265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e7451017468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31607c696e20746865204d756c74697369672070616c6c657420696e73746561642e00f44e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c04011463616c6c73d503017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000238ec53656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e21015468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e2c64697370617463685f617308012461735f6f726967696ed9030154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000328c84469737061746368657320612066756e6374696f6e2063616c6c207769746820612070726f7669646564206f726967696e2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e002823203c7765696768743e1c2d204f2831292e602d204c696d697465642073746f726167652072656164732e5c2d204f6e6520444220777269746520286576656e74292e1d012d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b20543a3a576569676874496e666f3a3a64697370617463685f617328292e2c23203c2f7765696768743e2c666f7263655f626174636804011463616c6c73d503017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004387c53656e642061206261746368206f662064697370617463682063616c6c732ed4556e6c696b6520606261746368602c20697420616c6c6f7773206572726f727320616e6420776f6e277420696e746572727570742e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e004d014966206f726967696e20697320726f6f74207468656e207468652063616c6c732061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e2c776974685f77656967687408011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000118776569676874240118576569676874000518c4446973706174636820612066756e6374696f6e2063616c6c2077697468206120737065636966696564207765696768742e002d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b8526f6f74206f726967696e20746f20737065636966792074686520776569676874206f66207468652063616c6c2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed503000002a50300d90308447370697269746e65745f72756e74696d65304f726967696e43616c6c657200011c1873797374656d0400dd0301746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0000001c436f756e63696c0400e10301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400e50301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020000c4469640400e90301506469643a3a4f726967696e3c52756e74696d653e0040002c506f6c6b61646f7458636d0400ed03014870616c6c65745f78636d3a3a4f726967696e0053002843756d756c757358636d0400f103016863756d756c75735f70616c6c65745f78636d3a3a4f726967696e00540010566f69640400f50301110173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a566f696400060000dd030c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e6500020000e103084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000e503084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000e9030c0c646964186f726967696e304469645261774f726967696e08344469644964656e7469666965720100244163636f756e74496401000008010869640001344469644964656e7469666965720001247375626d69747465720001244163636f756e7449640000ed030c2870616c6c65745f78636d1870616c6c6574184f726967696e0001080c58636d0400a90101344d756c74694c6f636174696f6e00000020526573706f6e73650400a90101344d756c74694c6f636174696f6e00010000f1030c4863756d756c75735f70616c6c65745f78636d1870616c6c6574184f726967696e0001081452656c6179000000405369626c696e6750617261636861696e04009d01011850617261496400010000f503081c73705f636f726510566f696400010000f9030c3870616c6c65745f76657374696e671870616c6c65741043616c6c0404540001141076657374000034b8556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e005d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20322052656164732c203220577269746573f8202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745dfc202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745d2c23203c2f7765696768743e28766573745f6f74686572040118746172676574d90201504163636f756e7449644c6f6f6b75704f663c543e00013cb8556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051012d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20332052656164732c203320577269746573f0202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e74f4202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c23203c2f7765696768743e3c7665737465645f7472616e73666572080118746172676574d90201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65fd0301a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00024464437265617465206120766573746564207472616e736665722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00cc2d2060746172676574603a20546865206163636f756e7420726563656976696e6720746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20332052656164732c2033205772697465733901202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d3d01202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d2c23203c2f7765696768743e54666f7263655f7665737465645f7472616e736665720c0118736f75726365d90201504163636f756e7449644c6f6f6b75704f663c543e000118746172676574d90201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65fd0301a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00034860466f726365206120766573746564207472616e736665722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00e82d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e11012d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20342052656164732c2034205772697465733101202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e743501202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e742c23203c2f7765696768743e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e6465781c010c75333200013c7363686564756c65325f696e6465781c010c7533320004545d014d657267652074776f2076657374696e67207363686564756c657320746f6765746865722c206372656174696e672061206e65772076657374696e67207363686564756c65207468617420756e6c6f636b73206f7665725501746865206869676865737420706f737369626c6520737461727420616e6420656e6420626c6f636b732e20496620626f7468207363686564756c6573206861766520616c7265616479207374617274656420746865590163757272656e7420626c6f636b2077696c6c206265207573656420617320746865207363686564756c652073746172743b207769746820746865206361766561742074686174206966206f6e65207363686564756c655d0169732066696e6973686564206279207468652063757272656e7420626c6f636b2c20746865206f746865722077696c6c206265207472656174656420617320746865206e6577206d6572676564207363686564756c652c2c756e6d6f6469666965642e00f84e4f54453a20496620607363686564756c65315f696e646578203d3d207363686564756c65325f696e6465786020746869732069732061206e6f2d6f702e41014e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b207072696f7220746f206d657267696e672e61014e4f54453a20496620626f7468207363686564756c6573206861766520656e646564206279207468652063757272656e7420626c6f636b2c206e6f206e6577207363686564756c652077696c6c206265206372656174656464616e6420626f74682077696c6c2062652072656d6f7665642e006c4d6572676564207363686564756c6520617474726962757465733a35012d20607374617274696e675f626c6f636b603a20604d4158287363686564756c65312e7374617274696e675f626c6f636b2c207363686564756c6564322e7374617274696e675f626c6f636b2c48202063757272656e745f626c6f636b29602e21012d2060656e64696e675f626c6f636b603a20604d4158287363686564756c65312e656e64696e675f626c6f636b2c207363686564756c65322e656e64696e675f626c6f636b29602e59012d20606c6f636b6564603a20607363686564756c65312e6c6f636b65645f61742863757272656e745f626c6f636b29202b207363686564756c65322e6c6f636b65645f61742863757272656e745f626c6f636b29602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00e82d20607363686564756c65315f696e646578603a20696e646578206f6620746865206669727374207363686564756c6520746f206d657267652eec2d20607363686564756c65325f696e646578603a20696e646578206f6620746865207365636f6e64207363686564756c6520746f206d657267652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632efd030c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720110000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b10012c426c6f636b4e756d626572000001040c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963050401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000470416e6f6e796d6f75736c79207363686564756c652061207461736b2e1863616e63656c0801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001049443616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963050401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000204585363686564756c652061206e616d6564207461736b2e3063616e63656c5f6e616d656404010869640401205461736b4e616d650003047843616e63656c2061206e616d6564207363686564756c6564207461736b2e387363686564756c655f61667465721001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963050401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000414a8416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e002823203c7765696768743e5453616d65206173205b607363686564756c65605d2e2c23203c2f7765696768743e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963050401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000514905363686564756c652061206e616d6564207461736b20616674657220612064656c61792e002823203c7765696768743ec453616d65206173205b607363686564756c655f6e616d6564605d2853656c663a3a7363686564756c655f6e616d6564292e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e050404184f7074696f6e04045401c80108104e6f6e6500000010536f6d650400c8000001000009040c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616cd90201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f747970650d0401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000244d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f75676830606164645f70726f7879602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e246164645f70726f78790c012064656c6567617465d90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d6265720001244501526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a11012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792efc2d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e3072656d6f76655f70726f78790c012064656c6567617465d90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200021ca8556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a25012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e41012d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e3872656d6f76655f70726f78696573000318b4556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0041015741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e74732063726561746564206279206070757265602c20686f776576657220696620646f6e652c207468656e590174686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a2c6372656174655f707572650c012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d626572000114696e646578d8010c7531360004483901537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64fc696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e006c5265717569726573206120605369676e656460206f726967696e2e0051012d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468654d016e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f78616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e51012d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d655d017472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a7573744077616e7420746f20757365206030602e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e0051014661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659873616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e44661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e246b696c6c5f7075726514011c737061776e6572d90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f787954797065000114696e646578d8010c753136000118686569676874280138543a3a426c6f636b4e756d6265720001246578745f696e646578b501010c753332000540a052656d6f76657320612070726576696f75736c7920737061776e656420707572652070726f78792e0049015741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c20626534696e61636365737369626c652e0059015265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746f94607075726560207769746820636f72726573706f6e64696e6720706172616d65746572732e0039012d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060707572656020746f206372656174652074686973206163636f756e742e39012d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f206070757265602e2050726f6261626c79206030602eec2d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f206070757265602e29012d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f20607075726560207761732070726f6365737365642e35012d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f20607075726560207761732070726f6365737365642e0035014661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c7920637265617465642070757265dc6163636f756e742077686f7365206070757265602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e20616e6e6f756e63650801107265616cd90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e00063c05015075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e005d0154686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d7074656425016966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e0011014e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000901546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c206173190160416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656d6f76655f616e6e6f756e63656d656e740801107265616cd90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e0007287052656d6f7665206120676976656e20616e6e6f756e63656d656e742e0059014d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e30746865206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465d90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e000828b052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e0061014d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c6567617465732501286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733af42d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ebc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e3c70726f78795f616e6e6f756e63656410012064656c6567617465d90201504163636f756e7449644c6f6f6b75704f663c543e0001107265616cd90201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f747970650d0401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00092c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e0d0404184f7074696f6e04045401d40108104e6f6e6500000010536f6d650400d4000001000011040c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000110346e6f74655f707265696d616765040114627974657330011c5665633c75383e000010745265676973746572206120707265696d616765206f6e2d636861696e2e00550149662074686520707265696d616765207761732070726576696f75736c79207265717565737465642c206e6f2066656573206f72206465706f73697473206172652074616b656e20666f722070726f766964696e67550174686520707265696d6167652e204f74686572776973652c2061206465706f7369742069732074616b656e2070726f706f7274696f6e616c20746f207468652073697a65206f662074686520707265696d6167652e3c756e6e6f74655f707265696d616765040110686173682c011c543a3a48617368000118dc436c65617220616e20756e72657175657374656420707265696d6167652066726f6d207468652072756e74696d652073746f726167652e00fc496620606c656e602069732070726f76696465642c207468656e2069742077696c6c2062652061206d7563682063686561706572206f7065726174696f6e2e0001012d206068617368603a205468652068617368206f662074686520707265696d61676520746f2062652072656d6f7665642066726f6d207468652073746f72652eb82d20606c656e603a20546865206c656e677468206f662074686520707265696d616765206f66206068617368602e40726571756573745f707265696d616765040110686173682c011c543a3a48617368000210410152657175657374206120707265696d6167652062652075706c6f6164656420746f2074686520636861696e20776974686f757420706179696e6720616e792066656573206f72206465706f736974732e00550149662074686520707265696d6167652072657175657374732068617320616c7265616479206265656e2070726f7669646564206f6e2d636861696e2c20776520756e7265736572766520616e79206465706f7369743901612075736572206d6179206861766520706169642c20616e642074616b652074686520636f6e74726f6c206f662074686520707265696d616765206f7574206f662074686569722068616e64732e48756e726571756573745f707265696d616765040110686173682c011c543a3a4861736800030cbc436c65617220612070726576696f75736c79206d616465207265717565737420666f72206120707265696d6167652e002d014e4f54453a2054484953204d555354204e4f542042452043414c4c4544204f4e20606861736860204d4f52452054494d4553205448414e2060726571756573745f707265696d616765602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e15040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665d90201504163636f756e7449644c6f6f6b75704f663c543e00010c616464d90201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273250301445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577d90201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e19040c2c70616c6c65745f746970731870616c6c65741043616c6c080454000449000118387265706f72745f617765736f6d65080118726561736f6e30011c5665633c75383e00010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00004c59015265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051015061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173bc60446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e0074456d69747320604e657754697060206966207375636365737366756c2e002823203c7765696768743ec82d20436f6d706c65786974793a20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e9020202d20656e636f64696e6720616e642068617368696e67206f662027726561736f6e27702d20446252656164733a2060526561736f6e73602c20605469707360742d2044625772697465733a2060526561736f6e73602c206054697073602c23203c2f7765696768743e2c726574726163745f746970040110686173682c011c543a3a4861736800014c5101526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00dc4966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e004d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e7469666965642062792060686173686041016d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f744c7468726f75676820607469705f6e657760292e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e008c456d697473206054697052657472616374656460206966207375636365737366756c2e002823203c7765696768743e502d20436f6d706c65786974793a20604f28312960d820202d20446570656e6473206f6e20746865206c656e677468206f662060543a3a48617368602077686963682069732066697865642e8c2d20446252656164733a206054697073602c20606f726967696e206163636f756e7460bc2d2044625772697465733a2060526561736f6e73602c206054697073602c20606f726967696e206163636f756e74602c23203c2f7765696768743e1c7469705f6e65770c0118726561736f6e30011c5665633c75383e00010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e0001247469705f76616c7565c101013c42616c616e63654f663c542c20493e000258f04769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e0074456d69747320604e657754697060206966207375636365737366756c2e002823203c7765696768743e51012d20436f6d706c65786974793a20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732e5d0120202d20604f285429603a206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792d012020202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f66442020202060543a3a54697070657273602ee020202d20604f285229603a2068617368696e6720616e6420656e636f64696e67206f6620726561736f6e206f66206c656e677468206052607c2d20446252656164733a206054697070657273602c2060526561736f6e7360742d2044625772697465733a2060526561736f6e73602c206054697073602c23203c2f7765696768743e0c746970080110686173682c011c543a3a486173680001247469705f76616c7565c101013c42616c616e63654f663c542c20493e000360b04465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e65666963696172793420206163636f756e742049442e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e006101456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f643068617320737461727465642e002823203c7765696768743e61012d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e6774682d0120206054602c20696e736572742074697020616e6420636865636b20636c6f73696e672c20605460206973206368617267656420617320757070657220626f756e6420676976656e2062795d01202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e005d01202041637475616c6c792077656967687420636f756c64206265206c6f77657220617320697420646570656e6473206f6e20686f77206d616e7920746970732061726520696e20604f70656e5469706020627574206974d02020697320776569676874656420617320696620616c6d6f73742066756c6c20692e65206f66206c656e6774682060542d31602e702d20446252656164733a206054697070657273602c20605469707360482d2044625772697465733a206054697073602c23203c2f7765696768743e24636c6f73655f746970040110686173682c011c543a3a486173680004405c436c6f736520616e64207061796f75742061207469702e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00150154686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002823203c7765696768743e61012d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e677468510120206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f7374c02020646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602ea82d20446252656164733a206054697073602c206054697070657273602c20607469702066696e64657260d82d2044625772697465733a2060526561736f6e73602c206054697073602c206054697070657273602c20607469702066696e646572602c23203c2f7765696768743e24736c6173685f746970040110686173682c011c543a3a486173680005309452656d6f766520616e6420736c61736820616e20616c72656164792d6f70656e207469702e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e00f44173206120726573756c742c207468652066696e64657220697320736c617368656420616e6420746865206465706f7369747320617265206c6f73742e0084456d6974732060546970536c617368656460206966207375636365737366756c2e002823203c7765696768743efc2020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e010120205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e1d040c1463747970651870616c6c65741043616c6c0404540001080c616464040114637479706530011c5665633c75383e00003009014372656174652061206e65772043547970652066726f6d2074686520676976656e20756e69717565204354797065206861736820616e64206173736f6369617465735069742077697468206974732063726561746f722e00dc412043547970652077697468207468652073616d652068617368206d757374206e6f742062652073746f726564206f6e20636861696e2e0054456d6974732060435479706543726561746564602e002823203c7765696768743e305765696768743a204f283129602d2052656164733a204374797065732c2042616c616e6365642d205772697465733a204374797065732c2042616c616e63652c23203c2f7765696768743e407365745f626c6f636b5f6e756d62657208012863747970655f686173682c01384374797065486173684f663c543e000130626c6f636b5f6e756d626572100144426c6f636b4e756d626572466f723c543e00010ce853657420746865206372656174696f6e20626c6f636b206e756d62657220666f72206120676976656e2043547970652c20696620666f756e642e0054456d6974732060435479706555706461746564602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e21040c2c6174746573746174696f6e1870616c6c65741043616c6c0404540001180c6164640c0128636c61696d5f686173682c0138436c61696d486173684f663c543e00012863747970655f686173682c01384374797065486173684f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000054644372656174652061206e6577206174746573746174696f6e2e00f85468652061747465737465722063616e206f7074696f6e616c6c792070726f766964652061207265666572656e636520746f20616e206578697374696e67090164656c65676174696f6e20746861742077696c6c20626520736176656420616c6f6e67207769746820746865206174746573746174696f6e20697473656c6620696e8c74686520666f726d206f6620616e2061747465737465642064656c65676174696f6e2e00ec546865207265666572656e6365642043547970652068617368206d75737420616c72656164792062652070726573656e74206f6e20636861696e2e000901496620616e206f7074696f6e616c2064656c65676174696f6e2069642069732070726f76696465642c20746865206469737061746368206f726967696e206d757374e8626520746865206f776e6572206f66207468652064656c65676174696f6e2e204f74686572776973652c20697420636f756c6420626520616e79546044656c65676174696f6e456e746974794964602e006c456d69747320604174746573746174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b82d2052656164733a205b4f726967696e204163636f756e745d2c2043747970652c204174746573746174696f6e73e42d2052656164732069662064656c65676174696f6e2069642069732070726f76696465643a2044656c65676174696f6e732c20526f6f74732c5c202044656c6567617465644174746573746174696f6e73bc2d205772697465733a204174746573746174696f6e732c202844656c6567617465644174746573746174696f6e73292c23203c2f7765696768743e187265766f6b65080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001447c5265766f6b6520616e206578697374696e67206174746573746174696f6e2e00fc546865207265766f6b6572206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206265696e6709017265766f6b6564206f7220616e20656e74697479207468617420696e207468652064656c65676174696f6e207472656520697320616e20616e636573746f72206f6609017468652061747465737465722c20692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7250616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e5265766f6b6564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e1872656d6f7665080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0002445852656d6f766520616e206174746573746174696f6e2e00f8546865206f726967696e206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206f7220616e0d01656e7469747920776869636820697320616e20616e636573746f72206f662074686520617474657374657220696e207468652064656c65676174696f6e20747265652c0101692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7220616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e52656d6f766564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e000324d05265636c61696d20612073746f72616765206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e0064456d69747320604465706f7369745265636c61696d6564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572040128636c61696d5f686173682c0138436c61696d486173684f663c543e00041c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00ec546865207375626a656374206f66207468652063616c6c206d757374206265207468652061747465737465722077686f206973737565732074686509016174746573746174696f6e2e205468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e00050cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e250404184f7074696f6e0404540129040108104e6f6e6500000010536f6d6504002904000001000029040c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c50616c6c6574417574686f72697a65043044656c65676174696f6e4163012d0401042844656c65676174696f6e04002d04013044656c65676174696f6e4163000000002d040c2864656c65676174696f6e386163636573735f636f6e74726f6c3044656c65676174696f6e41630404540131040008013c7375626a6563745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e0001286d61785f636865636b731c010c7533320000310408447370697269746e65745f72756e74696d651c52756e74696d650000000035040c2864656c65676174696f6e1870616c6c65741043616c6c04045400011c406372656174655f686965726172636879080130726f6f745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e00012863747970655f686173682c01384374797065486173684f663c543e00006401014372656174652061206e65772064656c65676174696f6e20726f6f74206173736f6369617465642077697468206120676976656e20435479706520686173682e00f8546865206e657720726f6f742077696c6c20616c6c6f772061206e65772074727573742068696572617263687920746f2062652063726561746564206279a0616464696e67206368696c6472656e2064656c65676174696f6e7320746f2074686520726f6f742e000d015468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652049442073746f726564206f6e20636861696e2c207768696c65fc7468657265206d75737420626520616c7265616479206120435479706520776974682074686520676976656e20686173682073746f72656420696e207468653443547970652070616c6c65742e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0050456d6974732060526f6f7443726561746564602e002823203c7765696768743e305765696768743a204f283129a02d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c204354797065733c2d205772697465733a20526f6f74732c23203c2f7765696768743e386164645f64656c65676174696f6e14013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e000124706172656e745f69642c015444656c65676174696f6e4e6f646549644f663c543e00012064656c656761746500014044656c656761746f7249644f663c543e00012c7065726d697373696f6e73fc012c5065726d697373696f6e7300014864656c65676174655f7369676e61747572653904016844656c65676174655369676e6174757265547970654f663c543e000180744372656174652061206e65772064656c65676174696f6e206e6f64652e00f4546865206e65772064656c65676174696f6e206e6f646520726570726573656e74732061206e65772074727573742068696572617263687920746861740d01636f6e73696465727320746865206e6577206e6f64652061732069747320726f6f742e20546865206f776e6572206f662074686973206e6f6465206861732066756c6ce0636f6e74726f6c206f76657220616e79206f66206974732064697265637420616e6420696e6469726563742064657363656e64616e74732e00fc466f7220746865206372656174696f6e20746f20737563636565642c207468652064656c656761746565206d7573742070726f7669646520612076616c696411017369676e6174757265206f766572207468652028626c616b65323536292068617368206f6620746865206372656174696f6e206f7065726174696f6e2064657461696c731101776869636820696e636c7564652028696e206f72646572292064656c65676174696f6e2069642c20726f6f74206e6f64652069642c20706172656e742069642c20616e64707065726d697373696f6e73206f6620746865206e6577206e6f64652e00f45468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652069642073746f726564206f6e20636861696e2e0501467572746865726d6f72652c20746865207265666572656e63656420726f6f7420616e6420706172656e74206e6f646573206d75737420616c7265616479206265050170726573656e74206f6e20636861696e20616e6420636f6e7461696e207468652076616c6964207065726d697373696f6e7320616e64207265766f636174696f6e6c7374617475732028692e652e2c206e6f74207265766f6b6564292e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0068456d697473206044656c65676174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b42d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2044656c65676174696f6e73542d205772697465733a2044656c65676174696f6e732c23203c2f7765696768743e447265766f6b655f64656c65676174696f6e0c013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001446d61785f706172656e745f636865636b731c010c75333200013c6d61785f7265766f636174696f6e731c010c753332000274f85265766f6b6520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00fc446f6573206e6f7420726566756e64207468652064656c65676174696f6e206261636b20746f20746865206465706f736974206f776e657220617320746865f06e6f6465206973207374696c6c2073746f726564206f6e20636861696e2e20526571756972657320746f206164646974696f6e616c6c792063616c6cb46072656d6f76655f64656c65676174696f6e6020746f20756e7265736572766520746865206465706f7369742e0009015265766f6b696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67090166726f6d2074686520676976656e206e6f6465206265696e67207265766f6b65642e204e657665727468656c6573732c207265766f636174696f6e20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f6465206973207265766f6b65642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e73696465726564207265766f6b65642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e5265766f6b6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e802d205772697465733a20526f6f74732c2043202a2044656c65676174696f6e732c23203c2f7765696768743e4472656d6f76655f64656c65676174696f6e08013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000370f852656d6f766520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e52656d6f766564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000460f45265636c61696d20746865206465706f73697420666f7220612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74b86e6f6465292c2072656d6f76696e6720746865206e6f646520616e6420616c6c20697473206368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e000d01546865206469737061746368206f726967696e206d757374206265207369676e6564206279207468652064656c65676174696f6e206465706f736974206f776e65722e004c604465706f7369745265636c61696d6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f72656d6f76616c73602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e000501546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652064656c65676174696f6e206e6f64652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e39040c0c6469642c6469645f64657461696c73304469645369676e617475726500010c1c4564323535313904003d040148656432353531393a3a5369676e61747572650000001c53723235353139040045040148737232353531393a3a5369676e617475726500010014456364736104004904014065636473613a3a5369676e6174757265000200003d040c1c73705f636f72651c65643235353139245369676e617475726500000400410401205b75383b2036345d0000410400000340000000080045040c1c73705f636f72651c73723235353139245369676e617475726500000400410401205b75383b2036345d000049040c1c73705f636f7265146563647361245369676e6174757265000004004d0401205b75383b2036355d00004d0400000341000000080051040c0c6469641870616c6c65741043616c6c04045400013c1863726561746508011c64657461696c7355040168426f783c4469644372656174696f6e44657461696c733c543e3e0001247369676e6174757265390401304469645369676e617475726500007cec53746f72652061206e657720444944206f6e20636861696e2c20616674657220766572696679696e67207468617420746865206372656174696f6e05016f7065726174696f6e20686173206265656e207369676e656420627920746865204b494c54206163636f756e74206173736f63696174656420776974682074686501016964656e746966696572206f662074686520444944206265696e67206372656174656420616e6420746861742061204449442077697468207468652073616d6511016964656e74696669657220686173206e6f742070726576696f75736c792065786973746564206f6e2028616e64207468656e2064656c657465642066726f6d292074686518636861696e2e000d015468657265206d757374206265206e6f2044494420696e666f726d6174696f6e2073746f726564206f6e20636861696e20756e646572207468652073616d65204449442c6964656e7469666965722e00fc546865206e6577206b65797320616464656420776974682074686973206f7065726174696f6e206172652073746f72656420756e646572207468652044494405016964656e74696669657220616c6f6e6720776974682074686520626c6f636b206e756d62657220696e20776869636820746865206f7065726174696f6e207761732465786563757465642e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e004c456d697473206044696443726561746564602e002823203c7765696768743e0d012d20546865207472616e73616374696f6e277320636f6d706c6578697479206973206d61696e6c7920646570656e64656e74206f6e20746865206e756d626572206f66010120206e6577206b65792061677265656d656e74206b65797320616e6420746865206e756d626572206f66206e6577207365727669636520656e64706f696e7473702020696e636c7564656420696e20746865206f7065726174696f6e2e242d2d2d2d2d2d2d2d2df85765696768743a204f284b29202b204f284e29207768657265204b20697320746865206e756d626572206f66206e6577206b65792061677265656d656e7409016b65797320626f756e64656420627920604d61784e65774b657941677265656d656e744b657973602c207768696c65204e20697320746865206e756d626572206f66f46e6577207365727669636520656e64706f696e747320626f756e64656420627920604d61784e756d6265724f665365727669636573506572446964602eb02d2052656164733a205b4f726967696e204163636f756e745d2c204469642c20446964426c61636b6c697374fc2d205772697465733a20446964202877697468204b206e6577206b65792061677265656d656e74206b657973292c2053657276696365456e64706f696e7473cc20202877697468204e206e6577207365727669636520656e64706f696e7473292c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e587365745f61757468656e7469636174696f6e5f6b657904011c6e65775f6b65796d040148446964566572696669636174696f6e4b65790001408855706461746520746865204449442061757468656e7469636174696f6e206b65792e00ec546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696620697420697309016e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f207468654c736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e487365745f64656c65676174696f6e5f6b657904011c6e65775f6b65796d040148446964566572696669636174696f6e4b657900024094536574206f722075706461746520746865204449442064656c65676174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5472656d6f76655f64656c65676174696f6e5f6b657900033c7852656d6f766520746865204449442064656c65676174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e4c7365745f6174746573746174696f6e5f6b657904011c6e65775f6b65796d040148446964566572696669636174696f6e4b657900044098536574206f72207570646174652074686520444944206174746573746174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5872656d6f76655f6174746573746174696f6e5f6b657900053c7c52656d6f76652074686520444944206174746573746174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e546164645f6b65795f61677265656d656e745f6b657904011c6e65775f6b65795d040140446964456e6372797074696f6e4b6579000638b841646420612073696e676c65206e6577206b65792061677265656d656e74206b657920746f20746865204449442e00bc546865206e6577206b657920697320616464656420746f2074686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e6072656d6f76655f6b65795f61677265656d656e745f6b65790401186b65795f69642c01284b657949644f663c543e000734050152656d6f7665206120444944206b65792061677265656d656e74206b65792066726f6d20626f74682069747320736574206f66206b65792061677265656d656e74906b65797320616e642061732077656c6c20617320697473207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506164645f736572766963655f656e64706f696e74040140736572766963655f656e64706f696e7481040138446964456e64706f696e743c543e000830bc4164642061206e6577207365727669636520656e64706f696e7420756e6465722074686520676976656e204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f2831290d012d2052656164733a205b4f726967696e204163636f756e745d2c204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e5c72656d6f76655f736572766963655f656e64706f696e74040128736572766963655f69648504015053657276696365456e64706f696e7449643c543e000930d452656d6f76652074686520736572766963652077697468207468652070726f76696465642049442066726f6d20746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e1864656c65746504014c656e64706f696e74735f746f5f72656d6f76651c010c753332000a600d0144656c6574652061204449442066726f6d2074686520636861696e20616e6420616c6c20696e666f726d6174696f6e206173736f63696174656420776974682069742c1101616674657220766572696679696e672074686174207468652064656c657465206f7065726174696f6e20686173206265656e207369676e65642062792074686520444944fc7375626a656374207573696e67207468652061757468656e7469636174696f6e206b65792063757272656e746c792073746f726564206f6e20636861696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408012c6469645f7375626a6563740001484469644964656e7469666965724f663c543e00014c656e64706f696e74735f746f5f72656d6f76651c010c753332000b54f45265636c61696d2061206465706f73697420666f722061204449442e20546869732077696c6c2064656c657465207468652044494420616e6420616c6c0901696e666f726d6174696f6e206173736f63696174656420776974682069742c20616674657220766572696679696e672074686174207468652063616c6c657220697364746865206f776e6572206f6620746865206465706f7369742e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7375626d69745f6469645f63616c6c0801206469645f63616c6ca1040188426f783c446964417574686f72697a656443616c6c4f7065726174696f6e3c543e3e0001247369676e6174757265390401304469645369676e6174757265000c8cec50726f7879206120646973706174636861626c652063616c6c206f6620616e6f746865722072756e74696d652065787472696e736963207468617458737570706f727473206120444944206f726967696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f726520746865606f7065726174696f6e20697320646973706174636865642e00fc412063616c6c207375626d6974746564207468726f75676820746869732065787472696e736963206d757374206265207369676e65642077697468207468650901726967687420444944206b65792c20646570656e64696e67206f6e207468652063616c6c2e205468697320696e666f726d6174696f6e2069732070726f766964656409016279207468652060446964417574686f72697a656443616c6c4f7065726174696f6e6020706172616d657465722c20776869636820737065636966696573207468650901444944207375626a65637420616374696e6720617320746865206f726967696e206f66207468652063616c6c2c2074686520444944277320747820636f756e7465720101286e6f6e6365292c2074686520646973706174636861626c6520746f2063616c6c20696e2063617365207369676e617475726520766572696669636174696f6ef073756363656564732c207468652074797065206f6620444944206b657920746f2075736520746f2076657269667920746865206f7065726174696f6efc7369676e61747572652c20616e642074686520626c6f636b206e756d62657220746865206f7065726174696f6e2077617320746172676574696e6720666f72a8696e636c7573696f6e2c207768656e20697420776173206372656174656420616e64207369676e65642e00fc496e206361736520746865207369676e617475726520697320696e636f72726563742c20746865206e6f6e6365206973206e6f742076616c69642c20746865fc7265717569726564206b6579206973206e6f742070726573656e7420666f722074686520737065636966696564204449442c206f722074686520626c6f636bfc73706563696669656420697320746f6f206f6c642074686520766572696669636174696f6e206661696c7320616e64207468652063616c6c206973206e6f74f4646973706174636865642e204f74686572776973652c207468652063616c6c2069732070726f7065726c79206469737061746368656420776974682061b8604469644f726967696e60206f726967696e20696e6469636174696e672074686520444944207375626a6563742e00110141207375636365737366756c206469737061746368206f7065726174696f6e20726573756c747320696e2074686520747820636f756e746572206173736f6369617465640501776974682074686520676976656e2044494420746f20626520696e6372656d656e7465642c20746f206d69746967617465207265706c61792061747461636b732e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e0068456d697473206044696443616c6c44697370617463686564602e002823203c7765696768743eb05765696768743a204f283129202b20776569676874206f662074686520646973706174636865642063616c6c782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572000d1c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00b8546865207375626a656374206f66207468652063616c6c206d7573742062652074686520646964206f776e65722ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404010c6469640001484469644964656e7469666965724f663c543e000e0cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e55040c0c6469642c6469645f64657461696c73484469644372656174696f6e44657461696c73040454000018010c6469640001484469644964656e7469666965724f663c543e0001247375626d69747465720001384163636f756e7449644f663c543e0001586e65775f6b65795f61677265656d656e745f6b6579735904016c4469644e65774b657941677265656d656e744b65795365743c543e00014c6e65775f6174746573746174696f6e5f6b6579690401684f7074696f6e3c446964566572696669636174696f6e4b65793e0001486e65775f64656c65676174696f6e5f6b6579690401684f7074696f6e3c446964566572696669636174696f6e4b65793e00014c6e65775f736572766963655f64657461696c737d04014c5665633c446964456e64706f696e743c543e3e00005904101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454015d040453000004006104012c42547265655365743c543e00005d040c0c6469642c6469645f64657461696c7340446964456e6372797074696f6e4b65790001041858323535313904000401205b75383b2033325d00000000610404204254726565536574040454015d04000400650400000065040000025d0400690404184f7074696f6e040454016d040108104e6f6e6500000010536f6d6504006d0400000100006d040c0c6469642c6469645f64657461696c7348446964566572696669636174696f6e4b657900010c1c4564323535313904007104013c656432353531393a3a5075626c69630000001c5372323535313904001903013c737232353531393a3a5075626c696300010014456364736104007504013465636473613a3a5075626c69630002000071040c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d000075040c1c73705f636f7265146563647361185075626c696300000400790401205b75383b2033335d000079040000032100000008007d0400000281040081040c0c64696444736572766963655f656e64706f696e74732c446964456e64706f696e7404045400000c010869648504015053657276696365456e64706f696e7449643c543e000134736572766963655f74797065738904017453657276696365456e64706f696e7454797065456e74726965733c543e00011075726c739504017053657276696365456e64706f696e7455726c456e74726965733c543e00008504101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00008904101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454018d04045300000400910401185665633c543e00008d04101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000091040000028d04009504101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540199040453000004009d0401185665633c543e00009904101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00009d04000002990400a1040c0c6469642c6469645f64657461696c7368446964417574686f72697a656443616c6c4f7065726174696f6e040454000014010c6469640001484469644964656e7469666965724f663c543e00012874785f636f756e74657210010c75363400011063616c6ca503014044696443616c6c61626c654f663c543e000130626c6f636b5f6e756d626572100140426c6f636b4e756d6265724f663c543e0001247375626d69747465720001384163636f756e7449644f663c543e0000a5040c4470616c6c65745f6469645f6c6f6f6b75701870616c6c65741043616c6c040454000120446173736f63696174655f6163636f756e7408010c726571a904015c4173736f63696174654163636f756e745265717565737400012865787069726174696f6e1001a03c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a426c6f636b4e756d62657200004405014173736f63696174652074686520676976656e206163636f756e7420746f2074686520444944207468617420617574686f72697a656420746869732063616c6c2e000501546865206163636f756e742068617320746f207369676e207468652044494420616e64206120626c6f636b6e756d62657220616674657220776869636820746865e07369676e6174757265206578706972657320696e206f7264657220746f20617574686f72697a6520746865206173736f63696174696f6e2e001101546865207369676e61747572652077696c6c20626520636865636b656420616761696e737420746865207363616c6520656e636f646564207475706c65206f66207468650d016d6574686f64207370656369666963206964206f662074686520646964206964656e74696669657220616e642074686520626c6f636b206e756d626572206166746572bc776869636820746865207369676e61747572652073686f756c6420626520726567617264656420696e76616c69642e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e406173736f63696174655f73656e64657200012c01014173736f6369617465207468652073656e646572206f66207468652063616c6c20746f2074686520444944207468617420617574686f72697a656420746869731463616c6c2e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6472656d6f76655f73656e6465725f6173736f63696174696f6e000228fc52656d6f766520746865206173736f63696174696f6e206f66207468652073656e646572206163636f756e742e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865204449442c206275742072657175697265732061207369676e6564206f726967696e2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6872656d6f76655f6163636f756e745f6173736f63696174696f6e04011c6163636f756e74090101444c696e6b61626c654163636f756e74496400032c110152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742049442e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865206163636f756e742049442c2062757420746865206173736f63696174656420444944c46e6565647320746f206d617463682074686520444944207468617420617574686f72697a656420746869732063616c6c2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697404011c6163636f756e74090101444c696e6b61626c654163636f756e74496400042c090152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742e20546869732063616c6c2063616e206f6e6c79f862652063616c6c65642066726f6d20746865206465706f736974206f776e65722e20546865207265736572766564206465706f7369742077696c6c2062651866726565642e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129582d2052656164733a20436f6e6e6563746564446964735c2d205772697465733a20436f6e6e6563746564446964732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204011c6163636f756e74090101444c696e6b61626c654163636f756e74496400051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00d8546865207375626a656374206f66207468652063616c6c206d757374206265206c696e6b656420746f20746865206163636f756e742ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404011c6163636f756e74090101444c696e6b61626c654163636f756e74496400060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e1c6d6967726174650401146c696d69741c010c75333200fe18e8457865637574657320746865206b65792074797065206d6967726174696f6e206f66207468652060436f6e6e6563746564446964736020616e64010160436f6e6e65637465644163636f756e7473602073746f726167657320627920636f6e76657274696e672074686520676976656e20604163636f756e74496460f0696e746f20604c696e6b61626c654163636f756e744964284163636f756e74496429602e204f6e636520616c6c206b6579732068617665206265656efc6d696772617465642c20746865206d6967726174696f6e20697320646f6e6520616e6420746869732063616c6c2077696c6c2062652066696c74657265642e007043616e2062652063616c6c656420627920616e79206f726967696e2e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea9040c4470616c6c65745f6469645f6c6f6f6b7570646173736f63696174655f6163636f756e745f726571756573745c4173736f63696174654163636f756e745265717565737400010820506f6c6b61646f74080000012c4163636f756e74496433320000ad0401384d756c74695369676e617475726500000020457468657265756d08000d01012c4163636f756e74496432300000b1040144457468657265756d5369676e617475726500010000ad04082873705f72756e74696d65384d756c74695369676e617475726500010c1c4564323535313904003d040148656432353531393a3a5369676e61747572650000001c53723235353139040045040148737232353531393a3a5369676e617475726500010014456364736104004904014065636473613a3a5369676e617475726500020000b1040c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e7444457468657265756d5369676e6174757265000004004904014065636473613a3a5369676e61747572650000b5040c4470616c6c65745f776562335f6e616d65731870616c6c65741043616c6c04045400011c14636c61696d0401106e616d651d010140576562334e616d65496e7075743c543e00003ce841737369676e2074686520737065636966696564206e616d6520746f20746865206f776e65722061732073706563696669656420696e207468651c6f726967696e2e000d01546865206e616d65206d757374206e6f74206861766520616c7265616479206265656e20636c61696d656420627920736f6d656f6e6520656c736520616e6420746865a06f776e6572206d757374206e6f7420616c7265616479206f776e20616e6f74686572206e616d652e00dc456d6974732060576562334e616d65436c61696d65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f28312909012d2052656164733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b20617661696c61626c652063757272656e6379582020636865636b202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f73697420726573657276652c23203c2f7765696768743e4072656c656173655f62795f6f776e6572000130a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e00cc546865206f726967696e206d75737420626520746865206f776e6572206f662074686520737065636966696564206e616d652e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204e616d65732073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e3c7265636c61696d5f6465706f7369740401106e616d651d010140576562334e616d65496e7075743c543e000230a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e000101546865206f726967696e206d75737420626520746865206163636f756e742074686174207061696420666f7220746865206e616d652773206465706f7369742e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204f776e65722073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e0c62616e0401106e616d651d010140576562334e616d65496e7075743c543e0003402c42616e2061206e616d652e00f4412062616e6e6564206e616d652063616e6e6f7420626520636c61696d656420627920616e796f6e652e20546865206e616d652773206465706f7369748869732072657475726e656420746f20746865206f726967696e616c2070617965722e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00d8456d6974732060576562334e616d6542616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129f02d2052656164733a2042616e6e65642c204f776e65722c204e616d65732073746f7261676520656e7472696573202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b2063757272656e6379206465706f73697424202072656c656173652c23203c2f7765696768743e14756e62616e0401106e616d651d010140576562334e616d65496e7075743c543e00043834556e62616e2061206e616d652e00704d616b652061206e616d6520636c61696d61626c6520616761696e2e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00e0456d6974732060576562334e616d65556e62616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129b02d2052656164733a2042616e6e65642073746f7261676520656e747279202b206f726967696e20636865636bb82d205772697465733a2042616e6e65642073746f7261676520656e747279206465706f7369742072656c656173652c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657200051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00e8546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f662074686520776562336e616d652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f7369740401286e616d655f696e7075741d010140576562334e616d65496e7075743c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb9040c487075626c69635f63726564656e7469616c731870616c6c65741043616c6c04045400011c0c61646404012863726564656e7469616cbd040164426f783c496e70757443726564656e7469616c4f663c543e3e000018a852656769737465722061206e6577207075626c69632063726564656e7469616c206f6e20636861696e2e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c2077697468207468652073616d65206964656e74696669657220616c72656164798465786973747320666f722074686520737065636966696564207375626a6563742e0064456d697473206043726564656e7469616c53746f726564602e187265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000120705265766f6b65732061207075626c69632063726564656e7469616c2e001101496620612063726564656e7469616c2077617320616c7265616479207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f207265766f6b65207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c5265766f6b6564602e20756e7265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00022478556e7265766f6b65732061207075626c69632063726564656e7469616c2e000101496620612063726564656e7469616c20776173206e6f74207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e00d8546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f20756e7265766f6b65207468652c63726564656e7469616c2e0070456d697473206043726564656e7469616c556e7265766f6b6564602e1872656d6f766508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000344fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d2074686518636861696e2e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f2072656d6f7665207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c52656d6f766564602e3c7265636c61696d5f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000448fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d20746865ac636861696e20616e642072657475726e7320746865206465706f73697420746f206974732070617965722e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000d01546865206469737061746368206f726967696e206d75737420626520746865206f776e6572206f6620746865206465706f7369742c2068656e6365206e6f74207468655863726564656e7469616c27732061747465737465722e0068456d697473206043726564656e7469616c52656d6f766564602e506368616e67655f6465706f7369745f6f776e657204013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00f0546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652063726564656e7469616c2ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ebd040c487075626c69635f63726564656e7469616c732c63726564656e7469616c732843726564656e7469616c1024437479706548617368012c445375626a6563744964656e74696669657201c10418436c61696d7301c50434416363657373436f6e74726f6c0129040010012863747970655f686173682c012443747970654861736800011c7375626a656374c10401445375626a6563744964656e746966696572000118636c61696d73c5040118436c61696d73000134617574686f72697a6174696f6e250401544f7074696f6e3c416363657373436f6e74726f6c3e0000c104101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000c504101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000c9040c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c65741043616c6c0404540001104c7365745f76616c69646174696f6e5f6461746104011064617461cd04015450617261636861696e496e686572656e744461746100002480536574207468652063757272656e742076616c69646174696f6e20646174612e004101546869732073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e887068617365206966207468652063616c6c20776173206e6f7420696e766f6b65642e00d0546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e7460002101417320612073696465206566666563742c20746869732066756e6374696f6e207570677261646573207468652063757272656e742076616c69646174696f6e2066756e6374696f6e8469662074686520617070726f7072696174652074696d652068617320636f6d652e607375646f5f73656e645f7570776172645f6d65737361676504011c6d6573736167653001345570776172644d65737361676500010044617574686f72697a655f75706772616465040124636f64655f686173682c011c543a3a4861736800020060656e6163745f617574686f72697a65645f75706772616465040110636f646530011c5665633c75383e000300042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ecd04089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e745450617261636861696e496e686572656e7444617461000010013c76616c69646174696f6e5f64617461d104015c50657273697374656456616c69646174696f6e4461746100014472656c61795f636861696e5f7374617465d904015473705f747269653a3a53746f7261676550726f6f66000144646f776e776172645f6d65737361676573e104016c5665633c496e626f756e64446f776e776172644d6573736167653e00014c686f72697a6f6e74616c5f6d65737361676573e90401a442547265654d61703c5061726149642c205665633c496e626f756e6448726d704d6573736167653e3e0000d1040c4c706f6c6b61646f745f7072696d6974697665730876325c50657273697374656456616c69646174696f6e44617461080448012c044e011c0010012c706172656e745f68656164d5040120486561644461746100014c72656c61795f706172656e745f6e756d6265721c01044e00016472656c61795f706172656e745f73746f726167655f726f6f742c0104480001306d61785f706f765f73697a651c010c7533320000d5040c48706f6c6b61646f745f70617261636861696e287072696d6974697665732048656164446174610000040030011c5665633c75383e0000d9040c1c73705f747269653473746f726167655f70726f6f663053746f7261676550726f6f660000040128747269655f6e6f646573dd04014442547265655365743c5665633c75383e3e0000dd040420425472656553657404045401300004009502000000e104000002e50400e5040860706f6c6b61646f745f636f72655f7072696d69746976657358496e626f756e64446f776e776172644d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d62657200010c6d736730013c446f776e776172644d6573736167650000e904042042547265654d617008044b019d01045601ed04000400f504000000ed04000002f10400f1040860706f6c6b61646f745f636f72655f7072696d69746976657348496e626f756e6448726d704d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d6265720001106461746130015073705f7374643a3a7665633a3a5665633c75383e0000f504000002f90400f904000004089d01ed0400fd040c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c65741043616c6c04045400012448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d697424011857656967687400003484536572766963657320612073696e676c65206f7665727765696768742058434d2e00c02d20606f726967696e603a204d75737420706173732060457865637574654f7665727765696768744f726967696e602ed42d2060696e646578603a2054686520696e646578206f6620746865206f7665727765696768742058434d20746f20736572766963650d012d20607765696768745f6c696d6974603a2054686520616d6f756e74206f662077656967687420746861742058434d20657865637574696f6e206d61792074616b652e001c4572726f72733a5d012d20604261644f766572776569676874496e646578603a2058434d20756e6465722060696e64657860206973206e6f7420666f756e6420696e2074686520604f766572776569676874602073746f72616765206d61702e45012d206042616458636d603a2058434d20756e6465722060696e646578602063616e6e6f742062652070726f7065726c79206465636f64656420696e746f20612076616c69642058434d20666f726d61742e09012d20605765696768744f7665724c696d6974603a2058434d20657865637574696f6e206d617920757365206772656174657220607765696768745f6c696d6974602e001c4576656e74733a8c2d20604f7665727765696768745365727669636564603a204f6e20737563636573732e5473757370656e645f78636d5f657865637574696f6e00010c490153757370656e647320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652c207265676172646c657373206f66207468652073656e6465722773206f726967696e2e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e50726573756d655f78636d5f657865637574696f6e000214b8526573756d657320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652e003d014e6f7465207468617420746869732066756e6374696f6e20646f65736e2774206368616e67652074686520737461747573206f662074686520696e2f6f757420626f756e64206368616e6e656c732e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e607570646174655f73757370656e645f7468726573686f6c6404010c6e65771c010c75333200031499014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e2074686520717565756520666f7220746865206f74686572207369646520746f20626520746f6c6420746f5873757370656e642074686569722073656e64696e672e00742d20606f726967696e603a204d75737420706173732060526f6f74602ee82d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e73757370656e645f76616c756560547570646174655f64726f705f7468726573686f6c6404010c6e65771c010c75333200041495014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e207468652071756575652061667465722077686963682077652064726f7020616e792066757274686572686d657373616765732066726f6d20746865206368616e6e656c2e00742d20606f726967696e603a204d75737420706173732060526f6f74602eec2d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e64726f705f7468726573686f6c64605c7570646174655f726573756d655f7468726573686f6c6404010c6e65771c010c75333200051491014f76657277726974657320746865206e756d626572206f66207061676573206f66206d6573736167657320776869636820746865207175657565206d757374206265207265647563656420746f206265666f7265206974207369676e616c732074686174ec6d6573736167652073656e64696e67206d6179207265636f6d6d656e636520616674657220697420686173206265656e2073757370656e6465642e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e726573756d655f7468726573686f6c64605c7570646174655f7468726573686f6c645f77656967687404010c6e657724011857656967687400061049014f7665727772697465732074686520616d6f756e74206f662072656d61696e696e672077656967687420756e6465722077686963682077652073746f702070726f63657373696e67206d657373616765732e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7468726573686f6c645f77656967687460707570646174655f7765696768745f72657374726963745f646563617904010c6e657724011857656967687400071445014f7665727772697465732074686520737065656420746f2077686963682074686520617661696c61626c652077656967687420617070726f616368657320746865206d6178696d756d207765696768742ea50141206c6f776572206e756d62657220726573756c747320696e2061206661737465722070726f6772657373696f6e2e20412076616c7565206f662031206d616b65732074686520656e746972652077656967687420617661696c61626c6520696e697469616c6c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e0d012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7765696768745f72657374726963745f6465636179602e847570646174655f78636d705f6d61785f696e646976696475616c5f77656967687404010c6e657724011857656967687400081429014f766572777269746520746865206d6178696d756d20616d6f756e74206f662077656967687420616e7920696e646976696475616c206d657373616765206d617920636f6e73756d652e71014d657373616765732061626f766520746869732077656967687420676f20696e746f20746865206f76657277656967687420717565756520616e64206d6179206f6e6c79206265207365727669636564206578706c696369746c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e21012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e78636d705f6d61785f696e646976696475616c5f776569676874602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e01050c2870616c6c65745f78636d1870616c6c65741043616c6c0404540001281073656e64080110646573746902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011c6d65737361676505050154426f783c56657273696f6e656458636d3c28293e3e0000003c74656c65706f72745f617373657473100110646573746902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172796902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747331020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c75333200013c110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e5c726573657276655f7472616e736665725f617373657473100110646573746902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172796902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747331020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320002404d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e1c6578656375746508011c6d657373616765350501c0426f783c56657273696f6e656458636d3c3c5420617320537973436f6e6669673e3a3a52756e74696d6543616c6c3e3e0001286d61785f77656967687424011857656967687400032cd04578656375746520616e2058434d206d6573736167652066726f6d2061206c6f63616c2c207369676e65642c206f726967696e2e004d01416e206576656e74206973206465706f736974656420696e6469636174696e67207768657468657220606d73676020636f756c6420626520657865637574656420636f6d706c6574656c79206f72206f6e6c79287061727469616c6c792e006d014e6f206d6f7265207468616e20606d61785f776569676874602077696c6c206265207573656420696e2069747320617474656d7074656420657865637574696f6e2e2049662074686973206973206c657373207468616e2074686559016d6178696d756d20616d6f756e74206f6620776569676874207468617420746865206d65737361676520636f756c642074616b6520746f2062652065786563757465642c207468656e206e6f20657865637574696f6e54617474656d70742077696c6c206265206d6164652e006d014e4f54453a2041207375636365737366756c2072657475726e20746f207468697320646f6573202a6e6f742a20696d706c7920746861742074686520606d73676020776173206578656375746564207375636365737366756c6c79cc746f20636f6d706c6574696f6e3b206f6e6c792074686174202a736f6d652a206f66206974207761732065786563757465642e44666f7263655f78636d5f76657273696f6e0801206c6f636174696f6ea9010148426f783c4d756c74694c6f636174696f6e3e00012c78636d5f76657273696f6e1c012858636d56657273696f6e00041849014578746f6c6c2074686174206120706172746963756c61722064657374696e6174696f6e2063616e20626520636f6d6d756e6963617465642077697468207468726f756768206120706172746963756c61723c76657273696f6e206f662058434d2e00642d20606f726967696e603a204d75737420626520526f6f742ed82d20606c6f636174696f6e603a205468652064657374696e6174696f6e2074686174206973206265696e67206465736372696265642e11012d206078636d5f76657273696f6e603a20546865206c61746573742076657273696f6e206f662058434d207468617420606c6f636174696f6e6020737570706f7274732e64666f7263655f64656661756c745f78636d5f76657273696f6e0401446d617962655f78636d5f76657273696f6eb10301484f7074696f6e3c58636d56657273696f6e3e0005145901536574206120736166652058434d2076657273696f6e20287468652076657273696f6e20746861742058434d2073686f756c6420626520656e636f646564207769746820696620746865206d6f737420726563656e74b476657273696f6e20612064657374696e6174696f6e2063616e2061636365707420697320756e6b6e6f776e292e00642d20606f726967696e603a204d75737420626520526f6f742e39012d20606d617962655f78636d5f76657273696f6e603a205468652064656661756c742058434d20656e636f64696e672076657273696f6e2c206f7220604e6f6e656020746f2064697361626c652e78666f7263655f7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e6902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000610390141736b2061206c6f636174696f6e20746f206e6f7469667920757320726567617264696e672074686569722058434d2076657273696f6e20616e6420616e79206368616e67657320746f2069742e00642d20606f726967696e603a204d75737420626520526f6f742e59012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f2077686963682077652073686f756c642073756273637269626520666f722058434d2076657273696f6e206e6f74696669636174696f6e732e80666f7263655f756e7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e6902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e0007184901526571756972652074686174206120706172746963756c61722064657374696e6174696f6e2073686f756c64206e6f206c6f6e676572206e6f7469667920757320726567617264696e6720616e792058434d4076657273696f6e206368616e6765732e00642d20606f726967696e603a204d75737420626520526f6f742e3d012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f207768696368207765206172652063757272656e746c79207375627363726962656420666f722058434d2076657273696f6ea820206e6f74696669636174696f6e73207768696368207765206e6f206c6f6e676572206465736972652e7c6c696d697465645f726573657276655f7472616e736665725f617373657473140110646573746902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172796902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747331020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69742d02012c5765696768744c696d69740008484d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e5c6c696d697465645f74656c65706f72745f617373657473140110646573746902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172796902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747331020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69742d02012c5765696768744c696d6974000944110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e0505080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010808563204000905015076323a3a58636d3c52756e74696d6543616c6c3e0002000856330400cd01015076333a3a58636d3c52756e74696d6543616c6c3e0003000009050c0c78636d0876320c58636d042c52756e74696d6543616c6c000004000d0501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e00000d0500000211050011050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404003502012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404003502012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404003502012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e736515050120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e7366657241737365740801186173736574733502012c4d756c746941737365747300012c62656e6566696369617279450201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574733502012c4d756c746941737365747300011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065150201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c19020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b501010c7533320001406d61785f6d6573736167655f73697a65b501010c7533320001306d61785f6361706163697479b501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b501010c75333200011873656e646572b501010c753332000124726563697069656e74b501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e040049020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374450201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473250501404d756c7469417373657446696c7465720001286d61785f617373657473b501010c75333200012c62656e6566696369617279450201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473250501404d756c7469417373657446696c7465720001286d61785f617373657473b501010c75333200011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e000e003445786368616e6765417373657408011067697665250501404d756c7469417373657446696c74657200011c726563656976653502012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473250501404d756c7469417373657446696c74657200011c72657365727665450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473250501404d756c7469417373657446696c74657200011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374450201344d756c74694c6f636174696f6e000118617373657473250501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e080110666565733d0201284d756c746941737365740001307765696768745f6c696d69743105012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204000905014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804000905014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574733502012c4d756c74694173736574730001187469636b6574450201344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b000015050c0c78636d08763220526573706f6e7365000110104e756c6c0000001841737365747304003502012c4d756c74694173736574730001003c457865637574696f6e526573756c740400190501504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e04001c013873757065723a3a56657273696f6e00030000190504184f7074696f6e040454011d050108104e6f6e6500000010536f6d6504001d0500000100001d05000004081c2105002105100c78636d08763218747261697473144572726f72000168204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300444d756c74694c6f636174696f6e46756c6c000400684d756c74694c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c7536340015004c556e68616e646c656458636d56657273696f6e001600485765696768744c696d69745265616368656404001001185765696768740017001c426172726965720018004c5765696768744e6f74436f6d70757461626c65001900002505100c78636d087632286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e69746504003502012c4d756c74694173736574730000001057696c6404002905013857696c644d756c74694173736574000100002905100c78636d087632286d756c746961737365743857696c644d756c746941737365740001080c416c6c00000014416c6c4f6608010869644102011c4173736574496400010c66756e2d05013c57696c6446756e676962696c697479000100002d05100c78636d087632286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c650001000031050c0c78636d0876322c5765696768744c696d697400010824556e6c696d697465640000001c4c696d69746564040028010c753634000100003505080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010808563204003905015076323a3a58636d3c52756e74696d6543616c6c3e00020008563304004905015076333a3a58636d3c52756e74696d6543616c6c3e0003000039050c0c78636d0876320c58636d042c52756e74696d6543616c6c000004003d0501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e00003d0500000241050041050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404003502012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404003502012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404003502012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e736515050120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e7366657241737365740801186173736574733502012c4d756c746941737365747300012c62656e6566696369617279450201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574733502012c4d756c746941737365747300011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065150201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c45050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b501010c7533320001406d61785f6d6573736167655f73697a65b501010c7533320001306d61785f6361706163697479b501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b501010c75333200011873656e646572b501010c753332000124726563697069656e74b501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e040049020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374450201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473250501404d756c7469417373657446696c7465720001286d61785f617373657473b501010c75333200012c62656e6566696369617279450201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473250501404d756c7469417373657446696c7465720001286d61785f617373657473b501010c75333200011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e000e003445786368616e6765417373657408011067697665250501404d756c7469417373657446696c74657200011c726563656976653502012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473250501404d756c7469417373657446696c74657200011c72657365727665450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473250501404d756c7469417373657446696c74657200011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374450201344d756c74694c6f636174696f6e000118617373657473250501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e080110666565733d0201284d756c746941737365740001307765696768745f6c696d69743105012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204003905014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804003905014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574733502012c4d756c74694173736574730001187469636b6574450201344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b000045050c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e000049050c0c78636d0876330c58636d041043616c6c000004004d0501585665633c496e737472756374696f6e3c43616c6c3e3e00004d0500000251050051050c0c78636d0876332c496e737472756374696f6e041043616c6c0001c034576974686472617741737365740400d901012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400d901012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400d901012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f696428011c51756572794964000120726573706f6e7365f5010120526573706f6e73650001286d61785f77656967687424011857656967687400011c71756572696572110201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e736665724173736574080118617373657473d901012c4d756c746941737365747300012c62656e6566696369617279a90101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473d901012c4d756c746941737365747300011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64150201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737424011857656967687400011063616c6c4505014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b501010c7533320001406d61785f6d6573736167655f73697a65b501010c7533320001306d61785f6361706163697479b501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b501010c75333200011873656e646572b501010c753332000124726563697069656e74b501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400ad010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f7204001d0201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473210201404d756c7469417373657446696c74657200012c62656e6566696369617279a90101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473210201404d756c7469417373657446696c74657200011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e000e003445786368616e676541737365740c011067697665210201404d756c7469417373657446696c74657200011077616e74d901012c4d756c746941737365747300011c6d6178696d616ca40110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473210201404d756c7469417373657446696c74657200011c72657365727665a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473210201404d756c7469417373657446696c74657200011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f1d0201445175657279526573706f6e7365496e666f000118617373657473210201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573e10101284d756c746941737365740001307765696768745f6c696d69742d02012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204004905012458636d3c43616c6c3e0015002c536574417070656e64697804004905012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473d901012c4d756c74694173736574730001187469636b6574a90101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f776569676874240118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e41737365740400d901012c4d756c7469417373657473001c002c45787065637441737365740400d901012c4d756c7469417373657473001d00304578706563744f726967696e0400110201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400f90101504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e7361637453746174757304000d0201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6530011c5665633c75383e000134726573706f6e73655f696e666f1d0201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578b501010c7533320001106e616d6530011c5665633c75383e00012c6d6f64756c655f6e616d6530011c5665633c75383e00012c63726174655f6d616a6f72b501010c75333200013c6d696e5f63726174655f6d696e6f72b501010c753332002200505265706f72745472616e7361637453746174757304001d0201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400b10101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726bbd0101244e6574776f726b496400012c64657374696e6174696f6ead010154496e746572696f724d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e002600244c6f636b41737365740801146173736574e10101284d756c74694173736574000120756e6c6f636b6572a90101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574e10101284d756c74694173736574000118746172676574a90101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574e10101284d756c746941737365740001146f776e6572a90101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574e10101284d756c746941737365740001186c6f636b6572a90101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177a40110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400a90101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69742d02012c5765696768744c696d6974000130636865636b5f6f726967696e110201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f000055050c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c65741043616c6c04045400010448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d6974240118576569676874000004905365727669636520612073696e676c65206f766572776569676874206d6573736167652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e59050000029d03005d0500000408610518006105101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540100045300000400250301185665633c543e000065050c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d62657201102050726f706f73616c01a1031c42616c616e6365011801081c4f6e676f696e670400690501c05265666572656e64756d5374617475733c426c6f636b4e756d6265722c2050726f706f73616c2c2042616c616e63653e0000002046696e6973686564080120617070726f766564a40110626f6f6c00010c656e6410012c426c6f636b4e756d6265720001000069050c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d62657201102050726f706f73616c01a1031c42616c616e636501180014010c656e6410012c426c6f636b4e756d62657200012070726f706f73616ca103012050726f706f73616c0001247468726573686f6c64940134566f74655468726573686f6c6400011464656c617910012c426c6f636b4e756d62657200011474616c6c796d05013854616c6c793c42616c616e63653e00006d050c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e6365000071050c4070616c6c65745f64656d6f637261637910766f746518566f74696e67101c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d6265720110204d6178566f746573000108184469726563740c0114766f746573750501f4426f756e6465645665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e738105015044656c65676174696f6e733c42616c616e63653e0001147072696f728505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6ead030128436f6e76696374696f6e00012c64656c65676174696f6e738105015044656c65676174696f6e733c42616c616e63653e0001147072696f728505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e000100007505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540179050453000004007d0501185665633c543e00007905000004081c98007d0500000279050081050c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e6365000085050c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201101c42616c616e6365011800080010012c426c6f636b4e756d626572000018011c42616c616e63650000890500000408a10394008d05000004081061050091050c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f7204045400015c2056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365445265666572656e64756d496e76616c696400090484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d2c4e6f6e6557616974696e67000a04504e6f2070726f706f73616c732077616974696e67204e6f74566f746572000b04c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e000c04c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67000d0488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473000e04fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000f04a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740010085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001104d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650012049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400130450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001404804d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c546f6f4d616e79001504804d6178696d756d206e756d626572206f66206974656d7320726561636865642e3c566f74696e67506572696f644c6f7700160454566f74696e6720706572696f6420746f6f206c6f7704b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909099505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c045300000400790201185665633c543e00009905084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572011000140114696e6465781c013450726f706f73616c496e6465780001247468726573686f6c641c012c4d656d626572436f756e7400011061796573250301385665633c4163636f756e7449643e0001106e617973250301385665633c4163636f756e7449643e00010c656e6410012c426c6f636b4e756d62657200009d050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a105101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c045300000400790201185665633c543e0000a5050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a905101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540100045300000400250301185665633c543e0000ad050c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909b105083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e63650000b505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454011c045300000400350301185665633c543e0000b9050c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c000004001c010c7533320000bd0504184f7074696f6e04045401180108104e6f6e6500000010536f6d650400180000010000c10508346672616d655f737570706f72742050616c6c6574496400000400f101011c5b75383b20385d0000c5050c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900011470496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0003084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640004047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e04784572726f7220666f72207468652074726561737572792070616c6c65742ec9050c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909cd05101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401fd03045300000400d10501185665633c543e0000d105000002fd0300d505083870616c6c65745f76657374696e672052656c656173657300010808563000000008563100010000d9050c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742edd05101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401e105045300000400e90501185665633c543e0000e10504184f7074696f6e04045401e5050108104e6f6e6500000010536f6d650400e5050000010000e505084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c01a1032c426c6f636b4e756d62657201103450616c6c6574734f726967696e01d903244163636f756e7449640100001401206d617962655f6964cc01304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6ca103011043616c6c0001386d617962655f706572696f646963050401944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696ed903013450616c6c6574734f726967696e0000e905000002e10500ed050c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909f10500000408f5051800f505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401f905045300000400fd0501185665633c543e0000f905083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501d42c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065d4012450726f78795479706500011464656c617910012c426c6f636b4e756d6265720000fd05000002f90500010600000408050618000506101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540109060453000004000d0601185665633c543e00000906083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e74496401001048617368012c2c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173682c01104861736800011868656967687410012c426c6f636b4e756d62657200000d0600000209060011060c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909091506083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f73697419060150284163636f756e7449642c2042616c616e63652900010c6c656e1c010c753332000000245265717565737465640c011c6465706f7369741d0601704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e741c010c75333200010c6c656eb103012c4f7074696f6e3c7533323e000100001906000004080018001d0604184f7074696f6e0404540119060108104e6f6e6500000010536f6d650400190600000100002106000004082c1c002506101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000029060c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400011818546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909092d060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909093106082c70616c6c65745f746970731c4f70656e54697010244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d62657201101048617368012c001c0118726561736f6e2c01104861736800010c77686f0001244163636f756e74496400011866696e6465720001244163636f756e74496400011c6465706f73697418011c42616c616e6365000118636c6f7365733506014c4f7074696f6e3c426c6f636b4e756d6265723e00011074697073390601645665633c284163636f756e7449642c2042616c616e6365293e00012c66696e646572735f666565a40110626f6f6c0000350604184f7074696f6e04045401100108104e6f6e6500000010536f6d65040010000001000039060000021906003d060c3473705f61726974686d65746963287065725f7468696e67731c50657263656e74000004000801087538000041060c2c70616c6c65745f746970731870616c6c6574144572726f7208045400044900011830526561736f6e546f6f4269670000048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e00010488546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e5469700002046054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e6465720003041d01546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e0004042901546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d61747572650005043101546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090945060c1463747970652c63747970655f656e747279284374797065456e747279081c43726561746f7201002c426c6f636b4e756d62657201100008011c63726561746f7200011c43726561746f72000128637265617465645f617410012c426c6f636b4e756d626572000049060c1463747970651870616c6c6574144572726f7204045400010c204e6f74466f756e64000004985468657265206973206e6f20435479706520776974682074686520676976656e20686173682e34416c72656164794578697374730001046454686520435479706520616c7265616479206578697374732e3c556e61626c65546f506179466565730002040d0154686520706179696e67206163636f756e742077617320756e61626c6520746f2070617920746865206665657320666f72206372656174696e6720612063747970652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909094d060c2c6174746573746174696f6e306174746573746174696f6e73484174746573746174696f6e44657461696c73040454000014012863747970655f686173682c01384374797065486173684f663c543e000120617474657374657200013441747465737465724f663c543e000140617574686f72697a6174696f6e5f6964f001704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e00011c7265766f6b6564a40110626f6f6c00011c6465706f736974510601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e000051060c306b696c745f737570706f72741c6465706f7369741c4465706f736974081c4163636f756e7401001c42616c616e63650118000801146f776e657200011c4163636f756e74000118616d6f756e7418011c42616c616e63650000550600000408f42c0059060c2c6174746573746174696f6e1870616c6c6574144572726f720404540001183c416c726561647941747465737465640000080901546865726520697320616c726561647920616e206174746573746174696f6e2077697468207468652073616d6520636c61696d20686173682073746f726564206f6e18636861696e2e38416c72656164795265766f6b6564000104a4546865206174746573746174696f6e2068617320616c7265616479206265656e207265766f6b65642e204e6f74466f756e64000204c04e6f206174746573746174696f6e206f6e20636861696e206d61746368696e672074686520636c61696d20686173682e3443547970654d69736d61746368000308fc546865206174746573746174696f6e20435479706520646f6573206e6f74206d61746368207468652043547970652073706563696669656420696e207468656864656c65676174696f6e2068696572617263687920726f6f742e344e6f74417574686f72697a6564000404f05468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f206368616e676520746865206174746573746174696f6e2e804d617844656c6567617465644174746573746174696f6e73457863656564656400050cf4546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732068617320616c7265616479206265656e05017265616368656420666f722074686520636f72726573706f6e64696e672064656c65676174696f6e2069642073756368207468617420616e6f74686572206f6e654063616e6e6f742062652061646465642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909095d060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368793844656c65676174696f6e4e6f646504045400001401446869657261726368795f726f6f745f69642c015444656c65676174696f6e4e6f646549644f663c543e000118706172656e74610601744f7074696f6e3c44656c65676174696f6e4e6f646549644f663c543e3e0001206368696c6472656e650601d8426f756e64656442547265655365743c44656c65676174696f6e4e6f646549644f663c543e2c20543a3a4d61784368696c6472656e3e00011c64657461696c736d06015044656c65676174696f6e44657461696c733c543e00011c6465706f736974510601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e0000610604184f7074696f6e040454012c0108104e6f6e6500000010536f6d6504002c00000100006506101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c0453000004006906012c42547265655365743c543e0000690604204254726565536574040454012c00040079020000006d060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368794444656c65676174696f6e44657461696c7304045400000c01146f776e657200014044656c656761746f7249644f663c543e00011c7265766f6b6564a40110626f6f6c00012c7065726d697373696f6e73fc012c5065726d697373696f6e73000071060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368796844656c65676174696f6e48696572617263687944657461696c73040454000004012863747970655f686173682c01384374797065486173684f663c543e000075060c2864656c65676174696f6e1870616c6c6574144572726f720404540001585c44656c65676174696f6e416c72656164794578697374730000041101546865726520697320616c726561647920612064656c65676174696f6e206e6f64652077697468207468652073616d652049442073746f726564206f6e20636861696e2e60496e76616c696444656c65676174655369676e617475726500010805015468652064656c65676174652773207369676e617475726520666f72207468652064656c65676174696f6e206372656174696f6e206f7065726174696f6e20697320696e76616c69642e4844656c65676174696f6e4e6f74466f756e64000204c04e6f2064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e4044656c65676174654e6f74466f756e64000304b84e6f2064656c656761746520776974682074686520676976656e2049442073746f726564206f6e20636861696e2e58486965726172636879416c7265616479457869737473000404f8546865726520697320616c72656164792061206869657261726368792077697468207468652073616d652049442073746f726564206f6e20636861696e2e444869657261726368794e6f74466f756e64000504bc4e6f2068696572617263687920776974682074686520676976656e2049442073746f726564206f6e20636861696e2e544d617853656172636844657074685265616368656400060409014d6178206e756d626572206f66206e6f64657320636865636b656420776974686f757420766572696679696e672074686520676976656e20636f6e646974696f6e2e684e6f744f776e65724f66506172656e7444656c65676174696f6e000708f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6ef462656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20706172656e74206e6f64652e744e6f744f776e65724f6644656c65676174696f6e486965726172636879000808f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6eec62656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20726f6f74206e6f64652e60506172656e7444656c65676174696f6e4e6f74466f756e64000904dc4e6f20706172656e742064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e5c506172656e7444656c65676174696f6e5265766f6b6564000a04c854686520706172656e742064656c65676174696f6e206861732070726576696f75736c79206265656e207265766f6b65642e58556e617574686f72697a65645265766f636174696f6e000b04fc5468652064656c65676174696f6e207265766f6b6572206973206e6f7420616c6c6f77656420746f207265766f6b65207468652064656c65676174696f6e2e4c556e617574686f72697a656452656d6f76616c000c04ec5468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f2072656d6f7665207468652064656c65676174696f6e2e58556e617574686f72697a656444656c65676174696f6e000d04fc5468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f20637265617465207468652064656c65676174696f6e2e3041636365737344656e696564000e04f0546865206f7065726174696f6e207761736e277420616c6c6f7765642062656361757365206f6620696e73756666696369656e74207269676874732e6045786365656465645265766f636174696f6e426f756e6473000f080d014d6178206e756d626572206f66207265766f636174696f6e7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7238746865206f7065726174696f6e2e54457863656564656452656d6f76616c426f756e647300100811014d6178206e756d626572206f662072656d6f76616c7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7220746865286f7065726174696f6e2e584d61785265766f636174696f6e73546f6f4c61726765001104f8546865206d6178206e756d626572206f66207265766f636174696f6e206578636565647320746865206c696d697420666f72207468652070616c6c65742e4c4d617852656d6f76616c73546f6f4c61726765001204f0546865206d6178206e756d626572206f662072656d6f76616c73206578636565647320746865206c696d697420666f72207468652070616c6c65742e5c4d6178506172656e74436865636b73546f6f4c617267650013040501546865206d6178206e756d626572206f6620706172656e7420636865636b73206578636565647320746865206c696d697420666f72207468652070616c6c65742e20496e7465726e616c001404f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e4c4d61784368696c6472656e4578636565646564001508dc546865206d6178206e756d626572206f6620616c6c206368696c6472656e20686173206265656e207265616368656420666f722074686578636f72726573706f6e64696e672064656c65676174696f6e206e6f64652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090979060c0c6469642c6469645f64657461696c732844696444657461696c7304045400001c014861757468656e7469636174696f6e5f6b65792c01284b657949644f663c543e0001486b65795f61677265656d656e745f6b6579737d0601604469644b657941677265656d656e744b65795365743c543e00013864656c65676174696f6e5f6b6579610601484f7074696f6e3c4b657949644f663c543e3e00013c6174746573746174696f6e5f6b6579610601484f7074696f6e3c4b657949644f663c543e3e00012c7075626c69635f6b657973810601484469645075626c69634b65794d61703c543e00013c6c6173745f74785f636f756e74657210010c75363400011c6465706f736974510601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e00007d06101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c0453000004006906012c42547265655365743c543e00008106101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b012c04560185060453000004008d06013842547265654d61703c4b2c20563e000085060c0c6469642c6469645f64657461696c734c4469645075626c69634b657944657461696c73042c426c6f636b4e756d62657201100008010c6b6579890601304469645075626c69634b6579000130626c6f636b5f6e756d62657210012c426c6f636b4e756d626572000089060c0c6469642c6469645f64657461696c73304469645075626c69634b6579000108545075626c6963566572696669636174696f6e4b657904006d040148446964566572696669636174696f6e4b65790000004c5075626c6963456e6372797074696f6e4b657904005d040140446964456e6372797074696f6e4b6579000100008d06042042547265654d617008044b012c0456018506000400910600000091060000029506009506000004082c850600990600000408008504009d060c0c6469641870616c6c6574144572726f7204045400016c58496e76616c69645369676e6174757265466f726d6174000008050154686520444944206f7065726174696f6e207369676e6174757265206973206e6f7420696e2074686520666f726d61742074686520766572696669636174696f6e306b657920657870656374732e40496e76616c69645369676e6174757265000108f854686520444944206f7065726174696f6e207369676e617475726520697320696e76616c696420666f7220746865207061796c6f616420616e642074686568766572696669636174696f6e206b65792070726f76696465642e34416c7265616479457869737473000204f85468652044494420776974682074686520676976656e206964656e74696669657220697320616c72656164792070726573656e74206f6e20636861696e2e204e6f74466f756e64000304d44e6f2044494420776974682074686520676976656e206964656e7469666965722069732070726573656e74206f6e20636861696e2e5c566572696669636174696f6e4b65794e6f74466f756e6400040809014f6e65206f72206d6f726520766572696669636174696f6e206b657973207265666572656e63656420617265206e6f742073746f72656420696e2074686520736574546f6620766572696669636174696f6e206b6579732e30496e76616c69644e6f6e6365000504090154686520444944206f7065726174696f6e206e6f6e6365206973206e6f7420657175616c20746f207468652063757272656e7420444944206e6f6e6365202b20312e7c556e737570706f72746564446964417574686f72697a6174696f6e43616c6c000604e05468652063616c6c65642065787472696e73696320646f6573206e6f7420737570706f72742044494420617574686f7269736174696f6e2e6c496e76616c6964446964417574686f72697a6174696f6e43616c6c000708dc5468652063616c6c2068616420706172616d6574657273207468617420636f6e666c696374656420776974682065616368206f74686572406f72207765726520696e76616c69642e8c4d61784e65774b657941677265656d656e744b6579734c696d697445786365656465640008080d0141206e756d626572206f66206e6577206b65792061677265656d656e74206b6579732067726561746572207468616e20746865206d6178696d756d20616c6c6f77656448686173206265656e2070726f76696465642e544d61785075626c69634b65797345786365656465640009080501546865206d6178696d756d206e756d626572206f66207075626c6963206b65797320666f72207468697320444944206b6579206964656e74696669657220686173346265656e20726561636865642e6c4d61784b657941677265656d656e744b6579734578636565646564000a080501546865206d6178696d756d206e756d626572206f66206b65792061677265656d656e747320686173206265656e207265616368656420666f722074686520444944207375626a6563742e304261644469644f726967696e000b04bc546865204449442063616c6c20776173207375626d6974746564206279207468652077726f6e67206163636f756e74485472616e73616374696f6e45787069726564000c040d0154686520626c6f636b206e756d6265722070726f766964656420696e2061204449442d617574686f72697a6564206f7065726174696f6e20697320696e76616c69642e38416c726561647944656c65746564000d04b0546865204449442068617320616c7265616479206265656e2070726576696f75736c792064656c657465642e444e6f744f776e65724f664465706f736974000e04fc4f6e6c7920746865206f776e6572206f6620746865206465706f7369742063616e207265636c61696d206974732072657365727665642062616c616e63652e3c556e61626c65546f50617946656573000f04f0546865206f726967696e20697320756e61626c6520746f207265736572766520746865206465706f73697420616e642070617920746865206665652e6c4d61784e756d6265724f66536572766963657345786365656465640010041101546865206d6178696d756d206e756d626572206f66207365727669636520656e64706f696e747320666f7220612044494420686173206265656e2065786365656465642e684d61785365727669636549644c656e6774684578636565646564001104f0546865207365727669636520656e64706f696e7420494420657863656564656420746865206d6178696d756d20616c6c6f776564206c656e6774682e704d617853657276696365547970654c656e6774684578636565646564001208f84f6e65206f6620746865207365727669636520656e64706f696e7420747970657320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e884d61784e756d6265724f665479706573506572536572766963654578636565646564001308ec546865206d6178696d756d206e756d626572206f6620747970657320666f722061207365727669636520656e64706f696e7420686173206265656e2465786365656465642e6c4d61785365727669636555726c4c656e6774684578636565646564001408f44f6e65206f6620746865207365727669636520656e64706f696e742055524c7320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e844d61784e756d6265724f6655726c735065725365727669636545786365656465640015041101546865206d6178696d756d206e756d626572206f662055524c7320666f722061207365727669636520656e64706f696e7420686173206265656e2065786365656465642e5053657276696365416c726561647945786973747300160411014120736572766963652077697468207468652070726f766964656420494420697320616c72656164792070726573656e7420666f722074686520676976656e204449442e3c536572766963654e6f74466f756e6400170409014120736572766963652077697468207468652070726f7669646564204944206973206e6f742070726573656e7420756e6465722074686520676976656e204449442e58496e76616c696453657276696365456e636f64696e6700180409014f6e65206f6620746865207365727669636520656e64706f696e742064657461696c7320636f6e7461696e73206e6f6e2d415343494920636861726163746572732e7c4d617853746f726564456e64706f696e7473436f756e7445786365656465640019080d01546865206e756d626572206f66207365727669636520656e64706f696e74732073746f72656420756e6465722074686520444944206973206c6172676572207468616e88746865206e756d626572206f6620656e64706f696e747320746f2064656c6574652e20496e7465726e616c001a04f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a1060c4470616c6c65745f6469645f6c6f6f6b757044636f6e6e656374696f6e5f7265636f726440436f6e6e656374696f6e5265636f72640c344469644964656e74696669657201001c4163636f756e7401001c42616c616e636501180008010c6469640001344469644964656e74696669657200011c6465706f736974510601644465706f7369743c4163636f756e742c2042616c616e63653e0000a5060000040800090100a9060c4470616c6c65745f6469645f6c6f6f6b75703c6d6967726174696f6e5f7374617465384d6967726174696f6e537461746500010c10446f6e65000000285072655570677261646500010024557067726164696e670400ad06013c4d6978656453746f726167654b657900020000ad060c4470616c6c65745f6469645f6c6f6f6b7570286d6967726174696f6e733c4d6978656453746f726167654b6579000108085631040000012c4163636f756e74496433320000000856320400090101444c696e6b61626c654163636f756e74496400010000b1060c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144572726f72040454000114204e6f74466f756e640000047c546865206173736f63696174696f6e20646f6573206e6f742065786973742e344e6f74417574686f72697a65640001081101546865206f726967696e20776173206e6f7420616c6c6f77656420746f206d616e61676520746865206173736f63696174696f6e206265747765656e20746865204449444c616e6420746865206163636f756e742049442e344f7574646174656450726f6f66000204b454686520737570706c6965642070726f6f66206f66206f776e65727368697020776173206f757464617465642e44496e73756666696369656e7446756e64730003081101546865206163636f756e742068617320696e73756666696369656e742066756e647320616e642063616e277420706179207468652066656573206f72207265736572766530746865206465706f7369742e244d6967726174696f6e00040c010154686520436f6e6e65637465644163636f756e747320616e6420436f6e6e6563746564446964732073746f7261676520617265206f7574206f662073796e632e0011014e4f54453a20746869732077696c6c206f6e6c792062652072657475726e6564206966207468652073746f726167652068617320696e636f6e73697374656e636965732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909b5060c4470616c6c65745f776562335f6e616d657324776562335f6e616d6544576562334e616d654f776e6572736869700c144f776e657201001c4465706f7369740151062c426c6f636b4e756d6265720110000c01146f776e65720001144f776e6572000128636c61696d65645f617410012c426c6f636b4e756d62657200011c6465706f7369745106011c4465706f7369740000b9060c4470616c6c65745f776562335f6e616d65731870616c6c6574144572726f7204045400013044496e73756666696369656e7446756e64730000040d01546865207478207375626d697474657220646f6573206e6f74206861766520656e6f7567682066756e647320746f2070617920666f7220746865206465706f7369742e34416c7265616479457869737473000104dc54686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c7920636c61696d65642e204e6f74466f756e640002048854686520737065636966696564206e616d6520646f6573206e6f742065786973742e484f776e6572416c7265616479457869737473000304a054686520737065636966696564206f776e657220616c7265616479206f776e732061206e616d652e344f776e65724e6f74466f756e64000404ac54686520737065636966696564206f776e657220646f6573206e6f74206f776e20616e79206e616d65732e1842616e6e6564000508ec54686520737065636966696564206e616d6520686173206265656e2062616e6e656420616e642063616e6e6f7420626520696e746572616374656414776974682e244e6f7442616e6e6564000604ac54686520737065636966696564206e616d65206973206e6f742063757272656e746c792062616e6e65642e34416c726561647942616e6e6564000704d854686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c792062616e6e65642e344e6f74417574686f72697a6564000804cc546865206163746f722063616e6e6f7420706572666f726d65642074686520737065636966696564206f7065726174696f6e2e20546f6f53686f7274000904a841206e616d65207468617420697320746f6f2073686f7274206973206265696e6720636c61696d65642e1c546f6f4c6f6e67000a04a441206e616d65207468617420697320746f6f206c6f6e67206973206265696e6720636c61696d65642e40496e76616c6964436861726163746572000b04f441206e616d65207468617420636f6e7461696e73206e6f7420616c6c6f7765642063686172616374657273206973206265696e6720636c61696d65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909bd060000040825012c00c1060c487075626c69635f63726564656e7469616c732c63726564656e7469616c733c43726564656e7469616c456e7472791824435479706548617368012c20417474657374657201002c426c6f636b4e756d6265720110244163636f756e74496401001c42616c616e636501183c417574686f72697a6174696f6e496401f40018012863747970655f686173682c01244354797065486173680001206174746573746572000120417474657374657200011c7265766f6b6564a40110626f6f6c000130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200011c6465706f7369745106016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000140617574686f72697a6174696f6e5f6964f0015c4f7074696f6e3c417574686f72697a6174696f6e49643e0000c5060c487075626c69635f63726564656e7469616c731870616c6c6574144572726f720404540001183c416c72656164794174746573746564000008f8412063726564656e7469616c2077697468207468652073616d6520726f6f7420686173682068617320616c72656164792069737375656420746f2074686548737065636966696564207375626a6563742e204e6f74466f756e6400010805014e6f2063726564656e7469616c2077697468207468652073706563696669656420726f6f74206861736820686173206265656e2069737375656420746f2074686548737065636966696564207375626a6563742e3c556e61626c65546f50617946656573000204d44e6f7420656e6f75676820746f6b656e7320746f2070617920666f72207468652066656573206f7220746865206465706f7369742e30496e76616c6964496e707574000304805468652063726564656e7469616c20696e70757420697320696e76616c69642e344e6f74417574686f72697a6564000404e05468652063616c6c6572206973206e6f7420617574686f72697a656420746f20706572666f726d656420746865206f7065726174696f6e2e20496e7465726e616c000508f443617463682d616c6c20666f7220616e79206f74686572206572726f727320746861742073686f756c64206e6f742068617070656e2c207965742069742468617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909c90604184f7074696f6e04045401cd060108104e6f6e6500000010536f6d650400cd060000010000cd060c4c706f6c6b61646f745f7072696d69746976657308763248557067726164655265737472696374696f6e0001041c50726573656e7400000000d1060c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f74584d6573736167696e675374617465536e617073686f740000100130646d715f6d71635f686561642c014472656c61795f636861696e3a3a4861736800016472656c61795f64697370617463685f71756575655f73697a65d5060128287533322c2075333229000140696e67726573735f6368616e6e656c73d90601885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00013c6567726573735f6368616e6e656c73d90601885665633c285061726149642c20416272696467656448726d704368616e6e656c293e0000d506000004081c1c00d906000002dd0600dd06000004089d01e10600e1060c4c706f6c6b61646f745f7072696d6974697665730876324c416272696467656448726d704368616e6e656c00001801306d61785f63617061636974791c010c7533320001386d61785f746f74616c5f73697a651c010c7533320001406d61785f6d6573736167655f73697a651c010c7533320001246d73675f636f756e741c010c753332000128746f74616c5f73697a651c010c7533320001206d71635f68656164610601304f7074696f6e3c486173683e0000e5060c4c706f6c6b61646f745f7072696d697469766573087632644162726964676564486f7374436f6e66696775726174696f6e00002401346d61785f636f64655f73697a651c010c7533320001486d61785f686561645f646174615f73697a651c010c7533320001586d61785f7570776172645f71756575655f636f756e741c010c7533320001546d61785f7570776172645f71756575655f73697a651c010c75333200015c6d61785f7570776172645f6d6573736167655f73697a651c010c7533320001906d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200018868726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200016c76616c69646174696f6e5f757067726164655f636f6f6c646f776e1c012c426c6f636b4e756d62657200016076616c69646174696f6e5f757067726164655f64656c61791c012c426c6f636b4e756d6265720000e906089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74444d6573736167655175657565436861696e000004002c012452656c6179486173680000ed06042042547265654d617008044b019d01045601e906000400f106000000f106000002f50600f506000004089d01e90600f906000002fd0600fd060860706f6c6b61646f745f636f72655f7072696d6974697665734c4f7574626f756e6448726d704d65737361676504084964019d0100080124726563697069656e749d01010849640001106461746130015073705f7374643a3a7665633a3a5665633c75383e000001070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144572726f720404540001204c4f7665726c617070696e6755706772616465730000041501417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e675050726f686962697465644279506f6c6b61646f740001044901506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e18546f6f426967000208450154686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f742069733877696c6c696e6720746f2072756e6856616c69646174696f6e446174614e6f74417661696c61626c65000304190154686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b74486f7374436f6e66696775726174696f6e4e6f74417661696c61626c65000404250154686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b304e6f745363686564756c6564000504d84e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642e444e6f7468696e67417574686f72697a6564000604904e6f20636f6465207570677261646520686173206265656e20617574686f72697a65642e30556e617574686f72697a6564000704bc54686520676976656e20636f6465207570677261646520686173206e6f74206265656e20617574686f72697a65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090905070000020907000907086463756d756c75735f70616c6c65745f78636d705f717565756554496e626f756e644368616e6e656c44657461696c7300000c011873656e6465729d01011850617261496400011473746174650d070130496e626f756e6453746174650001406d6573736167655f6d65746164617461110701a85665633c2852656c6179426c6f636b4e756d6265722c2058636d704d657373616765466f726d6174293e00000d07086463756d756c75735f70616c6c65745f78636d705f717565756530496e626f756e645374617465000108084f6b0000002453757370656e6465640001000011070000021507001507000004081c19070019070c48706f6c6b61646f745f70617261636861696e287072696d6974697665734458636d704d657373616765466f726d617400010c60436f6e636174656e6174656456657273696f6e656458636d0000005c436f6e636174656e61746564456e636f646564426c6f620001001c5369676e616c73000200001d07000004089d011c0021070000022507002507086463756d756c75735f70616c6c65745f78636d705f7175657565584f7574626f756e644368616e6e656c44657461696c730000140124726563697069656e749d0101185061726149640001147374617465290701344f7574626f756e6453746174650001347369676e616c735f6578697374a40110626f6f6c00012c66697273745f696e646578d8010c7531360001286c6173745f696e646578d8010c75313600002907086463756d756c75735f70616c6c65745f78636d705f7175657565344f7574626f756e645374617465000108084f6b0000002453757370656e646564000100002d07000004089d01d8003107086463756d756c75735f70616c6c65745f78636d705f71756575653c5175657565436f6e66696744617461000018014473757370656e645f7468726573686f6c641c010c75333200013864726f705f7468726573686f6c641c010c753332000140726573756d655f7468726573686f6c641c010c7533320001407468726573686f6c645f7765696768742401185765696768740001547765696768745f72657374726963745f646563617924011857656967687400016878636d705f6d61785f696e646976696475616c5f776569676874240118576569676874000035070000040c9d011c300039070c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144572726f72040454000114304661696c6564546f53656e640000046c4661696c656420746f2073656e642058434d206d6573736167652e3042616458636d4f726967696e0001043c4261642058434d206f726967696e2e1842616458636d000204344261642058434d20646174612e484261644f766572776569676874496e64657800030454426164206f76657277656967687420696e6465782e3c5765696768744f7665724c696d6974000404f850726f76696465642077656967687420697320706f737369626c79206e6f7420656e6f75676820746f206578656375746520746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909093d070c2870616c6c65745f78636d1870616c6c6574144572726f720404540001502c556e726561636861626c650000085d0154686520646573697265642064657374696e6174696f6e2077617320756e726561636861626c652c2067656e6572616c6c7920626563617573652074686572652069732061206e6f20776179206f6620726f7574696e6718746f2069742e2c53656e644661696c757265000108610154686572652077617320736f6d65206f746865722069737375652028692e652e206e6f7420746f20646f207769746820726f7574696e672920696e2073656e64696e6720746865206d6573736167652e2050657268617073a861206c61636b206f6620737061636520666f7220627566666572696e6720746865206d6573736167652e2046696c74657265640002049c546865206d65737361676520657865637574696f6e206661696c73207468652066696c7465722e48556e776569676861626c654d657373616765000304b4546865206d65737361676527732077656967687420636f756c64206e6f742062652064657465726d696e65642e6044657374696e6174696f6e4e6f74496e7665727469626c65000404f05468652064657374696e6174696f6e20604d756c74694c6f636174696f6e602070726f76696465642063616e6e6f7420626520696e7665727465642e14456d707479000504805468652061737365747320746f2062652073656e742061726520656d7074792e3843616e6e6f745265616e63686f720006043501436f756c64206e6f742072652d616e63686f72207468652061737365747320746f206465636c61726520746865206665657320666f72207468652064657374696e6174696f6e20636861696e2e34546f6f4d616e79417373657473000704c4546f6f206d616e79206173736574732068617665206265656e20617474656d7074656420666f72207472616e736665722e34496e76616c69644f726967696e000804784f726967696e20697320696e76616c696420666f722073656e64696e672e2842616456657273696f6e00090421015468652076657273696f6e206f6620746865206056657273696f6e6564602076616c75652075736564206973206e6f742061626c6520746f20626520696e7465727072657465642e2c4261644c6f636174696f6e000a08410154686520676976656e206c6f636174696f6e20636f756c64206e6f7420626520757365642028652e672e20626563617573652069742063616e6e6f742062652065787072657373656420696e2074686560646573697265642076657273696f6e206f662058434d292e384e6f537562736372697074696f6e000b04bc546865207265666572656e63656420737562736372697074696f6e20636f756c64206e6f7420626520666f756e642e44416c726561647953756273637269626564000c041101546865206c6f636174696f6e20697320696e76616c69642073696e636520697420616c726561647920686173206120737562736372697074696f6e2066726f6d2075732e30496e76616c69644173736574000d0480496e76616c696420617373657420666f7220746865206f7065726174696f6e2e284c6f7742616c616e6365000e044101546865206f776e657220646f6573206e6f74206f776e2028616c6c29206f662074686520617373657420746861742074686579207769736820746f20646f20746865206f7065726174696f6e206f6e2e30546f6f4d616e794c6f636b73000f04c0546865206173736574206f776e65722068617320746f6f206d616e79206c6f636b73206f6e207468652061737365742e4c4163636f756e744e6f74536f7665726569676e001004310154686520676976656e206163636f756e74206973206e6f7420616e206964656e7469666961626c6520736f7665726569676e206163636f756e7420666f7220616e79206c6f636174696f6e2e28466565734e6f744d65740011042901546865206f7065726174696f6e207265717569726564206665657320746f20626520706169642077686963682074686520696e69746961746f7220636f756c64206e6f74206d6565742e304c6f636b4e6f74466f756e64001204f4412072656d6f7465206c6f636b20776974682074686520636f72726573706f6e64696e67206461746120636f756c64206e6f7420626520666f756e642e14496e557365001304390154686520756e6c6f636b206f7065726174696f6e2063616e6e6f742073756363656564206265636175736520746865726520617265207374696c6c207573657273206f6620746865206c6f636b2e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090941070c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144572726f7204045400010004b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909094507086063756d756c75735f70616c6c65745f646d705f717565756528436f6e6669674461746100000401386d61785f696e646976696475616c24011857656967687400004907086063756d756c75735f70616c6c65745f646d705f71756575653450616765496e6465784461746100000c0128626567696e5f757365641c012c50616765436f756e746572000120656e645f757365641c012c50616765436f756e7465720001406f7665727765696768745f636f756e7410013c4f766572776569676874496e64657800004d070000025107005107000004081c300055070c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144572726f720404540001081c556e6b6e6f776e0000048c546865206d65737361676520696e64657820676976656e20697320756e6b6e6f776e2e244f7665724c696d6974000104310154686520616d6f756e74206f662077656967687420676976656e20697320706f737369626c79206e6f7420656e6f75676820666f7220657865637574696e6720746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909095907102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c4164647265737301d9021043616c6c01a503245369676e617475726501ad04144578747261015d07000400300000005d07000004206107650769076d07710779077d07810700610710306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000650710306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000690710306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e040454000000006d0710306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000710710306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c697479040454000004007507010c45726100007507102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000790710306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e636504045400000400280120543a3a496e64657800007d0710306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b576569676874040454000000008107086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e7404045400000400c101013042616c616e63654f663c543e0000941853797374656d011853797374656d401c4163636f756e7401010402000c510100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e7400001c040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010020180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e00001c040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010405102c8000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e73696344617461010104051c300400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010010200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801002c80000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010034040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004404001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e7401001c100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f70696373010104022c7d020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000810204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100a40400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100a40400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e506861736500007502040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01890201501830426c6f636b5765696768747399026d01624fd75a00070088526a740200400102c0cd1700010700028fa54b0200d000010700e6bd4f570200f00001000002c0cd1700010700a423c0680200200101070088526a7402004001010700a2941a1d0200500002c0cd170000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e677468a9023000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7410206009000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e204462576569676874b1024040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6eb5026103386b696c742d7370697269746e6574386b696c742d7370697269746e657401000000f82a00000000000038df6acb689907609b0400000037e397fc7c91f5e401000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d69620200000026609555c065660302000000a47b7d544994c99b0100000045bfba51a310b2230100000006000000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978d808260014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e01c502006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100c90204000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e00000000012454696d657374616d70012454696d657374616d70080c4e6f7701001020000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100a4040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01cd020004344d696e696d756d506572696f6410207017000000000000104d0120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a5d0120706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c5d012067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c206265a020646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e00021c496e6469636573011c496e646963657304204163636f756e74730001040210d1020400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e01d5020174041c4465706f736974184000b47cf328350000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e01e102052042616c616e636573012042616c616e6365731434546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b730101040200e502040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e2052657365727665730101040200f502040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e01010301780c484578697374656e7469616c4465706f736974184000a0724e18090000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d61784c6f636b731c103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d617852657365727665731c1032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e01050306485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100090340000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e01000d0304000000018004604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e00071041757261011041757261082c417574686f726974696573010011030400046c205468652063757272656e7420617574686f72697479207365742e2c43757272656e74536c6f74010021032000000000000000000c80205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e009420546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e00000000171c53657373696f6e011c53657373696f6e1c2856616c696461746f7273010025030400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801001c100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100a4040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b657973010029030400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f7273010035030400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b657973000104050031030400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405390300040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e014103018400014503164050617261636861696e5374616b696e67014050617261636861696e5374616b696e6740544d617853656c656374656443616e6469646174657301001c100000000004090120546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c6563746564206174206561636820726f756e642e14526f756e640100490350000000000000000000000000140000000000000004e82043757272656e7420726f756e64206e756d62657220616e64206e65787420726f756e64207363686564756c6564207472616e736974696f6e2e384c61737444656c65676174696f6e01010405004d03200000000000000000140d012044656c65676174696f6e20696e666f726d6174696f6e20666f7220746865206c61746573742073657373696f6e20696e20776869636820612064656c656761746f722c2064656c6567617465642e000501204974206d6170732066726f6d20616e206163636f756e7420746f20746865206e756d626572206f662064656c65676174696f6e7320696e20746865206c617374982073657373696f6e20696e2077686963682074686579202872652d2964656c6567617465642e3844656c656761746f7253746174650001040500510304000c802044656c65676174696f6e207374616b696e6720696e666f726d6174696f6e2e00cc204974206d6170732066726f6d20616e206163636f756e7420746f206974732064656c65676174696f6e2064657461696c732e3443616e646964617465506f6f6c00010405005503040010a420546865207374616b696e6720696e666f726d6174696f6e20666f7220612063616e6469646174652e00b0204974206d6170732066726f6d20616e206163636f756e7420746f2069747320696e666f726d6174696f6e2eb8204d6f72656f7665722c20697420636f756e747320746865206e756d626572206f662063616e646964617465732e5c436f756e746572466f7243616e646964617465506f6f6c01001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617048546f74616c436f6c6c61746f725374616b650100690380000000000000000000000000000000000000000000000000000000000000000014f420546f74616c2066756e6473206c6f636b656420746f206261636b207468652063757272656e746c792073656c656374656420636f6c6c61746f72732ed0205468652073756d206f6620616c6c20636f6c6c61746f7220616e642074686569722064656c656761746f72207374616b65732e002101204e6f74653a20546865726520617265206d6f72652066756e6473206c6f636b656420627920746869732070616c6c65742c2073696e636520746865206261636b696e6720666f720901206e6f6e20636f6c6c6174696e672063616e64696461746573206973206e6f7420696e636c7564656420696e205b546f74616c436f6c6c61746f725374616b655d2e34546f7043616e6469646174657301006d03040028e82054686520636f6c6c61746f722063616e64696461746573207769746820746865206869676865737420616d6f756e74206f66207374616b652e00190120456163682074696d6520746865207374616b65206f66206120636f6c6c61746f7220697320696e637265617365642c20697420697320636865636b65642077686574686572050120746869732070757368657320616e6f746865722063616e646964617465206f7574206f6620746865206c6973742e205768656e20746865207374616b652069732101207265647563656420686f77657665722c206974206973206e6f7420636865636b656420696620616e6f746865722063616e64696461746520686173206d6f7265207374616b652c11012073696e6365207468697320776f756c64207265717569726520697465726174696e67206f7665722074686520656e74697265205b43616e646964617465506f6f6c5d2e001501205468657265206d75737420616c77617973206265206d6f72652063616e64696461746573207468616e205b4d617853656c656374656443616e646964617465735d20736f0d012074686174206120636f6c6c61746f722063616e2064726f70206f7574206f662074686520636f6c6c61746f7220736574206279207265647563696e672074686569721c207374616b652e3c496e666c6174696f6e436f6e66696701007503c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046420496e666c6174696f6e20636f6e66696775726174696f6e2e24556e7374616b696e670101040500810304001088205468652066756e64732077616974696e6720746f20626520756e7374616b65642e001d01204974206d6170732066726f6d206163636f756e747320746f20616c6c207468652066756e64732061646472657373656420746f207468656d20696e20746865206675747572652020626c6f636b732e644d6178436f6c6c61746f7243616e6469646174655374616b65010018400000000000000000000000000000000004cc20546865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e6469646174652063616e207374616b652e4c4c617374526577617264526564756374696f6e010010200000000000000000140d0120546865207965617220696e20776869636820746865206c617374206175746f6d6174696320726564756374696f6e206f66207468652072657761726420726174657328206f636375727265642e00250120497420737461727473206174207a65726f2061742067656e6573697320616e6420696e6372656d656e7473206279206f6e6520657665727920424c4f434b535f5045525f5945415234206d616e7920626c6f636b732e38426c6f636b73417574686f726564010104050010200000000000000000080d0120546865206e756d626572206f6620617574686f72656420626c6f636b7320666f7220636f6c6c61746f72732e20497420697320757064617465642076696120746865b020606e6f74655f617574686f726020686f6f6b207768656e20617574686f72696e67206120626c6f636b202e38426c6f636b73526577617264656401010405001020000000000000000024210120546865206e756d626572206f6620626c6f636b7320666f7220776869636820726577617264732068617665206265656e20636c61696d656420627920616e20616464726573732e00190120466f7220636f6c6c61746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f7265642e2049742069732075706461746564207768656ecc20696e6372656d656e74696e6720636f6c6c61746f7220726577617264732c20656974686572207768656e2063616c6c696e67e02060696e635f636f6c6c61746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e00250120466f722064656c656761746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f726564206f662074686520636f6c6c61746f722e497420697305012075706461746564207768656e20696e6372656d656e74696e672064656c656761746f7220726577617264732c20656974686572207768656e2063616c6c696e67e42060696e635f64656c656761746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e1c5265776172647301010405001840000000000000000000000000000000000c01012054686520616363756d756c61746564207265776172647320666f7220636f6c6c61746f722063616e6469646174657320616e642064656c656761746f72732e001101204974206d6170732066726f6d206163636f756e747320746f20746865697220746f74616c20726577617264732073696e636520746865206c617374207061796f75742e34466f7263654e6577526f756e640100a404000001910301883c444d696e426c6f636b73506572526f756e6410202c0100000000000004d4204d696e696d756d206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e64732063616e206c6173742e5444656661756c74426c6f636b73506572526f756e641020580200000000000008fc2044656661756c74206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e6473206c6173742c2061732073657420696e207468655c2067656e6573697320636f6e66696775726174696f6e2e345374616b654475726174696f6e1020e0c40000000000000c0501204e756d626572206f6620626c6f636b7320666f7220776869636820756e7374616b65642062616c616e63652077696c6c207374696c6c206265206c6f636b6564f0206265666f72652069742063616e20626520756e6c6f636b6564206279206163746976656c792063616c6c696e67207468652065787472696e7369634c2060756e6c6f636b5f756e7374616b6564602e3845786974517565756544656c61791c1002000000080901204e756d626572206f6620726f756e6473206120636f6c6c61746f722068617320746f207374617920616374697665206166746572207375626d697474696e672061c4207265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e304d696e436f6c6c61746f72731c1010000000080d01204d696e696d756d206e756d626572206f6620636f6c6c61746f72732073656c65637465642066726f6d2074686520736574206f662063616e64696461746573206174602065766572792076616c69646174696f6e20726f756e642e504d696e5265717569726564436f6c6c61746f72731c1004000000081101204d696e696d756d206e756d626572206f6620636f6c6c61746f72732077686963682063616e6e6f74206c6561766520746865206e6574776f726b2069662074686572653c20617265206e6f206f74686572732e584d617844656c65676174696f6e73506572526f756e641c1001000000140101204d6178696d756d206e756d626572206f662064656c65676174696f6e732077686963682063616e206265206d6164652077697468696e207468652073616d651c20726f756e642e000d01204e4f54453a20546f2070726576656e742072652d64656c65676174696f6e2d7265776172642061747461636b732c2077652073686f756c64206b65657020746869732c20746f206265206f6e652e604d617844656c656761746f7273506572436f6c6c61746f721c102300000004e4204d6178696d756d206e756d626572206f662064656c656761746f727320612073696e676c6520636f6c6c61746f722063616e20686176652e404d6178546f7043616e646964617465731c104b00000004a0204d6178696d756d2073697a65206f662074686520746f702063616e64696461746573207365742e404d696e436f6c6c61746f725374616b6518400000e8890423c78a0000000000000000080901204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520656c65637465642061732076616c696461746f723420666f72206120726f756e642e644d696e436f6c6c61746f7243616e6469646174655374616b6518400000e8890423c78a0000000000000000080501204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520616464656420746f2074686520736574206f66302063616e646964617465732e444d696e44656c656761746f725374616b651840000082dfe40d4700000000000000000004f8204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f206265636f6d6520612064656c656761746f722e484d6178556e7374616b6552657175657374731c100a00000028e8204d6178206e756d626572206f6620636f6e63757272656e742061637469766520756e7374616b696e67207265717565737473206265666f72652c20756e6c6f636b696e672e001501204e4f54453a20546f2070726f7465637420616761696e737420697272656d6f766162696c697479206f6620612063616e646964617465206f722064656c656761746f722cf4207765206f6e6c7920616c6c6f7720666f72204d6178556e7374616b655265717565737473202d2031206d616e79206d616e75616c20756e7374616b6501012072657175657374732e20546865206c617374206f6e6520736572766573206173206120706c616365686f6c64657220666f7220746865206361736573206f66f02063616c6c696e672065697468657220606b69636b5f64656c656761746f72602c20666f7263655f72656d6f76655f63616e64696461746560206f7209012060657865637574655f6c656176655f63616e64696461746573602e204f74686572776973652c2061207573657220636f756c64206d6178206f75742074686569720d0120756e7374616b6520726571756573747320616e642070726576656e74207468656d73656c7665732066726f6d206265696e67206b69636b65642066726f6d20746865f020736574206f662063616e646964617465732f64656c656761746f727320756e74696c207468657920756e6c6f636b2074686569722066756e64732e484e6574776f726b5265776172645374617274102048a3c800000000000c110120546865207374617274696e6720626c6f636b206e756d62657220666f7220746865206e6574776f726b20726577617264732e204f6e6365207468652063757272656e74090120626c6f636b206e756d626572206578636565647320746869732073746172742c207468652062656e65666963696172792077696c6c2072656365697665207468658420636f6e666967757265642072657761726420696e206561636820626c6f636b2e444e6574776f726b526577617264526174658c2000008a5d784563010c0d0120546865207261746520696e2070657263656e7420666f7220746865206e6574776f726b207265776172647320776869636820617265206261736564206f6e207468650901206d6178696d756d206e756d626572206f6620636f6c6c61746f727320616e6420746865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e1c207374616b652e0195031528417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e00000000141c41757261457874011c41757261457874042c417574686f72697469657301001103040014942053657276657320617320636163686520666f722074686520617574686f7269746965732e0071012054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c790120627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973f0206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e00000000182444656d6f6372616379012444656d6f63726163792c3c5075626c696350726f70436f756e7401001c100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301009903040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f66000104051c5d0504000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e7401001c100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401001c100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f66000104051c650504000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010405007105e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100a40400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00008905040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c697374000104062c8d0504000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e73010104062ca40400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e01a9030190303c456e6163746d656e74506572696f641020201c00000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f641020e0c400000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f641020e0c400000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f641020e0c4000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400080c6a47e8d0300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f776564a404010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f641020840300000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f641020e0c400000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f7465731c106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c731c1064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f736974731c1064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c69737465641c106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e0191051e1c436f756e63696c011c436f756e63696c182450726f706f73616c7301009505040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062ca503040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062c9905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d62657273010025030400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01b50301a000019d051f48546563686e6963616c436f6d6d69747465650148546563686e6963616c436f6d6d6974746565182450726f706f73616c730100a105040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062ca503040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062c9905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d62657273010025030400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01c50301b00001a505204c546563686e6963616c4d656d62657273686970014c546563686e6963616c4d656d62657273686970081c4d656d626572730100a905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01c90301b40001ad052220547265617375727901205472656173757279103450726f706f73616c436f756e7401001c100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c73000104051cb1050400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c730100b505040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e01cd0301b81c3050726f706f73616c426f6e64b9051050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d1840000082dfe40d47000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756dbd050400044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f641020c0a8000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726eb90510000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c65744964c105206b696c742f7473790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c731c10640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e01c505231c5574696c6974790001d10301bc044c626174636865645f63616c6c735f6c696d69741c10aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01c905281c56657374696e67011c56657374696e67081c56657374696e670001040200cd05040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100d50504000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e01f90301c008444d696e5665737465645472616e73666572184000407a10f35a0000000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c65731c101c0000000001d90529245363686564756c657201245363686564756c65720c3c496e636f6d706c65746553696e6365000010040000184167656e64610101040510dd050400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001040504c8040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e01010401c408344d6178696d756d57656967687424280700a0db215d0200000104290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b1c1032000000041d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e01ed052a1450726f7879011450726f7879081c50726f786965730101040500f1054400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e74730101040500010644000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01090401d0184050726f78794465706f7369744261736518400020f7a54b330000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f72184000f4a92b80010000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f786965731c100a00000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e671c100a00000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518400020f7a54b330000000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000e8535700030000000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e0111062b20507265696d6167650120507265696d6167650824537461747573466f72000104062c15060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f72000104062106250604000001110401dc000129062c38546970734d656d626572736869700138546970734d656d62657273686970081c4d656d626572730100a905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01150401e000012d062d1054697073011054697073081054697073000104052c310604000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e73000104062c3004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01190401e4144c4d6178696d756d526561736f6e4c656e6774681c10004000000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756548446174614465706f73697450657242797465184000743ba40b00000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e30546970436f756e74646f776e1020201c0000000000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665653d060414043501205468652070657263656e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f73697442617365184000f45628fa320000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e0141062e144374797065011443747970650418437479706573000104022c450604001060204354797065732073746f726564206f6e20636861696e2e001901204974206d6170732066726f6d2061204354797065206861736820746f206974732063726561746f7220616e6420626c6f636b206e756d62657220696e207768696368206974342077617320637265617465642e011d0401e8000149063d2c4174746573746174696f6e012c4174746573746174696f6e08304174746573746174696f6e73000104022c4d0604000c78204174746573746174696f6e732073746f726564206f6e20636861696e2e00cc204974206d6170732066726f6d206120636c61696d206861736820746f207468652066756c6c206174746573746174696f6e2e5045787465726e616c4174746573746174696f6e7301010805025506a404000ca02044656c656761746564206174746573746174696f6e732073746f726564206f6e20636861696e2e00e8204974206d6170732066726f6d20612064656c65676174696f6e20494420746f206120766563746f72206f6620636c61696d206861736865732e01210401ec081c4465706f7369741840001cc9dd006e0000000000000000000004e420546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720616e206174746573746174696f6e2e604d617844656c6567617465644174746573746174696f6e731c10e803000008090120546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732077686963682063616e206265206d61646520627954207468652073616d652064656c65676174696f6e2e0159063e2844656c65676174696f6e012844656c65676174696f6e083c44656c65676174696f6e4e6f646573000104022c5d0604000c882044656c65676174696f6e206e6f6465732073746f726564206f6e20636861696e2e00b0204974206d6170732066726f6d2061206e6f646520494420746f20746865206e6f64652064657461696c732e5444656c65676174696f6e4869657261726368696573000104022c710604000ca02044656c65676174696f6e2068696572617263686965732073746f726564206f6e20636861696e2e00dc204974206d61707320666f7220612028726f6f7429206e6f646520494420746f20746865206869657261726368792064657461696c732e01350401f8181c4465706f73697418400080c6a47e8d0300000000000000000004dc20546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720612064656c65676174696f6e2e584d61785369676e6174757265427974654c656e677468d808400000384d61785265766f636174696f6e731c1005000000047c204d6178696d756d206e756d626572206f66207265766f636174696f6e732e2c4d617852656d6f76616c731c100500000004f4204d6178696d756d206e756d626572206f662072656d6f76616c732e2053686f756c642062652073616d65206173204d61785265766f636174696f6e733c4d6178506172656e74436865636b731c1005000000080d01204d6178696d756d206e756d626572206f6620757077617264732074726176657273616c73206f66207468652064656c65676174696f6e20747265652066726f6d2061f0206e6f646520746f2074686520726f6f7420616e64207468757320746865206465707468206f66207468652064656c65676174696f6e20747265652e2c4d61784368696c6472656e1c10e80300000c0d01204d6178696d756d206e756d626572206f6620616c6c206368696c6472656e20666f7220612064656c65676174696f6e206e6f64652e20466f7220612062696e617279fc20747265652c20746869732073686f756c6420626520747769636520746865206d6178696d756d206465707468206f662074686520747265652c20692e652e5c206032205e204d6178506172656e74436865636b73602e0175063f0c446964010c446964100c4469640001040200790604000c5820444944732073746f726564206f6e20636861696e2e00c8204974206d6170732066726f6d206120444944206964656e74696669657220746f20746865204449442064657461696c732e4053657276696365456e64706f696e747300010805029906810404000ca0205365727669636520656e64706f696e7473206173736f636961746564207769746820444944732e000901204974206d6170732066726f6d2028444944206964656e7469666965722c20736572766963652049442920746f2074686520736572766963652064657461696c732e44446964456e64706f696e7473436f756e7401010402001c10000000000cac20436f756e746572206f66207365727669636520656e64706f696e747320666f722065616368204449442e00cc204974206d6170732066726f6d2028444944206964656e7469666965722920746f20612033322d62697420636f756e7465722e30446964426c61636b6c6973740001040200ac0400141d012054686520736574206f66204449447320746861742068617665206265656e2064656c6574656420616e642063616e6e6f74207468657265666f726520626520637265617465647020616761696e20666f7220736563757269747920726561736f6e732e002101204974206d6170732066726f6d206120444944206964656e74696669657220746f206120756e6974207475706c652c20666f72207468652073616b65206f6620747261636b696e674420444944206964656e746966696572732e015104010101301c4465706f736974184000983ea62c22070000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e0c466565184000203d88792d000000000000000000000c09012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f7220656163682044494420617320612066656520746f0d0120696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206665652077696c6c206e6f74206765748820726566756e646564207768656e20746865204449442069732064656c657465642e4c4d61785075626c69634b6579735065724469641c10140000000c1101204d6178696d756d206e756d626572206f6620746f74616c207075626c6963206b6579732077686963682063616e2062652073746f7265642070657220444944206b6579d8206964656e7469666965722e205468697320696e636c7564657320746865206f6e65732063757272656e746c79207573656420666f72f02061757468656e7469636174696f6e2c206b65792061677265656d656e742c206174746573746174696f6e2c20616e642064656c65676174696f6e2e584d61784e65774b657941677265656d656e744b6579731c100a000000081501204d6178696d756d206e756d626572206f66206b65792061677265656d656e74206b65797320746861742063616e20626520616464656420696e2061206372656174696f6e2c206f7065726174696f6e2e604d6178546f74616c4b657941677265656d656e744b6579731c1013000000101101204d6178696d756d206e756d626572206f6620746f74616c206b65792061677265656d656e74206b65797320746861742063616e2062652073746f72656420666f7220613420444944207375626a6563742e00c42053686f756c642062652067726561746572207468616e20604d61784e65774b657941677265656d656e744b657973602e4c4d6178426c6f636b73547856616c696469747910202c0100000000000008ec20546865206d6178696d756d206e756d626572206f6620626c6f636b732061204449442d617574686f72697a6564206f7065726174696f6e2069739420636f6e736964657265642076616c696420616674657220697473206372656174696f6e2e644d61784e756d6265724f6653657276696365735065724469641c101900000004fc20546865206d6178696d756d206e756d626572206f6620736572766963657320746861742063616e2062652073746f72656420756e6465722061204449442e484d61785365727669636549644c656e6774681c1032000000049020546865206d6178696d756d206c656e677468206f66206120736572766963652049442e504d617853657276696365547970654c656e6774681c103200000004c820546865206d6178696d756d206c656e677468206f66206120736572766963652074797065206465736372697074696f6e2e684d61784e756d6265724f665479706573506572536572766963651c100100000004090120546865206d6178696d756d206e756d626572206f662061207479706573206465736372697074696f6e20666f722061207365727669636520656e64706f696e742e4c4d61785365727669636555726c4c656e6774681c10c8000000049420546865206d6178696d756d206c656e677468206f66206120736572766963652055524c2e644d61784e756d6265724f6655726c73506572536572766963651c100100000004d420546865206d6178696d756d206e756d626572206f6620612055524c7320666f722061207365727669636520656e64706f696e742e019d064024496e666c6174696f6e000000084c496e697469616c506572696f644c656e677468102048a3c800000000000c050120546865206c656e677468206f662074686520696e697469616c20706572696f6420696e2077686963682074686520636f6e7374616e74207265776172642069731101206d696e7465642e204f6e6365207468652063757272656e7420626c6f636b206578636565647320746869732c207265776172647320617265206e6f206675727468657220206973737565642e4c496e697469616c506572696f64526577617264184036f539fdaeb30200000000000000000008fc2054686520616d6f756e74206f66206e65776c792069737375656420746f6b656e732070657220626c6f636b20647572696e672074686520696e697469616c2020706572696f642e0042244469644c6f6f6b757001244469644c6f6f6b75700c34436f6e6e656374656444696473000104020901a106040004a8204d617070696e672066726f6d206163636f756e74206964656e7469666965727320746f20444944732e44436f6e6e65637465644163636f756e74730001080202a506ac04000cbc204d617070696e672066726f6d2028444944202b206163636f756e74206964656e74696669657229202d3e2028292e0d012054686520656d707479207475706c65206973207573656420617320612073656e74696e656c2076616c756520746f2073696d706c7920696e64696361746520746865982070726573656e6365206f66206120676976656e207475706c6520696e20746865206d61702e4c4d6967726174696f6e537461746553746f72650100a90604010001a504010501041c4465706f736974184000c0afd69136000000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e01b1064324576562334e616d65730124576562334e616d65730c144f776e6572000104021901b50604000488204d6170206f66206e616d65202d3e206f776e6572736869702064657461696c732e144e616d65730001040200190104000458204d6170206f66206f776e6572202d3e206e616d652e1842616e6e6564000104021901ac04000c4c204d6170206f66206e616d65202d3e2028292e00e02049662061206e616d65206b65792069732070726573656e742c20746865206e616d652069732063757272656e746c792062616e6e65642e01b5040115010c1c4465706f736974184000d450a85d6b0000000000000000000004bc2054686520616d6f756e74206f66204b494c5420746f206465706f73697420746f20636c61696d2061206e616d652e344d696e4e616d654c656e6774681c1003000000048820546865206d696e20656e636f646564206c656e677468206f662061206e616d652e344d61784e616d654c656e6774681c1020000000048820546865206d617820656e636f646564206c656e677468206f662061206e616d652e01b90644445075626c696343726564656e7469616c7301445075626c696343726564656e7469616c73082c43726564656e7469616c730001080502bd06c10604000cc020546865206d6170206f66207075626c69632063726564656e7469616c7320616c72656164792061747465737465642ef0204974206d6170732066726f6d206120287375626a656374206964202b2063726564656e7469616c20696429202d3e20746865206372656174696f6e6c2064657461696c73206f66207468652063726564656e7469616c2e4843726564656e7469616c5375626a65637473000104022c250104001025012041207265766572736520696e646578206d617070696e672066726f6d2063726564656e7469616c20494420746f20746865207375626a656374207468652063726564656e7469616c3c207761732069737375656420746f2e001901204974206974207573656420746f20706572666f726d20656666696369656e74206c6f6f6b7570206f662063726564656e7469616c7320676976656e2074686569722049442e01b9040121010c1c4465706f7369741840005c6a51fc45000000000000000000000411012054686520616d6f756e74206f6620746f6b656e7320746f2072657365727665207768656e20617474657374696e672061207075626c69632063726564656e7469616c2e584d6178456e636f646564436c61696d734c656e6774681c10a0860100040d0120546865206d6178696d756d206c656e67746820696e206279746573206f662074686520656e636f64656420636c61696d73206f6620612063726564656e7469616c2e484d61785375626a65637449644c656e6774681c100c01000008e820546865206d6178696d756d206c656e67746820696e206279746573206f6620746865207261772063726564656e7469616c207375626a65637430206964656e7469666965722e01c506453c50617261636861696e53797374656d013c50617261636861696e53797374656d545450656e64696e6756616c69646174696f6e436f64650100300400187d0120496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e00c10120417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455dad012077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e000501205b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455d3a2073705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f4445444e657756616c69646174696f6e436f64650000300400145d012056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e647820636f6e73657175656e746c79207468652072656c61792d636861696e2e00650120546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c7265616479207365742c207468652076616c75652e3856616c69646174696f6e446174610000d10404000cd020546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e2d0120546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f7265643420696e2074686520747269652e5044696453657456616c69646174696f6e436f64650100a4040004e02057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f644c61737452656c6179436861696e426c6f636b4e756d62657201001c1000000000041d01205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e60557067726164655265737472696374696f6e5369676e616c0100c90604001c750120416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e610120496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365646c2063616e6469646174652077696c6c20626520696e76616c69642e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3c52656c6179537461746550726f6f660000d904040018c4205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e5852656c6576616e744d6573736167696e6753746174650000d10604001c65012054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e2061732070657248207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e44486f7374436f6e66696775726174696f6e0000e5060400182901205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e384c617374446d714d7163486561640100e90680000000000000000000000000000000000000000000000000000000000000000010f420546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e404c61737448726d704d716348656164730100ed06040010490120546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e6450726f636573736564446f776e776172644d6573736167657301001c10000000000cc8204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e3448726d7057617465726d61726b01001c10000000000ca02048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5048726d704f7574626f756e644d657373616765730100f90604000ca42048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e385570776172644d657373616765730100950204000cac20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5450656e64696e675570776172644d6573736167657301009502040004310120557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e84416e6e6f756e63656448726d704d6573736167657350657243616e64696461746501001c100000000008650120546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f72f020616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e68526573657276656458636d705765696768744f766572726964650000240400085d01205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e645265736572766564446d705765696768744f766572726964650000240400085901205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e44417574686f72697a65645570677261646500002c040004b820546865206e65787420617574686f72697a656420757067726164652c206966207468657265206973206f6e652e60437573746f6d56616c69646174696f6e486561644461746100003004000c2901204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e00190120536565205b6050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461605d20666f72206d6f726520696e666f726d6174696f6e2e01c90401910100010107503450617261636861696e496e666f013450617261636861696e496e666f042c50617261636861696e496401009d0110640000000000000000512458636d705175657565012458636d7051756575652844496e626f756e6458636d70537461747573010005070400049420537461747573206f662074686520696e626f756e642058434d50206368616e6e656c732e4c496e626f756e6458636d704d6573736167657301010802051d0730040004190120496e626f756e64206167677265676174652058434d50206d657373616765732e2049742063616e206f6e6c79206265206f6e6520706572205061726149642f626c6f636b2e484f7574626f756e6458636d70537461747573010021070400185d0120546865206e6f6e2d656d7074792058434d50206368616e6e656c7320696e206f72646572206f66206265636f6d696e67206e6f6e2d656d7074792c20616e642074686520696e646578206f6620746865206669727374510120616e64206c617374206f7574626f756e64206d6573736167652e204966207468652074776f20696e64696365732061726520657175616c2c207468656e20697420696e6469636174657320616e20656d707479590120717565756520616e64207468657265206d7573742062652061206e6f6e2d604f6b6020604f7574626f756e64537461747573602e20576520617373756d65207175657565732067726f77206e6f20677265617465725901207468616e203635353335206974656d732e20517565756520696e646963657320666f72206e6f726d616c206d6573736167657320626567696e206174206f6e653b207a65726f20697320726573657276656420696e11012063617365206f6620746865206e65656420746f2073656e64206120686967682d7072696f72697479207369676e616c206d657373616765207468697320626c6f636b2e09012054686520626f6f6c20697320747275652069662074686572652069732061207369676e616c206d6573736167652077616974696e6720746f2062652073656e742e504f7574626f756e6458636d704d6573736167657301010802052d0730040004bc20546865206d65737361676573206f7574626f756e6420696e206120676976656e2058434d50206368616e6e656c2e385369676e616c4d65737361676573010104029d0130040004a020416e79207369676e616c206d657373616765732077616974696e6720746f2062652073656e742e2c5175657565436f6e6669670100310774020000000500000001000000821a06000008000700c817a804020004000415012054686520636f6e66696775726174696f6e20776869636820636f6e74726f6c73207468652064796e616d696373206f6620746865206f7574626f756e642071756575652e284f76657277656967687400010405103507040010050120546865206d657373616765732074686174206578636565646564206d617820696e646976696475616c206d65737361676520776569676874206275646765742e003901205468657365206d657373616765207374617920696e20746869732073746f72616765206d617020756e74696c207468657920617265206d616e75616c6c79206469737061746368656420766961582060736572766963655f6f766572776569676874602e50436f756e746572466f724f76657277656967687401001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c4f766572776569676874436f756e7401001020000000000000000008690120546865206e756d626572206f66206f766572776569676874206d657373616765732065766572207265636f7264656420696e20604f766572776569676874602e20416c736f20646f75626c657320617320746865206e6578748420617661696c61626c652066726565206f76657277656967687420696e6465782e38517565756553757370656e6465640100a404000441012057686574686572206f72206e6f74207468652058434d502071756575652069732073757370656e6465642066726f6d20657865637574696e6720696e636f6d696e672058434d73206f72206e6f742e01fd0401950100013907522c506f6c6b61646f7458636d0001010501a10100013d07532843756d756c757358636d0000016d02000141075420446d7051756575650120446d7051756575651434436f6e66696775726174696f6e01004507280700e40b540202000400044c2054686520636f6e66696775726174696f6e2e2450616765496e646578010049074000000000000000000000000000000000044020546865207061676520696e6465782e145061676573010104021c4d0704000444205468652071756575652070616765732e284f766572776569676874000104021051070400046420546865206f766572776569676874206d657373616765732e50436f756e746572466f724f76657277656967687401001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617001550501710200015507555907042048436865636b4e6f6e5a65726f53656e6465726107ac40436865636b5370656356657273696f6e65071c38436865636b547856657273696f6e69071c30436865636b47656e657369736d072c38436865636b4d6f7274616c69747971072c28436865636b4e6f6e63657907ac2c436865636b5765696768747d07ac604368617267655472616e73616374696f6e5061796d656e748107ac3104"} \ No newline at end of file diff --git a/packages/augment-api/src/interfaces/augment-api-consts.ts b/packages/augment-api/src/interfaces/augment-api-consts.ts index a8d9f67d7..b3fba9062 100644 --- a/packages/augment-api/src/interfaces/augment-api-consts.ts +++ b/packages/augment-api/src/interfaces/augment-api-consts.ts @@ -25,14 +25,6 @@ declare module '@polkadot/api-base/types/consts' { **/ maxDelegatedAttestations: u32 & AugmentedConst; }; - authorship: { - /** - * The number of blocks back we should accept uncles. - * This means that we will deal with uncle-parents that are - * `UncleGenerations + 1` before `now`. - **/ - uncleGenerations: u64 & AugmentedConst; - }; balances: { /** * The minimum amount required to keep an account open. diff --git a/packages/augment-api/src/interfaces/augment-api-errors.ts b/packages/augment-api/src/interfaces/augment-api-errors.ts index 2d8e88203..93a87cc40 100644 --- a/packages/augment-api/src/interfaces/augment-api-errors.ts +++ b/packages/augment-api/src/interfaces/augment-api-errors.ts @@ -21,10 +21,6 @@ declare module '@polkadot/api-base/types/errors' { * The attestation has already been revoked. **/ AlreadyRevoked: AugmentedError; - /** - * No attestation on chain matching the claim hash. - **/ - AttestationNotFound: AugmentedError; /** * The attestation CType does not match the CType specified in the * delegation hierarchy root. @@ -39,37 +35,11 @@ declare module '@polkadot/api-base/types/errors' { /** * The call origin is not authorized to change the attestation. **/ - Unauthorized: AugmentedError; - }; - authorship: { - /** - * The uncle is genesis. - **/ - GenesisUncle: AugmentedError; - /** - * The uncle parent not in the chain. - **/ - InvalidUncleParent: AugmentedError; - /** - * The uncle isn't recent enough to be included. - **/ - OldUncle: AugmentedError; - /** - * The uncle is too high in chain. - **/ - TooHighUncle: AugmentedError; - /** - * Too many uncles. - **/ - TooManyUncles: AugmentedError; - /** - * The uncle is already included. - **/ - UncleAlreadyIncluded: AugmentedError; + NotAuthorized: AugmentedError; /** - * Uncles already set in the block. + * No attestation on chain matching the claim hash. **/ - UnclesAlreadySet: AugmentedError; + NotFound: AugmentedError; }; balances: { /** @@ -151,11 +121,11 @@ declare module '@polkadot/api-base/types/errors' { /** * The CType already exists. **/ - CTypeAlreadyExists: AugmentedError; + AlreadyExists: AugmentedError; /** * There is no CType with the given hash. **/ - CTypeNotFound: AugmentedError; + NotFound: AugmentedError; /** * The paying account was unable to pay the fees for creating a ctype. **/ @@ -201,7 +171,7 @@ declare module '@polkadot/api-base/types/errors' { /** * An error that is not supposed to take place, yet it happened. **/ - InternalError: AugmentedError; + Internal: AugmentedError; /** * The delegate's signature for the delegation creation operation is * invalid. @@ -355,26 +325,22 @@ declare module '@polkadot/api-base/types/errors' { WrongUpperBound: AugmentedError; }; did: { - /** - * The DID call was submitted by the wrong account - **/ - BadDidOrigin: AugmentedError; /** * The DID has already been previously deleted. **/ - DidAlreadyDeleted: AugmentedError; + AlreadyDeleted: AugmentedError; /** * The DID with the given identifier is already present on chain. **/ - DidAlreadyPresent: AugmentedError; + AlreadyExists: AugmentedError; /** - * No DID with the given identifier is present on chain. + * The DID call was submitted by the wrong account **/ - DidNotPresent: AugmentedError; + BadDidOrigin: AugmentedError; /** * An error that is not supposed to take place, yet it happened. **/ - InternalError: AugmentedError; + Internal: AugmentedError; /** * The call had parameters that conflicted with each other * or were invalid. @@ -398,15 +364,20 @@ declare module '@polkadot/api-base/types/errors' { * key expects. **/ InvalidSignatureFormat: AugmentedError; + /** + * The maximum number of key agreements has been reached for the DID + * subject. + **/ + MaxKeyAgreementKeysExceeded: AugmentedError; /** * A number of new key agreement keys greater than the maximum allowed * has been provided. **/ - MaxKeyAgreementKeysLimitExceeded: AugmentedError; + MaxNewKeyAgreementKeysLimitExceeded: AugmentedError; /** * The maximum number of service endpoints for a DID has been exceeded. **/ - MaxNumberOfServicesPerDidExceeded: AugmentedError; + MaxNumberOfServicesExceeded: AugmentedError; /** * The maximum number of types for a service endpoint has been * exceeded. @@ -420,7 +391,7 @@ declare module '@polkadot/api-base/types/errors' { * The maximum number of public keys for this DID key identifier has * been reached. **/ - MaxPublicKeysPerDidExceeded: AugmentedError; + MaxPublicKeysExceeded: AugmentedError; /** * The service endpoint ID exceeded the maximum allowed length. **/ @@ -436,10 +407,14 @@ declare module '@polkadot/api-base/types/errors' { **/ MaxServiceUrlLengthExceeded: AugmentedError; /** - * The maximum number of key agreements has been reached for the DID - * subject. + * The number of service endpoints stored under the DID is larger than + * the number of endpoints to delete. **/ - MaxTotalKeyAgreementKeysExceeded: AugmentedError; + MaxStoredEndpointsCountExceeded: AugmentedError; + /** + * No DID with the given identifier is present on chain. + **/ + NotFound: AugmentedError; /** * Only the owner of the deposit can reclaim its reserved balance. **/ @@ -447,16 +422,11 @@ declare module '@polkadot/api-base/types/errors' { /** * A service with the provided ID is already present for the given DID. **/ - ServiceAlreadyPresent: AugmentedError; + ServiceAlreadyExists: AugmentedError; /** * A service with the provided ID is not present under the given DID. **/ - ServiceNotPresent: AugmentedError; - /** - * The number of service endpoints stored under the DID is larger than - * the number of endpoints to delete. - **/ - StoredEndpointsCountTooLarge: AugmentedError; + ServiceNotFound: AugmentedError; /** * The block number provided in a DID-authorized operation is invalid. **/ @@ -473,23 +443,29 @@ declare module '@polkadot/api-base/types/errors' { * One or more verification keys referenced are not stored in the set * of verification keys. **/ - VerificationKeyNotPresent: AugmentedError; + VerificationKeyNotFound: AugmentedError; }; didLookup: { - /** - * The association does not exist. - **/ - AssociationNotFound: AugmentedError; /** * The account has insufficient funds and can't pay the fees or reserve * the deposit. **/ InsufficientFunds: AugmentedError; + /** + * The ConnectedAccounts and ConnectedDids storage are out of sync. + * + * NOTE: this will only be returned if the storage has inconsistencies. + **/ + Migration: AugmentedError; /** * The origin was not allowed to manage the association between the DID * and the account ID. **/ NotAuthorized: AugmentedError; + /** + * The association does not exist. + **/ + NotFound: AugmentedError; /** * The supplied proof of ownership was outdated. **/ @@ -717,6 +693,10 @@ declare module '@polkadot/api-base/types/errors' { ValidationDataNotAvailable: AugmentedError; }; polkadotXcm: { + /** + * The given account is not an identifiable sovereign account for any location. + **/ + AccountNotSovereign: AugmentedError; /** * The location is invalid since it already has a subscription from us. **/ @@ -742,14 +722,34 @@ declare module '@polkadot/api-base/types/errors' { * The assets to be sent are empty. **/ Empty: AugmentedError; + /** + * The operation required fees to be paid which the initiator could not meet. + **/ + FeesNotMet: AugmentedError; /** * The message execution fails the filter. **/ Filtered: AugmentedError; + /** + * The unlock operation cannot succeed because there are still users of the lock. + **/ + InUse: AugmentedError; + /** + * Invalid asset for the operation. + **/ + InvalidAsset: AugmentedError; /** * Origin is invalid for sending. **/ InvalidOrigin: AugmentedError; + /** + * A remote lock with the corresponding data could not be found. + **/ + LockNotFound: AugmentedError; + /** + * The owner does not own (all) of the asset that they wish to do the operation on. + **/ + LowBalance: AugmentedError; /** * The referenced subscription could not be found. **/ @@ -763,6 +763,10 @@ declare module '@polkadot/api-base/types/errors' { * Too many assets have been attempted for transfer. **/ TooManyAssets: AugmentedError; + /** + * The asset owner has too many locks on the asset. + **/ + TooManyLocks: AugmentedError; /** * The desired destination was unreachable, generally because there is a no way of routing * to it. @@ -838,29 +842,29 @@ declare module '@polkadot/api-base/types/errors' { * A credential with the same root hash has already issued to the * specified subject. **/ - CredentialAlreadyIssued: AugmentedError; - /** - * No credential with the specified root hash has been issued to the - * specified subject. - **/ - CredentialNotFound: AugmentedError; + AlreadyAttested: AugmentedError; /** * Catch-all for any other errors that should not happen, yet it * happened. **/ - InternalError: AugmentedError; + Internal: AugmentedError; /** * The credential input is invalid. **/ InvalidInput: AugmentedError; /** - * Not enough tokens to pay for the fees or the deposit. + * The caller is not authorized to performed the operation. **/ - UnableToPayFees: AugmentedError; + NotAuthorized: AugmentedError; /** - * The caller is not authorized to performed the operation. + * No credential with the specified root hash has been issued to the + * specified subject. **/ - Unauthorized: AugmentedError; + NotFound: AugmentedError; + /** + * Not enough tokens to pay for the fees or the deposit. + **/ + UnableToPayFees: AugmentedError; }; scheduler: { /** @@ -1086,58 +1090,54 @@ declare module '@polkadot/api-base/types/errors' { }; web3Names: { /** - * The tx submitter does not have enough funds to pay for the deposit. - **/ - InsufficientFunds: AugmentedError; - /** - * A name that contains not allowed characters is being claimed. + * The specified name has already been previously banned. **/ - InvalidWeb3NameCharacter: AugmentedError; + AlreadyBanned: AugmentedError; /** - * The actor cannot performed the specified operation. + * The specified name has already been previously claimed. **/ - NotAuthorized: AugmentedError; + AlreadyExists: AugmentedError; /** - * The specified owner already owns a name. + * The specified name has been banned and cannot be interacted + * with. **/ - OwnerAlreadyExists: AugmentedError; + Banned: AugmentedError; /** - * The specified owner does not own any names. + * The tx submitter does not have enough funds to pay for the deposit. **/ - OwnerNotFound: AugmentedError; + InsufficientFunds: AugmentedError; /** - * The origin was not authorized to perform that action + * A name that contains not allowed characters is being claimed. **/ - Unauthorized: AugmentedError; + InvalidCharacter: AugmentedError; /** - * The specified name has already been previously banned. + * The actor cannot performed the specified operation. **/ - Web3NameAlreadyBanned: AugmentedError; + NotAuthorized: AugmentedError; /** - * The specified name has already been previously claimed. + * The specified name is not currently banned. **/ - Web3NameAlreadyClaimed: AugmentedError; + NotBanned: AugmentedError; /** - * The specified name has been banned and cannot be interacted - * with. + * The specified name does not exist. **/ - Web3NameBanned: AugmentedError; + NotFound: AugmentedError; /** - * The specified name is not currently banned. + * The specified owner already owns a name. **/ - Web3NameNotBanned: AugmentedError; + OwnerAlreadyExists: AugmentedError; /** - * The specified name does not exist. + * The specified owner does not own any names. **/ - Web3NameNotFound: AugmentedError; + OwnerNotFound: AugmentedError; /** * A name that is too long is being claimed. **/ - Web3NameTooLong: AugmentedError; + TooLong: AugmentedError; /** * A name that is too short is being claimed. **/ - Web3NameTooShort: AugmentedError; + TooShort: AugmentedError; }; xcmpQueue: { /** diff --git a/packages/augment-api/src/interfaces/augment-api-events.ts b/packages/augment-api/src/interfaces/augment-api-events.ts index 62202db54..e87878e06 100644 --- a/packages/augment-api/src/interfaces/augment-api-events.ts +++ b/packages/augment-api/src/interfaces/augment-api-events.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types'; import type { Bytes, Null, Option, Result, U8aFixed, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, H256, Perquintill } from '@polkadot/types/interfaces/runtime'; -import type { DelegationDelegationHierarchyPermissions, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletDidLookupLinkableAccountLinkableAccountId, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpRuntimeDispatchError, SpWeightsWeightV2Weight, SpiritnetRuntimeProxyType, XcmV1MultiLocation, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; +import type { DelegationDelegationHierarchyPermissions, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletDidLookupLinkableAccountLinkableAccountId, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpRuntimeDispatchError, SpWeightsWeightV2Weight, SpiritnetRuntimeProxyType, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; export type __AugmentedEvent = AugmentedEvent; @@ -130,7 +130,7 @@ declare module '@polkadot/api-base/types/events' { * Downward message executed with the given outcome. * \[ id, outcome \] **/ - ExecutedDownward: AugmentedEvent; + ExecutedDownward: AugmentedEvent; /** * Downward message is invalid XCM. * \[ id \] @@ -269,12 +269,20 @@ declare module '@polkadot/api-base/types/events' { * An association between a DID and an account ID was removed. **/ AssociationRemoved: AugmentedEvent; + /** + * All AccountIds have been migrated to LinkableAccountId. + **/ + MigrationCompleted: AugmentedEvent; + /** + * There was some progress in the migration process. + **/ + MigrationProgress: AugmentedEvent; }; dmpQueue: { /** * Downward message executed with the given outcome. **/ - ExecutedDownward: AugmentedEvent; + ExecutedDownward: AugmentedEvent; /** * Downward message is invalid XCM. **/ @@ -443,6 +451,10 @@ declare module '@polkadot/api-base/types/events' { * An upgrade has been authorized. **/ UpgradeAuthorized: AugmentedEvent; + /** + * An upward message was sent to the relay chain. + **/ + UpwardMessageSent: AugmentedEvent], { messageHash: Option }>; /** * The validation function was applied as of the contained relay chain block number. **/ @@ -462,19 +474,45 @@ declare module '@polkadot/api-base/types/events' { * * \[ hash, origin, assets \] **/ - AssetsClaimed: AugmentedEvent; + AssetsClaimed: AugmentedEvent; /** * Some assets have been placed in an asset trap. * * \[ hash, origin, assets \] **/ - AssetsTrapped: AugmentedEvent; + AssetsTrapped: AugmentedEvent; /** * Execution of an XCM message was attempted. * * \[ outcome \] **/ - Attempted: AugmentedEvent; + Attempted: AugmentedEvent; + /** + * Fees were paid from a location for an operation (often for using `SendXcm`). + * + * \[ paying location, fees \] + **/ + FeesPaid: AugmentedEvent; + /** + * Expected query response has been received but the querier location of the response does + * not match the expected. The query remains registered for a later, valid, response to + * be received and acted upon. + * + * \[ origin location, id, expected querier, maybe actual querier \] + **/ + InvalidQuerier: AugmentedEvent]>; + /** + * Expected query response has been received but the expected querier location placed in + * storage by this runtime previously cannot be decoded. The query remains registered. + * + * This is unexpected (since a location placed in storage in a previously executing + * runtime should be readable prior to query timeout) and dangerous since the possibly + * valid response will be dropped. Manual governance intervention is probably going to be + * needed. + * + * \[ origin location, id \] + **/ + InvalidQuerierVersion: AugmentedEvent; /** * Expected query response has been received but the origin location of the response does * not match that expected. The query remains registered for a later, valid, response to @@ -482,7 +520,7 @@ declare module '@polkadot/api-base/types/events' { * * \[ origin location, id, expected location \] **/ - InvalidResponder: AugmentedEvent]>; + InvalidResponder: AugmentedEvent]>; /** * Expected query response has been received but the expected origin location placed in * storage by this runtime previously cannot be decoded. The query remains registered. @@ -494,7 +532,7 @@ declare module '@polkadot/api-base/types/events' { * * \[ origin location, id \] **/ - InvalidResponderVersion: AugmentedEvent; + InvalidResponderVersion: AugmentedEvent; /** * Query response has been received and query is removed. The registered notification has * been dispatched and executed successfully. @@ -538,14 +576,14 @@ declare module '@polkadot/api-base/types/events' { * * \[ location, query ID, error \] **/ - NotifyTargetSendFail: AugmentedEvent; + NotifyTargetSendFail: AugmentedEvent; /** * Query response has been received and is ready for taking with `take_response`. There is * no registered notification call. * * \[ id, response \] **/ - ResponseReady: AugmentedEvent; + ResponseReady: AugmentedEvent; /** * Received query response has been read and removed. * @@ -557,14 +595,14 @@ declare module '@polkadot/api-base/types/events' { * * \[ origin, destination, message \] **/ - Sent: AugmentedEvent; + Sent: AugmentedEvent; /** * The supported version of a location has been changed. This might be through an * automatic notification or a manual intervention. * * \[ location, XCM version \] **/ - SupportedVersionChanged: AugmentedEvent; + SupportedVersionChanged: AugmentedEvent; /** * Query response received which does not match a registered query. This may be because a * matching query was never registered, it may be because it is a duplicate response, or @@ -572,13 +610,34 @@ declare module '@polkadot/api-base/types/events' { * * \[ origin location, id \] **/ - UnexpectedResponse: AugmentedEvent; + UnexpectedResponse: AugmentedEvent; /** * An XCM version change notification message has been attempted to be sent. * - * \[ destination, result \] + * The cost of sending it (borne by the chain) is included. + * + * \[ destination, result, cost \] + **/ + VersionChangeNotified: AugmentedEvent; + /** + * We have requested that a remote chain sends us XCM version change notifications. + * + * \[ destination location, cost \] **/ - VersionChangeNotified: AugmentedEvent; + VersionNotifyRequested: AugmentedEvent; + /** + * A remote has requested XCM version change notification from us and we have honored it. + * A version information message is sent to them and its cost is included. + * + * \[ destination location, cost \] + **/ + VersionNotifyStarted: AugmentedEvent; + /** + * We have requested that a remote chain stops sending us XCM version change notifications. + * + * \[ destination location, cost \] + **/ + VersionNotifyUnrequested: AugmentedEvent; }; preimage: { /** @@ -905,15 +964,15 @@ declare module '@polkadot/api-base/types/events' { /** * Bad XCM format used. **/ - BadFormat: AugmentedEvent], { messageHash: Option }>; + BadFormat: AugmentedEvent], { messageHash: Option }>; /** * Bad XCM version used. **/ - BadVersion: AugmentedEvent], { messageHash: Option }>; + BadVersion: AugmentedEvent], { messageHash: Option }>; /** * Some XCM failed. **/ - Fail: AugmentedEvent, error: XcmV2TraitsError, weight: SpWeightsWeightV2Weight], { messageHash: Option, error: XcmV2TraitsError, weight: SpWeightsWeightV2Weight }>; + Fail: AugmentedEvent, error: XcmV3TraitsError, weight: SpWeightsWeightV2Weight], { messageHash: Option, error: XcmV3TraitsError, weight: SpWeightsWeightV2Weight }>; /** * An XCM exceeded the individual message weight budget. **/ @@ -925,15 +984,11 @@ declare module '@polkadot/api-base/types/events' { /** * Some XCM was executed ok. **/ - Success: AugmentedEvent, weight: SpWeightsWeightV2Weight], { messageHash: Option, weight: SpWeightsWeightV2Weight }>; - /** - * An upward message was sent to the relay chain. - **/ - UpwardMessageSent: AugmentedEvent], { messageHash: Option }>; + Success: AugmentedEvent, weight: SpWeightsWeightV2Weight], { messageHash: Option, weight: SpWeightsWeightV2Weight }>; /** * An HRMP message was sent to a sibling parachain. **/ - XcmpMessageSent: AugmentedEvent], { messageHash: Option }>; + XcmpMessageSent: AugmentedEvent], { messageHash: Option }>; }; } // AugmentedEvents } // declare module diff --git a/packages/augment-api/src/interfaces/augment-api-query.ts b/packages/augment-api/src/interfaces/augment-api-query.ts index a41567134..dd5e9f356 100644 --- a/packages/augment-api/src/interfaces/augment-api-query.ts +++ b/packages/augment-api/src/interfaces/augment-api-query.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/ import type { BTreeMap, Bytes, Null, Option, U8aFixed, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec'; import type { AnyNumber, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H256 } from '@polkadot/types/interfaces/runtime'; -import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, KiltAssetDidsV1AssetDid, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupConnectionRecord, PalletDidLookupLinkableAccountLinkableAccountId, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, SpiritnetRuntimeSessionKeys } from '@polkadot/types/lookup'; +import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, KiltAssetDidsV1AssetDid, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupConnectionRecord, PalletDidLookupLinkableAccountLinkableAccountId, PalletDidLookupMigrationState, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, SpiritnetRuntimeSessionKeys } from '@polkadot/types/lookup'; import type { Observable } from '@polkadot/types/types'; export type __AugmentedQuery = AugmentedQuery unknown>; @@ -58,14 +58,6 @@ declare module '@polkadot/api-base/types/storage' { * Author of current block. **/ author: AugmentedQuery Observable>, []>; - /** - * Whether uncles were already set in this block. - **/ - didSetUncles: AugmentedQuery Observable, []>; - /** - * Uncles - **/ - uncles: AugmentedQuery Observable>, []>; }; balances: { /** @@ -260,12 +252,17 @@ declare module '@polkadot/api-base/types/storage' { * Mapping from account identifiers to DIDs. **/ connectedDids: AugmentedQuery Observable>, [PalletDidLookupLinkableAccountLinkableAccountId]>; + migrationStateStore: AugmentedQuery Observable, []>; }; dmpQueue: { /** * The configuration. **/ configuration: AugmentedQuery Observable, []>; + /** + * Counter for the related counted storage map + **/ + counterForOverweight: AugmentedQuery Observable, []>; /** * The overweight messages. **/ @@ -822,6 +819,10 @@ declare module '@polkadot/api-base/types/storage' { owner: AugmentedQuery Observable>, [Bytes]>; }; xcmpQueue: { + /** + * Counter for the related counted storage map + **/ + counterForOverweight: AugmentedQuery Observable, []>; /** * Inbound aggregate XCMP messages. It can only be one per ParaId/block. **/ diff --git a/packages/augment-api/src/interfaces/augment-api-runtime.ts b/packages/augment-api/src/interfaces/augment-api-runtime.ts index 151e0ea9e..083ee0388 100644 --- a/packages/augment-api/src/interfaces/augment-api-runtime.ts +++ b/packages/augment-api/src/interfaces/augment-api-runtime.ts @@ -9,16 +9,15 @@ import '@polkadot/api-base/types/calls'; import type { DidApiAccountId, PublicCredentialError, PublicCredentialFilter, RawDidLinkedInfo, StakingRates } from './extraDefs/index.js'; import type { ApiTypes, AugmentedCall, DecoratedCallBase } from '@polkadot/api-base/types'; -import type { Bytes, Null, Option, Result, Text, Vec, u32 } from '@polkadot/types-codec'; -import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; +import type { Bytes, Null, Option, Result, Text, Vec } from '@polkadot/types-codec'; +import type { ITuple } from '@polkadot/types-codec/types'; import type { CheckInherentsResult, InherentData } from '@polkadot/types/interfaces/blockbuilder'; import type { BlockHash } from '@polkadot/types/interfaces/chain'; import type { AuthorityId } from '@polkadot/types/interfaces/consensus'; import type { CollationInfo } from '@polkadot/types/interfaces/cumulus'; import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics'; import type { OpaqueMetadata } from '@polkadot/types/interfaces/metadata'; -import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment'; -import type { AccountId, AccountId32, Balance, Block, Call, Hash, Header, Index, KeyTypeId, SlotDuration } from '@polkadot/types/interfaces/runtime'; +import type { AccountId, AccountId32, Balance, Block, Hash, Header, Index, KeyTypeId, SlotDuration } from '@polkadot/types/interfaces/runtime'; import type { RuntimeVersion } from '@polkadot/types/interfaces/state'; import type { ApplyExtrinsicResult } from '@polkadot/types/interfaces/system'; import type { TransactionSource, TransactionValidity } from '@polkadot/types/interfaces/txqueue'; @@ -160,27 +159,5 @@ declare module '@polkadot/api-base/types/calls' { **/ validateTransaction: AugmentedCall Observable>; }; - /** 0x37c8bb1350a9a2a8/2 */ - transactionPaymentApi: { - /** - * The transaction fee details - **/ - queryFeeDetails: AugmentedCall Observable>; - /** - * The transaction info - **/ - queryInfo: AugmentedCall Observable>; - }; - /** 0xf3ff14d5ab527059/2 */ - transactionPaymentCallApi: { - /** - * The call fee details - **/ - queryCallFeeDetails: AugmentedCall Observable>; - /** - * The call info - **/ - queryCallInfo: AugmentedCall Observable>; - }; } // AugmentedCalls } // declare module diff --git a/packages/augment-api/src/interfaces/augment-api-tx.ts b/packages/augment-api/src/interfaces/augment-api-tx.ts index a4b9a9051..27fc8ab12 100644 --- a/packages/augment-api/src/interfaces/augment-api-tx.ts +++ b/packages/augment-api/src/interfaces/augment-api-tx.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableE import type { Bytes, Compact, Option, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H256, MultiAddress, Perquintill } from '@polkadot/types/interfaces/runtime'; -import type { CumulusPrimitivesParachainInherentParachainInherentData, DelegationDelegationHierarchyPermissions, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidServiceEndpointsDidEndpoint, FrameSupportPreimagesBounded, PalletDemocracyConviction, PalletDemocracyVoteAccountVote, PalletDidLookupAssociateAccountRequest, PalletDidLookupLinkableAccountLinkableAccountId, PalletVestingVestingInfo, PublicCredentialsCredentialsCredential, RuntimeCommonAuthorizationPalletAuthorize, SpRuntimeHeader, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeSessionKeys, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { CumulusPrimitivesParachainInherentParachainInherentData, DelegationDelegationHierarchyPermissions, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidServiceEndpointsDidEndpoint, FrameSupportPreimagesBounded, PalletDemocracyConviction, PalletDemocracyVoteAccountVote, PalletDidLookupAssociateAccountRequest, PalletDidLookupLinkableAccountLinkableAccountId, PalletVestingVestingInfo, PublicCredentialsCredentialsCredential, RuntimeCommonAuthorizationPalletAuthorize, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeSessionKeys, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>; export type __SubmittableExtrinsic = SubmittableExtrinsic; @@ -111,12 +111,6 @@ declare module '@polkadot/api-base/types/submittable' { **/ updateDeposit: AugmentedSubmittable<(claimHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; }; - authorship: { - /** - * Provide a set of uncles. - **/ - setUncles: AugmentedSubmittable<(newUncles: Vec | (SpRuntimeHeader | { parentHash?: any; number?: any; stateRoot?: any; extrinsicsRoot?: any; digest?: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; - }; balances: { /** * Exactly as `transfer`, except the origin must be root and the source account may be @@ -1153,7 +1147,7 @@ declare module '@polkadot/api-base/types/submittable' { * - Writes: ConnectedDids + ConnectedAccounts * # **/ - associateAccount: AugmentedSubmittable<(req: PalletDidLookupAssociateAccountRequest | { Dotsama: any } | { Ethereum: any } | string | Uint8Array, expiration: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupAssociateAccountRequest, u64]>; + associateAccount: AugmentedSubmittable<(req: PalletDidLookupAssociateAccountRequest | { Polkadot: any } | { Ethereum: any } | string | Uint8Array, expiration: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupAssociateAccountRequest, u64]>; /** * Associate the sender of the call to the DID that authorized this * call. @@ -1178,6 +1172,15 @@ declare module '@polkadot/api-base/types/submittable' { * The sender of the call will be the new deposit owner. **/ changeDepositOwner: AugmentedSubmittable<(account: PalletDidLookupLinkableAccountLinkableAccountId | { AccountId20: any } | { AccountId32: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupLinkableAccountLinkableAccountId]>; + /** + * Executes the key type migration of the `ConnectedDids` and + * `ConnectedAccounts` storages by converting the given `AccountId` + * into `LinkableAccountId(AccountId)`. Once all keys have been + * migrated, the migration is done and this call will be filtered. + * + * Can be called by any origin. + **/ + migrate: AugmentedSubmittable<(limit: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** * Remove the association of the provided account. This call can only * be called from the deposit owner. The reserved deposit will be @@ -1229,19 +1232,8 @@ declare module '@polkadot/api-base/types/submittable' { dmpQueue: { /** * Service a single overweight message. - * - * - `origin`: Must pass `ExecuteOverweightOrigin`. - * - `index`: The index of the overweight message to service. - * - `weight_limit`: The amount of weight that message execution may take. - * - * Errors: - * - `Unknown`: Message of `index` is unknown. - * - `OverLimit`: Message execution may use greater than `weight_limit`. - * - * Events: - * - `OverweightServiced`: On success. **/ - serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64, u64]>; + serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [u64, SpWeightsWeightV2Weight]>; }; indices: { /** @@ -1715,7 +1707,7 @@ declare module '@polkadot/api-base/types/submittable' { * NOTE: A successful return to this does *not* imply that the `msg` was executed successfully * to completion; only that *some* of it was executed. **/ - execute: AugmentedSubmittable<(message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array, maxWeight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmVersionedXcm, u64]>; + execute: AugmentedSubmittable<(message: XcmVersionedXcm | { V2: any } | { V3: any } | string | Uint8Array, maxWeight: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedXcm, SpWeightsWeightV2Weight]>; /** * Set a safe XCM version (the version that XCM should be encoded with if the most recent * version a destination can accept is unknown). @@ -1730,7 +1722,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `origin`: Must be Root. * - `location`: The location to which we should subscribe for XCM version notifications. **/ - forceSubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation]>; + forceSubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation]>; /** * Require that a particular destination should no longer notify us regarding any XCM * version changes. @@ -1739,7 +1731,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `location`: The location to which we are currently subscribed for XCM version * notifications which we no longer desire. **/ - forceUnsubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation]>; + forceUnsubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation]>; /** * Extoll that a particular destination can be communicated with through a particular * version of XCM. @@ -1748,7 +1740,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `location`: The destination that is being described. * - `xcm_version`: The latest version of XCM that `location` supports. **/ - forceXcmVersion: AugmentedSubmittable<(location: XcmV1MultiLocation | { parents?: any; interior?: any } | string | Uint8Array, xcmVersion: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmV1MultiLocation, u32]>; + forceXcmVersion: AugmentedSubmittable<(location: XcmV3MultiLocation | { parents?: any; interior?: any } | string | Uint8Array, xcmVersion: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmV3MultiLocation, u32]>; /** * Transfer some assets from the local chain to the sovereign account of a destination * chain and forward a notification XCM. @@ -1769,7 +1761,7 @@ declare module '@polkadot/api-base/types/submittable' { * fees. * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase. **/ - limitedReserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>; + limitedReserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V2: any } | { V3: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV3WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV3WeightLimit]>; /** * Teleport some assets from the local chain to some destination chain. * @@ -1789,7 +1781,7 @@ declare module '@polkadot/api-base/types/submittable' { * fees. * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase. **/ - limitedTeleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV2WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV2WeightLimit]>; + limitedTeleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V2: any } | { V3: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV3WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV3WeightLimit]>; /** * Transfer some assets from the local chain to the sovereign account of a destination * chain and forward a notification XCM. @@ -1808,8 +1800,8 @@ declare module '@polkadot/api-base/types/submittable' { * - `fee_asset_item`: The index into `assets` of the item which should be used to pay * fees. **/ - reserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>; - send: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, message: XcmVersionedXcm | { V0: any } | { V1: any } | { V2: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedXcm]>; + reserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V2: any } | { V3: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>; + send: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, message: XcmVersionedXcm | { V2: any } | { V3: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedXcm]>; /** * Teleport some assets from the local chain to some destination chain. * @@ -1827,7 +1819,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `fee_asset_item`: The index into `assets` of the item which should be used to pay * fees. **/ - teleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V0: any } | { V1: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V0: any } | { V1: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>; + teleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V2: any } | { V3: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>; }; preimage: { /** @@ -1935,8 +1927,6 @@ declare module '@polkadot/api-base/types/submittable' { * Dispatch the given `call` from an account that the sender is authorised for through * `add_proxy`. * - * Removes any corresponding announcement(s). - * * The dispatch origin for this call must be _Signed_. * * Parameters: @@ -3056,7 +3046,7 @@ declare module '@polkadot/api-base/types/submittable' { * Events: * - `OverweightServiced`: On success. **/ - serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64, u64]>; + serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [u64, SpWeightsWeightV2Weight]>; /** * Suspends all XCM executions for the XCMP queue, regardless of the sender's origin. * @@ -3093,7 +3083,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `origin`: Must pass `Root`. * - `new`: Desired value for `QueueConfigData.threshold_weight` **/ - updateThresholdWeight: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; + updateThresholdWeight: AugmentedSubmittable<(updated: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [SpWeightsWeightV2Weight]>; /** * Overwrites the speed to which the available weight approaches the maximum weight. * A lower number results in a faster progression. A value of 1 makes the entire weight available initially. @@ -3101,7 +3091,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `origin`: Must pass `Root`. * - `new`: Desired value for `QueueConfigData.weight_restrict_decay`. **/ - updateWeightRestrictDecay: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; + updateWeightRestrictDecay: AugmentedSubmittable<(updated: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [SpWeightsWeightV2Weight]>; /** * Overwrite the maximum amount of weight any individual message may consume. * Messages above this weight go into the overweight queue and may only be serviced explicitly. @@ -3109,7 +3099,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `origin`: Must pass `Root`. * - `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`. **/ - updateXcmpMaxIndividualWeight: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; + updateXcmpMaxIndividualWeight: AugmentedSubmittable<(updated: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [SpWeightsWeightV2Weight]>; }; } // AugmentedSubmittables } // declare module diff --git a/packages/augment-api/src/interfaces/lookup.ts b/packages/augment-api/src/interfaces/lookup.ts index 0eb1c4671..835e39a28 100644 --- a/packages/augment-api/src/interfaces/lookup.ts +++ b/packages/augment-api/src/interfaces/lookup.ts @@ -669,7 +669,9 @@ export default { PalletDidLookupEvent: { _enum: { AssociationEstablished: '(PalletDidLookupLinkableAccountLinkableAccountId,AccountId32)', - AssociationRemoved: '(PalletDidLookupLinkableAccountLinkableAccountId,AccountId32)' + AssociationRemoved: '(PalletDidLookupLinkableAccountLinkableAccountId,AccountId32)', + MigrationProgress: 'Null', + MigrationCompleted: 'Null' } }, /** @@ -807,7 +809,10 @@ export default { }, DownwardMessagesProcessed: { weightUsed: 'SpWeightsWeightV2Weight', - dmqHead: 'H256' + dmqHead: 'H256', + }, + UpwardMessageSent: { + messageHash: 'Option<[u8;32]>' } } }, @@ -817,25 +822,22 @@ export default { CumulusPalletXcmpQueueEvent: { _enum: { Success: { - messageHash: 'Option', + messageHash: 'Option<[u8;32]>', weight: 'SpWeightsWeightV2Weight', }, Fail: { - messageHash: 'Option', - error: 'XcmV2TraitsError', + messageHash: 'Option<[u8;32]>', + error: 'XcmV3TraitsError', weight: 'SpWeightsWeightV2Weight', }, BadVersion: { - messageHash: 'Option', + messageHash: 'Option<[u8;32]>', }, BadFormat: { - messageHash: 'Option', - }, - UpwardMessageSent: { - messageHash: 'Option', + messageHash: 'Option<[u8;32]>', }, XcmpMessageSent: { - messageHash: 'Option', + messageHash: 'Option<[u8;32]>', }, OverweightEnqueued: { sender: 'u32', @@ -850,16 +852,16 @@ export default { } }, /** - * Lookup103: xcm::v2::traits::Error + * Lookup102: xcm::v3::traits::Error **/ - XcmV2TraitsError: { + XcmV3TraitsError: { _enum: { Overflow: 'Null', Unimplemented: 'Null', UntrustedReserveLocation: 'Null', UntrustedTeleportLocation: 'Null', - MultiLocationFull: 'Null', - MultiLocationNotInvertible: 'Null', + LocationFull: 'Null', + LocationNotInvertible: 'Null', BadOrigin: 'Null', InvalidLocation: 'Null', AssetNotFound: 'Null', @@ -876,115 +878,150 @@ export default { NotHoldingFees: 'Null', TooExpensive: 'Null', Trap: 'u64', + ExpectationFalse: 'Null', + PalletNotFound: 'Null', + NameMismatch: 'Null', + VersionIncompatible: 'Null', + HoldingWouldOverflow: 'Null', + ExportError: 'Null', + ReanchorFailed: 'Null', + NoDeal: 'Null', + FeesNotMet: 'Null', + LockError: 'Null', + NoPermission: 'Null', + Unanchored: 'Null', + NotDepositable: 'Null', UnhandledXcmVersion: 'Null', - WeightLimitReached: 'u64', + WeightLimitReached: 'SpWeightsWeightV2Weight', Barrier: 'Null', - WeightNotComputable: 'Null' + WeightNotComputable: 'Null', + ExceedsStackLimit: 'Null' } }, /** - * Lookup105: pallet_xcm::pallet::Event + * Lookup104: pallet_xcm::pallet::Event **/ PalletXcmEvent: { _enum: { - Attempted: 'XcmV2TraitsOutcome', - Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)', - UnexpectedResponse: '(XcmV1MultiLocation,u64)', - ResponseReady: '(u64,XcmV2Response)', + Attempted: 'XcmV3TraitsOutcome', + Sent: '(XcmV3MultiLocation,XcmV3MultiLocation,XcmV3Xcm)', + UnexpectedResponse: '(XcmV3MultiLocation,u64)', + ResponseReady: '(u64,XcmV3Response)', Notified: '(u64,u8,u8)', NotifyOverweight: '(u64,u8,u8,SpWeightsWeightV2Weight,SpWeightsWeightV2Weight)', NotifyDispatchError: '(u64,u8,u8)', NotifyDecodeFailed: '(u64,u8,u8)', - InvalidResponder: '(XcmV1MultiLocation,u64,Option)', - InvalidResponderVersion: '(XcmV1MultiLocation,u64)', + InvalidResponder: '(XcmV3MultiLocation,u64,Option)', + InvalidResponderVersion: '(XcmV3MultiLocation,u64)', ResponseTaken: 'u64', - AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)', - VersionChangeNotified: '(XcmV1MultiLocation,u32)', - SupportedVersionChanged: '(XcmV1MultiLocation,u32)', - NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)', + AssetsTrapped: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)', + VersionChangeNotified: '(XcmV3MultiLocation,u32,XcmV3MultiassetMultiAssets)', + SupportedVersionChanged: '(XcmV3MultiLocation,u32)', + NotifyTargetSendFail: '(XcmV3MultiLocation,u64,XcmV3TraitsError)', NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)', - AssetsClaimed: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)' + InvalidQuerierVersion: '(XcmV3MultiLocation,u64)', + InvalidQuerier: '(XcmV3MultiLocation,u64,XcmV3MultiLocation,Option)', + VersionNotifyStarted: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', + VersionNotifyRequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', + VersionNotifyUnrequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', + FeesPaid: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', + AssetsClaimed: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)' } }, /** - * Lookup106: xcm::v2::traits::Outcome + * Lookup105: xcm::v3::traits::Outcome **/ - XcmV2TraitsOutcome: { + XcmV3TraitsOutcome: { _enum: { - Complete: 'u64', - Incomplete: '(u64,XcmV2TraitsError)', - Error: 'XcmV2TraitsError' + Complete: 'SpWeightsWeightV2Weight', + Incomplete: '(SpWeightsWeightV2Weight,XcmV3TraitsError)', + Error: 'XcmV3TraitsError' } }, /** - * Lookup107: xcm::v1::multilocation::MultiLocation + * Lookup106: xcm::v3::multilocation::MultiLocation **/ - XcmV1MultiLocation: { + XcmV3MultiLocation: { parents: 'u8', - interior: 'XcmV1MultilocationJunctions' + interior: 'XcmV3Junctions' }, /** - * Lookup108: xcm::v1::multilocation::Junctions + * Lookup107: xcm::v3::junctions::Junctions **/ - XcmV1MultilocationJunctions: { + XcmV3Junctions: { _enum: { Here: 'Null', - X1: 'XcmV1Junction', - X2: '(XcmV1Junction,XcmV1Junction)', - X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)', - X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)', - X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)', - X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)', - X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)', - X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)' + X1: 'XcmV3Junction', + X2: '(XcmV3Junction,XcmV3Junction)', + X3: '(XcmV3Junction,XcmV3Junction,XcmV3Junction)', + X4: '(XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction)', + X5: '(XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction)', + X6: '(XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction)', + X7: '(XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction)', + X8: '(XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction,XcmV3Junction)' } }, /** - * Lookup109: xcm::v1::junction::Junction + * Lookup108: xcm::v3::junction::Junction **/ - XcmV1Junction: { + XcmV3Junction: { _enum: { Parachain: 'Compact', AccountId32: { - network: 'XcmV0JunctionNetworkId', + network: 'Option', id: '[u8;32]', }, AccountIndex64: { - network: 'XcmV0JunctionNetworkId', + network: 'Option', index: 'Compact', }, AccountKey20: { - network: 'XcmV0JunctionNetworkId', + network: 'Option', key: '[u8;20]', }, PalletInstance: 'u8', GeneralIndex: 'Compact', - GeneralKey: 'Bytes', + GeneralKey: { + length: 'u8', + data: '[u8;32]', + }, OnlyChild: 'Null', Plurality: { - id: 'XcmV0JunctionBodyId', - part: 'XcmV0JunctionBodyPart' - } + id: 'XcmV3JunctionBodyId', + part: 'XcmV3JunctionBodyPart', + }, + GlobalConsensus: 'XcmV3JunctionNetworkId' } }, /** - * Lookup111: xcm::v0::junction::NetworkId + * Lookup111: xcm::v3::junction::NetworkId **/ - XcmV0JunctionNetworkId: { + XcmV3JunctionNetworkId: { _enum: { - Any: 'Null', - Named: 'Bytes', + ByGenesis: '[u8;32]', + ByFork: { + blockNumber: 'u64', + blockHash: '[u8;32]', + }, Polkadot: 'Null', - Kusama: 'Null' + Kusama: 'Null', + Westend: 'Null', + Rococo: 'Null', + Wococo: 'Null', + Ethereum: { + chainId: 'Compact', + }, + BitcoinCore: 'Null', + BitcoinCash: 'Null' } }, /** - * Lookup114: xcm::v0::junction::BodyId + * Lookup113: xcm::v3::junction::BodyId **/ - XcmV0JunctionBodyId: { + XcmV3JunctionBodyId: { _enum: { Unit: 'Null', - Named: 'Bytes', + Moniker: '[u8;4]', Index: 'Compact', Executive: 'Null', Technical: 'Null', @@ -996,9 +1033,9 @@ export default { } }, /** - * Lookup115: xcm::v0::junction::BodyPart + * Lookup114: xcm::v3::junction::BodyPart **/ - XcmV0JunctionBodyPart: { + XcmV3JunctionBodyPart: { _enum: { Voice: 'Null', Members: { @@ -1019,34 +1056,35 @@ export default { } }, /** - * Lookup116: xcm::v2::Xcm + * Lookup115: xcm::v3::Xcm **/ - XcmV2Xcm: 'Vec', + XcmV3Xcm: 'Vec', /** - * Lookup118: xcm::v2::Instruction + * Lookup117: xcm::v3::Instruction **/ - XcmV2Instruction: { + XcmV3Instruction: { _enum: { - WithdrawAsset: 'XcmV1MultiassetMultiAssets', - ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets', - ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets', + WithdrawAsset: 'XcmV3MultiassetMultiAssets', + ReserveAssetDeposited: 'XcmV3MultiassetMultiAssets', + ReceiveTeleportedAsset: 'XcmV3MultiassetMultiAssets', QueryResponse: { queryId: 'Compact', - response: 'XcmV2Response', - maxWeight: 'Compact', + response: 'XcmV3Response', + maxWeight: 'SpWeightsWeightV2Weight', + querier: 'Option', }, TransferAsset: { - assets: 'XcmV1MultiassetMultiAssets', - beneficiary: 'XcmV1MultiLocation', + assets: 'XcmV3MultiassetMultiAssets', + beneficiary: 'XcmV3MultiLocation', }, TransferReserveAsset: { - assets: 'XcmV1MultiassetMultiAssets', - dest: 'XcmV1MultiLocation', - xcm: 'XcmV2Xcm', + assets: 'XcmV3MultiassetMultiAssets', + dest: 'XcmV3MultiLocation', + xcm: 'XcmV3Xcm', }, Transact: { - originType: 'XcmV0OriginKind', - requireWeightAtMost: 'Compact', + originKind: 'XcmV2OriginKind', + requireWeightAtMost: 'SpWeightsWeightV2Weight', call: 'XcmDoubleEncoded', }, HrmpNewChannelOpenRequest: { @@ -1063,246 +1101,316 @@ export default { recipient: 'Compact', }, ClearOrigin: 'Null', - DescendOrigin: 'XcmV1MultilocationJunctions', - ReportError: { - queryId: 'Compact', - dest: 'XcmV1MultiLocation', - maxResponseWeight: 'Compact', - }, + DescendOrigin: 'XcmV3Junctions', + ReportError: 'XcmV3QueryResponseInfo', DepositAsset: { - assets: 'XcmV1MultiassetMultiAssetFilter', - maxAssets: 'Compact', - beneficiary: 'XcmV1MultiLocation', + assets: 'XcmV3MultiassetMultiAssetFilter', + beneficiary: 'XcmV3MultiLocation', }, DepositReserveAsset: { - assets: 'XcmV1MultiassetMultiAssetFilter', - maxAssets: 'Compact', - dest: 'XcmV1MultiLocation', - xcm: 'XcmV2Xcm', + assets: 'XcmV3MultiassetMultiAssetFilter', + dest: 'XcmV3MultiLocation', + xcm: 'XcmV3Xcm', }, ExchangeAsset: { - give: 'XcmV1MultiassetMultiAssetFilter', - receive: 'XcmV1MultiassetMultiAssets', + give: 'XcmV3MultiassetMultiAssetFilter', + want: 'XcmV3MultiassetMultiAssets', + maximal: 'bool', }, InitiateReserveWithdraw: { - assets: 'XcmV1MultiassetMultiAssetFilter', - reserve: 'XcmV1MultiLocation', - xcm: 'XcmV2Xcm', + assets: 'XcmV3MultiassetMultiAssetFilter', + reserve: 'XcmV3MultiLocation', + xcm: 'XcmV3Xcm', }, InitiateTeleport: { - assets: 'XcmV1MultiassetMultiAssetFilter', - dest: 'XcmV1MultiLocation', - xcm: 'XcmV2Xcm', + assets: 'XcmV3MultiassetMultiAssetFilter', + dest: 'XcmV3MultiLocation', + xcm: 'XcmV3Xcm', }, - QueryHolding: { - queryId: 'Compact', - dest: 'XcmV1MultiLocation', - assets: 'XcmV1MultiassetMultiAssetFilter', - maxResponseWeight: 'Compact', + ReportHolding: { + responseInfo: 'XcmV3QueryResponseInfo', + assets: 'XcmV3MultiassetMultiAssetFilter', }, BuyExecution: { - fees: 'XcmV1MultiAsset', - weightLimit: 'XcmV2WeightLimit', + fees: 'XcmV3MultiAsset', + weightLimit: 'XcmV3WeightLimit', }, RefundSurplus: 'Null', - SetErrorHandler: 'XcmV2Xcm', - SetAppendix: 'XcmV2Xcm', + SetErrorHandler: 'XcmV3Xcm', + SetAppendix: 'XcmV3Xcm', ClearError: 'Null', ClaimAsset: { - assets: 'XcmV1MultiassetMultiAssets', - ticket: 'XcmV1MultiLocation', + assets: 'XcmV3MultiassetMultiAssets', + ticket: 'XcmV3MultiLocation', }, Trap: 'Compact', SubscribeVersion: { queryId: 'Compact', - maxResponseWeight: 'Compact', - }, - UnsubscribeVersion: 'Null' + maxResponseWeight: 'SpWeightsWeightV2Weight', + }, + UnsubscribeVersion: 'Null', + BurnAsset: 'XcmV3MultiassetMultiAssets', + ExpectAsset: 'XcmV3MultiassetMultiAssets', + ExpectOrigin: 'Option', + ExpectError: 'Option<(u32,XcmV3TraitsError)>', + ExpectTransactStatus: 'XcmV3MaybeErrorCode', + QueryPallet: { + moduleName: 'Bytes', + responseInfo: 'XcmV3QueryResponseInfo', + }, + ExpectPallet: { + index: 'Compact', + name: 'Bytes', + moduleName: 'Bytes', + crateMajor: 'Compact', + minCrateMinor: 'Compact', + }, + ReportTransactStatus: 'XcmV3QueryResponseInfo', + ClearTransactStatus: 'Null', + UniversalOrigin: 'XcmV3Junction', + ExportMessage: { + network: 'XcmV3JunctionNetworkId', + destination: 'XcmV3Junctions', + xcm: 'XcmV3Xcm', + }, + LockAsset: { + asset: 'XcmV3MultiAsset', + unlocker: 'XcmV3MultiLocation', + }, + UnlockAsset: { + asset: 'XcmV3MultiAsset', + target: 'XcmV3MultiLocation', + }, + NoteUnlockable: { + asset: 'XcmV3MultiAsset', + owner: 'XcmV3MultiLocation', + }, + RequestUnlock: { + asset: 'XcmV3MultiAsset', + locker: 'XcmV3MultiLocation', + }, + SetFeesMode: { + jitWithdraw: 'bool', + }, + SetTopic: '[u8;32]', + ClearTopic: 'Null', + AliasOrigin: 'XcmV3MultiLocation', + UnpaidExecution: { + weightLimit: 'XcmV3WeightLimit', + checkOrigin: 'Option' + } } }, /** - * Lookup119: xcm::v1::multiasset::MultiAssets + * Lookup118: xcm::v3::multiasset::MultiAssets **/ - XcmV1MultiassetMultiAssets: 'Vec', + XcmV3MultiassetMultiAssets: 'Vec', /** - * Lookup121: xcm::v1::multiasset::MultiAsset + * Lookup120: xcm::v3::multiasset::MultiAsset **/ - XcmV1MultiAsset: { - id: 'XcmV1MultiassetAssetId', - fun: 'XcmV1MultiassetFungibility' + XcmV3MultiAsset: { + id: 'XcmV3MultiassetAssetId', + fun: 'XcmV3MultiassetFungibility' }, /** - * Lookup122: xcm::v1::multiasset::AssetId + * Lookup121: xcm::v3::multiasset::AssetId **/ - XcmV1MultiassetAssetId: { + XcmV3MultiassetAssetId: { _enum: { - Concrete: 'XcmV1MultiLocation', - Abstract: 'Bytes' + Concrete: 'XcmV3MultiLocation', + Abstract: '[u8;32]' } }, /** - * Lookup123: xcm::v1::multiasset::Fungibility + * Lookup122: xcm::v3::multiasset::Fungibility **/ - XcmV1MultiassetFungibility: { + XcmV3MultiassetFungibility: { _enum: { Fungible: 'Compact', - NonFungible: 'XcmV1MultiassetAssetInstance' + NonFungible: 'XcmV3MultiassetAssetInstance' } }, /** - * Lookup124: xcm::v1::multiasset::AssetInstance + * Lookup123: xcm::v3::multiasset::AssetInstance **/ - XcmV1MultiassetAssetInstance: { + XcmV3MultiassetAssetInstance: { _enum: { Undefined: 'Null', Index: 'Compact', Array4: '[u8;4]', Array8: '[u8;8]', Array16: '[u8;16]', - Array32: '[u8;32]', - Blob: 'Bytes' + Array32: '[u8;32]' } }, /** - * Lookup126: xcm::v2::Response + * Lookup125: xcm::v3::Response **/ - XcmV2Response: { + XcmV3Response: { _enum: { Null: 'Null', - Assets: 'XcmV1MultiassetMultiAssets', - ExecutionResult: 'Option<(u32,XcmV2TraitsError)>', - Version: 'u32' + Assets: 'XcmV3MultiassetMultiAssets', + ExecutionResult: 'Option<(u32,XcmV3TraitsError)>', + Version: 'u32', + PalletsInfo: 'XcmV3VecPalletInfo', + DispatchResult: 'XcmV3MaybeErrorCode' } }, /** - * Lookup129: xcm::v0::OriginKind + * Lookup128: xcm::v3::VecPalletInfo + **/ + XcmV3VecPalletInfo: 'Vec', + /** + * Lookup130: xcm::v3::PalletInfo + **/ + XcmV3PalletInfo: { + index: 'Compact', + name: 'Bytes', + moduleName: 'Bytes', + major: 'Compact', + minor: 'Compact', + patch: 'Compact' + }, + /** + * Lookup131: xcm::v3::MaybeErrorCode **/ - XcmV0OriginKind: { + XcmV3MaybeErrorCode: { + _enum: { + Success: 'Null', + Error: 'Bytes', + TruncatedError: 'Bytes' + } + }, + /** + * Lookup133: xcm::v2::OriginKind + **/ + XcmV2OriginKind: { _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm'] }, /** - * Lookup130: xcm::double_encoded::DoubleEncoded + * Lookup134: xcm::double_encoded::DoubleEncoded **/ XcmDoubleEncoded: { encoded: 'Bytes' }, /** - * Lookup131: xcm::v1::multiasset::MultiAssetFilter + * Lookup135: xcm::v3::QueryResponseInfo **/ - XcmV1MultiassetMultiAssetFilter: { + XcmV3QueryResponseInfo: { + destination: 'XcmV3MultiLocation', + queryId: 'Compact', + maxWeight: 'SpWeightsWeightV2Weight' + }, + /** + * Lookup136: xcm::v3::multiasset::MultiAssetFilter + **/ + XcmV3MultiassetMultiAssetFilter: { _enum: { - Definite: 'XcmV1MultiassetMultiAssets', - Wild: 'XcmV1MultiassetWildMultiAsset' + Definite: 'XcmV3MultiassetMultiAssets', + Wild: 'XcmV3MultiassetWildMultiAsset' } }, /** - * Lookup132: xcm::v1::multiasset::WildMultiAsset + * Lookup137: xcm::v3::multiasset::WildMultiAsset **/ - XcmV1MultiassetWildMultiAsset: { + XcmV3MultiassetWildMultiAsset: { _enum: { All: 'Null', AllOf: { - id: 'XcmV1MultiassetAssetId', - fun: 'XcmV1MultiassetWildFungibility' + id: 'XcmV3MultiassetAssetId', + fun: 'XcmV3MultiassetWildFungibility', + }, + AllCounted: 'Compact', + AllOfCounted: { + id: 'XcmV3MultiassetAssetId', + fun: 'XcmV3MultiassetWildFungibility', + count: 'Compact' } } }, /** - * Lookup133: xcm::v1::multiasset::WildFungibility + * Lookup138: xcm::v3::multiasset::WildFungibility **/ - XcmV1MultiassetWildFungibility: { + XcmV3MultiassetWildFungibility: { _enum: ['Fungible', 'NonFungible'] }, /** - * Lookup134: xcm::v2::WeightLimit + * Lookup139: xcm::v3::WeightLimit **/ - XcmV2WeightLimit: { + XcmV3WeightLimit: { _enum: { Unlimited: 'Null', - Limited: 'Compact' + Limited: 'SpWeightsWeightV2Weight' } }, /** - * Lookup136: xcm::VersionedMultiAssets + * Lookup140: xcm::VersionedMultiAssets **/ XcmVersionedMultiAssets: { _enum: { - V0: 'Vec', - V1: 'XcmV1MultiassetMultiAssets' + V2: 'XcmV2MultiassetMultiAssets', + V3: 'XcmV3MultiassetMultiAssets' } }, /** - * Lookup138: xcm::v0::multi_asset::MultiAsset + * Lookup141: xcm::v2::multiasset::MultiAssets + **/ + XcmV2MultiassetMultiAssets: 'Vec', + /** + * Lookup143: xcm::v2::multiasset::MultiAsset + **/ + XcmV2MultiAsset: { + id: 'XcmV2MultiassetAssetId', + fun: 'XcmV2MultiassetFungibility' + }, + /** + * Lookup144: xcm::v2::multiasset::AssetId **/ - XcmV0MultiAsset: { + XcmV2MultiassetAssetId: { _enum: { - None: 'Null', - All: 'Null', - AllFungible: 'Null', - AllNonFungible: 'Null', - AllAbstractFungible: { - id: 'Bytes', - }, - AllAbstractNonFungible: { - class: 'Bytes', - }, - AllConcreteFungible: { - id: 'XcmV0MultiLocation', - }, - AllConcreteNonFungible: { - class: 'XcmV0MultiLocation', - }, - AbstractFungible: { - id: 'Bytes', - amount: 'Compact', - }, - AbstractNonFungible: { - class: 'Bytes', - instance: 'XcmV1MultiassetAssetInstance', - }, - ConcreteFungible: { - id: 'XcmV0MultiLocation', - amount: 'Compact', - }, - ConcreteNonFungible: { - class: 'XcmV0MultiLocation', - instance: 'XcmV1MultiassetAssetInstance' - } + Concrete: 'XcmV2MultiLocation', + Abstract: 'Bytes' } }, /** - * Lookup139: xcm::v0::multi_location::MultiLocation + * Lookup145: xcm::v2::multilocation::MultiLocation + **/ + XcmV2MultiLocation: { + parents: 'u8', + interior: 'XcmV2MultilocationJunctions' + }, + /** + * Lookup146: xcm::v2::multilocation::Junctions **/ - XcmV0MultiLocation: { + XcmV2MultilocationJunctions: { _enum: { - Null: 'Null', - X1: 'XcmV0Junction', - X2: '(XcmV0Junction,XcmV0Junction)', - X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)', - X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)', - X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)', - X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)', - X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)', - X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)' + Here: 'Null', + X1: 'XcmV2Junction', + X2: '(XcmV2Junction,XcmV2Junction)', + X3: '(XcmV2Junction,XcmV2Junction,XcmV2Junction)', + X4: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', + X5: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', + X6: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', + X7: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', + X8: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)' } }, /** - * Lookup140: xcm::v0::junction::Junction + * Lookup147: xcm::v2::junction::Junction **/ - XcmV0Junction: { + XcmV2Junction: { _enum: { - Parent: 'Null', Parachain: 'Compact', AccountId32: { - network: 'XcmV0JunctionNetworkId', + network: 'XcmV2NetworkId', id: '[u8;32]', }, AccountIndex64: { - network: 'XcmV0JunctionNetworkId', + network: 'XcmV2NetworkId', index: 'Compact', }, AccountKey20: { - network: 'XcmV0JunctionNetworkId', + network: 'XcmV2NetworkId', key: '[u8;20]', }, PalletInstance: 'u8', @@ -1310,32 +1418,106 @@ export default { GeneralKey: 'Bytes', OnlyChild: 'Null', Plurality: { - id: 'XcmV0JunctionBodyId', - part: 'XcmV0JunctionBodyPart' + id: 'XcmV2BodyId', + part: 'XcmV2BodyPart' } } }, /** - * Lookup141: xcm::VersionedMultiLocation + * Lookup148: xcm::v2::NetworkId + **/ + XcmV2NetworkId: { + _enum: { + Any: 'Null', + Named: 'Bytes', + Polkadot: 'Null', + Kusama: 'Null' + } + }, + /** + * Lookup150: xcm::v2::BodyId + **/ + XcmV2BodyId: { + _enum: { + Unit: 'Null', + Named: 'Bytes', + Index: 'Compact', + Executive: 'Null', + Technical: 'Null', + Legislative: 'Null', + Judicial: 'Null', + Defense: 'Null', + Administration: 'Null', + Treasury: 'Null' + } + }, + /** + * Lookup151: xcm::v2::BodyPart + **/ + XcmV2BodyPart: { + _enum: { + Voice: 'Null', + Members: { + count: 'Compact', + }, + Fraction: { + nom: 'Compact', + denom: 'Compact', + }, + AtLeastProportion: { + nom: 'Compact', + denom: 'Compact', + }, + MoreThanProportion: { + nom: 'Compact', + denom: 'Compact' + } + } + }, + /** + * Lookup152: xcm::v2::multiasset::Fungibility + **/ + XcmV2MultiassetFungibility: { + _enum: { + Fungible: 'Compact', + NonFungible: 'XcmV2MultiassetAssetInstance' + } + }, + /** + * Lookup153: xcm::v2::multiasset::AssetInstance + **/ + XcmV2MultiassetAssetInstance: { + _enum: { + Undefined: 'Null', + Index: 'Compact', + Array4: '[u8;4]', + Array8: '[u8;8]', + Array16: '[u8;16]', + Array32: '[u8;32]', + Blob: 'Bytes' + } + }, + /** + * Lookup154: xcm::VersionedMultiLocation **/ XcmVersionedMultiLocation: { _enum: { - V0: 'XcmV0MultiLocation', - V1: 'XcmV1MultiLocation' + V2: 'XcmV2MultiLocation', + V3: 'XcmV3MultiLocation' } }, /** - * Lookup142: cumulus_pallet_xcm::pallet::Event + * Lookup155: cumulus_pallet_xcm::pallet::Event **/ CumulusPalletXcmEvent: { _enum: { - InvalidFormat: '[u8;8]', - UnsupportedVersion: '[u8;8]', - ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)' + InvalidFormat: '[u8;32]', + UnsupportedVersion: '[u8;32]', + ExecutedDownward: '([u8;32],XcmV3TraitsOutcome)' } }, /** - * Lookup143: cumulus_pallet_dmp_queue::pallet::Event + * Lookup156: cumulus_pallet_dmp_queue::pallet::Event **/ CumulusPalletDmpQueueEvent: { _enum: { @@ -1347,7 +1529,7 @@ export default { }, ExecutedDownward: { messageId: '[u8;32]', - outcome: 'XcmV2TraitsOutcome', + outcome: 'XcmV3TraitsOutcome', }, WeightExhausted: { messageId: '[u8;32]', @@ -1366,7 +1548,7 @@ export default { } }, /** - * Lookup144: frame_system::Phase + * Lookup157: frame_system::Phase **/ FrameSystemPhase: { _enum: { @@ -1376,14 +1558,14 @@ export default { } }, /** - * Lookup147: frame_system::LastRuntimeUpgradeInfo + * Lookup160: frame_system::LastRuntimeUpgradeInfo **/ FrameSystemLastRuntimeUpgradeInfo: { specVersion: 'Compact', specName: 'Text' }, /** - * Lookup149: frame_system::pallet::Call + * Lookup162: frame_system::pallet::Call **/ FrameSystemCall: { _enum: { @@ -1418,7 +1600,7 @@ export default { } }, /** - * Lookup153: frame_system::limits::BlockWeights + * Lookup166: frame_system::limits::BlockWeights **/ FrameSystemLimitsBlockWeights: { baseBlock: 'SpWeightsWeightV2Weight', @@ -1426,7 +1608,7 @@ export default { perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass' }, /** - * Lookup154: frame_support::dispatch::PerDispatchClass + * Lookup167: frame_support::dispatch::PerDispatchClass **/ FrameSupportDispatchPerDispatchClassWeightsPerClass: { normal: 'FrameSystemLimitsWeightsPerClass', @@ -1434,7 +1616,7 @@ export default { mandatory: 'FrameSystemLimitsWeightsPerClass' }, /** - * Lookup155: frame_system::limits::WeightsPerClass + * Lookup168: frame_system::limits::WeightsPerClass **/ FrameSystemLimitsWeightsPerClass: { baseExtrinsic: 'SpWeightsWeightV2Weight', @@ -1443,13 +1625,13 @@ export default { reserved: 'Option' }, /** - * Lookup157: frame_system::limits::BlockLength + * Lookup170: frame_system::limits::BlockLength **/ FrameSystemLimitsBlockLength: { max: 'FrameSupportDispatchPerDispatchClassU32' }, /** - * Lookup158: frame_support::dispatch::PerDispatchClass + * Lookup171: frame_support::dispatch::PerDispatchClass **/ FrameSupportDispatchPerDispatchClassU32: { normal: 'u32', @@ -1457,14 +1639,14 @@ export default { mandatory: 'u32' }, /** - * Lookup159: sp_weights::RuntimeDbWeight + * Lookup172: sp_weights::RuntimeDbWeight **/ SpWeightsRuntimeDbWeight: { read: 'u64', write: 'u64' }, /** - * Lookup160: sp_version::RuntimeVersion + * Lookup173: sp_version::RuntimeVersion **/ SpVersionRuntimeVersion: { specName: 'Text', @@ -1477,13 +1659,13 @@ export default { stateVersion: 'u8' }, /** - * Lookup164: frame_system::pallet::Error + * Lookup177: frame_system::pallet::Error **/ FrameSystemError: { _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered'] }, /** - * Lookup166: pallet_timestamp::pallet::Call + * Lookup179: pallet_timestamp::pallet::Call **/ PalletTimestampCall: { _enum: { @@ -1493,7 +1675,7 @@ export default { } }, /** - * Lookup168: pallet_indices::pallet::Call + * Lookup181: pallet_indices::pallet::Call **/ PalletIndicesCall: { _enum: { @@ -1524,13 +1706,13 @@ export default { } }, /** - * Lookup171: pallet_indices::pallet::Error + * Lookup184: pallet_indices::pallet::Error **/ PalletIndicesError: { _enum: ['NotAssigned', 'NotOwner', 'InUse', 'NotTransfer', 'Permanent'] }, /** - * Lookup173: pallet_balances::BalanceLock + * Lookup186: pallet_balances::BalanceLock **/ PalletBalancesBalanceLock: { id: '[u8;8]', @@ -1538,20 +1720,20 @@ export default { reasons: 'PalletBalancesReasons' }, /** - * Lookup174: pallet_balances::Reasons + * Lookup187: pallet_balances::Reasons **/ PalletBalancesReasons: { _enum: ['Fee', 'Misc', 'All'] }, /** - * Lookup177: pallet_balances::ReserveData + * Lookup190: pallet_balances::ReserveData **/ PalletBalancesReserveData: { id: '[u8;8]', amount: 'u128' }, /** - * Lookup179: pallet_balances::pallet::Call + * Lookup192: pallet_balances::pallet::Call **/ PalletBalancesCall: { _enum: { @@ -1584,37 +1766,37 @@ export default { } }, /** - * Lookup180: pallet_balances::pallet::Error + * Lookup193: pallet_balances::pallet::Error **/ PalletBalancesError: { _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves'] }, /** - * Lookup182: pallet_transaction_payment::Releases + * Lookup195: pallet_transaction_payment::Releases **/ PalletTransactionPaymentReleases: { _enum: ['V1Ancient', 'V2'] }, /** - * Lookup184: sp_consensus_aura::sr25519::app_sr25519::Public + * Lookup197: sp_consensus_aura::sr25519::app_sr25519::Public **/ SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public', /** - * Lookup185: sp_core::sr25519::Public + * Lookup198: sp_core::sr25519::Public **/ SpCoreSr25519Public: '[u8;32]', /** - * Lookup191: spiritnet_runtime::SessionKeys + * Lookup204: spiritnet_runtime::SessionKeys **/ SpiritnetRuntimeSessionKeys: { aura: 'SpConsensusAuraSr25519AppSr25519Public' }, /** - * Lookup194: sp_core::crypto::KeyTypeId + * Lookup207: sp_core::crypto::KeyTypeId **/ SpCoreCryptoKeyTypeId: '[u8;4]', /** - * Lookup195: pallet_session::pallet::Call + * Lookup208: pallet_session::pallet::Call **/ PalletSessionCall: { _enum: { @@ -1629,13 +1811,13 @@ export default { } }, /** - * Lookup196: pallet_session::pallet::Error + * Lookup209: pallet_session::pallet::Error **/ PalletSessionError: { _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount'] }, /** - * Lookup197: parachain_staking::types::RoundInfo + * Lookup210: parachain_staking::types::RoundInfo **/ ParachainStakingRoundInfo: { current: 'u32', @@ -1643,21 +1825,21 @@ export default { length: 'u64' }, /** - * Lookup198: parachain_staking::types::DelegationCounter + * Lookup211: parachain_staking::types::DelegationCounter **/ ParachainStakingDelegationCounter: { round: 'u32', counter: 'u32' }, /** - * Lookup199: parachain_staking::types::Stake + * Lookup212: parachain_staking::types::Stake **/ ParachainStakingStake: { owner: 'AccountId32', amount: 'u128' }, /** - * Lookup200: parachain_staking::types::Candidate + * Lookup213: parachain_staking::types::Candidate **/ ParachainStakingCandidate: { id: 'AccountId32', @@ -1667,11 +1849,11 @@ export default { status: 'ParachainStakingCandidateStatus' }, /** - * Lookup201: parachain_staking::set::OrderedSet, S> + * Lookup214: parachain_staking::set::OrderedSet, S> **/ ParachainStakingSetOrderedSet: 'Vec', /** - * Lookup204: parachain_staking::types::CandidateStatus + * Lookup217: parachain_staking::types::CandidateStatus **/ ParachainStakingCandidateStatus: { _enum: { @@ -1680,35 +1862,35 @@ export default { } }, /** - * Lookup205: parachain_staking::types::TotalStake + * Lookup218: parachain_staking::types::TotalStake **/ ParachainStakingTotalStake: { collators: 'u128', delegators: 'u128' }, /** - * Lookup208: parachain_staking::inflation::InflationInfo + * Lookup221: parachain_staking::inflation::InflationInfo **/ ParachainStakingInflationInflationInfo: { collator: 'ParachainStakingInflationStakingInfo', delegator: 'ParachainStakingInflationStakingInfo' }, /** - * Lookup209: parachain_staking::inflation::StakingInfo + * Lookup222: parachain_staking::inflation::StakingInfo **/ ParachainStakingInflationStakingInfo: { maxRate: 'Perquintill', rewardRate: 'ParachainStakingInflationRewardRate' }, /** - * Lookup210: parachain_staking::inflation::RewardRate + * Lookup223: parachain_staking::inflation::RewardRate **/ ParachainStakingInflationRewardRate: { annual: 'Perquintill', perBlock: 'Perquintill' }, /** - * Lookup215: parachain_staking::pallet::Call + * Lookup228: parachain_staking::pallet::Call **/ ParachainStakingCall: { _enum: { @@ -1775,52 +1957,13 @@ export default { } }, /** - * Lookup216: parachain_staking::pallet::Error + * Lookup229: parachain_staking::pallet::Error **/ ParachainStakingError: { _enum: ['DelegatorNotFound', 'CandidateNotFound', 'DelegatorExists', 'CandidateExists', 'ValStakeZero', 'ValStakeBelowMin', 'ValStakeAboveMax', 'DelegationBelowMin', 'AlreadyLeaving', 'NotLeaving', 'CannotLeaveYet', 'CannotJoinBeforeUnlocking', 'AlreadyDelegating', 'NotYetDelegating', 'DelegationsPerRoundExceeded', 'TooManyDelegators', 'TooFewCollatorCandidates', 'CannotStakeIfLeaving', 'CannotDelegateIfLeaving', 'MaxCollatorsPerDelegatorExceeded', 'AlreadyDelegatedCollator', 'DelegationNotFound', 'Underflow', 'CannotSetAboveMax', 'CannotSetBelowMin', 'InvalidSchedule', 'NoMoreUnstaking', 'TooEarly', 'StakeNotFound', 'UnstakingIsEmpty', 'RewardsNotFound'] }, /** - * Lookup218: pallet_authorship::UncleEntryItem - **/ - PalletAuthorshipUncleEntryItem: { - _enum: { - InclusionHeight: 'u64', - Uncle: '(H256,Option)' - } - }, - /** - * Lookup221: pallet_authorship::pallet::Call - **/ - PalletAuthorshipCall: { - _enum: { - set_uncles: { - newUncles: 'Vec' - } - } - }, - /** - * Lookup223: sp_runtime::generic::header::Header - **/ - SpRuntimeHeader: { - parentHash: 'H256', - number: 'Compact', - stateRoot: 'H256', - extrinsicsRoot: 'H256', - digest: 'SpRuntimeDigest' - }, - /** - * Lookup224: sp_runtime::traits::BlakeTwo256 - **/ - SpRuntimeBlakeTwo256: 'Null', - /** - * Lookup225: pallet_authorship::pallet::Error - **/ - PalletAuthorshipError: { - _enum: ['InvalidUncleParent', 'UnclesAlreadySet', 'TooManyUncles', 'GenesisUncle', 'TooHighUncle', 'UncleAlreadyIncluded', 'OldUncle'] - }, - /** - * Lookup228: frame_support::traits::preimages::Bounded + * Lookup232: frame_support::traits::preimages::Bounded **/ FrameSupportPreimagesBounded: { _enum: { @@ -1841,7 +1984,7 @@ export default { } }, /** - * Lookup230: pallet_democracy::pallet::Call + * Lookup234: pallet_democracy::pallet::Call **/ PalletDemocracyCall: { _enum: { @@ -1906,13 +2049,13 @@ export default { } }, /** - * Lookup231: pallet_democracy::conviction::Conviction + * Lookup235: pallet_democracy::conviction::Conviction **/ PalletDemocracyConviction: { _enum: ['None', 'Locked1x', 'Locked2x', 'Locked3x', 'Locked4x', 'Locked5x', 'Locked6x'] }, /** - * Lookup233: pallet_collective::pallet::Call + * Lookup237: pallet_collective::pallet::Call **/ PalletCollectiveCall: { _enum: { @@ -1953,7 +2096,7 @@ export default { } }, /** - * Lookup237: pallet_membership::pallet::Call + * Lookup242: pallet_membership::pallet::Call **/ PalletMembershipCall: { _enum: { @@ -1983,7 +2126,7 @@ export default { } }, /** - * Lookup238: pallet_treasury::pallet::Call + * Lookup243: pallet_treasury::pallet::Call **/ PalletTreasuryCall: { _enum: { @@ -2007,7 +2150,7 @@ export default { } }, /** - * Lookup239: pallet_utility::pallet::Call + * Lookup244: pallet_utility::pallet::Call **/ PalletUtilityCall: { _enum: { @@ -2035,7 +2178,7 @@ export default { } }, /** - * Lookup241: spiritnet_runtime::OriginCaller + * Lookup246: spiritnet_runtime::OriginCaller **/ SpiritnetRuntimeOriginCaller: { _enum: { @@ -2127,7 +2270,7 @@ export default { } }, /** - * Lookup242: frame_support::dispatch::RawOrigin + * Lookup247: frame_support::dispatch::RawOrigin **/ FrameSupportDispatchRawOrigin: { _enum: { @@ -2137,7 +2280,7 @@ export default { } }, /** - * Lookup243: pallet_collective::RawOrigin + * Lookup248: pallet_collective::RawOrigin **/ PalletCollectiveRawOrigin: { _enum: { @@ -2147,23 +2290,23 @@ export default { } }, /** - * Lookup245: did::origin::DidRawOrigin + * Lookup250: did::origin::DidRawOrigin **/ DidOriginDidRawOrigin: { id: 'AccountId32', submitter: 'AccountId32' }, /** - * Lookup246: pallet_xcm::pallet::Origin + * Lookup251: pallet_xcm::pallet::Origin **/ PalletXcmOrigin: { _enum: { - Xcm: 'XcmV1MultiLocation', - Response: 'XcmV1MultiLocation' + Xcm: 'XcmV3MultiLocation', + Response: 'XcmV3MultiLocation' } }, /** - * Lookup247: cumulus_pallet_xcm::pallet::Origin + * Lookup252: cumulus_pallet_xcm::pallet::Origin **/ CumulusPalletXcmOrigin: { _enum: { @@ -2172,11 +2315,11 @@ export default { } }, /** - * Lookup248: sp_core::Void + * Lookup253: sp_core::Void **/ SpCoreVoid: 'Null', /** - * Lookup249: pallet_vesting::pallet::Call + * Lookup254: pallet_vesting::pallet::Call **/ PalletVestingCall: { _enum: { @@ -2200,7 +2343,7 @@ export default { } }, /** - * Lookup250: pallet_vesting::vesting_info::VestingInfo + * Lookup255: pallet_vesting::vesting_info::VestingInfo **/ PalletVestingVestingInfo: { locked: 'u128', @@ -2208,7 +2351,7 @@ export default { startingBlock: 'u64' }, /** - * Lookup251: pallet_scheduler::pallet::Call + * Lookup256: pallet_scheduler::pallet::Call **/ PalletSchedulerCall: { _enum: { @@ -2248,7 +2391,7 @@ export default { } }, /** - * Lookup253: pallet_proxy::pallet::Call + * Lookup258: pallet_proxy::pallet::Call **/ PalletProxyCall: { _enum: { @@ -2301,7 +2444,7 @@ export default { } }, /** - * Lookup255: pallet_preimage::pallet::Call + * Lookup260: pallet_preimage::pallet::Call **/ PalletPreimageCall: { _enum: { @@ -2329,7 +2472,7 @@ export default { } }, /** - * Lookup257: pallet_tips::pallet::Call + * Lookup262: pallet_tips::pallet::Call **/ PalletTipsCall: { _enum: { @@ -2370,7 +2513,7 @@ export default { } }, /** - * Lookup258: ctype::pallet::Call + * Lookup263: ctype::pallet::Call **/ CtypeCall: { _enum: { @@ -2384,7 +2527,7 @@ export default { } }, /** - * Lookup259: attestation::pallet::Call + * Lookup264: attestation::pallet::Call **/ AttestationCall: { _enum: { @@ -2413,7 +2556,7 @@ export default { } }, /** - * Lookup261: runtime_common::authorization::PalletAuthorize> + * Lookup266: runtime_common::authorization::PalletAuthorize> **/ RuntimeCommonAuthorizationPalletAuthorize: { _enum: { @@ -2421,18 +2564,18 @@ export default { } }, /** - * Lookup262: delegation::access_control::DelegationAc + * Lookup267: delegation::access_control::DelegationAc **/ DelegationAccessControlDelegationAc: { subjectNodeId: 'H256', maxChecks: 'u32' }, /** - * Lookup263: spiritnet_runtime::Runtime + * Lookup268: spiritnet_runtime::Runtime **/ SpiritnetRuntimeRuntime: 'Null', /** - * Lookup264: delegation::pallet::Call + * Lookup269: delegation::pallet::Call **/ DelegationCall: { _enum: { @@ -2469,7 +2612,7 @@ export default { } }, /** - * Lookup265: did::did_details::DidSignature + * Lookup270: did::did_details::DidSignature **/ DidDidDetailsDidSignature: { _enum: { @@ -2479,19 +2622,19 @@ export default { } }, /** - * Lookup266: sp_core::ed25519::Signature + * Lookup271: sp_core::ed25519::Signature **/ SpCoreEd25519Signature: '[u8;64]', /** - * Lookup268: sp_core::sr25519::Signature + * Lookup273: sp_core::sr25519::Signature **/ SpCoreSr25519Signature: '[u8;64]', /** - * Lookup269: sp_core::ecdsa::Signature + * Lookup274: sp_core::ecdsa::Signature **/ SpCoreEcdsaSignature: '[u8;65]', /** - * Lookup271: did::pallet::Call + * Lookup276: did::pallet::Call **/ DidCall: { _enum: { @@ -2540,7 +2683,7 @@ export default { } }, /** - * Lookup272: did::did_details::DidCreationDetails + * Lookup277: did::did_details::DidCreationDetails **/ DidDidDetailsDidCreationDetails: { did: 'AccountId32', @@ -2551,7 +2694,7 @@ export default { newServiceDetails: 'Vec' }, /** - * Lookup274: did::did_details::DidEncryptionKey + * Lookup279: did::did_details::DidEncryptionKey **/ DidDidDetailsDidEncryptionKey: { _enum: { @@ -2559,7 +2702,7 @@ export default { } }, /** - * Lookup278: did::did_details::DidVerificationKey + * Lookup283: did::did_details::DidVerificationKey **/ DidDidDetailsDidVerificationKey: { _enum: { @@ -2569,15 +2712,15 @@ export default { } }, /** - * Lookup279: sp_core::ed25519::Public + * Lookup284: sp_core::ed25519::Public **/ SpCoreEd25519Public: '[u8;32]', /** - * Lookup280: sp_core::ecdsa::Public + * Lookup285: sp_core::ecdsa::Public **/ SpCoreEcdsaPublic: '[u8;33]', /** - * Lookup283: did::service_endpoints::DidEndpoint + * Lookup288: did::service_endpoints::DidEndpoint **/ DidServiceEndpointsDidEndpoint: { id: 'Bytes', @@ -2585,7 +2728,7 @@ export default { urls: 'Vec' }, /** - * Lookup291: did::did_details::DidAuthorizedCallOperation + * Lookup296: did::did_details::DidAuthorizedCallOperation **/ DidDidDetailsDidAuthorizedCallOperation: { did: 'AccountId32', @@ -2595,7 +2738,7 @@ export default { submitter: 'AccountId32' }, /** - * Lookup292: pallet_did_lookup::pallet::Call + * Lookup297: pallet_did_lookup::pallet::Call **/ PalletDidLookupCall: { _enum: { @@ -2615,21 +2758,271 @@ export default { account: 'PalletDidLookupLinkableAccountLinkableAccountId', }, update_deposit: { - account: 'PalletDidLookupLinkableAccountLinkableAccountId' + account: 'PalletDidLookupLinkableAccountLinkableAccountId', + }, + __Unused7: 'Null', + __Unused8: 'Null', + __Unused9: 'Null', + __Unused10: 'Null', + __Unused11: 'Null', + __Unused12: 'Null', + __Unused13: 'Null', + __Unused14: 'Null', + __Unused15: 'Null', + __Unused16: 'Null', + __Unused17: 'Null', + __Unused18: 'Null', + __Unused19: 'Null', + __Unused20: 'Null', + __Unused21: 'Null', + __Unused22: 'Null', + __Unused23: 'Null', + __Unused24: 'Null', + __Unused25: 'Null', + __Unused26: 'Null', + __Unused27: 'Null', + __Unused28: 'Null', + __Unused29: 'Null', + __Unused30: 'Null', + __Unused31: 'Null', + __Unused32: 'Null', + __Unused33: 'Null', + __Unused34: 'Null', + __Unused35: 'Null', + __Unused36: 'Null', + __Unused37: 'Null', + __Unused38: 'Null', + __Unused39: 'Null', + __Unused40: 'Null', + __Unused41: 'Null', + __Unused42: 'Null', + __Unused43: 'Null', + __Unused44: 'Null', + __Unused45: 'Null', + __Unused46: 'Null', + __Unused47: 'Null', + __Unused48: 'Null', + __Unused49: 'Null', + __Unused50: 'Null', + __Unused51: 'Null', + __Unused52: 'Null', + __Unused53: 'Null', + __Unused54: 'Null', + __Unused55: 'Null', + __Unused56: 'Null', + __Unused57: 'Null', + __Unused58: 'Null', + __Unused59: 'Null', + __Unused60: 'Null', + __Unused61: 'Null', + __Unused62: 'Null', + __Unused63: 'Null', + __Unused64: 'Null', + __Unused65: 'Null', + __Unused66: 'Null', + __Unused67: 'Null', + __Unused68: 'Null', + __Unused69: 'Null', + __Unused70: 'Null', + __Unused71: 'Null', + __Unused72: 'Null', + __Unused73: 'Null', + __Unused74: 'Null', + __Unused75: 'Null', + __Unused76: 'Null', + __Unused77: 'Null', + __Unused78: 'Null', + __Unused79: 'Null', + __Unused80: 'Null', + __Unused81: 'Null', + __Unused82: 'Null', + __Unused83: 'Null', + __Unused84: 'Null', + __Unused85: 'Null', + __Unused86: 'Null', + __Unused87: 'Null', + __Unused88: 'Null', + __Unused89: 'Null', + __Unused90: 'Null', + __Unused91: 'Null', + __Unused92: 'Null', + __Unused93: 'Null', + __Unused94: 'Null', + __Unused95: 'Null', + __Unused96: 'Null', + __Unused97: 'Null', + __Unused98: 'Null', + __Unused99: 'Null', + __Unused100: 'Null', + __Unused101: 'Null', + __Unused102: 'Null', + __Unused103: 'Null', + __Unused104: 'Null', + __Unused105: 'Null', + __Unused106: 'Null', + __Unused107: 'Null', + __Unused108: 'Null', + __Unused109: 'Null', + __Unused110: 'Null', + __Unused111: 'Null', + __Unused112: 'Null', + __Unused113: 'Null', + __Unused114: 'Null', + __Unused115: 'Null', + __Unused116: 'Null', + __Unused117: 'Null', + __Unused118: 'Null', + __Unused119: 'Null', + __Unused120: 'Null', + __Unused121: 'Null', + __Unused122: 'Null', + __Unused123: 'Null', + __Unused124: 'Null', + __Unused125: 'Null', + __Unused126: 'Null', + __Unused127: 'Null', + __Unused128: 'Null', + __Unused129: 'Null', + __Unused130: 'Null', + __Unused131: 'Null', + __Unused132: 'Null', + __Unused133: 'Null', + __Unused134: 'Null', + __Unused135: 'Null', + __Unused136: 'Null', + __Unused137: 'Null', + __Unused138: 'Null', + __Unused139: 'Null', + __Unused140: 'Null', + __Unused141: 'Null', + __Unused142: 'Null', + __Unused143: 'Null', + __Unused144: 'Null', + __Unused145: 'Null', + __Unused146: 'Null', + __Unused147: 'Null', + __Unused148: 'Null', + __Unused149: 'Null', + __Unused150: 'Null', + __Unused151: 'Null', + __Unused152: 'Null', + __Unused153: 'Null', + __Unused154: 'Null', + __Unused155: 'Null', + __Unused156: 'Null', + __Unused157: 'Null', + __Unused158: 'Null', + __Unused159: 'Null', + __Unused160: 'Null', + __Unused161: 'Null', + __Unused162: 'Null', + __Unused163: 'Null', + __Unused164: 'Null', + __Unused165: 'Null', + __Unused166: 'Null', + __Unused167: 'Null', + __Unused168: 'Null', + __Unused169: 'Null', + __Unused170: 'Null', + __Unused171: 'Null', + __Unused172: 'Null', + __Unused173: 'Null', + __Unused174: 'Null', + __Unused175: 'Null', + __Unused176: 'Null', + __Unused177: 'Null', + __Unused178: 'Null', + __Unused179: 'Null', + __Unused180: 'Null', + __Unused181: 'Null', + __Unused182: 'Null', + __Unused183: 'Null', + __Unused184: 'Null', + __Unused185: 'Null', + __Unused186: 'Null', + __Unused187: 'Null', + __Unused188: 'Null', + __Unused189: 'Null', + __Unused190: 'Null', + __Unused191: 'Null', + __Unused192: 'Null', + __Unused193: 'Null', + __Unused194: 'Null', + __Unused195: 'Null', + __Unused196: 'Null', + __Unused197: 'Null', + __Unused198: 'Null', + __Unused199: 'Null', + __Unused200: 'Null', + __Unused201: 'Null', + __Unused202: 'Null', + __Unused203: 'Null', + __Unused204: 'Null', + __Unused205: 'Null', + __Unused206: 'Null', + __Unused207: 'Null', + __Unused208: 'Null', + __Unused209: 'Null', + __Unused210: 'Null', + __Unused211: 'Null', + __Unused212: 'Null', + __Unused213: 'Null', + __Unused214: 'Null', + __Unused215: 'Null', + __Unused216: 'Null', + __Unused217: 'Null', + __Unused218: 'Null', + __Unused219: 'Null', + __Unused220: 'Null', + __Unused221: 'Null', + __Unused222: 'Null', + __Unused223: 'Null', + __Unused224: 'Null', + __Unused225: 'Null', + __Unused226: 'Null', + __Unused227: 'Null', + __Unused228: 'Null', + __Unused229: 'Null', + __Unused230: 'Null', + __Unused231: 'Null', + __Unused232: 'Null', + __Unused233: 'Null', + __Unused234: 'Null', + __Unused235: 'Null', + __Unused236: 'Null', + __Unused237: 'Null', + __Unused238: 'Null', + __Unused239: 'Null', + __Unused240: 'Null', + __Unused241: 'Null', + __Unused242: 'Null', + __Unused243: 'Null', + __Unused244: 'Null', + __Unused245: 'Null', + __Unused246: 'Null', + __Unused247: 'Null', + __Unused248: 'Null', + __Unused249: 'Null', + __Unused250: 'Null', + __Unused251: 'Null', + __Unused252: 'Null', + __Unused253: 'Null', + migrate: { + limit: 'u32' } } }, /** - * Lookup293: pallet_did_lookup::associate_account_request::AssociateAccountRequest + * Lookup298: pallet_did_lookup::associate_account_request::AssociateAccountRequest **/ PalletDidLookupAssociateAccountRequest: { _enum: { - Dotsama: '(AccountId32,SpRuntimeMultiSignature)', + Polkadot: '(AccountId32,SpRuntimeMultiSignature)', Ethereum: '(PalletDidLookupAccountAccountId20,PalletDidLookupAccountEthereumSignature)' } }, /** - * Lookup294: sp_runtime::MultiSignature + * Lookup299: sp_runtime::MultiSignature **/ SpRuntimeMultiSignature: { _enum: { @@ -2639,11 +3032,11 @@ export default { } }, /** - * Lookup295: pallet_did_lookup::account::EthereumSignature + * Lookup300: pallet_did_lookup::account::EthereumSignature **/ PalletDidLookupAccountEthereumSignature: 'SpCoreEcdsaSignature', /** - * Lookup296: pallet_web3_names::pallet::Call + * Lookup301: pallet_web3_names::pallet::Call **/ PalletWeb3NamesCall: { _enum: { @@ -2667,7 +3060,7 @@ export default { } }, /** - * Lookup297: public_credentials::pallet::Call + * Lookup302: public_credentials::pallet::Call **/ PublicCredentialsCall: { _enum: { @@ -2698,7 +3091,7 @@ export default { } }, /** - * Lookup298: public_credentials::credentials::Credential, sp_core::bounded::bounded_vec::BoundedVec, runtime_common::authorization::PalletAuthorize>> + * Lookup303: public_credentials::credentials::Credential, sp_core::bounded::bounded_vec::BoundedVec, runtime_common::authorization::PalletAuthorize>> **/ PublicCredentialsCredentialsCredential: { ctypeHash: 'H256', @@ -2707,7 +3100,7 @@ export default { authorization: 'Option' }, /** - * Lookup301: cumulus_pallet_parachain_system::pallet::Call + * Lookup306: cumulus_pallet_parachain_system::pallet::Call **/ CumulusPalletParachainSystemCall: { _enum: { @@ -2726,7 +3119,7 @@ export default { } }, /** - * Lookup302: cumulus_primitives_parachain_inherent::ParachainInherentData + * Lookup307: cumulus_primitives_parachain_inherent::ParachainInherentData **/ CumulusPrimitivesParachainInherentParachainInherentData: { validationData: 'PolkadotPrimitivesV2PersistedValidationData', @@ -2735,7 +3128,7 @@ export default { horizontalMessages: 'BTreeMap>' }, /** - * Lookup303: polkadot_primitives::v2::PersistedValidationData + * Lookup308: polkadot_primitives::v2::PersistedValidationData **/ PolkadotPrimitivesV2PersistedValidationData: { parentHead: 'Bytes', @@ -2744,33 +3137,33 @@ export default { maxPovSize: 'u32' }, /** - * Lookup305: sp_trie::storage_proof::StorageProof + * Lookup310: sp_trie::storage_proof::StorageProof **/ SpTrieStorageProof: { trieNodes: 'BTreeSet' }, /** - * Lookup308: polkadot_core_primitives::InboundDownwardMessage + * Lookup313: polkadot_core_primitives::InboundDownwardMessage **/ PolkadotCorePrimitivesInboundDownwardMessage: { sentAt: 'u32', msg: 'Bytes' }, /** - * Lookup311: polkadot_core_primitives::InboundHrmpMessage + * Lookup316: polkadot_core_primitives::InboundHrmpMessage **/ PolkadotCorePrimitivesInboundHrmpMessage: { sentAt: 'u32', data: 'Bytes' }, /** - * Lookup314: cumulus_pallet_xcmp_queue::pallet::Call + * Lookup319: cumulus_pallet_xcmp_queue::pallet::Call **/ CumulusPalletXcmpQueueCall: { _enum: { service_overweight: { index: 'u64', - weightLimit: 'u64', + weightLimit: 'SpWeightsWeightV2Weight', }, suspend_xcm_execution: 'Null', resume_xcm_execution: 'Null', @@ -2796,24 +3189,24 @@ export default { _alias: { new_: 'new', }, - new_: 'u64', + new_: 'SpWeightsWeightV2Weight', }, update_weight_restrict_decay: { _alias: { new_: 'new', }, - new_: 'u64', + new_: 'SpWeightsWeightV2Weight', }, update_xcmp_max_individual_weight: { _alias: { new_: 'new', }, - new_: 'u64' + new_: 'SpWeightsWeightV2Weight' } } }, /** - * Lookup315: pallet_xcm::pallet::Call + * Lookup320: pallet_xcm::pallet::Call **/ PalletXcmCall: { _enum: { @@ -2835,10 +3228,10 @@ export default { }, execute: { message: 'XcmVersionedXcm', - maxWeight: 'u64', + maxWeight: 'SpWeightsWeightV2Weight', }, force_xcm_version: { - location: 'XcmV1MultiLocation', + location: 'XcmV3MultiLocation', xcmVersion: 'u32', }, force_default_xcm_version: { @@ -2855,60 +3248,57 @@ export default { beneficiary: 'XcmVersionedMultiLocation', assets: 'XcmVersionedMultiAssets', feeAssetItem: 'u32', - weightLimit: 'XcmV2WeightLimit', + weightLimit: 'XcmV3WeightLimit', }, limited_teleport_assets: { dest: 'XcmVersionedMultiLocation', beneficiary: 'XcmVersionedMultiLocation', assets: 'XcmVersionedMultiAssets', feeAssetItem: 'u32', - weightLimit: 'XcmV2WeightLimit' + weightLimit: 'XcmV3WeightLimit' } } }, /** - * Lookup316: xcm::VersionedXcm + * Lookup321: xcm::VersionedXcm **/ XcmVersionedXcm: { _enum: { - V0: 'XcmV0Xcm', - V1: 'XcmV1Xcm', - V2: 'XcmV2Xcm' + __Unused0: 'Null', + __Unused1: 'Null', + V2: 'XcmV2Xcm', + V3: 'XcmV3Xcm' } }, /** - * Lookup317: xcm::v0::Xcm + * Lookup322: xcm::v2::Xcm **/ - XcmV0Xcm: { + XcmV2Xcm: 'Vec', + /** + * Lookup324: xcm::v2::Instruction + **/ + XcmV2Instruction: { _enum: { - WithdrawAsset: { - assets: 'Vec', - effects: 'Vec', - }, - ReserveAssetDeposit: { - assets: 'Vec', - effects: 'Vec', - }, - TeleportAsset: { - assets: 'Vec', - effects: 'Vec', - }, + WithdrawAsset: 'XcmV2MultiassetMultiAssets', + ReserveAssetDeposited: 'XcmV2MultiassetMultiAssets', + ReceiveTeleportedAsset: 'XcmV2MultiassetMultiAssets', QueryResponse: { queryId: 'Compact', - response: 'XcmV0Response', + response: 'XcmV2Response', + maxWeight: 'Compact', }, TransferAsset: { - assets: 'Vec', - dest: 'XcmV0MultiLocation', + assets: 'XcmV2MultiassetMultiAssets', + beneficiary: 'XcmV2MultiLocation', }, TransferReserveAsset: { - assets: 'Vec', - dest: 'XcmV0MultiLocation', - effects: 'Vec', + assets: 'XcmV2MultiassetMultiAssets', + dest: 'XcmV2MultiLocation', + xcm: 'XcmV2Xcm', }, Transact: { - originType: 'XcmV0OriginKind', - requireWeightAtMost: 'u64', + originType: 'XcmV2OriginKind', + requireWeightAtMost: 'Compact', call: 'XcmDoubleEncoded', }, HrmpNewChannelOpenRequest: { @@ -2924,184 +3314,152 @@ export default { sender: 'Compact', recipient: 'Compact', }, - RelayedFrom: { - who: 'XcmV0MultiLocation', - message: 'XcmV0Xcm' - } - } - }, - /** - * Lookup319: xcm::v0::order::Order - **/ - XcmV0Order: { - _enum: { - Null: 'Null', + ClearOrigin: 'Null', + DescendOrigin: 'XcmV2MultilocationJunctions', + ReportError: { + queryId: 'Compact', + dest: 'XcmV2MultiLocation', + maxResponseWeight: 'Compact', + }, DepositAsset: { - assets: 'Vec', - dest: 'XcmV0MultiLocation', + assets: 'XcmV2MultiassetMultiAssetFilter', + maxAssets: 'Compact', + beneficiary: 'XcmV2MultiLocation', }, DepositReserveAsset: { - assets: 'Vec', - dest: 'XcmV0MultiLocation', - effects: 'Vec', + assets: 'XcmV2MultiassetMultiAssetFilter', + maxAssets: 'Compact', + dest: 'XcmV2MultiLocation', + xcm: 'XcmV2Xcm', }, ExchangeAsset: { - give: 'Vec', - receive: 'Vec', + give: 'XcmV2MultiassetMultiAssetFilter', + receive: 'XcmV2MultiassetMultiAssets', }, InitiateReserveWithdraw: { - assets: 'Vec', - reserve: 'XcmV0MultiLocation', - effects: 'Vec', + assets: 'XcmV2MultiassetMultiAssetFilter', + reserve: 'XcmV2MultiLocation', + xcm: 'XcmV2Xcm', }, InitiateTeleport: { - assets: 'Vec', - dest: 'XcmV0MultiLocation', - effects: 'Vec', + assets: 'XcmV2MultiassetMultiAssetFilter', + dest: 'XcmV2MultiLocation', + xcm: 'XcmV2Xcm', }, QueryHolding: { queryId: 'Compact', - dest: 'XcmV0MultiLocation', - assets: 'Vec', + dest: 'XcmV2MultiLocation', + assets: 'XcmV2MultiassetMultiAssetFilter', + maxResponseWeight: 'Compact', }, BuyExecution: { - fees: 'XcmV0MultiAsset', - weight: 'u64', - debt: 'u64', - haltOnError: 'bool', - xcm: 'Vec' - } + fees: 'XcmV2MultiAsset', + weightLimit: 'XcmV2WeightLimit', + }, + RefundSurplus: 'Null', + SetErrorHandler: 'XcmV2Xcm', + SetAppendix: 'XcmV2Xcm', + ClearError: 'Null', + ClaimAsset: { + assets: 'XcmV2MultiassetMultiAssets', + ticket: 'XcmV2MultiLocation', + }, + Trap: 'Compact', + SubscribeVersion: { + queryId: 'Compact', + maxResponseWeight: 'Compact', + }, + UnsubscribeVersion: 'Null' + } + }, + /** + * Lookup325: xcm::v2::Response + **/ + XcmV2Response: { + _enum: { + Null: 'Null', + Assets: 'XcmV2MultiassetMultiAssets', + ExecutionResult: 'Option<(u32,XcmV2TraitsError)>', + Version: 'u32' } }, /** - * Lookup321: xcm::v0::Response + * Lookup328: xcm::v2::traits::Error **/ - XcmV0Response: { + XcmV2TraitsError: { _enum: { - Assets: 'Vec' + Overflow: 'Null', + Unimplemented: 'Null', + UntrustedReserveLocation: 'Null', + UntrustedTeleportLocation: 'Null', + MultiLocationFull: 'Null', + MultiLocationNotInvertible: 'Null', + BadOrigin: 'Null', + InvalidLocation: 'Null', + AssetNotFound: 'Null', + FailedToTransactAsset: 'Null', + NotWithdrawable: 'Null', + LocationCannotHold: 'Null', + ExceedsMaxMessageSize: 'Null', + DestinationUnsupported: 'Null', + Transport: 'Null', + Unroutable: 'Null', + UnknownClaim: 'Null', + FailedToDecode: 'Null', + MaxWeightInvalid: 'Null', + NotHoldingFees: 'Null', + TooExpensive: 'Null', + Trap: 'u64', + UnhandledXcmVersion: 'Null', + WeightLimitReached: 'u64', + Barrier: 'Null', + WeightNotComputable: 'Null' } }, /** - * Lookup322: xcm::v1::Xcm + * Lookup329: xcm::v2::multiasset::MultiAssetFilter **/ - XcmV1Xcm: { + XcmV2MultiassetMultiAssetFilter: { _enum: { - WithdrawAsset: { - assets: 'XcmV1MultiassetMultiAssets', - effects: 'Vec', - }, - ReserveAssetDeposited: { - assets: 'XcmV1MultiassetMultiAssets', - effects: 'Vec', - }, - ReceiveTeleportedAsset: { - assets: 'XcmV1MultiassetMultiAssets', - effects: 'Vec', - }, - QueryResponse: { - queryId: 'Compact', - response: 'XcmV1Response', - }, - TransferAsset: { - assets: 'XcmV1MultiassetMultiAssets', - beneficiary: 'XcmV1MultiLocation', - }, - TransferReserveAsset: { - assets: 'XcmV1MultiassetMultiAssets', - dest: 'XcmV1MultiLocation', - effects: 'Vec', - }, - Transact: { - originType: 'XcmV0OriginKind', - requireWeightAtMost: 'u64', - call: 'XcmDoubleEncoded', - }, - HrmpNewChannelOpenRequest: { - sender: 'Compact', - maxMessageSize: 'Compact', - maxCapacity: 'Compact', - }, - HrmpChannelAccepted: { - recipient: 'Compact', - }, - HrmpChannelClosing: { - initiator: 'Compact', - sender: 'Compact', - recipient: 'Compact', - }, - RelayedFrom: { - who: 'XcmV1MultilocationJunctions', - message: 'XcmV1Xcm', - }, - SubscribeVersion: { - queryId: 'Compact', - maxResponseWeight: 'Compact', - }, - UnsubscribeVersion: 'Null' + Definite: 'XcmV2MultiassetMultiAssets', + Wild: 'XcmV2MultiassetWildMultiAsset' } }, /** - * Lookup324: xcm::v1::order::Order + * Lookup330: xcm::v2::multiasset::WildMultiAsset **/ - XcmV1Order: { + XcmV2MultiassetWildMultiAsset: { _enum: { - Noop: 'Null', - DepositAsset: { - assets: 'XcmV1MultiassetMultiAssetFilter', - maxAssets: 'u32', - beneficiary: 'XcmV1MultiLocation', - }, - DepositReserveAsset: { - assets: 'XcmV1MultiassetMultiAssetFilter', - maxAssets: 'u32', - dest: 'XcmV1MultiLocation', - effects: 'Vec', - }, - ExchangeAsset: { - give: 'XcmV1MultiassetMultiAssetFilter', - receive: 'XcmV1MultiassetMultiAssets', - }, - InitiateReserveWithdraw: { - assets: 'XcmV1MultiassetMultiAssetFilter', - reserve: 'XcmV1MultiLocation', - effects: 'Vec', - }, - InitiateTeleport: { - assets: 'XcmV1MultiassetMultiAssetFilter', - dest: 'XcmV1MultiLocation', - effects: 'Vec', - }, - QueryHolding: { - queryId: 'Compact', - dest: 'XcmV1MultiLocation', - assets: 'XcmV1MultiassetMultiAssetFilter', - }, - BuyExecution: { - fees: 'XcmV1MultiAsset', - weight: 'u64', - debt: 'u64', - haltOnError: 'bool', - instructions: 'Vec' + All: 'Null', + AllOf: { + id: 'XcmV2MultiassetAssetId', + fun: 'XcmV2MultiassetWildFungibility' } } }, /** - * Lookup326: xcm::v1::Response + * Lookup331: xcm::v2::multiasset::WildFungibility **/ - XcmV1Response: { + XcmV2MultiassetWildFungibility: { + _enum: ['Fungible', 'NonFungible'] + }, + /** + * Lookup332: xcm::v2::WeightLimit + **/ + XcmV2WeightLimit: { _enum: { - Assets: 'XcmV1MultiassetMultiAssets', - Version: 'u32' + Unlimited: 'Null', + Limited: 'Compact' } }, /** - * Lookup340: cumulus_pallet_dmp_queue::pallet::Call + * Lookup341: cumulus_pallet_dmp_queue::pallet::Call **/ CumulusPalletDmpQueueCall: { _enum: { service_overweight: { index: 'u64', - weightLimit: 'u64' + weightLimit: 'SpWeightsWeightV2Weight' } } }, @@ -3319,7 +3677,7 @@ export default { * Lookup402: ctype::pallet::Error **/ CtypeError: { - _enum: ['CTypeNotFound', 'CTypeAlreadyExists', 'UnableToPayFees'] + _enum: ['NotFound', 'AlreadyExists', 'UnableToPayFees'] }, /** * Lookup403: attestation::attestations::AttestationDetails @@ -3342,7 +3700,7 @@ export default { * Lookup406: attestation::pallet::Error **/ AttestationError: { - _enum: ['AlreadyAttested', 'AlreadyRevoked', 'AttestationNotFound', 'CTypeMismatch', 'Unauthorized', 'MaxDelegatedAttestationsExceeded'] + _enum: ['AlreadyAttested', 'AlreadyRevoked', 'NotFound', 'CTypeMismatch', 'NotAuthorized', 'MaxDelegatedAttestationsExceeded'] }, /** * Lookup407: delegation::delegation_hierarchy::DelegationNode @@ -3355,7 +3713,7 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup410: delegation::delegation_hierarchy::DelegationDetails + * Lookup411: delegation::delegation_hierarchy::DelegationDetails **/ DelegationDelegationHierarchyDelegationDetails: { owner: 'AccountId32', @@ -3363,19 +3721,19 @@ export default { permissions: 'DelegationDelegationHierarchyPermissions' }, /** - * Lookup411: delegation::delegation_hierarchy::DelegationHierarchyDetails + * Lookup412: delegation::delegation_hierarchy::DelegationHierarchyDetails **/ DelegationDelegationHierarchyDelegationHierarchyDetails: { ctypeHash: 'H256' }, /** - * Lookup412: delegation::pallet::Error + * Lookup413: delegation::pallet::Error **/ DelegationError: { - _enum: ['DelegationAlreadyExists', 'InvalidDelegateSignature', 'DelegationNotFound', 'DelegateNotFound', 'HierarchyAlreadyExists', 'HierarchyNotFound', 'MaxSearchDepthReached', 'NotOwnerOfParentDelegation', 'NotOwnerOfDelegationHierarchy', 'ParentDelegationNotFound', 'ParentDelegationRevoked', 'UnauthorizedRevocation', 'UnauthorizedRemoval', 'UnauthorizedDelegation', 'AccessDenied', 'ExceededRevocationBounds', 'ExceededRemovalBounds', 'MaxRevocationsTooLarge', 'MaxRemovalsTooLarge', 'MaxParentChecksTooLarge', 'InternalError', 'MaxChildrenExceeded'] + _enum: ['DelegationAlreadyExists', 'InvalidDelegateSignature', 'DelegationNotFound', 'DelegateNotFound', 'HierarchyAlreadyExists', 'HierarchyNotFound', 'MaxSearchDepthReached', 'NotOwnerOfParentDelegation', 'NotOwnerOfDelegationHierarchy', 'ParentDelegationNotFound', 'ParentDelegationRevoked', 'UnauthorizedRevocation', 'UnauthorizedRemoval', 'UnauthorizedDelegation', 'AccessDenied', 'ExceededRevocationBounds', 'ExceededRemovalBounds', 'MaxRevocationsTooLarge', 'MaxRemovalsTooLarge', 'MaxParentChecksTooLarge', 'Internal', 'MaxChildrenExceeded'] }, /** - * Lookup413: did::did_details::DidDetails + * Lookup414: did::did_details::DidDetails **/ DidDidDetails: { authenticationKey: 'H256', @@ -3387,14 +3745,14 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup416: did::did_details::DidPublicKeyDetails + * Lookup417: did::did_details::DidPublicKeyDetails **/ DidDidDetailsDidPublicKeyDetails: { key: 'DidDidDetailsDidPublicKey', blockNumber: 'u64' }, /** - * Lookup417: did::did_details::DidPublicKey + * Lookup418: did::did_details::DidPublicKey **/ DidDidDetailsDidPublicKey: { _enum: { @@ -3403,26 +3761,45 @@ export default { } }, /** - * Lookup422: did::pallet::Error + * Lookup423: did::pallet::Error **/ DidError: { - _enum: ['InvalidSignatureFormat', 'InvalidSignature', 'DidAlreadyPresent', 'DidNotPresent', 'VerificationKeyNotPresent', 'InvalidNonce', 'UnsupportedDidAuthorizationCall', 'InvalidDidAuthorizationCall', 'MaxKeyAgreementKeysLimitExceeded', 'MaxPublicKeysPerDidExceeded', 'MaxTotalKeyAgreementKeysExceeded', 'BadDidOrigin', 'TransactionExpired', 'DidAlreadyDeleted', 'NotOwnerOfDeposit', 'UnableToPayFees', 'MaxNumberOfServicesPerDidExceeded', 'MaxServiceIdLengthExceeded', 'MaxServiceTypeLengthExceeded', 'MaxNumberOfTypesPerServiceExceeded', 'MaxServiceUrlLengthExceeded', 'MaxNumberOfUrlsPerServiceExceeded', 'ServiceAlreadyPresent', 'ServiceNotPresent', 'InvalidServiceEncoding', 'StoredEndpointsCountTooLarge', 'InternalError'] + _enum: ['InvalidSignatureFormat', 'InvalidSignature', 'AlreadyExists', 'NotFound', 'VerificationKeyNotFound', 'InvalidNonce', 'UnsupportedDidAuthorizationCall', 'InvalidDidAuthorizationCall', 'MaxNewKeyAgreementKeysLimitExceeded', 'MaxPublicKeysExceeded', 'MaxKeyAgreementKeysExceeded', 'BadDidOrigin', 'TransactionExpired', 'AlreadyDeleted', 'NotOwnerOfDeposit', 'UnableToPayFees', 'MaxNumberOfServicesExceeded', 'MaxServiceIdLengthExceeded', 'MaxServiceTypeLengthExceeded', 'MaxNumberOfTypesPerServiceExceeded', 'MaxServiceUrlLengthExceeded', 'MaxNumberOfUrlsPerServiceExceeded', 'ServiceAlreadyExists', 'ServiceNotFound', 'InvalidServiceEncoding', 'MaxStoredEndpointsCountExceeded', 'Internal'] }, /** - * Lookup423: pallet_did_lookup::connection_record::ConnectionRecord + * Lookup424: pallet_did_lookup::connection_record::ConnectionRecord **/ PalletDidLookupConnectionRecord: { did: 'AccountId32', deposit: 'KiltSupportDeposit' }, /** - * Lookup425: pallet_did_lookup::pallet::Error + * Lookup426: pallet_did_lookup::migration_state::MigrationState + **/ + PalletDidLookupMigrationState: { + _enum: { + Done: 'Null', + PreUpgrade: 'Null', + Upgrading: 'PalletDidLookupMigrationsMixedStorageKey' + } + }, + /** + * Lookup427: pallet_did_lookup::migrations::MixedStorageKey + **/ + PalletDidLookupMigrationsMixedStorageKey: { + _enum: { + V1: 'AccountId32', + V2: 'PalletDidLookupLinkableAccountLinkableAccountId' + } + }, + /** + * Lookup428: pallet_did_lookup::pallet::Error **/ PalletDidLookupError: { - _enum: ['AssociationNotFound', 'NotAuthorized', 'OutdatedProof', 'InsufficientFunds'] + _enum: ['NotFound', 'NotAuthorized', 'OutdatedProof', 'InsufficientFunds', 'Migration'] }, /** - * Lookup426: pallet_web3_names::web3_name::Web3NameOwnership, BlockNumber> + * Lookup429: pallet_web3_names::web3_name::Web3NameOwnership, BlockNumber> **/ PalletWeb3NamesWeb3NameWeb3NameOwnership: { owner: 'AccountId32', @@ -3430,13 +3807,13 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup427: pallet_web3_names::pallet::Error + * Lookup430: pallet_web3_names::pallet::Error **/ PalletWeb3NamesError: { - _enum: ['InsufficientFunds', 'Web3NameAlreadyClaimed', 'Web3NameNotFound', 'OwnerAlreadyExists', 'OwnerNotFound', 'Web3NameBanned', 'Web3NameNotBanned', 'Web3NameAlreadyBanned', 'NotAuthorized', 'Web3NameTooShort', 'Web3NameTooLong', 'InvalidWeb3NameCharacter', 'Unauthorized'] + _enum: ['InsufficientFunds', 'AlreadyExists', 'NotFound', 'OwnerAlreadyExists', 'OwnerNotFound', 'Banned', 'NotBanned', 'AlreadyBanned', 'NotAuthorized', 'TooShort', 'TooLong', 'InvalidCharacter'] }, /** - * Lookup429: public_credentials::credentials::CredentialEntry> + * Lookup432: public_credentials::credentials::CredentialEntry> **/ PublicCredentialsCredentialsCredentialEntry: { ctypeHash: 'H256', @@ -3447,19 +3824,19 @@ export default { authorizationId: 'Option' }, /** - * Lookup430: public_credentials::pallet::Error + * Lookup433: public_credentials::pallet::Error **/ PublicCredentialsError: { - _enum: ['CredentialAlreadyIssued', 'CredentialNotFound', 'UnableToPayFees', 'InvalidInput', 'Unauthorized', 'InternalError'] + _enum: ['AlreadyAttested', 'NotFound', 'UnableToPayFees', 'InvalidInput', 'NotAuthorized', 'Internal'] }, /** - * Lookup432: polkadot_primitives::v2::UpgradeRestriction + * Lookup435: polkadot_primitives::v2::UpgradeRestriction **/ PolkadotPrimitivesV2UpgradeRestriction: { _enum: ['Present'] }, /** - * Lookup433: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot + * Lookup436: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot **/ CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { dmqMqcHead: 'H256', @@ -3468,7 +3845,7 @@ export default { egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>' }, /** - * Lookup437: polkadot_primitives::v2::AbridgedHrmpChannel + * Lookup440: polkadot_primitives::v2::AbridgedHrmpChannel **/ PolkadotPrimitivesV2AbridgedHrmpChannel: { maxCapacity: 'u32', @@ -3479,7 +3856,7 @@ export default { mqcHead: 'Option' }, /** - * Lookup438: polkadot_primitives::v2::AbridgedHostConfiguration + * Lookup441: polkadot_primitives::v2::AbridgedHostConfiguration **/ PolkadotPrimitivesV2AbridgedHostConfiguration: { maxCodeSize: 'u32', @@ -3493,20 +3870,20 @@ export default { validationUpgradeDelay: 'u32' }, /** - * Lookup444: polkadot_core_primitives::OutboundHrmpMessage + * Lookup447: polkadot_core_primitives::OutboundHrmpMessage **/ PolkadotCorePrimitivesOutboundHrmpMessage: { recipient: 'u32', data: 'Bytes' }, /** - * Lookup445: cumulus_pallet_parachain_system::pallet::Error + * Lookup448: cumulus_pallet_parachain_system::pallet::Error **/ CumulusPalletParachainSystemError: { _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized'] }, /** - * Lookup447: cumulus_pallet_xcmp_queue::InboundChannelDetails + * Lookup450: cumulus_pallet_xcmp_queue::InboundChannelDetails **/ CumulusPalletXcmpQueueInboundChannelDetails: { sender: 'u32', @@ -3514,19 +3891,19 @@ export default { messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>' }, /** - * Lookup448: cumulus_pallet_xcmp_queue::InboundState + * Lookup451: cumulus_pallet_xcmp_queue::InboundState **/ CumulusPalletXcmpQueueInboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup451: polkadot_parachain::primitives::XcmpMessageFormat + * Lookup454: polkadot_parachain::primitives::XcmpMessageFormat **/ PolkadotParachainPrimitivesXcmpMessageFormat: { _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals'] }, /** - * Lookup454: cumulus_pallet_xcmp_queue::OutboundChannelDetails + * Lookup457: cumulus_pallet_xcmp_queue::OutboundChannelDetails **/ CumulusPalletXcmpQueueOutboundChannelDetails: { recipient: 'u32', @@ -3536,13 +3913,13 @@ export default { lastIndex: 'u16' }, /** - * Lookup455: cumulus_pallet_xcmp_queue::OutboundState + * Lookup458: cumulus_pallet_xcmp_queue::OutboundState **/ CumulusPalletXcmpQueueOutboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup457: cumulus_pallet_xcmp_queue::QueueConfigData + * Lookup460: cumulus_pallet_xcmp_queue::QueueConfigData **/ CumulusPalletXcmpQueueQueueConfigData: { suspendThreshold: 'u32', @@ -3553,29 +3930,29 @@ export default { xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight' }, /** - * Lookup459: cumulus_pallet_xcmp_queue::pallet::Error + * Lookup462: cumulus_pallet_xcmp_queue::pallet::Error **/ CumulusPalletXcmpQueueError: { _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit'] }, /** - * Lookup460: pallet_xcm::pallet::Error + * Lookup463: pallet_xcm::pallet::Error **/ PalletXcmError: { - _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed'] + _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed', 'InvalidAsset', 'LowBalance', 'TooManyLocks', 'AccountNotSovereign', 'FeesNotMet', 'LockNotFound', 'InUse'] }, /** - * Lookup461: cumulus_pallet_xcm::pallet::Error + * Lookup464: cumulus_pallet_xcm::pallet::Error **/ CumulusPalletXcmError: 'Null', /** - * Lookup462: cumulus_pallet_dmp_queue::ConfigData + * Lookup465: cumulus_pallet_dmp_queue::ConfigData **/ CumulusPalletDmpQueueConfigData: { maxIndividual: 'SpWeightsWeightV2Weight' }, /** - * Lookup463: cumulus_pallet_dmp_queue::PageIndexData + * Lookup466: cumulus_pallet_dmp_queue::PageIndexData **/ CumulusPalletDmpQueuePageIndexData: { beginUsed: 'u32', @@ -3583,37 +3960,37 @@ export default { overweightCount: 'u64' }, /** - * Lookup466: cumulus_pallet_dmp_queue::pallet::Error + * Lookup469: cumulus_pallet_dmp_queue::pallet::Error **/ CumulusPalletDmpQueueError: { _enum: ['Unknown', 'OverLimit'] }, /** - * Lookup469: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender + * Lookup472: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender **/ FrameSystemExtensionsCheckNonZeroSender: 'Null', /** - * Lookup470: frame_system::extensions::check_spec_version::CheckSpecVersion + * Lookup473: frame_system::extensions::check_spec_version::CheckSpecVersion **/ FrameSystemExtensionsCheckSpecVersion: 'Null', /** - * Lookup471: frame_system::extensions::check_tx_version::CheckTxVersion + * Lookup474: frame_system::extensions::check_tx_version::CheckTxVersion **/ FrameSystemExtensionsCheckTxVersion: 'Null', /** - * Lookup472: frame_system::extensions::check_genesis::CheckGenesis + * Lookup475: frame_system::extensions::check_genesis::CheckGenesis **/ FrameSystemExtensionsCheckGenesis: 'Null', /** - * Lookup475: frame_system::extensions::check_nonce::CheckNonce + * Lookup478: frame_system::extensions::check_nonce::CheckNonce **/ FrameSystemExtensionsCheckNonce: 'Compact', /** - * Lookup476: frame_system::extensions::check_weight::CheckWeight + * Lookup479: frame_system::extensions::check_weight::CheckWeight **/ FrameSystemExtensionsCheckWeight: 'Null', /** - * Lookup477: pallet_transaction_payment::ChargeTransactionPayment + * Lookup480: pallet_transaction_payment::ChargeTransactionPayment **/ PalletTransactionPaymentChargeTransactionPayment: 'Compact' }; diff --git a/packages/augment-api/src/interfaces/registry.ts b/packages/augment-api/src/interfaces/registry.ts index 305c29337..6bf52aa68 100644 --- a/packages/augment-api/src/interfaces/registry.ts +++ b/packages/augment-api/src/interfaces/registry.ts @@ -5,7 +5,7 @@ // this is required to allow for ambient/previous definitions import '@polkadot/types/types/registry'; -import type { AttestationAttestationsAttestationDetails, AttestationCall, AttestationError, AttestationEvent, CtypeCall, CtypeCtypeEntry, CtypeError, CtypeEvent, CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, DelegationAccessControlDelegationAc, DelegationCall, DelegationDelegationHierarchyDelegationDetails, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DelegationDelegationHierarchyPermissions, DelegationError, DelegationEvent, DidCall, DidDidDetails, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidPublicKey, DidDidDetailsDidPublicKeyDetails, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidError, DidEvent, DidOriginDidRawOrigin, DidServiceEndpointsDidEndpoint, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, KiltAssetDidsAssetV1AssetId, KiltAssetDidsAssetV1EvmSmartContractFungibleReference, KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference, KiltAssetDidsAssetV1GenericAssetId, KiltAssetDidsChainV1ChainId, KiltAssetDidsChainV1GenericChainId, KiltAssetDidsChainV1GenesisHexHash32Reference, KiltAssetDidsV1AssetDid, KiltSupportDeposit, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupAccountAccountId20, PalletDidLookupAccountEthereumSignature, PalletDidLookupAssociateAccountRequest, PalletDidLookupCall, PalletDidLookupConnectionRecord, PalletDidLookupError, PalletDidLookupEvent, PalletDidLookupLinkableAccountLinkableAccountId, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletTimestampCall, PalletTipsCall, PalletTipsError, PalletTipsEvent, PalletTipsOpenTip, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesCall, PalletWeb3NamesError, PalletWeb3NamesEvent, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, ParachainStakingCall, ParachainStakingCandidate, ParachainStakingCandidateStatus, ParachainStakingDelegationCounter, ParachainStakingError, ParachainStakingEvent, ParachainStakingInflationInflationInfo, ParachainStakingInflationRewardRate, ParachainStakingInflationStakingInfo, ParachainStakingRoundInfo, ParachainStakingSetOrderedSet, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCall, PublicCredentialsCredentialsCredential, PublicCredentialsCredentialsCredentialEntry, PublicCredentialsError, PublicCredentialsEvent, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonAuthorizationPalletAuthorize, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaPublic, SpCoreEcdsaSignature, SpCoreEd25519Public, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeRuntime, SpiritnetRuntimeSessionKeys, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { AttestationAttestationsAttestationDetails, AttestationCall, AttestationError, AttestationEvent, CtypeCall, CtypeCtypeEntry, CtypeError, CtypeEvent, CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, DelegationAccessControlDelegationAc, DelegationCall, DelegationDelegationHierarchyDelegationDetails, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DelegationDelegationHierarchyPermissions, DelegationError, DelegationEvent, DidCall, DidDidDetails, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidPublicKey, DidDidDetailsDidPublicKeyDetails, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidError, DidEvent, DidOriginDidRawOrigin, DidServiceEndpointsDidEndpoint, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, KiltAssetDidsAssetV1AssetId, KiltAssetDidsAssetV1EvmSmartContractFungibleReference, KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference, KiltAssetDidsAssetV1GenericAssetId, KiltAssetDidsChainV1ChainId, KiltAssetDidsChainV1GenericChainId, KiltAssetDidsChainV1GenesisHexHash32Reference, KiltAssetDidsV1AssetDid, KiltSupportDeposit, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupAccountAccountId20, PalletDidLookupAccountEthereumSignature, PalletDidLookupAssociateAccountRequest, PalletDidLookupCall, PalletDidLookupConnectionRecord, PalletDidLookupError, PalletDidLookupEvent, PalletDidLookupLinkableAccountLinkableAccountId, PalletDidLookupMigrationState, PalletDidLookupMigrationsMixedStorageKey, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletTimestampCall, PalletTipsCall, PalletTipsError, PalletTipsEvent, PalletTipsOpenTip, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesCall, PalletWeb3NamesError, PalletWeb3NamesEvent, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, ParachainStakingCall, ParachainStakingCandidate, ParachainStakingCandidateStatus, ParachainStakingDelegationCounter, ParachainStakingError, ParachainStakingEvent, ParachainStakingInflationInflationInfo, ParachainStakingInflationRewardRate, ParachainStakingInflationStakingInfo, ParachainStakingRoundInfo, ParachainStakingSetOrderedSet, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCall, PublicCredentialsCredentialsCredential, PublicCredentialsCredentialsCredentialEntry, PublicCredentialsError, PublicCredentialsEvent, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonAuthorizationPalletAuthorize, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaPublic, SpCoreEcdsaSignature, SpCoreEd25519Public, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeRuntime, SpiritnetRuntimeSessionKeys, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3VecPalletInfo, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; declare module '@polkadot/types/types/registry' { interface InterfaceTypes { @@ -94,9 +94,6 @@ declare module '@polkadot/types/types/registry' { KiltAssetDidsChainV1GenesisHexHash32Reference: KiltAssetDidsChainV1GenesisHexHash32Reference; KiltAssetDidsV1AssetDid: KiltAssetDidsV1AssetDid; KiltSupportDeposit: KiltSupportDeposit; - PalletAuthorshipCall: PalletAuthorshipCall; - PalletAuthorshipError: PalletAuthorshipError; - PalletAuthorshipUncleEntryItem: PalletAuthorshipUncleEntryItem; PalletBalancesAccountData: PalletBalancesAccountData; PalletBalancesBalanceLock: PalletBalancesBalanceLock; PalletBalancesCall: PalletBalancesCall; @@ -129,6 +126,8 @@ declare module '@polkadot/types/types/registry' { PalletDidLookupError: PalletDidLookupError; PalletDidLookupEvent: PalletDidLookupEvent; PalletDidLookupLinkableAccountLinkableAccountId: PalletDidLookupLinkableAccountLinkableAccountId; + PalletDidLookupMigrationState: PalletDidLookupMigrationState; + PalletDidLookupMigrationsMixedStorageKey: PalletDidLookupMigrationsMixedStorageKey; PalletIndicesCall: PalletIndicesCall; PalletIndicesError: PalletIndicesError; PalletIndicesEvent: PalletIndicesEvent; @@ -218,11 +217,9 @@ declare module '@polkadot/types/types/registry' { SpCoreSr25519Public: SpCoreSr25519Public; SpCoreSr25519Signature: SpCoreSr25519Signature; SpCoreVoid: SpCoreVoid; - SpRuntimeBlakeTwo256: SpRuntimeBlakeTwo256; SpRuntimeDigest: SpRuntimeDigest; SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem; SpRuntimeDispatchError: SpRuntimeDispatchError; - SpRuntimeHeader: SpRuntimeHeader; SpRuntimeModuleError: SpRuntimeModuleError; SpRuntimeMultiSignature: SpRuntimeMultiSignature; SpRuntimeTokenError: SpRuntimeTokenError; @@ -236,36 +233,50 @@ declare module '@polkadot/types/types/registry' { SpiritnetRuntimeRuntime: SpiritnetRuntimeRuntime; SpiritnetRuntimeSessionKeys: SpiritnetRuntimeSessionKeys; XcmDoubleEncoded: XcmDoubleEncoded; - XcmV0Junction: XcmV0Junction; - XcmV0JunctionBodyId: XcmV0JunctionBodyId; - XcmV0JunctionBodyPart: XcmV0JunctionBodyPart; - XcmV0JunctionNetworkId: XcmV0JunctionNetworkId; - XcmV0MultiAsset: XcmV0MultiAsset; - XcmV0MultiLocation: XcmV0MultiLocation; - XcmV0Order: XcmV0Order; - XcmV0OriginKind: XcmV0OriginKind; - XcmV0Response: XcmV0Response; - XcmV0Xcm: XcmV0Xcm; - XcmV1Junction: XcmV1Junction; - XcmV1MultiAsset: XcmV1MultiAsset; - XcmV1MultiLocation: XcmV1MultiLocation; - XcmV1MultiassetAssetId: XcmV1MultiassetAssetId; - XcmV1MultiassetAssetInstance: XcmV1MultiassetAssetInstance; - XcmV1MultiassetFungibility: XcmV1MultiassetFungibility; - XcmV1MultiassetMultiAssetFilter: XcmV1MultiassetMultiAssetFilter; - XcmV1MultiassetMultiAssets: XcmV1MultiassetMultiAssets; - XcmV1MultiassetWildFungibility: XcmV1MultiassetWildFungibility; - XcmV1MultiassetWildMultiAsset: XcmV1MultiassetWildMultiAsset; - XcmV1MultilocationJunctions: XcmV1MultilocationJunctions; - XcmV1Order: XcmV1Order; - XcmV1Response: XcmV1Response; - XcmV1Xcm: XcmV1Xcm; + XcmV2BodyId: XcmV2BodyId; + XcmV2BodyPart: XcmV2BodyPart; XcmV2Instruction: XcmV2Instruction; + XcmV2Junction: XcmV2Junction; + XcmV2MultiAsset: XcmV2MultiAsset; + XcmV2MultiLocation: XcmV2MultiLocation; + XcmV2MultiassetAssetId: XcmV2MultiassetAssetId; + XcmV2MultiassetAssetInstance: XcmV2MultiassetAssetInstance; + XcmV2MultiassetFungibility: XcmV2MultiassetFungibility; + XcmV2MultiassetMultiAssetFilter: XcmV2MultiassetMultiAssetFilter; + XcmV2MultiassetMultiAssets: XcmV2MultiassetMultiAssets; + XcmV2MultiassetWildFungibility: XcmV2MultiassetWildFungibility; + XcmV2MultiassetWildMultiAsset: XcmV2MultiassetWildMultiAsset; + XcmV2MultilocationJunctions: XcmV2MultilocationJunctions; + XcmV2NetworkId: XcmV2NetworkId; + XcmV2OriginKind: XcmV2OriginKind; XcmV2Response: XcmV2Response; XcmV2TraitsError: XcmV2TraitsError; - XcmV2TraitsOutcome: XcmV2TraitsOutcome; XcmV2WeightLimit: XcmV2WeightLimit; XcmV2Xcm: XcmV2Xcm; + XcmV3Instruction: XcmV3Instruction; + XcmV3Junction: XcmV3Junction; + XcmV3JunctionBodyId: XcmV3JunctionBodyId; + XcmV3JunctionBodyPart: XcmV3JunctionBodyPart; + XcmV3JunctionNetworkId: XcmV3JunctionNetworkId; + XcmV3Junctions: XcmV3Junctions; + XcmV3MaybeErrorCode: XcmV3MaybeErrorCode; + XcmV3MultiAsset: XcmV3MultiAsset; + XcmV3MultiLocation: XcmV3MultiLocation; + XcmV3MultiassetAssetId: XcmV3MultiassetAssetId; + XcmV3MultiassetAssetInstance: XcmV3MultiassetAssetInstance; + XcmV3MultiassetFungibility: XcmV3MultiassetFungibility; + XcmV3MultiassetMultiAssetFilter: XcmV3MultiassetMultiAssetFilter; + XcmV3MultiassetMultiAssets: XcmV3MultiassetMultiAssets; + XcmV3MultiassetWildFungibility: XcmV3MultiassetWildFungibility; + XcmV3MultiassetWildMultiAsset: XcmV3MultiassetWildMultiAsset; + XcmV3PalletInfo: XcmV3PalletInfo; + XcmV3QueryResponseInfo: XcmV3QueryResponseInfo; + XcmV3Response: XcmV3Response; + XcmV3TraitsError: XcmV3TraitsError; + XcmV3TraitsOutcome: XcmV3TraitsOutcome; + XcmV3VecPalletInfo: XcmV3VecPalletInfo; + XcmV3WeightLimit: XcmV3WeightLimit; + XcmV3Xcm: XcmV3Xcm; XcmVersionedMultiAssets: XcmVersionedMultiAssets; XcmVersionedMultiLocation: XcmVersionedMultiLocation; XcmVersionedXcm: XcmVersionedXcm; diff --git a/packages/augment-api/src/interfaces/types-lookup.ts b/packages/augment-api/src/interfaces/types-lookup.ts index 183c38981..cf6f588f8 100644 --- a/packages/augment-api/src/interfaces/types-lookup.ts +++ b/packages/augment-api/src/interfaces/types-lookup.ts @@ -753,7 +753,9 @@ declare module '@polkadot/types/lookup' { readonly asAssociationEstablished: ITuple<[PalletDidLookupLinkableAccountLinkableAccountId, AccountId32]>; readonly isAssociationRemoved: boolean; readonly asAssociationRemoved: ITuple<[PalletDidLookupLinkableAccountLinkableAccountId, AccountId32]>; - readonly type: 'AssociationEstablished' | 'AssociationRemoved'; + readonly isMigrationProgress: boolean; + readonly isMigrationCompleted: boolean; + readonly type: 'AssociationEstablished' | 'AssociationRemoved' | 'MigrationProgress' | 'MigrationCompleted'; } /** @name PalletDidLookupLinkableAccountLinkableAccountId (66) */ @@ -896,37 +898,37 @@ declare module '@polkadot/types/lookup' { readonly weightUsed: SpWeightsWeightV2Weight; readonly dmqHead: H256; } & Struct; - readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed'; + readonly isUpwardMessageSent: boolean; + readonly asUpwardMessageSent: { + readonly messageHash: Option; + } & Struct; + readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed' | 'UpwardMessageSent'; } /** @name CumulusPalletXcmpQueueEvent (101) */ interface CumulusPalletXcmpQueueEvent extends Enum { readonly isSuccess: boolean; readonly asSuccess: { - readonly messageHash: Option; + readonly messageHash: Option; readonly weight: SpWeightsWeightV2Weight; } & Struct; readonly isFail: boolean; readonly asFail: { - readonly messageHash: Option; - readonly error: XcmV2TraitsError; + readonly messageHash: Option; + readonly error: XcmV3TraitsError; readonly weight: SpWeightsWeightV2Weight; } & Struct; readonly isBadVersion: boolean; readonly asBadVersion: { - readonly messageHash: Option; + readonly messageHash: Option; } & Struct; readonly isBadFormat: boolean; readonly asBadFormat: { - readonly messageHash: Option; - } & Struct; - readonly isUpwardMessageSent: boolean; - readonly asUpwardMessageSent: { - readonly messageHash: Option; + readonly messageHash: Option; } & Struct; readonly isXcmpMessageSent: boolean; readonly asXcmpMessageSent: { - readonly messageHash: Option; + readonly messageHash: Option; } & Struct; readonly isOverweightEnqueued: boolean; readonly asOverweightEnqueued: { @@ -940,17 +942,17 @@ declare module '@polkadot/types/lookup' { readonly index: u64; readonly used: SpWeightsWeightV2Weight; } & Struct; - readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced'; + readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced'; } - /** @name XcmV2TraitsError (103) */ - interface XcmV2TraitsError extends Enum { + /** @name XcmV3TraitsError (102) */ + interface XcmV3TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; readonly isUntrustedReserveLocation: boolean; readonly isUntrustedTeleportLocation: boolean; - readonly isMultiLocationFull: boolean; - readonly isMultiLocationNotInvertible: boolean; + readonly isLocationFull: boolean; + readonly isLocationNotInvertible: boolean; readonly isBadOrigin: boolean; readonly isInvalidLocation: boolean; readonly isAssetNotFound: boolean; @@ -968,24 +970,38 @@ declare module '@polkadot/types/lookup' { readonly isTooExpensive: boolean; readonly isTrap: boolean; readonly asTrap: u64; + readonly isExpectationFalse: boolean; + readonly isPalletNotFound: boolean; + readonly isNameMismatch: boolean; + readonly isVersionIncompatible: boolean; + readonly isHoldingWouldOverflow: boolean; + readonly isExportError: boolean; + readonly isReanchorFailed: boolean; + readonly isNoDeal: boolean; + readonly isFeesNotMet: boolean; + readonly isLockError: boolean; + readonly isNoPermission: boolean; + readonly isUnanchored: boolean; + readonly isNotDepositable: boolean; readonly isUnhandledXcmVersion: boolean; readonly isWeightLimitReached: boolean; - readonly asWeightLimitReached: u64; + readonly asWeightLimitReached: SpWeightsWeightV2Weight; readonly isBarrier: boolean; readonly isWeightNotComputable: boolean; - readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable'; + readonly isExceedsStackLimit: boolean; + readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'LocationFull' | 'LocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'ExpectationFalse' | 'PalletNotFound' | 'NameMismatch' | 'VersionIncompatible' | 'HoldingWouldOverflow' | 'ExportError' | 'ReanchorFailed' | 'NoDeal' | 'FeesNotMet' | 'LockError' | 'NoPermission' | 'Unanchored' | 'NotDepositable' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable' | 'ExceedsStackLimit'; } - /** @name PalletXcmEvent (105) */ + /** @name PalletXcmEvent (104) */ interface PalletXcmEvent extends Enum { readonly isAttempted: boolean; - readonly asAttempted: XcmV2TraitsOutcome; + readonly asAttempted: XcmV3TraitsOutcome; readonly isSent: boolean; - readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>; + readonly asSent: ITuple<[XcmV3MultiLocation, XcmV3MultiLocation, XcmV3Xcm]>; readonly isUnexpectedResponse: boolean; - readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>; + readonly asUnexpectedResponse: ITuple<[XcmV3MultiLocation, u64]>; readonly isResponseReady: boolean; - readonly asResponseReady: ITuple<[u64, XcmV2Response]>; + readonly asResponseReady: ITuple<[u64, XcmV3Response]>; readonly isNotified: boolean; readonly asNotified: ITuple<[u64, u8, u8]>; readonly isNotifyOverweight: boolean; @@ -995,82 +1011,94 @@ declare module '@polkadot/types/lookup' { readonly isNotifyDecodeFailed: boolean; readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>; readonly isInvalidResponder: boolean; - readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option]>; + readonly asInvalidResponder: ITuple<[XcmV3MultiLocation, u64, Option]>; readonly isInvalidResponderVersion: boolean; - readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>; + readonly asInvalidResponderVersion: ITuple<[XcmV3MultiLocation, u64]>; readonly isResponseTaken: boolean; readonly asResponseTaken: u64; readonly isAssetsTrapped: boolean; - readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>; + readonly asAssetsTrapped: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>; readonly isVersionChangeNotified: boolean; - readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>; + readonly asVersionChangeNotified: ITuple<[XcmV3MultiLocation, u32, XcmV3MultiassetMultiAssets]>; readonly isSupportedVersionChanged: boolean; - readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>; + readonly asSupportedVersionChanged: ITuple<[XcmV3MultiLocation, u32]>; readonly isNotifyTargetSendFail: boolean; - readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>; + readonly asNotifyTargetSendFail: ITuple<[XcmV3MultiLocation, u64, XcmV3TraitsError]>; readonly isNotifyTargetMigrationFail: boolean; readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>; + readonly isInvalidQuerierVersion: boolean; + readonly asInvalidQuerierVersion: ITuple<[XcmV3MultiLocation, u64]>; + readonly isInvalidQuerier: boolean; + readonly asInvalidQuerier: ITuple<[XcmV3MultiLocation, u64, XcmV3MultiLocation, Option]>; + readonly isVersionNotifyStarted: boolean; + readonly asVersionNotifyStarted: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; + readonly isVersionNotifyRequested: boolean; + readonly asVersionNotifyRequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; + readonly isVersionNotifyUnrequested: boolean; + readonly asVersionNotifyUnrequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; + readonly isFeesPaid: boolean; + readonly asFeesPaid: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; readonly isAssetsClaimed: boolean; - readonly asAssetsClaimed: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>; - readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'AssetsClaimed'; + readonly asAssetsClaimed: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>; + readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'InvalidQuerierVersion' | 'InvalidQuerier' | 'VersionNotifyStarted' | 'VersionNotifyRequested' | 'VersionNotifyUnrequested' | 'FeesPaid' | 'AssetsClaimed'; } - /** @name XcmV2TraitsOutcome (106) */ - interface XcmV2TraitsOutcome extends Enum { + /** @name XcmV3TraitsOutcome (105) */ + interface XcmV3TraitsOutcome extends Enum { readonly isComplete: boolean; - readonly asComplete: u64; + readonly asComplete: SpWeightsWeightV2Weight; readonly isIncomplete: boolean; - readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>; + readonly asIncomplete: ITuple<[SpWeightsWeightV2Weight, XcmV3TraitsError]>; readonly isError: boolean; - readonly asError: XcmV2TraitsError; + readonly asError: XcmV3TraitsError; readonly type: 'Complete' | 'Incomplete' | 'Error'; } - /** @name XcmV1MultiLocation (107) */ - interface XcmV1MultiLocation extends Struct { + /** @name XcmV3MultiLocation (106) */ + interface XcmV3MultiLocation extends Struct { readonly parents: u8; - readonly interior: XcmV1MultilocationJunctions; + readonly interior: XcmV3Junctions; } - /** @name XcmV1MultilocationJunctions (108) */ - interface XcmV1MultilocationJunctions extends Enum { + /** @name XcmV3Junctions (107) */ + interface XcmV3Junctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; - readonly asX1: XcmV1Junction; + readonly asX1: XcmV3Junction; readonly isX2: boolean; - readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>; + readonly asX2: ITuple<[XcmV3Junction, XcmV3Junction]>; readonly isX3: boolean; - readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly asX3: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction]>; readonly isX4: boolean; - readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly asX4: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>; readonly isX5: boolean; - readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly asX5: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>; readonly isX6: boolean; - readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly asX6: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>; readonly isX7: boolean; - readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly asX7: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>; readonly isX8: boolean; - readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>; + readonly asX8: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>; readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; } - /** @name XcmV1Junction (109) */ - interface XcmV1Junction extends Enum { + /** @name XcmV3Junction (108) */ + interface XcmV3Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; readonly isAccountId32: boolean; readonly asAccountId32: { - readonly network: XcmV0JunctionNetworkId; + readonly network: Option; readonly id: U8aFixed; } & Struct; readonly isAccountIndex64: boolean; readonly asAccountIndex64: { - readonly network: XcmV0JunctionNetworkId; + readonly network: Option; readonly index: Compact; } & Struct; readonly isAccountKey20: boolean; readonly asAccountKey20: { - readonly network: XcmV0JunctionNetworkId; + readonly network: Option; readonly key: U8aFixed; } & Struct; readonly isPalletInstance: boolean; @@ -1078,31 +1106,49 @@ declare module '@polkadot/types/lookup' { readonly isGeneralIndex: boolean; readonly asGeneralIndex: Compact; readonly isGeneralKey: boolean; - readonly asGeneralKey: Bytes; + readonly asGeneralKey: { + readonly length: u8; + readonly data: U8aFixed; + } & Struct; readonly isOnlyChild: boolean; readonly isPlurality: boolean; readonly asPlurality: { - readonly id: XcmV0JunctionBodyId; - readonly part: XcmV0JunctionBodyPart; + readonly id: XcmV3JunctionBodyId; + readonly part: XcmV3JunctionBodyPart; } & Struct; - readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; + readonly isGlobalConsensus: boolean; + readonly asGlobalConsensus: XcmV3JunctionNetworkId; + readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality' | 'GlobalConsensus'; } - /** @name XcmV0JunctionNetworkId (111) */ - interface XcmV0JunctionNetworkId extends Enum { - readonly isAny: boolean; - readonly isNamed: boolean; - readonly asNamed: Bytes; + /** @name XcmV3JunctionNetworkId (111) */ + interface XcmV3JunctionNetworkId extends Enum { + readonly isByGenesis: boolean; + readonly asByGenesis: U8aFixed; + readonly isByFork: boolean; + readonly asByFork: { + readonly blockNumber: u64; + readonly blockHash: U8aFixed; + } & Struct; readonly isPolkadot: boolean; readonly isKusama: boolean; - readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama'; + readonly isWestend: boolean; + readonly isRococo: boolean; + readonly isWococo: boolean; + readonly isEthereum: boolean; + readonly asEthereum: { + readonly chainId: Compact; + } & Struct; + readonly isBitcoinCore: boolean; + readonly isBitcoinCash: boolean; + readonly type: 'ByGenesis' | 'ByFork' | 'Polkadot' | 'Kusama' | 'Westend' | 'Rococo' | 'Wococo' | 'Ethereum' | 'BitcoinCore' | 'BitcoinCash'; } - /** @name XcmV0JunctionBodyId (114) */ - interface XcmV0JunctionBodyId extends Enum { + /** @name XcmV3JunctionBodyId (113) */ + interface XcmV3JunctionBodyId extends Enum { readonly isUnit: boolean; - readonly isNamed: boolean; - readonly asNamed: Bytes; + readonly isMoniker: boolean; + readonly asMoniker: U8aFixed; readonly isIndex: boolean; readonly asIndex: Compact; readonly isExecutive: boolean; @@ -1112,11 +1158,11 @@ declare module '@polkadot/types/lookup' { readonly isDefense: boolean; readonly isAdministration: boolean; readonly isTreasury: boolean; - readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; + readonly type: 'Unit' | 'Moniker' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; } - /** @name XcmV0JunctionBodyPart (115) */ - interface XcmV0JunctionBodyPart extends Enum { + /** @name XcmV3JunctionBodyPart (114) */ + interface XcmV3JunctionBodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; readonly asMembers: { @@ -1140,38 +1186,39 @@ declare module '@polkadot/types/lookup' { readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; } - /** @name XcmV2Xcm (116) */ - interface XcmV2Xcm extends Vec {} + /** @name XcmV3Xcm (115) */ + interface XcmV3Xcm extends Vec {} - /** @name XcmV2Instruction (118) */ - interface XcmV2Instruction extends Enum { + /** @name XcmV3Instruction (117) */ + interface XcmV3Instruction extends Enum { readonly isWithdrawAsset: boolean; - readonly asWithdrawAsset: XcmV1MultiassetMultiAssets; + readonly asWithdrawAsset: XcmV3MultiassetMultiAssets; readonly isReserveAssetDeposited: boolean; - readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets; + readonly asReserveAssetDeposited: XcmV3MultiassetMultiAssets; readonly isReceiveTeleportedAsset: boolean; - readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets; + readonly asReceiveTeleportedAsset: XcmV3MultiassetMultiAssets; readonly isQueryResponse: boolean; readonly asQueryResponse: { readonly queryId: Compact; - readonly response: XcmV2Response; - readonly maxWeight: Compact; + readonly response: XcmV3Response; + readonly maxWeight: SpWeightsWeightV2Weight; + readonly querier: Option; } & Struct; readonly isTransferAsset: boolean; readonly asTransferAsset: { - readonly assets: XcmV1MultiassetMultiAssets; - readonly beneficiary: XcmV1MultiLocation; + readonly assets: XcmV3MultiassetMultiAssets; + readonly beneficiary: XcmV3MultiLocation; } & Struct; readonly isTransferReserveAsset: boolean; readonly asTransferReserveAsset: { - readonly assets: XcmV1MultiassetMultiAssets; - readonly dest: XcmV1MultiLocation; - readonly xcm: XcmV2Xcm; + readonly assets: XcmV3MultiassetMultiAssets; + readonly dest: XcmV3MultiLocation; + readonly xcm: XcmV3Xcm; } & Struct; readonly isTransact: boolean; readonly asTransact: { - readonly originType: XcmV0OriginKind; - readonly requireWeightAtMost: Compact; + readonly originKind: XcmV2OriginKind; + readonly requireWeightAtMost: SpWeightsWeightV2Weight; readonly call: XcmDoubleEncoded; } & Struct; readonly isHrmpNewChannelOpenRequest: boolean; @@ -1192,106 +1239,167 @@ declare module '@polkadot/types/lookup' { } & Struct; readonly isClearOrigin: boolean; readonly isDescendOrigin: boolean; - readonly asDescendOrigin: XcmV1MultilocationJunctions; + readonly asDescendOrigin: XcmV3Junctions; readonly isReportError: boolean; - readonly asReportError: { - readonly queryId: Compact; - readonly dest: XcmV1MultiLocation; - readonly maxResponseWeight: Compact; - } & Struct; + readonly asReportError: XcmV3QueryResponseInfo; readonly isDepositAsset: boolean; readonly asDepositAsset: { - readonly assets: XcmV1MultiassetMultiAssetFilter; - readonly maxAssets: Compact; - readonly beneficiary: XcmV1MultiLocation; + readonly assets: XcmV3MultiassetMultiAssetFilter; + readonly beneficiary: XcmV3MultiLocation; } & Struct; readonly isDepositReserveAsset: boolean; readonly asDepositReserveAsset: { - readonly assets: XcmV1MultiassetMultiAssetFilter; - readonly maxAssets: Compact; - readonly dest: XcmV1MultiLocation; - readonly xcm: XcmV2Xcm; + readonly assets: XcmV3MultiassetMultiAssetFilter; + readonly dest: XcmV3MultiLocation; + readonly xcm: XcmV3Xcm; } & Struct; readonly isExchangeAsset: boolean; readonly asExchangeAsset: { - readonly give: XcmV1MultiassetMultiAssetFilter; - readonly receive: XcmV1MultiassetMultiAssets; + readonly give: XcmV3MultiassetMultiAssetFilter; + readonly want: XcmV3MultiassetMultiAssets; + readonly maximal: bool; } & Struct; readonly isInitiateReserveWithdraw: boolean; readonly asInitiateReserveWithdraw: { - readonly assets: XcmV1MultiassetMultiAssetFilter; - readonly reserve: XcmV1MultiLocation; - readonly xcm: XcmV2Xcm; + readonly assets: XcmV3MultiassetMultiAssetFilter; + readonly reserve: XcmV3MultiLocation; + readonly xcm: XcmV3Xcm; } & Struct; readonly isInitiateTeleport: boolean; readonly asInitiateTeleport: { - readonly assets: XcmV1MultiassetMultiAssetFilter; - readonly dest: XcmV1MultiLocation; - readonly xcm: XcmV2Xcm; + readonly assets: XcmV3MultiassetMultiAssetFilter; + readonly dest: XcmV3MultiLocation; + readonly xcm: XcmV3Xcm; } & Struct; - readonly isQueryHolding: boolean; - readonly asQueryHolding: { - readonly queryId: Compact; - readonly dest: XcmV1MultiLocation; - readonly assets: XcmV1MultiassetMultiAssetFilter; - readonly maxResponseWeight: Compact; + readonly isReportHolding: boolean; + readonly asReportHolding: { + readonly responseInfo: XcmV3QueryResponseInfo; + readonly assets: XcmV3MultiassetMultiAssetFilter; } & Struct; readonly isBuyExecution: boolean; readonly asBuyExecution: { - readonly fees: XcmV1MultiAsset; - readonly weightLimit: XcmV2WeightLimit; + readonly fees: XcmV3MultiAsset; + readonly weightLimit: XcmV3WeightLimit; } & Struct; readonly isRefundSurplus: boolean; readonly isSetErrorHandler: boolean; - readonly asSetErrorHandler: XcmV2Xcm; + readonly asSetErrorHandler: XcmV3Xcm; readonly isSetAppendix: boolean; - readonly asSetAppendix: XcmV2Xcm; + readonly asSetAppendix: XcmV3Xcm; readonly isClearError: boolean; readonly isClaimAsset: boolean; readonly asClaimAsset: { - readonly assets: XcmV1MultiassetMultiAssets; - readonly ticket: XcmV1MultiLocation; + readonly assets: XcmV3MultiassetMultiAssets; + readonly ticket: XcmV3MultiLocation; } & Struct; readonly isTrap: boolean; readonly asTrap: Compact; readonly isSubscribeVersion: boolean; readonly asSubscribeVersion: { readonly queryId: Compact; - readonly maxResponseWeight: Compact; + readonly maxResponseWeight: SpWeightsWeightV2Weight; } & Struct; readonly isUnsubscribeVersion: boolean; - readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion'; - } - - /** @name XcmV1MultiassetMultiAssets (119) */ - interface XcmV1MultiassetMultiAssets extends Vec {} - - /** @name XcmV1MultiAsset (121) */ - interface XcmV1MultiAsset extends Struct { - readonly id: XcmV1MultiassetAssetId; - readonly fun: XcmV1MultiassetFungibility; - } - - /** @name XcmV1MultiassetAssetId (122) */ - interface XcmV1MultiassetAssetId extends Enum { + readonly isBurnAsset: boolean; + readonly asBurnAsset: XcmV3MultiassetMultiAssets; + readonly isExpectAsset: boolean; + readonly asExpectAsset: XcmV3MultiassetMultiAssets; + readonly isExpectOrigin: boolean; + readonly asExpectOrigin: Option; + readonly isExpectError: boolean; + readonly asExpectError: Option>; + readonly isExpectTransactStatus: boolean; + readonly asExpectTransactStatus: XcmV3MaybeErrorCode; + readonly isQueryPallet: boolean; + readonly asQueryPallet: { + readonly moduleName: Bytes; + readonly responseInfo: XcmV3QueryResponseInfo; + } & Struct; + readonly isExpectPallet: boolean; + readonly asExpectPallet: { + readonly index: Compact; + readonly name: Bytes; + readonly moduleName: Bytes; + readonly crateMajor: Compact; + readonly minCrateMinor: Compact; + } & Struct; + readonly isReportTransactStatus: boolean; + readonly asReportTransactStatus: XcmV3QueryResponseInfo; + readonly isClearTransactStatus: boolean; + readonly isUniversalOrigin: boolean; + readonly asUniversalOrigin: XcmV3Junction; + readonly isExportMessage: boolean; + readonly asExportMessage: { + readonly network: XcmV3JunctionNetworkId; + readonly destination: XcmV3Junctions; + readonly xcm: XcmV3Xcm; + } & Struct; + readonly isLockAsset: boolean; + readonly asLockAsset: { + readonly asset: XcmV3MultiAsset; + readonly unlocker: XcmV3MultiLocation; + } & Struct; + readonly isUnlockAsset: boolean; + readonly asUnlockAsset: { + readonly asset: XcmV3MultiAsset; + readonly target: XcmV3MultiLocation; + } & Struct; + readonly isNoteUnlockable: boolean; + readonly asNoteUnlockable: { + readonly asset: XcmV3MultiAsset; + readonly owner: XcmV3MultiLocation; + } & Struct; + readonly isRequestUnlock: boolean; + readonly asRequestUnlock: { + readonly asset: XcmV3MultiAsset; + readonly locker: XcmV3MultiLocation; + } & Struct; + readonly isSetFeesMode: boolean; + readonly asSetFeesMode: { + readonly jitWithdraw: bool; + } & Struct; + readonly isSetTopic: boolean; + readonly asSetTopic: U8aFixed; + readonly isClearTopic: boolean; + readonly isAliasOrigin: boolean; + readonly asAliasOrigin: XcmV3MultiLocation; + readonly isUnpaidExecution: boolean; + readonly asUnpaidExecution: { + readonly weightLimit: XcmV3WeightLimit; + readonly checkOrigin: Option; + } & Struct; + readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'ReportHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion' | 'BurnAsset' | 'ExpectAsset' | 'ExpectOrigin' | 'ExpectError' | 'ExpectTransactStatus' | 'QueryPallet' | 'ExpectPallet' | 'ReportTransactStatus' | 'ClearTransactStatus' | 'UniversalOrigin' | 'ExportMessage' | 'LockAsset' | 'UnlockAsset' | 'NoteUnlockable' | 'RequestUnlock' | 'SetFeesMode' | 'SetTopic' | 'ClearTopic' | 'AliasOrigin' | 'UnpaidExecution'; + } + + /** @name XcmV3MultiassetMultiAssets (118) */ + interface XcmV3MultiassetMultiAssets extends Vec {} + + /** @name XcmV3MultiAsset (120) */ + interface XcmV3MultiAsset extends Struct { + readonly id: XcmV3MultiassetAssetId; + readonly fun: XcmV3MultiassetFungibility; + } + + /** @name XcmV3MultiassetAssetId (121) */ + interface XcmV3MultiassetAssetId extends Enum { readonly isConcrete: boolean; - readonly asConcrete: XcmV1MultiLocation; + readonly asConcrete: XcmV3MultiLocation; readonly isAbstract: boolean; - readonly asAbstract: Bytes; + readonly asAbstract: U8aFixed; readonly type: 'Concrete' | 'Abstract'; } - /** @name XcmV1MultiassetFungibility (123) */ - interface XcmV1MultiassetFungibility extends Enum { + /** @name XcmV3MultiassetFungibility (122) */ + interface XcmV3MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; readonly isNonFungible: boolean; - readonly asNonFungible: XcmV1MultiassetAssetInstance; + readonly asNonFungible: XcmV3MultiassetAssetInstance; readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV1MultiassetAssetInstance (124) */ - interface XcmV1MultiassetAssetInstance extends Enum { + /** @name XcmV3MultiassetAssetInstance (123) */ + interface XcmV3MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; readonly asIndex: Compact; @@ -1303,25 +1411,50 @@ declare module '@polkadot/types/lookup' { readonly asArray16: U8aFixed; readonly isArray32: boolean; readonly asArray32: U8aFixed; - readonly isBlob: boolean; - readonly asBlob: Bytes; - readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob'; + readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32'; } - /** @name XcmV2Response (126) */ - interface XcmV2Response extends Enum { + /** @name XcmV3Response (125) */ + interface XcmV3Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; - readonly asAssets: XcmV1MultiassetMultiAssets; + readonly asAssets: XcmV3MultiassetMultiAssets; readonly isExecutionResult: boolean; - readonly asExecutionResult: Option>; + readonly asExecutionResult: Option>; readonly isVersion: boolean; readonly asVersion: u32; - readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version'; + readonly isPalletsInfo: boolean; + readonly asPalletsInfo: XcmV3VecPalletInfo; + readonly isDispatchResult: boolean; + readonly asDispatchResult: XcmV3MaybeErrorCode; + readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version' | 'PalletsInfo' | 'DispatchResult'; + } + + /** @name XcmV3VecPalletInfo (128) */ + interface XcmV3VecPalletInfo extends Vec {} + + /** @name XcmV3PalletInfo (130) */ + interface XcmV3PalletInfo extends Struct { + readonly index: Compact; + readonly name: Bytes; + readonly moduleName: Bytes; + readonly major: Compact; + readonly minor: Compact; + readonly patch: Compact; + } + + /** @name XcmV3MaybeErrorCode (131) */ + interface XcmV3MaybeErrorCode extends Enum { + readonly isSuccess: boolean; + readonly isError: boolean; + readonly asError: Bytes; + readonly isTruncatedError: boolean; + readonly asTruncatedError: Bytes; + readonly type: 'Success' | 'Error' | 'TruncatedError'; } - /** @name XcmV0OriginKind (129) */ - interface XcmV0OriginKind extends Enum { + /** @name XcmV2OriginKind (133) */ + interface XcmV2OriginKind extends Enum { readonly isNative: boolean; readonly isSovereignAccount: boolean; readonly isSuperuser: boolean; @@ -1329,140 +1462,133 @@ declare module '@polkadot/types/lookup' { readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm'; } - /** @name XcmDoubleEncoded (130) */ + /** @name XcmDoubleEncoded (134) */ interface XcmDoubleEncoded extends Struct { readonly encoded: Bytes; } - /** @name XcmV1MultiassetMultiAssetFilter (131) */ - interface XcmV1MultiassetMultiAssetFilter extends Enum { + /** @name XcmV3QueryResponseInfo (135) */ + interface XcmV3QueryResponseInfo extends Struct { + readonly destination: XcmV3MultiLocation; + readonly queryId: Compact; + readonly maxWeight: SpWeightsWeightV2Weight; + } + + /** @name XcmV3MultiassetMultiAssetFilter (136) */ + interface XcmV3MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; - readonly asDefinite: XcmV1MultiassetMultiAssets; + readonly asDefinite: XcmV3MultiassetMultiAssets; readonly isWild: boolean; - readonly asWild: XcmV1MultiassetWildMultiAsset; + readonly asWild: XcmV3MultiassetWildMultiAsset; readonly type: 'Definite' | 'Wild'; } - /** @name XcmV1MultiassetWildMultiAsset (132) */ - interface XcmV1MultiassetWildMultiAsset extends Enum { + /** @name XcmV3MultiassetWildMultiAsset (137) */ + interface XcmV3MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; readonly asAllOf: { - readonly id: XcmV1MultiassetAssetId; - readonly fun: XcmV1MultiassetWildFungibility; + readonly id: XcmV3MultiassetAssetId; + readonly fun: XcmV3MultiassetWildFungibility; + } & Struct; + readonly isAllCounted: boolean; + readonly asAllCounted: Compact; + readonly isAllOfCounted: boolean; + readonly asAllOfCounted: { + readonly id: XcmV3MultiassetAssetId; + readonly fun: XcmV3MultiassetWildFungibility; + readonly count: Compact; } & Struct; - readonly type: 'All' | 'AllOf'; + readonly type: 'All' | 'AllOf' | 'AllCounted' | 'AllOfCounted'; } - /** @name XcmV1MultiassetWildFungibility (133) */ - interface XcmV1MultiassetWildFungibility extends Enum { + /** @name XcmV3MultiassetWildFungibility (138) */ + interface XcmV3MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV2WeightLimit (134) */ - interface XcmV2WeightLimit extends Enum { + /** @name XcmV3WeightLimit (139) */ + interface XcmV3WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; - readonly asLimited: Compact; + readonly asLimited: SpWeightsWeightV2Weight; readonly type: 'Unlimited' | 'Limited'; } - /** @name XcmVersionedMultiAssets (136) */ + /** @name XcmVersionedMultiAssets (140) */ interface XcmVersionedMultiAssets extends Enum { - readonly isV0: boolean; - readonly asV0: Vec; - readonly isV1: boolean; - readonly asV1: XcmV1MultiassetMultiAssets; - readonly type: 'V0' | 'V1'; + readonly isV2: boolean; + readonly asV2: XcmV2MultiassetMultiAssets; + readonly isV3: boolean; + readonly asV3: XcmV3MultiassetMultiAssets; + readonly type: 'V2' | 'V3'; } - /** @name XcmV0MultiAsset (138) */ - interface XcmV0MultiAsset extends Enum { - readonly isNone: boolean; - readonly isAll: boolean; - readonly isAllFungible: boolean; - readonly isAllNonFungible: boolean; - readonly isAllAbstractFungible: boolean; - readonly asAllAbstractFungible: { - readonly id: Bytes; - } & Struct; - readonly isAllAbstractNonFungible: boolean; - readonly asAllAbstractNonFungible: { - readonly class: Bytes; - } & Struct; - readonly isAllConcreteFungible: boolean; - readonly asAllConcreteFungible: { - readonly id: XcmV0MultiLocation; - } & Struct; - readonly isAllConcreteNonFungible: boolean; - readonly asAllConcreteNonFungible: { - readonly class: XcmV0MultiLocation; - } & Struct; - readonly isAbstractFungible: boolean; - readonly asAbstractFungible: { - readonly id: Bytes; - readonly amount: Compact; - } & Struct; - readonly isAbstractNonFungible: boolean; - readonly asAbstractNonFungible: { - readonly class: Bytes; - readonly instance: XcmV1MultiassetAssetInstance; - } & Struct; - readonly isConcreteFungible: boolean; - readonly asConcreteFungible: { - readonly id: XcmV0MultiLocation; - readonly amount: Compact; - } & Struct; - readonly isConcreteNonFungible: boolean; - readonly asConcreteNonFungible: { - readonly class: XcmV0MultiLocation; - readonly instance: XcmV1MultiassetAssetInstance; - } & Struct; - readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible'; + /** @name XcmV2MultiassetMultiAssets (141) */ + interface XcmV2MultiassetMultiAssets extends Vec {} + + /** @name XcmV2MultiAsset (143) */ + interface XcmV2MultiAsset extends Struct { + readonly id: XcmV2MultiassetAssetId; + readonly fun: XcmV2MultiassetFungibility; } - /** @name XcmV0MultiLocation (139) */ - interface XcmV0MultiLocation extends Enum { - readonly isNull: boolean; + /** @name XcmV2MultiassetAssetId (144) */ + interface XcmV2MultiassetAssetId extends Enum { + readonly isConcrete: boolean; + readonly asConcrete: XcmV2MultiLocation; + readonly isAbstract: boolean; + readonly asAbstract: Bytes; + readonly type: 'Concrete' | 'Abstract'; + } + + /** @name XcmV2MultiLocation (145) */ + interface XcmV2MultiLocation extends Struct { + readonly parents: u8; + readonly interior: XcmV2MultilocationJunctions; + } + + /** @name XcmV2MultilocationJunctions (146) */ + interface XcmV2MultilocationJunctions extends Enum { + readonly isHere: boolean; readonly isX1: boolean; - readonly asX1: XcmV0Junction; + readonly asX1: XcmV2Junction; readonly isX2: boolean; - readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>; + readonly asX2: ITuple<[XcmV2Junction, XcmV2Junction]>; readonly isX3: boolean; - readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>; + readonly asX3: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction]>; readonly isX4: boolean; - readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>; + readonly asX4: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; readonly isX5: boolean; - readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>; + readonly asX5: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; readonly isX6: boolean; - readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>; + readonly asX6: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; readonly isX7: boolean; - readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>; + readonly asX7: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; readonly isX8: boolean; - readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>; - readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; + readonly asX8: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; + readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; } - /** @name XcmV0Junction (140) */ - interface XcmV0Junction extends Enum { - readonly isParent: boolean; + /** @name XcmV2Junction (147) */ + interface XcmV2Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; readonly isAccountId32: boolean; readonly asAccountId32: { - readonly network: XcmV0JunctionNetworkId; + readonly network: XcmV2NetworkId; readonly id: U8aFixed; } & Struct; readonly isAccountIndex64: boolean; readonly asAccountIndex64: { - readonly network: XcmV0JunctionNetworkId; + readonly network: XcmV2NetworkId; readonly index: Compact; } & Struct; readonly isAccountKey20: boolean; readonly asAccountKey20: { - readonly network: XcmV0JunctionNetworkId; + readonly network: XcmV2NetworkId; readonly key: U8aFixed; } & Struct; readonly isPalletInstance: boolean; @@ -1474,33 +1600,112 @@ declare module '@polkadot/types/lookup' { readonly isOnlyChild: boolean; readonly isPlurality: boolean; readonly asPlurality: { - readonly id: XcmV0JunctionBodyId; - readonly part: XcmV0JunctionBodyPart; + readonly id: XcmV2BodyId; + readonly part: XcmV2BodyPart; } & Struct; - readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; + readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; + } + + /** @name XcmV2NetworkId (148) */ + interface XcmV2NetworkId extends Enum { + readonly isAny: boolean; + readonly isNamed: boolean; + readonly asNamed: Bytes; + readonly isPolkadot: boolean; + readonly isKusama: boolean; + readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama'; + } + + /** @name XcmV2BodyId (150) */ + interface XcmV2BodyId extends Enum { + readonly isUnit: boolean; + readonly isNamed: boolean; + readonly asNamed: Bytes; + readonly isIndex: boolean; + readonly asIndex: Compact; + readonly isExecutive: boolean; + readonly isTechnical: boolean; + readonly isLegislative: boolean; + readonly isJudicial: boolean; + readonly isDefense: boolean; + readonly isAdministration: boolean; + readonly isTreasury: boolean; + readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; } - /** @name XcmVersionedMultiLocation (141) */ + /** @name XcmV2BodyPart (151) */ + interface XcmV2BodyPart extends Enum { + readonly isVoice: boolean; + readonly isMembers: boolean; + readonly asMembers: { + readonly count: Compact; + } & Struct; + readonly isFraction: boolean; + readonly asFraction: { + readonly nom: Compact; + readonly denom: Compact; + } & Struct; + readonly isAtLeastProportion: boolean; + readonly asAtLeastProportion: { + readonly nom: Compact; + readonly denom: Compact; + } & Struct; + readonly isMoreThanProportion: boolean; + readonly asMoreThanProportion: { + readonly nom: Compact; + readonly denom: Compact; + } & Struct; + readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; + } + + /** @name XcmV2MultiassetFungibility (152) */ + interface XcmV2MultiassetFungibility extends Enum { + readonly isFungible: boolean; + readonly asFungible: Compact; + readonly isNonFungible: boolean; + readonly asNonFungible: XcmV2MultiassetAssetInstance; + readonly type: 'Fungible' | 'NonFungible'; + } + + /** @name XcmV2MultiassetAssetInstance (153) */ + interface XcmV2MultiassetAssetInstance extends Enum { + readonly isUndefined: boolean; + readonly isIndex: boolean; + readonly asIndex: Compact; + readonly isArray4: boolean; + readonly asArray4: U8aFixed; + readonly isArray8: boolean; + readonly asArray8: U8aFixed; + readonly isArray16: boolean; + readonly asArray16: U8aFixed; + readonly isArray32: boolean; + readonly asArray32: U8aFixed; + readonly isBlob: boolean; + readonly asBlob: Bytes; + readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob'; + } + + /** @name XcmVersionedMultiLocation (154) */ interface XcmVersionedMultiLocation extends Enum { - readonly isV0: boolean; - readonly asV0: XcmV0MultiLocation; - readonly isV1: boolean; - readonly asV1: XcmV1MultiLocation; - readonly type: 'V0' | 'V1'; + readonly isV2: boolean; + readonly asV2: XcmV2MultiLocation; + readonly isV3: boolean; + readonly asV3: XcmV3MultiLocation; + readonly type: 'V2' | 'V3'; } - /** @name CumulusPalletXcmEvent (142) */ + /** @name CumulusPalletXcmEvent (155) */ interface CumulusPalletXcmEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: U8aFixed; readonly isUnsupportedVersion: boolean; readonly asUnsupportedVersion: U8aFixed; readonly isExecutedDownward: boolean; - readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>; + readonly asExecutedDownward: ITuple<[U8aFixed, XcmV3TraitsOutcome]>; readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward'; } - /** @name CumulusPalletDmpQueueEvent (143) */ + /** @name CumulusPalletDmpQueueEvent (156) */ interface CumulusPalletDmpQueueEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: { @@ -1513,7 +1718,7 @@ declare module '@polkadot/types/lookup' { readonly isExecutedDownward: boolean; readonly asExecutedDownward: { readonly messageId: U8aFixed; - readonly outcome: XcmV2TraitsOutcome; + readonly outcome: XcmV3TraitsOutcome; } & Struct; readonly isWeightExhausted: boolean; readonly asWeightExhausted: { @@ -1535,7 +1740,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced'; } - /** @name FrameSystemPhase (144) */ + /** @name FrameSystemPhase (157) */ interface FrameSystemPhase extends Enum { readonly isApplyExtrinsic: boolean; readonly asApplyExtrinsic: u32; @@ -1544,13 +1749,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; } - /** @name FrameSystemLastRuntimeUpgradeInfo (147) */ + /** @name FrameSystemLastRuntimeUpgradeInfo (160) */ interface FrameSystemLastRuntimeUpgradeInfo extends Struct { readonly specVersion: Compact; readonly specName: Text; } - /** @name FrameSystemCall (149) */ + /** @name FrameSystemCall (162) */ interface FrameSystemCall extends Enum { readonly isRemark: boolean; readonly asRemark: { @@ -1588,21 +1793,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent'; } - /** @name FrameSystemLimitsBlockWeights (153) */ + /** @name FrameSystemLimitsBlockWeights (166) */ interface FrameSystemLimitsBlockWeights extends Struct { readonly baseBlock: SpWeightsWeightV2Weight; readonly maxBlock: SpWeightsWeightV2Weight; readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; } - /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (154) */ + /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (167) */ interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { readonly normal: FrameSystemLimitsWeightsPerClass; readonly operational: FrameSystemLimitsWeightsPerClass; readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name FrameSystemLimitsWeightsPerClass (155) */ + /** @name FrameSystemLimitsWeightsPerClass (168) */ interface FrameSystemLimitsWeightsPerClass extends Struct { readonly baseExtrinsic: SpWeightsWeightV2Weight; readonly maxExtrinsic: Option; @@ -1610,25 +1815,25 @@ declare module '@polkadot/types/lookup' { readonly reserved: Option; } - /** @name FrameSystemLimitsBlockLength (157) */ + /** @name FrameSystemLimitsBlockLength (170) */ interface FrameSystemLimitsBlockLength extends Struct { readonly max: FrameSupportDispatchPerDispatchClassU32; } - /** @name FrameSupportDispatchPerDispatchClassU32 (158) */ + /** @name FrameSupportDispatchPerDispatchClassU32 (171) */ interface FrameSupportDispatchPerDispatchClassU32 extends Struct { readonly normal: u32; readonly operational: u32; readonly mandatory: u32; } - /** @name SpWeightsRuntimeDbWeight (159) */ + /** @name SpWeightsRuntimeDbWeight (172) */ interface SpWeightsRuntimeDbWeight extends Struct { readonly read: u64; readonly write: u64; } - /** @name SpVersionRuntimeVersion (160) */ + /** @name SpVersionRuntimeVersion (173) */ interface SpVersionRuntimeVersion extends Struct { readonly specName: Text; readonly implName: Text; @@ -1640,7 +1845,7 @@ declare module '@polkadot/types/lookup' { readonly stateVersion: u8; } - /** @name FrameSystemError (164) */ + /** @name FrameSystemError (177) */ interface FrameSystemError extends Enum { readonly isInvalidSpecName: boolean; readonly isSpecVersionNeedsToIncrease: boolean; @@ -1651,7 +1856,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered'; } - /** @name PalletTimestampCall (166) */ + /** @name PalletTimestampCall (179) */ interface PalletTimestampCall extends Enum { readonly isSet: boolean; readonly asSet: { @@ -1660,7 +1865,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Set'; } - /** @name PalletIndicesCall (168) */ + /** @name PalletIndicesCall (181) */ interface PalletIndicesCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -1688,7 +1893,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'Transfer' | 'Free' | 'ForceTransfer' | 'Freeze'; } - /** @name PalletIndicesError (171) */ + /** @name PalletIndicesError (184) */ interface PalletIndicesError extends Enum { readonly isNotAssigned: boolean; readonly isNotOwner: boolean; @@ -1698,14 +1903,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotAssigned' | 'NotOwner' | 'InUse' | 'NotTransfer' | 'Permanent'; } - /** @name PalletBalancesBalanceLock (173) */ + /** @name PalletBalancesBalanceLock (186) */ interface PalletBalancesBalanceLock extends Struct { readonly id: U8aFixed; readonly amount: u128; readonly reasons: PalletBalancesReasons; } - /** @name PalletBalancesReasons (174) */ + /** @name PalletBalancesReasons (187) */ interface PalletBalancesReasons extends Enum { readonly isFee: boolean; readonly isMisc: boolean; @@ -1713,13 +1918,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fee' | 'Misc' | 'All'; } - /** @name PalletBalancesReserveData (177) */ + /** @name PalletBalancesReserveData (190) */ interface PalletBalancesReserveData extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name PalletBalancesCall (179) */ + /** @name PalletBalancesCall (192) */ interface PalletBalancesCall extends Enum { readonly isTransfer: boolean; readonly asTransfer: { @@ -1756,7 +1961,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve'; } - /** @name PalletBalancesError (180) */ + /** @name PalletBalancesError (193) */ interface PalletBalancesError extends Enum { readonly isVestingBalance: boolean; readonly isLiquidityRestrictions: boolean; @@ -1769,28 +1974,28 @@ declare module '@polkadot/types/lookup' { readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves'; } - /** @name PalletTransactionPaymentReleases (182) */ + /** @name PalletTransactionPaymentReleases (195) */ interface PalletTransactionPaymentReleases extends Enum { readonly isV1Ancient: boolean; readonly isV2: boolean; readonly type: 'V1Ancient' | 'V2'; } - /** @name SpConsensusAuraSr25519AppSr25519Public (184) */ + /** @name SpConsensusAuraSr25519AppSr25519Public (197) */ interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {} - /** @name SpCoreSr25519Public (185) */ + /** @name SpCoreSr25519Public (198) */ interface SpCoreSr25519Public extends U8aFixed {} - /** @name SpiritnetRuntimeSessionKeys (191) */ + /** @name SpiritnetRuntimeSessionKeys (204) */ interface SpiritnetRuntimeSessionKeys extends Struct { readonly aura: SpConsensusAuraSr25519AppSr25519Public; } - /** @name SpCoreCryptoKeyTypeId (194) */ + /** @name SpCoreCryptoKeyTypeId (207) */ interface SpCoreCryptoKeyTypeId extends U8aFixed {} - /** @name PalletSessionCall (195) */ + /** @name PalletSessionCall (208) */ interface PalletSessionCall extends Enum { readonly isSetKeys: boolean; readonly asSetKeys: { @@ -1801,7 +2006,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetKeys' | 'PurgeKeys'; } - /** @name PalletSessionError (196) */ + /** @name PalletSessionError (209) */ interface PalletSessionError extends Enum { readonly isInvalidProof: boolean; readonly isNoAssociatedValidatorId: boolean; @@ -1811,26 +2016,26 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount'; } - /** @name ParachainStakingRoundInfo (197) */ + /** @name ParachainStakingRoundInfo (210) */ interface ParachainStakingRoundInfo extends Struct { readonly current: u32; readonly first: u64; readonly length: u64; } - /** @name ParachainStakingDelegationCounter (198) */ + /** @name ParachainStakingDelegationCounter (211) */ interface ParachainStakingDelegationCounter extends Struct { readonly round: u32; readonly counter: u32; } - /** @name ParachainStakingStake (199) */ + /** @name ParachainStakingStake (212) */ interface ParachainStakingStake extends Struct { readonly owner: AccountId32; readonly amount: u128; } - /** @name ParachainStakingCandidate (200) */ + /** @name ParachainStakingCandidate (213) */ interface ParachainStakingCandidate extends Struct { readonly id: AccountId32; readonly stake: u128; @@ -1839,10 +2044,10 @@ declare module '@polkadot/types/lookup' { readonly status: ParachainStakingCandidateStatus; } - /** @name ParachainStakingSetOrderedSet (201) */ + /** @name ParachainStakingSetOrderedSet (214) */ interface ParachainStakingSetOrderedSet extends Vec {} - /** @name ParachainStakingCandidateStatus (204) */ + /** @name ParachainStakingCandidateStatus (217) */ interface ParachainStakingCandidateStatus extends Enum { readonly isActive: boolean; readonly isLeaving: boolean; @@ -1850,31 +2055,31 @@ declare module '@polkadot/types/lookup' { readonly type: 'Active' | 'Leaving'; } - /** @name ParachainStakingTotalStake (205) */ + /** @name ParachainStakingTotalStake (218) */ interface ParachainStakingTotalStake extends Struct { readonly collators: u128; readonly delegators: u128; } - /** @name ParachainStakingInflationInflationInfo (208) */ + /** @name ParachainStakingInflationInflationInfo (221) */ interface ParachainStakingInflationInflationInfo extends Struct { readonly collator: ParachainStakingInflationStakingInfo; readonly delegator: ParachainStakingInflationStakingInfo; } - /** @name ParachainStakingInflationStakingInfo (209) */ + /** @name ParachainStakingInflationStakingInfo (222) */ interface ParachainStakingInflationStakingInfo extends Struct { readonly maxRate: Perquintill; readonly rewardRate: ParachainStakingInflationRewardRate; } - /** @name ParachainStakingInflationRewardRate (210) */ + /** @name ParachainStakingInflationRewardRate (223) */ interface ParachainStakingInflationRewardRate extends Struct { readonly annual: Perquintill; readonly perBlock: Perquintill; } - /** @name ParachainStakingCall (215) */ + /** @name ParachainStakingCall (228) */ interface ParachainStakingCall extends Enum { readonly isForceNewRound: boolean; readonly isSetInflation: boolean; @@ -1943,7 +2148,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ForceNewRound' | 'SetInflation' | 'SetMaxSelectedCandidates' | 'SetBlocksPerRound' | 'SetMaxCandidateStake' | 'ForceRemoveCandidate' | 'JoinCandidates' | 'InitLeaveCandidates' | 'ExecuteLeaveCandidates' | 'CancelLeaveCandidates' | 'CandidateStakeMore' | 'CandidateStakeLess' | 'JoinDelegators' | 'LeaveDelegators' | 'DelegatorStakeMore' | 'DelegatorStakeLess' | 'UnlockUnstaked' | 'ClaimRewards' | 'IncrementCollatorRewards' | 'IncrementDelegatorRewards' | 'ExecuteScheduledRewardChange'; } - /** @name ParachainStakingError (216) */ + /** @name ParachainStakingError (229) */ interface ParachainStakingError extends Enum { readonly isDelegatorNotFound: boolean; readonly isCandidateNotFound: boolean; @@ -1979,49 +2184,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'DelegatorNotFound' | 'CandidateNotFound' | 'DelegatorExists' | 'CandidateExists' | 'ValStakeZero' | 'ValStakeBelowMin' | 'ValStakeAboveMax' | 'DelegationBelowMin' | 'AlreadyLeaving' | 'NotLeaving' | 'CannotLeaveYet' | 'CannotJoinBeforeUnlocking' | 'AlreadyDelegating' | 'NotYetDelegating' | 'DelegationsPerRoundExceeded' | 'TooManyDelegators' | 'TooFewCollatorCandidates' | 'CannotStakeIfLeaving' | 'CannotDelegateIfLeaving' | 'MaxCollatorsPerDelegatorExceeded' | 'AlreadyDelegatedCollator' | 'DelegationNotFound' | 'Underflow' | 'CannotSetAboveMax' | 'CannotSetBelowMin' | 'InvalidSchedule' | 'NoMoreUnstaking' | 'TooEarly' | 'StakeNotFound' | 'UnstakingIsEmpty' | 'RewardsNotFound'; } - /** @name PalletAuthorshipUncleEntryItem (218) */ - interface PalletAuthorshipUncleEntryItem extends Enum { - readonly isInclusionHeight: boolean; - readonly asInclusionHeight: u64; - readonly isUncle: boolean; - readonly asUncle: ITuple<[H256, Option]>; - readonly type: 'InclusionHeight' | 'Uncle'; - } - - /** @name PalletAuthorshipCall (221) */ - interface PalletAuthorshipCall extends Enum { - readonly isSetUncles: boolean; - readonly asSetUncles: { - readonly newUncles: Vec; - } & Struct; - readonly type: 'SetUncles'; - } - - /** @name SpRuntimeHeader (223) */ - interface SpRuntimeHeader extends Struct { - readonly parentHash: H256; - readonly number: Compact; - readonly stateRoot: H256; - readonly extrinsicsRoot: H256; - readonly digest: SpRuntimeDigest; - } - - /** @name SpRuntimeBlakeTwo256 (224) */ - type SpRuntimeBlakeTwo256 = Null; - - /** @name PalletAuthorshipError (225) */ - interface PalletAuthorshipError extends Enum { - readonly isInvalidUncleParent: boolean; - readonly isUnclesAlreadySet: boolean; - readonly isTooManyUncles: boolean; - readonly isGenesisUncle: boolean; - readonly isTooHighUncle: boolean; - readonly isUncleAlreadyIncluded: boolean; - readonly isOldUncle: boolean; - readonly type: 'InvalidUncleParent' | 'UnclesAlreadySet' | 'TooManyUncles' | 'GenesisUncle' | 'TooHighUncle' | 'UncleAlreadyIncluded' | 'OldUncle'; - } - - /** @name FrameSupportPreimagesBounded (228) */ + /** @name FrameSupportPreimagesBounded (232) */ interface FrameSupportPreimagesBounded extends Enum { readonly isLegacy: boolean; readonly asLegacy: { @@ -2037,7 +2200,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Legacy' | 'Inline' | 'Lookup'; } - /** @name PalletDemocracyCall (230) */ + /** @name PalletDemocracyCall (234) */ interface PalletDemocracyCall extends Enum { readonly isPropose: boolean; readonly asPropose: { @@ -2116,7 +2279,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'Blacklist' | 'CancelProposal'; } - /** @name PalletDemocracyConviction (231) */ + /** @name PalletDemocracyConviction (235) */ interface PalletDemocracyConviction extends Enum { readonly isNone: boolean; readonly isLocked1x: boolean; @@ -2128,7 +2291,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x'; } - /** @name PalletCollectiveCall (233) */ + /** @name PalletCollectiveCall (237) */ interface PalletCollectiveCall extends Enum { readonly isSetMembers: boolean; readonly asSetMembers: { @@ -2174,7 +2337,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'CloseOldWeight' | 'DisapproveProposal' | 'Close'; } - /** @name PalletMembershipCall (237) */ + /** @name PalletMembershipCall (242) */ interface PalletMembershipCall extends Enum { readonly isAddMember: boolean; readonly asAddMember: { @@ -2205,7 +2368,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AddMember' | 'RemoveMember' | 'SwapMember' | 'ResetMembers' | 'ChangeKey' | 'SetPrime' | 'ClearPrime'; } - /** @name PalletTreasuryCall (238) */ + /** @name PalletTreasuryCall (243) */ interface PalletTreasuryCall extends Enum { readonly isProposeSpend: boolean; readonly asProposeSpend: { @@ -2232,7 +2395,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval'; } - /** @name PalletUtilityCall (239) */ + /** @name PalletUtilityCall (244) */ interface PalletUtilityCall extends Enum { readonly isBatch: boolean; readonly asBatch: { @@ -2264,7 +2427,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Batch' | 'AsDerivative' | 'BatchAll' | 'DispatchAs' | 'ForceBatch' | 'WithWeight'; } - /** @name SpiritnetRuntimeOriginCaller (241) */ + /** @name SpiritnetRuntimeOriginCaller (246) */ interface SpiritnetRuntimeOriginCaller extends Enum { readonly isSystem: boolean; readonly asSystem: FrameSupportDispatchRawOrigin; @@ -2282,7 +2445,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'System' | 'Void' | 'Council' | 'TechnicalCommittee' | 'Did' | 'PolkadotXcm' | 'CumulusXcm'; } - /** @name FrameSupportDispatchRawOrigin (242) */ + /** @name FrameSupportDispatchRawOrigin (247) */ interface FrameSupportDispatchRawOrigin extends Enum { readonly isRoot: boolean; readonly isSigned: boolean; @@ -2291,7 +2454,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Root' | 'Signed' | 'None'; } - /** @name PalletCollectiveRawOrigin (243) */ + /** @name PalletCollectiveRawOrigin (248) */ interface PalletCollectiveRawOrigin extends Enum { readonly isMembers: boolean; readonly asMembers: ITuple<[u32, u32]>; @@ -2301,22 +2464,22 @@ declare module '@polkadot/types/lookup' { readonly type: 'Members' | 'Member' | 'Phantom'; } - /** @name DidOriginDidRawOrigin (245) */ + /** @name DidOriginDidRawOrigin (250) */ interface DidOriginDidRawOrigin extends Struct { readonly id: AccountId32; readonly submitter: AccountId32; } - /** @name PalletXcmOrigin (246) */ + /** @name PalletXcmOrigin (251) */ interface PalletXcmOrigin extends Enum { readonly isXcm: boolean; - readonly asXcm: XcmV1MultiLocation; + readonly asXcm: XcmV3MultiLocation; readonly isResponse: boolean; - readonly asResponse: XcmV1MultiLocation; + readonly asResponse: XcmV3MultiLocation; readonly type: 'Xcm' | 'Response'; } - /** @name CumulusPalletXcmOrigin (247) */ + /** @name CumulusPalletXcmOrigin (252) */ interface CumulusPalletXcmOrigin extends Enum { readonly isRelay: boolean; readonly isSiblingParachain: boolean; @@ -2324,10 +2487,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Relay' | 'SiblingParachain'; } - /** @name SpCoreVoid (248) */ + /** @name SpCoreVoid (253) */ type SpCoreVoid = Null; - /** @name PalletVestingCall (249) */ + /** @name PalletVestingCall (254) */ interface PalletVestingCall extends Enum { readonly isVest: boolean; readonly isVestOther: boolean; @@ -2353,14 +2516,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Vest' | 'VestOther' | 'VestedTransfer' | 'ForceVestedTransfer' | 'MergeSchedules'; } - /** @name PalletVestingVestingInfo (250) */ + /** @name PalletVestingVestingInfo (255) */ interface PalletVestingVestingInfo extends Struct { readonly locked: u128; readonly perBlock: u128; readonly startingBlock: u64; } - /** @name PalletSchedulerCall (251) */ + /** @name PalletSchedulerCall (256) */ interface PalletSchedulerCall extends Enum { readonly isSchedule: boolean; readonly asSchedule: { @@ -2404,7 +2567,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Schedule' | 'Cancel' | 'ScheduleNamed' | 'CancelNamed' | 'ScheduleAfter' | 'ScheduleNamedAfter'; } - /** @name PalletProxyCall (253) */ + /** @name PalletProxyCall (258) */ interface PalletProxyCall extends Enum { readonly isProxy: boolean; readonly asProxy: { @@ -2464,7 +2627,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proxy' | 'AddProxy' | 'RemoveProxy' | 'RemoveProxies' | 'CreatePure' | 'KillPure' | 'Announce' | 'RemoveAnnouncement' | 'RejectAnnouncement' | 'ProxyAnnounced'; } - /** @name PalletPreimageCall (255) */ + /** @name PalletPreimageCall (260) */ interface PalletPreimageCall extends Enum { readonly isNotePreimage: boolean; readonly asNotePreimage: { @@ -2485,7 +2648,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage'; } - /** @name PalletTipsCall (257) */ + /** @name PalletTipsCall (262) */ interface PalletTipsCall extends Enum { readonly isReportAwesome: boolean; readonly asReportAwesome: { @@ -2518,7 +2681,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ReportAwesome' | 'RetractTip' | 'TipNew' | 'Tip' | 'CloseTip' | 'SlashTip'; } - /** @name CtypeCall (258) */ + /** @name CtypeCall (263) */ interface CtypeCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -2532,7 +2695,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'SetBlockNumber'; } - /** @name AttestationCall (259) */ + /** @name AttestationCall (264) */ interface AttestationCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -2565,23 +2728,23 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'Revoke' | 'Remove' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name RuntimeCommonAuthorizationPalletAuthorize (261) */ + /** @name RuntimeCommonAuthorizationPalletAuthorize (266) */ interface RuntimeCommonAuthorizationPalletAuthorize extends Enum { readonly isDelegation: boolean; readonly asDelegation: DelegationAccessControlDelegationAc; readonly type: 'Delegation'; } - /** @name DelegationAccessControlDelegationAc (262) */ + /** @name DelegationAccessControlDelegationAc (267) */ interface DelegationAccessControlDelegationAc extends Struct { readonly subjectNodeId: H256; readonly maxChecks: u32; } - /** @name SpiritnetRuntimeRuntime (263) */ + /** @name SpiritnetRuntimeRuntime (268) */ type SpiritnetRuntimeRuntime = Null; - /** @name DelegationCall (264) */ + /** @name DelegationCall (269) */ interface DelegationCall extends Enum { readonly isCreateHierarchy: boolean; readonly asCreateHierarchy: { @@ -2623,7 +2786,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CreateHierarchy' | 'AddDelegation' | 'RevokeDelegation' | 'RemoveDelegation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name DidDidDetailsDidSignature (265) */ + /** @name DidDidDetailsDidSignature (270) */ interface DidDidDetailsDidSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -2634,16 +2797,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name SpCoreEd25519Signature (266) */ + /** @name SpCoreEd25519Signature (271) */ interface SpCoreEd25519Signature extends U8aFixed {} - /** @name SpCoreSr25519Signature (268) */ + /** @name SpCoreSr25519Signature (273) */ interface SpCoreSr25519Signature extends U8aFixed {} - /** @name SpCoreEcdsaSignature (269) */ + /** @name SpCoreEcdsaSignature (274) */ interface SpCoreEcdsaSignature extends U8aFixed {} - /** @name DidCall (271) */ + /** @name DidCall (276) */ interface DidCall extends Enum { readonly isCreate: boolean; readonly asCreate: { @@ -2702,7 +2865,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Create' | 'SetAuthenticationKey' | 'SetDelegationKey' | 'RemoveDelegationKey' | 'SetAttestationKey' | 'RemoveAttestationKey' | 'AddKeyAgreementKey' | 'RemoveKeyAgreementKey' | 'AddServiceEndpoint' | 'RemoveServiceEndpoint' | 'Delete' | 'ReclaimDeposit' | 'SubmitDidCall' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name DidDidDetailsDidCreationDetails (272) */ + /** @name DidDidDetailsDidCreationDetails (277) */ interface DidDidDetailsDidCreationDetails extends Struct { readonly did: AccountId32; readonly submitter: AccountId32; @@ -2712,14 +2875,14 @@ declare module '@polkadot/types/lookup' { readonly newServiceDetails: Vec; } - /** @name DidDidDetailsDidEncryptionKey (274) */ + /** @name DidDidDetailsDidEncryptionKey (279) */ interface DidDidDetailsDidEncryptionKey extends Enum { readonly isX25519: boolean; readonly asX25519: U8aFixed; readonly type: 'X25519'; } - /** @name DidDidDetailsDidVerificationKey (278) */ + /** @name DidDidDetailsDidVerificationKey (283) */ interface DidDidDetailsDidVerificationKey extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Public; @@ -2730,20 +2893,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name SpCoreEd25519Public (279) */ + /** @name SpCoreEd25519Public (284) */ interface SpCoreEd25519Public extends U8aFixed {} - /** @name SpCoreEcdsaPublic (280) */ + /** @name SpCoreEcdsaPublic (285) */ interface SpCoreEcdsaPublic extends U8aFixed {} - /** @name DidServiceEndpointsDidEndpoint (283) */ + /** @name DidServiceEndpointsDidEndpoint (288) */ interface DidServiceEndpointsDidEndpoint extends Struct { readonly id: Bytes; readonly serviceTypes: Vec; readonly urls: Vec; } - /** @name DidDidDetailsDidAuthorizedCallOperation (291) */ + /** @name DidDidDetailsDidAuthorizedCallOperation (296) */ interface DidDidDetailsDidAuthorizedCallOperation extends Struct { readonly did: AccountId32; readonly txCounter: u64; @@ -2752,7 +2915,7 @@ declare module '@polkadot/types/lookup' { readonly submitter: AccountId32; } - /** @name PalletDidLookupCall (292) */ + /** @name PalletDidLookupCall (297) */ interface PalletDidLookupCall extends Enum { readonly isAssociateAccount: boolean; readonly asAssociateAccount: { @@ -2777,19 +2940,23 @@ declare module '@polkadot/types/lookup' { readonly asUpdateDeposit: { readonly account: PalletDidLookupLinkableAccountLinkableAccountId; } & Struct; - readonly type: 'AssociateAccount' | 'AssociateSender' | 'RemoveSenderAssociation' | 'RemoveAccountAssociation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; + readonly isMigrate: boolean; + readonly asMigrate: { + readonly limit: u32; + } & Struct; + readonly type: 'AssociateAccount' | 'AssociateSender' | 'RemoveSenderAssociation' | 'RemoveAccountAssociation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit' | 'Migrate'; } - /** @name PalletDidLookupAssociateAccountRequest (293) */ + /** @name PalletDidLookupAssociateAccountRequest (298) */ interface PalletDidLookupAssociateAccountRequest extends Enum { - readonly isDotsama: boolean; - readonly asDotsama: ITuple<[AccountId32, SpRuntimeMultiSignature]>; + readonly isPolkadot: boolean; + readonly asPolkadot: ITuple<[AccountId32, SpRuntimeMultiSignature]>; readonly isEthereum: boolean; readonly asEthereum: ITuple<[PalletDidLookupAccountAccountId20, PalletDidLookupAccountEthereumSignature]>; - readonly type: 'Dotsama' | 'Ethereum'; + readonly type: 'Polkadot' | 'Ethereum'; } - /** @name SpRuntimeMultiSignature (294) */ + /** @name SpRuntimeMultiSignature (299) */ interface SpRuntimeMultiSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -2800,10 +2967,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name PalletDidLookupAccountEthereumSignature (295) */ + /** @name PalletDidLookupAccountEthereumSignature (300) */ interface PalletDidLookupAccountEthereumSignature extends SpCoreEcdsaSignature {} - /** @name PalletWeb3NamesCall (296) */ + /** @name PalletWeb3NamesCall (301) */ interface PalletWeb3NamesCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -2830,7 +2997,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'ReleaseByOwner' | 'ReclaimDeposit' | 'Ban' | 'Unban' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PublicCredentialsCall (297) */ + /** @name PublicCredentialsCall (302) */ interface PublicCredentialsCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -2866,7 +3033,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'Revoke' | 'Unrevoke' | 'Remove' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PublicCredentialsCredentialsCredential (298) */ + /** @name PublicCredentialsCredentialsCredential (303) */ interface PublicCredentialsCredentialsCredential extends Struct { readonly ctypeHash: H256; readonly subject: Bytes; @@ -2874,7 +3041,7 @@ declare module '@polkadot/types/lookup' { readonly authorization: Option; } - /** @name CumulusPalletParachainSystemCall (301) */ + /** @name CumulusPalletParachainSystemCall (306) */ interface CumulusPalletParachainSystemCall extends Enum { readonly isSetValidationData: boolean; readonly asSetValidationData: { @@ -2895,7 +3062,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade'; } - /** @name CumulusPrimitivesParachainInherentParachainInherentData (302) */ + /** @name CumulusPrimitivesParachainInherentParachainInherentData (307) */ interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { readonly validationData: PolkadotPrimitivesV2PersistedValidationData; readonly relayChainState: SpTrieStorageProof; @@ -2903,7 +3070,7 @@ declare module '@polkadot/types/lookup' { readonly horizontalMessages: BTreeMap>; } - /** @name PolkadotPrimitivesV2PersistedValidationData (303) */ + /** @name PolkadotPrimitivesV2PersistedValidationData (308) */ interface PolkadotPrimitivesV2PersistedValidationData extends Struct { readonly parentHead: Bytes; readonly relayParentNumber: u32; @@ -2911,29 +3078,29 @@ declare module '@polkadot/types/lookup' { readonly maxPovSize: u32; } - /** @name SpTrieStorageProof (305) */ + /** @name SpTrieStorageProof (310) */ interface SpTrieStorageProof extends Struct { readonly trieNodes: BTreeSet; } - /** @name PolkadotCorePrimitivesInboundDownwardMessage (308) */ + /** @name PolkadotCorePrimitivesInboundDownwardMessage (313) */ interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { readonly sentAt: u32; readonly msg: Bytes; } - /** @name PolkadotCorePrimitivesInboundHrmpMessage (311) */ + /** @name PolkadotCorePrimitivesInboundHrmpMessage (316) */ interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { readonly sentAt: u32; readonly data: Bytes; } - /** @name CumulusPalletXcmpQueueCall (314) */ + /** @name CumulusPalletXcmpQueueCall (319) */ interface CumulusPalletXcmpQueueCall extends Enum { readonly isServiceOverweight: boolean; readonly asServiceOverweight: { readonly index: u64; - readonly weightLimit: u64; + readonly weightLimit: SpWeightsWeightV2Weight; } & Struct; readonly isSuspendXcmExecution: boolean; readonly isResumeXcmExecution: boolean; @@ -2951,20 +3118,20 @@ declare module '@polkadot/types/lookup' { } & Struct; readonly isUpdateThresholdWeight: boolean; readonly asUpdateThresholdWeight: { - readonly new_: u64; + readonly new_: SpWeightsWeightV2Weight; } & Struct; readonly isUpdateWeightRestrictDecay: boolean; readonly asUpdateWeightRestrictDecay: { - readonly new_: u64; + readonly new_: SpWeightsWeightV2Weight; } & Struct; readonly isUpdateXcmpMaxIndividualWeight: boolean; readonly asUpdateXcmpMaxIndividualWeight: { - readonly new_: u64; + readonly new_: SpWeightsWeightV2Weight; } & Struct; readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight'; } - /** @name PalletXcmCall (315) */ + /** @name PalletXcmCall (320) */ interface PalletXcmCall extends Enum { readonly isSend: boolean; readonly asSend: { @@ -2988,11 +3155,11 @@ declare module '@polkadot/types/lookup' { readonly isExecute: boolean; readonly asExecute: { readonly message: XcmVersionedXcm; - readonly maxWeight: u64; + readonly maxWeight: SpWeightsWeightV2Weight; } & Struct; readonly isForceXcmVersion: boolean; readonly asForceXcmVersion: { - readonly location: XcmV1MultiLocation; + readonly location: XcmV3MultiLocation; readonly xcmVersion: u32; } & Struct; readonly isForceDefaultXcmVersion: boolean; @@ -3013,7 +3180,7 @@ declare module '@polkadot/types/lookup' { readonly beneficiary: XcmVersionedMultiLocation; readonly assets: XcmVersionedMultiAssets; readonly feeAssetItem: u32; - readonly weightLimit: XcmV2WeightLimit; + readonly weightLimit: XcmV3WeightLimit; } & Struct; readonly isLimitedTeleportAssets: boolean; readonly asLimitedTeleportAssets: { @@ -3021,59 +3188,52 @@ declare module '@polkadot/types/lookup' { readonly beneficiary: XcmVersionedMultiLocation; readonly assets: XcmVersionedMultiAssets; readonly feeAssetItem: u32; - readonly weightLimit: XcmV2WeightLimit; + readonly weightLimit: XcmV3WeightLimit; } & Struct; readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets'; } - /** @name XcmVersionedXcm (316) */ + /** @name XcmVersionedXcm (321) */ interface XcmVersionedXcm extends Enum { - readonly isV0: boolean; - readonly asV0: XcmV0Xcm; - readonly isV1: boolean; - readonly asV1: XcmV1Xcm; readonly isV2: boolean; readonly asV2: XcmV2Xcm; - readonly type: 'V0' | 'V1' | 'V2'; + readonly isV3: boolean; + readonly asV3: XcmV3Xcm; + readonly type: 'V2' | 'V3'; } - /** @name XcmV0Xcm (317) */ - interface XcmV0Xcm extends Enum { + /** @name XcmV2Xcm (322) */ + interface XcmV2Xcm extends Vec {} + + /** @name XcmV2Instruction (324) */ + interface XcmV2Instruction extends Enum { readonly isWithdrawAsset: boolean; - readonly asWithdrawAsset: { - readonly assets: Vec; - readonly effects: Vec; - } & Struct; - readonly isReserveAssetDeposit: boolean; - readonly asReserveAssetDeposit: { - readonly assets: Vec; - readonly effects: Vec; - } & Struct; - readonly isTeleportAsset: boolean; - readonly asTeleportAsset: { - readonly assets: Vec; - readonly effects: Vec; - } & Struct; + readonly asWithdrawAsset: XcmV2MultiassetMultiAssets; + readonly isReserveAssetDeposited: boolean; + readonly asReserveAssetDeposited: XcmV2MultiassetMultiAssets; + readonly isReceiveTeleportedAsset: boolean; + readonly asReceiveTeleportedAsset: XcmV2MultiassetMultiAssets; readonly isQueryResponse: boolean; readonly asQueryResponse: { readonly queryId: Compact; - readonly response: XcmV0Response; + readonly response: XcmV2Response; + readonly maxWeight: Compact; } & Struct; readonly isTransferAsset: boolean; readonly asTransferAsset: { - readonly assets: Vec; - readonly dest: XcmV0MultiLocation; + readonly assets: XcmV2MultiassetMultiAssets; + readonly beneficiary: XcmV2MultiLocation; } & Struct; readonly isTransferReserveAsset: boolean; readonly asTransferReserveAsset: { - readonly assets: Vec; - readonly dest: XcmV0MultiLocation; - readonly effects: Vec; + readonly assets: XcmV2MultiassetMultiAssets; + readonly dest: XcmV2MultiLocation; + readonly xcm: XcmV2Xcm; } & Struct; readonly isTransact: boolean; readonly asTransact: { - readonly originType: XcmV0OriginKind; - readonly requireWeightAtMost: u64; + readonly originType: XcmV2OriginKind; + readonly requireWeightAtMost: Compact; readonly call: XcmDoubleEncoded; } & Struct; readonly isHrmpNewChannelOpenRequest: boolean; @@ -3092,203 +3252,165 @@ declare module '@polkadot/types/lookup' { readonly sender: Compact; readonly recipient: Compact; } & Struct; - readonly isRelayedFrom: boolean; - readonly asRelayedFrom: { - readonly who: XcmV0MultiLocation; - readonly message: XcmV0Xcm; + readonly isClearOrigin: boolean; + readonly isDescendOrigin: boolean; + readonly asDescendOrigin: XcmV2MultilocationJunctions; + readonly isReportError: boolean; + readonly asReportError: { + readonly queryId: Compact; + readonly dest: XcmV2MultiLocation; + readonly maxResponseWeight: Compact; } & Struct; - readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom'; - } - - /** @name XcmV0Order (319) */ - interface XcmV0Order extends Enum { - readonly isNull: boolean; readonly isDepositAsset: boolean; readonly asDepositAsset: { - readonly assets: Vec; - readonly dest: XcmV0MultiLocation; + readonly assets: XcmV2MultiassetMultiAssetFilter; + readonly maxAssets: Compact; + readonly beneficiary: XcmV2MultiLocation; } & Struct; readonly isDepositReserveAsset: boolean; readonly asDepositReserveAsset: { - readonly assets: Vec; - readonly dest: XcmV0MultiLocation; - readonly effects: Vec; + readonly assets: XcmV2MultiassetMultiAssetFilter; + readonly maxAssets: Compact; + readonly dest: XcmV2MultiLocation; + readonly xcm: XcmV2Xcm; } & Struct; readonly isExchangeAsset: boolean; readonly asExchangeAsset: { - readonly give: Vec; - readonly receive: Vec; + readonly give: XcmV2MultiassetMultiAssetFilter; + readonly receive: XcmV2MultiassetMultiAssets; } & Struct; readonly isInitiateReserveWithdraw: boolean; readonly asInitiateReserveWithdraw: { - readonly assets: Vec; - readonly reserve: XcmV0MultiLocation; - readonly effects: Vec; + readonly assets: XcmV2MultiassetMultiAssetFilter; + readonly reserve: XcmV2MultiLocation; + readonly xcm: XcmV2Xcm; } & Struct; readonly isInitiateTeleport: boolean; readonly asInitiateTeleport: { - readonly assets: Vec; - readonly dest: XcmV0MultiLocation; - readonly effects: Vec; + readonly assets: XcmV2MultiassetMultiAssetFilter; + readonly dest: XcmV2MultiLocation; + readonly xcm: XcmV2Xcm; } & Struct; readonly isQueryHolding: boolean; readonly asQueryHolding: { readonly queryId: Compact; - readonly dest: XcmV0MultiLocation; - readonly assets: Vec; + readonly dest: XcmV2MultiLocation; + readonly assets: XcmV2MultiassetMultiAssetFilter; + readonly maxResponseWeight: Compact; } & Struct; readonly isBuyExecution: boolean; readonly asBuyExecution: { - readonly fees: XcmV0MultiAsset; - readonly weight: u64; - readonly debt: u64; - readonly haltOnError: bool; - readonly xcm: Vec; - } & Struct; - readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution'; - } - - /** @name XcmV0Response (321) */ - interface XcmV0Response extends Enum { - readonly isAssets: boolean; - readonly asAssets: Vec; - readonly type: 'Assets'; - } - - /** @name XcmV1Xcm (322) */ - interface XcmV1Xcm extends Enum { - readonly isWithdrawAsset: boolean; - readonly asWithdrawAsset: { - readonly assets: XcmV1MultiassetMultiAssets; - readonly effects: Vec; - } & Struct; - readonly isReserveAssetDeposited: boolean; - readonly asReserveAssetDeposited: { - readonly assets: XcmV1MultiassetMultiAssets; - readonly effects: Vec; - } & Struct; - readonly isReceiveTeleportedAsset: boolean; - readonly asReceiveTeleportedAsset: { - readonly assets: XcmV1MultiassetMultiAssets; - readonly effects: Vec; - } & Struct; - readonly isQueryResponse: boolean; - readonly asQueryResponse: { - readonly queryId: Compact; - readonly response: XcmV1Response; - } & Struct; - readonly isTransferAsset: boolean; - readonly asTransferAsset: { - readonly assets: XcmV1MultiassetMultiAssets; - readonly beneficiary: XcmV1MultiLocation; - } & Struct; - readonly isTransferReserveAsset: boolean; - readonly asTransferReserveAsset: { - readonly assets: XcmV1MultiassetMultiAssets; - readonly dest: XcmV1MultiLocation; - readonly effects: Vec; - } & Struct; - readonly isTransact: boolean; - readonly asTransact: { - readonly originType: XcmV0OriginKind; - readonly requireWeightAtMost: u64; - readonly call: XcmDoubleEncoded; - } & Struct; - readonly isHrmpNewChannelOpenRequest: boolean; - readonly asHrmpNewChannelOpenRequest: { - readonly sender: Compact; - readonly maxMessageSize: Compact; - readonly maxCapacity: Compact; - } & Struct; - readonly isHrmpChannelAccepted: boolean; - readonly asHrmpChannelAccepted: { - readonly recipient: Compact; - } & Struct; - readonly isHrmpChannelClosing: boolean; - readonly asHrmpChannelClosing: { - readonly initiator: Compact; - readonly sender: Compact; - readonly recipient: Compact; + readonly fees: XcmV2MultiAsset; + readonly weightLimit: XcmV2WeightLimit; } & Struct; - readonly isRelayedFrom: boolean; - readonly asRelayedFrom: { - readonly who: XcmV1MultilocationJunctions; - readonly message: XcmV1Xcm; + readonly isRefundSurplus: boolean; + readonly isSetErrorHandler: boolean; + readonly asSetErrorHandler: XcmV2Xcm; + readonly isSetAppendix: boolean; + readonly asSetAppendix: XcmV2Xcm; + readonly isClearError: boolean; + readonly isClaimAsset: boolean; + readonly asClaimAsset: { + readonly assets: XcmV2MultiassetMultiAssets; + readonly ticket: XcmV2MultiLocation; } & Struct; + readonly isTrap: boolean; + readonly asTrap: Compact; readonly isSubscribeVersion: boolean; readonly asSubscribeVersion: { readonly queryId: Compact; readonly maxResponseWeight: Compact; } & Struct; readonly isUnsubscribeVersion: boolean; - readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion'; - } - - /** @name XcmV1Order (324) */ - interface XcmV1Order extends Enum { - readonly isNoop: boolean; - readonly isDepositAsset: boolean; - readonly asDepositAsset: { - readonly assets: XcmV1MultiassetMultiAssetFilter; - readonly maxAssets: u32; - readonly beneficiary: XcmV1MultiLocation; - } & Struct; - readonly isDepositReserveAsset: boolean; - readonly asDepositReserveAsset: { - readonly assets: XcmV1MultiassetMultiAssetFilter; - readonly maxAssets: u32; - readonly dest: XcmV1MultiLocation; - readonly effects: Vec; - } & Struct; - readonly isExchangeAsset: boolean; - readonly asExchangeAsset: { - readonly give: XcmV1MultiassetMultiAssetFilter; - readonly receive: XcmV1MultiassetMultiAssets; - } & Struct; - readonly isInitiateReserveWithdraw: boolean; - readonly asInitiateReserveWithdraw: { - readonly assets: XcmV1MultiassetMultiAssetFilter; - readonly reserve: XcmV1MultiLocation; - readonly effects: Vec; - } & Struct; - readonly isInitiateTeleport: boolean; - readonly asInitiateTeleport: { - readonly assets: XcmV1MultiassetMultiAssetFilter; - readonly dest: XcmV1MultiLocation; - readonly effects: Vec; - } & Struct; - readonly isQueryHolding: boolean; - readonly asQueryHolding: { - readonly queryId: Compact; - readonly dest: XcmV1MultiLocation; - readonly assets: XcmV1MultiassetMultiAssetFilter; - } & Struct; - readonly isBuyExecution: boolean; - readonly asBuyExecution: { - readonly fees: XcmV1MultiAsset; - readonly weight: u64; - readonly debt: u64; - readonly haltOnError: bool; - readonly instructions: Vec; - } & Struct; - readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution'; + readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion'; } - /** @name XcmV1Response (326) */ - interface XcmV1Response extends Enum { + /** @name XcmV2Response (325) */ + interface XcmV2Response extends Enum { + readonly isNull: boolean; readonly isAssets: boolean; - readonly asAssets: XcmV1MultiassetMultiAssets; + readonly asAssets: XcmV2MultiassetMultiAssets; + readonly isExecutionResult: boolean; + readonly asExecutionResult: Option>; readonly isVersion: boolean; readonly asVersion: u32; - readonly type: 'Assets' | 'Version'; + readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version'; } - /** @name CumulusPalletDmpQueueCall (340) */ + /** @name XcmV2TraitsError (328) */ + interface XcmV2TraitsError extends Enum { + readonly isOverflow: boolean; + readonly isUnimplemented: boolean; + readonly isUntrustedReserveLocation: boolean; + readonly isUntrustedTeleportLocation: boolean; + readonly isMultiLocationFull: boolean; + readonly isMultiLocationNotInvertible: boolean; + readonly isBadOrigin: boolean; + readonly isInvalidLocation: boolean; + readonly isAssetNotFound: boolean; + readonly isFailedToTransactAsset: boolean; + readonly isNotWithdrawable: boolean; + readonly isLocationCannotHold: boolean; + readonly isExceedsMaxMessageSize: boolean; + readonly isDestinationUnsupported: boolean; + readonly isTransport: boolean; + readonly isUnroutable: boolean; + readonly isUnknownClaim: boolean; + readonly isFailedToDecode: boolean; + readonly isMaxWeightInvalid: boolean; + readonly isNotHoldingFees: boolean; + readonly isTooExpensive: boolean; + readonly isTrap: boolean; + readonly asTrap: u64; + readonly isUnhandledXcmVersion: boolean; + readonly isWeightLimitReached: boolean; + readonly asWeightLimitReached: u64; + readonly isBarrier: boolean; + readonly isWeightNotComputable: boolean; + readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable'; + } + + /** @name XcmV2MultiassetMultiAssetFilter (329) */ + interface XcmV2MultiassetMultiAssetFilter extends Enum { + readonly isDefinite: boolean; + readonly asDefinite: XcmV2MultiassetMultiAssets; + readonly isWild: boolean; + readonly asWild: XcmV2MultiassetWildMultiAsset; + readonly type: 'Definite' | 'Wild'; + } + + /** @name XcmV2MultiassetWildMultiAsset (330) */ + interface XcmV2MultiassetWildMultiAsset extends Enum { + readonly isAll: boolean; + readonly isAllOf: boolean; + readonly asAllOf: { + readonly id: XcmV2MultiassetAssetId; + readonly fun: XcmV2MultiassetWildFungibility; + } & Struct; + readonly type: 'All' | 'AllOf'; + } + + /** @name XcmV2MultiassetWildFungibility (331) */ + interface XcmV2MultiassetWildFungibility extends Enum { + readonly isFungible: boolean; + readonly isNonFungible: boolean; + readonly type: 'Fungible' | 'NonFungible'; + } + + /** @name XcmV2WeightLimit (332) */ + interface XcmV2WeightLimit extends Enum { + readonly isUnlimited: boolean; + readonly isLimited: boolean; + readonly asLimited: Compact; + readonly type: 'Unlimited' | 'Limited'; + } + + /** @name CumulusPalletDmpQueueCall (341) */ interface CumulusPalletDmpQueueCall extends Enum { readonly isServiceOverweight: boolean; readonly asServiceOverweight: { readonly index: u64; - readonly weightLimit: u64; + readonly weightLimit: SpWeightsWeightV2Weight; } & Struct; readonly type: 'ServiceOverweight'; } @@ -3556,10 +3678,10 @@ declare module '@polkadot/types/lookup' { /** @name CtypeError (402) */ interface CtypeError extends Enum { - readonly isCTypeNotFound: boolean; - readonly isCTypeAlreadyExists: boolean; + readonly isNotFound: boolean; + readonly isAlreadyExists: boolean; readonly isUnableToPayFees: boolean; - readonly type: 'CTypeNotFound' | 'CTypeAlreadyExists' | 'UnableToPayFees'; + readonly type: 'NotFound' | 'AlreadyExists' | 'UnableToPayFees'; } /** @name AttestationAttestationsAttestationDetails (403) */ @@ -3581,11 +3703,11 @@ declare module '@polkadot/types/lookup' { interface AttestationError extends Enum { readonly isAlreadyAttested: boolean; readonly isAlreadyRevoked: boolean; - readonly isAttestationNotFound: boolean; + readonly isNotFound: boolean; readonly isCTypeMismatch: boolean; - readonly isUnauthorized: boolean; + readonly isNotAuthorized: boolean; readonly isMaxDelegatedAttestationsExceeded: boolean; - readonly type: 'AlreadyAttested' | 'AlreadyRevoked' | 'AttestationNotFound' | 'CTypeMismatch' | 'Unauthorized' | 'MaxDelegatedAttestationsExceeded'; + readonly type: 'AlreadyAttested' | 'AlreadyRevoked' | 'NotFound' | 'CTypeMismatch' | 'NotAuthorized' | 'MaxDelegatedAttestationsExceeded'; } /** @name DelegationDelegationHierarchyDelegationNode (407) */ @@ -3597,19 +3719,19 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name DelegationDelegationHierarchyDelegationDetails (410) */ + /** @name DelegationDelegationHierarchyDelegationDetails (411) */ interface DelegationDelegationHierarchyDelegationDetails extends Struct { readonly owner: AccountId32; readonly revoked: bool; readonly permissions: DelegationDelegationHierarchyPermissions; } - /** @name DelegationDelegationHierarchyDelegationHierarchyDetails (411) */ + /** @name DelegationDelegationHierarchyDelegationHierarchyDetails (412) */ interface DelegationDelegationHierarchyDelegationHierarchyDetails extends Struct { readonly ctypeHash: H256; } - /** @name DelegationError (412) */ + /** @name DelegationError (413) */ interface DelegationError extends Enum { readonly isDelegationAlreadyExists: boolean; readonly isInvalidDelegateSignature: boolean; @@ -3631,12 +3753,12 @@ declare module '@polkadot/types/lookup' { readonly isMaxRevocationsTooLarge: boolean; readonly isMaxRemovalsTooLarge: boolean; readonly isMaxParentChecksTooLarge: boolean; - readonly isInternalError: boolean; + readonly isInternal: boolean; readonly isMaxChildrenExceeded: boolean; - readonly type: 'DelegationAlreadyExists' | 'InvalidDelegateSignature' | 'DelegationNotFound' | 'DelegateNotFound' | 'HierarchyAlreadyExists' | 'HierarchyNotFound' | 'MaxSearchDepthReached' | 'NotOwnerOfParentDelegation' | 'NotOwnerOfDelegationHierarchy' | 'ParentDelegationNotFound' | 'ParentDelegationRevoked' | 'UnauthorizedRevocation' | 'UnauthorizedRemoval' | 'UnauthorizedDelegation' | 'AccessDenied' | 'ExceededRevocationBounds' | 'ExceededRemovalBounds' | 'MaxRevocationsTooLarge' | 'MaxRemovalsTooLarge' | 'MaxParentChecksTooLarge' | 'InternalError' | 'MaxChildrenExceeded'; + readonly type: 'DelegationAlreadyExists' | 'InvalidDelegateSignature' | 'DelegationNotFound' | 'DelegateNotFound' | 'HierarchyAlreadyExists' | 'HierarchyNotFound' | 'MaxSearchDepthReached' | 'NotOwnerOfParentDelegation' | 'NotOwnerOfDelegationHierarchy' | 'ParentDelegationNotFound' | 'ParentDelegationRevoked' | 'UnauthorizedRevocation' | 'UnauthorizedRemoval' | 'UnauthorizedDelegation' | 'AccessDenied' | 'ExceededRevocationBounds' | 'ExceededRemovalBounds' | 'MaxRevocationsTooLarge' | 'MaxRemovalsTooLarge' | 'MaxParentChecksTooLarge' | 'Internal' | 'MaxChildrenExceeded'; } - /** @name DidDidDetails (413) */ + /** @name DidDidDetails (414) */ interface DidDidDetails extends Struct { readonly authenticationKey: H256; readonly keyAgreementKeys: BTreeSet; @@ -3647,13 +3769,13 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name DidDidDetailsDidPublicKeyDetails (416) */ + /** @name DidDidDetailsDidPublicKeyDetails (417) */ interface DidDidDetailsDidPublicKeyDetails extends Struct { readonly key: DidDidDetailsDidPublicKey; readonly blockNumber: u64; } - /** @name DidDidDetailsDidPublicKey (417) */ + /** @name DidDidDetailsDidPublicKey (418) */ interface DidDidDetailsDidPublicKey extends Enum { readonly isPublicVerificationKey: boolean; readonly asPublicVerificationKey: DidDidDetailsDidVerificationKey; @@ -3662,79 +3784,97 @@ declare module '@polkadot/types/lookup' { readonly type: 'PublicVerificationKey' | 'PublicEncryptionKey'; } - /** @name DidError (422) */ + /** @name DidError (423) */ interface DidError extends Enum { readonly isInvalidSignatureFormat: boolean; readonly isInvalidSignature: boolean; - readonly isDidAlreadyPresent: boolean; - readonly isDidNotPresent: boolean; - readonly isVerificationKeyNotPresent: boolean; + readonly isAlreadyExists: boolean; + readonly isNotFound: boolean; + readonly isVerificationKeyNotFound: boolean; readonly isInvalidNonce: boolean; readonly isUnsupportedDidAuthorizationCall: boolean; readonly isInvalidDidAuthorizationCall: boolean; - readonly isMaxKeyAgreementKeysLimitExceeded: boolean; - readonly isMaxPublicKeysPerDidExceeded: boolean; - readonly isMaxTotalKeyAgreementKeysExceeded: boolean; + readonly isMaxNewKeyAgreementKeysLimitExceeded: boolean; + readonly isMaxPublicKeysExceeded: boolean; + readonly isMaxKeyAgreementKeysExceeded: boolean; readonly isBadDidOrigin: boolean; readonly isTransactionExpired: boolean; - readonly isDidAlreadyDeleted: boolean; + readonly isAlreadyDeleted: boolean; readonly isNotOwnerOfDeposit: boolean; readonly isUnableToPayFees: boolean; - readonly isMaxNumberOfServicesPerDidExceeded: boolean; + readonly isMaxNumberOfServicesExceeded: boolean; readonly isMaxServiceIdLengthExceeded: boolean; readonly isMaxServiceTypeLengthExceeded: boolean; readonly isMaxNumberOfTypesPerServiceExceeded: boolean; readonly isMaxServiceUrlLengthExceeded: boolean; readonly isMaxNumberOfUrlsPerServiceExceeded: boolean; - readonly isServiceAlreadyPresent: boolean; - readonly isServiceNotPresent: boolean; + readonly isServiceAlreadyExists: boolean; + readonly isServiceNotFound: boolean; readonly isInvalidServiceEncoding: boolean; - readonly isStoredEndpointsCountTooLarge: boolean; - readonly isInternalError: boolean; - readonly type: 'InvalidSignatureFormat' | 'InvalidSignature' | 'DidAlreadyPresent' | 'DidNotPresent' | 'VerificationKeyNotPresent' | 'InvalidNonce' | 'UnsupportedDidAuthorizationCall' | 'InvalidDidAuthorizationCall' | 'MaxKeyAgreementKeysLimitExceeded' | 'MaxPublicKeysPerDidExceeded' | 'MaxTotalKeyAgreementKeysExceeded' | 'BadDidOrigin' | 'TransactionExpired' | 'DidAlreadyDeleted' | 'NotOwnerOfDeposit' | 'UnableToPayFees' | 'MaxNumberOfServicesPerDidExceeded' | 'MaxServiceIdLengthExceeded' | 'MaxServiceTypeLengthExceeded' | 'MaxNumberOfTypesPerServiceExceeded' | 'MaxServiceUrlLengthExceeded' | 'MaxNumberOfUrlsPerServiceExceeded' | 'ServiceAlreadyPresent' | 'ServiceNotPresent' | 'InvalidServiceEncoding' | 'StoredEndpointsCountTooLarge' | 'InternalError'; + readonly isMaxStoredEndpointsCountExceeded: boolean; + readonly isInternal: boolean; + readonly type: 'InvalidSignatureFormat' | 'InvalidSignature' | 'AlreadyExists' | 'NotFound' | 'VerificationKeyNotFound' | 'InvalidNonce' | 'UnsupportedDidAuthorizationCall' | 'InvalidDidAuthorizationCall' | 'MaxNewKeyAgreementKeysLimitExceeded' | 'MaxPublicKeysExceeded' | 'MaxKeyAgreementKeysExceeded' | 'BadDidOrigin' | 'TransactionExpired' | 'AlreadyDeleted' | 'NotOwnerOfDeposit' | 'UnableToPayFees' | 'MaxNumberOfServicesExceeded' | 'MaxServiceIdLengthExceeded' | 'MaxServiceTypeLengthExceeded' | 'MaxNumberOfTypesPerServiceExceeded' | 'MaxServiceUrlLengthExceeded' | 'MaxNumberOfUrlsPerServiceExceeded' | 'ServiceAlreadyExists' | 'ServiceNotFound' | 'InvalidServiceEncoding' | 'MaxStoredEndpointsCountExceeded' | 'Internal'; } - /** @name PalletDidLookupConnectionRecord (423) */ + /** @name PalletDidLookupConnectionRecord (424) */ interface PalletDidLookupConnectionRecord extends Struct { readonly did: AccountId32; readonly deposit: KiltSupportDeposit; } - /** @name PalletDidLookupError (425) */ + /** @name PalletDidLookupMigrationState (426) */ + interface PalletDidLookupMigrationState extends Enum { + readonly isDone: boolean; + readonly isPreUpgrade: boolean; + readonly isUpgrading: boolean; + readonly asUpgrading: PalletDidLookupMigrationsMixedStorageKey; + readonly type: 'Done' | 'PreUpgrade' | 'Upgrading'; + } + + /** @name PalletDidLookupMigrationsMixedStorageKey (427) */ + interface PalletDidLookupMigrationsMixedStorageKey extends Enum { + readonly isV1: boolean; + readonly asV1: AccountId32; + readonly isV2: boolean; + readonly asV2: PalletDidLookupLinkableAccountLinkableAccountId; + readonly type: 'V1' | 'V2'; + } + + /** @name PalletDidLookupError (428) */ interface PalletDidLookupError extends Enum { - readonly isAssociationNotFound: boolean; + readonly isNotFound: boolean; readonly isNotAuthorized: boolean; readonly isOutdatedProof: boolean; readonly isInsufficientFunds: boolean; - readonly type: 'AssociationNotFound' | 'NotAuthorized' | 'OutdatedProof' | 'InsufficientFunds'; + readonly isMigration: boolean; + readonly type: 'NotFound' | 'NotAuthorized' | 'OutdatedProof' | 'InsufficientFunds' | 'Migration'; } - /** @name PalletWeb3NamesWeb3NameWeb3NameOwnership (426) */ + /** @name PalletWeb3NamesWeb3NameWeb3NameOwnership (429) */ interface PalletWeb3NamesWeb3NameWeb3NameOwnership extends Struct { readonly owner: AccountId32; readonly claimedAt: u64; readonly deposit: KiltSupportDeposit; } - /** @name PalletWeb3NamesError (427) */ + /** @name PalletWeb3NamesError (430) */ interface PalletWeb3NamesError extends Enum { readonly isInsufficientFunds: boolean; - readonly isWeb3NameAlreadyClaimed: boolean; - readonly isWeb3NameNotFound: boolean; + readonly isAlreadyExists: boolean; + readonly isNotFound: boolean; readonly isOwnerAlreadyExists: boolean; readonly isOwnerNotFound: boolean; - readonly isWeb3NameBanned: boolean; - readonly isWeb3NameNotBanned: boolean; - readonly isWeb3NameAlreadyBanned: boolean; + readonly isBanned: boolean; + readonly isNotBanned: boolean; + readonly isAlreadyBanned: boolean; readonly isNotAuthorized: boolean; - readonly isWeb3NameTooShort: boolean; - readonly isWeb3NameTooLong: boolean; - readonly isInvalidWeb3NameCharacter: boolean; - readonly isUnauthorized: boolean; - readonly type: 'InsufficientFunds' | 'Web3NameAlreadyClaimed' | 'Web3NameNotFound' | 'OwnerAlreadyExists' | 'OwnerNotFound' | 'Web3NameBanned' | 'Web3NameNotBanned' | 'Web3NameAlreadyBanned' | 'NotAuthorized' | 'Web3NameTooShort' | 'Web3NameTooLong' | 'InvalidWeb3NameCharacter' | 'Unauthorized'; + readonly isTooShort: boolean; + readonly isTooLong: boolean; + readonly isInvalidCharacter: boolean; + readonly type: 'InsufficientFunds' | 'AlreadyExists' | 'NotFound' | 'OwnerAlreadyExists' | 'OwnerNotFound' | 'Banned' | 'NotBanned' | 'AlreadyBanned' | 'NotAuthorized' | 'TooShort' | 'TooLong' | 'InvalidCharacter'; } - /** @name PublicCredentialsCredentialsCredentialEntry (429) */ + /** @name PublicCredentialsCredentialsCredentialEntry (432) */ interface PublicCredentialsCredentialsCredentialEntry extends Struct { readonly ctypeHash: H256; readonly attester: AccountId32; @@ -3744,24 +3884,24 @@ declare module '@polkadot/types/lookup' { readonly authorizationId: Option; } - /** @name PublicCredentialsError (430) */ + /** @name PublicCredentialsError (433) */ interface PublicCredentialsError extends Enum { - readonly isCredentialAlreadyIssued: boolean; - readonly isCredentialNotFound: boolean; + readonly isAlreadyAttested: boolean; + readonly isNotFound: boolean; readonly isUnableToPayFees: boolean; readonly isInvalidInput: boolean; - readonly isUnauthorized: boolean; - readonly isInternalError: boolean; - readonly type: 'CredentialAlreadyIssued' | 'CredentialNotFound' | 'UnableToPayFees' | 'InvalidInput' | 'Unauthorized' | 'InternalError'; + readonly isNotAuthorized: boolean; + readonly isInternal: boolean; + readonly type: 'AlreadyAttested' | 'NotFound' | 'UnableToPayFees' | 'InvalidInput' | 'NotAuthorized' | 'Internal'; } - /** @name PolkadotPrimitivesV2UpgradeRestriction (432) */ + /** @name PolkadotPrimitivesV2UpgradeRestriction (435) */ interface PolkadotPrimitivesV2UpgradeRestriction extends Enum { readonly isPresent: boolean; readonly type: 'Present'; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (433) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (436) */ interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { readonly dmqMqcHead: H256; readonly relayDispatchQueueSize: ITuple<[u32, u32]>; @@ -3769,7 +3909,7 @@ declare module '@polkadot/types/lookup' { readonly egressChannels: Vec>; } - /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (437) */ + /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (440) */ interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct { readonly maxCapacity: u32; readonly maxTotalSize: u32; @@ -3779,7 +3919,7 @@ declare module '@polkadot/types/lookup' { readonly mqcHead: Option; } - /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (438) */ + /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (441) */ interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct { readonly maxCodeSize: u32; readonly maxHeadDataSize: u32; @@ -3792,13 +3932,13 @@ declare module '@polkadot/types/lookup' { readonly validationUpgradeDelay: u32; } - /** @name PolkadotCorePrimitivesOutboundHrmpMessage (444) */ + /** @name PolkadotCorePrimitivesOutboundHrmpMessage (447) */ interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { readonly recipient: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemError (445) */ + /** @name CumulusPalletParachainSystemError (448) */ interface CumulusPalletParachainSystemError extends Enum { readonly isOverlappingUpgrades: boolean; readonly isProhibitedByPolkadot: boolean; @@ -3811,21 +3951,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized'; } - /** @name CumulusPalletXcmpQueueInboundChannelDetails (447) */ + /** @name CumulusPalletXcmpQueueInboundChannelDetails (450) */ interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct { readonly sender: u32; readonly state: CumulusPalletXcmpQueueInboundState; readonly messageMetadata: Vec>; } - /** @name CumulusPalletXcmpQueueInboundState (448) */ + /** @name CumulusPalletXcmpQueueInboundState (451) */ interface CumulusPalletXcmpQueueInboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name PolkadotParachainPrimitivesXcmpMessageFormat (451) */ + /** @name PolkadotParachainPrimitivesXcmpMessageFormat (454) */ interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum { readonly isConcatenatedVersionedXcm: boolean; readonly isConcatenatedEncodedBlob: boolean; @@ -3833,7 +3973,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals'; } - /** @name CumulusPalletXcmpQueueOutboundChannelDetails (454) */ + /** @name CumulusPalletXcmpQueueOutboundChannelDetails (457) */ interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct { readonly recipient: u32; readonly state: CumulusPalletXcmpQueueOutboundState; @@ -3842,14 +3982,14 @@ declare module '@polkadot/types/lookup' { readonly lastIndex: u16; } - /** @name CumulusPalletXcmpQueueOutboundState (455) */ + /** @name CumulusPalletXcmpQueueOutboundState (458) */ interface CumulusPalletXcmpQueueOutboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name CumulusPalletXcmpQueueQueueConfigData (457) */ + /** @name CumulusPalletXcmpQueueQueueConfigData (460) */ interface CumulusPalletXcmpQueueQueueConfigData extends Struct { readonly suspendThreshold: u32; readonly dropThreshold: u32; @@ -3859,7 +3999,7 @@ declare module '@polkadot/types/lookup' { readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight; } - /** @name CumulusPalletXcmpQueueError (459) */ + /** @name CumulusPalletXcmpQueueError (462) */ interface CumulusPalletXcmpQueueError extends Enum { readonly isFailedToSend: boolean; readonly isBadXcmOrigin: boolean; @@ -3869,7 +4009,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit'; } - /** @name PalletXcmError (460) */ + /** @name PalletXcmError (463) */ interface PalletXcmError extends Enum { readonly isUnreachable: boolean; readonly isSendFailure: boolean; @@ -3884,50 +4024,57 @@ declare module '@polkadot/types/lookup' { readonly isBadLocation: boolean; readonly isNoSubscription: boolean; readonly isAlreadySubscribed: boolean; - readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed'; + readonly isInvalidAsset: boolean; + readonly isLowBalance: boolean; + readonly isTooManyLocks: boolean; + readonly isAccountNotSovereign: boolean; + readonly isFeesNotMet: boolean; + readonly isLockNotFound: boolean; + readonly isInUse: boolean; + readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed' | 'InvalidAsset' | 'LowBalance' | 'TooManyLocks' | 'AccountNotSovereign' | 'FeesNotMet' | 'LockNotFound' | 'InUse'; } - /** @name CumulusPalletXcmError (461) */ + /** @name CumulusPalletXcmError (464) */ type CumulusPalletXcmError = Null; - /** @name CumulusPalletDmpQueueConfigData (462) */ + /** @name CumulusPalletDmpQueueConfigData (465) */ interface CumulusPalletDmpQueueConfigData extends Struct { readonly maxIndividual: SpWeightsWeightV2Weight; } - /** @name CumulusPalletDmpQueuePageIndexData (463) */ + /** @name CumulusPalletDmpQueuePageIndexData (466) */ interface CumulusPalletDmpQueuePageIndexData extends Struct { readonly beginUsed: u32; readonly endUsed: u32; readonly overweightCount: u64; } - /** @name CumulusPalletDmpQueueError (466) */ + /** @name CumulusPalletDmpQueueError (469) */ interface CumulusPalletDmpQueueError extends Enum { readonly isUnknown: boolean; readonly isOverLimit: boolean; readonly type: 'Unknown' | 'OverLimit'; } - /** @name FrameSystemExtensionsCheckNonZeroSender (469) */ + /** @name FrameSystemExtensionsCheckNonZeroSender (472) */ type FrameSystemExtensionsCheckNonZeroSender = Null; - /** @name FrameSystemExtensionsCheckSpecVersion (470) */ + /** @name FrameSystemExtensionsCheckSpecVersion (473) */ type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckTxVersion (471) */ + /** @name FrameSystemExtensionsCheckTxVersion (474) */ type FrameSystemExtensionsCheckTxVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (472) */ + /** @name FrameSystemExtensionsCheckGenesis (475) */ type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (475) */ + /** @name FrameSystemExtensionsCheckNonce (478) */ interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (476) */ + /** @name FrameSystemExtensionsCheckWeight (479) */ type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTransactionPaymentChargeTransactionPayment (477) */ + /** @name PalletTransactionPaymentChargeTransactionPayment (480) */ interface PalletTransactionPaymentChargeTransactionPayment extends Compact {} } // declare module From 7dd4ce8886eaa215298582a5e23190bfc5cbd384 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 14 Mar 2023 14:26:18 +0100 Subject: [PATCH 25/52] chore: set version 0.32.0-rc.1 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index b6732f940..c25b955a6 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index a2e85ea19..cc5ba189d 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index d68533f44..4f00d523f 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index b46db4785..5b7e2a67a 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 0fe2717d2..ffc1589cb 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 49d147d6a..111308f93 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 8554ad650..5365b6102 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index d47b58963..c7715b5d2 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 93ccf4101..0889251cf 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index 6bb5bed1c..aa9a5d97e 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index b3462b405..03f31cdb9 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 748fc0414..774457207 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 71a2b8f83..b8bd35dbb 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index dcccacb7e..11b0121a6 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.32.0-9", + "version": "0.32.0-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From 717b8aa95c858e5de38f678a00573c0b51179de0 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 14 Mar 2023 15:49:55 +0100 Subject: [PATCH 26/52] chore: remove unused package.json --- docs/package.json | 27 --------------------------- 1 file changed, 27 deletions(-) delete mode 100644 docs/package.json diff --git a/docs/package.json b/docs/package.json deleted file mode 100644 index e4036b9d1..000000000 --- a/docs/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "@kiltprotocol/docs", - "version": "0.24.0-7", - "description": "", - "scripts": { - "clean": "rimraf ./lib", - "build": "yarn clean && yarn build:ts", - "build:ts": "tsc --declaration -p tsconfig.build.json" - }, - "repository": "github:kiltprotocol/sdk-js", - "engines": { - "node": ">=14.0" - }, - "author": "", - "license": "BSD-4-Clause", - "bugs": "https://github.com/KILTprotocol/sdk-js/issues", - "homepage": "https://github.com/KILTprotocol/sdk-js#readme", - "dependencies": { - "@kiltprotocol/sdk-js": "workspace:*", - "@polkadot/keyring": "^10.2.1", - "@polkadot/types": "^9.10.2", - "@polkadot/util": "^10.2.1", - "typescript-logging": "^0.6.4", - "@polkadot/util-crypto": "^10.2.1", - "testcontainers": "^9.0.0" - } -} \ No newline at end of file From 038a5c6a86d0fe5d4c616968862bd53bc6e361ad Mon Sep 17 00:00:00 2001 From: GustavHemmelmayr <34513708+GustavHemmelmayr@users.noreply.github.com> Date: Tue, 14 Mar 2023 15:34:16 +0100 Subject: [PATCH 27/52] feat: update LICENSE (#737) * Update LICENSE changed to built on KILT --------- Co-authored-by: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> --- LICENSE | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/LICENSE b/LICENSE index 3fbfa7d7d..5330e4207 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ -Copyright (c) 2018-2023, BOTLabs GmbH +Copyright (c) 2018-2023, Built on KILT All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -3. All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the BOTLabs GmbH. -4. Neither the name of the BOTLabs GmbH nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. +3. All advertising materials mentioning features or use of this software must display the following acknowledgement: Built on KILT. +4. Neither the name of KILT nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY BOTLABS GMBH ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BOTLABS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. From 9b6c02ca399fa6e630fb83cc298105eff9bc434b Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 14 Mar 2023 16:05:14 +0100 Subject: [PATCH 28/52] chore: type LinkableAccountId is autogenerated --- packages/did/src/Did.rpc.ts | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/packages/did/src/Did.rpc.ts b/packages/did/src/Did.rpc.ts index 9f5f9b91d..4812a0cac 100644 --- a/packages/did/src/Did.rpc.ts +++ b/packages/did/src/Did.rpc.ts @@ -5,7 +5,7 @@ * found in the LICENSE file in the root directory of this source tree. */ -import type { Enum, Option, U8aFixed, Vec } from '@polkadot/types' +import type { Option, Vec } from '@polkadot/types' import type { Codec } from '@polkadot/types/types' import type { AccountId32, Hash } from '@polkadot/types/interfaces' import type { @@ -14,6 +14,7 @@ import type { DidDidDetailsDidPublicKeyDetails, DidDidDetails, DidServiceEndpointsDidEndpoint, + PalletDidLookupLinkableAccountLinkableAccountId, } from '@kiltprotocol/augment-api' import type { Deposit, @@ -138,17 +139,6 @@ function servicesFromChain( return encoded.map((encodedValue) => serviceFromChain(encodedValue)) } -/** - * Type describing storage type that is yet to be deployed to spiritnet. - */ -interface PalletDidLookupLinkableAccountLinkableAccountId extends Enum { - readonly isAccountId20: boolean - readonly asAccountId20: U8aFixed - readonly isAccountId32: boolean - readonly asAccountId32: AccountId32 - readonly type: 'AccountId20' | 'AccountId32' -} - function isLinkableAccountId( arg: Codec ): arg is PalletDidLookupLinkableAccountLinkableAccountId { From 2193e2b262d0837dcd2d2e1c9116556b90910347 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 14 Mar 2023 18:43:08 +0100 Subject: [PATCH 29/52] chore: rc.2 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index c25b955a6..28472e1be 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index cc5ba189d..ad1c9ee7d 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 4f00d523f..55c214c6d 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 5b7e2a67a..edaf10031 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index ffc1589cb..62a00fd66 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 111308f93..6e9e1e46a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 5365b6102..2acbbdc88 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index c7715b5d2..3dec9bd36 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 0889251cf..ce6be822a 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index aa9a5d97e..2d1126d64 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 03f31cdb9..5aefc3177 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 774457207..ef0030efb 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index b8bd35dbb..3abd9818c 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 11b0121a6..652d9c7fc 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.32.0-rc.1", + "version": "0.32.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From 23ee887ca82e618fb2df3d177555f88dccf430db Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Wed, 15 Mar 2023 10:44:16 +0100 Subject: [PATCH 30/52] chore: account linking wasn't using new types --- .../AccountLinking.spec.ts | 3 -- .../did/src/DidLinks/AccountLinks.chain.ts | 31 +++++++++++++------ 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/packages/core/src/__integrationtests__/AccountLinking.spec.ts b/packages/core/src/__integrationtests__/AccountLinking.spec.ts index 111ce49b1..3f31ec64c 100644 --- a/packages/core/src/__integrationtests__/AccountLinking.spec.ts +++ b/packages/core/src/__integrationtests__/AccountLinking.spec.ts @@ -182,7 +182,6 @@ describe('When there is an on-chain DID', () => { ) const signedTx = await Did.authorizeTx( did.uri, - // @ts-ignore api.tx.didLookup.associateAccount(...args), didKey.getSignCallback(did), paymentAccount.address @@ -221,7 +220,6 @@ describe('When there is an on-chain DID', () => { ) const signedTx = await Did.authorizeTx( newDid.uri, - // @ts-ignore api.tx.didLookup.associateAccount(...args), newDidKey.getSignCallback(newDid), paymentAccount.address @@ -306,7 +304,6 @@ describe('When there is an on-chain DID', () => { ) const signedTx = await Did.authorizeTx( did.uri, - // @ts-ignore api.tx.didLookup.associateAccount(...args), didKey.getSignCallback(did), paymentAccount.address diff --git a/packages/did/src/DidLinks/AccountLinks.chain.ts b/packages/did/src/DidLinks/AccountLinks.chain.ts index be3a372c6..a570a51ea 100644 --- a/packages/did/src/DidLinks/AccountLinks.chain.ts +++ b/packages/did/src/DidLinks/AccountLinks.chain.ts @@ -6,7 +6,7 @@ */ import { decodeAddress, signatureVerify } from '@polkadot/util-crypto' -import type { AnyNumber, TypeDef } from '@polkadot/types/types' +import type { TypeDef } from '@polkadot/types/types' import type { HexString } from '@polkadot/util/types' import type { KeyringPair } from '@polkadot/keyring/types' import type { KeypairType } from '@polkadot/util-crypto/types' @@ -93,7 +93,18 @@ export function accountToChain(account: Address): Address { /* ### EXTRINSICS ### */ -type AssociateAccountToChainResult = [string, AnyNumber, EncodedSignature] +type LinkingInfo = [Address, unknown] +type AssociateAccountToChainResult = [ + ( + | { + Polkadot: LinkingInfo + } + | { + Ethereum: LinkingInfo + } + ), + BN +] /* ### HELPERS ### */ @@ -197,21 +208,21 @@ export async function getLinkingArguments( if (isEthereumEnabled(api)) { if (type === 'ethereum') { - const result = [{ Ethereum: [accountAddress, signature] }, validUntil] - // Force type cast to enable the old blockchain types to accept the future format - return result as unknown as AssociateAccountToChainResult + return [{ Ethereum: [accountAddress, signature] }, validUntil] } - const result = [{ Polkadot: [accountAddress, proof] }, validUntil] - // Force type cast to enable the old blockchain types to accept the future format - return result as unknown as AssociateAccountToChainResult + return [{ Polkadot: [accountAddress, proof] }, validUntil] } if (type === 'ethereum') throw new SDKErrors.CodecMismatchError( 'Ethereum linking is not yet supported by this chain' ) - - return [accountAddress, validUntil, proof] + // Force type cast to enable the new blockchain types to accept the historic format + return [ + accountAddress, + validUntil, + proof, + ] as unknown as AssociateAccountToChainResult } /** From e4788d173d7b56bbdc4c713d9693b0192b956cfb Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Wed, 15 Mar 2023 16:29:59 +0100 Subject: [PATCH 31/52] fix: use runtime version to check for ethereum linking --- packages/did/src/DidLinks/AccountLinks.chain.ts | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/packages/did/src/DidLinks/AccountLinks.chain.ts b/packages/did/src/DidLinks/AccountLinks.chain.ts index a570a51ea..ae62cbc60 100644 --- a/packages/did/src/DidLinks/AccountLinks.chain.ts +++ b/packages/did/src/DidLinks/AccountLinks.chain.ts @@ -41,21 +41,13 @@ type EncodedMultiAddress = | { AccountId32: Uint8Array } /** - * Detects whether api decoration indicates presence of Ethereum linking enabled pallet. + * Detects whether the spec version indicates presence of Ethereum linking enabled pallet. * * @param api The api object. * @returns True if Ethereum linking is supported. */ function isEthereumEnabled(api: ApiPromise): boolean { - const removeType = api.createType( - api.tx.didLookup.removeAccountAssociation.meta.args[0]?.type?.toString() || - 'bool' - ) - const associateType = api.createType( - api.tx.didLookup.associateAccount.meta.args[0]?.type?.toString() || 'bool' - ) - - return 'isAccountId20' in removeType || 'isEthereum' in associateType + return api.runtimeVersion.specVersion.gten(11000) } /** From 917dc36624d0669da1f648996f1eec28420c264f Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Thu, 16 Mar 2023 16:32:42 +0100 Subject: [PATCH 32/52] chore: v0.32.0-rc.3 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 28472e1be..a31ffea8a 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index ad1c9ee7d..8739835b4 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 55c214c6d..1f5ec75d4 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index edaf10031..8405b300a 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 62a00fd66..1b1619281 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 6e9e1e46a..f4a587131 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 2acbbdc88..640c18bfe 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 3dec9bd36..6fe3c7477 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index ce6be822a..88ad8f441 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index 2d1126d64..83a39dcc3 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 5aefc3177..c9865fc82 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index ef0030efb..69dc7d27c 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 3abd9818c..a18418a55 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 652d9c7fc..802939248 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.32.0-rc.2", + "version": "0.32.0-rc.3", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From 971db0c4e0898962e299baf585d7e4b92ec77340 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Mon, 20 Mar 2023 14:26:37 +0100 Subject: [PATCH 33/52] chore: v0.32.0 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index a31ffea8a..1db9c3186 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.32.0-rc.3", + "version": "0.32.0", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 8739835b4..63ae29571 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 1f5ec75d4..fb66c8c18 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 8405b300a..2e5687366 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 1b1619281..ee305bd16 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index f4a587131..643892462 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 640c18bfe..c5a598fcb 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 6fe3c7477..5a197ad49 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 88ad8f441..535fb3e58 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index 83a39dcc3..f028b9498 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index c9865fc82..f80235b3e 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 69dc7d27c..55c5abfdc 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index a18418a55..40cdeae78 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 802939248..30b66ea53 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.32.0-rc.3", + "version": "0.32.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From 7148e24e364968817e2137ee21b659e124761169 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> Date: Thu, 6 Apr 2023 08:52:15 +0200 Subject: [PATCH 34/52] ci: update GitHub workflows (#745) --- .github/actions/cached-image-pull/action.yml | 4 +- .github/workflows/devpackpublish.yml | 7 ++-- .github/workflows/docpublish.yml | 11 ++--- .github/workflows/npmpublish-rc.yml | 12 +++--- .github/workflows/npmpublish.yml | 12 +++--- .github/workflows/semantic-pull-request.yml | 2 +- .github/workflows/test-node-candidate.yml | 34 +++++++--------- .github/workflows/tests-polkadot-deps.yml | 24 ++++------- .github/workflows/tests.yml | 42 +++++++++----------- 9 files changed, 65 insertions(+), 83 deletions(-) diff --git a/.github/actions/cached-image-pull/action.yml b/.github/actions/cached-image-pull/action.yml index e2bb9d822..351bb3e6a 100644 --- a/.github/actions/cached-image-pull/action.yml +++ b/.github/actions/cached-image-pull/action.yml @@ -23,11 +23,11 @@ runs: env: CACHE_PATH: ${{ inputs.cache-directory }}${{ inputs.cache-file }}.tar run: | - echo "::set-output name=path::$CACHE_PATH" + echo "path=$CACHE_PATH" >> $GITHUB_OUTPUT - name: check image cache id: image-cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ${{ steps.image-file.outputs.path }} key: image-cache-${{ inputs.image }} diff --git a/.github/workflows/devpackpublish.yml b/.github/workflows/devpackpublish.yml index a84bf6c8e..a976dc9cc 100644 --- a/.github/workflows/devpackpublish.yml +++ b/.github/workflows/devpackpublish.yml @@ -16,21 +16,22 @@ jobs: runs-on: ubuntu-latest if: "! startsWith(github.event.head_commit.message, '[CI Skip]') && github.repository == 'kiltprotocol/sdk-js'" steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # fetch-depth 0 and token needed to push changes on the package.json files back. fetch-depth: 0 token: ${{ secrets.REPO_ACCESS_TOKEN }} - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: node-version: 14 + cache: 'yarn' - name: Install dependencies run: yarn install --immutable - name: Bump prerelease version of root package run: npm version --no-git-tag-version prerelease - name: Get current package version id: package_version - run: echo "::set-output name=package_version::$(node -pe "require('./package.json').version")" + run: echo "package_version=$(node -pe "require('./package.json').version")" >> $GITHUB_OUTPUT - name: Set all other packages to same version env: PACKAGE_VERSION: ${{ steps.package_version.outputs.package_version }} diff --git a/.github/workflows/docpublish.yml b/.github/workflows/docpublish.yml index 0e2d9f5e6..6d075f62a 100644 --- a/.github/workflows/docpublish.yml +++ b/.github/workflows/docpublish.yml @@ -10,9 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly. - with: - persist-credentials: false + uses: actions/checkout@v3 - name: Install and Build run: | @@ -20,8 +18,7 @@ jobs: yarn build:docs - name: Deploy - uses: JamesIves/github-pages-deploy-action@releases/v3 + uses: JamesIves/github-pages-deploy-action@v4 with: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - BRANCH: gh-pages # The branch the action should deploy to. - FOLDER: docs/api # The folder the action should deploy to. + branch: gh-pages # The branch the action should deploy to. + folder: docs/api # The folder the action should deploy to. diff --git a/.github/workflows/npmpublish-rc.yml b/.github/workflows/npmpublish-rc.yml index ece3e6a33..c53519c74 100644 --- a/.github/workflows/npmpublish-rc.yml +++ b/.github/workflows/npmpublish-rc.yml @@ -6,10 +6,11 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: node-version: 14 + cache: 'yarn' - run: yarn install --immutable - run: yarn build - run: yarn test:ci @@ -18,10 +19,11 @@ jobs: needs: build runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: node-version: 14 + cache: 'yarn' - name: Install dependencies run: yarn install --immutable - name: Build packages @@ -30,7 +32,7 @@ jobs: run: yarn run bundle - name: Get current package version id: package_version - run: echo "::set-output name=package_version::$(node -pe "require('./package.json').version")" + run: echo "package_version=$(node -pe "require('./package.json').version")" >> $GITHUB_OUTPUT - name: Publish to NPM run: yarn run publish --tag rc env: diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index 7957abf81..7f3123b81 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -6,10 +6,11 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: node-version: 14 + cache: 'yarn' - run: yarn install --immutable - run: yarn build - run: yarn test:ci @@ -18,10 +19,11 @@ jobs: needs: build runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - uses: actions/setup-node@v2 + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 with: node-version: 14 + cache: 'yarn' - name: Install dependencies run: yarn install --immutable - name: Build packages @@ -30,7 +32,7 @@ jobs: run: yarn run bundle - name: Get current package version id: package_version - run: echo "::set-output name=package_version::$(node -pe "require('./package.json').version")" + run: echo "package_version=$(node -pe "require('./package.json').version")" >> $GITHUB_OUTPUT - name: Publish to NPM run: yarn run publish --tag latest env: diff --git a/.github/workflows/semantic-pull-request.yml b/.github/workflows/semantic-pull-request.yml index 06d2d32d3..c4ba39bf9 100644 --- a/.github/workflows/semantic-pull-request.yml +++ b/.github/workflows/semantic-pull-request.yml @@ -11,6 +11,6 @@ jobs: validate: runs-on: ubuntu-latest steps: - - uses: amannn/action-semantic-pull-request@v4 + - uses: amannn/action-semantic-pull-request@v5 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/test-node-candidate.yml b/.github/workflows/test-node-candidate.yml index 742e97a92..6276ffd4c 100644 --- a/.github/workflows/test-node-candidate.yml +++ b/.github/workflows/test-node-candidate.yml @@ -18,7 +18,7 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Use Node.js 14 + - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 14 @@ -30,7 +30,7 @@ jobs: - name: zip build run: zip -r build.zip . - name: upload build - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: build path: build.zip @@ -51,22 +51,20 @@ jobs: needs: cache_imgs steps: - - name: Log out node version - run: node --version - - name: Use Node.js 14 + - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 14 - name: Log out node version run: node --version - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: build - name: unzip run: unzip build.zip -d . - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 + uses: aws-actions/configure-aws-credentials@v2 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -99,11 +97,11 @@ jobs: needs: build steps: - - name: Use Node.js 14 + - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 14 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: build - name: unzip @@ -111,7 +109,7 @@ jobs: - name: yarn bundle run: yarn bundle - name: upload bundle artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: checked-nonmin-bundle path: packages/sdk-js/dist/sdk-js.umd.js @@ -122,21 +120,21 @@ jobs: needs: [cache_imgs, bundle_cache] steps: - - name: Use Node.js 14 - uses: actions/setup-node@v3 + - uses: actions/setup-node@v3 with: - node-version: 14 - - uses: actions/download-artifact@v2 + node-version: '16.x' + - uses: actions/download-artifact@v3 with: name: build - name: unzip run: unzip build.zip -d . - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: checked-nonmin-bundle path: packages/sdk-js/dist + - run: basename /packages/sdk-js/dist/ - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 + uses: aws-actions/configure-aws-credentials@v2 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -145,10 +143,6 @@ jobs: - name: Login to Amazon ECR id: login-ecr uses: aws-actions/amazon-ecr-login@v1 - - uses: actions/setup-node@v2 - with: - node-version: '16.x' - - run: basename /packages/sdk-js/dist/ - name: pull node image env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} diff --git a/.github/workflows/tests-polkadot-deps.yml b/.github/workflows/tests-polkadot-deps.yml index fe4494ed0..b83dd2869 100644 --- a/.github/workflows/tests-polkadot-deps.yml +++ b/.github/workflows/tests-polkadot-deps.yml @@ -16,24 +16,14 @@ jobs: node-version: [14.x, 16.x] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: master - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - - name: Get yarn cache directory path - id: yarn-cache-dir-path - run: echo "::set-output name=dir::$(yarn config get cacheFolder)" - - uses: actions/cache@v2 - id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) - with: - path: ${{ steps.yarn-cache-dir-path.outputs.dir }} - key: ${{ runner.os }}-${{ matrix.node-version }}-updated-dependencies - restore-keys: | - ${{ runner.os }}-${{ matrix.node-version }}-updated-dependencies - ${{ runner.os }}-${{ matrix.node-version }}-yarn- + cache: 'yarn' - name: delete yarn.lock run: rm -f yarn.lock @@ -57,7 +47,7 @@ jobs: - name: zip build run: zip -r build.zip . - name: upload build - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: build-${{ matrix.node-version }} path: build.zip @@ -77,7 +67,7 @@ jobs: continue-on-error: ${{ matrix.required == 'optional' }} steps: - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: build-${{ matrix.node-version }} - name: unzip @@ -101,14 +91,14 @@ jobs: continue-on-error: ${{ matrix.required == 'optional' }} steps: - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: build-14.x - name: unzip run: unzip build.zip -d . - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 + uses: aws-actions/configure-aws-credentials@v2 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d0edfbeac..3b83fb704 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,7 +13,8 @@ on: - 'Dockerfile' - 'docker-compose.yml' - 'dc.build.node.yml' - - '.github/workflows/*publish.yml' + - '.github/**' + - '!.github/workflows/tests.yml' pull_request: branches: - develop @@ -37,7 +38,7 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Use Node.js 14 + - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 14 @@ -49,7 +50,7 @@ jobs: - name: zip build run: zip -r build.zip . - name: upload build - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: build path: build.zip @@ -59,11 +60,11 @@ jobs: needs: build steps: - - name: Use Node.js 14 + - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 14 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: build - name: unzip @@ -92,7 +93,7 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: build - name: unzip @@ -123,22 +124,20 @@ jobs: continue-on-error: ${{ matrix.required == 'optional' }} steps: - - name: Log out node version - run: node --version - - name: Use Node.js 14 + - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 14 - name: Log out node version run: node --version - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: build - name: unzip run: unzip build.zip -d . - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 + uses: aws-actions/configure-aws-credentials@v2 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -171,11 +170,11 @@ jobs: needs: build steps: - - name: Use Node.js 14 + - name: Setup Node.js uses: actions/setup-node@v3 with: node-version: 14 - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: build - name: unzip @@ -183,7 +182,7 @@ jobs: - name: yarn bundle run: yarn bundle - name: upload bundle artifact - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: checked-nonmin-bundle path: packages/sdk-js/dist/sdk-js.umd.js @@ -202,21 +201,21 @@ jobs: continue-on-error: ${{ matrix.required == 'optional' }} steps: - - name: Use Node.js 14 - uses: actions/setup-node@v3 + - uses: actions/setup-node@v3 with: - node-version: 14 - - uses: actions/download-artifact@v2 + node-version: '16.x' + - uses: actions/download-artifact@v3 with: name: build - name: unzip run: unzip build.zip -d . - - uses: actions/download-artifact@v2 + - uses: actions/download-artifact@v3 with: name: checked-nonmin-bundle path: packages/sdk-js/dist + - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v1 + uses: aws-actions/configure-aws-credentials@v2 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -225,9 +224,6 @@ jobs: - name: Login to Amazon ECR id: login-ecr uses: aws-actions/amazon-ecr-login@v1 - - uses: actions/setup-node@v2 - with: - node-version: '16.x' - run: basename /packages/sdk-js/dist/ - name: pull node image env: From 73fe3917798bfad43fed077a162d332d930c65ab Mon Sep 17 00:00:00 2001 From: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> Date: Tue, 23 May 2023 18:31:20 +0200 Subject: [PATCH 35/52] fix: make config package cjs-only (#755) * fix: make sure config is singleton --- packages/config/package.json | 16 +++++++++------- packages/config/tsconfig.build.json | 4 ++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/packages/config/package.json b/packages/config/package.json index ee305bd16..aafdd3cf1 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -2,13 +2,15 @@ "name": "@kiltprotocol/config", "version": "0.32.0", "description": "", - "main": "./lib/cjs/index.js", - "module": "./lib/esm/index.js", - "types": "./lib/cjs/index.d.ts", + "type": "commonjs", + "main": "./lib/index.js", + "module": "./lib/index.mjs", + "types": "./lib/index.d.ts", "exports": { ".": { - "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js" + "import": "./lib/index.mjs", + "require": "./lib/index.js", + "types": "./lib/index.d.ts" } }, "files": [ @@ -18,8 +20,8 @@ "clean": "rimraf ./lib", "build": "yarn clean && yarn build:ts", "build:ts": "yarn build:cjs && yarn build:esm", - "build:cjs": "tsc --declaration -p tsconfig.build.json && echo '{\"type\":\"commonjs\"}' > ./lib/cjs/package.json", - "build:esm": "tsc --declaration -p tsconfig.esm.json && echo '{\"type\":\"module\"}' > ./lib/esm/package.json" + "build:cjs": "tsc --declaration -p tsconfig.build.json", + "build:esm": "tsc --declaration -p tsconfig.esm.json && yarn exec cp -f ./lib/esm/index.js ./lib/index.mjs && rimraf ./lib/esm" }, "repository": "github:kiltprotocol/sdk-js", "engines": { diff --git a/packages/config/tsconfig.build.json b/packages/config/tsconfig.build.json index 8af083c78..0eb1133ec 100644 --- a/packages/config/tsconfig.build.json +++ b/packages/config/tsconfig.build.json @@ -3,11 +3,11 @@ "compilerOptions": { "module": "CommonJS", - "outDir": "./lib/cjs" + "outDir": "./lib" }, "include": [ - "src/**/*.ts", "src/**/*.js" + "src/**/*.ts" ], "exclude": [ From 6654ecf8caa3b9783f058f9227cb603c003432e2 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 23 May 2023 20:04:56 +0200 Subject: [PATCH 36/52] chore: set version 0.32.1-rc.1 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 1db9c3186..83037fd4e 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.32.0", + "version": "0.32.1-rc.1", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 63ae29571..8c9e051e9 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index fb66c8c18..cdefe39c9 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 2e5687366..4861ed251 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index aafdd3cf1..04f9472c7 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "type": "commonjs", "main": "./lib/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 643892462..eada7a0fc 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index c5a598fcb..702f1e165 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 5a197ad49..57ed6f775 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 535fb3e58..11c71252a 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index f028b9498..f04a81613 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index f80235b3e..9d394e9e9 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 55c5abfdc..613d333db 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 40cdeae78..694238fbe 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 30b66ea53..1f58b26c6 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.32.0", + "version": "0.32.1-rc.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From 93a63157bd5463436705d7fddeda6d3563457475 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Wed, 24 May 2023 15:59:32 +0200 Subject: [PATCH 37/52] chore: set version 0.32.1 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/package.json b/package.json index 83037fd4e..5ea910099 100644 --- a/package.json +++ b/package.json @@ -69,6 +69,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.32.1-rc.1", + "version": "0.32.1", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 8c9e051e9..5b0b01ee6 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index cdefe39c9..95737b1eb 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 4861ed251..7d239771b 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 04f9472c7..0e2f8dbf3 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "type": "commonjs", "main": "./lib/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index eada7a0fc..df6fc7af5 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 702f1e165..cb96f731d 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 57ed6f775..2d448fa53 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 11c71252a..fdd55cdc9 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index f04a81613..f139f0c09 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 9d394e9e9..10a997515 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 613d333db..14a555dfd 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 694238fbe..2bd4280f9 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 1f58b26c6..4060727bc 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.32.1-rc.1", + "version": "0.32.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From b1663847dbebf9f8d22f5081f867ab0fde1f6cee Mon Sep 17 00:00:00 2001 From: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> Date: Thu, 8 Jun 2023 11:38:25 +0200 Subject: [PATCH 38/52] chore: merge release 0.33.0 (#758) Merge release 0.33.0. See release notes or PR #758 for details. Co-authored-by: Github Action Co-authored-by: Albrecht Co-authored-by: Antonio Co-authored-by: Timo Welde Co-authored-by: GustavHemmelmayr <34513708+GustavHemmelmayr@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Tom Adler --- .github/workflows/devpackpublish.yml | 2 +- .github/workflows/npmpublish-rc.yml | 4 +- .github/workflows/npmpublish.yml | 4 +- .github/workflows/test-node-candidate.yml | 28 +- .github/workflows/tests-polkadot-deps.yml | 6 +- .github/workflows/tests.yml | 41 +- .nvmrc | 2 +- package.json | 5 +- packages/asset-did/package.json | 4 +- packages/augment-api/extraDefs/package.json | 7 + packages/augment-api/index.cjs | 10 + packages/augment-api/index.mjs | 10 + packages/augment-api/package.json | 40 +- .../{fetchMetadata.js => fetchMetadata.cjs} | 0 .../src/interfaces/augment-api-query.ts | 4 +- .../src/interfaces/augment-api-rpc.ts | 20 +- .../src/interfaces/augment-api-runtime.ts | 49 +- .../src/interfaces/augment-types.ts | 43 +- .../augment-api/src/interfaces/definitions.ts | 2 +- packages/augment-api/tsconfig.build.json | 10 +- packages/augment-api/tsconfig.esm.json | 7 - packages/chain-helpers/package.json | 10 +- packages/config/package.json | 7 +- packages/config/src/ConfigService.spec.ts | 10 +- packages/config/src/ConfigService.ts | 7 +- packages/core/package.json | 16 +- .../__integrationtests__/Attestation.spec.ts | 14 +- .../__integrationtests__/Delegation.spec.ts | 2 +- packages/core/src/attestation/Attestation.ts | 20 +- packages/core/src/cbor-web.d.ts | 1 + .../core/src/credential/Credential.spec.ts | 239 ++- packages/core/src/credential/Credential.ts | 134 +- packages/core/src/ctype/CType.schemas.ts | 170 +- packages/core/src/ctype/CType.spec.ts | 479 +++-- packages/core/src/ctype/CType.ts | 52 +- packages/core/src/ctype/Ctype.nested.spec.ts | 6 +- .../core/src/delegation/DelegationNode.ts | 9 +- .../PublicCredential.chain.ts | 2 +- packages/did/package.json | 18 +- .../did/src/DidDetails/LightDidDetails.ts | 2 +- packages/did/src/cbor-web.d.ts | 1 + packages/messaging/package.json | 6 +- packages/sdk-js/package.json | 10 +- packages/sdk-js/webpack.config.js | 15 - packages/testing/package.json | 17 +- packages/testing/src/BreakingChanges.spec.ts | 236 +++ .../BreakingChanges.spec.ts.snap | 315 ++++ packages/type-definitions/package.json | 4 +- packages/types/package.json | 14 +- packages/types/src/CType.ts | 51 +- packages/types/src/Claim.ts | 13 +- packages/utils/package.json | 12 +- packages/utils/src/Crypto.ts | 17 +- packages/utils/src/SDKErrors.ts | 11 - packages/vc-export/package.json | 12 +- .../src/exportToVerifiableCredential.spec.ts | 7 +- .../vc-js/suites/KiltAttestedSuite.spec.ts | 6 +- tests/cbor-web.d.ts | 1 + tests/tsconfig.json | 2 +- tsconfig.json | 1 + yarn.lock | 1606 +++++------------ 61 files changed, 2257 insertions(+), 1596 deletions(-) create mode 100644 packages/augment-api/extraDefs/package.json create mode 100644 packages/augment-api/index.cjs create mode 100644 packages/augment-api/index.mjs rename packages/augment-api/scripts/{fetchMetadata.js => fetchMetadata.cjs} (100%) delete mode 100644 packages/augment-api/tsconfig.esm.json create mode 100644 packages/core/src/cbor-web.d.ts create mode 100644 packages/did/src/cbor-web.d.ts create mode 100644 packages/testing/src/BreakingChanges.spec.ts create mode 100644 packages/testing/src/__snapshots__/BreakingChanges.spec.ts.snap create mode 100644 tests/cbor-web.d.ts diff --git a/.github/workflows/devpackpublish.yml b/.github/workflows/devpackpublish.yml index a976dc9cc..775829df7 100644 --- a/.github/workflows/devpackpublish.yml +++ b/.github/workflows/devpackpublish.yml @@ -23,7 +23,7 @@ jobs: token: ${{ secrets.REPO_ACCESS_TOKEN }} - uses: actions/setup-node@v3 with: - node-version: 14 + node-version-file: '.nvmrc' cache: 'yarn' - name: Install dependencies run: yarn install --immutable diff --git a/.github/workflows/npmpublish-rc.yml b/.github/workflows/npmpublish-rc.yml index c53519c74..32757d77c 100644 --- a/.github/workflows/npmpublish-rc.yml +++ b/.github/workflows/npmpublish-rc.yml @@ -9,7 +9,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: 14 + node-version-file: '.nvmrc' cache: 'yarn' - run: yarn install --immutable - run: yarn build @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: 14 + node-version-file: '.nvmrc' cache: 'yarn' - name: Install dependencies run: yarn install --immutable diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index 7f3123b81..69f679d51 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -9,7 +9,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: 14 + node-version-file: '.nvmrc' cache: 'yarn' - run: yarn install --immutable - run: yarn build @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: - node-version: 14 + node-version-file: '.nvmrc' cache: 'yarn' - name: Install dependencies run: yarn install --immutable diff --git a/.github/workflows/test-node-candidate.yml b/.github/workflows/test-node-candidate.yml index 6276ffd4c..8e933834f 100644 --- a/.github/workflows/test-node-candidate.yml +++ b/.github/workflows/test-node-candidate.yml @@ -21,7 +21,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14 + node-version-file: '.nvmrc' cache: 'yarn' - name: yarn install run: yarn install --immutable @@ -51,17 +51,17 @@ jobs: needs: cache_imgs steps: - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: 14 - - name: Log out node version - run: node --version - uses: actions/download-artifact@v3 with: name: build - name: unzip run: unzip build.zip -d . + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + - name: Log out node version + run: node --version - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v2 @@ -97,15 +97,15 @@ jobs: needs: build steps: - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: 14 - uses: actions/download-artifact@v3 with: name: build - name: unzip run: unzip build.zip -d . + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' - name: yarn bundle run: yarn bundle - name: upload bundle artifact @@ -120,9 +120,6 @@ jobs: needs: [cache_imgs, bundle_cache] steps: - - uses: actions/setup-node@v3 - with: - node-version: '16.x' - uses: actions/download-artifact@v3 with: name: build @@ -132,6 +129,9 @@ jobs: with: name: checked-nonmin-bundle path: packages/sdk-js/dist + - uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' - run: basename /packages/sdk-js/dist/ - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v2 diff --git a/.github/workflows/tests-polkadot-deps.yml b/.github/workflows/tests-polkadot-deps.yml index b83dd2869..ced20feba 100644 --- a/.github/workflows/tests-polkadot-deps.yml +++ b/.github/workflows/tests-polkadot-deps.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: - node-version: [14.x, 16.x] + node-version: [16.x, 18.x, 20.x] steps: - uses: actions/checkout@v3 @@ -58,10 +58,10 @@ jobs: strategy: matrix: - node-version: [14.x] + node-version: [16.x, 18.x] required: ['required'] include: - - node-version: 16.x + - node-version: 20.x required: 'optional' continue-on-error: ${{ matrix.required == 'optional' }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3b83fb704..626adea2b 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -41,7 +41,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@v3 with: - node-version: 14 + node-version-file: '.nvmrc' cache: 'yarn' - name: yarn install run: yarn install --immutable @@ -60,15 +60,15 @@ jobs: needs: build steps: - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: 14 - uses: actions/download-artifact@v3 with: name: build - name: unzip run: unzip build.zip -d . + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' - name: lint run: yarn lint - name: check dependency duplication @@ -80,10 +80,10 @@ jobs: strategy: matrix: - node-version: [14, 16] + node-version: [16, 18] required: ['required'] include: - - node-version: 18 + - node-version: 20 required: 'optional' continue-on-error: ${{ matrix.required == 'optional' }} @@ -124,17 +124,17 @@ jobs: continue-on-error: ${{ matrix.required == 'optional' }} steps: - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: 14 - - name: Log out node version - run: node --version - uses: actions/download-artifact@v3 with: name: build - name: unzip run: unzip build.zip -d . + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + - name: Log out node version + run: node --version - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v2 @@ -170,15 +170,15 @@ jobs: needs: build steps: - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: 14 - uses: actions/download-artifact@v3 with: name: build - name: unzip run: unzip build.zip -d . + - name: Setup Node.js + uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' - name: yarn bundle run: yarn bundle - name: upload bundle artifact @@ -201,9 +201,6 @@ jobs: continue-on-error: ${{ matrix.required == 'optional' }} steps: - - uses: actions/setup-node@v3 - with: - node-version: '16.x' - uses: actions/download-artifact@v3 with: name: build @@ -214,6 +211,10 @@ jobs: name: checked-nonmin-bundle path: packages/sdk-js/dist + - uses: actions/setup-node@v3 + with: + node-version-file: '.nvmrc' + - name: Configure AWS credentials uses: aws-actions/configure-aws-credentials@v2 with: diff --git a/.nvmrc b/.nvmrc index b009dfb9d..27cb0ee2c 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -lts/* +lts/Gallium diff --git a/package.json b/package.json index 5ea910099..3be995212 100644 --- a/package.json +++ b/package.json @@ -17,10 +17,11 @@ "publish": "yarn workspaces foreach -pt --no-private npm publish", "lint": "eslint packages --format=codeframe", "lint:fix": "yarn lint --fix", - "set:version": "yarn workspaces foreach -p exec npm version --no-git-tag-version", + "set:version": "npm version --no-git-tag-version --no-workspaces-update --workspaces --include-workspace-root", "style": "prettier -l packages", "style:fix": "yarn style --write", "test": "jest --coverage --group=unit", + "test:breaking": "jest --group=breaking", "test:ci": "yarn test --ci --forceExit", "test:integration": "jest --group=integration -w 3 --testTimeout=30000", "test:integration:ci": "jest --group=integration -b -w 3 --testTimeout=60000", @@ -69,6 +70,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.32.1", + "version": "0.33.0", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 5b0b01ee6..d45398aaa 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.32.1", + "version": "0.33.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -23,7 +23,7 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", diff --git a/packages/augment-api/extraDefs/package.json b/packages/augment-api/extraDefs/package.json new file mode 100644 index 000000000..fdcd276d0 --- /dev/null +++ b/packages/augment-api/extraDefs/package.json @@ -0,0 +1,7 @@ +{ + "types": "../lib/interfaces/extraDefs/index.d.ts", + "//": [ + "This is a fallback to support the extraDefs subpath export for module systems that do not support the package.json exports field.", + "Inspired by https://github.com/andrewbranch/example-subpath-exports-ts-compat/blob/1ffe3425b0a7ad8ecdf3c373f76f431ee341366b/examples/node_modules/package-json-redirects/." + ] +} diff --git a/packages/augment-api/index.cjs b/packages/augment-api/index.cjs new file mode 100644 index 000000000..4356e3d34 --- /dev/null +++ b/packages/augment-api/index.cjs @@ -0,0 +1,10 @@ +/** + * Copyright (c) 2018-2023, BOTLabs GmbH. + * + * This source code is licensed under the BSD 4-Clause "Original" license + * found in the LICENSE file in the root directory of this source tree. + */ + +// This package does not contain executable code. Index files are included only to allow api augmentation using `require('@kiltprotocol/augment-api')`. + +module.exports = {} diff --git a/packages/augment-api/index.mjs b/packages/augment-api/index.mjs new file mode 100644 index 000000000..1a8271966 --- /dev/null +++ b/packages/augment-api/index.mjs @@ -0,0 +1,10 @@ +/** + * Copyright (c) 2018-2023, BOTLabs GmbH. + * + * This source code is licensed under the BSD 4-Clause "Original" license + * found in the LICENSE file in the root directory of this source tree. + */ + +// This package does not contain executable code. Index files are included only to allow api augmentation using `import '@kiltprotocol/augment-api'`. + +export {} diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 95737b1eb..5d780a331 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,49 +1,51 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.32.1", + "version": "0.33.0", "description": "", - "main": "./lib/cjs/index.js", - "module": "./lib/esm/index.js", - "types": "./lib/cjs/index.d.ts", + "types": "./lib/index.d.ts", + "type": "module", + "main": "./index.cjs", "exports": { ".": { - "types": "./lib/cjs/index.d.ts", - "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js" + "types": "./lib/index.d.ts", + "import": "./index.mjs", + "require": "./index.cjs" + }, + "./extraDefs": { + "types": "./lib/interfaces/extraDefs/index.d.ts" } }, "files": [ - "lib/**/*" + "lib/**/*", + "index.mjs", + "index.cjs", + "extraDefs/*" ], "scripts": { "clean": "rimraf ./lib", "build": "yarn clean && yarn build:ts", "build:types": "yarn generate:defs && yarn generate:meta && yarn build:fixes", "build:fixes": "node scripts/fixTypes.mjs", - "build:ts": "yarn build:cjs && yarn build:esm", - "build:cjs": "tsc --declaration -p tsconfig.build.json && echo '{\"type\":\"commonjs\"}' > ./lib/cjs/package.json", - "build:esm": "tsc --declaration -p tsconfig.esm.json && echo '{\"type\":\"module\"}' > ./lib/esm/package.json", - "generate:defs": "ts-node --skip-project ../../node_modules/.bin/polkadot-types-from-defs --package @kiltprotocol/augment-api --input ./src/interfaces --endpoint ./metadata/spiritnet.json", - "generate:meta": "ts-node --skip-project ../../node_modules/.bin/polkadot-types-from-chain --package @kiltprotocol/augment-api --endpoint ./metadata/spiritnet.json --output ./src/interfaces --strict", - "update-metadata": "node ./scripts/fetchMetadata.js -o './metadata/spiritnet.json' -e 'wss://spiritnet.kilt.io/'" + "build:ts": "tsc -p tsconfig.build.json", + "generate:defs": "ts-node --esm -P tsconfig.build.json ../../node_modules/.bin/polkadot-types-from-defs --package @kiltprotocol/augment-api --input ./src/interfaces --endpoint ./metadata/spiritnet.json", + "generate:meta": "ts-node --esm -P tsconfig.build.json ../../node_modules/.bin/polkadot-types-from-chain --package @kiltprotocol/augment-api --endpoint ./metadata/spiritnet.json --output ./src/interfaces --strict", + "update-metadata": "node ./scripts/fetchMetadata.cjs -o './metadata/spiritnet.json' -e 'wss://spiritnet.kilt.io/'" }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", "bugs": "https://github.com/KILTprotocol/sdk-js/issues", "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "devDependencies": { - "@polkadot/api": "^9.10.2", - "@polkadot/typegen": "^9.10.2", - "@types/websocket": "^1.0.5", + "@polkadot/api": "^10.4.0", + "@polkadot/typegen": "^10.4.0", "glob": "^7.1.1", "rimraf": "^3.0.2", "ts-node": "^10.4.0", "typescript": "^4.8.3", - "websocket": "^1.0.34", "yargs": "^16.2.0" }, "dependencies": { diff --git a/packages/augment-api/scripts/fetchMetadata.js b/packages/augment-api/scripts/fetchMetadata.cjs similarity index 100% rename from packages/augment-api/scripts/fetchMetadata.js rename to packages/augment-api/scripts/fetchMetadata.cjs diff --git a/packages/augment-api/src/interfaces/augment-api-query.ts b/packages/augment-api/src/interfaces/augment-api-query.ts index dd5e9f356..0c6ed3456 100644 --- a/packages/augment-api/src/interfaces/augment-api-query.ts +++ b/packages/augment-api/src/interfaces/augment-api-query.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/ import type { BTreeMap, Bytes, Null, Option, U8aFixed, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec'; import type { AnyNumber, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H256 } from '@polkadot/types/interfaces/runtime'; -import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, KiltAssetDidsV1AssetDid, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupConnectionRecord, PalletDidLookupLinkableAccountLinkableAccountId, PalletDidLookupMigrationState, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, SpiritnetRuntimeSessionKeys } from '@polkadot/types/lookup'; +import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupConnectionRecord, PalletDidLookupLinkableAccountLinkableAccountId, PalletDidLookupMigrationState, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, SpiritnetRuntimeSessionKeys } from '@polkadot/types/lookup'; import type { Observable } from '@polkadot/types/types'; export type __AugmentedQuery = AugmentedQuery unknown>; @@ -557,7 +557,7 @@ declare module '@polkadot/api-base/types/storage' { * * It it used to perform efficient lookup of credentials given their ID. **/ - credentialSubjects: AugmentedQuery Observable>, [H256]>; + credentialSubjects: AugmentedQuery Observable>, [H256]>; }; randomnessCollectiveFlip: { /** diff --git a/packages/augment-api/src/interfaces/augment-api-rpc.ts b/packages/augment-api/src/interfaces/augment-api-rpc.ts index b763fa845..bd142eb07 100644 --- a/packages/augment-api/src/interfaces/augment-api-rpc.ts +++ b/packages/augment-api/src/interfaces/augment-api-rpc.ts @@ -21,7 +21,7 @@ import type { CreatedBlock } from '@polkadot/types/interfaces/engine'; import type { EthAccount, EthCallRequest, EthFeeHistory, EthFilter, EthFilterChanges, EthLog, EthReceipt, EthRichBlock, EthSubKind, EthSubParams, EthSyncStatus, EthTransaction, EthTransactionRequest, EthWork } from '@polkadot/types/interfaces/eth'; import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics'; import type { EncodedFinalityProofs, JustificationNotification, ReportedRoundStates } from '@polkadot/types/interfaces/grandpa'; -import type { MmrLeafBatchProof, MmrLeafProof } from '@polkadot/types/interfaces/mmr'; +import type { MmrHash, MmrLeafBatchProof } from '@polkadot/types/interfaces/mmr'; import type { StorageKind } from '@polkadot/types/interfaces/offchain'; import type { FeeDetails, RuntimeDispatchInfoV1 } from '@polkadot/types/interfaces/payment'; import type { RpcMethods } from '@polkadot/types/interfaces/rpc'; @@ -275,7 +275,7 @@ declare module '@polkadot/rpc-core/types/jsonrpc' { /** * Returns the number of transactions sent from given address at given time (block number). **/ - getTransactionCount: AugmentedRpc<(hash: H256 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable>; + getTransactionCount: AugmentedRpc<(address: H160 | string | Uint8Array, number?: BlockNumber | AnyNumber | Uint8Array) => Observable>; /** * Returns transaction receipt by transaction hash. **/ @@ -373,13 +373,21 @@ declare module '@polkadot/rpc-core/types/jsonrpc' { }; mmr: { /** - * Generate MMR proof for the given leaf indices. + * Generate MMR proof for the given block numbers. **/ - generateBatchProof: AugmentedRpc<(leafIndices: Vec | (u64 | AnyNumber | Uint8Array)[], at?: BlockHash | string | Uint8Array) => Observable>; + generateProof: AugmentedRpc<(blockNumbers: Vec | (u64 | AnyNumber | Uint8Array)[], bestKnownBlockNumber?: u64 | AnyNumber | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable>; /** - * Generate MMR proof for given leaf index. + * Get the MMR root hash for the current best block. **/ - generateProof: AugmentedRpc<(leafIndex: u64 | AnyNumber | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable>; + root: AugmentedRpc<(at?: BlockHash | string | Uint8Array) => Observable>; + /** + * Verify an MMR proof + **/ + verifyProof: AugmentedRpc<(proof: MmrLeafBatchProof | { blockHash?: any; leaves?: any; proof?: any } | string | Uint8Array) => Observable>; + /** + * Verify an MMR proof statelessly given an mmr_root + **/ + verifyProofStateless: AugmentedRpc<(root: MmrHash | string | Uint8Array, proof: MmrLeafBatchProof | { blockHash?: any; leaves?: any; proof?: any } | string | Uint8Array) => Observable>; }; net: { /** diff --git a/packages/augment-api/src/interfaces/augment-api-runtime.ts b/packages/augment-api/src/interfaces/augment-api-runtime.ts index 083ee0388..8dd92c730 100644 --- a/packages/augment-api/src/interfaces/augment-api-runtime.ts +++ b/packages/augment-api/src/interfaces/augment-api-runtime.ts @@ -5,19 +5,18 @@ // this is required to allow for ambient/previous definitions import '@polkadot/api-base/types/calls'; -// FIXME: Error when using the autogenerated "from '@kiltprotocol/augment-api/extraDefs'" -import type { DidApiAccountId, PublicCredentialError, PublicCredentialFilter, RawDidLinkedInfo, StakingRates } from './extraDefs/index.js'; - +import type { DidApiAccountId, PublicCredentialError, PublicCredentialFilter, RawDidLinkedInfo, StakingRates } from '@kiltprotocol/augment-api/extraDefs'; import type { ApiTypes, AugmentedCall, DecoratedCallBase } from '@polkadot/api-base/types'; -import type { Bytes, Null, Option, Result, Text, Vec } from '@polkadot/types-codec'; -import type { ITuple } from '@polkadot/types-codec/types'; +import type { Bytes, Null, Option, Result, Text, Vec, u32 } from '@polkadot/types-codec'; +import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; import type { CheckInherentsResult, InherentData } from '@polkadot/types/interfaces/blockbuilder'; import type { BlockHash } from '@polkadot/types/interfaces/chain'; import type { AuthorityId } from '@polkadot/types/interfaces/consensus'; import type { CollationInfo } from '@polkadot/types/interfaces/cumulus'; import type { Extrinsic } from '@polkadot/types/interfaces/extrinsics'; import type { OpaqueMetadata } from '@polkadot/types/interfaces/metadata'; -import type { AccountId, AccountId32, Balance, Block, Hash, Header, Index, KeyTypeId, SlotDuration } from '@polkadot/types/interfaces/runtime'; +import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment'; +import type { AccountId, AccountId32, Balance, Block, Call, Hash, Header, Index, KeyTypeId, SlotDuration, Weight } from '@polkadot/types/interfaces/runtime'; import type { RuntimeVersion } from '@polkadot/types/interfaces/state'; import type { ApplyExtrinsicResult } from '@polkadot/types/interfaces/system'; import type { TransactionSource, TransactionValidity } from '@polkadot/types/interfaces/txqueue'; @@ -159,5 +158,43 @@ declare module '@polkadot/api-base/types/calls' { **/ validateTransaction: AugmentedCall Observable>; }; + /** 0x37c8bb1350a9a2a8/3 */ + transactionPaymentApi: { + /** + * The transaction fee details + **/ + queryFeeDetails: AugmentedCall Observable>; + /** + * The transaction info + **/ + queryInfo: AugmentedCall Observable>; + /** + * Query the output of the current LengthToFee given some input + **/ + queryLengthToFee: AugmentedCall Observable>; + /** + * Query the output of the current WeightToFee given some input + **/ + queryWeightToFee: AugmentedCall Observable>; + }; + /** 0xf3ff14d5ab527059/3 */ + transactionPaymentCallApi: { + /** + * The call fee details + **/ + queryCallFeeDetails: AugmentedCall Observable>; + /** + * The call info + **/ + queryCallInfo: AugmentedCall Observable>; + /** + * Query the output of the current LengthToFee given some input + **/ + queryLengthToFee: AugmentedCall Observable>; + /** + * Query the output of the current WeightToFee given some input + **/ + queryWeightToFee: AugmentedCall Observable>; + }; } // AugmentedCalls } // declare module diff --git a/packages/augment-api/src/interfaces/augment-types.ts b/packages/augment-api/src/interfaces/augment-types.ts index 96d6c7fb6..85bb41fe3 100644 --- a/packages/augment-api/src/interfaces/augment-types.ts +++ b/packages/augment-api/src/interfaces/augment-types.ts @@ -5,11 +5,9 @@ // this is required to allow for ambient/previous definitions import '@polkadot/types/types/registry'; -// FIXME: Error when using the autogenerated "from '@kiltprotocol/augment-api/extraDefs'" -import type { DidApiAccountId, PublicCredentialError, PublicCredentialFilter, RawDidLinkedInfo, StakingRates } from './extraDefs/index.js'; - +import type { DidApiAccountId, PublicCredentialError, PublicCredentialFilter, RawDidLinkedInfo, StakingRates } from '@kiltprotocol/augment-api/extraDefs'; import type { Data, StorageKey } from '@polkadot/types'; -import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec'; +import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, ISize, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, i128, i16, i256, i32, i64, i8, isize, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec'; import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets'; import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations'; import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura'; @@ -17,7 +15,7 @@ import type { ExtrinsicOrHash, ExtrinsicStatus } from '@polkadot/types/interface import type { UncleEntryItem } from '@polkadot/types/interfaces/authorship'; import type { AllowedSlots, BabeAuthorityWeight, BabeBlockWeight, BabeEpochConfiguration, BabeEquivocationProof, BabeGenesisConfiguration, BabeGenesisConfigurationV1, BabeWeight, Epoch, EpochAuthorship, MaybeRandomness, MaybeVrf, NextConfigDescriptor, NextConfigDescriptorV1, OpaqueKeyOwnershipProof, Randomness, RawBabePreDigest, RawBabePreDigestCompat, RawBabePreDigestPrimary, RawBabePreDigestPrimaryTo159, RawBabePreDigestSecondaryPlain, RawBabePreDigestSecondaryTo159, RawBabePreDigestSecondaryVRF, RawBabePreDigestTo159, SlotNumber, VrfData, VrfOutput, VrfProof } from '@polkadot/types/interfaces/babe'; import type { AccountData, BalanceLock, BalanceLockTo212, BalanceStatus, Reasons, ReserveData, ReserveIdentifier, VestingSchedule, WithdrawReasons } from '@polkadot/types/interfaces/balances'; -import type { BeefyAuthoritySet, BeefyCommitment, BeefyId, BeefyNextAuthoritySet, BeefyPayload, BeefyPayloadId, BeefySignedCommitment, MmrRootHash, ValidatorSet, ValidatorSetId } from '@polkadot/types/interfaces/beefy'; +import type { BeefyAuthoritySet, BeefyCommitment, BeefyEquivocationProof, BeefyId, BeefyNextAuthoritySet, BeefyPayload, BeefyPayloadId, BeefySignedCommitment, BeefyVoteMessage, MmrRootHash, ValidatorSet, ValidatorSetId } from '@polkadot/types/interfaces/beefy'; import type { BenchmarkBatch, BenchmarkConfig, BenchmarkList, BenchmarkMetadata, BenchmarkParameter, BenchmarkResult } from '@polkadot/types/interfaces/benchmark'; import type { CheckInherentsResult, InherentData, InherentIdentifier } from '@polkadot/types/interfaces/blockbuilder'; import type { BridgeMessageId, BridgedBlockHash, BridgedBlockNumber, BridgedHeader, CallOrigin, ChainId, DeliveredMessages, DispatchFeePayment, InboundLaneData, InboundRelayer, InitializationData, LaneId, MessageData, MessageKey, MessageNonce, MessagesDeliveryProofOf, MessagesProofOf, OperatingMode, OutboundLaneData, OutboundMessageFee, OutboundPayload, Parameter, RelayerId, UnrewardedRelayer, UnrewardedRelayersState } from '@polkadot/types/interfaces/bridges'; @@ -37,25 +35,27 @@ import type { CreatedBlock, ImportedAux } from '@polkadot/types/interfaces/engin import type { BlockV0, BlockV1, BlockV2, EIP1559Transaction, EIP2930Transaction, EthAccessList, EthAccessListItem, EthAccount, EthAddress, EthBlock, EthBloom, EthCallRequest, EthFeeHistory, EthFilter, EthFilterAddress, EthFilterChanges, EthFilterTopic, EthFilterTopicEntry, EthFilterTopicInner, EthHeader, EthLog, EthReceipt, EthReceiptV0, EthReceiptV3, EthRichBlock, EthRichHeader, EthStorageProof, EthSubKind, EthSubParams, EthSubResult, EthSyncInfo, EthSyncStatus, EthTransaction, EthTransactionAction, EthTransactionCondition, EthTransactionRequest, EthTransactionSignature, EthTransactionStatus, EthWork, EthereumAccountId, EthereumAddress, EthereumLookupSource, EthereumSignature, LegacyTransaction, TransactionV0, TransactionV1, TransactionV2 } from '@polkadot/types/interfaces/eth'; import type { EvmAccount, EvmCallInfo, EvmCreateInfo, EvmLog, EvmVicinity, ExitError, ExitFatal, ExitReason, ExitRevert, ExitSucceed } from '@polkadot/types/interfaces/evm'; import type { AnySignature, EcdsaSignature, Ed25519Signature, Era, Extrinsic, ExtrinsicEra, ExtrinsicPayload, ExtrinsicPayloadUnknown, ExtrinsicPayloadV4, ExtrinsicSignature, ExtrinsicSignatureV4, ExtrinsicUnknown, ExtrinsicV4, ImmortalEra, MortalEra, MultiSignature, Signature, SignerPayload, Sr25519Signature } from '@polkadot/types/interfaces/extrinsics'; +import type { FungiblesAccessError } from '@polkadot/types/interfaces/fungibles'; import type { AssetOptions, Owner, PermissionLatest, PermissionVersions, PermissionsV1 } from '@polkadot/types/interfaces/genericAsset'; import type { ActiveGilt, ActiveGiltsTotal, ActiveIndex, GiltBid } from '@polkadot/types/interfaces/gilt'; import type { AuthorityIndex, AuthorityList, AuthoritySet, AuthoritySetChange, AuthoritySetChanges, AuthorityWeight, DelayKind, DelayKindBest, EncodedFinalityProofs, ForkTreePendingChange, ForkTreePendingChangeNode, GrandpaCommit, GrandpaEquivocation, GrandpaEquivocationProof, GrandpaEquivocationValue, GrandpaJustification, GrandpaPrecommit, GrandpaPrevote, GrandpaSignedPrecommit, JustificationNotification, KeyOwnerProof, NextAuthority, PendingChange, PendingPause, PendingResume, Precommits, Prevotes, ReportedRoundStates, RoundState, SetId, StoredPendingChange, StoredState } from '@polkadot/types/interfaces/grandpa'; import type { IdentityFields, IdentityInfo, IdentityInfoAdditional, IdentityInfoTo198, IdentityJudgement, RegistrarIndex, RegistrarInfo, Registration, RegistrationJudgement, RegistrationTo198 } from '@polkadot/types/interfaces/identity'; import type { AuthIndex, AuthoritySignature, Heartbeat, HeartbeatTo244, OpaqueMultiaddr, OpaqueNetworkState, OpaquePeerId } from '@polkadot/types/interfaces/imOnline'; import type { CallIndex, LotteryConfig } from '@polkadot/types/interfaces/lottery'; -import type { ErrorMetadataLatest, ErrorMetadataV10, ErrorMetadataV11, ErrorMetadataV12, ErrorMetadataV13, ErrorMetadataV14, ErrorMetadataV9, EventMetadataLatest, EventMetadataV10, EventMetadataV11, EventMetadataV12, EventMetadataV13, EventMetadataV14, EventMetadataV9, ExtrinsicMetadataLatest, ExtrinsicMetadataV11, ExtrinsicMetadataV12, ExtrinsicMetadataV13, ExtrinsicMetadataV14, FunctionArgumentMetadataLatest, FunctionArgumentMetadataV10, FunctionArgumentMetadataV11, FunctionArgumentMetadataV12, FunctionArgumentMetadataV13, FunctionArgumentMetadataV14, FunctionArgumentMetadataV9, FunctionMetadataLatest, FunctionMetadataV10, FunctionMetadataV11, FunctionMetadataV12, FunctionMetadataV13, FunctionMetadataV14, FunctionMetadataV9, MetadataAll, MetadataLatest, MetadataV10, MetadataV11, MetadataV12, MetadataV13, MetadataV14, MetadataV9, ModuleConstantMetadataV10, ModuleConstantMetadataV11, ModuleConstantMetadataV12, ModuleConstantMetadataV13, ModuleConstantMetadataV9, ModuleMetadataV10, ModuleMetadataV11, ModuleMetadataV12, ModuleMetadataV13, ModuleMetadataV9, OpaqueMetadata, PalletCallMetadataLatest, PalletCallMetadataV14, PalletConstantMetadataLatest, PalletConstantMetadataV14, PalletErrorMetadataLatest, PalletErrorMetadataV14, PalletEventMetadataLatest, PalletEventMetadataV14, PalletMetadataLatest, PalletMetadataV14, PalletStorageMetadataLatest, PalletStorageMetadataV14, PortableType, PortableTypeV14, SignedExtensionMetadataLatest, SignedExtensionMetadataV14, StorageEntryMetadataLatest, StorageEntryMetadataV10, StorageEntryMetadataV11, StorageEntryMetadataV12, StorageEntryMetadataV13, StorageEntryMetadataV14, StorageEntryMetadataV9, StorageEntryModifierLatest, StorageEntryModifierV10, StorageEntryModifierV11, StorageEntryModifierV12, StorageEntryModifierV13, StorageEntryModifierV14, StorageEntryModifierV9, StorageEntryTypeLatest, StorageEntryTypeV10, StorageEntryTypeV11, StorageEntryTypeV12, StorageEntryTypeV13, StorageEntryTypeV14, StorageEntryTypeV9, StorageHasher, StorageHasherV10, StorageHasherV11, StorageHasherV12, StorageHasherV13, StorageHasherV14, StorageHasherV9, StorageMetadataV10, StorageMetadataV11, StorageMetadataV12, StorageMetadataV13, StorageMetadataV9 } from '@polkadot/types/interfaces/metadata'; -import type { MmrBatchProof, MmrEncodableOpaqueLeaf, MmrError, MmrLeafBatchProof, MmrLeafIndex, MmrLeafProof, MmrNodeIndex, MmrProof } from '@polkadot/types/interfaces/mmr'; -import type { NpApiError } from '@polkadot/types/interfaces/nompools'; +import type { ErrorMetadataLatest, ErrorMetadataV10, ErrorMetadataV11, ErrorMetadataV12, ErrorMetadataV13, ErrorMetadataV14, ErrorMetadataV9, EventMetadataLatest, EventMetadataV10, EventMetadataV11, EventMetadataV12, EventMetadataV13, EventMetadataV14, EventMetadataV9, ExtrinsicMetadataLatest, ExtrinsicMetadataV11, ExtrinsicMetadataV12, ExtrinsicMetadataV13, ExtrinsicMetadataV14, FunctionArgumentMetadataLatest, FunctionArgumentMetadataV10, FunctionArgumentMetadataV11, FunctionArgumentMetadataV12, FunctionArgumentMetadataV13, FunctionArgumentMetadataV14, FunctionArgumentMetadataV9, FunctionMetadataLatest, FunctionMetadataV10, FunctionMetadataV11, FunctionMetadataV12, FunctionMetadataV13, FunctionMetadataV14, FunctionMetadataV9, MetadataAll, MetadataLatest, MetadataV10, MetadataV11, MetadataV12, MetadataV13, MetadataV14, MetadataV15, MetadataV9, ModuleConstantMetadataV10, ModuleConstantMetadataV11, ModuleConstantMetadataV12, ModuleConstantMetadataV13, ModuleConstantMetadataV9, ModuleMetadataV10, ModuleMetadataV11, ModuleMetadataV12, ModuleMetadataV13, ModuleMetadataV9, OpaqueMetadata, PalletCallMetadataLatest, PalletCallMetadataV14, PalletConstantMetadataLatest, PalletConstantMetadataV14, PalletErrorMetadataLatest, PalletErrorMetadataV14, PalletEventMetadataLatest, PalletEventMetadataV14, PalletMetadataLatest, PalletMetadataV14, PalletMetadataV15, PalletStorageMetadataLatest, PalletStorageMetadataV14, PortableType, PortableTypeV14, RuntimeApiMetadataLatest, RuntimeApiMetadataV15, RuntimeApiMethodMetadataV15, RuntimeApiMethodParamMetadataV15, SignedExtensionMetadataLatest, SignedExtensionMetadataV14, StorageEntryMetadataLatest, StorageEntryMetadataV10, StorageEntryMetadataV11, StorageEntryMetadataV12, StorageEntryMetadataV13, StorageEntryMetadataV14, StorageEntryMetadataV9, StorageEntryModifierLatest, StorageEntryModifierV10, StorageEntryModifierV11, StorageEntryModifierV12, StorageEntryModifierV13, StorageEntryModifierV14, StorageEntryModifierV9, StorageEntryTypeLatest, StorageEntryTypeV10, StorageEntryTypeV11, StorageEntryTypeV12, StorageEntryTypeV13, StorageEntryTypeV14, StorageEntryTypeV9, StorageHasher, StorageHasherV10, StorageHasherV11, StorageHasherV12, StorageHasherV13, StorageHasherV14, StorageHasherV9, StorageMetadataV10, StorageMetadataV11, StorageMetadataV12, StorageMetadataV13, StorageMetadataV9 } from '@polkadot/types/interfaces/metadata'; +import type { MmrBatchProof, MmrEncodableOpaqueLeaf, MmrError, MmrHash, MmrLeafBatchProof, MmrLeafIndex, MmrLeafProof, MmrNodeIndex, MmrProof } from '@polkadot/types/interfaces/mmr'; +import type { NftCollectionId, NftItemId } from '@polkadot/types/interfaces/nfts'; +import type { NpApiError, NpPoolId } from '@polkadot/types/interfaces/nompools'; import type { StorageKind } from '@polkadot/types/interfaces/offchain'; import type { DeferredOffenceOf, Kind, OffenceDetails, Offender, OpaqueTimeSlot, ReportIdOf, Reporter } from '@polkadot/types/interfaces/offences'; -import type { AbridgedCandidateReceipt, AbridgedHostConfiguration, AbridgedHrmpChannel, AssignmentId, AssignmentKind, AttestedCandidate, AuctionIndex, AuthorityDiscoveryId, AvailabilityBitfield, AvailabilityBitfieldRecord, BackedCandidate, Bidder, BufferedSessionChange, CandidateCommitments, CandidateDescriptor, CandidateEvent, CandidateHash, CandidateInfo, CandidatePendingAvailability, CandidateReceipt, CollatorId, CollatorSignature, CommittedCandidateReceipt, CoreAssignment, CoreIndex, CoreOccupied, CoreState, DisputeLocation, DisputeResult, DisputeState, DisputeStatement, DisputeStatementSet, DoubleVoteReport, DownwardMessage, ExplicitDisputeStatement, GlobalValidationData, GlobalValidationSchedule, GroupIndex, GroupRotationInfo, HeadData, HostConfiguration, HrmpChannel, HrmpChannelId, HrmpOpenChannelRequest, InboundDownwardMessage, InboundHrmpMessage, InboundHrmpMessages, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, InvalidDisputeStatementKind, LeasePeriod, LeasePeriodOf, LocalValidationData, MessageIngestionType, MessageQueueChain, MessagingStateSnapshot, MessagingStateSnapshotEgressEntry, MultiDisputeStatementSet, NewBidder, OccupiedCore, OccupiedCoreAssumption, OldV1SessionInfo, OutboundHrmpMessage, ParaGenesisArgs, ParaId, ParaInfo, ParaLifecycle, ParaPastCodeMeta, ParaScheduling, ParaValidatorIndex, ParachainDispatchOrigin, ParachainInherentData, ParachainProposal, ParachainsInherentData, ParathreadClaim, ParathreadClaimQueue, ParathreadEntry, PersistedValidationData, PvfCheckStatement, QueuedParathread, RegisteredParachainInfo, RelayBlockNumber, RelayChainBlockNumber, RelayChainHash, RelayHash, Remark, ReplacementTimes, Retriable, ScheduledCore, Scheduling, ScrapedOnChainVotes, ServiceQuality, SessionInfo, SessionInfoValidatorGroup, SignedAvailabilityBitfield, SignedAvailabilityBitfields, SigningContext, SlotRange, SlotRange10, Statement, SubId, SystemInherentData, TransientValidationData, UpgradeGoAhead, UpgradeRestriction, UpwardMessage, ValidDisputeStatementKind, ValidationCode, ValidationCodeHash, ValidationData, ValidationDataType, ValidationFunctionParams, ValidatorSignature, ValidityAttestation, VecInboundHrmpMessage, WinnersData, WinnersData10, WinnersDataTuple, WinnersDataTuple10, WinningData, WinningData10, WinningDataEntry } from '@polkadot/types/interfaces/parachains'; +import type { AbridgedCandidateReceipt, AbridgedHostConfiguration, AbridgedHrmpChannel, AssignmentId, AssignmentKind, AttestedCandidate, AuctionIndex, AuthorityDiscoveryId, AvailabilityBitfield, AvailabilityBitfieldRecord, BackedCandidate, Bidder, BufferedSessionChange, CandidateCommitments, CandidateDescriptor, CandidateEvent, CandidateHash, CandidateInfo, CandidatePendingAvailability, CandidateReceipt, CollatorId, CollatorSignature, CommittedCandidateReceipt, CoreAssignment, CoreIndex, CoreOccupied, CoreState, DisputeLocation, DisputeResult, DisputeState, DisputeStatement, DisputeStatementSet, DoubleVoteReport, DownwardMessage, ExecutorParam, ExecutorParams, ExecutorParamsHash, ExplicitDisputeStatement, GlobalValidationData, GlobalValidationSchedule, GroupIndex, GroupRotationInfo, HeadData, HostConfiguration, HrmpChannel, HrmpChannelId, HrmpOpenChannelRequest, InboundDownwardMessage, InboundHrmpMessage, InboundHrmpMessages, IncomingParachain, IncomingParachainDeploy, IncomingParachainFixed, InvalidDisputeStatementKind, LeasePeriod, LeasePeriodOf, LocalValidationData, MessageIngestionType, MessageQueueChain, MessagingStateSnapshot, MessagingStateSnapshotEgressEntry, MultiDisputeStatementSet, NewBidder, OccupiedCore, OccupiedCoreAssumption, OldV1SessionInfo, OutboundHrmpMessage, ParaGenesisArgs, ParaId, ParaInfo, ParaLifecycle, ParaPastCodeMeta, ParaScheduling, ParaValidatorIndex, ParachainDispatchOrigin, ParachainInherentData, ParachainProposal, ParachainsInherentData, ParathreadClaim, ParathreadClaimQueue, ParathreadEntry, PersistedValidationData, PvfCheckStatement, PvfExecTimeoutKind, PvfPrepTimeoutKind, QueuedParathread, RegisteredParachainInfo, RelayBlockNumber, RelayChainBlockNumber, RelayChainHash, RelayHash, Remark, ReplacementTimes, Retriable, ScheduledCore, Scheduling, ScrapedOnChainVotes, ServiceQuality, SessionInfo, SessionInfoValidatorGroup, SignedAvailabilityBitfield, SignedAvailabilityBitfields, SigningContext, SlotRange, SlotRange10, Statement, SubId, SystemInherentData, TransientValidationData, UpgradeGoAhead, UpgradeRestriction, UpwardMessage, ValidDisputeStatementKind, ValidationCode, ValidationCodeHash, ValidationData, ValidationDataType, ValidationFunctionParams, ValidatorSignature, ValidityAttestation, VecInboundHrmpMessage, WinnersData, WinnersData10, WinnersDataTuple, WinnersDataTuple10, WinningData, WinningData10, WinningDataEntry } from '@polkadot/types/interfaces/parachains'; import type { FeeDetails, InclusionFee, RuntimeDispatchInfo, RuntimeDispatchInfoV1, RuntimeDispatchInfoV2 } from '@polkadot/types/interfaces/payment'; import type { Approvals } from '@polkadot/types/interfaces/poll'; import type { ProxyAnnouncement, ProxyDefinition, ProxyType } from '@polkadot/types/interfaces/proxy'; import type { AccountStatus, AccountValidity } from '@polkadot/types/interfaces/purchase'; import type { ActiveRecovery, RecoveryConfig } from '@polkadot/types/interfaces/recovery'; import type { RpcMethods } from '@polkadot/types/interfaces/rpc'; -import type { AccountId, AccountId20, AccountId32, AccountId33, AccountIdOf, AccountIndex, Address, AssetId, Balance, BalanceOf, Block, BlockNumber, BlockNumberFor, BlockNumberOf, Call, CallHash, CallHashOf, ChangesTrieConfiguration, ChangesTrieSignal, CodecHash, Consensus, ConsensusEngineId, CrateVersion, Digest, DigestItem, EncodedJustification, ExtrinsicsWeight, Fixed128, Fixed64, FixedI128, FixedI64, FixedU128, FixedU64, H1024, H128, H160, H2048, H256, H32, H512, H64, Hash, Header, HeaderPartial, I32F32, Index, IndicesLookupSource, Justification, Justifications, KeyTypeId, KeyValue, LockIdentifier, LookupSource, LookupTarget, ModuleId, Moment, MultiAddress, MultiSigner, OpaqueCall, Origin, OriginCaller, PalletId, PalletVersion, PalletsOrigin, Pays, PerU16, Perbill, Percent, Permill, Perquintill, Phantom, PhantomData, PreRuntime, Releases, RuntimeDbWeight, Seal, SealV0, SignedBlock, SignedBlockWithJustification, SignedBlockWithJustifications, Slot, SlotDuration, StorageData, StorageInfo, StorageProof, TransactionInfo, TransactionLongevity, TransactionPriority, TransactionStorageProof, TransactionTag, U32F32, ValidatorId, ValidatorIdOf, Weight, WeightMultiplier, WeightV1, WeightV2 } from '@polkadot/types/interfaces/runtime'; +import type { AccountId, AccountId20, AccountId32, AccountId33, AccountIdOf, AccountIndex, Address, AssetId, Balance, BalanceOf, Block, BlockNumber, BlockNumberFor, BlockNumberOf, Call, CallHash, CallHashOf, ChangesTrieConfiguration, ChangesTrieSignal, CodecHash, Consensus, ConsensusEngineId, CrateVersion, Digest, DigestItem, EncodedJustification, ExtrinsicsWeight, Fixed128, Fixed64, FixedI128, FixedI64, FixedU128, FixedU64, H1024, H128, H160, H2048, H256, H32, H512, H64, Hash, Header, HeaderPartial, I32F32, Index, IndicesLookupSource, Justification, Justifications, KeyTypeId, KeyValue, LockIdentifier, LookupSource, LookupTarget, ModuleId, Moment, MultiAddress, MultiSigner, OpaqueCall, Origin, OriginCaller, PalletId, PalletVersion, PalletsOrigin, Pays, PerU16, Perbill, Percent, Permill, Perquintill, Phantom, PhantomData, PreRuntime, Releases, RuntimeCall, RuntimeDbWeight, RuntimeEvent, Seal, SealV0, SignedBlock, SignedBlockWithJustification, SignedBlockWithJustifications, Slot, SlotDuration, StorageData, StorageInfo, StorageProof, TransactionInfo, TransactionLongevity, TransactionPriority, TransactionStorageProof, TransactionTag, U32F32, ValidatorId, ValidatorIdOf, Weight, WeightMultiplier, WeightV0, WeightV1, WeightV2 } from '@polkadot/types/interfaces/runtime'; import type { Si0Field, Si0LookupTypeId, Si0Path, Si0Type, Si0TypeDef, Si0TypeDefArray, Si0TypeDefBitSequence, Si0TypeDefCompact, Si0TypeDefComposite, Si0TypeDefPhantom, Si0TypeDefPrimitive, Si0TypeDefSequence, Si0TypeDefTuple, Si0TypeDefVariant, Si0TypeParameter, Si0Variant, Si1Field, Si1LookupTypeId, Si1Path, Si1Type, Si1TypeDef, Si1TypeDefArray, Si1TypeDefBitSequence, Si1TypeDefCompact, Si1TypeDefComposite, Si1TypeDefPrimitive, Si1TypeDefSequence, Si1TypeDefTuple, Si1TypeDefVariant, Si1TypeParameter, Si1Variant, SiField, SiLookupTypeId, SiPath, SiType, SiTypeDef, SiTypeDefArray, SiTypeDefBitSequence, SiTypeDefCompact, SiTypeDefComposite, SiTypeDefPrimitive, SiTypeDefSequence, SiTypeDefTuple, SiTypeDefVariant, SiTypeParameter, SiVariant } from '@polkadot/types/interfaces/scaleInfo'; import type { Period, Priority, SchedulePeriod, SchedulePriority, Scheduled, ScheduledTo254, TaskAddress } from '@polkadot/types/interfaces/scheduler'; import type { BeefyKey, FullIdentification, IdentificationTuple, Keys, MembershipProof, SessionIndex, SessionKeys1, SessionKeys10, SessionKeys10B, SessionKeys2, SessionKeys3, SessionKeys4, SessionKeys5, SessionKeys6, SessionKeys6B, SessionKeys7, SessionKeys7B, SessionKeys8, SessionKeys8B, SessionKeys9, SessionKeys9B, ValidatorCount } from '@polkadot/types/interfaces/session'; @@ -153,12 +153,14 @@ declare module '@polkadot/types/types/registry' { BalanceStatus: BalanceStatus; BeefyAuthoritySet: BeefyAuthoritySet; BeefyCommitment: BeefyCommitment; + BeefyEquivocationProof: BeefyEquivocationProof; BeefyId: BeefyId; BeefyKey: BeefyKey; BeefyNextAuthoritySet: BeefyNextAuthoritySet; BeefyPayload: BeefyPayload; BeefyPayloadId: BeefyPayloadId; BeefySignedCommitment: BeefySignedCommitment; + BeefyVoteMessage: BeefyVoteMessage; BenchmarkBatch: BenchmarkBatch; BenchmarkConfig: BenchmarkConfig; BenchmarkList: BenchmarkList; @@ -442,6 +444,9 @@ declare module '@polkadot/types/types/registry' { EvmLog: EvmLog; EvmVicinity: EvmVicinity; ExecReturnValue: ExecReturnValue; + ExecutorParam: ExecutorParam; + ExecutorParams: ExecutorParams; + ExecutorParamsHash: ExecutorParamsHash; ExitError: ExitError; ExitFatal: ExitFatal; ExitReason: ExitReason; @@ -502,6 +507,7 @@ declare module '@polkadot/types/types/registry' { FungibilityV0: FungibilityV0; FungibilityV1: FungibilityV1; FungibilityV2: FungibilityV2; + FungiblesAccessError: FungiblesAccessError; Gas: Gas; GiltBid: GiltBid; GlobalValidationData: GlobalValidationData; @@ -589,6 +595,8 @@ declare module '@polkadot/types/types/registry' { InteriorMultiLocation: InteriorMultiLocation; InvalidDisputeStatementKind: InvalidDisputeStatementKind; InvalidTransaction: InvalidTransaction; + isize: isize; + ISize: ISize; Json: Json; Junction: Junction; Junctions: Junctions; @@ -642,11 +650,13 @@ declare module '@polkadot/types/types/registry' { MetadataV12: MetadataV12; MetadataV13: MetadataV13; MetadataV14: MetadataV14; + MetadataV15: MetadataV15; MetadataV9: MetadataV9; MigrationStatusResult: MigrationStatusResult; MmrBatchProof: MmrBatchProof; MmrEncodableOpaqueLeaf: MmrEncodableOpaqueLeaf; MmrError: MmrError; + MmrHash: MmrHash; MmrLeafBatchProof: MmrLeafBatchProof; MmrLeafIndex: MmrLeafIndex; MmrLeafProof: MmrLeafProof; @@ -696,12 +706,15 @@ declare module '@polkadot/types/types/registry' { NextAuthority: NextAuthority; NextConfigDescriptor: NextConfigDescriptor; NextConfigDescriptorV1: NextConfigDescriptorV1; + NftCollectionId: NftCollectionId; + NftItemId: NftItemId; NodeRole: NodeRole; Nominations: Nominations; NominatorIndex: NominatorIndex; NominatorIndexCompact: NominatorIndexCompact; NotConnectedPeer: NotConnectedPeer; NpApiError: NpApiError; + NpPoolId: NpPoolId; Null: Null; OccupiedCore: OccupiedCore; OccupiedCoreAssumption: OccupiedCoreAssumption; @@ -749,6 +762,7 @@ declare module '@polkadot/types/types/registry' { PalletId: PalletId; PalletMetadataLatest: PalletMetadataLatest; PalletMetadataV14: PalletMetadataV14; + PalletMetadataV15: PalletMetadataV15; PalletsOrigin: PalletsOrigin; PalletStorageMetadataLatest: PalletStorageMetadataLatest; PalletStorageMetadataV14: PalletStorageMetadataV14; @@ -816,6 +830,8 @@ declare module '@polkadot/types/types/registry' { PublicCredentialError: PublicCredentialError; PublicCredentialFilter: PublicCredentialFilter; PvfCheckStatement: PvfCheckStatement; + PvfExecTimeoutKind: PvfExecTimeoutKind; + PvfPrepTimeoutKind: PvfPrepTimeoutKind; QueryId: QueryId; QueryStatus: QueryStatus; QueueConfigData: QueueConfigData; @@ -882,10 +898,16 @@ declare module '@polkadot/types/types/registry' { RoundSnapshot: RoundSnapshot; RoundState: RoundState; RpcMethods: RpcMethods; + RuntimeApiMetadataLatest: RuntimeApiMetadataLatest; + RuntimeApiMetadataV15: RuntimeApiMetadataV15; + RuntimeApiMethodMetadataV15: RuntimeApiMethodMetadataV15; + RuntimeApiMethodParamMetadataV15: RuntimeApiMethodParamMetadataV15; + RuntimeCall: RuntimeCall; RuntimeDbWeight: RuntimeDbWeight; RuntimeDispatchInfo: RuntimeDispatchInfo; RuntimeDispatchInfoV1: RuntimeDispatchInfoV1; RuntimeDispatchInfoV2: RuntimeDispatchInfoV2; + RuntimeEvent: RuntimeEvent; RuntimeVersion: RuntimeVersion; RuntimeVersionApi: RuntimeVersionApi; RuntimeVersionPartial: RuntimeVersionPartial; @@ -1161,6 +1183,7 @@ declare module '@polkadot/types/types/registry' { WeightMultiplier: WeightMultiplier; WeightPerClass: WeightPerClass; WeightToFeeCoefficient: WeightToFeeCoefficient; + WeightV0: WeightV0; WeightV1: WeightV1; WeightV2: WeightV2; WildFungibility: WildFungibility; diff --git a/packages/augment-api/src/interfaces/definitions.ts b/packages/augment-api/src/interfaces/definitions.ts index 25530a322..54565e8ce 100644 --- a/packages/augment-api/src/interfaces/definitions.ts +++ b/packages/augment-api/src/interfaces/definitions.ts @@ -1,3 +1,3 @@ /* eslint-disable */ -export { default as extraDefs } from './extraDefs/definitions' +export { default as extraDefs } from './extraDefs/definitions.js' diff --git a/packages/augment-api/tsconfig.build.json b/packages/augment-api/tsconfig.build.json index 46233a664..4ea5cbbd1 100644 --- a/packages/augment-api/tsconfig.build.json +++ b/packages/augment-api/tsconfig.build.json @@ -1,13 +1,15 @@ { "extends": "../../tsconfig.build.json", "compilerOptions": { - "module": "CommonJS", - "outDir": "./lib/cjs", + "module": "ES6", + "outDir": "./lib", + "declaration": true, + "emitDeclarationOnly": true, "skipLibCheck": true, "noUnusedLocals": false, "paths": { - "@kiltprotocol/augment-api/*": [ - "./src/*" + "@kiltprotocol/augment-api/extraDefs": [ + "./src/interfaces/extraDefs/index.ts" ], "@polkadot/api/augment": [ "./src/interfaces/augment-api.ts" diff --git a/packages/augment-api/tsconfig.esm.json b/packages/augment-api/tsconfig.esm.json deleted file mode 100644 index e1f3b73b6..000000000 --- a/packages/augment-api/tsconfig.esm.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig.build.json", - "compilerOptions": { - "module": "ES6", - "outDir": "./lib/esm" - } -} diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 7d239771b..8c7d4a5ca 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.32.1", + "version": "0.33.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -23,7 +23,7 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", @@ -31,7 +31,7 @@ "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "devDependencies": { "@kiltprotocol/testing": "workspace:*", - "@polkadot/keyring": "^10.2.1", + "@polkadot/keyring": "^12.0.0", "rimraf": "^3.0.2", "typescript": "^4.8.3" }, @@ -39,7 +39,7 @@ "@kiltprotocol/config": "workspace:*", "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", - "@polkadot/api": "^9.10.2", - "@polkadot/types": "^9.10.2" + "@polkadot/api": "^10.4.0", + "@polkadot/types": "^10.4.0" } } diff --git a/packages/config/package.json b/packages/config/package.json index 0e2f8dbf3..802d6ae5e 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.32.1", + "version": "0.33.0", "description": "", "type": "commonjs", "main": "./lib/index.js", @@ -25,7 +25,7 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", @@ -37,8 +37,7 @@ }, "dependencies": { "@kiltprotocol/types": "workspace:*", - "@kiltprotocol/utils": "workspace:*", - "@polkadot/api": "^9.10.2", + "@polkadot/api": "^10.4.0", "typescript-logging": "^1.0.0" } } diff --git a/packages/config/src/ConfigService.spec.ts b/packages/config/src/ConfigService.spec.ts index ad30eeaad..f5069556b 100644 --- a/packages/config/src/ConfigService.spec.ts +++ b/packages/config/src/ConfigService.spec.ts @@ -13,8 +13,6 @@ import { ApiPromise, WsProvider } from '@polkadot/api' import { LogLevel, Logger } from 'typescript-logging' -import { SDKErrors } from '@kiltprotocol/utils' - import * as ConfigService from './ConfigService' describe('Log Configuration', () => { @@ -47,8 +45,8 @@ describe('Log Configuration', () => { describe('Configuration Service', () => { it('has configuration Object with default values', () => { expect(ConfigService.get('logLevel')).toEqual(LogLevel.Error) - expect(() => ConfigService.get('api')).toThrowError( - SDKErrors.BlockchainApiMissingError + expect(() => ConfigService.get('api')).toThrowErrorMatchingInlineSnapshot( + `"The blockchain API is not set. Did you forget to call \`Kilt.connect(…)\` or \`Kilt.init(…)\`?"` ) }) describe('set function for api instance, logLevel and any custom configuration prop', () => { @@ -70,8 +68,8 @@ describe('Configuration Service', () => { describe('get function for api instance, logLevel and any other injected configuration prop', () => { it('throws if api not set', () => { ConfigService.unset('api') - expect(() => ConfigService.get('api')).toThrowError( - SDKErrors.BlockchainApiMissingError + expect(() => ConfigService.get('api')).toThrowErrorMatchingInlineSnapshot( + `"The blockchain API is not set. Did you forget to call \`Kilt.connect(…)\` or \`Kilt.init(…)\`?"` ) }) it('returns logLevel property', () => { diff --git a/packages/config/src/ConfigService.ts b/packages/config/src/ConfigService.ts index c2244d431..d9e68b4a8 100644 --- a/packages/config/src/ConfigService.ts +++ b/packages/config/src/ConfigService.ts @@ -22,8 +22,7 @@ import { getLogControl, LogGroupControlSettings, } from 'typescript-logging' -import { SDKErrors } from '@kiltprotocol/utils' -import { SubscriptionPromise } from '@kiltprotocol/types' +import type { SubscriptionPromise } from '@kiltprotocol/types' const DEFAULT_DEBUG_LEVEL = typeof process !== 'undefined' && @@ -72,7 +71,9 @@ export function get(configOpt: K): configOpts[K] { if (typeof configuration[configOpt] === 'undefined') { switch (configOpt) { case 'api': - throw new SDKErrors.BlockchainApiMissingError() + throw new Error( + 'The blockchain API is not set. Did you forget to call `Kilt.connect(…)` or `Kilt.init(…)`?' + ) default: throw new Error(`GENERIC NOT CONFIGURED ERROR FOR KEY: "${configOpt}"`) } diff --git a/packages/core/package.json b/packages/core/package.json index df6fc7af5..f5138906c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.32.1", + "version": "0.33.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -23,7 +23,7 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", @@ -45,11 +45,11 @@ "@kiltprotocol/type-definitions": "workspace:*", "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", - "@polkadot/api": "^9.10.2", - "@polkadot/keyring": "^10.2.1", - "@polkadot/types": "^9.10.2", - "@polkadot/util": "^10.2.1", - "@polkadot/util-crypto": "^10.2.1", - "cbor": "^8.1.0" + "@polkadot/api": "^10.4.0", + "@polkadot/keyring": "^12.0.0", + "@polkadot/types": "^10.4.0", + "@polkadot/util": "^12.0.0", + "@polkadot/util-crypto": "^12.0.0", + "cbor-web": "^8.0.0" } } diff --git a/packages/core/src/__integrationtests__/Attestation.spec.ts b/packages/core/src/__integrationtests__/Attestation.spec.ts index 206fa3884..46883e811 100644 --- a/packages/core/src/__integrationtests__/Attestation.spec.ts +++ b/packages/core/src/__integrationtests__/Attestation.spec.ts @@ -158,7 +158,7 @@ describe('When there is an attester, claimer and ctype drivers license', () => { await expect( Credential.verifySignature(presentation) ).resolves.not.toThrow() - await Credential.verifyPresentation(presentation) + Credential.verifyWellFormed(presentation, { ctype: driversLicenseCType }) const attestation = Attestation.fromCredentialAndDid( presentation, @@ -183,6 +183,10 @@ describe('When there is an attester, claimer and ctype drivers license', () => { expect(storedAttestation).not.toBeNull() expect(storedAttestation?.revoked).toBe(false) + await expect( + Credential.verifyPresentation(presentation) + ).resolves.toMatchObject({ attester: attester.uri, revoked: false }) + // Claim the deposit back by submitting the reclaimDeposit extrinsic with the deposit payer's account. const reclaimTx = api.tx.attestation.reclaimDeposit(attestation.claimHash) await submitTx(reclaimTx, tokenHolder) @@ -191,6 +195,10 @@ describe('When there is an attester, claimer and ctype drivers license', () => { expect( (await api.query.attestation.attestations(attestation.claimHash)).isNone ).toBe(true) + + await expect( + Credential.verifyPresentation(presentation) + ).rejects.toThrowErrorMatchingInlineSnapshot(`"Attestation not found"`) }, 60_000) it('should not be possible to attest a claim without enough tokens', async () => { @@ -405,6 +413,10 @@ describe('When there is an attester, claimer and ctype drivers license', () => { ) expect(storedAttestationAfter).not.toBeNull() expect(storedAttestationAfter?.revoked).toBe(true) + + await expect( + Credential.verifyCredential(credential) + ).resolves.toMatchObject({ attester: attester.uri, revoked: true }) }, 40_000) it('should be possible for the deposit payer to remove an attestation', async () => { diff --git a/packages/core/src/__integrationtests__/Delegation.spec.ts b/packages/core/src/__integrationtests__/Delegation.spec.ts index 340e1463c..b2d56a31a 100644 --- a/packages/core/src/__integrationtests__/Delegation.spec.ts +++ b/packages/core/src/__integrationtests__/Delegation.spec.ts @@ -195,7 +195,7 @@ describe('and attestation rights have been delegated', () => { await expect( Credential.verifySignature(presentation) ).resolves.not.toThrow() - await Credential.verifyPresentation(presentation) + Credential.verifyWellFormed(presentation, { ctype: driversLicenseCType }) const attestation = Attestation.fromCredentialAndDid( credential, diff --git a/packages/core/src/attestation/Attestation.ts b/packages/core/src/attestation/Attestation.ts index aceb40d81..8e6ddb4f4 100644 --- a/packages/core/src/attestation/Attestation.ts +++ b/packages/core/src/attestation/Attestation.ts @@ -136,12 +136,22 @@ export function verifyAgainstCredential( attestation: IAttestation, credential: ICredential ): void { - if ( - credential.claim.cTypeHash !== attestation.cTypeHash || - credential.rootHash !== attestation.claimHash - ) { + const credentialMismatch = + credential.claim.cTypeHash !== attestation.cTypeHash + const ctypeMismatch = credential.rootHash !== attestation.claimHash + const delegationMismatch = + credential.delegationId !== attestation.delegationId + if (credentialMismatch || ctypeMismatch || delegationMismatch) { throw new SDKErrors.CredentialUnverifiableError( - 'Attestation does not match credential' + `Some attributes of the on-chain attestation diverge from the credential: ${[ + 'cTypeHash', + 'delegationId', + 'claimHash', + ] + .filter( + (_, i) => [ctypeMismatch, delegationMismatch, credentialMismatch][i] + ) + .join(', ')}` ) } Credential.verifyDataIntegrity(credential) diff --git a/packages/core/src/cbor-web.d.ts b/packages/core/src/cbor-web.d.ts new file mode 100644 index 000000000..4def7650e --- /dev/null +++ b/packages/core/src/cbor-web.d.ts @@ -0,0 +1 @@ +declare module 'cbor-web' diff --git a/packages/core/src/credential/Credential.spec.ts b/packages/core/src/credential/Credential.spec.ts index de70653a0..2d303ce80 100644 --- a/packages/core/src/credential/Credential.spec.ts +++ b/packages/core/src/credential/Credential.spec.ts @@ -28,17 +28,23 @@ import type { import { Crypto, SDKErrors, UUID } from '@kiltprotocol/utils' import * as Did from '@kiltprotocol/did' import { + ApiMocks, createLocalDemoFullDidFromKeypair, KeyTool, makeSigningKeyTool, } from '@kiltprotocol/testing' +import { ConfigService } from '@kiltprotocol/config' +import { randomAsHex } from '@polkadot/util-crypto' import * as Attestation from '../attestation' import * as Claim from '../claim' import * as CType from '../ctype' import * as Credential from './Credential' +import { init } from '../kilt' -const testCType = CType.fromProperties('raw ctype', { - name: { type: 'string' }, +const testCType = CType.fromProperties('Credential', { + a: { type: 'string' }, + b: { type: 'string' }, + c: { type: 'string' }, }) function buildCredential( @@ -60,6 +66,20 @@ function buildCredential( return credential } +beforeAll(async () => { + const api = ApiMocks.createAugmentedApi() + api.query.attestation = { + attestations: jest.fn().mockResolvedValue( + ApiMocks.mockChainQueryReturn('attestation', 'attestations', { + revoked: false, + attester: '4s5d7QHWSX9xx4DLafDtnTHK87n5e9G3UoKRrCDQ2gnrzYmZ', + ctypeHash: CType.idToHash(testCType.$id), + } as any) + ), + } as any + await init({ api }) +}) + describe('Credential', () => { const identityAlice = 'did:kilt:4nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS' @@ -83,9 +103,11 @@ describe('Credential', () => { ) // check proof on complete data expect(() => Credential.verifyDataIntegrity(credential)).not.toThrow() - await Credential.verifyCredential(credential, { - ctype: testCType, - }) + await expect( + Credential.verifyCredential(credential, { + ctype: testCType, + }) + ).resolves.toMatchObject({ revoked: false, attester: identityBob }) // just deleting a field will result in a wrong proof delete credential.claimNonceMap[Object.keys(credential.claimNonceMap)[0]] @@ -285,16 +307,131 @@ describe('Credential', () => { [] ) expect(() => - Credential.verifyAgainstCType(builtCredential, testCType) + Credential.verifyWellFormed(builtCredential, { ctype: testCType }) ).not.toThrow() - builtCredential.claim.contents.name = 123 + const builtCredentialWrong = buildCredential( + identityBob, + { + a: 'a', + b: 'b', + c: 1, + }, + [] + ) expect(() => - Credential.verifyAgainstCType(builtCredential, testCType) + Credential.verifyWellFormed(builtCredentialWrong, { ctype: testCType }) ).toThrow() }) + + it('two Credentials on an empty ctype will have different root hashes', async () => { + const ctype = CType.fromProperties('CType', {}) + const claimA1 = Claim.fromCTypeAndClaimContents(ctype, {}, identityAlice) + const claimA2 = Claim.fromCTypeAndClaimContents(ctype, {}, identityAlice) + + expect(Credential.fromClaim(claimA1).rootHash).not.toEqual( + Credential.fromClaim(claimA2).rootHash + ) + }) + + it('re-checks attestation status', async () => { + const api = ConfigService.get('api') + const credential = buildCredential( + identityBob, + { + a: 'a', + b: 'b', + c: 'c', + }, + [] + ) + + const { attester, revoked } = await Credential.verifyAttested(credential) + expect(revoked).toBe(false) + await expect( + Credential.refreshRevocationStatus({ ...credential, revoked, attester }) + ).resolves.toMatchObject({ revoked, attester }) + + jest.mocked(api.query.attestation.attestations).mockResolvedValueOnce( + ApiMocks.mockChainQueryReturn('attestation', 'attestations', { + revoked: true, + attester: Did.toChain(attester), + ctypeHash: credential.claim.cTypeHash, + } as any) as any + ) + await expect( + Credential.refreshRevocationStatus({ ...credential, revoked, attester }) + ).resolves.toMatchObject({ revoked: true, attester }) + + await expect( + Credential.refreshRevocationStatus(credential as any) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"This function expects a VerifiedCredential with properties \`revoked\` (boolean) and \`attester\` (string)"` + ) + + jest + .mocked(api.query.attestation.attestations) + .mockResolvedValueOnce( + ApiMocks.mockChainQueryReturn('attestation', 'attestations') as any + ) + await expect( + Credential.refreshRevocationStatus({ ...credential, revoked, attester }) + ).rejects.toThrowErrorMatchingInlineSnapshot(`"Attestation not found"`) + + jest.mocked(api.query.attestation.attestations).mockResolvedValueOnce( + ApiMocks.mockChainQueryReturn( + 'attestation', + 'attestations', + ApiMocks.mockChainQueryReturn('attestation', 'attestations', { + revoked: false, + attester: Did.toChain(identityAlice), + ctypeHash: credential.claim.cTypeHash, + } as any) as any + ) as any + ) + await expect( + Credential.refreshRevocationStatus({ ...credential, revoked, attester }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Attester has changed since first verification"` + ) + + jest.mocked(api.query.attestation.attestations).mockResolvedValueOnce( + ApiMocks.mockChainQueryReturn( + 'attestation', + 'attestations', + ApiMocks.mockChainQueryReturn('attestation', 'attestations', { + revoked: true, + attester: Did.toChain(attester), + ctypeHash: randomAsHex(), + } as any) as any + ) as any + ) + await expect( + Credential.refreshRevocationStatus({ ...credential, revoked, attester }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Some attributes of the on-chain attestation diverge from the credential: claimHash"` + ) + + jest.mocked(api.query.attestation.attestations).mockResolvedValueOnce( + ApiMocks.mockChainQueryReturn( + 'attestation', + 'attestations', + ApiMocks.mockChainQueryReturn('attestation', 'attestations', { + revoked: true, + attester: Did.toChain(attester), + ctypeHash: credential.claim.cTypeHash, + authorizationId: { Delegation: randomAsHex() }, + } as any) as any + ) as any + ) + await expect( + Credential.refreshRevocationStatus({ ...credential, revoked, attester }) + ).rejects.toThrowErrorMatchingInlineSnapshot( + `"Some attributes of the on-chain attestation diverge from the credential: delegationId"` + ) + }) }) -describe('Credential', () => { +describe('Presentations', () => { let keyAlice: KeyTool let keyCharlie: KeyTool let identityAlice: DidDocument @@ -327,12 +464,11 @@ describe('Credential', () => { sign: SignCallback ): Promise<[ICredentialPresentation, IAttestation]> { // create claim - - const ctype = CType.fromProperties('Credential', { - name: { type: 'string' }, - }) - - const claim = Claim.fromCTypeAndClaimContents(ctype, contents, claimer.uri) + const claim = Claim.fromCTypeAndClaimContents( + testCType, + contents, + claimer.uri + ) // build credential with legitimations const credential = Credential.fromClaim(claim, { legitimations, @@ -367,6 +503,16 @@ describe('Credential', () => { [], keyAlice.getSignCallback(identityAlice) ) + + jest + .mocked(ConfigService.get('api').query.attestation.attestations) + .mockResolvedValue( + ApiMocks.mockChainQueryReturn('attestation', 'attestations', { + revoked: false, + attester: Did.toChain(identityBob.uri), + ctypeHash: CType.idToHash(testCType.$id), + } as any) as any + ) }) it('verify credentials signed by a full DID', async () => { @@ -384,9 +530,11 @@ describe('Credential', () => { // check proof on complete data expect(() => Credential.verifyDataIntegrity(presentation)).not.toThrow() - await Credential.verifyPresentation(presentation, { - didResolveKey, - }) + await expect( + Credential.verifyPresentation(presentation, { + didResolveKey, + }) + ).resolves.toMatchObject({ revoked: false, attester: identityBob.uri }) }) it('verify credentials signed by a light DID', async () => { const { getSignCallback, authentication } = makeSigningKeyTool('ed25519') @@ -408,9 +556,11 @@ describe('Credential', () => { // check proof on complete data expect(() => Credential.verifyDataIntegrity(presentation)).not.toThrow() - await Credential.verifyPresentation(presentation, { - didResolveKey, - }) + await expect( + Credential.verifyPresentation(presentation, { + didResolveKey, + }) + ).resolves.toMatchObject({ revoked: false, attester: identityBob.uri }) }) it('throws if signature is missing on credential presentation', async () => { @@ -576,7 +726,10 @@ describe('create presentation', () => { let attester: DidDocument let credential: ICredential - const ctype = CType.fromProperties(testCType.title, testCType.properties) + const ctype = CType.fromProperties('otherCType', { + name: { type: 'string' }, + age: { type: 'number' }, + }) // Returns a full DID that has the same subject of the first light DID, but the same key authentication key as the second one, if provided, or as the first one otherwise. function createMinimalFullDidFromLightDid( @@ -644,6 +797,16 @@ describe('create presentation', () => { migratedClaimerFullDid.uri ) ) + + jest + .mocked(ConfigService.get('api').query.attestation.attestations) + .mockResolvedValue( + ApiMocks.mockChainQueryReturn('attestation', 'attestations', { + revoked: false, + attester: Did.toChain(attester.uri), + ctypeHash: CType.idToHash(ctype.$id), + } as any) as any + ) }) it('should create presentation and exclude specific attributes using a full DID', async () => { @@ -656,9 +819,11 @@ describe('create presentation', () => { ), challenge, }) - await Credential.verifyPresentation(presentation, { - didResolveKey, - }) + await expect( + Credential.verifyPresentation(presentation, { + didResolveKey, + }) + ).resolves.toMatchObject({ revoked: false, attester: attester.uri }) expect(presentation.claimerSignature?.challenge).toEqual(challenge) }) it('should create presentation and exclude specific attributes using a light DID', async () => { @@ -683,9 +848,11 @@ describe('create presentation', () => { ), challenge, }) - await Credential.verifyPresentation(presentation, { - didResolveKey, - }) + await expect( + Credential.verifyPresentation(presentation, { + didResolveKey, + }) + ).resolves.toMatchObject({ revoked: false, attester: attester.uri }) expect(presentation.claimerSignature?.challenge).toEqual(challenge) }) it('should create presentation and exclude specific attributes using a migrated DID', async () => { @@ -712,9 +879,11 @@ describe('create presentation', () => { ), challenge, }) - await Credential.verifyPresentation(presentation, { - didResolveKey, - }) + await expect( + Credential.verifyPresentation(presentation, { + didResolveKey, + }) + ).resolves.toMatchObject({ revoked: false, attester: attester.uri }) expect(presentation.claimerSignature?.challenge).toEqual(challenge) }) @@ -781,9 +950,13 @@ describe('create presentation', () => { }) it('should verify the credential claims structure against the ctype', () => { - expect(() => Credential.verifyAgainstCType(credential, ctype)).not.toThrow() + expect(() => + CType.verifyClaimAgainstSchema(credential.claim.contents, ctype) + ).not.toThrow() credential.claim.contents.name = 123 - expect(() => Credential.verifyAgainstCType(credential, ctype)).toThrow() + expect(() => + CType.verifyClaimAgainstSchema(credential.claim.contents, ctype) + ).toThrow() }) }) diff --git a/packages/core/src/credential/Credential.ts b/packages/core/src/credential/Credential.ts index 45a08a574..ca24f967f 100644 --- a/packages/core/src/credential/Credential.ts +++ b/packages/core/src/credential/Credential.ts @@ -17,6 +17,7 @@ * @packageDocumentation */ +import { ConfigService } from '@kiltprotocol/config' import { isDidSignature, verifyDidSignature, @@ -26,6 +27,7 @@ import { } from '@kiltprotocol/did' import type { DidResolveKey, + DidUri, Hash, IAttestation, IClaim, @@ -36,6 +38,7 @@ import type { SignCallback, } from '@kiltprotocol/types' import { Crypto, DataUtils, SDKErrors } from '@kiltprotocol/utils' +import * as Attestation from '../attestation/index.js' import * as Claim from '../claim/index.js' import { hashClaimContents } from '../claim/index.js' import { verifyClaimAgainstSchema } from '../ctype/index.js' @@ -128,8 +131,9 @@ export function makeSigningData( * @param input - The credential to check. */ export function verifyRootHash(input: ICredential): void { - if (input.rootHash !== calculateRootHash(input)) + if (input.rootHash !== calculateRootHash(input)) { throw new SDKErrors.RootHashUnverifiableError() + } } /** @@ -175,12 +179,14 @@ export function verifyDataStructure(input: ICredential): void { if (!('claimNonceMap' in input)) { throw new SDKErrors.ClaimNonceMapMissingError() } - if (typeof input.claimNonceMap !== 'object') + if (typeof input.claimNonceMap !== 'object') { throw new SDKErrors.ClaimNonceMapMalformedError() + } Object.entries(input.claimNonceMap).forEach(([digest, nonce]) => { DataUtils.verifyIsHex(digest, 256) - if (!digest || typeof nonce !== 'string' || !nonce) + if (!digest || typeof nonce !== 'string' || !nonce) { throw new SDKErrors.ClaimNonceMapMalformedError() + } }) if (!('claimHashes' in input)) { @@ -192,20 +198,6 @@ export function verifyDataStructure(input: ICredential): void { } } -/** - * Checks the [[Credential]] with a given [[CType]] to check if the included claim meets the [[ICType.$schema]] structure. - * - * @param credential A [[Credential]] for the attester. - * @param ctype A [[CType]] to verify the [[Claim]] structure. - */ -export function verifyAgainstCType( - credential: ICredential, - ctype: ICType -): void { - verifyDataStructure(credential) - verifyClaimAgainstSchema(credential.claim.contents, ctype) -} - /** * Verifies the signature of the [[ICredentialPresentation]]. * It supports migrated DIDs, meaning that if the original claim within the [[ICredential]] included a light DID that was afterwards upgraded, @@ -228,11 +220,11 @@ export async function verifySignature( } = {} ): Promise { const { claimerSignature } = input - if (challenge && challenge !== claimerSignature.challenge) + if (challenge && challenge !== claimerSignature.challenge) { throw new SDKErrors.SignatureUnverifiableError( 'Challenge differs from expected' ) - + } const signingData = makeSigningData(input, claimerSignature.challenge) await verifyDidSignature({ ...signatureFromJson(claimerSignature), @@ -293,43 +285,133 @@ type VerifyOptions = { /** * Verifies data structure & data integrity of a credential object. + * This combines all offline sanity checks that can be performed on an ICredential object. + * A credential is valid only if it is well formed AND there is an on-chain attestation record referencing its root hash. + * To check the latter condition as well, you need to call [[verifyCredential]] or [[verifyPresentation]]. * * @param credential - The object to check. * @param options - Additional parameter for more verification steps. * @param options.ctype - CType which the included claim should be checked against. */ -export async function verifyCredential( +export function verifyWellFormed( credential: ICredential, { ctype }: VerifyOptions = {} -): Promise { +): void { verifyDataStructure(credential) verifyDataIntegrity(credential) if (ctype) { - verifyAgainstCType(credential, ctype) + verifyClaimAgainstSchema(credential.claim.contents, ctype) } } /** - * Verifies data structure, data integrity and the claimer's signature of a credential presentation. + * Queries the attestation record for a credential and matches their data. Fails if no attestation exists, if it is revoked, or if the attestation data does not match the credential. * - * Upon presentation of a credential, a verifier would call this function. + * @param credential The [[ICredential]] whose attestation status should be checked. + * @returns An object containing the `attester` DID and `revoked` status of the on-chain attestation. + */ +export async function verifyAttested(credential: ICredential): Promise<{ + attester: DidUri + revoked: boolean +}> { + const api = ConfigService.get('api') + const { rootHash } = credential + const maybeAttestation = await api.query.attestation.attestations(rootHash) + if (maybeAttestation.isNone) { + throw new SDKErrors.CredentialUnverifiableError('Attestation not found') + } + const attestation = Attestation.fromChain( + maybeAttestation, + credential.rootHash + ) + Attestation.verifyAgainstCredential(attestation, credential) + const { owner: attester, revoked } = attestation + return { attester, revoked } +} + +export interface VerifiedCredential extends ICredential { + revoked: boolean + attester: DidUri +} + +/** + * Updates the revocation status of a previously verified credential to allow checking if it is still valid. + * + * @param verifiedCredential The output of [[verifyCredential]] or [[verifyPresentation]], which adds a `revoked` and `attester` property. + * @returns A promise of resolving to the same object but with the `revoked` property updated. + * The promise rejects if the attestation has been deleted or its data changed since verification. + */ +export async function refreshRevocationStatus( + verifiedCredential: VerifiedCredential +): Promise { + if ( + typeof verifiedCredential.attester !== 'string' || + typeof verifiedCredential.revoked !== 'boolean' + ) { + throw new TypeError( + 'This function expects a VerifiedCredential with properties `revoked` (boolean) and `attester` (string)' + ) + } + const { revoked, attester } = await verifyAttested(verifiedCredential) + if (attester !== verifiedCredential.attester) { + throw new SDKErrors.CredentialUnverifiableError( + 'Attester has changed since first verification' + ) + } + return { ...verifiedCredential, revoked } +} + +/** + * Performs all steps to verify a credential (unsigned), which includes verifying data structure, data integrity, and looking up its attestation on the KILT blockchain. + * In most cases, credentials submitted by a third party would be expected to be signed (a 'presentation'). + * To verify the additional signature as well, use `verifyPresentation`. + * + * @param credential - The object to check. + * @param options - Additional parameter for more verification steps. + * @param options.ctype - CType which the included claim should be checked against. + * @returns A [[VerifiedCredential]] object, which is the orignal credential with two additional properties: a boolean `revoked` status flag and the `attester` DID. + */ +export async function verifyCredential( + credential: ICredential, + { ctype }: VerifyOptions = {} +): Promise { + verifyWellFormed(credential, { ctype }) + const { revoked, attester } = await verifyAttested(credential) + return { + ...credential, + revoked, + attester, + } +} + +/** + * Performs all steps to verify a credential presentation (signed). + * In addition to verifying data structure, data integrity, and looking up the attestation record on the KILT blockchain, + * this involves verifying the claimer's signature over the credential. + * + * This is the function verifiers would typically call upon receiving a credential presentation from a third party. + * The attester's identity and the credential revocation status returned by this function would then be either displayed to an end user + * or processed in application logic deciding whether to accept or reject a credential submission + * (e.g., by matching the attester DID against an allow-list of trusted attesters). * * @param presentation - The object to check. * @param options - Additional parameter for more verification steps. * @param options.ctype - CType which the included claim should be checked against. * @param options.challenge - The expected value of the challenge. Verification will fail in case of a mismatch. * @param options.didResolveKey - The function used to resolve the claimer's key. Defaults to [[resolveKey]]. + * @returns A [[VerifiedCredential]] object, which is the orignal credential presentation with two additional properties: + * a boolean `revoked` status flag and the `attester` DID. */ export async function verifyPresentation( presentation: ICredentialPresentation, { ctype, challenge, didResolveKey = resolveKey }: VerifyOptions = {} -): Promise { - await verifyCredential(presentation, { ctype }) +): Promise { await verifySignature(presentation, { challenge, didResolveKey, }) + return verifyCredential(presentation, { ctype }) } /** diff --git a/packages/core/src/ctype/CType.schemas.ts b/packages/core/src/ctype/CType.schemas.ts index ce63b0ddf..0ee74c940 100644 --- a/packages/core/src/ctype/CType.schemas.ts +++ b/packages/core/src/ctype/CType.schemas.ts @@ -7,9 +7,137 @@ import { JsonSchema } from '@kiltprotocol/utils' -export const CTypeModel: JsonSchema.Schema = { +export const CTypeModelV1: JsonSchema.Schema & { $id: string } = { + // $id is not contained in schema when fetched from ipfs bc that is impossible with a content-addressed system + $id: 'ipfs://bafybeiah66wbkhqbqn7idkostj2iqyan2tstc4tpqt65udlhimd7hcxjyq/', + $schema: 'http://json-schema.org/draft-07/schema#', + title: 'CType Metaschema (V1)', + description: + 'Describes a CType, which is a JSON schema for validating KILT claim types.', + type: 'object', + properties: { + $id: { pattern: '^kilt:ctype:0x[0-9a-f]+$', type: 'string' }, + $schema: { + type: 'string', + // can't use a const referencing schema id for a content-addressed schema + }, + title: { type: 'string' }, + type: { const: 'object', type: 'string' }, + properties: { + patternProperties: { + '^.+$': { + oneOf: [ + { $ref: '#/definitions/string' }, + { $ref: '#/definitions/number' }, + { $ref: '#/definitions/boolean' }, + { $ref: '#/definitions/cTypeReference' }, + { $ref: '#/definitions/array' }, + ], + type: 'object', + }, + }, + type: 'object', + }, + additionalProperties: { const: false, type: 'boolean' }, + }, + additionalProperties: false, + required: [ + '$id', + '$schema', + 'additionalProperties', + 'properties', + 'title', + 'type', + ], + definitions: { + cTypeReference: { + additionalProperties: false, + properties: { + $ref: { + pattern: '^kilt:ctype:0x[0-9a-f]+(#/properties/.+)?$', + format: 'uri', + type: 'string', + }, + }, + required: ['$ref'], + }, + string: { + additionalProperties: false, + properties: { + type: { + const: 'string', + }, + format: { enum: ['date', 'time', 'uri'] }, + enum: { + type: 'array', + items: { type: 'string' }, + }, + minLength: { + type: 'number', + }, + maxLength: { + type: 'number', + }, + }, + required: ['type'], + }, + boolean: { + additionalProperties: false, + properties: { + type: { + const: 'boolean', + }, + }, + required: ['type'], + }, + number: { + additionalProperties: false, + properties: { + type: { + enum: ['integer', 'number'], + }, + enum: { + type: 'array', + items: { type: 'number' }, + }, + minimum: { + type: 'number', + }, + maximum: { + type: 'number', + }, + }, + required: ['type'], + }, + array: { + additionalProperties: false, + properties: { + type: { const: 'array' }, + items: { + oneOf: [ + { $ref: '#/definitions/string' }, + { $ref: '#/definitions/number' }, + { $ref: '#/definitions/boolean' }, + { $ref: '#/definitions/cTypeReference' }, + ], + }, + minItems: { + type: 'number', + }, + maxItems: { + type: 'number', + }, + }, + required: ['type', 'items'], + }, + }, +} + +export const CTypeModelDraft01: JsonSchema.Schema & { $id: string } = { $id: 'http://kilt-protocol.org/draft-01/ctype#', $schema: 'http://json-schema.org/draft-07/schema#', + title: 'CType Metaschema (draft-01)', + description: `Describes a CType, which is a JSON schema for validating KILT claim types. This version has known issues, the use of schema ${CTypeModelV1.$id} is recommended instead.`, type: 'object', properties: { $id: { @@ -65,7 +193,44 @@ export const CTypeModel: JsonSchema.Schema = { required: ['$id', 'title', '$schema', 'properties', 'type'], } -export const MetadataModel = { +/** + * Schema describing any currently known CType; this means it either conforms to V1 or draft-01 of the CType schema. + * Using this schema allows CType validation to be agnostic to which version is used. + */ +export const CTypeModel: JsonSchema.Schema = { + $schema: 'http://json-schema.org/draft-07/schema', + oneOf: [ + // Option A): conforms to draft-01 of the CType meta sschema, which defines that the CType's $schema property must be equal to the CType meta schema's $id. + { $ref: CTypeModelDraft01.$id }, + // Option B): The CType's $schema property references V1 of the CType meta schema, in which case this meta schema must apply. + // The structure is different because V1 does not define the exact value of the $schema property because its $id is derived from the hash of its contents. + { + allOf: [ + // verifies that both of two (sub-)schemas validate against CType object. + { + // subschema 1: $schema is equal to CType meta schema V1's $id. + properties: { + $schema: { + type: 'string', + const: CTypeModelV1.$id, + }, + }, + }, + { + // subschema 2: CType meta schema V1. + $ref: CTypeModelV1.$id, + }, + ], + }, + ], + // CType meta schemas are embedded here, so that the references ($ref) can be resolved without having to load them first. + definitions: { + [CTypeModelDraft01.$id]: CTypeModelDraft01, + [CTypeModelV1.$id]: CTypeModelV1, + }, +} + +export const MetadataModel: JsonSchema.Schema = { $id: 'http://kilt-protocol.org/draft-01/ctype-metadata', $schema: 'http://json-schema.org/draft-07/schema#', type: 'object', @@ -103,7 +268,6 @@ export const MetadataModel = { }, properties: { type: 'object', - properties: {}, patternProperties: { '^.*$': { type: 'object', diff --git a/packages/core/src/ctype/CType.spec.ts b/packages/core/src/ctype/CType.spec.ts index 9a3451ad9..9c4eb4e6f 100644 --- a/packages/core/src/ctype/CType.spec.ts +++ b/packages/core/src/ctype/CType.spec.ts @@ -12,11 +12,10 @@ import { SDKErrors } from '@kiltprotocol/utils' import { ConfigService } from '@kiltprotocol/config' import { ApiMocks } from '@kiltprotocol/testing' -import type { ICType, IClaim } from '@kiltprotocol/types' +import type { ICType } from '@kiltprotocol/types' import * as Claim from '../claim' -import * as Credential from '../credential' import * as CType from './CType.js' -import { CTypeModel } from './CType.schemas' +import { CTypeModel, CTypeModelDraft01 } from './CType.schemas' const mockedApi: any = ApiMocks.getMockedApi() ConfigService.set({ api: mockedApi }) @@ -28,76 +27,285 @@ const encodedAliceDid = ApiMocks.mockChainQueryReturn( ) const didAlice = 'did:kilt:4p6K4tpdZtY3rNqM2uorQmsS6d3woxtnWMHjtzGftHmDb41N' -describe('CType', () => { - let claimCtype: ICType - let claimContents: any - let claim: IClaim - beforeAll(async () => { - claimCtype = CType.fromProperties('CtypeModel 2', { - name: { type: 'string' }, - }) - - claimContents = { - name: 'Bob', - } - - claim = Claim.fromCTypeAndClaimContents(claimCtype, claimContents, didAlice) +it('consistent CType id generation', () => { + const ctypeV1 = CType.fromProperties('CtypeModel 1', { + 'first-property': { type: 'integer' }, + 'second-property': { type: 'string' }, }) - it('makes ctype object from schema without id', () => { - const ctype = CType.fromProperties('CtypeModel 1', { + expect(ctypeV1.$id).toMatchInlineSnapshot( + `"kilt:ctype:0xc4145b9c5c7ae10f60c6a707b9dabf704ab65d7802a839854643a579c9bc80a5"` + ) + + const ctypeV0 = CType.fromProperties( + 'CtypeModel 1', + { 'first-property': { type: 'integer' }, 'second-property': { type: 'string' }, + }, + 'draft-01' + ) + + expect(ctypeV0.$id).toMatchInlineSnapshot( + `"kilt:ctype:0xba15bf4960766b0a6ad7613aa3338edce95df6b22ed29dd72f6e72d740829b84"` + ) +}) + +describe('value constraints', () => { + let cTypeWithConstraints: ICType + beforeAll(() => { + cTypeWithConstraints = CType.fromProperties('ConstraintsCtype', { + labels: { + type: 'array', + items: { + type: 'string', + enum: ['important', 'vital', 'critical', 'essential'], + }, + minItems: 1, + maxItems: 3, + }, + w3n: { + type: 'string', + minLength: 3, + maxLength: 10, + }, + date: { + type: 'string', + format: 'date', + }, + age: { + type: 'integer', + minimum: 0, + maximum: 999, + }, + multiplier: { + type: 'number', + enum: [0.2, 0.6, 1.2, 2.4], + }, }) + }) - expect(ctype.$id).toBe( - 'kilt:ctype:0xba15bf4960766b0a6ad7613aa3338edce95df6b22ed29dd72f6e72d740829b84' - ) + it('constrains array length', () => { + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + labels: ['critical'], + }, + didAlice + ) + ).not.toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + labels: ['important', 'critical'], + }, + didAlice + ) + ).not.toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + labels: ['important', 'critical', 'essential'], + }, + didAlice + ) + ).not.toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + labels: [], + }, + didAlice + ) + ).toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + labels: ['important', 'vital', 'critical', 'essential'], + }, + didAlice + ) + ).toThrow() }) - it('verifies the claim structure', () => { + it('constrains array contents via enum', () => { expect(() => - CType.verifyClaimAgainstSchema(claim.contents, claimCtype) + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + labels: ['important', 'critical', 'essential'], + }, + didAlice + ) ).not.toThrow() - claim.contents.name = 123 expect(() => - CType.verifyClaimAgainstSchema(claim.contents, claimCtype) + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + labels: ['niceToHave'], + }, + didAlice + ) + ).toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + labels: [12], + }, + didAlice + ) ).toThrow() }) - it('throws error on faulty input', () => { - const wrongHashCtype: ICType = { - ...claimCtype, - $id: 'kilt:ctype:0x1234', - } - const faultySchemaCtype: ICType = { - ...claimCtype, - properties: null as unknown as ICType['properties'], - } + it('constrains string length', () => { + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + w3n: 'juergen', + }, + didAlice + ) + ).not.toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + w3n: 'jo', + }, + didAlice + ) + ).toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + w3n: 'Peter der Große, Zar von Russland', + }, + didAlice + ) + ).toThrow() + }) - const wrongSchemaIdCType: ICType = { - ...claimCtype, - $id: claimCtype.$id.replace('1', '2') as ICType['$id'], - } - expect(() => CType.verifyDataStructure(wrongHashCtype)).toThrowError( - SDKErrors.CTypeIdMismatchError - ) - expect(() => CType.verifyDataStructure(faultySchemaCtype)).toThrowError( - SDKErrors.ObjectUnverifiableError - ) - expect(() => - CType.verifyDataStructure(wrongSchemaIdCType) - ).toThrowErrorMatchingInlineSnapshot( - `"Provided $id \\"kilt:ctype:0xd5302762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c\\" does not match schema $id \\"kilt:ctype:0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c\\""` - ) + it('constrains numeric range', () => { + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + age: 22, + }, + didAlice + ) + ).not.toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + age: -12, + }, + didAlice + ) + ).toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + age: 1000, + }, + didAlice + ) + ).toThrow() }) - it('verifies whether a ctype is registered on chain ', async () => { - await expect(CType.verifyStored(claimCtype)).rejects.toThrow() + it('constrains to numbers in enum', () => { + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + multiplier: 1.2, + }, + didAlice + ) + ).not.toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + multiplier: 1, + }, + didAlice + ) + ).toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + multiplier: 0.14, + }, + didAlice + ) + ).toThrow() + }) - mockedApi.query.ctype.ctypes.mockResolvedValueOnce(encodedAliceDid) - await expect(CType.verifyStored(claimCtype)).resolves.not.toThrow() + it('constrains string to date format', () => { + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + date: '2022-01-22', + }, + didAlice + ) + ).not.toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + date: '11:30', + }, + didAlice + ) + ).toThrow() + expect(() => + Claim.fromCTypeAndClaimContents( + cTypeWithConstraints, + { + date: 'fried fish', + }, + didAlice + ) + ).toThrow() + }) +}) + +it('e2e', () => { + const claimCtype = CType.fromProperties('CtypeModel 2', { + name: { type: 'string' }, }) + + const claimContents = { + name: 'Bob', + } + + const claim = Claim.fromCTypeAndClaimContents( + claimCtype, + claimContents, + didAlice + ) + + expect(() => + CType.verifyClaimAgainstSchema(claim.contents, claimCtype) + ).not.toThrow() + claim.contents.name = 123 + expect(() => + CType.verifyClaimAgainstSchema(claim.contents, claimCtype) + ).toThrow() }) describe('blank ctypes', () => { @@ -109,83 +317,128 @@ describe('blank ctypes', () => { ctype2 = CType.fromProperties('claimedSomething', {}) }) - it('two ctypes with no properties have different hashes if id is different', () => { + it('two ctypes with no properties have different hashes if name is different', () => { expect(ctype1.$schema).toEqual(ctype2.$schema) expect(ctype1.properties).toEqual(ctype2.properties) expect(ctype1.title).not.toEqual(ctype2.title) expect(ctype1.$id).not.toEqual(ctype2.$id) }) - it('two claims on an empty ctypes will have different root hash', async () => { - const claimA1 = Claim.fromCTypeAndClaimContents(ctype1, {}, didAlice) - const claimA2 = Claim.fromCTypeAndClaimContents(ctype2, {}, didAlice) - - expect(Credential.fromClaim(claimA1).rootHash).not.toEqual( - Credential.fromClaim(claimA2).rootHash - ) - }) it('typeguard returns true or false for complete or incomplete CTypes', () => { expect(CType.isICType(ctype1)).toBe(true) expect(CType.isICType({ ...ctype2, owner: '' })).toBe(false) }) }) -describe('CType verification', () => { - const ctypeInput = { - $id: 'kilt:ctype:0x1', - $schema: 'http://kilt-protocol.org/draft-01/ctype-input#', - title: 'Ctype Title', - properties: [ - { - $id: 'kilt:ctype:0xfirst-property', - $ref: 'First Property', - type: 'integer', - }, - { - $id: 'kilt:ctype:0xsecond-property', - $ref: 'Second Property', - type: 'string', - }, - ], - type: 'object', - required: ['first-property', 'second-property'], - } as unknown as ICType - - const ctypeWrapperModel: ICType = CType.fromProperties('name', { +const cTypeDraft01: ICType = CType.fromProperties( + 'name', + { 'first-property': { type: 'integer' }, 'second-property': { type: 'string' }, - }) + }, + 'draft-01' +) + +const cTypeV1: ICType = CType.fromProperties('name', { + 'first-property': { type: 'integer' }, + 'second-property': { type: 'string' }, +}) - const goodClaim = { - 'first-property': 10, - 'second-property': '12', +describe.each([[cTypeDraft01], [cTypeV1]])( + 'Claim verification with CType of schema version %#', + (cType) => { + const goodClaim = { + 'first-property': 10, + 'second-property': '12', + } + const partialClaim = { + 'first-property': 10, + } + const badClaim = { + ...goodClaim, + 'first-property': '1', + } + const unexpectedPropsClaim = { + ...goodClaim, + 'third-property': true, + } + + it('accepts good CType', () => { + expect(() => CType.verifyDataStructure(cType)).not.toThrow() + expect(() => + CType.verifyObjectAgainstSchema(cType, CTypeModel) + ).not.toThrow() + }) + + it('accepts correct & partial claims', () => { + expect(() => + CType.verifyClaimAgainstSchema(goodClaim, cType) + ).not.toThrow() + expect(() => + CType.verifyClaimAgainstSchema(partialClaim, cType) + ).not.toThrow() + expect(() => CType.verifyClaimAgainstSchema({}, cType)).not.toThrow() + }) + it('rejects incorrect claims', () => { + expect(() => CType.verifyClaimAgainstSchema(badClaim, cType)).toThrow( + SDKErrors.ObjectUnverifiableError + ) + // only the CTypes following the newer model protect against additional properties + if (cType.$schema === CTypeModelDraft01.$id) { + expect(() => + CType.verifyClaimAgainstSchema(unexpectedPropsClaim, cType) + ).not.toThrow() + } else { + expect(() => + CType.verifyClaimAgainstSchema(unexpectedPropsClaim, cType) + ).toThrow(SDKErrors.ObjectUnverifiableError) + } + }) } +) + +describe.each([[cTypeDraft01], [cTypeV1]])( + 'CType verification with schema version %#', + (cType) => { + it('id verification', () => { + const wrongIdCtype: ICType = { + ...cType, + $id: cType.$id.substring(11) as ICType['$id'], + } + const wrongHashCType: ICType = { + ...cType, + $id: cType.$id.replace(/[1-9]/, (i) => + String(Number(i) - 1) + ) as ICType['$id'], + } + expect(() => CType.verifyDataStructure(wrongIdCtype)).toThrowError( + SDKErrors.ObjectUnverifiableError + ) + expect(() => CType.verifyDataStructure(wrongHashCType)).toThrowError( + SDKErrors.CTypeIdMismatchError + ) + }) + it('throws error on faulty input', () => { + const faultySchemaCtype: ICType = { + ...cType, + properties: null as unknown as ICType['properties'], + } + const wrongSchemaIdCType: ICType = { + ...cType, + $schema: cType.$schema.replace(/[1-9]/, (i) => + String(Number(i) - 1) + ) as ICType['$id'], + } - const badClaim = { - 'first-property': '1', - 'second-property': '12', - 'third-property': true, + expect(() => CType.verifyDataStructure(faultySchemaCtype)).toThrowError( + SDKErrors.ObjectUnverifiableError + ) + expect(() => CType.verifyDataStructure(wrongSchemaIdCType)).toThrowError( + SDKErrors.ObjectUnverifiableError + ) + }) } - it('verifies claims', () => { - expect(() => - CType.verifyClaimAgainstSchema(goodClaim, ctypeWrapperModel) - ).not.toThrow() - expect(() => - CType.verifyClaimAgainstSchema(badClaim, ctypeWrapperModel) - ).toThrow() - expect(() => - CType.verifyObjectAgainstSchema(badClaim, CTypeModel, []) - ).toThrow() - expect(() => { - CType.verifyClaimAgainstSchema(badClaim, ctypeInput) - }).toThrow(SDKErrors.ObjectUnverifiableError) - }) - it('verifies ctypes', () => { - expect(() => - CType.verifyObjectAgainstSchema(ctypeWrapperModel, CTypeModel) - ).not.toThrow() - }) -}) +) describe('CType registration verification', () => { const ctype = CType.fromProperties('CtypeModel 2', { diff --git a/packages/core/src/ctype/CType.ts b/packages/core/src/ctype/CType.ts index ec928a388..6c061809d 100644 --- a/packages/core/src/ctype/CType.ts +++ b/packages/core/src/ctype/CType.ts @@ -23,7 +23,12 @@ import type { } from '@kiltprotocol/types' import { Crypto, SDKErrors, JsonSchema, jsonabc } from '@kiltprotocol/utils' import { ConfigService } from '@kiltprotocol/config' -import { CTypeModel, MetadataModel } from './CType.schemas.js' +import { + CTypeModel, + MetadataModel, + CTypeModelDraft01, + CTypeModelV1, +} from './CType.schemas.js' /** * Utility for (re)creating CType hashes. Sorts the schema and strips the $id property (which contains the CType hash) before stringifying. @@ -93,15 +98,17 @@ export function getIdForSchema( * @param object Data to be verified against schema. * @param schema Schema to verify against. * @param messages Optional empty array. If passed, this receives all verification errors. + * @param referencedSchemas If schema contains references ($ref) to other schemas, their definitions must be added here in form of an array. */ export function verifyObjectAgainstSchema( object: Record, - schema: Record, - messages?: string[] + schema: JsonSchema.Schema, + messages?: string[], + referencedSchemas?: JsonSchema.Schema[] ): void { const validator = new JsonSchema.Validator(schema, '7', false) - if (schema.$id !== CTypeModel.$id) { - validator.addSchema(CTypeModel) + if (referencedSchemas) { + referencedSchemas.forEach((i) => validator.addSchema(i)) } const { valid, errors } = validator.validate(object) if (valid === true) return @@ -128,7 +135,7 @@ export function verifyClaimAgainstSchema( schema: ICType, messages?: string[] ): void { - verifyObjectAgainstSchema(schema, CTypeModel) + verifyObjectAgainstSchema(schema, CTypeModel, messages) verifyObjectAgainstSchema(claimContents, schema, messages) } @@ -175,21 +182,8 @@ export function verifyClaimAgainstNestedSchemas( claimContents: Record, messages?: string[] ): void { - const validator = new JsonSchema.Validator(cType, '7', false) - nestedCTypes.forEach((ctype) => { - validator.addSchema(ctype) - }) - validator.addSchema(CTypeModel) - const { valid, errors } = validator.validate(claimContents) - if (valid === true) return - if (messages) { - errors.forEach((error) => { - messages.push(error.error) - }) - } - throw new SDKErrors.NestedClaimUnverifiableError(undefined, { - cause: errors, - }) + verifyObjectAgainstSchema(cType, CTypeModel, messages) + verifyObjectAgainstSchema(claimContents, cType, messages, nestedCTypes) } /** @@ -201,24 +195,34 @@ export function verifyCTypeMetadata(metadata: ICTypeMetadata): void { verifyObjectAgainstSchema(metadata, MetadataModel) } +const cTypeVersionToSchemaId = { + 'draft-01': CTypeModelDraft01.$id, + V1: CTypeModelV1.$id, +} + /** * Creates a new [[ICType]] object from a set of atomic claims and a title. * The CType id will be automatically generated. * * @param title The new CType's title as a string. * @param properties Key-value pairs describing the admissible atomic claims for a credential with this CType. The value of each property is a json-schema (for example `{ "type": "number" }`) used to validate that property. - * @returns A ctype object, including cTypeId, $schema, and type. + * @param version Use 'V1' to create a CType according to the latest metaschema version (default) and 'draft-01' to produce a legacy CType. Included for backwards-compatibility. + * @returns A complete JSON schema (CType) with an $id derived from the hashed schema. Each CType references a meta schema that applies to it via the $schema property; its value depends on the `version` parameter. */ export function fromProperties( title: ICType['title'], - properties: ICType['properties'] + properties: ICType['properties'], + version: 'draft-01' | 'V1' = 'V1' ): ICType { const schema: Omit = { properties, title, - $schema: 'http://kilt-protocol.org/draft-01/ctype#', + $schema: cTypeVersionToSchemaId[version], type: 'object', } + if (version === 'V1') { + schema.additionalProperties = false + } const ctype = jsonabc.sortObj({ ...schema, $id: getIdForSchema(schema) }) verifyDataStructure(ctype) return ctype diff --git a/packages/core/src/ctype/Ctype.nested.spec.ts b/packages/core/src/ctype/Ctype.nested.spec.ts index 4c813daae..27639e9ef 100644 --- a/packages/core/src/ctype/Ctype.nested.spec.ts +++ b/packages/core/src/ctype/Ctype.nested.spec.ts @@ -134,7 +134,7 @@ describe('Nested CTypes', () => { claimContents, didAlice ) - ).toThrowError(SDKErrors.NestedClaimUnverifiableError) + ).toThrowError(SDKErrors.ObjectUnverifiableError) expect(() => CType.verifyClaimAgainstNestedSchemas( deeplyNestedCType, @@ -142,7 +142,7 @@ describe('Nested CTypes', () => { claimDeepContents ) ).not.toThrow() - ;(claimDeepContents.passport as Record).fullName = {} + ;(claimDeepContents.passport as any).fullName = {} expect(() => CType.verifyClaimAgainstNestedSchemas( deeplyNestedCType, @@ -164,6 +164,6 @@ describe('Nested CTypes', () => { claimDeepContents, didAlice ) - ).toThrowError(SDKErrors.NestedClaimUnverifiableError) + ).toThrowError(SDKErrors.ObjectUnverifiableError) }) }) diff --git a/packages/core/src/delegation/DelegationNode.ts b/packages/core/src/delegation/DelegationNode.ts index 106c54190..60d50a96d 100644 --- a/packages/core/src/delegation/DelegationNode.ts +++ b/packages/core/src/delegation/DelegationNode.ts @@ -341,14 +341,15 @@ export class DelegationNode implements IDelegationNode { /** * Checks on chain whether an identity with the given DID is delegating to the current node. * - * @param did The DID to search for. + * @param dids A DID or an array of DIDs to search for. * * @returns An object containing a `node` owned by the identity if it is delegating, plus the number of `steps` traversed. `steps` is 0 if the DID is owner of the current node. */ public async findAncestorOwnedBy( - did: DidUri + dids: DidUri | DidUri[] ): Promise<{ steps: number; node: DelegationNode | null }> { - if (this.account === did) { + const acceptedDids = Array.isArray(dids) ? dids : [dids] + if (acceptedDids.includes(this.account)) { return { steps: 0, node: this, @@ -362,7 +363,7 @@ export class DelegationNode implements IDelegationNode { } try { const parent = await fetch(this.parentId) - const result = await parent.findAncestorOwnedBy(did) + const result = await parent.findAncestorOwnedBy(acceptedDids) result.steps += 1 return result } catch { diff --git a/packages/core/src/publicCredential/PublicCredential.chain.ts b/packages/core/src/publicCredential/PublicCredential.chain.ts index 2c3b1604e..6ef1bb3e0 100644 --- a/packages/core/src/publicCredential/PublicCredential.chain.ts +++ b/packages/core/src/publicCredential/PublicCredential.chain.ts @@ -22,7 +22,7 @@ import type { PublicCredentialsCredentialsCredentialEntry, } from '@kiltprotocol/augment-api' -import { encode as cborEncode, decode as cborDecode } from 'cbor' +import { encode as cborEncode, decode as cborDecode } from 'cbor-web' import { HexString } from '@polkadot/util/types' import { ConfigService } from '@kiltprotocol/config' diff --git a/packages/did/package.json b/packages/did/package.json index cb96f731d..7d23d0438 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.32.1", + "version": "0.33.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -23,7 +23,7 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", @@ -39,12 +39,12 @@ "@kiltprotocol/config": "workspace:*", "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", - "@polkadot/api": "^9.10.2", - "@polkadot/keyring": "^10.2.1", - "@polkadot/types": "^9.10.2", - "@polkadot/types-codec": "^9.10.2", - "@polkadot/util": "^10.2.1", - "@polkadot/util-crypto": "^10.2.1", - "cbor": "^8.1.0" + "@polkadot/api": "^10.4.0", + "@polkadot/keyring": "^12.0.0", + "@polkadot/types": "^10.4.0", + "@polkadot/types-codec": "^10.4.0", + "@polkadot/util": "^12.0.0", + "@polkadot/util-crypto": "^12.0.0", + "cbor-web": "^8.0.0" } } diff --git a/packages/did/src/DidDetails/LightDidDetails.ts b/packages/did/src/DidDetails/LightDidDetails.ts index 62331329b..6adcbc177 100644 --- a/packages/did/src/DidDetails/LightDidDetails.ts +++ b/packages/did/src/DidDetails/LightDidDetails.ts @@ -5,7 +5,7 @@ * found in the LICENSE file in the root directory of this source tree. */ -import { decode as cborDecode, encode as cborEncode } from 'cbor' +import { decode as cborDecode, encode as cborEncode } from 'cbor-web' import { base58Decode, base58Encode, diff --git a/packages/did/src/cbor-web.d.ts b/packages/did/src/cbor-web.d.ts new file mode 100644 index 000000000..4def7650e --- /dev/null +++ b/packages/did/src/cbor-web.d.ts @@ -0,0 +1 @@ +declare module 'cbor-web' diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 2d448fa53..ea74c3e65 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.32.1", + "version": "0.33.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -23,7 +23,7 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", @@ -39,6 +39,6 @@ "@kiltprotocol/did": "workspace:*", "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", - "@polkadot/util": "^10.2.1" + "@polkadot/util": "^12.0.0" } } diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index fdd55cdc9..59a4ca4b1 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.32.1", + "version": "0.33.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -25,22 +25,16 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", "bugs": "https://github.com/KILTprotocol/sdk-js/issues", "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "devDependencies": { - "buffer": "^6.0.3", - "crypto-browserify": "^3.12.0", - "process": "^0.11.10", "rimraf": "^3.0.2", - "stream-browserify": "^3.0.0", "terser-webpack-plugin": "^5.1.1", "typescript": "^4.8.3", - "url": "^0.11.0", - "util": "^0.12.4", "webpack": "^5.70.0", "webpack-cli": "^4.9.2" }, diff --git a/packages/sdk-js/webpack.config.js b/packages/sdk-js/webpack.config.js index f62477877..6fc6cd1bb 100644 --- a/packages/sdk-js/webpack.config.js +++ b/packages/sdk-js/webpack.config.js @@ -8,7 +8,6 @@ /* eslint-disable @typescript-eslint/no-var-requires */ const path = require('path') const TerserPlugin = require('terser-webpack-plugin') -const webpack = require('webpack') module.exports = { mode: 'production', @@ -27,14 +26,6 @@ module.exports = { resolve: { extensions: ['.ts', '.js', '.d.ts', '.mjs', '.json'], symlinks: false, - // Explicit fallbacks to include these in bundle - fallback: { - buffer: require.resolve('buffer'), - crypto: require.resolve('crypto-browserify'), - stream: require.resolve('stream-browserify'), - url: require.resolve('url'), - util: require.resolve('util'), - }, }, stats: { errorDetails: true, @@ -44,10 +35,4 @@ module.exports = { // only minimize the *.min* bundle output minimizer: [new TerserPlugin({ include: /\.min\.umd\.js$/ })], }, - plugins: [ - new webpack.ProvidePlugin({ - process: 'process/browser', - Buffer: ['buffer', 'Buffer'], - }), - ], } diff --git a/packages/testing/package.json b/packages/testing/package.json index f139f0c09..d36e7e687 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.32.1", + "version": "0.33.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -24,7 +24,7 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", @@ -34,14 +34,17 @@ "@kiltprotocol/chain-helpers": "workspace:*", "@kiltprotocol/config": "workspace:*", "@kiltprotocol/did": "workspace:*", + "@kiltprotocol/sdk-js": "workspace:*", "@kiltprotocol/type-definitions": "workspace:*", "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", - "@polkadot/api": "^9.10.2", - "@polkadot/keyring": "^10.2.1", - "@polkadot/types": "^9.10.2", - "@polkadot/util": "^10.2.1", - "@polkadot/util-crypto": "^10.2.1" + "@polkadot/api": "^10.4.0", + "@polkadot/keyring": "^12.0.0", + "@polkadot/types": "^10.4.0", + "@polkadot/util": "^12.0.0", + "@polkadot/util-crypto": "^12.0.0", + "tweetnacl": "^1.0.3", + "uuid": "^9.0.0" }, "devDependencies": { "rimraf": "^3.0.2", diff --git a/packages/testing/src/BreakingChanges.spec.ts b/packages/testing/src/BreakingChanges.spec.ts new file mode 100644 index 000000000..6890ec11a --- /dev/null +++ b/packages/testing/src/BreakingChanges.spec.ts @@ -0,0 +1,236 @@ +/** + * Copyright (c) 2018-2023, BOTLabs GmbH. + * + * This source code is licensed under the BSD 4-Clause "Original" license + * found in the LICENSE file in the root directory of this source tree. + */ + +/** + * @group breaking + */ + +import { + Attestation, + Claim, + Credential, + CType, + Did, + DidDocument, + DidKey, + DidResourceUri, + ICType, + Message, + MessageBody, + ResolvedDidKey, + Utils, +} from '@kiltprotocol/sdk-js' +import nacl from 'tweetnacl' +import { v4 } from 'uuid' +import { makeEncryptionKeyTool } from './TestUtils' + +jest.mock('uuid') +jest.mocked(v4).mockReturnValue('1ee1307c-9e65-475d-9061-0b5bfd86d2f7') + +// Mock nacl randombytes, so that the nonce and ciphertext stay the same between runs +jest.spyOn(nacl, 'randomBytes').mockReturnValue(new Uint8Array(24).fill(42)) + +function makeLightDidFromSeed(seed: string) { + const keypair = Utils.Crypto.makeKeypairFromUri(seed, 'sr25519') + const { keyAgreement, encrypt, decrypt } = makeEncryptionKeyTool(seed) + + const did = Did.createLightDidDocument({ + authentication: [keypair], + keyAgreement, + service: [ + { + id: '#1234', + type: ['KiltPublishedCredentialCollectionV1'], + serviceEndpoint: [ + 'https://ipfs.io/ipfs/QmNUAwg7JPK9nnuZiUri5nDaqLHqUFtNoZYtfD22Q6w3c8', + ], + }, + ], + }) + + return { did, encrypt, decrypt } +} + +function makeResolveKey(document: DidDocument) { + return async function resolveKey( + keyUri: DidResourceUri + ): Promise { + const { fragment } = Did.parse(keyUri) + const key = Did.getKey(document, fragment!) as DidKey + return { + controller: document!.uri, + id: keyUri!, + publicKey: key.publicKey, + type: key.type, + } + } +} + +describe('Breaking Changes', () => { + describe('Light DID', () => { + it('does not break the light did uri generation', () => { + const { did } = makeLightDidFromSeed( + '0x127f2375faf3472c2f94ffcdd5424590b27294631f2cb8041407e501bc97c44c' + ) + + expect(did.uri).toMatchInlineSnapshot( + `"did:kilt:light:004quk8nu1MLvzdoT4fE6SJsLS4fFpyvuGz7sQpMF7ZAWTDoF5:z1msTRicERqs59nwMvp3yzMRBhUYGmkum7ehY7rtKQc8HzfEx4b4eyRhrc37ZShT3oG7E89x89vaG9W4hRxPS23EAFnCSeVbVRrKGJmFQvYhjgKSMmrGC7gSxgHe1a3g41uamhD49AEi13YVMkgeHpyEQJBy7N7gGyW7jTWFcwzAnws4wSazBVG1qHmVJrhmusoJoTfKTPKXkExKyur8Z341EkcRkHteY8dV3VjLXHnfhRW2yU9oM2cRm5ozgaufxrXsQBx33ygTW2wvrfzzXsYw4Bs6Vf2tC3ipBTDcKyCk6G88LYnzBosRM15W3KmDRciJ2iPjqiQkhYm77EQyaw"` + ) + + expect( + Did.parseDocumentFromLightDid( + 'did:kilt:light:004quk8nu1MLvzdoT4fE6SJsLS4fFpyvuGz7sQpMF7ZAWTDoF5:z1msTRicERqs59nwMvp3yzMRBhUYGmkum7ehY7rtKQc8HzfEx4b4eyRhrc37ZShT3oG7E89x89vaG9W4hRxPS23EAFnCSeVbVRrKGJmFQvYhjgKSMmrGC7gSxgHe1a3g41uamhD49AEi13YVMkgeHpyEQJBy7N7gGyW7jTWFcwzAnws4wSazBVG1qHmVJrhmusoJoTfKTPKXkExKyur8Z341EkcRkHteY8dV3VjLXHnfhRW2yU9oM2cRm5ozgaufxrXsQBx33ygTW2wvrfzzXsYw4Bs6Vf2tC3ipBTDcKyCk6G88LYnzBosRM15W3KmDRciJ2iPjqiQkhYm77EQyaw' + ) + ).toMatchSnapshot() + }) + }) + describe('Messages', () => { + it('does not break Message & EncryptedMessage structure', async () => { + const { did: aliceDid, encrypt } = makeLightDidFromSeed( + '0xdc6f4d21a91848eeeac1811c73a2323060ef2d8d4a07ece2f216d5b8f977520b' + ) + const { did: bobDid, decrypt } = makeLightDidFromSeed( + '0xa748f38e896ddc52b6e5cc5baa754f7f841381ef32bf1d86d51026857c6c05dc' + ) + + // Mock Date object for message.createdAt property + jest.useFakeTimers().setSystemTime(1657727664899) + + const message = Message.fromBody( + { + type: 'request-terms', + content: { + cTypeHash: '0x1234', + }, + }, + aliceDid.uri, + bobDid.uri + ) + + expect(message).toMatchSnapshot() + + const encrypted = await Message.encrypt( + message, + encrypt(aliceDid), + `${bobDid.uri}#encryption`, + { + resolveKey: makeResolveKey(bobDid), + } + ) + + expect(encrypted).toMatchSnapshot() + + const decrypted = await Message.decrypt(encrypted, decrypt, { + resolveKey: makeResolveKey(aliceDid), + }) + + expect(decrypted).toMatchObject(message) + }) + + it('does not break for attestation flow', async () => { + // attestation flow + + const attester = makeLightDidFromSeed( + '0xdc6f4d21a91848eeeac1811c73a2323060ef2d8d4a07ece2f216d5b8f977520b' + ) + const user = makeLightDidFromSeed( + '0xa748f38e896ddc52b6e5cc5baa754f7f841381ef32bf1d86d51026857c6c05dc' + ) + + const cType: ICType = { + $id: 'kilt:ctype:0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c', + $schema: 'http://kilt-protocol.org/draft-01/ctype#', + title: 'CtypeModel 2', + properties: { + name: { type: 'string' }, + }, + type: 'object', + } + + const requestTerms: MessageBody = { + type: 'request-terms', + content: { + cTypeHash: CType.idToHash(cType.$id), + }, + } + expect(requestTerms).toMatchSnapshot('request-terms') + + const claim = Claim.fromCTypeAndClaimContents( + cType, + { name: 'Bob' }, + attester.did.uri + ) + expect(claim).toMatchSnapshot('claim') + + const submitTerms: MessageBody = { + type: 'submit-terms', + content: { + claim, + legitimations: [], + }, + } + expect(submitTerms).toMatchSnapshot('submit-terms') + + claim.owner = user.did.uri + const credential = Credential.fromClaim(claim, { legitimations: [] }) + expect(credential).toMatchSnapshot('credential') + + const requestAttestation: MessageBody = { + type: 'request-attestation', + content: { credential }, + } + expect(requestAttestation).toMatchSnapshot('request-attestation') + + const attestation = Attestation.fromCredentialAndDid( + credential, + attester.did.uri + ) + expect(attestation).toMatchSnapshot('attestation') + + const submitAttestation: MessageBody = { + type: 'submit-attestation', + content: { attestation }, + } + expect(submitAttestation).toMatchSnapshot('submit-attestation') + + // verification flow + + const challenge = '0xCAFE' + const requestCredential: MessageBody = { + type: 'request-credential', + content: { + cTypes: [ + { + cTypeHash: CType.idToHash(cType.$id), + requiredProperties: ['name'], + trustedAttesters: [attester.did.uri], + }, + ], + challenge, + }, + } + expect(requestCredential).toMatchSnapshot('request-credential') + + const presentation = await Credential.createPresentation({ + credential, + challenge, + signCallback: async () => ({ + signature: new Uint8Array(32).fill(0), + keyUri: `${user.did.uri}${user.did.authentication[0].id}`, + keyType: user.did.authentication[0].type, + }), + }) + expect(presentation).toMatchSnapshot('presentation') + + const submitCredential: MessageBody = { + type: 'submit-credential', + content: [presentation], + } + expect(submitCredential).toMatchSnapshot('submit-credential') + }) + }) +}) diff --git a/packages/testing/src/__snapshots__/BreakingChanges.spec.ts.snap b/packages/testing/src/__snapshots__/BreakingChanges.spec.ts.snap new file mode 100644 index 000000000..4fbd05fa3 --- /dev/null +++ b/packages/testing/src/__snapshots__/BreakingChanges.spec.ts.snap @@ -0,0 +1,315 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Breaking Changes Light DID does not break the light did uri generation 2`] = ` +Object { + "authentication": Array [ + Object { + "id": "#authentication", + "publicKey": Uint8Array [ + 132, + 117, + 202, + 107, + 32, + 117, + 65, + 75, + 144, + 208, + 20, + 4, + 48, + 45, + 244, + 241, + 128, + 233, + 2, + 34, + 245, + 207, + 151, + 130, + 136, + 196, + 221, + 171, + 217, + 138, + 223, + 87, + ], + "type": "sr25519", + }, + ], + "keyAgreement": Array [ + Object { + "id": "#encryption", + "publicKey": Uint8Array [ + 179, + 105, + 8, + 2, + 142, + 166, + 2, + 93, + 171, + 137, + 241, + 223, + 93, + 81, + 205, + 56, + 196, + 187, + 68, + 98, + 208, + 96, + 61, + 232, + 107, + 199, + 25, + 48, + 0, + 117, + 210, + 19, + ], + "type": "x25519", + }, + ], + "service": Array [ + Object { + "id": "#1234", + "serviceEndpoint": Array [ + "https://ipfs.io/ipfs/QmNUAwg7JPK9nnuZiUri5nDaqLHqUFtNoZYtfD22Q6w3c8", + ], + "type": Array [ + "KiltPublishedCredentialCollectionV1", + ], + }, + ], + "uri": "did:kilt:light:004quk8nu1MLvzdoT4fE6SJsLS4fFpyvuGz7sQpMF7ZAWTDoF5:z1msTRicERqs59nwMvp3yzMRBhUYGmkum7ehY7rtKQc8HzfEx4b4eyRhrc37ZShT3oG7E89x89vaG9W4hRxPS23EAFnCSeVbVRrKGJmFQvYhjgKSMmrGC7gSxgHe1a3g41uamhD49AEi13YVMkgeHpyEQJBy7N7gGyW7jTWFcwzAnws4wSazBVG1qHmVJrhmusoJoTfKTPKXkExKyur8Z341EkcRkHteY8dV3VjLXHnfhRW2yU9oM2cRm5ozgaufxrXsQBx33ygTW2wvrfzzXsYw4Bs6Vf2tC3ipBTDcKyCk6G88LYnzBosRM15W3KmDRciJ2iPjqiQkhYm77EQyaw", +} +`; + +exports[`Breaking Changes Messages does not break Message & EncryptedMessage structure 1`] = ` +Object { + "body": Object { + "content": Object { + "cTypeHash": "0x1234", + }, + "type": "request-terms", + }, + "createdAt": 1657727664899, + "messageId": "0xa3970143a4d6796c764c4fb49cecfb55229429f6fb8d7748969bf1f3679db22a", + "receiver": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83", + "sender": "did:kilt:light:004rn1Xps9QSMiAb2aMoKQbAred94wh1iLjGmNBYy1FVCS81ry:z1msTRicERqs59nwMvp3yzMRBhRatQoZZaiSZfyN7TzqeEs1bHHTCH3RURC6zWk5B8HXGZThZos9PJFJrkiYchNGbAGQRKSKucBVDVoXBLDyEm4P1dsco9wyoaWa5kkFw6DZgnKrTJg8Y8iCy7k2yo8GeMXAuR8qoBFFXj7Up7DxKJrMoQudvFHTy2uk2HPNfqkzJX17Wqsny1MKHD82eC3TcjrGCkhMZy3NmzkySmLsDmmHnG2csZ5vvefFRFZ1hSKfUtcV8EnLd3zozsiZByaLrED2XVbuHqPVzqcnrCJF8fSm49NcGDgsQkwnQwbuKfMkov9WwJoxhDSYG6e7WP", +} +`; + +exports[`Breaking Changes Messages does not break Message & EncryptedMessage structure 2`] = ` +Object { + "ciphertext": "0x8edac73d2230d66ba1a177db550773afa4f2d914786050424594c89f07ccbc2f643df95ba030281079a92215c66d76a74b39e6013cb8a5e1459a6853fdbfb522bff1295cbf9e5e2d6947de5974dafe6de32e6d42e2c349f07b5bb934a504d0a227d502e920cadfae44869ed041d86916cee71e0619650f15a1a04f27751f0839e8f3c629d626a54f489c4170b3ffefe118039925124acba91c097bf4d8c582f26c8a3b0f1dba93bf8da6b8f2a2a4303ac529c7028aec026f6baeb1ae95d90884f12890f4bc2d535247a170dd68a6828573e36502ef0d99fb4cdb0750b84902876009cca8662f952746cad88c9a8285b8be42ad349c67de540fb92e122d52c2ffa4c8e229076990ce60b13b64ddb6d769017262597bb33085cb8e09d5189f2077e48ece3c0100a1aa11935237a1ee3ef80200c4ccf92bb41d75c83238ac18360c6ce81df45ade968a59aff9fddf6a475fd976f581c267ddc377a1a239997ccdfd92f0e8d3a6b1b76f520e1c25ea7e3954ed555eb4ac02d68562cd1f031b724a063606c95d528c91b80ea49786303d0a6e7201e16f3e0d5571f205069da31874ed8e6c5d380cce070b2cb96961d2f594cc4a5dffc94e3782bf6a1da3bbc1af2f773e79250e09c3206b0e0c7a08a001393526220831f3735c07bf68c8ccca07260b8cb1acbb66163c73af0d783eb035a99add5d604f10916432846279524e8741b57961d52583ced5b79943c986a9f28d99be029b00e5688afcb3731152861a37ddf5e70c95dd64e2d765a4d0a662f93d16a3650c505dc2e4a048b0d585fadc8c4efa23360e81292c2ae88027068deed4ff3cd97d961b58afd95728aa4ce03340ebf13a4bc7d4b6f8b5e69a7a3ecb18c79a06946466d0b29ca0bd00c47d1256fe564b48eac37b389c246d9b556dc67921e27fb6a8aeb93953c1947834432e5ade8117bcad7173f9d8b43ebf4cce89789744d55215a8bbdfd9a7222cafccc02a3c62e5a26794ef21d1bba441f0aa9ca3e077f32e06daa22264345b66dbf34dbb9219434ad7c21b386de7587c3612fc36b63bdf650206a191fea82855a5181942c151c8a90741c8a930c570350f863ca448d908f7f1a098b0521a14c9c49bf99bd1715ebed5a93b3bc7e04fcd845efcc564448d0426e21496ca124ca8c96a1a598e90529d65fc33d64b937b16a077eaa052b10d34ef91a321a2c0476601318a7eaecc8308d618d82db10f8978c4310e1384bfb043d0a12c20325c4ceef36e144a9f2fb94d0dc546b5b4cbce162569e8e40454d219750eb85758555547c0900874bd2ca7c561aeab4e2b5e26130d91e22196fd138e8e73f6414c50c08a6f981e8a1ed244c2ee2f5c4d446d793e0039b5f75ea40215ebb2e2bcf8fae608173a00ccc24e016176417bbac0ce5682932341fc3a2a106a4f6d83dbf17a81fc7d0e5cbe52c92ece5789e8e8b3", + "nonce": "0x2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a", + "receivedAt": undefined, + "receiverKeyUri": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83#encryption", + "senderKeyUri": "did:kilt:light:004rn1Xps9QSMiAb2aMoKQbAred94wh1iLjGmNBYy1FVCS81ry:z1msTRicERqs59nwMvp3yzMRBhRatQoZZaiSZfyN7TzqeEs1bHHTCH3RURC6zWk5B8HXGZThZos9PJFJrkiYchNGbAGQRKSKucBVDVoXBLDyEm4P1dsco9wyoaWa5kkFw6DZgnKrTJg8Y8iCy7k2yo8GeMXAuR8qoBFFXj7Up7DxKJrMoQudvFHTy2uk2HPNfqkzJX17Wqsny1MKHD82eC3TcjrGCkhMZy3NmzkySmLsDmmHnG2csZ5vvefFRFZ1hSKfUtcV8EnLd3zozsiZByaLrED2XVbuHqPVzqcnrCJF8fSm49NcGDgsQkwnQwbuKfMkov9WwJoxhDSYG6e7WP#encryption", +} +`; + +exports[`Breaking Changes Messages does not break for attestation flow: attestation 1`] = ` +Object { + "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", + "claimHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", + "delegationId": null, + "owner": "did:kilt:light:004rn1Xps9QSMiAb2aMoKQbAred94wh1iLjGmNBYy1FVCS81ry:z1msTRicERqs59nwMvp3yzMRBhRatQoZZaiSZfyN7TzqeEs1bHHTCH3RURC6zWk5B8HXGZThZos9PJFJrkiYchNGbAGQRKSKucBVDVoXBLDyEm4P1dsco9wyoaWa5kkFw6DZgnKrTJg8Y8iCy7k2yo8GeMXAuR8qoBFFXj7Up7DxKJrMoQudvFHTy2uk2HPNfqkzJX17Wqsny1MKHD82eC3TcjrGCkhMZy3NmzkySmLsDmmHnG2csZ5vvefFRFZ1hSKfUtcV8EnLd3zozsiZByaLrED2XVbuHqPVzqcnrCJF8fSm49NcGDgsQkwnQwbuKfMkov9WwJoxhDSYG6e7WP", + "revoked": false, +} +`; + +exports[`Breaking Changes Messages does not break for attestation flow: claim 1`] = ` +Object { + "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", + "contents": Object { + "name": "Bob", + }, + "owner": "did:kilt:light:004rn1Xps9QSMiAb2aMoKQbAred94wh1iLjGmNBYy1FVCS81ry:z1msTRicERqs59nwMvp3yzMRBhRatQoZZaiSZfyN7TzqeEs1bHHTCH3RURC6zWk5B8HXGZThZos9PJFJrkiYchNGbAGQRKSKucBVDVoXBLDyEm4P1dsco9wyoaWa5kkFw6DZgnKrTJg8Y8iCy7k2yo8GeMXAuR8qoBFFXj7Up7DxKJrMoQudvFHTy2uk2HPNfqkzJX17Wqsny1MKHD82eC3TcjrGCkhMZy3NmzkySmLsDmmHnG2csZ5vvefFRFZ1hSKfUtcV8EnLd3zozsiZByaLrED2XVbuHqPVzqcnrCJF8fSm49NcGDgsQkwnQwbuKfMkov9WwJoxhDSYG6e7WP", +} +`; + +exports[`Breaking Changes Messages does not break for attestation flow: credential 1`] = ` +Object { + "claim": Object { + "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", + "contents": Object { + "name": "Bob", + }, + "owner": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83", + }, + "claimHashes": Array [ + "0x901805bb5659ecf21cc79d50a98021d49eb83ee136a2609d4377dd615a271a78", + "0xdaff2311c04ea4d2c16e9bd3dc4debba9822e5c4cfb53e36b48f090036169575", + ], + "claimNonceMap": Object { + "0x499856031d06ddecbda0c1e0f1c0de4f53f614732f205190d81d0c76e793bdf0": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", + "0x721cf4dd222afba0b79565332ac711cb634762052c3c2d45434f53f465d030f7": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", + }, + "delegationId": null, + "legitimations": Array [], + "rootHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", +} +`; + +exports[`Breaking Changes Messages does not break for attestation flow: presentation 1`] = ` +Object { + "claim": Object { + "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", + "contents": Object { + "name": "Bob", + }, + "owner": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83", + }, + "claimHashes": Array [ + "0x901805bb5659ecf21cc79d50a98021d49eb83ee136a2609d4377dd615a271a78", + "0xdaff2311c04ea4d2c16e9bd3dc4debba9822e5c4cfb53e36b48f090036169575", + ], + "claimNonceMap": Object { + "0x499856031d06ddecbda0c1e0f1c0de4f53f614732f205190d81d0c76e793bdf0": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", + "0x721cf4dd222afba0b79565332ac711cb634762052c3c2d45434f53f465d030f7": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", + }, + "claimerSignature": Object { + "challenge": "0xCAFE", + "keyUri": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83#authentication", + "signature": "0x0000000000000000000000000000000000000000000000000000000000000000", + }, + "delegationId": null, + "legitimations": Array [], + "rootHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", +} +`; + +exports[`Breaking Changes Messages does not break for attestation flow: request-attestation 1`] = ` +Object { + "content": Object { + "credential": Object { + "claim": Object { + "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", + "contents": Object { + "name": "Bob", + }, + "owner": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83", + }, + "claimHashes": Array [ + "0x901805bb5659ecf21cc79d50a98021d49eb83ee136a2609d4377dd615a271a78", + "0xdaff2311c04ea4d2c16e9bd3dc4debba9822e5c4cfb53e36b48f090036169575", + ], + "claimNonceMap": Object { + "0x499856031d06ddecbda0c1e0f1c0de4f53f614732f205190d81d0c76e793bdf0": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", + "0x721cf4dd222afba0b79565332ac711cb634762052c3c2d45434f53f465d030f7": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", + }, + "delegationId": null, + "legitimations": Array [], + "rootHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", + }, + }, + "type": "request-attestation", +} +`; + +exports[`Breaking Changes Messages does not break for attestation flow: request-credential 1`] = ` +Object { + "content": Object { + "cTypes": Array [ + Object { + "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", + "requiredProperties": Array [ + "name", + ], + "trustedAttesters": Array [ + "did:kilt:light:004rn1Xps9QSMiAb2aMoKQbAred94wh1iLjGmNBYy1FVCS81ry:z1msTRicERqs59nwMvp3yzMRBhRatQoZZaiSZfyN7TzqeEs1bHHTCH3RURC6zWk5B8HXGZThZos9PJFJrkiYchNGbAGQRKSKucBVDVoXBLDyEm4P1dsco9wyoaWa5kkFw6DZgnKrTJg8Y8iCy7k2yo8GeMXAuR8qoBFFXj7Up7DxKJrMoQudvFHTy2uk2HPNfqkzJX17Wqsny1MKHD82eC3TcjrGCkhMZy3NmzkySmLsDmmHnG2csZ5vvefFRFZ1hSKfUtcV8EnLd3zozsiZByaLrED2XVbuHqPVzqcnrCJF8fSm49NcGDgsQkwnQwbuKfMkov9WwJoxhDSYG6e7WP", + ], + }, + ], + "challenge": "0xCAFE", + }, + "type": "request-credential", +} +`; + +exports[`Breaking Changes Messages does not break for attestation flow: request-terms 1`] = ` +Object { + "content": Object { + "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", + }, + "type": "request-terms", +} +`; + +exports[`Breaking Changes Messages does not break for attestation flow: submit-attestation 1`] = ` +Object { + "content": Object { + "attestation": Object { + "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", + "claimHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", + "delegationId": null, + "owner": "did:kilt:light:004rn1Xps9QSMiAb2aMoKQbAred94wh1iLjGmNBYy1FVCS81ry:z1msTRicERqs59nwMvp3yzMRBhRatQoZZaiSZfyN7TzqeEs1bHHTCH3RURC6zWk5B8HXGZThZos9PJFJrkiYchNGbAGQRKSKucBVDVoXBLDyEm4P1dsco9wyoaWa5kkFw6DZgnKrTJg8Y8iCy7k2yo8GeMXAuR8qoBFFXj7Up7DxKJrMoQudvFHTy2uk2HPNfqkzJX17Wqsny1MKHD82eC3TcjrGCkhMZy3NmzkySmLsDmmHnG2csZ5vvefFRFZ1hSKfUtcV8EnLd3zozsiZByaLrED2XVbuHqPVzqcnrCJF8fSm49NcGDgsQkwnQwbuKfMkov9WwJoxhDSYG6e7WP", + "revoked": false, + }, + }, + "type": "submit-attestation", +} +`; + +exports[`Breaking Changes Messages does not break for attestation flow: submit-credential 1`] = ` +Object { + "content": Array [ + Object { + "claim": Object { + "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", + "contents": Object { + "name": "Bob", + }, + "owner": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83", + }, + "claimHashes": Array [ + "0x901805bb5659ecf21cc79d50a98021d49eb83ee136a2609d4377dd615a271a78", + "0xdaff2311c04ea4d2c16e9bd3dc4debba9822e5c4cfb53e36b48f090036169575", + ], + "claimNonceMap": Object { + "0x499856031d06ddecbda0c1e0f1c0de4f53f614732f205190d81d0c76e793bdf0": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", + "0x721cf4dd222afba0b79565332ac711cb634762052c3c2d45434f53f465d030f7": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", + }, + "claimerSignature": Object { + "challenge": "0xCAFE", + "keyUri": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83#authentication", + "signature": "0x0000000000000000000000000000000000000000000000000000000000000000", + }, + "delegationId": null, + "legitimations": Array [], + "rootHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", + }, + ], + "type": "submit-credential", +} +`; + +exports[`Breaking Changes Messages does not break for attestation flow: submit-terms 1`] = ` +Object { + "content": Object { + "claim": Object { + "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", + "contents": Object { + "name": "Bob", + }, + "owner": "did:kilt:light:004rn1Xps9QSMiAb2aMoKQbAred94wh1iLjGmNBYy1FVCS81ry:z1msTRicERqs59nwMvp3yzMRBhRatQoZZaiSZfyN7TzqeEs1bHHTCH3RURC6zWk5B8HXGZThZos9PJFJrkiYchNGbAGQRKSKucBVDVoXBLDyEm4P1dsco9wyoaWa5kkFw6DZgnKrTJg8Y8iCy7k2yo8GeMXAuR8qoBFFXj7Up7DxKJrMoQudvFHTy2uk2HPNfqkzJX17Wqsny1MKHD82eC3TcjrGCkhMZy3NmzkySmLsDmmHnG2csZ5vvefFRFZ1hSKfUtcV8EnLd3zozsiZByaLrED2XVbuHqPVzqcnrCJF8fSm49NcGDgsQkwnQwbuKfMkov9WwJoxhDSYG6e7WP", + }, + "legitimations": Array [], + }, + "type": "submit-terms", +} +`; diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 10a997515..d39869564 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.32.1", + "version": "0.33.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -23,7 +23,7 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", diff --git a/packages/types/package.json b/packages/types/package.json index 14a555dfd..e7a609abd 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.32.1", + "version": "0.33.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -23,18 +23,18 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", "bugs": "https://github.com/KILTprotocol/sdk-js/issues", "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "dependencies": { - "@polkadot/api": "^9.10.2", - "@polkadot/keyring": "^10.2.1", - "@polkadot/types": "^9.10.2", - "@polkadot/util": "^10.2.1", - "@polkadot/util-crypto": "^10.2.1" + "@polkadot/api": "^10.4.0", + "@polkadot/keyring": "^12.0.0", + "@polkadot/types": "^10.4.0", + "@polkadot/util": "^12.0.0", + "@polkadot/util-crypto": "^12.0.0" }, "devDependencies": { "rimraf": "^3.0.2", diff --git a/packages/types/src/CType.ts b/packages/types/src/CType.ts index 45bfc673c..c0737de15 100644 --- a/packages/types/src/CType.ts +++ b/packages/types/src/CType.ts @@ -7,23 +7,56 @@ import type { HexString } from '@polkadot/util/types' -export type InstanceType = - | 'array' - | 'boolean' - | 'integer' - | 'null' - | 'number' - | 'object' - | 'string' +export type InstanceType = 'boolean' | 'integer' | 'number' | 'string' | 'array' export type CTypeHash = HexString +interface TypePattern { + type: InstanceType +} + +interface StringPattern extends TypePattern { + type: 'string' + format?: 'date' | 'time' | 'uri' + enum?: string[] + minLength?: number + maxLength?: number +} + +interface NumberPattern extends TypePattern { + type: 'integer' | 'number' + enum?: number[] + minimum?: number + maximum?: number +} + +interface BooleanPattern extends TypePattern { + type: 'boolean' +} + +interface RefPattern { + $ref: string +} + +interface ArrayPattern extends TypePattern { + type: 'array' + items: BooleanPattern | NumberPattern | StringPattern | RefPattern + minItems?: number + maxItems?: number +} + export interface ICType { $id: `kilt:ctype:${CTypeHash}` $schema: string title: string properties: { - [key: string]: { $ref?: string; type?: InstanceType; format?: string } + [key: string]: + | BooleanPattern + | NumberPattern + | StringPattern + | ArrayPattern + | RefPattern } type: 'object' + additionalProperties?: false } diff --git a/packages/types/src/Claim.ts b/packages/types/src/Claim.ts index 42f448fdb..5e8691644 100644 --- a/packages/types/src/Claim.ts +++ b/packages/types/src/Claim.ts @@ -8,10 +8,15 @@ import type { CTypeHash } from './CType' import type { DidUri } from './DidDocument' -export type IClaimContents = Record< - string, - Record | string | number | boolean -> +type ClaimPrimitives = string | number | boolean + +export interface IClaimContents { + [key: string]: + | ClaimPrimitives + | IClaimContents + | Array +} + export interface IClaim { cTypeHash: CTypeHash contents: IClaimContents diff --git a/packages/utils/package.json b/packages/utils/package.json index 2bd4280f9..39111a069 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.32.1", + "version": "0.33.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -23,7 +23,7 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", @@ -35,10 +35,10 @@ }, "dependencies": { "@kiltprotocol/types": "workspace:*", - "@polkadot/api": "^9.10.2", - "@polkadot/keyring": "^10.2.1", - "@polkadot/util": "^10.2.1", - "@polkadot/util-crypto": "^10.2.1", + "@polkadot/api": "^10.4.0", + "@polkadot/keyring": "^12.0.0", + "@polkadot/util": "^12.0.0", + "@polkadot/util-crypto": "^12.0.0", "tweetnacl": "^1.0.3", "uuid": "^9.0.0" } diff --git a/packages/utils/src/Crypto.ts b/packages/utils/src/Crypto.ts index 434acb11d..7c5a7b65c 100644 --- a/packages/utils/src/Crypto.ts +++ b/packages/utils/src/Crypto.ts @@ -30,7 +30,6 @@ import { import { blake2AsHex, blake2AsU8a, - naclBoxPairFromSecret, randomAsU8a, signatureVerify, } from '@polkadot/util-crypto' @@ -42,14 +41,20 @@ import jsonabc from './jsonabc.js' import * as SDKErrors from './SDKErrors.js' import { ss58Format } from './ss58Format.js' -export { - naclBoxPairFromSecret, - mnemonicGenerate, - mnemonicToMiniSecret, -} from '@polkadot/util-crypto' +export { mnemonicGenerate, mnemonicToMiniSecret } from '@polkadot/util-crypto' export { encodeAddress, decodeAddress, u8aToHex, u8aConcat } +/** + * Creates a new public/secret box keypair from a secret. + * + * @param secret The secret. + * @returns An object containing a box `publicKey` & `secretKey` generated from the supplied secret. + */ +export function naclBoxPairFromSecret(secret: Uint8Array): nacl.BoxKeyPair { + return nacl.box.keyPair.fromSecretKey(secret) +} + /** * Types accepted by hashing and crypto functions. */ diff --git a/packages/utils/src/SDKErrors.ts b/packages/utils/src/SDKErrors.ts index e13e13b67..32dcb7814 100644 --- a/packages/utils/src/SDKErrors.ts +++ b/packages/utils/src/SDKErrors.ts @@ -159,8 +159,6 @@ export class CredentialUnverifiableError extends SDKError {} export class ClaimUnverifiableError extends SDKError {} -export class NestedClaimUnverifiableError extends SDKError {} - export class IdentityMismatchError extends SDKError { constructor(context?: string, type?: string) { if (type && context) { @@ -173,15 +171,6 @@ export class IdentityMismatchError extends SDKError { } } -export class BlockchainApiMissingError extends SDKError { - constructor(options?: ErrorOptions) { - super( - 'The blockchain API is not set. Did you forget to call `Kilt.connect(…)` or `Kilt.init(…)`?', - options - ) - } -} - export class SubscriptionsNotSupportedError extends SDKError { constructor(options?: ErrorOptions) { super( diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 4060727bc..09e58b59a 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.32.1", + "version": "0.33.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -23,7 +23,7 @@ }, "repository": "github:kiltprotocol/sdk-js", "engines": { - "node": ">=14.0" + "node": ">=16.0" }, "author": "", "license": "BSD-4-Clause", @@ -41,10 +41,10 @@ "@kiltprotocol/did": "workspace:*", "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", - "@polkadot/api": "^9.10.2", - "@polkadot/types": "^9.10.2", - "@polkadot/util": "^10.2.1", - "@polkadot/util-crypto": "^10.2.1", + "@polkadot/api": "^10.4.0", + "@polkadot/types": "^10.4.0", + "@polkadot/util": "^12.0.0", + "@polkadot/util-crypto": "^12.0.0", "jsonld": "^2.0.2", "jsonld-signatures": "^5.0.0", "vc-js": "^0.6.4" diff --git a/packages/vc-export/src/exportToVerifiableCredential.spec.ts b/packages/vc-export/src/exportToVerifiableCredential.spec.ts index 391ee338d..ba815b371 100644 --- a/packages/vc-export/src/exportToVerifiableCredential.spec.ts +++ b/packages/vc-export/src/exportToVerifiableCredential.spec.ts @@ -33,6 +33,11 @@ import { KILT_VERIFIABLECREDENTIAL_TYPE, } from './constants' +jest.mock('@kiltprotocol/core', () => ({ + ...jest.requireActual('@kiltprotocol/core'), + Attestation: { fromChain: jest.fn() }, +})) + const mockedApi: any = ApiMocks.getMockedApi() const ctype: ICType = { @@ -327,7 +332,7 @@ describe('proofs', () => { mockedApi.query.attestation.attestations.mockResolvedValueOnce( encodedAttestation ) - jest.spyOn(Attestation, 'fromChain').mockReturnValue(attestation) + jest.mocked(Attestation.fromChain).mockReturnValue(attestation) const result = await verificationUtils.verifyAttestedProof( VC, diff --git a/packages/vc-export/src/vc-js/suites/KiltAttestedSuite.spec.ts b/packages/vc-export/src/vc-js/suites/KiltAttestedSuite.spec.ts index de3ac0162..b5a76b6f8 100644 --- a/packages/vc-export/src/vc-js/suites/KiltAttestedSuite.spec.ts +++ b/packages/vc-export/src/vc-js/suites/KiltAttestedSuite.spec.ts @@ -46,7 +46,11 @@ const encodedAttestation = ApiMocks.mockChainQueryReturn( ) mockedApi.query.attestation.attestations.mockResolvedValue(encodedAttestation) -const spy = jest.spyOn(Attestation, 'fromChain').mockReturnValue(attestation) +jest.mock('@kiltprotocol/core', () => ({ + ...jest.requireActual('@kiltprotocol/core'), + Attestation: { fromChain: jest.fn() }, +})) +const spy = jest.mocked(Attestation.fromChain).mockReturnValue(attestation) let suite: AttestationSuite let purpose: jsigs.purposes.ProofPurpose diff --git a/tests/cbor-web.d.ts b/tests/cbor-web.d.ts new file mode 100644 index 000000000..4def7650e --- /dev/null +++ b/tests/cbor-web.d.ts @@ -0,0 +1 @@ +declare module 'cbor-web' diff --git a/tests/tsconfig.json b/tests/tsconfig.json index ba717355b..073b69d65 100644 --- a/tests/tsconfig.json +++ b/tests/tsconfig.json @@ -1,6 +1,6 @@ { "extends": "../tsconfig.json", - "include": ["bundle-test.ts", "types.d.ts"], + "include": ["bundle-test.ts", "types.d.ts", "cbor-web.d.ts"], "compilerOptions": { "module": "None", "resolveJsonModule": false, diff --git a/tsconfig.json b/tsconfig.json index 61386ace1..cf928ba32 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -18,6 +18,7 @@ "@kiltprotocol/docs": ["docs/src"], "@kiltprotocol/testing": ["testing/src"], "@kiltprotocol/augment-api": ["augment-api/src"], + "@kiltprotocol/augment-api/extraDefs": ["augment-api/src/interfaces/extraDefs"], "@kiltprotocol/type-definitions": ["type-definitions/src"], } }, diff --git a/yarn.lock b/yarn.lock index 1b56c7a24..9ae7a4c95 100644 --- a/yarn.lock +++ b/yarn.lock @@ -39,7 +39,7 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.20.5, @babel/core@npm:^7.7.2, @babel/core@npm:^7.8.0": +"@babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.7.2, @babel/core@npm:^7.8.0": version: 7.20.5 resolution: "@babel/core@npm:7.20.5" dependencies: @@ -1243,22 +1243,7 @@ __metadata: languageName: node linkType: hard -"@babel/register@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/register@npm:7.18.9" - dependencies: - clone-deep: ^4.0.1 - find-cache-dir: ^2.0.0 - make-dir: ^2.1.0 - pirates: ^4.0.5 - source-map-support: ^0.5.16 - peerDependencies: - "@babel/core": ^7.0.0-0 - checksum: 4aeaff97e061a397f632659082ba86c539ef8194697b236d991c10d1c2ea8f73213d3b5b3b2c24625951a1ef726b7a7d2e70f70ffcb37f79ef0c1a745eebef21 - languageName: node - linkType: hard - -"@babel/runtime@npm:^7.20.6, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.6": +"@babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.6": version: 7.20.6 resolution: "@babel/runtime@npm:7.20.6" dependencies: @@ -1857,14 +1842,12 @@ __metadata: resolution: "@kiltprotocol/augment-api@workspace:packages/augment-api" dependencies: "@kiltprotocol/type-definitions": "workspace:*" - "@polkadot/api": ^9.10.2 - "@polkadot/typegen": ^9.10.2 - "@types/websocket": ^1.0.5 + "@polkadot/api": ^10.4.0 + "@polkadot/typegen": ^10.4.0 glob: ^7.1.1 rimraf: ^3.0.2 ts-node: ^10.4.0 typescript: ^4.8.3 - websocket: ^1.0.34 yargs: ^16.2.0 languageName: unknown linkType: soft @@ -1877,9 +1860,9 @@ __metadata: "@kiltprotocol/testing": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.2.1 - "@polkadot/types": ^9.10.2 + "@polkadot/api": ^10.4.0 + "@polkadot/keyring": ^12.0.0 + "@polkadot/types": ^10.4.0 rimraf: ^3.0.2 typescript: ^4.8.3 languageName: unknown @@ -1890,8 +1873,7 @@ __metadata: resolution: "@kiltprotocol/config@workspace:packages/config" dependencies: "@kiltprotocol/types": "workspace:*" - "@kiltprotocol/utils": "workspace:*" - "@polkadot/api": ^9.10.2 + "@polkadot/api": ^10.4.0 rimraf: ^3.0.2 typescript: ^4.8.3 typescript-logging: ^1.0.0 @@ -1911,13 +1893,13 @@ __metadata: "@kiltprotocol/type-definitions": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.2.1 - "@polkadot/types": ^9.10.2 - "@polkadot/util": ^10.2.1 - "@polkadot/util-crypto": ^10.2.1 + "@polkadot/api": ^10.4.0 + "@polkadot/keyring": ^12.0.0 + "@polkadot/types": ^10.4.0 + "@polkadot/util": ^12.0.0 + "@polkadot/util-crypto": ^12.0.0 "@types/uuid": ^8.0.0 - cbor: ^8.1.0 + cbor-web: ^8.0.0 rimraf: ^3.0.2 testcontainers: ^9.0.0 typescript: ^4.8.3 @@ -1933,13 +1915,13 @@ __metadata: "@kiltprotocol/testing": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.2.1 - "@polkadot/types": ^9.10.2 - "@polkadot/types-codec": ^9.10.2 - "@polkadot/util": ^10.2.1 - "@polkadot/util-crypto": ^10.2.1 - cbor: ^8.1.0 + "@polkadot/api": ^10.4.0 + "@polkadot/keyring": ^12.0.0 + "@polkadot/types": ^10.4.0 + "@polkadot/types-codec": ^10.4.0 + "@polkadot/util": ^12.0.0 + "@polkadot/util-crypto": ^12.0.0 + cbor-web: ^8.0.0 rimraf: ^3.0.2 typescript: ^4.8.3 languageName: unknown @@ -1954,13 +1936,13 @@ __metadata: "@kiltprotocol/testing": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - "@polkadot/util": ^10.2.1 + "@polkadot/util": ^12.0.0 rimraf: ^3.0.2 typescript: ^4.8.3 languageName: unknown linkType: soft -"@kiltprotocol/sdk-js@workspace:packages/sdk-js": +"@kiltprotocol/sdk-js@workspace:*, @kiltprotocol/sdk-js@workspace:packages/sdk-js": version: 0.0.0-use.local resolution: "@kiltprotocol/sdk-js@workspace:packages/sdk-js" dependencies: @@ -1971,15 +1953,9 @@ __metadata: "@kiltprotocol/messaging": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - buffer: ^6.0.3 - crypto-browserify: ^3.12.0 - process: ^0.11.10 rimraf: ^3.0.2 - stream-browserify: ^3.0.0 terser-webpack-plugin: ^5.1.1 typescript: ^4.8.3 - url: ^0.11.0 - util: ^0.12.4 webpack: ^5.70.0 webpack-cli: ^4.9.2 languageName: unknown @@ -1992,16 +1968,19 @@ __metadata: "@kiltprotocol/chain-helpers": "workspace:*" "@kiltprotocol/config": "workspace:*" "@kiltprotocol/did": "workspace:*" + "@kiltprotocol/sdk-js": "workspace:*" "@kiltprotocol/type-definitions": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.2.1 - "@polkadot/types": ^9.10.2 - "@polkadot/util": ^10.2.1 - "@polkadot/util-crypto": ^10.2.1 + "@polkadot/api": ^10.4.0 + "@polkadot/keyring": ^12.0.0 + "@polkadot/types": ^10.4.0 + "@polkadot/util": ^12.0.0 + "@polkadot/util-crypto": ^12.0.0 rimraf: ^3.0.2 + tweetnacl: ^1.0.3 typescript: ^4.8.3 + uuid: ^9.0.0 languageName: unknown linkType: soft @@ -2018,11 +1997,11 @@ __metadata: version: 0.0.0-use.local resolution: "@kiltprotocol/types@workspace:packages/types" dependencies: - "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.2.1 - "@polkadot/types": ^9.10.2 - "@polkadot/util": ^10.2.1 - "@polkadot/util-crypto": ^10.2.1 + "@polkadot/api": ^10.4.0 + "@polkadot/keyring": ^12.0.0 + "@polkadot/types": ^10.4.0 + "@polkadot/util": ^12.0.0 + "@polkadot/util-crypto": ^12.0.0 rimraf: ^3.0.2 typescript: ^4.8.3 languageName: unknown @@ -2033,10 +2012,10 @@ __metadata: resolution: "@kiltprotocol/utils@workspace:packages/utils" dependencies: "@kiltprotocol/types": "workspace:*" - "@polkadot/api": ^9.10.2 - "@polkadot/keyring": ^10.2.1 - "@polkadot/util": ^10.2.1 - "@polkadot/util-crypto": ^10.2.1 + "@polkadot/api": ^10.4.0 + "@polkadot/keyring": ^12.0.0 + "@polkadot/util": ^12.0.0 + "@polkadot/util-crypto": ^12.0.0 rimraf: ^3.0.2 tweetnacl: ^1.0.3 typescript: ^4.8.3 @@ -2054,10 +2033,10 @@ __metadata: "@kiltprotocol/testing": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - "@polkadot/api": ^9.10.2 - "@polkadot/types": ^9.10.2 - "@polkadot/util": ^10.2.1 - "@polkadot/util-crypto": ^10.2.1 + "@polkadot/api": ^10.4.0 + "@polkadot/types": ^10.4.0 + "@polkadot/util": ^12.0.0 + "@polkadot/util-crypto": ^12.0.0 "@types/jsonld": 1.5.1 jsonld: ^2.0.2 jsonld-signatures: ^5.0.0 @@ -2067,17 +2046,19 @@ __metadata: languageName: unknown linkType: soft -"@noble/hashes@npm:1.1.3": - version: 1.1.3 - resolution: "@noble/hashes@npm:1.1.3" - checksum: a6f9783d2a33fc528c8709532b1c26cc3f5866f79c66256e881b28c61a1585be3899b008aa4e5e2b4e01b95c713722f52591cbb18ec51aa0ec63e7eaece1b89c +"@noble/curves@npm:1.0.0": + version: 1.0.0 + resolution: "@noble/curves@npm:1.0.0" + dependencies: + "@noble/hashes": 1.3.0 + checksum: 6bcef44d626c640dc8961819d68dd67dffb907e3b973b7c27efe0ecdd9a5c6ce62c7b9e3dfc930c66605dced7f1ec0514d191c09a2ce98d6d52b66e3315ffa79 languageName: node linkType: hard -"@noble/secp256k1@npm:1.7.0": - version: 1.7.0 - resolution: "@noble/secp256k1@npm:1.7.0" - checksum: 540a2b8e527ee1e5522af1c430e54945ad373883cac983b115136cd0950efa1f2c473ee6a36d8e69b6809b3ee586276de62f5fa705c77a9425721e81bada8116 +"@noble/hashes@npm:1.3.0": + version: 1.3.0 + resolution: "@noble/hashes@npm:1.3.0" + checksum: d7ddb6d7c60f1ce1f87facbbef5b724cdea536fc9e7f59ae96e0fc9de96c8f1a2ae2bdedbce10f7dcc621338dfef8533daa73c873f2b5c87fa1a4e05a95c2e2e languageName: node linkType: hard @@ -2140,440 +2121,442 @@ __metadata: languageName: node linkType: hard -"@polkadot/api-augment@npm:9.10.2": - version: 9.10.2 - resolution: "@polkadot/api-augment@npm:9.10.2" - dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/api-base": 9.10.2 - "@polkadot/rpc-augment": 9.10.2 - "@polkadot/types": 9.10.2 - "@polkadot/types-augment": 9.10.2 - "@polkadot/types-codec": 9.10.2 - "@polkadot/util": ^10.2.1 - checksum: 79b2162195b63933aae4be1452f07c00ce78f7d08e927f6c832942a2609438ebd32a4ec6103b779e36a0dad53a0e622416b36a3d67a91232219f3d7b4244fae3 - languageName: node - linkType: hard - -"@polkadot/api-base@npm:9.10.2": - version: 9.10.2 - resolution: "@polkadot/api-base@npm:9.10.2" - dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/rpc-core": 9.10.2 - "@polkadot/types": 9.10.2 - "@polkadot/util": ^10.2.1 - rxjs: ^7.6.0 - checksum: 648616b77e11adc3dfd09a1d5d5128c5ba6510f23d5a6b16599fce3c31e19d4d2b69367ae9b0891839f17f618e054b2dbc01f7322900a32c97e740a07080dada - languageName: node - linkType: hard - -"@polkadot/api-derive@npm:9.10.2": - version: 9.10.2 - resolution: "@polkadot/api-derive@npm:9.10.2" - dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/api": 9.10.2 - "@polkadot/api-augment": 9.10.2 - "@polkadot/api-base": 9.10.2 - "@polkadot/rpc-core": 9.10.2 - "@polkadot/types": 9.10.2 - "@polkadot/types-codec": 9.10.2 - "@polkadot/util": ^10.2.1 - "@polkadot/util-crypto": ^10.2.1 - rxjs: ^7.6.0 - checksum: 4cd5f26baaea161908b942ffff68d5311b139c70bee4067718757e02bce1d38ec0e02c2d8658b7f14794f86e139283f1db51f2294a57f865d5ce8326b39eb1b5 - languageName: node - linkType: hard - -"@polkadot/api@npm:9.10.2, @polkadot/api@npm:^9.10.2": - version: 9.10.2 - resolution: "@polkadot/api@npm:9.10.2" - dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/api-augment": 9.10.2 - "@polkadot/api-base": 9.10.2 - "@polkadot/api-derive": 9.10.2 - "@polkadot/keyring": ^10.2.1 - "@polkadot/rpc-augment": 9.10.2 - "@polkadot/rpc-core": 9.10.2 - "@polkadot/rpc-provider": 9.10.2 - "@polkadot/types": 9.10.2 - "@polkadot/types-augment": 9.10.2 - "@polkadot/types-codec": 9.10.2 - "@polkadot/types-create": 9.10.2 - "@polkadot/types-known": 9.10.2 - "@polkadot/util": ^10.2.1 - "@polkadot/util-crypto": ^10.2.1 - eventemitter3: ^4.0.7 - rxjs: ^7.6.0 - checksum: dc912213e567cfdb262ccfdfae71bb03da5172760f452968173c371015130bad48a9cb65335fe94acda5dd39a1c8f1a0820f9a885150c9f325c53e1578002e25 +"@polkadot/api-augment@npm:10.7.3": + version: 10.7.3 + resolution: "@polkadot/api-augment@npm:10.7.3" + dependencies: + "@polkadot/api-base": 10.7.3 + "@polkadot/rpc-augment": 10.7.3 + "@polkadot/types": 10.7.3 + "@polkadot/types-augment": 10.7.3 + "@polkadot/types-codec": 10.7.3 + "@polkadot/util": ^12.2.1 + tslib: ^2.5.2 + checksum: f723f033a00b5635d94ceec20f8ba299c0bfa92132142392b686c58c50e44e6082e4946681035c727feb25ea8210ccd953aa5b8420af51d27a42a0ed134c4117 + languageName: node + linkType: hard + +"@polkadot/api-base@npm:10.7.3": + version: 10.7.3 + resolution: "@polkadot/api-base@npm:10.7.3" + dependencies: + "@polkadot/rpc-core": 10.7.3 + "@polkadot/types": 10.7.3 + "@polkadot/util": ^12.2.1 + rxjs: ^7.8.1 + tslib: ^2.5.2 + checksum: f618fcb5d2b3aa20e9e3c13e081e464efc433ee12bda77c16b45899bcb496615e4e8d0ab651ed17f078d10d31f3bfee83225131f55a714a961f45d91208a3cda languageName: node linkType: hard -"@polkadot/keyring@npm:^10.2.1": - version: 10.2.1 - resolution: "@polkadot/keyring@npm:10.2.1" +"@polkadot/api-derive@npm:10.7.3": + version: 10.7.3 + resolution: "@polkadot/api-derive@npm:10.7.3" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/util": 10.2.1 - "@polkadot/util-crypto": 10.2.1 + "@polkadot/api": 10.7.3 + "@polkadot/api-augment": 10.7.3 + "@polkadot/api-base": 10.7.3 + "@polkadot/rpc-core": 10.7.3 + "@polkadot/types": 10.7.3 + "@polkadot/types-codec": 10.7.3 + "@polkadot/util": ^12.2.1 + "@polkadot/util-crypto": ^12.2.1 + rxjs: ^7.8.1 + tslib: ^2.5.2 + checksum: 61f0f6d85a4deb744747d7f2a0ae5e4a69ef29e823ae6819f1afb3e8ff2a7f93a40afec085531cda98039310fdfab24529408dcd04c3706e778c6a977ec84d74 + languageName: node + linkType: hard + +"@polkadot/api@npm:10.7.3, @polkadot/api@npm:^10.4.0": + version: 10.7.3 + resolution: "@polkadot/api@npm:10.7.3" + dependencies: + "@polkadot/api-augment": 10.7.3 + "@polkadot/api-base": 10.7.3 + "@polkadot/api-derive": 10.7.3 + "@polkadot/keyring": ^12.2.1 + "@polkadot/rpc-augment": 10.7.3 + "@polkadot/rpc-core": 10.7.3 + "@polkadot/rpc-provider": 10.7.3 + "@polkadot/types": 10.7.3 + "@polkadot/types-augment": 10.7.3 + "@polkadot/types-codec": 10.7.3 + "@polkadot/types-create": 10.7.3 + "@polkadot/types-known": 10.7.3 + "@polkadot/util": ^12.2.1 + "@polkadot/util-crypto": ^12.2.1 + eventemitter3: ^5.0.1 + rxjs: ^7.8.1 + tslib: ^2.5.2 + checksum: f1080ceec0ea5ac91cf32972e15e3c91be348b603fbc6ce8ec58a145fd65efa183090e792c4e4def406704afa55992b86ee4ad9a41a238ae69d7e3dd7db4f08e + languageName: node + linkType: hard + +"@polkadot/keyring@npm:^12.0.0, @polkadot/keyring@npm:^12.2.1": + version: 12.2.1 + resolution: "@polkadot/keyring@npm:12.2.1" + dependencies: + "@polkadot/util": 12.2.1 + "@polkadot/util-crypto": 12.2.1 + tslib: ^2.5.0 peerDependencies: - "@polkadot/util": 10.2.1 - "@polkadot/util-crypto": 10.2.1 - checksum: 7a7fa99c92d6381a706cd763c56b3ef53798b005e9abd1d4d15aaf5088b0bd1f2fc3152b6acc140c851bc8c8c3236bf4a6bc47b64da2cb1af94b442df24cdbff + "@polkadot/util": 12.2.1 + "@polkadot/util-crypto": 12.2.1 + checksum: 8f637cdec89ee66964f0017c26330dac734779b0eb60611ee01d292d99fb6de7b31c7c1054e1214c27c7f2edb65d5b17fcdb36348e556282efa33445630a77a7 languageName: node linkType: hard -"@polkadot/networks@npm:10.2.1, @polkadot/networks@npm:^10.2.1": - version: 10.2.1 - resolution: "@polkadot/networks@npm:10.2.1" +"@polkadot/networks@npm:12.2.1, @polkadot/networks@npm:^12.2.1": + version: 12.2.1 + resolution: "@polkadot/networks@npm:12.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/util": 10.2.1 - "@substrate/ss58-registry": ^1.35.0 - checksum: e0c741731facc15edbe62b8dc84844cae651d27020af3586a0bc29307e3b9b21b4394d70f170826d69531b58ab45a86857b655f0e9bb7e29161aed1d0f624170 + "@polkadot/util": 12.2.1 + "@substrate/ss58-registry": ^1.40.0 + tslib: ^2.5.0 + checksum: e3005a5c5045633784ffcf0dda91eb4aeab92dba30a255315743b2d49145c5b5c30edd1e997ecdb0c096d2423e1665fe44ad2c79be054b371a89bafdf2247950 languageName: node linkType: hard -"@polkadot/rpc-augment@npm:9.10.2": - version: 9.10.2 - resolution: "@polkadot/rpc-augment@npm:9.10.2" +"@polkadot/rpc-augment@npm:10.7.3": + version: 10.7.3 + resolution: "@polkadot/rpc-augment@npm:10.7.3" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/rpc-core": 9.10.2 - "@polkadot/types": 9.10.2 - "@polkadot/types-codec": 9.10.2 - "@polkadot/util": ^10.2.1 - checksum: 8221e8bd746da9b258920c94a5d813e45d8f52e7e26e0116890752561a1b16a386468218237b1c2275906768bb01a495827c082e1b0e642ab35169517e54be15 + "@polkadot/rpc-core": 10.7.3 + "@polkadot/types": 10.7.3 + "@polkadot/types-codec": 10.7.3 + "@polkadot/util": ^12.2.1 + tslib: ^2.5.2 + checksum: cfd96ab3823197cb1f0dba5da767683114b300fd5b2bfe6c2b10245ba8fe0616f42795a4fa524c9de990d23e65b82207b7c7ecf7cb99208802c675deb676f35d languageName: node linkType: hard -"@polkadot/rpc-core@npm:9.10.2": - version: 9.10.2 - resolution: "@polkadot/rpc-core@npm:9.10.2" +"@polkadot/rpc-core@npm:10.7.3": + version: 10.7.3 + resolution: "@polkadot/rpc-core@npm:10.7.3" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/rpc-augment": 9.10.2 - "@polkadot/rpc-provider": 9.10.2 - "@polkadot/types": 9.10.2 - "@polkadot/util": ^10.2.1 - rxjs: ^7.6.0 - checksum: 1b87438a59bc6c65568517df3cddbd43b34df5af01a83831c17987f4e1e37b8a5e1d80eabb98741bc547b72cd65a4b5e48b414463c79c56c187af141cab7f711 + "@polkadot/rpc-augment": 10.7.3 + "@polkadot/rpc-provider": 10.7.3 + "@polkadot/types": 10.7.3 + "@polkadot/util": ^12.2.1 + rxjs: ^7.8.1 + tslib: ^2.5.2 + checksum: 1dfc37686070372a132a6651b44d5dc031de51370f68db5ddcd256c346e5e8d718a89ba67e53d490a50aa8f00daf8098a7db714bed13d3dfba0c7868c8544aa9 languageName: node linkType: hard -"@polkadot/rpc-provider@npm:9.10.2": - version: 9.10.2 - resolution: "@polkadot/rpc-provider@npm:9.10.2" +"@polkadot/rpc-provider@npm:10.7.3": + version: 10.7.3 + resolution: "@polkadot/rpc-provider@npm:10.7.3" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/keyring": ^10.2.1 - "@polkadot/types": 9.10.2 - "@polkadot/types-support": 9.10.2 - "@polkadot/util": ^10.2.1 - "@polkadot/util-crypto": ^10.2.1 - "@polkadot/x-fetch": ^10.2.1 - "@polkadot/x-global": ^10.2.1 - "@polkadot/x-ws": ^10.2.1 - "@substrate/connect": 0.7.17 - eventemitter3: ^4.0.7 - mock-socket: ^9.1.5 - nock: ^13.2.9 - checksum: b3fdc1fdcde27d57af542fad30af441328fc8270f9bef7e5537dc253c96b660894e20c109b177b7ba2d82e050c5ae5ff2929a9c6fb985de7a0b90f5bb6e3f867 - languageName: node - linkType: hard - -"@polkadot/typegen@npm:^9.10.2": - version: 9.10.2 - resolution: "@polkadot/typegen@npm:9.10.2" - dependencies: - "@babel/core": ^7.20.5 - "@babel/register": ^7.18.9 - "@babel/runtime": ^7.20.6 - "@polkadot/api": 9.10.2 - "@polkadot/api-augment": 9.10.2 - "@polkadot/rpc-augment": 9.10.2 - "@polkadot/rpc-provider": 9.10.2 - "@polkadot/types": 9.10.2 - "@polkadot/types-augment": 9.10.2 - "@polkadot/types-codec": 9.10.2 - "@polkadot/types-create": 9.10.2 - "@polkadot/types-support": 9.10.2 - "@polkadot/util": ^10.2.1 - "@polkadot/util-crypto": ^10.2.1 - "@polkadot/x-ws": ^10.2.1 + "@polkadot/keyring": ^12.2.1 + "@polkadot/types": 10.7.3 + "@polkadot/types-support": 10.7.3 + "@polkadot/util": ^12.2.1 + "@polkadot/util-crypto": ^12.2.1 + "@polkadot/x-fetch": ^12.2.1 + "@polkadot/x-global": ^12.2.1 + "@polkadot/x-ws": ^12.2.1 + "@substrate/connect": 0.7.26 + eventemitter3: ^5.0.1 + mock-socket: ^9.2.1 + nock: ^13.3.1 + tslib: ^2.5.2 + dependenciesMeta: + "@substrate/connect": + optional: true + checksum: e4c2987bab30a3f5693f6a3381e45dc13c638d438a38bf9b098cb7cf879f279ca8a0f5f070faf59472d00fda3d72470a6abaddf855fb60b221f77dc775a13505 + languageName: node + linkType: hard + +"@polkadot/typegen@npm:^10.4.0": + version: 10.7.3 + resolution: "@polkadot/typegen@npm:10.7.3" + dependencies: + "@polkadot/api": 10.7.3 + "@polkadot/api-augment": 10.7.3 + "@polkadot/rpc-augment": 10.7.3 + "@polkadot/rpc-provider": 10.7.3 + "@polkadot/types": 10.7.3 + "@polkadot/types-augment": 10.7.3 + "@polkadot/types-codec": 10.7.3 + "@polkadot/types-create": 10.7.3 + "@polkadot/types-support": 10.7.3 + "@polkadot/util": ^12.2.1 + "@polkadot/util-crypto": ^12.2.1 + "@polkadot/x-ws": ^12.2.1 handlebars: ^4.7.7 - websocket: ^1.0.34 - yargs: ^17.6.2 + tslib: ^2.5.2 + yargs: ^17.7.2 bin: - polkadot-types-chain-info: scripts/polkadot-types-chain-info.cjs - polkadot-types-from-chain: scripts/polkadot-types-from-chain.cjs - polkadot-types-from-defs: scripts/polkadot-types-from-defs.cjs - polkadot-types-internal-interfaces: scripts/polkadot-types-internal-interfaces.cjs - polkadot-types-internal-metadata: scripts/polkadot-types-internal-metadata.cjs - checksum: c2ecdb251cfb4021f0fddc2eebe6605db6d921d12d86a6298517b71056cfa0d0350d4fbf86e43c358792786540558a66b8b30da50c12281591f8fa716ba1dd19 + polkadot-types-chain-info: scripts/polkadot-types-chain-info.mjs + polkadot-types-from-chain: scripts/polkadot-types-from-chain.mjs + polkadot-types-from-defs: scripts/polkadot-types-from-defs.mjs + polkadot-types-internal-interfaces: scripts/polkadot-types-internal-interfaces.mjs + polkadot-types-internal-metadata: scripts/polkadot-types-internal-metadata.mjs + checksum: 12179641d4e68d1918e9accf1f7fb2bf08eed617722456cf6c3c246711e389db4909a91783f9a9440d2887594b7e637cb0ee712e5ad715430c33adbcd57d6ae6 languageName: node linkType: hard -"@polkadot/types-augment@npm:9.10.2": - version: 9.10.2 - resolution: "@polkadot/types-augment@npm:9.10.2" +"@polkadot/types-augment@npm:10.7.3": + version: 10.7.3 + resolution: "@polkadot/types-augment@npm:10.7.3" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/types": 9.10.2 - "@polkadot/types-codec": 9.10.2 - "@polkadot/util": ^10.2.1 - checksum: 6d6671726a5e025a16d5386db9039a06e864a7a52c70d301de07ba4884d2d2735e5c6a26029fb4b7db02d67a30d26d2e6891d5eff6085530daf8c048bf9ca240 + "@polkadot/types": 10.7.3 + "@polkadot/types-codec": 10.7.3 + "@polkadot/util": ^12.2.1 + tslib: ^2.5.2 + checksum: 183323bc82d169a2de094039d498044fd6cfb66ad222f149d68d9ff45491c73954dc790fccb154f2820dfab8df685681d0f6116a6daaa2d4d947e0bce9dee821 languageName: node linkType: hard -"@polkadot/types-codec@npm:9.10.2, @polkadot/types-codec@npm:^9.10.2": - version: 9.10.2 - resolution: "@polkadot/types-codec@npm:9.10.2" +"@polkadot/types-codec@npm:10.7.3, @polkadot/types-codec@npm:^10.4.0": + version: 10.7.3 + resolution: "@polkadot/types-codec@npm:10.7.3" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/util": ^10.2.1 - "@polkadot/x-bigint": ^10.2.1 - checksum: 69366a7975f2ccf02b91a087579185e9580d7448e1aab96519ceb4e76d3b5d8e6a90337fc51789c7e6fec649067e7f05467bd8ff5e44d985a72068ae2e256603 + "@polkadot/util": ^12.2.1 + "@polkadot/x-bigint": ^12.2.1 + tslib: ^2.5.2 + checksum: 4656e5a8104ea49276803f67f5687deb115e9880732dee00f470d54964a9de2a1c651c76363032db909cf559f3c32488e6cdd2f7a5eeb473896a68c0d45bc4f4 languageName: node linkType: hard -"@polkadot/types-create@npm:9.10.2": - version: 9.10.2 - resolution: "@polkadot/types-create@npm:9.10.2" +"@polkadot/types-create@npm:10.7.3": + version: 10.7.3 + resolution: "@polkadot/types-create@npm:10.7.3" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/types-codec": 9.10.2 - "@polkadot/util": ^10.2.1 - checksum: c32a07924512d3698fcbdc38da9490ee5ce91910533d7756fbab9a8455b8010bc8bba33b727869299aae0acfeaaa49b661364593b49b0ee7df6882cad30e7e4a + "@polkadot/types-codec": 10.7.3 + "@polkadot/util": ^12.2.1 + tslib: ^2.5.2 + checksum: 231c70e410fadfd264c03d03a5e4f9921b616796f7b8bffcbc18076bf1c818539f65cf307a4ad715b8e33c54a4838ecef268052460f9c3672dfe9ddcb76e8f10 languageName: node linkType: hard -"@polkadot/types-known@npm:9.10.2": - version: 9.10.2 - resolution: "@polkadot/types-known@npm:9.10.2" +"@polkadot/types-known@npm:10.7.3": + version: 10.7.3 + resolution: "@polkadot/types-known@npm:10.7.3" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/networks": ^10.2.1 - "@polkadot/types": 9.10.2 - "@polkadot/types-codec": 9.10.2 - "@polkadot/types-create": 9.10.2 - "@polkadot/util": ^10.2.1 - checksum: 9e0fb68bf5136f752955564b8691fc218f0f41415d791d93171d22c83bc88f524dbc3b6e49c17b9621aee80ba8953022c5b25d0da71256214331215121f82d19 + "@polkadot/networks": ^12.2.1 + "@polkadot/types": 10.7.3 + "@polkadot/types-codec": 10.7.3 + "@polkadot/types-create": 10.7.3 + "@polkadot/util": ^12.2.1 + tslib: ^2.5.2 + checksum: 86e05b5d6407f76db27e2d2756225eb7ffc45ce3dc2fc2bdf16c33e88488ccabc282b45583a4d797ca20e6e412f81f82697960fe3249d1faa4001c5925ef0a9a languageName: node linkType: hard -"@polkadot/types-support@npm:9.10.2": - version: 9.10.2 - resolution: "@polkadot/types-support@npm:9.10.2" +"@polkadot/types-support@npm:10.7.3": + version: 10.7.3 + resolution: "@polkadot/types-support@npm:10.7.3" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/util": ^10.2.1 - checksum: 8e00f42211a7d8155a36ab8662b3ddf5b6b849e4e16a36213b12d6cb2030b47664fc7433d29a7bab61808142e9c03e68ddfe30d33fa70dee5d10333a37faaf5d + "@polkadot/util": ^12.2.1 + tslib: ^2.5.2 + checksum: 2ad88346a5c38479cdda318950be3f1f559060df23786c4f93048d4935586bfe7e96faea36b3f40168eb7380d78c4c96a7a08ff450b60bfe1146f4bcd26af531 languageName: node linkType: hard -"@polkadot/types@npm:9.10.2, @polkadot/types@npm:^9.10.2": - version: 9.10.2 - resolution: "@polkadot/types@npm:9.10.2" +"@polkadot/types@npm:10.7.3, @polkadot/types@npm:^10.4.0": + version: 10.7.3 + resolution: "@polkadot/types@npm:10.7.3" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/keyring": ^10.2.1 - "@polkadot/types-augment": 9.10.2 - "@polkadot/types-codec": 9.10.2 - "@polkadot/types-create": 9.10.2 - "@polkadot/util": ^10.2.1 - "@polkadot/util-crypto": ^10.2.1 - rxjs: ^7.6.0 - checksum: f2973ec02b086d3df395151170c7dba5b33791a40e5ce9f40f8bbb475c53c7097d1305aa9be64097c9642b2e7334e97bc0c93aebc15c07a59633e81b3d2a8975 + "@polkadot/keyring": ^12.2.1 + "@polkadot/types-augment": 10.7.3 + "@polkadot/types-codec": 10.7.3 + "@polkadot/types-create": 10.7.3 + "@polkadot/util": ^12.2.1 + "@polkadot/util-crypto": ^12.2.1 + rxjs: ^7.8.1 + tslib: ^2.5.2 + checksum: 6ab5393ce7998de88c2206f01ebed7bb28f2ff08bf1eea6ff3d8dc04f1c8ba6f0a68cef10bc39fb8a76cc444f8bb9e5bfe61b63225e3bd9693785c8222f294cc languageName: node linkType: hard -"@polkadot/util-crypto@npm:10.2.1, @polkadot/util-crypto@npm:^10.2.1": - version: 10.2.1 - resolution: "@polkadot/util-crypto@npm:10.2.1" +"@polkadot/util-crypto@npm:12.2.1, @polkadot/util-crypto@npm:^12.0.0, @polkadot/util-crypto@npm:^12.2.1": + version: 12.2.1 + resolution: "@polkadot/util-crypto@npm:12.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@noble/hashes": 1.1.3 - "@noble/secp256k1": 1.7.0 - "@polkadot/networks": 10.2.1 - "@polkadot/util": 10.2.1 - "@polkadot/wasm-crypto": ^6.4.1 - "@polkadot/x-bigint": 10.2.1 - "@polkadot/x-randomvalues": 10.2.1 + "@noble/curves": 1.0.0 + "@noble/hashes": 1.3.0 + "@polkadot/networks": 12.2.1 + "@polkadot/util": 12.2.1 + "@polkadot/wasm-crypto": ^7.2.1 + "@polkadot/wasm-util": ^7.2.1 + "@polkadot/x-bigint": 12.2.1 + "@polkadot/x-randomvalues": 12.2.1 "@scure/base": 1.1.1 - ed2curve: ^0.3.0 - tweetnacl: ^1.0.3 + tslib: ^2.5.0 peerDependencies: - "@polkadot/util": 10.2.1 - checksum: 159860330435550eb3266c87a36d8076a602adb82724aa8109e32028f1148abbf2082f8eb89ebdbabb708e7190a746c328750b192b8e990d6bd06d1e3f7bf582 + "@polkadot/util": 12.2.1 + checksum: d999d791b8b4d5834dec6de6a1e957482211d11753a27b112eaeb0a59a4502fcd85ad8fbcc46e55609d6d797de6cec78af0f90983b33898b63506ff2f9167f90 languageName: node linkType: hard -"@polkadot/util@npm:10.2.1, @polkadot/util@npm:^10.2.1": - version: 10.2.1 - resolution: "@polkadot/util@npm:10.2.1" +"@polkadot/util@npm:12.2.1, @polkadot/util@npm:^12.0.0, @polkadot/util@npm:^12.2.1": + version: 12.2.1 + resolution: "@polkadot/util@npm:12.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/x-bigint": 10.2.1 - "@polkadot/x-global": 10.2.1 - "@polkadot/x-textdecoder": 10.2.1 - "@polkadot/x-textencoder": 10.2.1 + "@polkadot/x-bigint": 12.2.1 + "@polkadot/x-global": 12.2.1 + "@polkadot/x-textdecoder": 12.2.1 + "@polkadot/x-textencoder": 12.2.1 "@types/bn.js": ^5.1.1 bn.js: ^5.2.1 - checksum: e4ee46762e36410f8fd3cfd61b340030a72081387acae5cf4fdb14de4bb57fde81c2df02e78d8dc9f1df88ca3a606de1e85945d735ac0ac7996740fbb7970c0f + tslib: ^2.5.0 + checksum: 850f0c82ee9a76f2b3da78cd5d37568a045ee0b5da25f491f275290843b460eb383dc3c9058918522bf09f0c0e1acca67445ee49615c557e94f14c392048be40 languageName: node linkType: hard -"@polkadot/wasm-bridge@npm:6.4.1": - version: 6.4.1 - resolution: "@polkadot/wasm-bridge@npm:6.4.1" +"@polkadot/wasm-bridge@npm:7.2.1": + version: 7.2.1 + resolution: "@polkadot/wasm-bridge@npm:7.2.1" dependencies: - "@babel/runtime": ^7.20.6 + "@polkadot/wasm-util": 7.2.1 + tslib: ^2.5.0 peerDependencies: "@polkadot/util": "*" "@polkadot/x-randomvalues": "*" - checksum: 02d9cd1b5c2f6d0261004229751137ef829b38c12e0e844548ef356f9b65dc9a82ec4dcad32f4a156e3c8666b21ef4a8e0c2e5e0e1c51a51a2d7d00373f6f65e + checksum: 6f4d255665f6c1552df9abcf8e99ee36b220c446c74e4da7ac21f3c578c3736695db41e816ef83226d98231c535df8daea6d2266c3090bdd8e7609fa87447de9 languageName: node linkType: hard -"@polkadot/wasm-crypto-asmjs@npm:6.4.1": - version: 6.4.1 - resolution: "@polkadot/wasm-crypto-asmjs@npm:6.4.1" +"@polkadot/wasm-crypto-asmjs@npm:7.2.1": + version: 7.2.1 + resolution: "@polkadot/wasm-crypto-asmjs@npm:7.2.1" dependencies: - "@babel/runtime": ^7.20.6 + tslib: ^2.5.0 peerDependencies: "@polkadot/util": "*" - checksum: 6c2bba5014c373dfc18ec82bb7779141bfaea7d90e3e198fee0bc8ba3078238fee9bf1bb7138a3cbb8b5ad01ade603c44ce838e17940a610fbeec6341a17a0f3 + checksum: 9d7f2ac6f73cc2ed390941a35426763c73e6f20374eb11ed60b880a6f716c2773cb1fe1cddb9416ab669c75b25b7d99be25c8c91886bb676d6faf9b4658f8fd7 languageName: node linkType: hard -"@polkadot/wasm-crypto-init@npm:6.4.1": - version: 6.4.1 - resolution: "@polkadot/wasm-crypto-init@npm:6.4.1" +"@polkadot/wasm-crypto-init@npm:7.2.1": + version: 7.2.1 + resolution: "@polkadot/wasm-crypto-init@npm:7.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/wasm-bridge": 6.4.1 - "@polkadot/wasm-crypto-asmjs": 6.4.1 - "@polkadot/wasm-crypto-wasm": 6.4.1 + "@polkadot/wasm-bridge": 7.2.1 + "@polkadot/wasm-crypto-asmjs": 7.2.1 + "@polkadot/wasm-crypto-wasm": 7.2.1 + "@polkadot/wasm-util": 7.2.1 + tslib: ^2.5.0 peerDependencies: "@polkadot/util": "*" "@polkadot/x-randomvalues": "*" - checksum: e1d30cae9588607cbbe35f539df2cb3fca6b69d65ab7907ca24183931953de0e8d7e61be4af7c30a05295a16a1a9255256a6420a049ddf38c155400f91187956 + checksum: 97105a9e846e97d9d678526e5dd1b491cd71e705c759a8ace9e0e9a54aa045b2b512bdcdd524ea6684963b6cb0fc0a44043d2198bc680c893e1feaaf4d860e76 languageName: node linkType: hard -"@polkadot/wasm-crypto-wasm@npm:6.4.1": - version: 6.4.1 - resolution: "@polkadot/wasm-crypto-wasm@npm:6.4.1" +"@polkadot/wasm-crypto-wasm@npm:7.2.1": + version: 7.2.1 + resolution: "@polkadot/wasm-crypto-wasm@npm:7.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/wasm-util": 6.4.1 + "@polkadot/wasm-util": 7.2.1 + tslib: ^2.5.0 peerDependencies: "@polkadot/util": "*" - checksum: 21c72028d2e4333b54fb212980e3dc51827ffaf90364df1932205162859eab9b1be3a7767e1c3c5e8cfcf6ad2bc8cb9dafd3be59ada250b77679fa7ade67c646 + checksum: f000fab2fc682a4d4d2029b483701a64091b9be0d75df82f3337a48d65ffdac8d76c828f46810cb5aae6b9ec77bdf3963ae8b8668106ea9e5c0c19f57637655d languageName: node linkType: hard -"@polkadot/wasm-crypto@npm:^6.4.1": - version: 6.4.1 - resolution: "@polkadot/wasm-crypto@npm:6.4.1" +"@polkadot/wasm-crypto@npm:^7.2.1": + version: 7.2.1 + resolution: "@polkadot/wasm-crypto@npm:7.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/wasm-bridge": 6.4.1 - "@polkadot/wasm-crypto-asmjs": 6.4.1 - "@polkadot/wasm-crypto-init": 6.4.1 - "@polkadot/wasm-crypto-wasm": 6.4.1 - "@polkadot/wasm-util": 6.4.1 + "@polkadot/wasm-bridge": 7.2.1 + "@polkadot/wasm-crypto-asmjs": 7.2.1 + "@polkadot/wasm-crypto-init": 7.2.1 + "@polkadot/wasm-crypto-wasm": 7.2.1 + "@polkadot/wasm-util": 7.2.1 + tslib: ^2.5.0 peerDependencies: "@polkadot/util": "*" "@polkadot/x-randomvalues": "*" - checksum: 2892834aa2357e5974257810be625b0f08a35a3ba1def4a87e4989636dc7a43691357fdbfbeab4595eb47cd90177dba3c0ce95e593219db7c488fdf450d86357 + checksum: f42f2bc34cf76d1438893f72a233080196c9a95dd3c53444f582150c7f56b75c80b8b8b9b4a3d9015438a6f7438c6e40def46b1fe7ce3a367bcd280f2bf29c98 languageName: node linkType: hard -"@polkadot/wasm-util@npm:6.4.1": - version: 6.4.1 - resolution: "@polkadot/wasm-util@npm:6.4.1" +"@polkadot/wasm-util@npm:7.2.1, @polkadot/wasm-util@npm:^7.2.1": + version: 7.2.1 + resolution: "@polkadot/wasm-util@npm:7.2.1" dependencies: - "@babel/runtime": ^7.20.6 + tslib: ^2.5.0 peerDependencies: "@polkadot/util": "*" - checksum: 6d5ef0aa9af7ca9fe23149793bd1fa9f864b41695b49ab5ae5c23b3ac761c310edf382fe0d0a0d812dc07b10a2d0b056de5750947867a94ab87ab51e176d94b3 + checksum: 8df30296664807c27b01d37a3e9f124fdc22aef61e633b1a538a7c533f485a2aa756c43e67aac8d0c8383273432783b78e5528c5bc1ffcf508e7faaa5009e618 languageName: node linkType: hard -"@polkadot/x-bigint@npm:10.2.1, @polkadot/x-bigint@npm:^10.2.1": - version: 10.2.1 - resolution: "@polkadot/x-bigint@npm:10.2.1" +"@polkadot/x-bigint@npm:12.2.1, @polkadot/x-bigint@npm:^12.2.1": + version: 12.2.1 + resolution: "@polkadot/x-bigint@npm:12.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/x-global": 10.2.1 - checksum: 46e104ed1d3dc30fa4eda10e128e465a04a9a5dfced4e203dd16f50840ce8af44e60a351844afc26005c7c803a244d8101bd26a7d85c0df5efede3d9c823a752 + "@polkadot/x-global": 12.2.1 + tslib: ^2.5.0 + checksum: 2e1603f576654876e38e84bbea16d6206cfad58b58de0ab70bd9a5e86a20e903cae3e271f4b247f3d9fbecbe8475f40866c0bbacb7700c01be732f9b85ec6d81 languageName: node linkType: hard -"@polkadot/x-fetch@npm:^10.2.1": - version: 10.2.1 - resolution: "@polkadot/x-fetch@npm:10.2.1" +"@polkadot/x-fetch@npm:^12.2.1": + version: 12.2.1 + resolution: "@polkadot/x-fetch@npm:12.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/x-global": 10.2.1 - "@types/node-fetch": ^2.6.2 - node-fetch: ^3.3.0 - checksum: db4f0a933cf3318d8d8002ec017773d64b1076eb265fb5f05de252e3a34fe1784805854e6dd480e53a5c9f5bf6a1b4cddfae75f385b679a1b15c25968eae19c3 + "@polkadot/x-global": 12.2.1 + node-fetch: ^3.3.1 + tslib: ^2.5.0 + checksum: 55650b38ff9a119dbcc22e9c040376859e1716b9e9d955501feeee9e16f5814467a5bfeb5f34c0d3a62d39a36d51aa65defaa7e0401c36c440adacbf2302fd10 languageName: node linkType: hard -"@polkadot/x-global@npm:10.2.1, @polkadot/x-global@npm:^10.2.1": - version: 10.2.1 - resolution: "@polkadot/x-global@npm:10.2.1" +"@polkadot/x-global@npm:12.2.1, @polkadot/x-global@npm:^12.2.1": + version: 12.2.1 + resolution: "@polkadot/x-global@npm:12.2.1" dependencies: - "@babel/runtime": ^7.20.6 - checksum: 7032f7677916b402ff6bc0ee438ae18aa860909310aec7de535ddd45c40a4b46b26f2ddf78f2178a9a978f97ab8110b9e5fbce3701ea36183eb122cb4136c366 + tslib: ^2.5.0 + checksum: 49b784d20014b86616ff6ad02bd8680b685d1a004ad91476cc4c3cd08ecdc4d50d98bc141a6dfc80411301147aac68a36a09ae338002772afa3a6a8fdcb8e672 languageName: node linkType: hard -"@polkadot/x-randomvalues@npm:10.2.1": - version: 10.2.1 - resolution: "@polkadot/x-randomvalues@npm:10.2.1" +"@polkadot/x-randomvalues@npm:12.2.1": + version: 12.2.1 + resolution: "@polkadot/x-randomvalues@npm:12.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/x-global": 10.2.1 - checksum: e7f32d7f432fb0fdc9386eb379012edb0f6836135222d4750a2858845c4f8188c297070fa79d947bf3b199e57b20aa23f1dc1cd318ff371f42ae929c90f2c151 + "@polkadot/x-global": 12.2.1 + tslib: ^2.5.0 + peerDependencies: + "@polkadot/util": 12.2.1 + "@polkadot/wasm-util": "*" + checksum: c4d2dd9ed672221e58fc08a18a5876b4c680c6355297582851a41164d8fcfdedec88fabe16e23e62612e50963fef7e3cf4c250233487422d2c647b66547cfa5a languageName: node linkType: hard -"@polkadot/x-textdecoder@npm:10.2.1": - version: 10.2.1 - resolution: "@polkadot/x-textdecoder@npm:10.2.1" +"@polkadot/x-textdecoder@npm:12.2.1": + version: 12.2.1 + resolution: "@polkadot/x-textdecoder@npm:12.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/x-global": 10.2.1 - checksum: e7edcb4f0321bf474ce47c71c89fa2b4685e3fa2b77c17bc346a9034d204a48a4855ff8c882fb1047531bd1e0893fd9367085ea223c555ea51fe509a44347826 + "@polkadot/x-global": 12.2.1 + tslib: ^2.5.0 + checksum: 0e20a59e9bc7738c7ad8f5be082bd1e26269e9f5128868df86f13e7eee93e488eff642868009501b242fceed397ad577e42e6ab07caef3c813f930a60ad422a2 languageName: node linkType: hard -"@polkadot/x-textencoder@npm:10.2.1": - version: 10.2.1 - resolution: "@polkadot/x-textencoder@npm:10.2.1" +"@polkadot/x-textencoder@npm:12.2.1": + version: 12.2.1 + resolution: "@polkadot/x-textencoder@npm:12.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/x-global": 10.2.1 - checksum: 758daf0f192e88ceeb331e82a97fc2a06db9cb88fcbefb906cf7bda1b5be988ec9c3ca0ffe599852e1b167cd3b95309c16d3fa09cb9279b0f2d8eb2b017edda7 + "@polkadot/x-global": 12.2.1 + tslib: ^2.5.0 + checksum: 61d14f5c998baf2e896487a89b0eb4dd884bc88a05aa7a716cfd872029883c26cd3b790c920061d7b190e9a13a2a4b2a9c5b19de516ef4d0c369e119f9da445d languageName: node linkType: hard -"@polkadot/x-ws@npm:^10.2.1": - version: 10.2.1 - resolution: "@polkadot/x-ws@npm:10.2.1" +"@polkadot/x-ws@npm:^12.2.1": + version: 12.2.1 + resolution: "@polkadot/x-ws@npm:12.2.1" dependencies: - "@babel/runtime": ^7.20.6 - "@polkadot/x-global": 10.2.1 - "@types/websocket": ^1.0.5 - websocket: ^1.0.34 - checksum: 888426bf894f5f1be041cd8f26c7ad665dec3631be19e31938291714dee92a4be940b03d2969f2ccafe38c371900e04fc0758bbe0e81afea81769353d473e3b6 + "@polkadot/x-global": 12.2.1 + tslib: ^2.5.0 + ws: ^8.13.0 + checksum: 9fb10693ee7317a3c34b0c66f7c9c5f24bb595818473686d9bf6ece0b8bb7ee11047585482ecdaa52770e52a53f2e306d1f6e769f68b3d9b65793aed72b34058 languageName: node linkType: hard @@ -2609,31 +2592,21 @@ __metadata: languageName: node linkType: hard -"@substrate/connect@npm:0.7.17": - version: 0.7.17 - resolution: "@substrate/connect@npm:0.7.17" +"@substrate/connect@npm:0.7.26": + version: 0.7.26 + resolution: "@substrate/connect@npm:0.7.26" dependencies: "@substrate/connect-extension-protocol": ^1.0.1 - "@substrate/smoldot-light": 0.7.7 eventemitter3: ^4.0.7 - checksum: 902e89d28da9034e11abc33b47f850f01e5bd247ff291fac415366b27c363306738f1f60d8758fb949db4360018292474e2a835145b94dfa0d9fc12651bf94fe - languageName: node - linkType: hard - -"@substrate/smoldot-light@npm:0.7.7": - version: 0.7.7 - resolution: "@substrate/smoldot-light@npm:0.7.7" - dependencies: - pako: ^2.0.4 - ws: ^8.8.1 - checksum: 56870615f295619a7ad6d323eae8fccd6935f845592089bdcc4c43feef4fb1897b84bc907368d02fcf3bbe6dda19707c5fe88034337fd6d99bbf9e2b79d1e357 + smoldot: 1.0.4 + checksum: 3179d241f073318d5973deb61c9c8d9b89ae28909a594b6b9fbcdfffd030a70ba58e8428eaa9d72484810bad10c93de1ad9c440b878d0fcfaaf4559d2e6f4502 languageName: node linkType: hard -"@substrate/ss58-registry@npm:^1.35.0": - version: 1.36.0 - resolution: "@substrate/ss58-registry@npm:1.36.0" - checksum: 4a804142d8f8cc693c2816e3eb4b5b195cc1d612f0f935b51ed9c77f980064b56b8001aae4aab7ec04d13f9ff7cde8346ac4d5e69ebabe52309713257dafb216 +"@substrate/ss58-registry@npm:^1.40.0": + version: 1.40.0 + resolution: "@substrate/ss58-registry@npm:1.40.0" + checksum: 474cb16b350e95fa7ca1020b70c6885c5c3d739472f506d175f24e9fd5a6d337d3c7e7a7fa44962199ed03fffb5d3b44b8af79a9811cb55ec34b3b75bb8e7f97 languageName: node linkType: hard @@ -2874,16 +2847,6 @@ __metadata: languageName: node linkType: hard -"@types/node-fetch@npm:^2.6.2": - version: 2.6.2 - resolution: "@types/node-fetch@npm:2.6.2" - dependencies: - "@types/node": "*" - form-data: ^3.0.0 - checksum: 6f73b1470000d303d25a6fb92875ea837a216656cb7474f66cdd67bb014aa81a5a11e7ac9c21fe19bee9ecb2ef87c1962bceeaec31386119d1ac86e4c30ad7a6 - languageName: node - linkType: hard - "@types/node@npm:*": version: 17.0.22 resolution: "@types/node@npm:17.0.22" @@ -2945,15 +2908,6 @@ __metadata: languageName: node linkType: hard -"@types/websocket@npm:^1.0.5": - version: 1.0.5 - resolution: "@types/websocket@npm:1.0.5" - dependencies: - "@types/node": "*" - checksum: 41c7a620f877a0165ff36e713455d888b7f5df9c51e71b5d0f47994f98cf22ccd339b8c6cfdc6bb417e950d40f405693974d393bd916971490553cc5e9e67a9d - languageName: node - linkType: hard - "@types/yargs-parser@npm:*": version: 21.0.0 resolution: "@types/yargs-parser@npm:21.0.0" @@ -3603,18 +3557,6 @@ __metadata: languageName: node linkType: hard -"asn1.js@npm:^5.2.0": - version: 5.4.1 - resolution: "asn1.js@npm:5.4.1" - dependencies: - bn.js: ^4.0.0 - inherits: ^2.0.1 - minimalistic-assert: ^1.0.0 - safer-buffer: ^2.1.0 - checksum: 3786a101ac6f304bd4e9a7df79549a7561950a13d4bcaec0c7790d44c80d147c1a94ba3d4e663673406064642a40b23fcd6c82a9952468e386c1a1376d747f9a - languageName: node - linkType: hard - "asn1@npm:^0.2.4, asn1@npm:~0.2.3": version: 0.2.6 resolution: "asn1@npm:0.2.6" @@ -3659,13 +3601,6 @@ __metadata: languageName: node linkType: hard -"available-typed-arrays@npm:^1.0.5": - version: 1.0.5 - resolution: "available-typed-arrays@npm:1.0.5" - checksum: 20eb47b3cefd7db027b9bbb993c658abd36d4edd3fe1060e83699a03ee275b0c9b216cc076ff3f2db29073225fb70e7613987af14269ac1fe2a19803ccc97f1a - languageName: node - linkType: hard - "aws-sign2@npm:~0.7.0": version: 0.7.0 resolution: "aws-sign2@npm:0.7.0" @@ -3674,9 +3609,9 @@ __metadata: linkType: hard "aws4@npm:^1.8.0": - version: 1.11.0 - resolution: "aws4@npm:1.11.0" - checksum: 5a00d045fd0385926d20ebebcfba5ec79d4482fe706f63c27b324d489a04c68edb0db99ed991e19eda09cb8c97dc2452059a34d97545cebf591d7a2b5a10999f + version: 1.12.0 + resolution: "aws4@npm:1.12.0" + checksum: 68f79708ac7c335992730bf638286a3ee0a645cf12575d557860100767c500c08b30e24726b9f03265d74116417f628af78509e1333575e9f8d52a80edfe8cbc languageName: node linkType: hard @@ -3852,14 +3787,7 @@ __metadata: languageName: node linkType: hard -"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": - version: 4.12.0 - resolution: "bn.js@npm:4.12.0" - checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 - languageName: node - linkType: hard - -"bn.js@npm:^5.0.0, bn.js@npm:^5.1.1, bn.js@npm:^5.2.1": +"bn.js@npm:^5.2.1": version: 5.2.1 resolution: "bn.js@npm:5.2.1" checksum: 3dd8c8d38055fedfa95c1d5fc3c99f8dd547b36287b37768db0abab3c239711f88ff58d18d155dd8ad902b0b0cee973747b7ae20ea12a09473272b0201c9edd3 @@ -3894,13 +3822,6 @@ __metadata: languageName: node linkType: hard -"brorand@npm:^1.0.1, brorand@npm:^1.1.0": - version: 1.1.0 - resolution: "brorand@npm:1.1.0" - checksum: 8a05c9f3c4b46572dec6ef71012b1946db6cae8c7bb60ccd4b7dd5a84655db49fe043ecc6272e7ef1f69dc53d6730b9e2a3a03a8310509a3d797a618cbee52be - languageName: node - linkType: hard - "browser-process-hrtime@npm:^1.0.0": version: 1.0.0 resolution: "browser-process-hrtime@npm:1.0.0" @@ -3908,70 +3829,6 @@ __metadata: languageName: node linkType: hard -"browserify-aes@npm:^1.0.0, browserify-aes@npm:^1.0.4": - version: 1.2.0 - resolution: "browserify-aes@npm:1.2.0" - dependencies: - buffer-xor: ^1.0.3 - cipher-base: ^1.0.0 - create-hash: ^1.1.0 - evp_bytestokey: ^1.0.3 - inherits: ^2.0.1 - safe-buffer: ^5.0.1 - checksum: 4a17c3eb55a2aa61c934c286f34921933086bf6d67f02d4adb09fcc6f2fc93977b47d9d884c25619144fccd47b3b3a399e1ad8b3ff5a346be47270114bcf7104 - languageName: node - linkType: hard - -"browserify-cipher@npm:^1.0.0": - version: 1.0.1 - resolution: "browserify-cipher@npm:1.0.1" - dependencies: - browserify-aes: ^1.0.4 - browserify-des: ^1.0.0 - evp_bytestokey: ^1.0.0 - checksum: 2d8500acf1ee535e6bebe808f7a20e4c3a9e2ed1a6885fff1facbfd201ac013ef030422bec65ca9ece8ffe82b03ca580421463f9c45af6c8415fd629f4118c13 - languageName: node - linkType: hard - -"browserify-des@npm:^1.0.0": - version: 1.0.2 - resolution: "browserify-des@npm:1.0.2" - dependencies: - cipher-base: ^1.0.1 - des.js: ^1.0.0 - inherits: ^2.0.1 - safe-buffer: ^5.1.2 - checksum: b15a3e358a1d78a3b62ddc06c845d02afde6fc826dab23f1b9c016e643e7b1fda41de628d2110b712f6a44fb10cbc1800bc6872a03ddd363fb50768e010395b7 - languageName: node - linkType: hard - -"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.0.1": - version: 4.1.0 - resolution: "browserify-rsa@npm:4.1.0" - dependencies: - bn.js: ^5.0.0 - randombytes: ^2.0.1 - checksum: 155f0c135873efc85620571a33d884aa8810e40176125ad424ec9d85016ff105a07f6231650914a760cca66f29af0494087947b7be34880dd4599a0cd3c38e54 - languageName: node - linkType: hard - -"browserify-sign@npm:^4.0.0": - version: 4.2.1 - resolution: "browserify-sign@npm:4.2.1" - dependencies: - bn.js: ^5.1.1 - browserify-rsa: ^4.0.1 - create-hash: ^1.2.0 - create-hmac: ^1.1.7 - elliptic: ^6.5.3 - inherits: ^2.0.4 - parse-asn1: ^5.1.5 - readable-stream: ^3.6.0 - safe-buffer: ^5.2.0 - checksum: 0221f190e3f5b2d40183fa51621be7e838d9caa329fe1ba773406b7637855f37b30f5d83e52ff8f244ed12ffe6278dd9983638609ed88c841ce547e603855707 - languageName: node - linkType: hard - "browserslist@npm:^4.14.5, browserslist@npm:^4.21.3, browserslist@npm:^4.21.4": version: 4.21.4 resolution: "browserslist@npm:4.21.4" @@ -4027,13 +3884,6 @@ __metadata: languageName: node linkType: hard -"buffer-xor@npm:^1.0.3": - version: 1.0.3 - resolution: "buffer-xor@npm:1.0.3" - checksum: 10c520df29d62fa6e785e2800e586a20fc4f6dfad84bcdbd12e1e8a83856de1cb75c7ebd7abe6d036bbfab738a6cf18a3ae9c8e5a2e2eb3167ca7399ce65373a - languageName: node - linkType: hard - "buffer@npm:^5.5.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" @@ -4044,26 +3894,6 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: ^1.3.1 - ieee754: ^1.2.1 - checksum: 5ad23293d9a731e4318e420025800b42bf0d264004c0286c8cc010af7a270c7a0f6522e84f54b9ad65cbd6db20b8badbfd8d2ebf4f80fa03dab093b89e68c3f9 - languageName: node - linkType: hard - -"bufferutil@npm:^4.0.1": - version: 4.0.6 - resolution: "bufferutil@npm:4.0.6" - dependencies: - node-gyp: latest - node-gyp-build: ^4.3.0 - checksum: dd107560947445280af7820c3d0534127b911577d85d537e1d7e0aa30fd634853cef8a994d6e8aed3d81388ab1a20257de776164afe6a6af8e78f5f17968ebd6 - languageName: node - linkType: hard - "buildcheck@npm:0.0.3": version: 0.0.3 resolution: "buildcheck@npm:0.0.3" @@ -4167,12 +3997,10 @@ __metadata: languageName: node linkType: hard -"cbor@npm:^8.1.0": +"cbor-web@npm:^8.0.0": version: 8.1.0 - resolution: "cbor@npm:8.1.0" - dependencies: - nofilter: ^3.1.0 - checksum: a90338435dc7b45cc01461af979e3bb6ddd4f2a08584c437586039cd5f2235014c06e49d664295debbfb3514d87b2f06728092ab6aa6175e2e85e9cd7dc0c1fd + resolution: "cbor-web@npm:8.1.0" + checksum: 7898694ae4959a306f6e7dd2d042be8dab060a312d78dc8a2131d8ca641d5bcbcfe7e0691f1b6f0f95e5402b14ebf0ad797be14546712ab4682720b459c4836c languageName: node linkType: hard @@ -4249,16 +4077,6 @@ __metadata: languageName: node linkType: hard -"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": - version: 1.0.4 - resolution: "cipher-base@npm:1.0.4" - dependencies: - inherits: ^2.0.1 - safe-buffer: ^5.0.1 - checksum: 47d3568dbc17431a339bad1fe7dff83ac0891be8206911ace3d3b818fc695f376df809bea406e759cdea07fff4b454fa25f1013e648851bec790c1d75763032e - languageName: node - linkType: hard - "cjs-module-lexer@npm:^1.0.0": version: 1.2.2 resolution: "cjs-module-lexer@npm:1.2.2" @@ -4409,13 +4227,6 @@ __metadata: languageName: node linkType: hard -"commondir@npm:^1.0.1": - version: 1.0.1 - resolution: "commondir@npm:1.0.1" - checksum: 59715f2fc456a73f68826285718503340b9f0dd89bfffc42749906c5cf3d4277ef11ef1cca0350d0e79204f00f1f6d83851ececc9095dc88512a697ac0b9bdcb - languageName: node - linkType: hard - "compare-func@npm:^1.3.1": version: 1.3.4 resolution: "compare-func@npm:1.3.4" @@ -4608,43 +4419,6 @@ __metadata: languageName: node linkType: hard -"create-ecdh@npm:^4.0.0": - version: 4.0.4 - resolution: "create-ecdh@npm:4.0.4" - dependencies: - bn.js: ^4.1.0 - elliptic: ^6.5.3 - checksum: 0dd7fca9711d09e152375b79acf1e3f306d1a25ba87b8ff14c2fd8e68b83aafe0a7dd6c4e540c9ffbdd227a5fa1ad9b81eca1f233c38bb47770597ba247e614b - languageName: node - linkType: hard - -"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": - version: 1.2.0 - resolution: "create-hash@npm:1.2.0" - dependencies: - cipher-base: ^1.0.1 - inherits: ^2.0.1 - md5.js: ^1.3.4 - ripemd160: ^2.0.1 - sha.js: ^2.4.0 - checksum: 02a6ae3bb9cd4afee3fabd846c1d8426a0e6b495560a977ba46120c473cb283be6aa1cace76b5f927cf4e499c6146fb798253e48e83d522feba807d6b722eaa9 - languageName: node - linkType: hard - -"create-hmac@npm:^1.1.0, create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": - version: 1.1.7 - resolution: "create-hmac@npm:1.1.7" - dependencies: - cipher-base: ^1.0.3 - create-hash: ^1.1.0 - inherits: ^2.0.1 - ripemd160: ^2.0.0 - safe-buffer: ^5.0.1 - sha.js: ^2.4.8 - checksum: ba12bb2257b585a0396108c72830e85f882ab659c3320c83584b1037f8ab72415095167ced80dc4ce8e446a8ecc4b2acf36d87befe0707d73b26cf9dc77440ed - languageName: node - linkType: hard - "create-require@npm:^1.1.0": version: 1.1.1 resolution: "create-require@npm:1.1.1" @@ -4670,25 +4444,6 @@ __metadata: languageName: node linkType: hard -"crypto-browserify@npm:^3.12.0": - version: 3.12.0 - resolution: "crypto-browserify@npm:3.12.0" - dependencies: - browserify-cipher: ^1.0.0 - browserify-sign: ^4.0.0 - create-ecdh: ^4.0.0 - create-hash: ^1.1.0 - create-hmac: ^1.1.0 - diffie-hellman: ^5.0.0 - inherits: ^2.0.1 - pbkdf2: ^3.0.3 - public-encrypt: ^4.0.0 - randombytes: ^2.0.0 - randomfill: ^1.0.3 - checksum: c1609af82605474262f3eaa07daa0b2140026bd264ab316d4bf1170272570dbe02f0c49e29407fe0d3634f96c507c27a19a6765fb856fed854a625f9d15618e2 - languageName: node - linkType: hard - "crypto-ld@npm:^3.7.0": version: 3.9.0 resolution: "crypto-ld@npm:3.9.0" @@ -4728,16 +4483,6 @@ __metadata: languageName: node linkType: hard -"d@npm:1, d@npm:^1.0.1": - version: 1.0.1 - resolution: "d@npm:1.0.1" - dependencies: - es5-ext: ^0.10.50 - type: ^1.0.1 - checksum: 49ca0639c7b822db670de93d4fbce44b4aa072cd848c76292c9978a8cd0fff1028763020ff4b0f147bd77bfe29b4c7f82e0f71ade76b2a06100543cdfd948d19 - languageName: node - linkType: hard - "dargs@npm:^7.0.0": version: 7.0.0 resolution: "dargs@npm:7.0.0" @@ -4784,7 +4529,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^2.2.0, debug@npm:^2.6.9": +"debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -4877,16 +4622,6 @@ __metadata: languageName: node linkType: hard -"des.js@npm:^1.0.0": - version: 1.0.1 - resolution: "des.js@npm:1.0.1" - dependencies: - inherits: ^2.0.1 - minimalistic-assert: ^1.0.0 - checksum: 1ec2eedd7ed6bd61dd5e0519fd4c96124e93bb22de8a9d211b02d63e5dd152824853d919bb2090f965cc0e3eb9c515950a9836b332020d810f9c71feb0fd7df4 - languageName: node - linkType: hard - "detect-newline@npm:^3.0.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" @@ -4908,17 +4643,6 @@ __metadata: languageName: node linkType: hard -"diffie-hellman@npm:^5.0.0": - version: 5.0.3 - resolution: "diffie-hellman@npm:5.0.3" - dependencies: - bn.js: ^4.1.0 - miller-rabin: ^4.0.0 - randombytes: ^2.0.0 - checksum: 0e620f322170c41076e70181dd1c24e23b08b47dbb92a22a644f3b89b6d3834b0f8ee19e37916164e5eb1ee26d2aa836d6129f92723995267250a0b541811065 - languageName: node - linkType: hard - "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -5015,15 +4739,6 @@ __metadata: languageName: node linkType: hard -"ed2curve@npm:^0.3.0": - version: 0.3.0 - resolution: "ed2curve@npm:0.3.0" - dependencies: - tweetnacl: 1.x.x - checksum: 6dfbe2310aa5a47372c9dd2fd920be140c8d52aea5793d716a3e3865d2ceaeaf639a7653e5492dfe3b4910eaf65c09a1d5132580afe2fdca18a75ebb428a52f2 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.4.251": version: 1.4.255 resolution: "electron-to-chromium@npm:1.4.255" @@ -5031,21 +4746,6 @@ __metadata: languageName: node linkType: hard -"elliptic@npm:^6.5.3": - version: 6.5.4 - resolution: "elliptic@npm:6.5.4" - dependencies: - bn.js: ^4.11.9 - brorand: ^1.1.0 - hash.js: ^1.0.0 - hmac-drbg: ^1.0.1 - inherits: ^2.0.4 - minimalistic-assert: ^1.0.1 - minimalistic-crypto-utils: ^1.0.1 - checksum: d56d21fd04e97869f7ffcc92e18903b9f67f2d4637a23c860492fbbff5a3155fd9ca0184ce0c865dd6eb2487d234ce9551335c021c376cd2d3b7cb749c7d10f4 - languageName: node - linkType: hard - "emittery@npm:^0.8.1": version: 0.8.1 resolution: "emittery@npm:0.8.1" @@ -5138,7 +4838,7 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.18.5, es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1": +"es-abstract@npm:^1.19.0, es-abstract@npm:^1.19.1": version: 1.19.1 resolution: "es-abstract@npm:1.19.1" dependencies: @@ -5184,38 +4884,6 @@ __metadata: languageName: node linkType: hard -"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.50": - version: 0.10.59 - resolution: "es5-ext@npm:0.10.59" - dependencies: - es6-iterator: ^2.0.3 - es6-symbol: ^3.1.3 - next-tick: ^1.1.0 - checksum: 3b931910d90eec2c5266f714fdef2e71b58ba3e9139d054ac0cb1c90db5b4a41989dd490885e037665450f1a4fb778b2ee8daccb6e1a5d9a07f853fd92018da6 - languageName: node - linkType: hard - -"es6-iterator@npm:^2.0.3": - version: 2.0.3 - resolution: "es6-iterator@npm:2.0.3" - dependencies: - d: 1 - es5-ext: ^0.10.35 - es6-symbol: ^3.1.1 - checksum: 6e48b1c2d962c21dee604b3d9f0bc3889f11ed5a8b33689155a2065d20e3107e2a69cc63a71bd125aeee3a589182f8bbcb5c8a05b6a8f38fa4205671b6d09697 - languageName: node - linkType: hard - -"es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3": - version: 3.1.3 - resolution: "es6-symbol@npm:3.1.3" - dependencies: - d: ^1.0.1 - ext: ^1.1.2 - checksum: cd49722c2a70f011eb02143ef1c8c70658d2660dead6641e160b94619f408b9cf66425515787ffe338affdf0285ad54f4eae30ea5bd510e33f8659ec53bcaa70 - languageName: node - linkType: hard - "escalade@npm:^3.1.1": version: 3.1.1 resolution: "escalade@npm:3.1.1" @@ -5543,6 +5211,13 @@ __metadata: languageName: node linkType: hard +"eventemitter3@npm:^5.0.1": + version: 5.0.1 + resolution: "eventemitter3@npm:5.0.1" + checksum: 543d6c858ab699303c3c32e0f0f47fc64d360bf73c3daf0ac0b5079710e340d6fe9f15487f94e66c629f5f82cd1a8678d692f3dbb6f6fcd1190e1b97fcad36f8 + languageName: node + linkType: hard + "events@npm:^3.2.0": version: 3.3.0 resolution: "events@npm:3.3.0" @@ -5550,17 +5225,6 @@ __metadata: languageName: node linkType: hard -"evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": - version: 1.0.3 - resolution: "evp_bytestokey@npm:1.0.3" - dependencies: - md5.js: ^1.3.4 - node-gyp: latest - safe-buffer: ^5.1.1 - checksum: ad4e1577f1a6b721c7800dcc7c733fe01f6c310732bb5bf2240245c2a5b45a38518b91d8be2c610611623160b9d1c0e91f1ce96d639f8b53e8894625cf20fa45 - languageName: node - linkType: hard - "execa@npm:^5.0.0": version: 5.1.1 resolution: "execa@npm:5.1.1" @@ -5597,15 +5261,6 @@ __metadata: languageName: node linkType: hard -"ext@npm:^1.1.2": - version: 1.6.0 - resolution: "ext@npm:1.6.0" - dependencies: - type: ^2.5.0 - checksum: ca3ef4619e838f441a92238a98b77ac873da2175ace746c64303ffe2c3208e79a3acf3bf7004e40b720f3c2a83bf0143e6dd4a7cdfae6e73f54a3bfc7a14b5c2 - languageName: node - linkType: hard - "extend@npm:~3.0.2": version: 3.0.2 resolution: "extend@npm:3.0.2" @@ -5721,17 +5376,6 @@ __metadata: languageName: node linkType: hard -"find-cache-dir@npm:^2.0.0": - version: 2.1.0 - resolution: "find-cache-dir@npm:2.1.0" - dependencies: - commondir: ^1.0.1 - make-dir: ^2.0.0 - pkg-dir: ^3.0.0 - checksum: 60ad475a6da9f257df4e81900f78986ab367d4f65d33cf802c5b91e969c28a8762f098693d7a571b6e4dd4c15166c2da32ae2d18b6766a18e2071079448fdce4 - languageName: node - linkType: hard - "find-up@npm:^2.1.0": version: 2.1.0 resolution: "find-up@npm:2.1.0" @@ -5741,15 +5385,6 @@ __metadata: languageName: node linkType: hard -"find-up@npm:^3.0.0": - version: 3.0.0 - resolution: "find-up@npm:3.0.0" - dependencies: - locate-path: ^3.0.0 - checksum: 38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 - languageName: node - linkType: hard - "find-up@npm:^4.0.0, find-up@npm:^4.1.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" @@ -5796,13 +5431,6 @@ __metadata: languageName: node linkType: hard -"foreach@npm:^2.0.5": - version: 2.0.5 - resolution: "foreach@npm:2.0.5" - checksum: dab4fbfef0b40b69ee5eab81bcb9626b8fa8b3469c8cfa26480f3e5e1ee08c40eae07048c9a967c65aeda26e774511ccc70b3f10a604c01753c6ef24361f0fc8 - languageName: node - linkType: hard - "forever-agent@npm:~0.6.1": version: 0.6.1 resolution: "forever-agent@npm:0.6.1" @@ -6189,38 +5817,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"hash-base@npm:^3.0.0": - version: 3.1.0 - resolution: "hash-base@npm:3.1.0" - dependencies: - inherits: ^2.0.4 - readable-stream: ^3.6.0 - safe-buffer: ^5.2.0 - checksum: 26b7e97ac3de13cb23fc3145e7e3450b0530274a9562144fc2bf5c1e2983afd0e09ed7cc3b20974ba66039fad316db463da80eb452e7373e780cbee9a0d2f2dc - languageName: node - linkType: hard - -"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": - version: 1.1.7 - resolution: "hash.js@npm:1.1.7" - dependencies: - inherits: ^2.0.3 - minimalistic-assert: ^1.0.1 - checksum: e350096e659c62422b85fa508e4b3669017311aa4c49b74f19f8e1bc7f3a54a584fdfd45326d4964d6011f2b2d882e38bea775a96046f2a61b7779a979629d8f - languageName: node - linkType: hard - -"hmac-drbg@npm:^1.0.1": - version: 1.0.1 - resolution: "hmac-drbg@npm:1.0.1" - dependencies: - hash.js: ^1.0.3 - minimalistic-assert: ^1.0.0 - minimalistic-crypto-utils: ^1.0.1 - checksum: bd30b6a68d7f22d63f10e1888aee497d7c2c5c0bb469e66bbdac99f143904d1dfe95f8131f95b3e86c86dd239963c9d972fcbe147e7cffa00e55d18585c43fe0 - languageName: node - linkType: hard - "hosted-git-info@npm:^2.1.4": version: 2.8.9 resolution: "hosted-git-info@npm:2.8.9" @@ -6358,7 +5954,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": +"ieee754@npm:^1.1.13": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 5144c0c9815e54ada181d80a0b810221a253562422e7c6c3a60b1901154184f49326ec239d618c416c1c5945a2e197107aee8d986a3dd836b53dffefd99b5e7e @@ -6432,7 +6028,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3, inherits@npm:~2.0.4": +"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.3": version: 2.0.4 resolution: "inherits@npm:2.0.4" checksum: 4a48a733847879d6cf6691860a6b1e3f0f4754176e4d71494c41f3475553768b10f84b5ce1d40fbd0e34e6bfbb864ee35858ad4dd2cf31e02fc4a154b724d7f1 @@ -6471,16 +6067,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"is-arguments@npm:^1.0.4": - version: 1.1.1 - resolution: "is-arguments@npm:1.1.1" - dependencies: - call-bind: ^1.0.2 - has-tostringtag: ^1.0.0 - checksum: 7f02700ec2171b691ef3e4d0e3e6c0ba408e8434368504bb593d0d7c891c0dbfda6d19d30808b904a6cb1929bca648c061ba438c39f296c2a8ca083229c49f27 - languageName: node - linkType: hard - "is-arrayish@npm:^0.2.1": version: 0.2.1 resolution: "is-arrayish@npm:0.2.1" @@ -6553,15 +6139,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"is-generator-function@npm:^1.0.7": - version: 1.0.10 - resolution: "is-generator-function@npm:1.0.10" - dependencies: - has-tostringtag: ^1.0.0 - checksum: d54644e7dbaccef15ceb1e5d91d680eb5068c9ee9f9eb0a9e04173eb5542c9b51b5ab52c5537f5703e48d5fddfd376817c1ca07a84a407b7115b769d4bdde72b - languageName: node - linkType: hard - "is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": version: 4.0.3 resolution: "is-glob@npm:4.0.3" @@ -6689,19 +6266,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.7": - version: 1.1.8 - resolution: "is-typed-array@npm:1.1.8" - dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - es-abstract: ^1.18.5 - foreach: ^2.0.5 - has-tostringtag: ^1.0.0 - checksum: aa0f9f0716e19e2fb8aef69e69e4205479d25ace778e2339fc910948115cde4b0d9aff9d5d1e8b80f09a5664998278e05e54ad3dc9cb12cefcf86db71084ed00 - languageName: node - linkType: hard - "is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0": version: 1.0.0 resolution: "is-typedarray@npm:1.0.0" @@ -7597,16 +7161,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"locate-path@npm:^3.0.0": - version: 3.0.0 - resolution: "locate-path@npm:3.0.0" - dependencies: - p-locate: ^3.0.0 - path-exists: ^3.0.0 - checksum: 53db3996672f21f8b0bf2a2c645ae2c13ffdae1eeecfcd399a583bce8516c0b88dcb4222ca6efbbbeb6949df7e46860895be2c02e8d3219abd373ace3bfb4e11 - languageName: node - linkType: hard - "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -7727,16 +7281,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": - version: 2.1.0 - resolution: "make-dir@npm:2.1.0" - dependencies: - pify: ^4.0.1 - semver: ^5.6.0 - checksum: 043548886bfaf1820323c6a2997e6d2fa51ccc2586ac14e6f14634f7458b4db2daf15f8c310e2a0abd3e0cddc64df1890d8fc7263033602c47bb12cbfcf86aab - languageName: node - linkType: hard - "make-dir@npm:^3.0.0": version: 3.1.0 resolution: "make-dir@npm:3.1.0" @@ -7809,17 +7353,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"md5.js@npm:^1.3.4": - version: 1.3.5 - resolution: "md5.js@npm:1.3.5" - dependencies: - hash-base: ^3.0.0 - inherits: ^2.0.1 - safe-buffer: ^5.1.2 - checksum: 098494d885684bcc4f92294b18ba61b7bd353c23147fbc4688c75b45cb8590f5a95fd4584d742415dcc52487f7a1ef6ea611cfa1543b0dc4492fe026357f3f0c - languageName: node - linkType: hard - "meow@npm:^8.0.0": version: 8.1.2 resolution: "meow@npm:8.1.2" @@ -7863,18 +7396,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"miller-rabin@npm:^4.0.0": - version: 4.0.1 - resolution: "miller-rabin@npm:4.0.1" - dependencies: - bn.js: ^4.0.0 - brorand: ^1.0.1 - bin: - miller-rabin: bin/miller-rabin - checksum: 00cd1ab838ac49b03f236cc32a14d29d7d28637a53096bf5c6246a032a37749c9bd9ce7360cbf55b41b89b7d649824949ff12bc8eee29ac77c6b38eada619ece - languageName: node - linkType: hard - "mime-db@npm:1.52.0": version: 1.52.0 resolution: "mime-db@npm:1.52.0" @@ -7905,20 +7426,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-assert@npm:1.0.1" - checksum: cc7974a9268fbf130fb055aff76700d7e2d8be5f761fb5c60318d0ed010d839ab3661a533ad29a5d37653133385204c503bfac995aaa4236f4e847461ea32ba7 - languageName: node - linkType: hard - -"minimalistic-crypto-utils@npm:^1.0.1": - version: 1.0.1 - resolution: "minimalistic-crypto-utils@npm:1.0.1" - checksum: 6e8a0422b30039406efd4c440829ea8f988845db02a3299f372fceba56ffa94994a9c0f2fd70c17f9969eedfbd72f34b5070ead9656a34d3f71c0bd72583a0ed - languageName: node - linkType: hard - "minimatch@npm:^3.0.4": version: 3.1.2 resolution: "minimatch@npm:3.1.2" @@ -8041,10 +7548,10 @@ fsevents@^2.3.2: languageName: node linkType: hard -"mock-socket@npm:^9.1.5": - version: 9.1.5 - resolution: "mock-socket@npm:9.1.5" - checksum: a01586bc2850eb5809eda6de0c7ab19255c1e0eb217a805f86ba662bb4aab00b919032d67e7c826c6c12bcfb2fbe19cecbacf0ab6184936487edc4ba37d3ba53 +"mock-socket@npm:^9.2.1": + version: 9.2.1 + resolution: "mock-socket@npm:9.2.1" + checksum: daf07689563163dbcefbefe23b2a9784a75d0af31706f23ad535c6ab2abbcdefa2e91acddeb50a3c39009139e47a8f909cbb38e8137452193ccb9331637fee3e languageName: node linkType: hard @@ -8099,22 +7606,15 @@ fsevents@^2.3.2: languageName: node linkType: hard -"next-tick@npm:^1.1.0": - version: 1.1.0 - resolution: "next-tick@npm:1.1.0" - checksum: 83b5cf36027a53ee6d8b7f9c0782f2ba87f4858d977342bfc3c20c21629290a2111f8374d13a81221179603ffc4364f38374b5655d17b6a8f8a8c77bdea4fe8b - languageName: node - linkType: hard - -"nock@npm:^13.2.9": - version: 13.2.9 - resolution: "nock@npm:13.2.9" +"nock@npm:^13.3.1": + version: 13.3.1 + resolution: "nock@npm:13.3.1" dependencies: debug: ^4.1.0 json-stringify-safe: ^5.0.1 lodash: ^4.17.21 propagate: ^2.0.0 - checksum: 04a2dc60b4b55fd1240f28fe34865bbc744088a4570db3781fcf66021644cc3cc9178fd86a0cb0c1f28ea77b83e8f1c9288535f6b39a6d07100059f156ccc23b + checksum: 0f2a73e8432f6b5650656c53eef99f9e5bbde3df538dc2f07057edc4438cfc61a394c9d06dd82e60f6e86d42433f20f3c04364a1f088beee7bf03a24e3f0fdd0 languageName: node linkType: hard @@ -8139,14 +7639,14 @@ fsevents@^2.3.2: languageName: node linkType: hard -"node-fetch@npm:^3.3.0": - version: 3.3.0 - resolution: "node-fetch@npm:3.3.0" +"node-fetch@npm:^3.3.1": + version: 3.3.1 + resolution: "node-fetch@npm:3.3.1" dependencies: data-uri-to-buffer: ^4.0.0 fetch-blob: ^3.1.4 formdata-polyfill: ^4.0.10 - checksum: e9936908d2783d3c48a038e187f8062de294d75ef43ec8ab812d7cbd682be2b67605868758d2e9cad6103706dcfe4a9d21d78f6df984e8edf10e7a5ce2e665f8 + checksum: 62145fd3ba4770a76110bc31fdc0054ab2f5442b5ce96e9c4b39fc9e94a3d305560eec76e1165d9259eab866e02a8eecf9301062bb5dfc9f08a4d08b69d223dd languageName: node linkType: hard @@ -8202,13 +7702,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"nofilter@npm:^3.1.0": - version: 3.1.0 - resolution: "nofilter@npm:3.1.0" - checksum: 58aa85a5b4b35cbb6e42de8a8591c5e338061edc9f3e7286f2c335e9e9b9b8fa7c335ae45daa8a1f3433164dc0b9a3d187fa96f9516e04a17a1f9ce722becc4f - languageName: node - linkType: hard - "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -8398,7 +7891,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": +"p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" dependencies: @@ -8425,15 +7918,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"p-locate@npm:^3.0.0": - version: 3.0.0 - resolution: "p-locate@npm:3.0.0" - dependencies: - p-limit: ^2.0.0 - checksum: 83991734a9854a05fe9dbb29f707ea8a0599391f52daac32b86f08e21415e857ffa60f0e120bfe7ce0cc4faf9274a50239c7895fc0d0579d08411e513b83a4ae - languageName: node - linkType: hard - "p-locate@npm:^4.1.0": version: 4.1.0 resolution: "p-locate@npm:4.1.0" @@ -8491,19 +7975,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.5": - version: 5.1.6 - resolution: "parse-asn1@npm:5.1.6" - dependencies: - asn1.js: ^5.2.0 - browserify-aes: ^1.0.0 - evp_bytestokey: ^1.0.0 - pbkdf2: ^3.0.3 - safe-buffer: ^5.1.1 - checksum: 9243311d1f88089bc9f2158972aa38d1abd5452f7b7cabf84954ed766048fe574d434d82c6f5a39b988683e96fb84cd933071dda38927e03469dc8c8d14463c7 - languageName: node - linkType: hard - "parse-json@npm:^5.0.0, parse-json@npm:^5.2.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -8565,19 +8036,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"pbkdf2@npm:^3.0.3": - version: 3.1.2 - resolution: "pbkdf2@npm:3.1.2" - dependencies: - create-hash: ^1.1.2 - create-hmac: ^1.1.4 - ripemd160: ^2.0.1 - safe-buffer: ^5.0.1 - sha.js: ^2.4.8 - checksum: 2c950a100b1da72123449208e231afc188d980177d021d7121e96a2de7f2abbc96ead2b87d03d8fe5c318face097f203270d7e27908af9f471c165a4e8e69c92 - languageName: node - linkType: hard - "performance-now@npm:^2.1.0": version: 2.1.0 resolution: "performance-now@npm:2.1.0" @@ -8599,29 +8057,13 @@ fsevents@^2.3.2: languageName: node linkType: hard -"pify@npm:^4.0.1": - version: 4.0.1 - resolution: "pify@npm:4.0.1" - checksum: 9c4e34278cb09987685fa5ef81499c82546c033713518f6441778fbec623fc708777fe8ac633097c72d88470d5963094076c7305cafc7ad340aae27cfacd856b - languageName: node - linkType: hard - -"pirates@npm:^4.0.4, pirates@npm:^4.0.5": +"pirates@npm:^4.0.4": version: 4.0.5 resolution: "pirates@npm:4.0.5" checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 languageName: node linkType: hard -"pkg-dir@npm:^3.0.0": - version: 3.0.0 - resolution: "pkg-dir@npm:3.0.0" - dependencies: - find-up: ^3.0.0 - checksum: 70c9476ffefc77552cc6b1880176b71ad70bfac4f367604b2b04efd19337309a4eec985e94823271c7c0e83946fa5aeb18cd360d15d10a5d7533e19344bfa808 - languageName: node - linkType: hard - "pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -8708,13 +8150,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"process@npm:^0.11.10": - version: 0.11.10 - resolution: "process@npm:0.11.10" - checksum: bfcce49814f7d172a6e6a14d5fa3ac92cc3d0c3b9feb1279774708a719e19acd673995226351a082a9ae99978254e320ccda4240ddc474ba31a76c79491ca7c3 - languageName: node - linkType: hard - "progress@npm:^2.0.0": version: 2.0.3 resolution: "progress@npm:2.0.3" @@ -8766,23 +8201,9 @@ fsevents@^2.3.2: linkType: hard "psl@npm:^1.1.28, psl@npm:^1.1.33": - version: 1.8.0 - resolution: "psl@npm:1.8.0" - checksum: 6150048ed2da3f919478bee8a82f3828303bc0fc730fb015a48f83c9977682c7b28c60ab01425a72d82a2891a1681627aa530a991d50c086b48a3be27744bde7 - languageName: node - linkType: hard - -"public-encrypt@npm:^4.0.0": - version: 4.0.3 - resolution: "public-encrypt@npm:4.0.3" - dependencies: - bn.js: ^4.1.0 - browserify-rsa: ^4.0.0 - create-hash: ^1.1.0 - parse-asn1: ^5.0.0 - randombytes: ^2.0.1 - safe-buffer: ^5.1.2 - checksum: 215d446e43cef021a20b67c1df455e5eea134af0b1f9b8a35f9e850abf32991b0c307327bc5b9bc07162c288d5cdb3d4a783ea6c6640979ed7b5017e3e0c9935 + version: 1.9.0 + resolution: "psl@npm:1.9.0" + checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d languageName: node linkType: hard @@ -8796,13 +8217,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"punycode@npm:1.3.2": - version: 1.3.2 - resolution: "punycode@npm:1.3.2" - checksum: b8807fd594b1db33335692d1f03e8beeddde6fda7fbb4a2e32925d88d20a3aa4cd8dcc0c109ccaccbd2ba761c208dfaaada83007087ea8bfb0129c9ef1b99ed6 - languageName: node - linkType: hard - "punycode@npm:^2.1.0, punycode@npm:^2.1.1": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -8824,13 +8238,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"querystring@npm:0.2.0": - version: 0.2.0 - resolution: "querystring@npm:0.2.0" - checksum: 8258d6734f19be27e93f601758858c299bdebe71147909e367101ba459b95446fbe5b975bf9beb76390156a592b6f4ac3a68b6087cea165c259705b8b4e56a69 - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -8845,7 +8252,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5, randombytes@npm:^2.1.0": +"randombytes@npm:^2.1.0": version: 2.1.0 resolution: "randombytes@npm:2.1.0" dependencies: @@ -8854,16 +8261,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"randomfill@npm:^1.0.3": - version: 1.0.4 - resolution: "randomfill@npm:1.0.4" - dependencies: - randombytes: ^2.0.5 - safe-buffer: ^5.1.0 - checksum: 33734bb578a868d29ee1b8555e21a36711db084065d94e019a6d03caa67debef8d6a1bfd06a2b597e32901ddc761ab483a85393f0d9a75838f1912461d4dbfc7 - languageName: node - linkType: hard - "rdf-canonize@npm:^1.0.2": version: 1.2.0 resolution: "rdf-canonize@npm:1.2.0" @@ -9182,16 +8579,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": - version: 2.0.2 - resolution: "ripemd160@npm:2.0.2" - dependencies: - hash-base: ^3.0.0 - inherits: ^2.0.1 - checksum: 006accc40578ee2beae382757c4ce2908a826b27e2b079efdcd2959ee544ddf210b7b5d7d5e80467807604244e7388427330f5c6d4cd61e6edaddc5773ccc393 - languageName: node - linkType: hard - "root-workspace-0b6124@workspace:.": version: 0.0.0-use.local resolution: "root-workspace-0b6124@workspace:." @@ -9234,16 +8621,16 @@ fsevents@^2.3.2: languageName: node linkType: hard -"rxjs@npm:^7.6.0": - version: 7.6.0 - resolution: "rxjs@npm:7.6.0" +"rxjs@npm:^7.8.1": + version: 7.8.1 + resolution: "rxjs@npm:7.8.1" dependencies: tslib: ^2.1.0 - checksum: b3abbbfe1ddfd06fca9314b83cbd13bcddc3320429218136f75c79a4802ac430dd13873364aac1ded54fd457f8c77df332d205a92d8a1c61656565bb718c50af + checksum: de4b53db1063e618ec2eca0f7965d9137cabe98cf6be9272efe6c86b47c17b987383df8574861bcced18ebd590764125a901d5506082be84a8b8e364bf05f119 languageName: node linkType: hard -"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.2, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -9305,7 +8692,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.6.0": +"semver@npm:2 || 3 || 4 || 5": version: 5.7.1 resolution: "semver@npm:5.7.1" bin: @@ -9368,18 +8755,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": - version: 2.4.11 - resolution: "sha.js@npm:2.4.11" - dependencies: - inherits: ^2.0.1 - safe-buffer: ^5.0.1 - bin: - sha.js: ./bin.js - checksum: ebd3f59d4b799000699097dadb831c8e3da3eb579144fd7eb7a19484cbcbb7aca3c68ba2bb362242eb09e33217de3b4ea56e4678184c334323eca24a58e3ad07 - languageName: node - linkType: hard - "shallow-clone@npm:^3.0.0": version: 3.0.1 resolution: "shallow-clone@npm:3.0.1" @@ -9466,6 +8841,16 @@ fsevents@^2.3.2: languageName: node linkType: hard +"smoldot@npm:1.0.4": + version: 1.0.4 + resolution: "smoldot@npm:1.0.4" + dependencies: + pako: ^2.0.4 + ws: ^8.8.1 + checksum: 81ecc38b98f7ac4dd093753e85956262608dca3c8a288c20a25fe1762a6afcdbe6f3622ea30a346df3f4145e0900ef0595e56e96e9e0de83c59f0649d1ab4786 + languageName: node + linkType: hard + "socks-proxy-agent@npm:^6.1.1": version: 6.1.1 resolution: "socks-proxy-agent@npm:6.1.1" @@ -9488,16 +8873,16 @@ fsevents@^2.3.2: linkType: hard "sodium-native@npm:^3.2.0": - version: 3.3.0 - resolution: "sodium-native@npm:3.3.0" + version: 3.4.1 + resolution: "sodium-native@npm:3.4.1" dependencies: node-gyp: latest node-gyp-build: ^4.3.0 - checksum: 4412bc90155261e2006c979788d3b33e3bdba1c41669c7054a876b8731a68886e1450b356791abd2c4e7b217d21f50adfdc1e194d8909dd003223195bd8ddc0a + checksum: 88f2f8c9ecb3c7952098b667ee3803f24253d72a3b3874b126e0e36b2ac20432e12ad44bde3664024e6d0ae1bc6d24fdebc81273af161e735f2eec22f10d26dd languageName: node linkType: hard -"source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.20": +"source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -9695,16 +9080,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"stream-browserify@npm:^3.0.0": - version: 3.0.0 - resolution: "stream-browserify@npm:3.0.0" - dependencies: - inherits: ~2.0.4 - readable-stream: ^3.5.0 - checksum: 4c47ef64d6f03815a9ca3874e2319805e8e8a85f3550776c47ce523b6f4c6cd57f40e46ec6a9ab8ad260fde61863c2718f250d3bedb3fe9052444eb9abfd9921 - languageName: node - linkType: hard - "string-length@npm:^4.0.1": version: 4.0.2 resolution: "string-length@npm:4.0.2" @@ -10215,10 +9590,10 @@ fsevents@^2.3.2: languageName: node linkType: hard -"tslib@npm:^2.1.0": - version: 2.3.1 - resolution: "tslib@npm:2.3.1" - checksum: de17a98d4614481f7fcb5cd53ffc1aaf8654313be0291e1bfaee4b4bb31a20494b7d218ff2e15017883e8ea9626599b3b0e0229c18383ba9dce89da2adf15cb9 +"tslib@npm:^2.1.0, tslib@npm:^2.5.0, tslib@npm:^2.5.2": + version: 2.5.2 + resolution: "tslib@npm:2.5.2" + checksum: 4d3c1e238b94127ed0e88aa0380db3c2ddae581dc0f4bae5a982345e9f50ee5eda90835b8bfba99b02df10a5734470be197158c36f9129ac49fdc14a6a9da222 languageName: node linkType: hard @@ -10242,13 +9617,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"tweetnacl@npm:1.x.x, tweetnacl@npm:^1.0.3": - version: 1.0.3 - resolution: "tweetnacl@npm:1.0.3" - checksum: e4a57cac188f0c53f24c7a33279e223618a2bfb5fea426231991652a13247bea06b081fd745d71291fcae0f4428d29beba1b984b1f1ce6f66b06a6d1ab90645c - languageName: node - linkType: hard - "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -10256,6 +9624,13 @@ fsevents@^2.3.2: languageName: node linkType: hard +"tweetnacl@npm:^1.0.3": + version: 1.0.3 + resolution: "tweetnacl@npm:1.0.3" + checksum: e4a57cac188f0c53f24c7a33279e223618a2bfb5fea426231991652a13247bea06b081fd745d71291fcae0f4428d29beba1b984b1f1ce6f66b06a6d1ab90645c + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -10316,20 +9691,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"type@npm:^1.0.1": - version: 1.2.0 - resolution: "type@npm:1.2.0" - checksum: dae8c64f82c648b985caf321e9dd6e8b7f4f2e2d4f846fc6fd2c8e9dc7769382d8a52369ddbaccd59aeeceb0df7f52fb339c465be5f2e543e81e810e413451ee - languageName: node - linkType: hard - -"type@npm:^2.5.0": - version: 2.6.0 - resolution: "type@npm:2.6.0" - checksum: 80da01fcc0f6ed5a253dc326530e134000a8f66ea44b6d9687cde2f894f0d0b2486595b0cd040a64f7f79dc3120784236f8c9ef667a8aef03984e049b447cfb4 - languageName: node - linkType: hard - "typedarray-to-buffer@npm:^3.1.5": version: 3.1.5 resolution: "typedarray-to-buffer@npm:3.1.5" @@ -10485,26 +9846,6 @@ typescript@^4.8.3: languageName: node linkType: hard -"url@npm:^0.11.0": - version: 0.11.0 - resolution: "url@npm:0.11.0" - dependencies: - punycode: 1.3.2 - querystring: 0.2.0 - checksum: 50d100d3dd2d98b9fe3ada48cadb0b08aa6be6d3ac64112b867b56b19be4bfcba03c2a9a0d7922bfd7ac17d4834e88537749fe182430dfd9b68e520175900d90 - languageName: node - linkType: hard - -"utf-8-validate@npm:^5.0.2": - version: 5.0.9 - resolution: "utf-8-validate@npm:5.0.9" - dependencies: - node-gyp: latest - node-gyp-build: ^4.3.0 - checksum: 90117f1b65e0a1256c83dfad529983617263b622f2379745311d0438c7ea31db0d134ebd0dca84c3f5847a3560a3d249644e478a9109c616f63c7ea19cac53dc - languageName: node - linkType: hard - "util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -10512,20 +9853,6 @@ typescript@^4.8.3: languageName: node linkType: hard -"util@npm:^0.12.4": - version: 0.12.4 - resolution: "util@npm:0.12.4" - dependencies: - inherits: ^2.0.3 - is-arguments: ^1.0.4 - is-generator-function: ^1.0.7 - is-typed-array: ^1.1.3 - safe-buffer: ^5.1.2 - which-typed-array: ^1.1.2 - checksum: 8eac7a6e6b341c0f1b3eb73bbe5dfcae31a7e9699c8fc3266789f3e95f7637946a7700dcf1904dbd3749a58a36760ebf7acf4bb5b717f7468532a8a79f44eff0 - languageName: node - linkType: hard - "uuid@npm:^3.3.2": version: 3.4.0 resolution: "uuid@npm:3.4.0" @@ -10774,20 +10101,6 @@ typescript@^4.8.3: languageName: node linkType: hard -"websocket@npm:^1.0.34": - version: 1.0.34 - resolution: "websocket@npm:1.0.34" - dependencies: - bufferutil: ^4.0.1 - debug: ^2.2.0 - es5-ext: ^0.10.50 - typedarray-to-buffer: ^3.1.5 - utf-8-validate: ^5.0.2 - yaeti: ^0.0.6 - checksum: 8a0ce6d79cc1334bb6ea0d607f0092f3d32700b4dd19e4d5540f2a85f3b50e1f8110da0e4716737056584dde70bbebcb40bbd94bbb437d7468c71abfbfa077d8 - languageName: node - linkType: hard - "whatwg-encoding@npm:^1.0.5": version: 1.0.5 resolution: "whatwg-encoding@npm:1.0.5" @@ -10852,20 +10165,6 @@ typescript@^4.8.3: languageName: node linkType: hard -"which-typed-array@npm:^1.1.2": - version: 1.1.7 - resolution: "which-typed-array@npm:1.1.7" - dependencies: - available-typed-arrays: ^1.0.5 - call-bind: ^1.0.2 - es-abstract: ^1.18.5 - foreach: ^2.0.5 - has-tostringtag: ^1.0.0 - is-typed-array: ^1.1.7 - checksum: 147837cf5866e36b6b2e427731709e02f79f1578477cbde68ed773a5307520a6cb6836c73c79c30690a473266ee59010b83b6d9b25d8d677a40ff77fb37a8a84 - languageName: node - linkType: hard - "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -10963,18 +10262,18 @@ typescript@^4.8.3: languageName: node linkType: hard -"ws@npm:^8.8.1": - version: 8.8.1 - resolution: "ws@npm:8.8.1" +"ws@npm:^8.13.0, ws@npm:^8.8.1": + version: 8.13.0 + resolution: "ws@npm:8.13.0" peerDependencies: bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 + utf-8-validate: ">=5.0.2" peerDependenciesMeta: bufferutil: optional: true utf-8-validate: optional: true - checksum: 2152cf862cae0693f3775bc688a6afb2e989d19d626d215e70f5fcd8eb55b1c3b0d3a6a4052905ec320e2d7734e20aeedbf9744496d62f15a26ad79cf4cf7dae + checksum: 53e991bbf928faf5dc6efac9b8eb9ab6497c69feeb94f963d648b7a3530a720b19ec2e0ec037344257e05a4f35bd9ad04d9de6f289615ffb133282031b18c61c languageName: node linkType: hard @@ -11013,13 +10312,6 @@ typescript@^4.8.3: languageName: node linkType: hard -"yaeti@npm:^0.0.6": - version: 0.0.6 - resolution: "yaeti@npm:0.0.6" - checksum: 6db12c152f7c363b80071086a3ebf5032e03332604eeda988872be50d6c8469e1f13316175544fa320f72edad696c2d83843ad0ff370659045c1a68bcecfcfea - languageName: node - linkType: hard - "yallist@npm:^3.0.2": version: 3.1.1 resolution: "yallist@npm:3.1.1" @@ -11099,9 +10391,9 @@ typescript@^4.8.3: languageName: node linkType: hard -"yargs@npm:^17.6.2": - version: 17.6.2 - resolution: "yargs@npm:17.6.2" +"yargs@npm:^17.7.2": + version: 17.7.2 + resolution: "yargs@npm:17.7.2" dependencies: cliui: ^8.0.1 escalade: ^3.1.1 @@ -11110,7 +10402,7 @@ typescript@^4.8.3: string-width: ^4.2.3 y18n: ^5.0.5 yargs-parser: ^21.1.1 - checksum: 47da1b0d854fa16d45a3ded57b716b013b2179022352a5f7467409da5a04a1eef5b3b3d97a2dfc13e8bbe5f2ffc0afe3bc6a4a72f8254e60f5a4bd7947138643 + checksum: 73b572e863aa4a8cbef323dd911d79d193b772defd5a51aab0aca2d446655216f5002c42c5306033968193bdbf892a7a4c110b0d77954a7fdf563e653967b56a languageName: node linkType: hard From e9fb6ee6f0d4027ef1f3133064502011ce316caf Mon Sep 17 00:00:00 2001 From: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> Date: Mon, 12 Jun 2023 16:26:43 +0200 Subject: [PATCH 39/52] ci: fix test polkadot deps wf (#768) --- .github/workflows/tests-polkadot-deps.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests-polkadot-deps.yml b/.github/workflows/tests-polkadot-deps.yml index ced20feba..837030d49 100644 --- a/.github/workflows/tests-polkadot-deps.yml +++ b/.github/workflows/tests-polkadot-deps.yml @@ -93,7 +93,7 @@ jobs: steps: - uses: actions/download-artifact@v3 with: - name: build-14.x + name: build-16.x - name: unzip run: unzip build.zip -d . @@ -133,7 +133,7 @@ jobs: steps: - uses: actions/download-artifact@v3 with: - name: deps-14.x + name: deps-16.x - name: set dependencies env run: | echo 'DEPS<> $GITHUB_ENV From d0445c3def261f88aa498932481a6669f95ee609 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> Date: Wed, 14 Jun 2023 16:50:05 +0200 Subject: [PATCH 40/52] chore: release 0.33.1 (#773) * fix: cbor-web imports do not work in esm (#772) * chore: set release version 0.33.1 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 5 ++--- .../src/publicCredential/PublicCredential.chain.ts | 8 +++----- packages/did/package.json | 5 ++--- packages/did/src/DidDetails/LightDidDetails.ts | 7 +++---- packages/did/src/cbor-web.d.ts | 1 - packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/testing/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 3 ++- packages/{core => utils}/src/cbor-web.d.ts | 0 packages/utils/src/cbor.ts | 11 +++++++++++ packages/utils/src/index.ts | 1 + packages/vc-export/package.json | 2 +- yarn.lock | 3 +-- 21 files changed, 36 insertions(+), 30 deletions(-) delete mode 100644 packages/did/src/cbor-web.d.ts rename packages/{core => utils}/src/cbor-web.d.ts (100%) create mode 100644 packages/utils/src/cbor.ts diff --git a/package.json b/package.json index 3be995212..6d30d27b0 100644 --- a/package.json +++ b/package.json @@ -70,6 +70,6 @@ "typedoc": "^0.22.15", "typescript": "^4.8.3" }, - "version": "0.33.0", + "version": "0.33.1", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index d45398aaa..a93fb108c 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.33.0", + "version": "0.33.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 5d780a331..7a43d75cf 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.33.0", + "version": "0.33.1", "description": "", "types": "./lib/index.d.ts", "type": "module", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 8c7d4a5ca..551adcb1f 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.33.0", + "version": "0.33.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 802d6ae5e..36cf3619d 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.33.0", + "version": "0.33.1", "description": "", "type": "commonjs", "main": "./lib/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index f5138906c..fdb8a976d 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.33.0", + "version": "0.33.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -49,7 +49,6 @@ "@polkadot/keyring": "^12.0.0", "@polkadot/types": "^10.4.0", "@polkadot/util": "^12.0.0", - "@polkadot/util-crypto": "^12.0.0", - "cbor-web": "^8.0.0" + "@polkadot/util-crypto": "^12.0.0" } } diff --git a/packages/core/src/publicCredential/PublicCredential.chain.ts b/packages/core/src/publicCredential/PublicCredential.chain.ts index 6ef1bb3e0..76653e0e4 100644 --- a/packages/core/src/publicCredential/PublicCredential.chain.ts +++ b/packages/core/src/publicCredential/PublicCredential.chain.ts @@ -22,13 +22,11 @@ import type { PublicCredentialsCredentialsCredentialEntry, } from '@kiltprotocol/augment-api' -import { encode as cborEncode, decode as cborDecode } from 'cbor-web' - import { HexString } from '@polkadot/util/types' import { ConfigService } from '@kiltprotocol/config' import { fromChain as didFromChain } from '@kiltprotocol/did' import { validateUri } from '@kiltprotocol/asset-did' -import { SDKErrors } from '@kiltprotocol/utils' +import { SDKErrors, cbor } from '@kiltprotocol/utils' import { getIdForCredential } from './PublicCredential.js' import { flattenCalls, isBatch, retrieveExtrinsicFromBlock } from '../utils.js' @@ -51,7 +49,7 @@ export function toChain( ): EncodedPublicCredential { const { cTypeHash, claims, subject, delegationId } = publicCredential - const cborSerializedClaims = cborEncode(claims) + const cborSerializedClaims = cbor.encode(claims) return { ctypeHash: cTypeHash, @@ -72,7 +70,7 @@ function credentialInputFromChain({ const credentialSubject = subject.toUtf8() validateUri(credentialSubject) return { - claims: cborDecode(claims), + claims: cbor.decode(claims), cTypeHash: ctypeHash.toHex(), delegationId: authorization.unwrapOr(undefined)?.toHex() ?? null, subject: credentialSubject as AssetDidUri, diff --git a/packages/did/package.json b/packages/did/package.json index 7d23d0438..13ddcae72 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.33.0", + "version": "0.33.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -44,7 +44,6 @@ "@polkadot/types": "^10.4.0", "@polkadot/types-codec": "^10.4.0", "@polkadot/util": "^12.0.0", - "@polkadot/util-crypto": "^12.0.0", - "cbor-web": "^8.0.0" + "@polkadot/util-crypto": "^12.0.0" } } diff --git a/packages/did/src/DidDetails/LightDidDetails.ts b/packages/did/src/DidDetails/LightDidDetails.ts index 6adcbc177..30a752f6b 100644 --- a/packages/did/src/DidDetails/LightDidDetails.ts +++ b/packages/did/src/DidDetails/LightDidDetails.ts @@ -5,7 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -import { decode as cborDecode, encode as cborEncode } from 'cbor-web' import { base58Decode, base58Encode, @@ -22,7 +21,7 @@ import type { } from '@kiltprotocol/types' import { encryptionKeyTypes } from '@kiltprotocol/types' -import { SDKErrors, ss58Format } from '@kiltprotocol/utils' +import { SDKErrors, ss58Format, cbor } from '@kiltprotocol/utils' import { getAddressByKey, parse } from '../Did.utils.js' import { resourceIdToChain, validateService } from '../Did.chain.js' @@ -147,7 +146,7 @@ function serializeAdditionalLightDidDetails({ } const serializationVersion = 0x0 - const serialized = cborEncode(objectToSerialize) + const serialized = cbor.encode(objectToSerialize) return base58Encode([serializationVersion, ...serialized], true) } @@ -166,7 +165,7 @@ function deserializeAdditionalLightDidDetails( if (serializationVersion !== 0x0) { throw new SDKErrors.DidError('Serialization algorithm not supported') } - const deserialized: SerializableStructure = cborDecode(serialized) + const deserialized: SerializableStructure = cbor.decode(serialized) const keyAgreement = deserialized[KEY_AGREEMENT_MAP_KEY] return { diff --git a/packages/did/src/cbor-web.d.ts b/packages/did/src/cbor-web.d.ts deleted file mode 100644 index 4def7650e..000000000 --- a/packages/did/src/cbor-web.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module 'cbor-web' diff --git a/packages/messaging/package.json b/packages/messaging/package.json index ea74c3e65..74a297aad 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.33.0", + "version": "0.33.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 59a4ca4b1..00b833d58 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.33.0", + "version": "0.33.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/testing/package.json b/packages/testing/package.json index d36e7e687..e450b37ae 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,7 +1,7 @@ { "name": "@kiltprotocol/testing", "private": true, - "version": "0.33.0", + "version": "0.33.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index d39869564..6ca78ae0b 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.33.0", + "version": "0.33.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index e7a609abd..d8ac81f4f 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.33.0", + "version": "0.33.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 39111a069..4c7277ce2 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.33.0", + "version": "0.33.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -39,6 +39,7 @@ "@polkadot/keyring": "^12.0.0", "@polkadot/util": "^12.0.0", "@polkadot/util-crypto": "^12.0.0", + "cbor-web": "^8.0.0", "tweetnacl": "^1.0.3", "uuid": "^9.0.0" } diff --git a/packages/core/src/cbor-web.d.ts b/packages/utils/src/cbor-web.d.ts similarity index 100% rename from packages/core/src/cbor-web.d.ts rename to packages/utils/src/cbor-web.d.ts diff --git a/packages/utils/src/cbor.ts b/packages/utils/src/cbor.ts new file mode 100644 index 000000000..e8d6f254e --- /dev/null +++ b/packages/utils/src/cbor.ts @@ -0,0 +1,11 @@ +/** + * Copyright (c) 2018-2023, BOTLabs GmbH. + * + * This source code is licensed under the BSD 4-Clause "Original" license + * found in the LICENSE file in the root directory of this source tree. + */ + +// special import syntax as this is a pure cjs import +import * as cborImp from 'cbor-web' +// this is horrible but the only way to make this import work in both cjs & esm builds +export const cbor = cborImp?.default ?? cborImp diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index c4ef91110..30cbd3b3e 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -17,4 +17,5 @@ export * as DataUtils from './DataUtils.js' export * as SDKErrors from './SDKErrors.js' export * as JsonSchema from './json-schema/index.js' export { ss58Format } from './ss58Format.js' +export { cbor } from './cbor.js' export { Keyring } from '@polkadot/keyring' diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 09e58b59a..f05ffef45 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.33.0", + "version": "0.33.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/yarn.lock b/yarn.lock index 9ae7a4c95..ef459b63e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1899,7 +1899,6 @@ __metadata: "@polkadot/util": ^12.0.0 "@polkadot/util-crypto": ^12.0.0 "@types/uuid": ^8.0.0 - cbor-web: ^8.0.0 rimraf: ^3.0.2 testcontainers: ^9.0.0 typescript: ^4.8.3 @@ -1921,7 +1920,6 @@ __metadata: "@polkadot/types-codec": ^10.4.0 "@polkadot/util": ^12.0.0 "@polkadot/util-crypto": ^12.0.0 - cbor-web: ^8.0.0 rimraf: ^3.0.2 typescript: ^4.8.3 languageName: unknown @@ -2016,6 +2014,7 @@ __metadata: "@polkadot/keyring": ^12.0.0 "@polkadot/util": ^12.0.0 "@polkadot/util-crypto": ^12.0.0 + cbor-web: ^8.0.0 rimraf: ^3.0.2 tweetnacl: ^1.0.3 typescript: ^4.8.3 From cb0b8e18cf27fbf3018ac59501d712a500b99a7f Mon Sep 17 00:00:00 2001 From: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> Date: Tue, 22 Aug 2023 11:33:02 -0400 Subject: [PATCH 41/52] chore: release 0.34.0 (#783) * refactor!: nest ctype in ICTypeDetails (#766) * refactor: change ctype parameter name to cType where possible * feat: re-export imported types from @kiltprotocol/types (#762) * feat: deprecate CType meta schema draft-01 (#778) * fix: default to log level warn in non-production environments * test: skip expensive delegation node tests * test: esm variant of integration tests (#779) * test: make tests work with new kilt node cli (#796) * chore: update metadata to 1.11.0 * chore(deps): update cbor-web to v9 * chore(deps-dev): bump webpack from 5.70.0 to 5.76.0 (#771) * chore(deps-dev): bump semver-regex from 3.1.3 to 3.1.4 (#775) * chore(deps-dev): bump typedoc to resolve dependency conflict * ci: make latest-develop tests optional and latest mandatory Co-authored-by: Gerawork Aynekulu Co-authored-by: Raphael Flechtner --- .eslintrc.js | 23 +- .github/workflows/test-node-candidate.yml | 2 +- .github/workflows/tests-polkadot-deps.yml | 8 +- .github/workflows/tests.yml | 22 +- babel.config.json | 3 +- jest-setup/setup.js | 6 - jest.config.js | 85 +- package.json | 30 +- packages/asset-did/package.json | 2 +- packages/augment-api/metadata/spiritnet.json | 2 +- packages/augment-api/package.json | 2 +- .../src/interfaces/augment-api-consts.ts | 40 +- .../src/interfaces/augment-api-errors.ts | 72 +- .../src/interfaces/augment-api-events.ts | 36 +- .../src/interfaces/augment-api-query.ts | 28 +- .../src/interfaces/augment-api-tx.ts | 548 ++-- packages/augment-api/src/interfaces/lookup.ts | 928 +++---- .../augment-api/src/interfaces/registry.ts | 14 +- .../src/interfaces/types-lookup.ts | 683 +++-- packages/chain-helpers/package.json | 3 +- .../src/blockchain/Blockchain.spec.ts | 6 +- .../blockchain/SubscriptionPromise.spec.ts | 4 - .../src/errorhandling/ErrorHandler.spec.ts | 4 - packages/config/package.json | 2 +- packages/config/src/ConfigService.spec.ts | 8 +- packages/config/src/ConfigService.ts | 17 +- packages/core/package.json | 3 +- .../core/src/attestation/Attestation.spec.ts | 14 +- .../core/src/balance/Balance.utils.spec.ts | 6 +- packages/core/src/claim/Claim.spec.ts | 22 +- packages/core/src/claim/Claim.ts | 9 +- .../core/src/credential/Credential.spec.ts | 16 +- packages/core/src/ctype/CType.chain.ts | 14 +- .../core/src/ctype/CType.metadata.spec.ts | 18 +- packages/core/src/ctype/CType.spec.ts | 19 +- packages/core/src/ctype/CType.ts | 39 +- packages/core/src/ctype/Ctype.nested.spec.ts | 4 - .../src/delegation/DelegationNode.spec.ts | 22 +- .../PublicCredential.chain.ts | 2 +- .../publicCredential/PublicCredential.spec.ts | 13 +- .../src/publicCredential/PublicCredential.ts | 2 +- packages/core/src/quote/Quote.spec.ts | 17 +- packages/did/package.json | 3 +- packages/did/src/Did.chain.spec.ts | 6 +- packages/did/src/Did.chain.ts | 2 +- packages/did/src/Did.rpc.ts | 3 +- packages/did/src/Did.signature.spec.ts | 14 +- .../did/src/DidDetails/DidDetails.spec.ts | 4 - .../did/src/DidDetails/FullDidDetails.spec.ts | 12 +- .../src/DidDetails/LightDidDetails.spec.ts | 4 - .../DidDocumentExporter.spec.ts | 58 +- .../did/src/DidLinks/AccountLinks.chain.ts | 9 +- .../did/src/DidResolver/DidResolver.spec.ts | 12 +- packages/messaging/package.json | 3 +- packages/messaging/src/Message.spec.ts | 51 +- packages/sdk-js/package.json | 4 +- packages/testing/package.json | 53 - packages/testing/tsconfig.build.json | 17 - packages/testing/tsconfig.esm.json | 7 - packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/types/src/Address.ts | 5 +- packages/types/src/Balance.ts | 3 +- packages/types/src/CType.ts | 2 +- packages/types/src/Credential.ts | 2 +- packages/types/src/Deposit.ts | 2 +- packages/types/src/DidDocument.ts | 3 +- packages/types/src/Imported.ts | 17 + packages/types/src/Message.ts | 3 +- packages/types/src/PublicCredential.ts | 4 +- packages/types/src/index.ts | 5 +- packages/utils/package.json | 4 +- packages/utils/src/Crypto.spec.ts | 8 +- packages/utils/src/Crypto.ts | 4 +- packages/utils/src/DataUtils.spec.ts | 4 - packages/utils/src/UUID.spec.ts | 4 - packages/utils/src/cbor-web.d.ts | 1 - packages/utils/src/cbor.ts | 2 +- packages/vc-export/package.json | 3 +- .../src/exportToVerifiableCredential.spec.ts | 40 +- .../src/exportToVerifiableCredential.ts | 12 +- .../vc-js/suites/KiltAttestedSuite.spec.ts | 6 +- .../vc-js/suites/KiltIntegritySuite.spec.ts | 4 - .../vc-js/suites/KiltSignatureSuite.spec.ts | 4 - .../breakingChanges}/BreakingChanges.spec.ts | 7 +- .../BreakingChanges.spec.ts.snap | 124 +- tests/{ => bundle}/bundle-test.html | 4 +- tests/{ => bundle}/bundle-test.ts | 8 +- tests/{ => bundle}/bundle.spec.ts | 11 +- tests/{ => bundle}/playwright.config.ts | 0 tests/{ => bundle}/tsconfig.json | 5 +- tests/{ => bundle}/types.d.ts | 0 tests/cbor-web.d.ts | 1 - .../integration}/AccountLinking.spec.ts | 32 +- .../integration}/Attestation.spec.ts | 26 +- .../integration}/Balance.spec.ts | 17 +- .../integration}/Blockchain.spec.ts | 23 +- .../integration}/Ctypes.spec.ts | 49 +- .../integration}/Delegation.spec.ts | 40 +- .../integration}/Deposit.spec.ts | 35 +- .../integration}/Did.spec.ts | 59 +- .../integration}/ErrorHandler.spec.ts | 46 +- .../integration}/PublicCredentials.spec.ts | 21 +- .../integration}/Web3Names.spec.ts | 17 +- .../jest.config.integration.esm.js | 12 + tests/integration/jest.config.integration.js | 13 + tests/integration/tsconfig.esm.json | 9 + .../integration}/utils.ts | 70 +- tests/jest.setup.js | 5 + .../src => tests/testUtils}/TestUtils.ts | 0 .../testing/src => tests/testUtils}/index.ts | 0 .../testUtils}/metadata/spiritnet.ts | 6 +- .../src => tests/testUtils}/mocks/index.ts | 0 .../testUtils}/mocks/mockedApi.ts | 0 .../testUtils}/mocks/mockedApi.utils.ts | 0 .../testUtils}/mocks/typeRegistry.ts | 4 +- tsconfig.docs.json | 3 +- tsconfig.json | 3 +- yarn.lock | 2371 +++++++---------- 119 files changed, 2902 insertions(+), 3325 deletions(-) delete mode 100644 jest-setup/setup.js delete mode 100644 packages/testing/package.json delete mode 100644 packages/testing/tsconfig.build.json delete mode 100644 packages/testing/tsconfig.esm.json create mode 100644 packages/types/src/Imported.ts delete mode 100644 packages/utils/src/cbor-web.d.ts rename {packages/testing/src => tests/breakingChanges}/BreakingChanges.spec.ts (98%) rename {packages/testing/src => tests/breakingChanges}/__snapshots__/BreakingChanges.spec.ts.snap (92%) rename tests/{ => bundle}/bundle-test.html (60%) rename tests/{ => bundle}/bundle-test.ts (97%) rename tests/{ => bundle}/bundle.spec.ts (75%) rename tests/{ => bundle}/playwright.config.ts (100%) rename tests/{ => bundle}/tsconfig.json (55%) rename tests/{ => bundle}/types.d.ts (100%) delete mode 100644 tests/cbor-web.d.ts rename {packages/core/src/__integrationtests__ => tests/integration}/AccountLinking.spec.ts (98%) rename {packages/core/src/__integrationtests__ => tests/integration}/Attestation.spec.ts (98%) rename {packages/core/src/__integrationtests__ => tests/integration}/Balance.spec.ts (95%) rename {packages/core/src/__integrationtests__ => tests/integration}/Blockchain.spec.ts (93%) rename {packages/core/src/__integrationtests__ => tests/integration}/Ctypes.spec.ts (77%) rename {packages/core/src/__integrationtests__ => tests/integration}/Delegation.spec.ts (96%) rename {packages/core/src/__integrationtests__ => tests/integration}/Deposit.spec.ts (97%) rename {packages/core/src/__integrationtests__ => tests/integration}/Did.spec.ts (96%) rename {packages/core/src/__integrationtests__ => tests/integration}/ErrorHandler.spec.ts (72%) rename {packages/core/src/__integrationtests__ => tests/integration}/PublicCredentials.spec.ts (98%) rename {packages/core/src/__integrationtests__ => tests/integration}/Web3Names.spec.ts (98%) create mode 100644 tests/integration/jest.config.integration.esm.js create mode 100644 tests/integration/jest.config.integration.js create mode 100644 tests/integration/tsconfig.esm.json rename {packages/core/src/__integrationtests__ => tests/integration}/utils.ts (71%) create mode 100644 tests/jest.setup.js rename {packages/testing/src => tests/testUtils}/TestUtils.ts (100%) rename {packages/testing/src => tests/testUtils}/index.ts (100%) rename {packages/testing/src => tests/testUtils}/metadata/spiritnet.ts (66%) rename {packages/testing/src => tests/testUtils}/mocks/index.ts (100%) rename {packages/testing/src => tests/testUtils}/mocks/mockedApi.ts (100%) rename {packages/testing/src => tests/testUtils}/mocks/mockedApi.utils.ts (100%) rename {packages/testing/src => tests/testUtils}/mocks/typeRegistry.ts (96%) diff --git a/.eslintrc.js b/.eslintrc.js index 552112827..9952fe2a0 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -37,7 +37,7 @@ module.exports = { devDependencies: [ '**/*.test.ts', '**/*.spec.ts', - '**/__integrationtests__/*', + 'tests/**/*', '**/webpack.config.js', ], }, @@ -142,7 +142,7 @@ module.exports = { 'jsdoc/check-tag-names': [ 'warn', { - definedTags: ['group', 'packageDocumentation'], + definedTags: ['packageDocumentation'], }, ], '@typescript-eslint/no-var-requires': 'off', @@ -152,14 +152,6 @@ module.exports = { 'no-console': 'off', }, }, - { - files: ['**/__integrationtests__/*.ts', '**/TestUtils.ts'], - rules: { - 'import/extensions': 'off', - 'jsdoc/require-jsdoc': 'off', - 'no-console': 'off', - }, - }, { files: ['**/augment-api/src/interfaces/**/*.ts'], rules: { @@ -167,16 +159,13 @@ module.exports = { }, }, { - files: ['tests/*'], + files: ['tests/**/*'], rules: { + 'import/extensions': 'off', + 'jsdoc/require-jsdoc': 'off', 'no-console': 'off', '@typescript-eslint/explicit-function-return-type': 'off', - 'import/no-extraneous-dependencies': [ - 'error', - { - devDependencies: ['tests/*', 'tests/bundle.spec.ts'], - }, - ], + 'import/no-extraneous-dependencies': 'off' }, }, ], diff --git a/.github/workflows/test-node-candidate.yml b/.github/workflows/test-node-candidate.yml index 8e933834f..47e249598 100644 --- a/.github/workflows/test-node-candidate.yml +++ b/.github/workflows/test-node-candidate.yml @@ -90,7 +90,7 @@ jobs: - name: run integration tests timeout-minutes: 60 - run: yarn test:integration:ci + run: yarn test:integration -b bundle_cache: runs-on: ubuntu-latest diff --git a/.github/workflows/tests-polkadot-deps.yml b/.github/workflows/tests-polkadot-deps.yml index 837030d49..ce47e76b5 100644 --- a/.github/workflows/tests-polkadot-deps.yml +++ b/.github/workflows/tests-polkadot-deps.yml @@ -122,9 +122,13 @@ jobs: with: image: ${{ env.TESTCONTAINERS_WATCHER_IMG }} - - name: run integration tests + - name: run integration tests (cjs) timeout-minutes: 60 - run: yarn test:integration:ci + run: yarn test:integration -b + + - name: run integration tests (esm) + timeout-minutes: 60 + run: yarn test:integration:esm -b create-issue: runs-on: ubuntu-latest diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 626adea2b..20904ac9d 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -118,8 +118,11 @@ jobs: strategy: matrix: - image: ['latest-master', 'latest-develop', 'latest'] - required: ['optional'] + image: ['latest'] + required: ['required'] + include: + - image: 'latest-develop' + required: 'optional' continue-on-error: ${{ matrix.required == 'optional' }} @@ -161,9 +164,14 @@ jobs: with: image: ${{ env.TESTCONTAINERS_WATCHER_IMG }} - - name: run integration tests + - name: run integration tests (cjs) timeout-minutes: 60 - run: yarn test:integration:ci + run: yarn test:integration -b + + - name: run integration tests (esm) + timeout-minutes: 60 + run: yarn test:integration:esm -b + bundle_cache: runs-on: ubuntu-latest @@ -193,11 +201,11 @@ jobs: needs: [cache_imgs, bundle_cache] strategy: matrix: - image: ['latest-master', 'latest'] - required: ['optional'] + image: ['latest'] + required: ['required'] include: - image: 'latest-develop' - required: 'required' + required: 'optional' continue-on-error: ${{ matrix.required == 'optional' }} steps: diff --git a/babel.config.json b/babel.config.json index c99be6aa9..509e22c8c 100644 --- a/babel.config.json +++ b/babel.config.json @@ -3,7 +3,8 @@ [ "@babel/preset-env", { - "modules": "commonjs" + "modules": "commonjs", + "targets": {"node": "current"} } ] ] diff --git a/jest-setup/setup.js b/jest-setup/setup.js deleted file mode 100644 index ecf272898..000000000 --- a/jest-setup/setup.js +++ /dev/null @@ -1,6 +0,0 @@ -import { cryptoWaitReady } from '@polkadot/util-crypto' -export {} - -beforeAll(async () => { - await cryptoWaitReady() -}) diff --git a/jest.config.js b/jest.config.js index 64f0f026e..40c42c9e7 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,12 +1,18 @@ -module.exports = { - preset: 'ts-jest', +const common = { testEnvironment: 'node', clearMocks: true, - runner: 'groups', - // Parachain block time is 12s - testTimeout: 15000, - setupFilesAfterEnv: ['../jest-setup/setup.js'], + setupFilesAfterEnv: ['/tests/jest.setup.js'], transformIgnorePatterns: ['/node_modules/(?!@polkadot|@babel/runtime/helpers/esm/)'], + transform: { + "\\.js$": ["babel-jest", { root: './' }], + "\\.ts$": "ts-jest" + }, + resolver: "ts-jest-resolver", + moduleDirectories: [ + "node_modules", + "packages/*/src" + ], + coverageDirectory: 'coverage', coverageThreshold: { global: { branches: 70, @@ -15,37 +21,44 @@ module.exports = { statements: 80, }, }, - transform: { - "\\.js$": "babel-jest", - "\\.ts$": "ts-jest" - }, collectCoverageFrom: [ - '**/*/src/**/*.ts', - '!**/index.ts', - '!**/__integrationtests__/**', - '!**/__mocks__/**', - '!**/__tests__/**', - '!**/lib/**', - '!**/test/**', - '!**/kilt/*', - '!**/types/**/*', - '!**/SDKErrors.ts', - '!utils/src/json-schema/*', - '!testing/**', - '!augment-api/**', - '!type-definitions/**', - '!**/*.chain.ts', - '!did/src/Did.chain.ts', - '!did/src/Did.rpc.ts', - '!did/src/Did.utils.ts', - '!utils/src/jsonabc.ts', - '!core/src/utils.ts', + 'packages/*/src/**', ], - resolver: "ts-jest-resolver", - rootDir: 'packages', - coverageDirectory: 'coverage', - moduleDirectories: [ - "node_modules", - "packages/*/src" + coveragePathIgnorePatterns: [ + // test and library code + '/node_modules/', + '/lib/', + '/tests/', + // not properly testable + 'packages/types/', + 'packages/augment-api/', + 'packages/type-definitions/', + 'packages/core/src/kilt/', + 'index.ts', + 'types.ts', + '.chain.ts', + 'SDKErrors.ts', + 'Did.rpc.ts', + 'packages/core/src/utils.ts', + // third party code copied to this repo + 'packages/utils/src/json-schema/', + 'jsonabc.ts', + ], +} + +module.exports = { + ...common, + testTimeout: 5000, + projects: [ + { + ...common, + displayName: 'unit', + roots: ['/packages'], + }, + { + ...common, + displayName: 'breaking', + roots: ['/tests/breakingChanges'], + }, ] } diff --git a/package.json b/package.json index 6d30d27b0..1040f2f9c 100644 --- a/package.json +++ b/package.json @@ -11,23 +11,24 @@ "build": "yarn workspaces foreach -p -t --exclude '{root-workspace}' run build", "build:docs": "typedoc --theme default --out docs/api --tsconfig tsconfig.docs.json && touch docs/.nojekyll", "bundle": "yarn workspace @kiltprotocol/sdk-js run bundle", - "clean": "rimraf tests/dist && yarn workspaces foreach -p --exclude '{root-workspace}' run clean", + "clean": "rimraf tests/bundle/dist && rimraf tests/integration/dist && yarn workspaces foreach -p --exclude '{root-workspace}' run clean", "clean:docs": "rimraf docs/api", "prepublish": "yarn workspaces foreach -p --no-private exec cp -f ../../LICENSE .", "publish": "yarn workspaces foreach -pt --no-private npm publish", - "lint": "eslint packages --format=codeframe", + "lint": "eslint packages tests --format=codeframe", "lint:fix": "yarn lint --fix", "set:version": "npm version --no-git-tag-version --no-workspaces-update --workspaces --include-workspace-root", "style": "prettier -l packages", "style:fix": "yarn style --write", - "test": "jest --coverage --group=unit", - "test:breaking": "jest --group=breaking", + "test": "jest --coverage --selectProjects=unit", + "test:breaking": "jest --selectProjects=breaking", "test:ci": "yarn test --ci --forceExit", - "test:integration": "jest --group=integration -w 3 --testTimeout=30000", - "test:integration:ci": "jest --group=integration -b -w 3 --testTimeout=60000", + "test:integration": "jest -c tests/integration/jest.config.integration.js", + "build:esm-tests": "rimraf tests/integration/dist && tsc -p tests/integration/tsconfig.esm.json && echo '{\"type\":\"module\"}' > tests/integration/dist/package.json", + "test:integration:esm": "yarn build:esm-tests && yarn node --experimental-vm-modules $(yarn bin jest) -c tests/integration/jest.config.integration.esm.js", "test:integration:latest-develop": "TESTCONTAINERS_NODE_IMG=kiltprotocol/mashnet-node:latest-develop yarn test:integration", "test:watch": "yarn test --watch", - "test:bundle": "tsc -p tests/tsconfig.json && yarn ./tests playwright test --config playwright.config.ts", + "test:bundle": "tsc -p tests/bundle/tsconfig.json && yarn ./tests/bundle playwright test --config playwright.config.ts", "test:ci:bundle": "yarn test:ci:bundle:preparation && yarn test:bundle", "test:ci:bundle:preparation": "yarn playwright install-deps && yarn playwright install chromium" }, @@ -47,7 +48,7 @@ "@commitlint/cli": "^9.0.1", "@commitlint/config-conventional": "^9.0.1", "@playwright/test": "^1.21.1", - "@types/jest": "^27.4.0", + "@types/jest": "^29.5.3", "@typescript-eslint/eslint-plugin": "^5.7.0", "@typescript-eslint/parser": "^5.7.0", "eslint": "^7.32.0", @@ -58,18 +59,15 @@ "eslint-plugin-license-header": "^0.2.1", "eslint-plugin-prettier": "^3.4.1", "husky": "^4.2.5", - "jest": "^27.4.7", - "jest-docblock": "^27.4.0", - "jest-runner": "^27.4.6", - "jest-runner-groups": "^2.1.0", + "jest": "^29.6.1", "prettier": "^2.4.1", "rimraf": "^3.0.2", "testcontainers": "^9.0.0", - "ts-jest": "^27.1.2", - "ts-jest-resolver": "^2.0.0", - "typedoc": "^0.22.15", + "ts-jest": "^29.1.1", + "ts-jest-resolver": "^2.0.1", + "typedoc": "^0.23.0", "typescript": "^4.8.3" }, - "version": "0.33.1", + "version": "0.34.0", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index a93fb108c..7a0fdbbdd 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.33.1", + "version": "0.34.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/metadata/spiritnet.json b/packages/augment-api/metadata/spiritnet.json index 908b69fcc..b46f6ba1b 100644 --- a/packages/augment-api/metadata/spiritnet.json +++ b/packages/augment-api/metadata/spiritnet.json @@ -1 +1 @@ -{"result":"0x6d6574610e8507000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f0814496e64657801102c4163636f756e74446174610114001401146e6f6e6365100114496e646578000124636f6e73756d6572731c0120526566436f756e7400012470726f7669646572731c0120526566436f756e7400012c73756666696369656e74731c0120526566436f756e740001106461746114012c4163636f756e7444617461000010000005060014083c70616c6c65745f62616c616e6365732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500012c6d6973635f66726f7a656e18011c42616c616e63650001286665655f66726f7a656e18011c42616c616e636500001800000507001c0000050500200c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540124000c01186e6f726d616c2401045400012c6f7065726174696f6e616c240104540001246d616e6461746f7279240104540000240c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d6528010c75363400012870726f6f665f73697a6528010c75363400002800000610002c083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d000030000002080034102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f677338013c5665633c4469676573744974656d3e0000380000023c003c102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e00060024436f6e73656e7375730800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000400105365616c0800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000500144f74686572040030011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e745570646174656400080000400000030400000008004400000248004808306672616d655f73797374656d2c4576656e745265636f7264080445014c0454012c000c011470686173657502011450686173650001146576656e744c010445000118746f70696373790201185665633c543e00004c08447370697269746e65745f72756e74696d653052756e74696d654576656e740001781853797374656d04005001706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c496e6469636573040074017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e0005002042616c616e636573040078017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404008001a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c53657373696f6e040084015470616c6c65745f73657373696f6e3a3a4576656e740016004050617261636861696e5374616b696e67040088018470617261636861696e5f7374616b696e673a3a4576656e743c52756e74696d653e0015002444656d6f6372616379040090018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e001e001c436f756e63696c0400a001fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400b001fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020004c546563686e6963616c4d656d626572736869700400b401fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365313e0022002054726561737572790400b8017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e0023001c5574696c6974790400bc015470616c6c65745f7574696c6974793a3a4576656e740028001c56657374696e670400c0017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e002900245363686564756c65720400c4018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e002a001450726f78790400d0017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002b0020507265696d6167650400dc017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e002c0038546970734d656d626572736869700400e001fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365323e002d0010546970730400e4016c70616c6c65745f746970733a3a4576656e743c52756e74696d653e002e001443747970650400e8015463747970653a3a4576656e743c52756e74696d653e003d002c4174746573746174696f6e0400ec016c6174746573746174696f6e3a3a4576656e743c52756e74696d653e003e002844656c65676174696f6e0400f8016864656c65676174696f6e3a3a4576656e743c52756e74696d653e003f000c44696404000101014c6469643a3a4576656e743c52756e74696d653e004000244469644c6f6f6b757004000501018470616c6c65745f6469645f6c6f6f6b75703a3a4576656e743c52756e74696d653e00430024576562334e616d657304001501018470616c6c65745f776562335f6e616d65733a3a4576656e743c52756e74696d653e004400445075626c696343726564656e7469616c730400210101887075626c69635f63726564656e7469616c733a3a4576656e743c52756e74696d653e0045003c50617261636861696e53797374656d0400910101bc63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e0050002458636d7051756575650400950101a463756d756c75735f70616c6c65745f78636d705f71756575653a3a4576656e743c52756e74696d653e0052002c506f6c6b61646f7458636d0400a101016870616c6c65745f78636d3a3a4576656e743c52756e74696d653e0053002843756d756c757358636d04006d02018863756d756c75735f70616c6c65745f78636d3a3a4576656e743c52756e74696d653e00540020446d7051756575650400710201a063756d756c75735f70616c6c65745f646d705f71756575653a3a4576656e743c52756e74696d653e00550000500c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5401304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7260013444697370617463684572726f7200013464697370617463685f696e666f5401304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e744964000110686173682c011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e540c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874240118576569676874000114636c6173735801344469737061746368436c617373000120706179735f6665655c0110506179730000580c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f7279000200005c0c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000060082873705f72756e74696d653444697370617463684572726f72000134144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040064012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e0400680128546f6b656e4572726f720007002841726974686d6574696304006c013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007001485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c000064082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7240018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d000068082873705f72756e74696d6528546f6b656e4572726f7200011c1c4e6f46756e647300000020576f756c644469650001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f72746564000600006c083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000070082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000740c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909780c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001281c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e63655365740c010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e63650001207265736572766564180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475737c01185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909097c14346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e6365537461747573000108104672656500000020526573657276656400010000800c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909840c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e6465781c013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909880c4470617261636861696e5f7374616b696e671870616c6c6574144576656e74040454000154204e6577526f756e640800100138543a3a426c6f636b4e756d62657200001c013053657373696f6e496e6465780000088041206e6577207374616b696e6720726f756e642068617320737461727465642e785c5b626c6f636b206e756d6265722c20726f756e64206e756d6265725c5d50456e7465726564546f7043616e646964617465730400000130543a3a4163636f756e744964000108cc41206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d444c656674546f7043616e646964617465730400000130543a3a4163636f756e744964000208d8416e206163636f756e74207761732072656d6f7665642066726f6d2074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d604a6f696e6564436f6c6c61746f7243616e646964617465730800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000308e041206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620636f6c6c61746f722063616e646964617465732ebc5c5b6163636f756e742c20616d6f756e74207374616b656420627920746865206e65772063616e6469646174655c5d48436f6c6c61746f725374616b65644d6f72650c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00040801014120636f6c6c61746f722063616e6469646174652068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d48436f6c6c61746f725374616b65644c6573730c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00050801014120636f6c6c61746f722063616e64696461746520686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d54436f6c6c61746f725363686564756c6564457869740c001c013053657373696f6e496e6465780000000130543a3a4163636f756e74496400001c013053657373696f6e496e64657800061001014120636f6c6c61746f722063616e646964617465206861732073746172746564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e646964617465732e205c5b726f756e64206e756d6265722c20636f6c6c61746f722773206163636f756e742c20726f756e64206e756d626572207768656ee074686520636f6c6c61746f722077696c6c206265206566666563746976656c792072656d6f7665642066726f6d2074686520736574206f663063616e646964617465735c5d50436f6c6c61746f7243616e63656c6564457869740400000130543a3a4163636f756e74496400070c05014120636f6c6c61746f722063616e646964617465206861732063616e63656c6564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e6469646174657320616e6420776173206164646564206261636b20746f207468652063616e64696461746520706f6f6c2e205c5b636f6c6c61746f722773246163636f756e745c5d3443616e6469646174654c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000808cc416e206163636f756e7420686173206c6566742074686520736574206f6620636f6c6c61746f722063616e646964617465732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d3c436f6c6c61746f7252656d6f7665640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000908e4416e206163636f756e742077617320666f726365646c792072656d6f7665642066726f6d207468652020736574206f6620636f6c6c61746f72c863616e646964617465732e205c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d604d617843616e6469646174655374616b654368616e676564040018013042616c616e63654f663c543e000a08b4546865206d6178696d756d2063616e646964617465207374616b6520686173206265656e206368616e6765642e485c5b6e6577206d617820616d6f756e745c5d4c44656c656761746f725374616b65644d6f72651000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000b0cf0412064656c656761746f722068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d4c44656c656761746f725374616b65644c6573731000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000c0cf0412064656c656761746f7220686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d3444656c656761746f724c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000d08a8416e206163636f756e7420686173206c6566742074686520736574206f662064656c656761746f72732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d2844656c65676174696f6e1000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000e0cc8416e206163636f756e74206861732064656c6567617465642061206e657720636f6c6c61746f722063616e6469646174652e11015c5b6163636f756e742c20616d6f756e74206f662066756e6473207374616b65642c20746f74616c20616d6f756e74206f662064656c656761746f7273272066756e64738c7374616b656420666f722074686520636f6c6c61746f722063616e6469646174655c5d4844656c65676174696f6e5265706c616365641800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000f180d0141206e65772064656c65676174696f6e20686173207265706c6163656420616e206578697374696e67206f6e6520696e2074686520736574206f66206f6e676f696e67010164656c65676174696f6e7320666f72206120636f6c6c61746f722063616e6469646174652e205c5b6e65772064656c656761746f722773206163636f756e742c0901616d6f756e74206f662066756e6473207374616b656420696e20746865206e65772064656c65676174696f6e2c207265706c616365642064656c656761746f7227730d016163636f756e742c20616d6f756e74206f662066756e6473207374616b656420696e20746865207265706c6163652064656c65676174696f6e2c20636f6c6c61746f72050163616e6469646174652773206163636f756e742c206e657720746f74616c20616d6f756e74206f662064656c656761746f7273272066756e6473207374616b656470666f722074686520636f6c6c61746f722063616e6469646174655c5d5444656c656761746f724c656674436f6c6c61746f721000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00100cdc416e206163636f756e74206861732073746f707065642064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e09015c5b6163636f756e742c20636f6c6c61746f722063616e6469646174652773206163636f756e742c206f6c6420616d6f756e74206f662064656c656761746f727327d866756e6473207374616b65642c206e657720616d6f756e74206f662064656c656761746f7273272066756e6473207374616b65645c5d2052657761726465640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e001108c04120636f6c6c61746f72206f7220612064656c656761746f72206861732072656365697665642061207265776172642e745c5b6163636f756e742c20616d6f756e74206f66207265776172645c5d44526f756e64496e666c6174696f6e53657410008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00120c0501496e666c6174696f6e20636f6e66696775726174696f6e20666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e09015c5b6d6178696d756d20636f6c6c61746f722773207374616b696e6720726174652c206d6178696d756d20636f6c6c61746f7227732072657761726420726174652c0d016d6178696d756d2064656c656761746f722773207374616b696e6720726174652c206d6178696d756d2064656c656761746f7227732072657761726420726174655c5d604d617853656c656374656443616e6469646174657353657408001c010c75333200001c010c753332001308f0546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c656374656420696e20667574757265dc76616c69646174696f6e20726f756e647320686173206368616e6765642e205c5b6f6c642076616c75652c206e65772076616c75655c5d44426c6f636b73506572526f756e6453657410001c013053657373696f6e496e6465780000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d62657200140cf8546865206c656e67746820696e20626c6f636b7320666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e01015c5b726f756e64206e756d6265722c20666972737420626c6f636b20696e207468652063757272656e7420726f756e642c206f6c642076616c75652c206e65771c76616c75655c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909098c0c3473705f61726974686d65746963287065725f7468696e67732c5065727175696e74696c6c0000040010010c7536340000900c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001382050726f706f73656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e6465781c013c5265666572656e64756d496e6465780001247468726573686f6c64940134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e6465781c013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000704dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000804e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011048323536000114756e74696c100138543a3a426c6f636b4e756d62657200090494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e2c426c61636b6c697374656404013470726f706f73616c5f686173682c011048323536000a04c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e6465781c013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e000b0490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e6465781c012450726f70496e646578000c048c416e206163636f756e742068617320736563636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e6465781c012450726f70496e646578000d0460412070726f706f73616c20676f742063616e63656c65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909940c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f7269747900020000980c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f74659c0110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e6365000100009c0c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000a00c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a40110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a40000050000a80418526573756c7408045401ac044501600108084f6b0400ac000000000c4572720400600000010000ac0000040000b00c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a40110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74a801384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b40c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b80c3c70616c6c65745f74726561737572791870616c6c6574144576656e740804540004490001242050726f706f73656404013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640007049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000804cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909bc0c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e6465781c010c7533320001146572726f7260013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7260013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c74a801384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c00c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c40c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000118245363686564756c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e000118726573756c74a801384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e00030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e0004043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e545065726d616e656e746c794f7665727765696768740801107461736bc8016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964cc01404f7074696f6e3c5461736b4e616d653e000504f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652ec800000408101c00cc04184f7074696f6e04045401040108104e6f6e6500000010536f6d650400040000010000d00c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c74a801384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578d8010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f686173682c013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200040450412070726f7879207761732072656d6f7665642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909d408447370697269746e65745f72756e74696d652450726f7879547970650001180c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002004050617261636861696e5374616b696e670003002c43616e63656c50726f7879000400484e6f6e4465706f736974436c61696d696e6700050000d80000050400dc0c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f746564040110686173682c011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e24526571756573746564040110686173682c011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c6561726564040110686173682c011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e00c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e40c2c70616c6c65745f746970731870616c6c6574144576656e74080454000449000114184e65775469700401207469705f686173682c011c543a3a486173680000049441206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e670401207469705f686173682c011c543a3a48617368000104d841207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c01207469705f686173682c011c543a3a4861736800010c77686f000130543a3a4163636f756e7449640001187061796f757418013c42616c616e63654f663c542c20493e0002048441207469702073756767657374696f6e20686173206265656e20636c6f7365642e305469705265747261637465640401207469705f686173682c011c543a3a486173680003049041207469702073756767657374696f6e20686173206265656e207265747261637465642e28546970536c61736865640c01207469705f686173682c011c543a3a4861736800011866696e646572000130543a3a4163636f756e74496400011c6465706f73697418013c42616c616e63654f663c542c20493e0004048841207469702073756767657374696f6e20686173206265656e20736c61736865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e80c1463747970651870616c6c6574144576656e74040454000108304354797065437265617465640800000144437479706543726561746f724f663c543e00002c01384374797065486173684f663c543e0000087441206e657720435479706520686173206265656e20637265617465642e885c5b63726561746f72206964656e7469666965722c20435479706520686173685c5d3043547970655570646174656404002c01384374797065486173684f663c543e000108ac496e666f726d6174696f6e2061626f7574206120435479706520686173206265656e20757064617465642e385c5b435479706520686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909ec0c2c6174746573746174696f6e1870616c6c6574144576656e74040454000110484174746573746174696f6e43726561746564100000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00002c01384374797065486173684f663c543e0000f001704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e0000088c41206e6577206174746573746174696f6e20686173206265656e20637265617465642e05015c5b61747465737465722049442c20636c61696d20686173682c20435479706520686173682c20286f7074696f6e616c292064656c65676174696f6e2049445c5d484174746573746174696f6e5265766f6b6564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00010880416e206174746573746174696f6e20686173206265656e207265766f6b65642e685c5b6163636f756e742069642c20636c61696d20686173685c5d484174746573746174696f6e52656d6f766564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00020880416e206174746573746174696f6e20686173206265656e2072656d6f7665642e685c5b6163636f756e742069642c20636c61696d20686173685c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c0138436c61696d486173684f663c543e0003080501546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e2e685c5b6163636f756e742069642c20636c61696d20686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909f004184f7074696f6e04045401f40108104e6f6e6500000010536f6d650400f40000010000f40c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c417574686f72697a6174696f6e4964043044656c65676174696f6e4964012c01042844656c65676174696f6e04002c013044656c65676174696f6e496400000000f80c2864656c65676174696f6e1870616c6c6574144576656e7404045400011c40486965726172636879437265617465640c0000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c01384374797065486173684f663c543e0000088441206e65772068696572617263687920686173206265656e20637265617465642ea05c5b63726561746f722049442c20726f6f74206e6f64652049442c20435459504520686173685c5d404869657261726368795265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00010874412068696572617263687920686173206265656e207265766f6b65642e705c5b7265766f6b65722049442c20726f6f74206e6f64652049445c5d4048696572617263687952656d6f766564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000208dc412068696572617263687920686173206265656e2072656d6f7665642066726f6d207468652073746f72616765206f6e20636861696e2e705c5b72656d6f7665722049442c20726f6f74206e6f64652049445c5d4444656c65676174696f6e43726561746564180000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000000014044656c656761746f7249644f663c543e0000fc012c5065726d697373696f6e7300030c8841206e65772064656c65676174696f6e20686173206265656e20637265617465642efc5c5b63726561746f722049442c20726f6f74206e6f64652049442c2064656c65676174696f6e206e6f64652049442c20706172656e74206e6f64652049442c6864656c65676174652049442c207065726d697373696f6e735c5d4444656c65676174696f6e5265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00040878412064656c65676174696f6e20686173206265656e207265766f6b65642e885c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d4444656c65676174696f6e52656d6f76656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00050878412064656c65676174696f6e20686173206265656e2072656d6f7665642e885c5b72656d6f7665722049442c2064656c65676174696f6e206e6f64652049445c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000608f8546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720612064656c65676174696f6eac737562747265652e205c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909fc0c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368792c5065726d697373696f6e730000040110626974731c010c753332000001010c0c6469641870616c6c6574144576656e74040454000110284469644372656174656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e0000086c41206e65772044494420686173206265656e20637265617465642e985c5b7472616e73616374696f6e207369676e65722c20444944206964656e7469666965725c5d284469645570646174656404000001484469644964656e7469666965724f663c543e0001085c412044494420686173206265656e20757064617465642e485c5b444944206964656e7469666965725c5d2844696444656c6574656404000001484469644964656e7469666965724f663c543e0002085c412044494420686173206265656e2064656c657465642e485c5b444944206964656e7469666965725c5d4444696443616c6c4469737061746368656408000001484469644964656e7469666965724f663c543e0000a801384469737061746368526573756c74000308a041204449442d617574686f72697365642063616c6c20686173206265656e2065786563757465642e7c5c5b4449442063616c6c65722c20646973706174636820726573756c745c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090905010c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144576656e74040454000110584173736f63696174696f6e45737461626c69736865640800090101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000004f841206e6577206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e742049442077617320637265617465642e484173736f63696174696f6e52656d6f7665640800090101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000104ec416e206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e74204944207761732072656d6f7665642e444d6967726174696f6e50726f6772657373000204c454686572652077617320736f6d652070726f677265737320696e20746865206d6967726174696f6e2070726f636573732e484d6967726174696f6e436f6d706c65746564000304dc416c6c204163636f756e744964732068617665206265656e206d6967726174656420746f204c696e6b61626c654163636f756e7449642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090909010c4470616c6c65745f6469645f6c6f6f6b7570406c696e6b61626c655f6163636f756e74444c696e6b61626c654163636f756e7449640001082c4163636f756e744964323004000d01012c4163636f756e74496432300000002c4163636f756e7449643332040000012c4163636f756e7449643332000100000d010c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e742c4163636f756e744964323000000400110101205b75383b2032305d0000110100000314000000080015010c4470616c6c65745f776562335f6e616d65731870616c6c6574144576656e740404540001103c576562334e616d65436c61696d65640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6519010134576562334e616d654f663c543e0000047041206e6577206e616d6520686173206265656e20636c61696d65642e40576562334e616d6552656c65617365640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6519010134576562334e616d654f663c543e0001046441206e616d6520686173206265656e2072656c65617365642e38576562334e616d6542616e6e65640401106e616d6519010134576562334e616d654f663c543e0002045c41206e616d6520686173206265656e2062616e6e65642e40576562334e616d65556e62616e6e65640401106e616d6519010134576562334e616d654f663c543e0003046441206e616d6520686173206265656e20756e62616e6e65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090919010c4470616c6c65745f776562335f6e616d657324776562335f6e616d65344173636969576562334e616d65040454000004001d010180426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e00001d01101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000021010c487075626c69635f63726564656e7469616c731870616c6c6574144576656e740404540001104043726564656e7469616c53746f7265640801287375626a6563745f696425010130543a3a5375626a65637449640488546865207375626a656374206f6620746865206e65772063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0474546865206964206f6620746865206e65772063726564656e7469616c2e0004a041206e6577207075626c69632063726564656e7469616c20686173206265656e206973737565642e4443726564656e7469616c52656d6f7665640801287375626a6563745f696425010130543a3a5375626a65637449640498546865207375626a656374206f66207468652072656d6f7665642063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f66207468652072656d6f7665642063726564656e7469616c2e01049841207075626c69632063726564656e7469616c7320686173206265656e2072656d6f7665642e4443726564656e7469616c5265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f6620746865207265766f6b65642063726564656e7469616c2e02049441207075626c69632063726564656e7469616c20686173206265656e207265766f6b65642e4c43726564656e7469616c556e7265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e048c546865206964206f662074686520756e7265766f6b65642063726564656e7469616c2e03049c41207075626c69632063726564656e7469616c20686173206265656e20756e7265766f6b65642e0490546865206576656e74732067656e65726174656420627920746869732070616c6c65742e25010c3872756e74696d655f636f6d6d6f6e18617373657473204173736574446964000004002901013c41737365744964656e746966696572000029010c3c6b696c745f61737365745f646964730876312041737365744469640000080120636861696e5f69642d01011c436861696e496400012061737365745f69645501011c4173736574496400002d01103c6b696c745f61737365745f6469647314636861696e0876311c436861696e49640001141845697031353504003101013c4569703135355265666572656e63650000001842697031323204003501016447656e657369734865784861736833325265666572656e63650001001c446f7473616d6104003501016447656e657369734865784861736833325265666572656e636500020018536f6c616e6104003d01017047656e657369734261736535384861736833325265666572656e63650003001c47656e6572696304004501013847656e65726963436861696e4964000400003101103c6b696c745f61737365745f6469647314636861696e0876313c4569703135355265666572656e6365000004001801107531323800003501103c6b696c745f61737365745f6469647314636861696e0876316447656e657369734865784861736833325265666572656e636500000400390101205b75383b2031365d000039010000031000000008003d01103c6b696c745f61737365745f6469647314636861696e0876317047656e657369734261736535384861736833325265666572656e63650000040041010170426f756e6465645665633c75382c20436f6e73745533323c33323e3e00004101101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00004501103c6b696c745f61737365745f6469647314636861696e0876313847656e65726963436861696e496400000801246e616d6573706163654901015447656e65726963436861696e4e616d6573706163650001247265666572656e63655101015447656e65726963436861696e5265666572656e636500004901103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e4e616d657370616365000004004d0101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4e414d4553504143455f4c454e4754485f5533323e3e00004d01101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00005101103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e5265666572656e636500000400410101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f5245464552454e43455f4c454e4754485f5533323e3e00005501103c6b696c745f61737365745f646964731461737365740876311c4173736574496400011418536c6970343404005901013c536c697034345265666572656e636500000014457263323004006501018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650001001845726337323104006901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650002001c4572633131353504006901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650003001c47656e6572696304007901013847656e6572696341737365744964000400005901103c6b696c745f61737365745f646964731461737365740876313c536c697034345265666572656e6365000004005d0101105532353600005d01083c7072696d69746976655f7479706573105532353600000400610101205b7536343b20345d000061010000030400000010006501103c6b696c745f61737365745f646964731461737365740876318445766d536d617274436f6e747261637446756e6769626c655265666572656e636500000400110101205b75383b2032305d00006901103c6b696c745f61737365745f646964731461737365740876319045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e6365000008006501018445766d536d617274436f6e747261637446756e6769626c655265666572656e636500006d0101b44f7074696f6e3c45766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e7469666965723e00006d0104184f7074696f6e0404540171010108104e6f6e6500000010536f6d650400710100000100007101103c6b696c745f61737365745f646964731461737365740876319445766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e74696669657200000400750101dc426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4944454e5449464945525f4c454e4754485f5533323e3e00007501101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00007901103c6b696c745f61737365745f646964731461737365740876313847656e657269634173736574496400000c01246e616d6573706163657d01015447656e6572696341737365744e616d6573706163650001247265666572656e63658101015447656e6572696341737365745265666572656e63650001086964890101784f7074696f6e3c47656e6572696341737365744964656e7469666965723e00007d01103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365744e616d657370616365000004004d0101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4e414d4553504143455f4c454e4754485f5533323e3e00008101103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365745265666572656e636500000400850101d8426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f5245464552454e43455f4c454e4754485f5533323e3e00008501101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000890104184f7074696f6e040454018d010108104e6f6e6500000010536f6d6504008d0100000100008d01103c6b696c745f61737365745f646964731461737365740876315847656e6572696341737365744964656e74696669657200000400750101dc426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f4944454e5449464945525f4c454e4754485f5533323e3e000091010c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144576656e7404045400011c6056616c69646174696f6e46756e6374696f6e53746f726564000004d05468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e6456616c69646174696f6e46756e6374696f6e4170706c69656404015472656c61795f636861696e5f626c6f636b5f6e756d1c015452656c6179436861696e426c6f636b4e756d62657200010445015468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e6c56616c69646174696f6e46756e6374696f6e446973636172646564000204b05468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e4455706772616465417574686f72697a6564040124636f64655f686173682c011c543a3a486173680003047c416e207570677261646520686173206265656e20617574686f72697a65642e60446f776e776172644d657373616765735265636569766564040114636f756e741c010c7533320004040101536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e64446f776e776172644d6573736167657350726f63657373656408012c7765696768745f75736564240118576569676874000120646d715f686561642c014472656c61795f636861696e3a3a48617368000504e0446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e445570776172644d65737361676553656e740401306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e000604b8416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090995010c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144576656e7404045400011c1c537563636573730801306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e00011877656967687424011857656967687400000464536f6d652058434d20776173206578656375746564206f6b2e104661696c0c01306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e0001146572726f729901012058636d4572726f7200011877656967687424011857656967687400010440536f6d652058434d206661696c65642e2842616456657273696f6e0401306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e000204544261642058434d2076657273696f6e20757365642e24426164466f726d61740401306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e000304504261642058434d20666f726d617420757365642e3c58636d704d65737361676553656e740401306d6573736167655f68617368cc013c4f7074696f6e3c58636d486173683e000404c0416e2048524d50206d657373616765207761732073656e7420746f2061207369626c696e672070617261636861696e2e484f766572776569676874456e71756575656410011873656e6465729d01011850617261496400011c73656e745f61741c014052656c6179426c6f636b4e756d626572000114696e64657810013c4f766572776569676874496e6465780001207265717569726564240118576569676874000504d4416e2058434d2065786365656465642074686520696e646976696475616c206d65737361676520776569676874206275646765742e484f7665727765696768745365727669636564080114696e64657810013c4f766572776569676874496e646578000110757365642401185765696768740006044101416e2058434d2066726f6d20746865206f7665727765696768742071756575652077617320657865637574656420776974682074686520676976656e2061637475616c2077656967687420757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909099901100c78636d08763318747261697473144572726f720001a0204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300304c6f636174696f6e46756c6c000400544c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c753634001500404578706563746174696f6e46616c73650016003850616c6c65744e6f74466f756e64001700304e616d654d69736d617463680018004c56657273696f6e496e636f6d70617469626c6500190050486f6c64696e67576f756c644f766572666c6f77001a002c4578706f72744572726f72001b00385265616e63686f724661696c6564001c00184e6f4465616c001d0028466565734e6f744d6574001e00244c6f636b4572726f72001f00304e6f5065726d697373696f6e00200028556e616e63686f726564002100384e6f744465706f73697461626c650022004c556e68616e646c656458636d56657273696f6e002300485765696768744c696d69745265616368656404002401185765696768740024001c426172726965720025004c5765696768744e6f74436f6d70757461626c650026004445786365656473537461636b4c696d6974002700009d010c48706f6c6b61646f745f70617261636861696e287072696d697469766573084964000004001c010c7533320000a1010c2870616c6c65745f78636d1870616c6c6574144576656e7404045400015c24417474656d707465640400a501015078636d3a3a6c61746573743a3a4f7574636f6d6500000ca8457865637574696f6e206f6620616e2058434d206d6573736167652077617320617474656d707465642e00345c5b206f7574636f6d65205c5d1053656e740c00a90101344d756c74694c6f636174696f6e0000a90101344d756c74694c6f636174696f6e0000cd01011c58636d3c28293e00010c5c412058434d206d657373616765207761732073656e742e00885c5b206f726967696e2c2064657374696e6174696f6e2c206d657373616765205c5d48556e6578706563746564526573706f6e73650800a90101344d756c74694c6f636174696f6e000010011c517565727949640002145901517565727920726573706f6e736520726563656976656420776869636820646f6573206e6f74206d61746368206120726567697374657265642071756572792e2054686973206d61792062652062656361757365206155016d61746368696e6720717565727920776173206e6576657220726567697374657265642c206974206d617920626520626563617573652069742069732061206475706c696361746520726573706f6e73652c206f727062656361757365207468652071756572792074696d6564206f75742e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e73655265616479080010011c517565727949640000f5010120526573706f6e73650003105d01517565727920726573706f6e736520686173206265656e20726563656976656420616e6420697320726561647920666f722074616b696e672077697468206074616b655f726573706f6e7365602e205468657265206973806e6f2072656769737465726564206e6f74696669636174696f6e2063616c6c2e00485c5b2069642c20726573706f6e7365205c5d204e6f7469666965640c0010011c5175657279496400000801087538000008010875380004105901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20686173a86265656e206469737061746368656420616e64206578656375746564207375636365737366756c6c792e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d404e6f746966794f766572776569676874140010011c517565727949640000080108753800000801087538000024011857656967687400002401185765696768740005146101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20636f756c6441016e6f742062652064697370617463686564206265636175736520746865206469737061746368207765696768742069732067726561746572207468616e20746865206d6178696d756d20776569676874e46f726967696e616c6c7920627564676574656420627920746869732072756e74696d6520666f722074686520717565727920726573756c742e0019015c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e6465782c2061637475616c207765696768742c206d617820627564676574656420776569676874205c5d4c4e6f7469667944697370617463684572726f720c0010011c5175657279496400000801087538000008010875380006105501517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e2054686572652077617320612067656e6572616c206572726f722077697468886469737061746368696e6720746865206e6f74696669636174696f6e2063616c6c2e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d484e6f746966794465636f64654661696c65640c0010011c5175657279496400000801087538000008010875380007145101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652064697370617463682077617320756e61626c6520746f20626559016465636f64656420696e746f2061206043616c6c603b2074686973206d696768742062652064756520746f2064697370617463682066756e6374696f6e20686176696e672061207369676e6174757265207768696368946973206e6f742060286f726967696e2c20517565727949642c20526573706f6e736529602e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d40496e76616c6964526573706f6e6465720c00a90101344d756c74694c6f636174696f6e000010011c517565727949640000110201544f7074696f6e3c4d756c74694c6f636174696f6e3e0008145901457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206f726967696e206c6f636174696f6e206f662074686520726573706f6e736520646f657355016e6f74206d6174636820746861742065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e00b05c5b206f726967696e206c6f636174696f6e2c2069642c206578706563746564206c6f636174696f6e205c5d5c496e76616c6964526573706f6e64657256657273696f6e0800a90101344d756c74694c6f636174696f6e000010011c517565727949640009245101457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206578706563746564206f726967696e206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e736554616b656e040010011c51756572794964000a0cc8526563656976656420717565727920726573706f6e736520686173206265656e207265616420616e642072656d6f7665642e00205c5b206964205c5d34417373657473547261707065640c002c0110483235360000a90101344d756c74694c6f636174696f6e00003102015056657273696f6e65644d756c7469417373657473000b0cb8536f6d65206173736574732068617665206265656e20706c6163656420696e20616e20617373657420747261702e00685c5b20686173682c206f726967696e2c20617373657473205c5d5456657273696f6e4368616e67654e6f7469666965640c00a90101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e0000d901012c4d756c7469417373657473000c142501416e2058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e206d65737361676520686173206265656e20617474656d7074656420746f2062652073656e742e00e054686520636f7374206f662073656e64696e672069742028626f726e652062792074686520636861696e2920697320696e636c756465642e007c5c5b2064657374696e6174696f6e2c20726573756c742c20636f7374205c5d5c537570706f7274656456657273696f6e4368616e6765640800a90101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e000d10390154686520737570706f727465642076657273696f6e206f662061206c6f636174696f6e20686173206265656e206368616e6765642e2054686973206d69676874206265207468726f75676820616ec06175746f6d61746963206e6f74696669636174696f6e206f722061206d616e75616c20696e74657276656e74696f6e2e006c5c5b206c6f636174696f6e2c2058434d2076657273696f6e205c5d504e6f7469667954617267657453656e644661696c0c00a90101344d756c74694c6f636174696f6e000010011c5175657279496400009901012058636d4572726f72000e1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f727c73656e64696e6720746865206e6f74696669636174696f6e20746f2069742e007c5c5b206c6f636174696f6e2c2071756572792049442c206572726f72205c5d644e6f746966795461726765744d6967726174696f6e4661696c08006902015856657273696f6e65644d756c74694c6f636174696f6e000010011c51756572794964000f1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f72b46d6967726174696e6720746865206c6f636174696f6e20746f206f7572206e65772058434d20666f726d61742e00605c5b206c6f636174696f6e2c207175657279204944205c5d54496e76616c69645175657269657256657273696f6e0800a90101344d756c74694c6f636174696f6e000010011c517565727949640010245501457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652065787065637465642071756572696572206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d38496e76616c6964517565726965721000a90101344d756c74694c6f636174696f6e000010011c517565727949640000a90101344d756c74694c6f636174696f6e0000110201544f7074696f6e3c4d756c74694c6f636174696f6e3e0011145d01457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652071756572696572206c6f636174696f6e206f662074686520726573706f6e736520646f657351016e6f74206d61746368207468652065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e0005015c5b206f726967696e206c6f636174696f6e2c2069642c20657870656374656420717565726965722c206d617962652061637475616c2071756572696572205c5d5056657273696f6e4e6f74696679537461727465640800a90101344d756c74694c6f636174696f6e0000d901012c4d756c74694173736574730012105901412072656d6f746520686173207265717565737465642058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e2066726f6d20757320616e64207765206861766520686f6e6f7265642069742e1d01412076657273696f6e20696e666f726d6174696f6e206d6573736167652069732073656e7420746f207468656d20616e642069747320636f737420697320696e636c756465642e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d5856657273696f6e4e6f746966795265717565737465640800a90101344d756c74694c6f636174696f6e0000d901012c4d756c746941737365747300130c41015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073656e64732075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d6056657273696f6e4e6f74696679556e7265717565737465640800a90101344d756c74694c6f636174696f6e0000d901012c4d756c746941737365747300140c61015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073746f70732073656e64696e672075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d2046656573506169640800a90101344d756c74694c6f636174696f6e0000d901012c4d756c746941737365747300150c310146656573207765726520706169642066726f6d2061206c6f636174696f6e20666f7220616e206f7065726174696f6e20286f6674656e20666f72207573696e67206053656e6458636d60292e006c5c5b20706179696e67206c6f636174696f6e2c2066656573205c5d34417373657473436c61696d65640c002c0110483235360000a90101344d756c74694c6f636174696f6e00003102015056657273696f6e65644d756c746941737365747300160cc0536f6d65206173736574732068617665206265656e20636c61696d65642066726f6d20616e206173736574207472617000685c5b20686173682c206f726967696e2c20617373657473205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a501100c78636d087633187472616974731c4f7574636f6d6500010c20436f6d706c657465040024011857656967687400000028496e636f6d706c65746508002401185765696768740000990101144572726f72000100144572726f720400990101144572726f7200020000a901100c78636d087633346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72ad0101244a756e6374696f6e730000ad01100c78636d087633246a756e6374696f6e73244a756e6374696f6e7300012410486572650000000858310400b10101204a756e6374696f6e0001000858320800b10101204a756e6374696f6e0000b10101204a756e6374696f6e0002000858330c00b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0003000858341000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0004000858351400b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0005000858361800b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0006000858371c00b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0007000858382000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e0000b10101204a756e6374696f6e00080000b101100c78636d087633206a756e6374696f6e204a756e6374696f6e0001282450617261636861696e0400b501010c7533320000002c4163636f756e744964333208011c6e6574776f726bb90101444f7074696f6e3c4e6574776f726b49643e00010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726bb90101444f7074696f6e3c4e6574776f726b49643e000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726bb90101444f7074696f6e3c4e6574776f726b49643e00010c6b6579110101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400c1010110753132380005002847656e6572616c4b65790801186c656e6774680801087538000110646174610401205b75383b2033325d000600244f6e6c794368696c6400070024506c7572616c6974790801086964c5010118426f6479496400011070617274c9010120426f6479506172740008003c476c6f62616c436f6e73656e7375730400bd0101244e6574776f726b496400090000b5010000061c00b90104184f7074696f6e04045401bd010108104e6f6e6500000010536f6d650400bd010000010000bd01100c78636d087633206a756e6374696f6e244e6574776f726b496400012824427947656e6573697304000401205b75383b2033325d000000184279466f726b080130626c6f636b5f6e756d62657210010c753634000128626c6f636b5f686173680401205b75383b2033325d00010020506f6c6b61646f74000200184b7573616d610003001c57657374656e6400040018526f636f636f00050018576f636f636f00060020457468657265756d040120636861696e5f696428010c7536340007002c426974636f696e436f72650008002c426974636f696e4361736800090000c1010000061800c501100c78636d087633206a756e6374696f6e18426f6479496400012810556e69740000001c4d6f6e696b6572040040011c5b75383b20345d00010014496e6465780400b501010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e00080020547265617375727900090000c901100c78636d087633206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74b501010c753332000100204672616374696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c75333200040000cd010c0c78636d0876330c58636d041043616c6c00000400d10101585665633c496e737472756374696f6e3c43616c6c3e3e0000d101000002d50100d5010c0c78636d0876332c496e737472756374696f6e041043616c6c0001c034576974686472617741737365740400d901012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400d901012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400d901012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f696428011c51756572794964000120726573706f6e7365f5010120526573706f6e73650001286d61785f77656967687424011857656967687400011c71756572696572110201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e736665724173736574080118617373657473d901012c4d756c746941737365747300012c62656e6566696369617279a90101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473d901012c4d756c746941737365747300011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64150201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737424011857656967687400011063616c6c1902014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b501010c7533320001406d61785f6d6573736167655f73697a65b501010c7533320001306d61785f6361706163697479b501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b501010c75333200011873656e646572b501010c753332000124726563697069656e74b501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400ad010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f7204001d0201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473210201404d756c7469417373657446696c74657200012c62656e6566696369617279a90101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473210201404d756c7469417373657446696c74657200011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e000e003445786368616e676541737365740c011067697665210201404d756c7469417373657446696c74657200011077616e74d901012c4d756c746941737365747300011c6d6178696d616ca40110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473210201404d756c7469417373657446696c74657200011c72657365727665a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473210201404d756c7469417373657446696c74657200011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f1d0201445175657279526573706f6e7365496e666f000118617373657473210201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573e10101284d756c746941737365740001307765696768745f6c696d69742d02012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400cd01012458636d3c43616c6c3e0015002c536574417070656e6469780400cd01012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473d901012c4d756c74694173736574730001187469636b6574a90101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f776569676874240118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e41737365740400d901012c4d756c7469417373657473001c002c45787065637441737365740400d901012c4d756c7469417373657473001d00304578706563744f726967696e0400110201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400f90101504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e7361637453746174757304000d0201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6530011c5665633c75383e000134726573706f6e73655f696e666f1d0201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578b501010c7533320001106e616d6530011c5665633c75383e00012c6d6f64756c655f6e616d6530011c5665633c75383e00012c63726174655f6d616a6f72b501010c75333200013c6d696e5f63726174655f6d696e6f72b501010c753332002200505265706f72745472616e7361637453746174757304001d0201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400b10101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726bbd0101244e6574776f726b496400012c64657374696e6174696f6ead010154496e746572696f724d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e002600244c6f636b41737365740801146173736574e10101284d756c74694173736574000120756e6c6f636b6572a90101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574e10101284d756c74694173736574000118746172676574a90101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574e10101284d756c746941737365740001146f776e6572a90101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574e10101284d756c746941737365740001186c6f636b6572a90101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177a40110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400a90101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69742d02012c5765696768744c696d6974000130636865636b5f6f726967696e110201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f0000d901100c78636d087633286d756c746961737365742c4d756c746941737365747300000400dd01013c5665633c4d756c746941737365743e0000dd01000002e10100e101100c78636d087633286d756c74696173736574284d756c7469417373657400000801086964e501011c4173736574496400010c66756ee901012c46756e676962696c6974790000e501100c78636d087633286d756c746961737365741c4173736574496400010820436f6e63726574650400a90101344d756c74694c6f636174696f6e00000020416273747261637404000401205b75383b2033325d00010000e901100c78636d087633286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400c1010110753132380000002c4e6f6e46756e6769626c650400ed0101344173736574496e7374616e636500010000ed01100c78636d087633286d756c74696173736574344173736574496e7374616e636500011824556e646566696e656400000014496e6465780400c10101107531323800010018417272617934040040011c5b75383b20345d000200184172726179380400f101011c5b75383b20385d0003001c417272617931360400390101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050000f101000003080000000800f5010c0c78636d08763320526573706f6e7365000118104e756c6c000000184173736574730400d901012c4d756c74694173736574730001003c457865637574696f6e526573756c740400f90101504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e04001c013873757065723a3a56657273696f6e0003002c50616c6c657473496e666f04000102013456656350616c6c6574496e666f000400384469737061746368526573756c7404000d0201384d617962654572726f72436f646500050000f90104184f7074696f6e04045401fd010108104e6f6e6500000010536f6d650400fd010000010000fd01000004081c99010001020c0c78636d0876333456656350616c6c6574496e666f000004000502013c5665633c50616c6c6574496e666f3e0000050200000209020009020c0c78636d0876332850616c6c6574496e666f0000180114696e646578b501010c7533320001106e616d6530011c5665633c75383e00012c6d6f64756c655f6e616d6530011c5665633c75383e0001146d616a6f72b501010c7533320001146d696e6f72b501010c7533320001147061746368b501010c75333200000d020c0c78636d087633384d617962654572726f72436f646500010c1c53756363657373000000144572726f72040030011c5665633c75383e000100385472756e63617465644572726f72040030011c5665633c75383e00020000110204184f7074696f6e04045401a9010108104e6f6e6500000010536f6d650400a901000001000015020c0c78636d087632284f726967696e4b696e64000110184e617469766500000040536f7665726569676e4163636f756e74000100245375706572757365720002000c58636d0003000019020c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e00001d020c0c78636d087633445175657279526573706f6e7365496e666f00000c012c64657374696e6174696f6ea90101344d756c74694c6f636174696f6e00012071756572795f696428011c517565727949640001286d61785f77656967687424011857656967687400002102100c78636d087633286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e6974650400d901012c4d756c74694173736574730000001057696c6404002502013857696c644d756c74694173736574000100002502100c78636d087633286d756c746961737365743857696c644d756c746941737365740001100c416c6c00000014416c6c4f660801086964e501011c4173736574496400010c66756e2902013c57696c6446756e676962696c69747900010028416c6c436f756e7465640400b501010c75333200020030416c6c4f66436f756e7465640c01086964e501011c4173736574496400010c66756e2902013c57696c6446756e676962696c697479000114636f756e74b501010c753332000300002902100c78636d087633286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c65000100002d020c0c78636d0876332c5765696768744c696d697400010824556e6c696d697465640000001c4c696d697465640400240118576569676874000100003102080c78636d5056657273696f6e65644d756c746941737365747300010808563204003502013c76323a3a4d756c74694173736574730000000856330400d901013c76333a3a4d756c7469417373657473000100003502100c78636d087632286d756c746961737365742c4d756c7469417373657473000004003902013c5665633c4d756c746941737365743e000039020000023d02003d02100c78636d087632286d756c74696173736574284d756c74694173736574000008010869644102011c4173736574496400010c66756e6102012c46756e676962696c69747900004102100c78636d087632286d756c746961737365741c4173736574496400010820436f6e63726574650400450201344d756c74694c6f636174696f6e000000204162737472616374040030011c5665633c75383e000100004502100c78636d087632346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72490201244a756e6374696f6e7300004902100c78636d087632346d756c74696c6f636174696f6e244a756e6374696f6e73000124104865726500000008583104004d0201204a756e6374696f6e00010008583208004d0201204a756e6374696f6e00004d0201204a756e6374696f6e0002000858330c004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00030008583410004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00040008583514004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00050008583618004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e0006000858371c004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00070008583820004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e00004d0201204a756e6374696f6e000800004d02100c78636d087632206a756e6374696f6e204a756e6374696f6e0001242450617261636861696e0400b501010c7533320000002c4163636f756e744964333208011c6e6574776f726b510201244e6574776f726b496400010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726b510201244e6574776f726b4964000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726b510201244e6574776f726b496400010c6b6579110101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400c1010110753132380005002847656e6572616c4b65790400550201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000600244f6e6c794368696c6400070024506c7572616c697479080108696459020118426f64794964000110706172745d020120426f6479506172740008000051020c0c78636d087632244e6574776f726b49640001100c416e79000000144e616d65640400550201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010020506f6c6b61646f74000200184b7573616d61000300005502101c73705f636f72651c626f756e646564407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004003001185665633c543e000059020c0c78636d08763218426f6479496400012810556e6974000000144e616d65640400550201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010014496e6465780400b501010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e000800205472656173757279000900005d020c0c78636d08763220426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74b501010c753332000100204672616374696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6db501010c75333200011464656e6f6db501010c753332000400006102100c78636d087632286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400c1010110753132380000002c4e6f6e46756e6769626c650400650201344173736574496e7374616e6365000100006502100c78636d087632286d756c74696173736574344173736574496e7374616e636500011c24556e646566696e656400000014496e6465780400c10101107531323800010018417272617934040040011c5b75383b20345d000200184172726179380400f101011c5b75383b20385d0003001c417272617931360400390101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050010426c6f62040030011c5665633c75383e000600006902080c78636d5856657273696f6e65644d756c74694c6f636174696f6e00010808563204004502014476323a3a4d756c74694c6f636174696f6e0000000856330400a901014476333a3a4d756c74694c6f636174696f6e000100006d020c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144576656e7404045400010c34496e76616c6964466f726d617404000401205b75383b2033325d00000880446f776e77617264206d65737361676520697320696e76616c69642058434d2e205c5b206964205c5d48556e737570706f7274656456657273696f6e04000401205b75383b2033325d000108bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e205c5b206964205c5d404578656375746564446f776e7761726408000401205b75383b2033325d0000a501011c4f7574636f6d65000208c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e445c5b2069642c206f7574636f6d65205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090971020c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144576656e7404045400011834496e76616c6964466f726d61740401286d6573736167655f69640401244d657373616765496400000480446f776e77617264206d65737361676520697320696e76616c69642058434d2e48556e737570706f7274656456657273696f6e0401286d6573736167655f69640401244d6573736167654964000104bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e404578656375746564446f776e776172640801286d6573736167655f69640401244d657373616765496400011c6f7574636f6d65a501011c4f7574636f6d65000204c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e3c5765696768744578686175737465640c01286d6573736167655f69640401244d657373616765496400014072656d61696e696e675f77656967687424011857656967687400013c72657175697265645f776569676874240118576569676874000304f054686520776569676874206c696d697420666f722068616e646c696e6720646f776e77617264206d657373616765732077617320726561636865642e484f766572776569676874456e7175657565640c01286d6573736167655f69640401244d65737361676549640001406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800013c72657175697265645f7765696768742401185765696768740004041901446f776e77617264206d657373616765206973206f76657277656967687420616e642077617320706c6163656420696e20746865206f7665727765696768742071756575652e484f76657277656967687453657276696365640801406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800012c7765696768745f75736564240118576569676874000504e0446f776e77617264206d6573736167652066726f6d20746865206f766572776569676874207175657565207761732065786563757465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909750208306672616d655f73797374656d14506861736500010c384170706c7945787472696e73696304001c010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e0002000079020000022c007d02000002c800810208306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6eb501014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d658502016473705f72756e74696d653a3a52756e74696d65537472696e6700008502000005020089020c306672616d655f73797374656d1870616c6c65741043616c6c0404540001201872656d61726b04011872656d61726b30011c5665633c75383e000014684d616b6520736f6d65206f6e2d636861696e2072656d61726b2e002823203c7765696768743e202d20604f283129602c23203c2f7765696768743e387365745f686561705f7061676573040114706167657310010c753634000104f853657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f6465040110636f646530011c5665633c75383e0002306453657420746865206e65772072756e74696d6520636f64652e002823203c7765696768743e31012d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f64656045012d20312063616c6c20746f206063616e5f7365745f636f6465603a20604f28532960202863616c6c73206073705f696f3a3a6d6973633a3a72756e74696d655f76657273696f6e60207768696368206973342020657870656e73697665292e842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e4d0154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652c206275742067656e6572616c6c7920746869732069732076657279b8657870656e736976652e2057652077696c6c207472656174207468697320617320612066756c6c20626c6f636b2e2c23203c2f7765696768743e5c7365745f636f64655f776974686f75745f636865636b73040110636f646530011c5665633c75383e000324190153657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e002823203c7765696768743e8c2d20604f2843296020776865726520604360206c656e677468206f662060636f646560842d20312073746f726167652077726974652028636f64656320604f28432960292e402d203120646967657374206974656d2e282d2031206576656e742e550154686520776569676874206f6620746869732066756e6374696f6e20697320646570656e64656e74206f6e207468652072756e74696d652e2057652077696c6c207472656174207468697320617320612066756c6c48626c6f636b2e2023203c2f7765696768743e2c7365745f73746f726167650401146974656d738d0201345665633c4b657956616c75653e0004046853657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f726167650401106b657973950201205665633c4b65793e000504744b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697808011870726566697830010c4b657900011c7375626b6579731c010c75333200061011014b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e0039012a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e6465723d0174686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e4472656d61726b5f776974685f6576656e7404011872656d61726b30011c5665633c75383e000704a44d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e8d020000029102009102000004083030009502000002300099020c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2401185765696768740001246d61785f626c6f636b2401185765696768740001247065725f636c6173739d0201845065724469737061746368436c6173733c57656967687473506572436c6173733e00009d020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c61737304045401a102000c01186e6f726d616ca10201045400012c6f7065726174696f6e616ca1020104540001246d616e6461746f7279a1020104540000a1020c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632401185765696768740001346d61785f65787472696e736963a50201384f7074696f6e3c5765696768743e0001246d61785f746f74616ca50201384f7074696f6e3c5765696768743e0001207265736572766564a50201384f7074696f6e3c5765696768743e0000a50204184f7074696f6e04045401240108104e6f6e6500000010536f6d650400240000010000a9020c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178ad0201545065724469737061746368436c6173733c7533323e0000ad020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c617373040454011c000c01186e6f726d616c1c01045400012c6f7065726174696f6e616c1c0104540001246d616e6461746f72791c0104540000b102082873705f776569676874733c52756e74696d65446257656967687400000801107265616410010c753634000114777269746510010c7536340000b502082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d658502013452756e74696d65537472696e67000124696d706c5f6e616d658502013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e1c010c753332000130737065635f76657273696f6e1c010c753332000130696d706c5f76657273696f6e1c010c75333200011061706973b902011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e1c010c75333200013473746174655f76657273696f6e08010875380000b902040c436f7704045401bd02000400bd02000000bd02000002c10200c10200000408f1011c00c5020c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c6574c902101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c045300000400790201185665633c543e0000cd020c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f77280124543a3a4d6f6d656e7400004054536574207468652063757272656e742074696d652e005501546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed470686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e0041015468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e742073706563696669656420627940604d696e696d756d506572696f64602e00d4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e002823203c7765696768743e31012d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f283129602961012d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e402020606f6e5f66696e616c697a656029d42d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed1020000040c0018a400d5020c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e6465780000489841737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00dc5061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f02d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e602d204f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e207472616e7366657208010c6e6577d90201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e6465780001505d0141737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6eb86973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0025012d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e642d204f6e65207472616e73666572206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743ae02020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e7429e42020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e742028726563697069656e74292c23203c2f7765696768743e1066726565040114696e64657810013c543a3a4163636f756e74496e646578000248944672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e005d015061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e000d012d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e0084456d6974732060496e646578467265656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e602d204f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e38666f7263655f7472616e736665720c010c6e6577d90201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65a40110626f6f6c0003545501466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479e868656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a42d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e41012d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e782d20557020746f206f6e652072657365727665206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d302d204442205765696768743af42020202d2052656164733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e657229f82020202d205772697465733a20496e6469636573204163636f756e74732c2053797374656d204163636f756e7420286f726967696e616c206f776e6572292c23203c2f7765696768743e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004484101467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206861766520616c6e6f6e2d66726f7a656e206163636f756e742060696e646578602e00ac2d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e0088456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e002823203c7765696768743e242d20604f283129602e982d204f6e652073746f72616765206d75746174696f6e2028636f64656320604f28312960292e702d20557020746f206f6e6520736c617368206f7065726174696f6e2e302d204f6e65206576656e742e4c2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d902d204442205765696768743a203120526561642f577269746520284163636f756e7473292c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed9020c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e64657801ac011408496404000001244163636f756e74496400000014496e6465780400dd0201304163636f756e74496e6465780001000c526177040030011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400110101205b75383b2032305d00040000dd02000006ac00e1020c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909e502101c73705f636f72651c626f756e646564407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401e902045300000400f10201185665633c543e0000e902083c70616c6c65745f62616c616e6365732c42616c616e63654c6f636b041c42616c616e63650118000c01086964f10101384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e73ed02011c526561736f6e730000ed02083c70616c6c65745f62616c616e6365731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000f102000002e90200f502101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401f902045300000400fd0201185665633c543e0000f902083c70616c6c65745f62616c616e6365732c52657365727665446174610844526573657276654964656e74696669657201f1011c42616c616e63650118000801086964f1010144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e63650000fd02000002f9020001030c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000118207472616e7366657208011064657374d90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565c1010128543a3a42616c616e6365000064d45472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e000501607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e11014966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b06f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e002823203c7765696768743e61012d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f7220696e70757420636f6e66696794202074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e31012d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c6578382020636f6d7075746174696f6e2e004852656c617465642066756e6374696f6e733a004d0120202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e290120202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365cc2020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642e5d0120202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765722060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e636564602e5d0120202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616c20636865636bdc202020207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e842d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d11012d204f726967696e206163636f756e7420697320616c726561647920696e206d656d6f72792c20736f206e6f204442206f7065726174696f6e7320666f72207468656d2e2c23203c2f7765696768743e2c7365745f62616c616e63650c010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f66726565c1010128543a3a42616c616e63650001306e65775f7265736572766564c1010128543a3a42616c616e636500012090536574207468652062616c616e636573206f66206120676976656e206163636f756e742e001d01546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c3101616c736f20616c7465722074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e6365602920617070726f7072696174656c792e1501496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742cfc69742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b0546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e38666f7263655f7472616e736665720c0118736f75726365d90201504163636f756e7449644c6f6f6b75704f663c543e00011064657374d90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565c1010128543a3a42616c616e63650002184d0145786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d6179206265287370656369666965642e2823203c7765696768743e4d012d2053616d65206173207472616e736665722c20627574206164646974696f6e616c207265616420616e6420777269746520626563617573652074686520736f75726365206163636f756e74206973206e6f747c2020617373756d656420746f20626520696e20746865206f7665726c61792e2c23203c2f7765696768743e4c7472616e736665725f6b6565705f616c69766508011064657374d90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565c1010128543a3a42616c616e63650003184d0153616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c207468653c6f726967696e206163636f756e742e00b8393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c05b607472616e73666572605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572307472616e736665725f616c6c08011064657374d90201504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665a40110626f6f6c00044405015472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e0059014e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e7320746861746101616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062655d017472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c4501796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f72616765406465706f736974732c206574632e2e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e00a02d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e59012d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c4d0120206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f72590120207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746fc820206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e2023203c7765696768743e39012d204f2831292e204a757374206c696b65207472616e736665722c206275742072656164696e672074686520757365722773207472616e7366657261626c652062616c616e63652066697273742e302020233c2f7765696768743e3c666f7263655f756e7265736572766508010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050cb0556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e006c43616e206f6e6c792062652063616c6c656420627920524f4f542e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e05030c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001203856657374696e6742616c616e63650000049856657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e73000104c44163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304e856616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650004048c5472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c65000504c8412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e740006048842656e6566696369617279206163636f756e74206d757374207072652d65786973743c546f6f4d616e795265736572766573000704ac4e756d626572206f66206e616d656420726573657276657320657863656564204d6178526573657276657304b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090909030c3473705f61726974686d657469632c66697865645f706f696e7424466978656455313238000004001801107531323800000d03086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e74000000085632000100001103101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540115030453000004001d0301185665633c543e00001503104473705f636f6e73656e7375735f617572611c737232353531392c6170705f73723235353139185075626c6963000004001903013c737232353531393a3a5075626c6963000019030c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d00001d030000021503002103084873705f636f6e73656e7375735f736c6f747310536c6f740000040010010c75363400002503000002000029030000022d03002d030000040800310300310308447370697269746e65745f72756e74696d652c53657373696f6e4b657973000004011061757261150301c43c41757261206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c6963000035030000021c003903000004083d0330003d030c1c73705f636f72651863727970746f244b65795479706549640000040040011c5b75383b20345d000041030c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b6579733103011c543a3a4b65797300011470726f6f6630011c5665633c75383e000038e453657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e1d01416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d0546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e002823203c7765696768743e11012d20436f6d706c65786974793a20604f283129602e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f6698202060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a20606f726967696e206163636f756e74602c2060543a3a56616c696461746f7249644f66602c20604e6578744b65797360a02d2044625772697465733a20606f726967696e206163636f756e74602c20604e6578744b65797360802d204462526561647320706572206b65792069643a20604b65794f776e657260842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e2870757267655f6b657973000140c852656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722e00c05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e005501546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265205369676e656420616e6420746865206163636f756e74206d757374206265206569746865722062655d01636f6e7665727469626c6520746f20612076616c696461746f72204944207573696e672074686520636861696e2773207479706963616c2061646472657373696e672073797374656d20287468697320757375616c6c7951016d65616e73206265696e67206120636f6e74726f6c6c6572206163636f756e7429206f72206469726563746c7920636f6e7665727469626c6520696e746f20612076616c696461746f722049442028776869636894757375616c6c79206d65616e73206265696e672061207374617368206163636f756e74292e002823203c7765696768743e61012d20436f6d706c65786974793a20604f2831296020696e206e756d626572206f66206b65792074797065732e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468a420206f662060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642eec2d20446252656164733a2060543a3a56616c696461746f7249644f66602c20604e6578744b657973602c20606f726967696e206163636f756e7460a02d2044625772697465733a20604e6578744b657973602c20606f726967696e206163636f756e7460842d20446257726974657320706572206b65792069643a20604b65794f776e6572602c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e45030c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742e49030c4470617261636861696e5f7374616b696e6714747970657324526f756e64496e666f042c426c6f636b4e756d6265720110000c011c63757272656e741c013053657373696f6e496e646578000114666972737410012c426c6f636b4e756d6265720001186c656e67746810012c426c6f636b4e756d62657200004d030c4470617261636861696e5f7374616b696e671474797065734444656c65676174696f6e436f756e7465720000080114726f756e641c013053657373696f6e496e64657800011c636f756e7465721c010c753332000051030c4470617261636861696e5f7374616b696e67147479706573145374616b6508244163636f756e74496401001c42616c616e63650118000801146f776e65720001244163636f756e744964000118616d6f756e7418011c42616c616e6365000055030c4470617261636861696e5f7374616b696e671474797065732443616e6469646174650c244163636f756e74496401001c42616c616e63650118644d617844656c656761746f727350657243616e646964617465000014010869640001244163636f756e7449640001147374616b6518011c42616c616e636500012864656c656761746f727359030101014f7264657265645365743c5374616b653c4163636f756e7449642c2042616c616e63653e2c204d617844656c656761746f727350657243616e6469646174653e000114746f74616c18011c42616c616e63650001187374617475736503013c43616e646964617465537461747573000059030c4470617261636861696e5f7374616b696e670c736574284f7264657265645365740804540151030453000004005d030140426f756e6465645665633c542c20533e00005d03101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454015103045300000400610301185665633c543e0000610300000251030065030c4470617261636861696e5f7374616b696e671474797065733c43616e646964617465537461747573000108184163746976650000001c4c656176696e6704001c013053657373696f6e496e6465780001000069030c4470617261636861696e5f7374616b696e6714747970657328546f74616c5374616b65041c42616c616e6365011800080124636f6c6c61746f727318011c42616c616e636500012864656c656761746f727318011c42616c616e636500006d030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401510304530000040071030140426f756e6465645665633c542c20533e00007103101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454015103045300000400610301185665633c543e000075030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e34496e666c6174696f6e496e666f0000080120636f6c6c61746f727903012c5374616b696e67496e666f00012464656c656761746f727903012c5374616b696e67496e666f000079030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e2c5374616b696e67496e666f00000801206d61785f726174658c012c5065727175696e74696c6c00012c7265776172645f726174657d0301285265776172645261746500007d030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e28526577617264526174650000080118616e6e75616c8c012c5065727175696e74696c6c0001247065725f626c6f636b8c012c5065727175696e74696c6c00008103101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601180453000004008503013842547265654d61703c4b2c20563e00008503042042547265654d617008044b011004560118000400890300000089030000028d03008d030000040810180091030c4470617261636861696e5f7374616b696e671870616c6c65741043616c6c0404540001543c666f7263655f6e65775f726f756e64000018d0466f7263657320746865207374617274206f6620746865206e657720726f756e6420696e20746865206e65787420626c6f636b2e00a0546865206e657720726f756e642077696c6c20626520656e666f7263656420766961203c54206173a453686f756c64456e6453657373696f6e3c5f3e3e3a3a73686f756c645f656e645f73657373696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e347365745f696e666c6174696f6e100170636f6c6c61746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c000198636f6c6c61746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00017464656c656761746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c00019c64656c656761746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00013cf05365742074686520616e6e75616c20696e666c6174696f6e207261746520746f20646572697665207065722d726f756e6420696e666c6174696f6e2e00110154686520696e666c6174696f6e2064657461696c732061726520636f6e736964657265642076616c69642069662074686520616e6e75616c207265776172642072617465f0697320617070726f78696d6174656c7920746865207065722d626c6f636b207265776172642072617465206d756c7469706c69656420627920746865ac657374696d617465642a20746f74616c206e756d626572206f6620626c6f636b732070657220796561722e00cc54686520657374696d61746564206176657261676520626c6f636b2074696d65206973207477656c7665207365636f6e64732e000d014e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20616e6420666f7220656163682063616e646964617465206f766572207468656972090164656c656761746f727320746f207570646174652074686569722072657761726473206265666f72652074686520726577617264207261746573206368616e67652ee04e6565647320746f20626520696d70726f766564207768656e207363616c696e6720757020604d6178546f7043616e64696461746573602e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060526f756e64496e666c6174696f6e536574602e6c7365745f6d61785f73656c65637465645f63616e6469646174657304010c6e65771c010c75333200022c090153657420746865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e6469646174657320746861742063616e2062652073656c6563746564a861742074686520626567696e6e696e67206f6620656163682076616c69646174696f6e20726f756e642e00e84368616e67657320617265206e6f74206170706c69656420756e74696c20746865207374617274206f6620746865206e65787420726f756e642e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617853656c656374656443616e64696461746573536574602e507365745f626c6f636b735f7065725f726f756e6404010c6e6577100138543a3a426c6f636b4e756d62657200032cd453657420746865206e756d626572206f6620626c6f636b7320656163682076616c69646174696f6e20726f756e64206c617374732e000901496620746865206e65772076616c7565206973206c657373207468616e20746865206c656e677468206f66207468652063757272656e7420726f756e642c20746865050173797374656d2077696c6c20696d6d6564696174656c79206d6f766520746f20746865206e65787420726f756e6420696e20746865206e65787420626c6f636b2e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060426c6f636b73506572526f756e64536574602e5c7365745f6d61785f63616e6469646174655f7374616b6504010c6e657718013042616c616e63654f663c543e000418110153657420746865206d6178696d616c20616d6f756e74206120636f6c6c61746f722063616e207374616b652e204578697374696e67207374616b657320617265206e6f74206368616e6765642e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617843616e6469646174655374616b654368616e676564602e58666f7263655f72656d6f76655f63616e646964617465040120636f6c6c61746f72d902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650005300101466f726365646c792072656d6f766573206120636f6c6c61746f722063616e6469646174652066726f6d2074686520546f7043616e6469646174657320616e64e4636c6561727320616c6c206173736f6369617465642073746f7261676520666f72207468652063616e64696461746520616e642074686569722c64656c656761746f72732e00fc507265706172657320756e7374616b696e67206f66207468652063616e6469646174657320616e642074686569722064656c656761746f7273207374616b65f077686963682063616e20626520756e6c6f636b6564207669612060756e6c6f636b5f756e7374616b6564602061667465722077616974696e6720617409016c6561737420605374616b654475726174696f6e60206d616e7920626c6f636b732e20416c736f20696e6372656d656e7473207265776172647320666f722074686578636f6c6c61746f7220616e642074686569722064656c656761746f72732e00d4496e6372656d656e74732072657761726473206f662063616e64696461746520616e642074686569722064656c656761746f72732e0064456d697473206043616e64696461746552656d6f766564602e3c6a6f696e5f63616e646964617465730401147374616b6518013042616c616e63654f663c543e000644904a6f696e2074686520736574206f6620636f6c6c61746f722063616e646964617465732e00f8496e20746865206e65787420626c6f636b732c2069662074686520636f6c6c61746f722063616e6469646174652068617320656e6f7567682066756e6473fc7374616b656420746f20626520696e636c7564656420696e20616e79206f662074686520746f7020604d617853656c656374656443616e64696461746573600d01706f736974696f6e732c2069742077696c6c20626520696e636c7564656420696e2074686520736574206f6620706f74656e7469616c20617574686f72732074686174050177696c6c2062652073656c656374656420627920746865207374616b652d77656967687465642072616e646f6d2073656c656374696f6e2066756e6374696f6e2e00fc546865207374616b65642066756e6473206f6620746865206e657720636f6c6c61746f722063616e6469646174652061726520616464656420746f2074686568746f74616c207374616b65206f66207468652073797374656d2e00110154686520746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e2074686520616c6c6f7765642072616e67652061738873657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e00f0546865206469737061746368206f726967696e206d757374206e6f7420626520616c72656164792070617274206f662074686520636f6c6c61746f729463616e64696461746573206e6f72206f66207468652064656c656761746f7273207365742e0084456d69747320604a6f696e6564436f6c6c61746f7243616e64696461746573602e54696e69745f6c656176655f63616e6469646174657300076cc05265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e0005014f6e20737563636573732c20746865206163636f756e7420697320696d6d6564696174656c792072656d6f7665642066726f6d207468652063616e6469646174651101706f6f6c20746f2070726576656e742073656c656374696f6e206173206120636f6c6c61746f7220696e206675747572652076616c69646174696f6e20726f756e64732cd862757420756e7374616b696e67206f66207468652066756e6473206973206578656375746564207769746820612064656c6179206f665c605374616b654475726174696f6e6020626c6f636b732e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00f454686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e204974206973110175706461746564206576656e2074686f756768207468652066756e6473206f66207468652063616e6469646174652077686f207369676e616c656420746f206c65617665fc617265207374696c6c206c6f636b656420666f7220604578697444656c617960202b20605374616b654475726174696f6e60206d6f726520626c6f636b732e000d014e4f544520313a2055706f6e207374617274696e672061206e65772073657373696f6e5f6920696e20606e65775f73657373696f6e602c207468652063757272656e741101746f702063616e64696461746573206172652073656c656374656420746f20626520626c6f636b20617574686f727320666f722073657373696f6e5f692b312e20416e7905016368616e67657320746f2074686520746f702063616e64696461746573206166746572776172647320646f206e6f74206566666563742074686520736574206f6660617574686f727320666f722073657373696f6e5f692b312ed8546875732c207765206861766520746f206d616b652073757265206e6f6e65206f6620746865736520636f6c6c61746f72732063616ebc6c65617665206265666f72652073657373696f6e5f692b3120656e64732062792064656c6179696e67207468656972846578697420666f7220604578697444656c617960206d616e7920626c6f636b732e00f04e4f544520323a20576520646f206e6f7420696e6372656d656e74207265776172647320696e20746869732065787472696e73696320617320746865110163616e64696461746520636f756c64207374696c6c20617574686f7220626c6f636b732c20616e64207468757320626520656c696769626c6520746f2072656365697665ac726577617264732c20756e74696c2074686520656e64206f6620746865206e6578742073657373696f6e2e0078456d6974732060436f6c6c61746f725363686564756c656445786974602e60657865637574655f6c656176655f63616e64696461746573040120636f6c6c61746f72d902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500084405014578656375746520746865206e6574776f726b2065786974206f6620612063616e6469646174652077686f2072657175657374656420746f206c65617665206174f06c65617374206045786974517565756544656c61796020726f756e64732061676f2e20507265706172657320756e7374616b696e67206f6620746865fc63616e6469646174657320616e642074686569722064656c656761746f7273207374616b652077686963682063616e20626520756e6c6f636b656420766961f460756e6c6f636b5f756e7374616b6564602061667465722077616974696e67206174206c6561737420605374616b654475726174696f6e60206d616e791c626c6f636b732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00fc4e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20666f7220656163682063616e646964617465206f766572207468656972fc64656c656761746f727320746f2073657420726577617264732e204e6565647320746f20626520696d70726f766564207768656e207363616c696e672075704c604d6178546f7043616e64696461746573602e0054456d6974732060436f6c6c61746f724c656674602e5c63616e63656c5f6c656176655f63616e646964617465730009200501526576657274207468652070726576696f75736c79207265717565737465642065786974206f6620746865206e6574776f726b206f66206120636f6c6c61746f720d0163616e6469646174652e204f6e20737563636573732c2061646473206261636b207468652063616e64696461746520746f2074686520546f7043616e6469646174657368616e6420757064617465732074686520636f6c6c61746f72732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e0074456d6974732060436f6c6c61746f7243616e63656c656445786974602e5063616e6469646174655f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000a30a85374616b65206d6f72652066756e647320666f72206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686505016163636f756e7420746f20626520616464656420746f2069742e20546865206c617267657220616d6f756e74206f662066756e64732c2074686520686967686572dc6368616e63657320746f2062652073656c65637465642061732074686520617574686f72206f6620746865206e65787420626c6f636b2e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644d6f7265602e5063616e6469646174655f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000b3ca85374616b65206c6573732066756e647320666f72206120636f6c6c61746f722063616e6469646174652e000501496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c20746865206163636f756e74fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e000d0154686520756e7374616b65642066756e647320617265206e6f742072656c656173656420696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644c657373602e3c6a6f696e5f64656c656761746f7273080120636f6c6c61746f72d902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000118616d6f756e7418013042616c616e63654f663c543e000c5805014a6f696e2074686520736574206f662064656c656761746f72732062792064656c65676174696e6720746f206120636f6c6c61746f722063616e6469646174652e000501546865206163636f756e7420746861742077616e747320746f2064656c65676174652063616e6e6f742062652070617274206f662074686520636f6c6c61746f725c63616e64696461746573207365742061732077656c6c2e0009015468652063616c6c6572206d757374205f6e6f745f206861766520612064656c65676174696f6e2e20496620746861742069732074686520636173652c2074686579b061726520726571756972656420746f2066697273742072656d6f7665207468652064656c65676174696f6e2e00110154686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206d696e696d756d20726571756972656420746f206265636f6d65c4612064656c656761746f722061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0009014173206f6e6c7920604d617844656c656761746f7273506572436f6c6c61746f72602061726520616c6c6f77656420746f2064656c6567617465206120676976656e0501636f6c6c61746f722c2074686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206c6f77657374206f6e6520696e01017468652063757272656e7420736574206f662064656c656761746f7220666f7220746865206f7065726174696f6e20746f206265206d65616e696e6766756c2e00090154686520636f6c6c61746f72277320746f74616c207374616b652061732077656c6c206173207468652070616c6c6574277320746f74616c207374616b652061726558696e63726561736564206163636f7264696e676c792e004c456d697473206044656c65676174696f6e602ebc456d697473206044656c65676174696f6e5265706c6163656460206966207468652063616e64696461746520686173f8604d617844656c656761746f7273506572436f6c6c61746f7260206d616e792064656c65676174696f6e732062757420746869732064656c656761746f72fc7374616b6564206d6f7265207468616e206f6e65206f6620746865206f746865722064656c656761746f7273206f6620746869732063616e6469646174652e406c656176655f64656c656761746f7273000d400d014c656176652074686520736574206f662064656c656761746f727320616e642c20627920696d706c69636174696f6e2c207265766f6b6520746865206f6e676f696e672c64656c65676174696f6e2e001101416c6c207374616b65642066756e647320617265206e6f7420756e6c6f636b656420696d6d6564696174656c792c2062757420746865792061726520616464656420746f0101746865207175657565206f662070656e64696e6720756e7374616b696e672c20616e642077696c6c206566666563746976656c792062652072656c65617365640901616674657220605374616b654475726174696f6e6020626c6f636b732066726f6d20746865206d6f6d656e74207468652064656c656761746f72206c65617665732e000d0154686973206f7065726174696f6e20726564756365732074686520746f74616c207374616b65206f66207468652070616c6c65742061732077656c6c2061732074686509017374616b6573206f6620616c6c20636f6c6c61746f7273207468617420776572652064656c6567617465642c20706f74656e7469616c6c7920616666656374696e6705017468656972206368616e63657320746f20626520696e636c7564656420696e2074686520736574206f662063616e6469646174657320696e20746865206e6578741c726f756e64732e0005014175746f6d61746963616c6c7920696e6372656d656e74732074686520616363756d756c617465642072657761726473206f6620746865206f726967696e206f665c7468652063757272656e742064656c65676174696f6e2e0058456d697473206044656c656761746f724c656674602e5064656c656761746f725f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000e18dc496e63726561736520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686594636f6c6c61746f722063616e64696461746520746f20626520616464656420746f2069742e0070456d697473206044656c656761746f725374616b65644d6f7265602e5064656c656761746f725f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000f40d452656475636520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e000901496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c2074686520636f6c6c61746f72fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00090154686520756e7374616b65642066756e647320617265206e6f742072656c6561736520696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e0001015468652072656d61696e696e67207374616b65642066756e6473206d757374207374696c6c206265206c6172676572207468616e20746865206d696e696d756df0726571756972656420627920746869732070616c6c657420746f206d61696e7461696e2074686520737461747573206f662064656c656761746f722e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0070456d697473206044656c656761746f725374616b65644c657373602e3c756e6c6f636b5f756e7374616b6564040118746172676574d902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365001028f4556e6c6f636b20616c6c2070726576696f75736c79207374616b65642066756e6473207468617420617265206e6f7720617661696c61626c6520666f720501756e6c6f636b696e6720627920746865206f726967696e206163636f756e7420616674657220605374616b654475726174696f6e6020626c6f636b73206861766520656c61707365642e00fc5765696768743a204f285529207768657265205520697320746865206e756d626572206f66206c6f636b656420756e7374616b696e6720726571756573747380626f756e64656420627920604d6178556e7374616b655265717565737473602eac2d2052656164733a205b4f726967696e204163636f756e745d2c20556e7374616b696e672c204c6f636b73682d205772697465733a20556e7374616b696e672c204c6f636b73e82d204b696c6c733a20556e7374616b696e672026204c6f636b73206966206e6f2062616c616e6365206973206c6f636b656420616e796d6f72652c23203c2f7765696768743e34636c61696d5f7265776172647300113cd4436c61696d20626c6f636b20617574686f72696e67207265776172647320666f72207468652074617267657420616464726573732e00090152657175697265732060526577617264736020746f20626520736574206265666f726568616e642c2077686963682063616e2062792074726967676572656420627970616e79206f662074686520666f6c6c6f77696e67206f7074696f6e73e82a2043616c6c696e6720696e6372656d656e745f7b636f6c6c61746f722c2064656c656761746f727d5f72657761726473202861637469766529782a20416c746572696e6720796f7572207374616b65202861637469766529b02a204c656176696e6720746865206e6574776f726b206173206120636f6c6c61746f72202861637469766529bc2a205265766f6b696e6720612064656c65676174696f6e20617320612064656c656761746f7220286163746976652909012a204265696e6720612064656c656761746f722077686f736520636f6c6c61746f72206c65667420746865206e6574776f726b2c20616c7465726564207468656972a020207374616b65206f7220696e6372656d656e746564207265776172647320287061737369766529000501546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652c20652e672e2c20616e796f6e652063616e20636c61696d2c666f7220616e796f6e652e0044456d69747320605265776172646564602e68696e6372656d656e745f636f6c6c61746f725f72657761726473001218b44163746976656c7920696e6372656d656e74207468652072657761726473206f66206120636f6c6c61746f722e0005015468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72206c656176696e6720746865206e6574776f726b2e009c546865206469737061746368206f726967696e206d757374206265206120636f6c6c61746f722e6c696e6372656d656e745f64656c656761746f725f72657761726473001318b84163746976656c7920696e6372656d656e74207468652072657761726473206f6620612064656c656761746f722e00f85468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72207265766f6b696e673064656c65676174696f6e732e00a0546865206469737061746368206f726967696e206d75737420626520612064656c656761746f722e7c657865637574655f7363686564756c65645f7265776172645f6368616e67650014280d0145786563757465732074686520616e6e75616c20726564756374696f6e206f66207468652072657761726420726174657320666f7220636f6c6c61746f727320616e642c64656c656761746f72732e00dc4d6f72656f7665722c2073657473207265776172647320666f7220616c6c20636f6c6c61746f727320616e642064656c656761746f72737c6265666f72652061646a757374696e672074686520696e666c6174696f6e2e000d01546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652062656361757365207765206261696c2069662063616c6c656428746f6f206561726c792e0068456d6974732060526f756e64496e666c6174696f6e536574602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e95030c4470617261636861696e5f7374616b696e671870616c6c6574144572726f7204045400017c4444656c656761746f724e6f74466f756e64000004b8546865206163636f756e74206973206e6f742070617274206f66207468652064656c656761746f7273207365742e4443616e6469646174654e6f74466f756e64000104dc546865206163636f756e74206973206e6f742070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3c44656c656761746f72457869737473000204c8546865206163636f756e7420697320616c72656164792070617274206f66207468652064656c656761746f7273207365742e3c43616e646964617465457869737473000304ec546865206163636f756e7420697320616c72656164792070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3056616c5374616b655a65726f000404e4546865206163636f756e7420747269656420746f207374616b65206d6f7265206f72206c657373207769746820616d6f756e74207a65726f2e4056616c5374616b6542656c6f774d696e0005080d01546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f20626520616464656420746f2074686520636f6c6c61746f723c63616e64696461746573207365742e4056616c5374616b6541626f76654d61780006041101546865206163636f756e742068617320616c7265616479207374616b656420746865206d6178696d756d20616d6f756e74206f662066756e647320706f737369626c652e4844656c65676174696f6e42656c6f774d696e000708f8546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f2064656c6567617465206120636f6c6c61746f722863616e6469646174652e38416c72656164794c656176696e670008080d0154686520636f6c6c61746f722063616e6469646174652068617320616c72656164792074726967676572207468652070726f6365737320746f206c65617665207468656c736574206f6620636f6c6c61746f722063616e646964617465732e284e6f744c656176696e67000908f454686520636f6c6c61746f722063616e6469646174652077616e74656420746f20657865637574652074686520657869742062757420686173206e6f74f472657175657374656420746f206c65617665206265666f72652062792063616c6c696e672060696e69745f6c656176655f63616e64696461746573602e3843616e6e6f744c65617665596574000a08dc54686520636f6c6c61746f7220747269656420746f206c65617665206265666f72652077616974696e67206174206c6561737420666f72746045786974517565756544656c617960206d616e7920726f756e64732e6443616e6e6f744a6f696e4265666f7265556e6c6f636b696e67000b10f8546865206163636f756e742068617320612066756c6c206c697374206f6620756e7374616b696e6720726571756573747320616e64206e6565647320746ffc756e6c6f636b206174206c65617374206f6e65206f66207468657365206265666f7265206265696e672061626c6520746f206a6f696e2028616761696e292edc4e4f54453a2043616e206f6e6c792068617070656e20696620746865206163636f756e742077617320612063616e646964617465206f72f464656c656761746f72206265666f726520616e642065697468657220676f74206b69636b6564206f722065786974656420766f6c756e746172696c792e44416c726561647944656c65676174696e67000c04e4546865206163636f756e7420697320616c72656164792064656c65676174696e672074686520636f6c6c61746f722063616e6469646174652e404e6f7459657444656c65676174696e67000d080901546865206163636f756e7420686173206e6f742064656c65676174656420616e7920636f6c6c61746f722063616e646964617465207965742c2068656e6365206974806973206e6f7420696e2074686520736574206f662064656c656761746f72732e6c44656c65676174696f6e73506572526f756e644578636565646564000e1811015468652064656c656761746f722068617320657863656564656420746865206e756d626572206f662064656c65676174696f6e732070657220726f756e6420776869636894697320657175616c20746f204d617844656c656761746f7273506572436f6c6c61746f722e000901546869732070726f746563747320616761696e73742061747461636b7320696e20776869636820612064656c656761746f722063616e2072652d64656c6567617465010166726f6d206120636f6c6c61746f722077686f2068617320616c726561647920617574686f726564206120626c6f636b2c20746f20616e6f74686572206f6e6570776869636820686173206e6f7420696e207468697320726f756e642e44546f6f4d616e7944656c656761746f7273000f14010154686520636f6c6c61746f722063616e6469646174652068617320616c7265616479207265616368656420746865206d6178696d756d206e756d626572206f662c64656c656761746f72732e00050154686973206572726f722069732067656e65726174656420696e20636173652061206e65772064656c65676174696f6e207265717565737420646f6573206e6f74f47374616b6520656e6f7567682066756e647320746f207265706c61636520736f6d65206f74686572206578697374696e672064656c65676174696f6e2e60546f6f466577436f6c6c61746f7243616e64696461746573001008110154686520736574206f6620636f6c6c61746f722063616e6469646174657320776f756c642066616c6c2062656c6f7720746865207265717569726564206d696e696d756d5469662074686520636f6c6c61746f72206c6566742e5043616e6e6f745374616b6549664c656176696e67001108f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66010163616e6469646174657320616e642063616e6e6f7420706572666f726d20616e79206f7468657220616374696f6e7320696e20746865206d65616e74696d652e5c43616e6e6f7444656c656761746549664c656176696e67001208f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66ac63616e6469646174657320616e6420746875732063616e6e6f742062652064656c65676174656420746f2e804d6178436f6c6c61746f727350657244656c656761746f72457863656564656400130811015468652064656c656761746f722068617320616c72656164792064656c65676174656420746865206d6178696d756d206e756d626572206f662063616e6469646174657320616c6c6f7765642e60416c726561647944656c656761746564436f6c6c61746f72001408ec5468652064656c656761746f722068617320616c72656164792070726576696f75736c792064656c6567617465642074686520636f6c6c61746f722863616e6469646174652e4844656c65676174696f6e4e6f74466f756e64001504f854686520676976656e2064656c65676174696f6e20646f6573206e6f7420657869737420696e2074686520736574206f662064656c65676174696f6e732e24556e646572666c6f77001608050154686520636f6c6c61746f722064656c6567617465206f72207468652064656c656761746f7220697320747279696e6720746f20756e2d7374616b65206d6f72658066756e64732074686174206172652063757272656e746c79207374616b65642e4443616e6e6f7453657441626f76654d6178001708d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738061626f766520746865206d6178696d756d2076616c756520616c6c6f7765642e4443616e6e6f7453657442656c6f774d696e001808d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738062656c6f7720746865206d696e696d756d2076616c756520616c6c6f7765642e3c496e76616c69645363686564756c65001904dc416e20696e76616c696420696e666c6174696f6e20636f6e66696775726174696f6e20697320747279696e6720746f206265207365742e3c4e6f4d6f7265556e7374616b696e67001a08c4546865207374616b696e6720726577617264206265696e6720756e6c6f636b656420646f6573206e6f742065786973742e7c4d617820756e6c6f636b696e6720726571756573747320726561636865642e20546f6f4561726c79001b0801015468652072657761726420726174652063616e6e6f742062652061646a75737465642079657420617320616e20656e74697265207965617220686173206e6f741c7061737365642e345374616b654e6f74466f756e64001c04d850726f7669646564207374616b65642076616c7565206973207a65726f2e2053686f756c64206e65766572206265207468726f776e2e40556e7374616b696e674973456d707479001d049443616e6e6f7420756e6c6f636b207768656e20556e7374616b656420697320656d7074792e3c526577617264734e6f74466f756e64001e047843616e6e6f7420636c61696d207265776172647320696620656d7074792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909099903101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454019d03045300000400590501185665633c543e00009d030000040c1ca1030000a10310346672616d655f737570706f72741874726169747324707265696d616765731c426f756e64656404045401a503010c184c6567616379040110686173682c01104861736800000018496e6c696e65040085010134426f756e646564496e6c696e65000100184c6f6f6b7570080110686173682c01104861736800010c6c656e1c010c75333200020000a50308447370697269746e65745f72756e74696d652c52756e74696d6543616c6c0001741853797374656d0400890201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0000002454696d657374616d700400cd0201b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0002001c496e64696365730400d50201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e0005002042616c616e6365730400010301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e0006001c53657373696f6e0400410301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0016004050617261636861696e5374616b696e670400910301d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e5374616b696e672c2052756e74696d653e0015002444656d6f63726163790400a90301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e001e001c436f756e63696c0400b50301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e001f0048546563686e6963616c436f6d6d69747465650400c50301dd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c436f6d6d69747465652c2052756e74696d653e0020004c546563686e6963616c4d656d626572736869700400c90301e10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c4d656d626572736869702c2052756e74696d653e0022002054726561737572790400cd0301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e0023001c5574696c6974790400d10301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0028001c56657374696e670400f90301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e002900245363686564756c65720400010401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e002a001450726f78790400090401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002b0020507265696d6167650400110401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e002c0038546970734d656d626572736869700400150401cd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970734d656d626572736869702c2052756e74696d653e002d0010546970730400190401a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970732c2052756e74696d653e002e0014437479706504001d0401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c43747970652c2052756e74696d653e003d002c4174746573746174696f6e0400210401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4174746573746174696f6e2c2052756e74696d653e003e002844656c65676174696f6e0400350401bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656c65676174696f6e2c2052756e74696d653e003f000c4469640400510401a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469642c2052756e74696d653e004000244469644c6f6f6b75700400a50401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469644c6f6f6b75702c2052756e74696d653e00430024576562334e616d65730400b50401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c576562334e616d65732c2052756e74696d653e004400445075626c696343726564656e7469616c730400b90401d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5075626c696343726564656e7469616c732c2052756e74696d653e0045003c50617261636861696e53797374656d0400c90401d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e0050002458636d7051756575650400fd0401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c58636d7051756575652c2052756e74696d653e0052002c506f6c6b61646f7458636d0400010501c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506f6c6b61646f7458636d2c2052756e74696d653e00530020446d7051756575650400550501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c446d7051756575652c2052756e74696d653e00550000a9030c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c0404540001481c70726f706f736508012070726f706f73616ca1030140426f756e64656443616c6c4f663c543e00011476616c7565c101013042616c616e63654f663c543e0000249c50726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e001501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737480686176652066756e647320746f20636f76657220746865206465706f7369742e00d42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e15012d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e0044456d697473206050726f706f736564602e187365636f6e6404012070726f706f73616cb501012450726f70496e646578000118b45369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e64657211016d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00c82d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e10766f74650801247265665f696e646578b501013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e00021c3101566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bb86f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00dc2d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e842d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e40656d657267656e63795f63616e63656c0401247265665f696e6465781c013c5265666572656e64756d496e6465780003204d015363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d652c7265666572656e64756d2e00f8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d02d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e003c5765696768743a20604f283129602e4065787465726e616c5f70726f706f736504012070726f706f73616ca1030140426f756e64656443616c6c4f663c543e0004182d015363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c2c7265666572656e64756d2e00e8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e6465787465726e616c5f70726f706f73655f6d616a6f7269747904012070726f706f73616ca1030140426f756e64656443616c6c4f663c543e00052c55015363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c655c616e2065787465726e616c207265666572656e64756d2e00ec546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f283129606065787465726e616c5f70726f706f73655f64656661756c7404012070726f706f73616ca1030140426f756e64656443616c6c4f663c543e00062c45015363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f807363686564756c6520616e2065787465726e616c207265666572656e64756d2e00e8546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f2831296028666173745f747261636b0c013470726f706f73616c5f686173682c011048323536000134766f74696e675f706572696f64100138543a3a426c6f636b4e756d62657200011464656c6179100138543a3a426c6f636b4e756d6265720007404d015363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c65646101696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65e8627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d0546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e5d012d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f88094d75737420626520616c776179732067726561746572207468616e207a65726f2e350109466f72206046617374547261636b4f726967696e60206d75737420626520657175616c206f722067726561746572207468616e206046617374547261636b566f74696e67506572696f64602e51012d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265b82020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e0040456d697473206053746172746564602e00385765696768743a20604f28312960347665746f5f65787465726e616c04013470726f706f73616c5f686173682c011048323536000824b85665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00d8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e002d012d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e003c456d69747320605665746f6564602e00fc5765696768743a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604463616e63656c5f7265666572656e64756d0401247265665f696e646578b501013c5265666572656e64756d496e64657800091c5052656d6f76652061207265666572656e64756d2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d42d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e004423205765696768743a20604f283129602e2064656c65676174650c0108746fd90201504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6ead030128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000a50390144656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e0055015468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865c874696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a7420202d2062652064656c65676174696e6720616c72656164793b206f72590120202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c69646174656494202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e0045012d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e55012d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e20746865410120206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e61012d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374206e6f74b420206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e0048456d697473206044656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e28756e64656c6567617465000b30cc556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e005d01546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64dc6f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062655463757272656e746c792064656c65676174696e672e0050456d6974732060556e64656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e58636c6561725f7075626c69635f70726f706f73616c73000c1470436c6561727320616c6c207075626c69632070726f706f73616c732e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e003c5765696768743a20604f283129602e18756e6c6f636b040118746172676574d90201504163636f756e7449644c6f6f6b75704f663c543e000d1ca0556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00b82d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e00bc5765696768743a20604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742e2c72656d6f76655f766f7465040114696e6465781c013c5265666572656e64756d496e646578000e6c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e000c49663a882d20746865207265666572656e64756d207761732063616e63656c6c65642c206f727c2d20746865207265666572656e64756d206973206f6e676f696e672c206f72902d20746865207265666572656e64756d2068617320656e64656420737563682074686174fc20202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d420202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f728420202d20746865206163636f756e74206d61646520612073706c697420766f74655d012e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655866756e6473206265696e6720617661696c61626c652e00a849662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643aec2d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64dc2d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64bc2d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f76657259012e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c766559012a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de46f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004901546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f7465887265676973746572656420666f72207265666572656e64756d2060696e646578602e00f42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e4472656d6f76655f6f746865725f766f7465080118746172676574d90201504163636f756e7449644c6f6f6b75704f663c543e000114696e6465781c013c5265666572656e64756d496e646578000f3c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e004d0149662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f2d016072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c5501656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f7298626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e004d012d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f725420207265666572656e64756d2060696e646578602ef42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e24626c61636b6c69737408013470726f706f73616c5f686173682c01104832353600013c6d617962655f7265665f696e646578b103015c4f7074696f6e3c5265666572656e64756d496e6465783e00103c45015065726d616e656e746c7920706c61636520612070726f706f73616c20696e746f2074686520626c61636b6c6973742e20546869732070726576656e74732069742066726f6d2065766572206265696e673c70726f706f73656420616761696e2e00510149662063616c6c6564206f6e206120717565756564207075626c6963206f722065787465726e616c2070726f706f73616c2c207468656e20746869732077696c6c20726573756c7420696e206974206265696e67510172656d6f7665642e2049662074686520607265665f696e6465786020737570706c69656420697320616e20616374697665207265666572656e64756d2077697468207468652070726f706f73616c20686173682c687468656e2069742077696c6c2062652063616e63656c6c65642e00ec546865206469737061746368206f726967696e206f6620746869732063616c6c206d7573742062652060426c61636b6c6973744f726967696e602e00f82d206070726f706f73616c5f68617368603a205468652070726f706f73616c206861736820746f20626c61636b6c697374207065726d616e656e746c792e45012d20607265665f696e646578603a20416e206f6e676f696e67207265666572656e64756d2077686f73652068617368206973206070726f706f73616c5f68617368602c2077686963682077696c6c2062652863616e63656c6c65642e0041015765696768743a20604f28702960202874686f756768206173207468697320697320616e20686967682d70726976696c6567652064697370617463682c20776520617373756d65206974206861732061502020726561736f6e61626c652076616c7565292e3c63616e63656c5f70726f706f73616c04012870726f705f696e646578b501012450726f70496e64657800111c4852656d6f766520612070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c50726f706f73616c4f726967696e602e00d02d206070726f705f696e646578603a2054686520696e646578206f66207468652070726f706f73616c20746f2063616e63656c2e00e45765696768743a20604f28702960207768657265206070203d205075626c696350726f70733a3a3c543e3a3a6465636f64655f6c656e282960042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ead030c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000b10304184f7074696f6e040454011c0108104e6f6e6500000010536f6d6504001c0000010000b5030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273250301445665633c543a3a4163636f756e7449643e0001147072696d65b90301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000080805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e0054526571756972657320726f6f74206f726967696e2e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e002823203c7765696768743e24232320576569676874502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e64656429142d2044423a510120202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e67207468652c202020206d656d62657273ec20202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c73450120202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c5d0120202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e652c23203c2f7765696768743e1c6578656375746508012070726f706f73616ca503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b501010c75333200012cf0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002823203c7765696768743e2423232057656967687455012d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e673020206070726f706f73616c60d42d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c60242d2031206576656e742c23203c2f7765696768743e1c70726f706f73650c01247468726573686f6c64b501012c4d656d626572436f756e7400012070726f706f73616ca503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b501010c75333200026cf84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e002823203c7765696768743e24232320576569676874ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d20326029142d2044423ab420202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029a820202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0901202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029b8202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029d82020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e42020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029cc2020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029bc2020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d2960292c20202d2031206576656e742c23203c2f7765696768743e10766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800011c617070726f7665a40110626f6f6c00033cf041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e2823203c7765696768743e2423232057656967687409012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429142d2044423aac20202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029b820202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d296029242d2031206576656e742c23203c2f7765696768743e40636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64bd0301244f6c645765696768740001306c656e6774685f626f756e64b501010c7533320004804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005385901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002823203c7765696768743edc436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c73284442205765696768743a482a2052656164733a2050726f706f73616c739c2a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f662c23203c2f7765696768743e14636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64b501010c7533320006804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb90304184f7074696f6e04045401000108104e6f6e6500000010536f6d650400000000010000bd03000006c10300c103082873705f77656967687473244f6c645765696768740000040010010c7536340000c5030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273250301445665633c543a3a4163636f756e7449643e0001147072696d65b90301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000080805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e0054526571756972657320726f6f74206f726967696e2e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e002823203c7765696768743e24232320576569676874502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e64656429142d2044423a510120202d20312073746f72616765206d75746174696f6e2028636f64656320604f284d296020726561642c20604f284e29602077726974652920666f722072656164696e6720616e642077726974696e67207468652c202020206d656d62657273ec20202d20312073746f7261676520726561642028636f64656320604f285029602920666f722072656164696e67207468652070726f706f73616c73450120202d206050602073746f72616765206d75746174696f6e732028636f64656320604f284d29602920666f72207570646174696e672074686520766f74657320666f7220656163682070726f706f73616c5d0120202d20312073746f726167652077726974652028636f64656320604f283129602920666f722064656c6574696e6720746865206f6c6420607072696d656020616e642073657474696e6720746865206e6577206f6e652c23203c2f7765696768743e1c6578656375746508012070726f706f73616ca503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b501010c75333200012cf0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e002823203c7765696768743e2423232057656967687455012d20604f284d202b2050296020776865726520604d60206d656d626572732d636f756e742028636f64652d626f756e6465642920616e642060506020636f6d706c6578697479206f66206469737061746368696e673020206070726f706f73616c60d42d2044423a203120726561642028636f64656320604f284d296029202b20444220616363657373206f66206070726f706f73616c60242d2031206576656e742c23203c2f7765696768743e1c70726f706f73650c01247468726573686f6c64b501012c4d656d626572436f756e7400012070726f706f73616ca503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64b501010c75333200026cf84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e002823203c7765696768743e24232320576569676874ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d20326029142d2044423ab420202d20312073746f726167652072656164206069735f6d656d626572602028636f64656320604f284d296029f020202d20312073746f726167652072656164206050726f706f73616c4f663a3a636f6e7461696e735f6b6579602028636f64656320604f2831296029a820202d20444220616363657373657320696e666c75656e63656420627920607468726573686f6c64603a0901202020202d204549544845522073746f7261676520616363657373657320646f6e65206279206070726f706f73616c602028607468726573686f6c64203c20326029b8202020202d204f522070726f706f73616c20696e73657274696f6e2028607468726573686f6c64203c3d20326029d82020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c73602028636f64656320604f285032296029e42020202020202d20312073746f72616765206d75746174696f6e206050726f706f73616c436f756e74602028636f64656320604f2831296029cc2020202020202d20312073746f72616765207772697465206050726f706f73616c4f66602028636f64656320604f2842296029bc2020202020202d20312073746f726167652077726974652060566f74696e67602028636f64656320604f284d2960292c20202d2031206576656e742c23203c2f7765696768743e10766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800011c617070726f7665a40110626f6f6c00033cf041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e2823203c7765696768743e2423232057656967687409012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429142d2044423aac20202d20312073746f72616765207265616420604d656d62657273602028636f64656320604f284d296029b820202d20312073746f72616765206d75746174696f6e2060566f74696e67602028636f64656320604f284d296029242d2031206576656e742c23203c2f7765696768743e40636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64bd0301244f6c645765696768740001306c656e6774685f626f756e64b501010c7533320004804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005385901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e002823203c7765696768743edc436f6d706c65786974793a204f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c73284442205765696768743a482a2052656164733a2050726f706f73616c739c2a205772697465733a20566f74696e672c2050726f706f73616c732c2050726f706f73616c4f662c23203c2f7765696768743e14636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578b501013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64b501010c7533320006804d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e002823203c7765696768743e24232320576569676874742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429142d2044423a0d01202d20322073746f726167652072656164732028604d656d62657273603a20636f64656320604f284d29602c20605072696d65603a20636f64656320604f28312960295901202d2033206d75746174696f6e73202860566f74696e67603a20636f64656320604f284d29602c206050726f706f73616c4f66603a20636f64656320604f284229602c206050726f706f73616c73603a20636f6465632c202020604f285032296029dc202d20616e79206d75746174696f6e7320646f6e65207768696c6520657865637574696e67206070726f706f73616c6020286050316029402d20757020746f2033206576656e74732c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ec9030c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665d90201504163636f756e7449644c6f6f6b75704f663c543e00010c616464d90201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273250301445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577d90201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ecd030c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001143470726f706f73655f7370656e6408011476616c7565c101013c42616c616e63654f663c542c20493e00012c62656e6566696369617279d90201504163636f756e7449644c6f6f6b75704f663c543e000024290150757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c75653101697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e6365207468655070726f706f73616c20697320617761726465642e002823203c7765696768743e482d20436f6d706c65786974793a204f283129b02d20446252656164733a206050726f706f73616c436f756e74602c20606f726967696e206163636f756e7460e82d2044625772697465733a206050726f706f73616c436f756e74602c206050726f706f73616c73602c20606f726967696e206163636f756e74602c23203c2f7765696768743e3c72656a6563745f70726f706f73616c04012c70726f706f73616c5f6964b501013450726f706f73616c496e646578000124f852656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e002823203c7765696768743e482d20436f6d706c65786974793a204f283129cc2d20446252656164733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e7460d02d2044625772697465733a206050726f706f73616c73602c206072656a65637465642070726f706f736572206163636f756e74602c23203c2f7765696768743e40617070726f76655f70726f706f73616c04012c70726f706f73616c5f6964b501013450726f706f73616c496e6465780002285901417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279a8616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00ac4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e002823203c7765696768743e4c2d20436f6d706c65786974793a204f2831292e8c2d20446252656164733a206050726f706f73616c73602c2060417070726f76616c7360582d20446257726974653a2060417070726f76616c73602c23203c2f7765696768743e147370656e64080118616d6f756e74c101013c42616c616e63654f663c542c20493e00012c62656e6566696369617279d90201504163636f756e7449644c6f6f6b75704f663c543e000320b850726f706f736520616e6420617070726f76652061207370656e64206f662074726561737572792066756e64732e004d012d20606f726967696e603a204d75737420626520605370656e644f726967696e60207769746820746865206053756363657373602076616c7565206265696e67206174206c656173742060616d6f756e74602e41012d2060616d6f756e74603a2054686520616d6f756e7420746f206265207472616e736665727265642066726f6d2074686520747265617375727920746f20746865206062656e6566696369617279602ee82d206062656e6566696369617279603a205468652064657374696e6174696f6e206163636f756e7420666f7220746865207472616e736665722e0045014e4f54453a20466f72207265636f72642d6b656570696e6720707572706f7365732c207468652070726f706f736572206973206465656d656420746f206265206571756976616c656e7420746f207468653062656e65666963696172792e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f6964b501013450726f706f73616c496e64657800043c2d01466f72636520612070726576696f75736c7920617070726f7665642070726f706f73616c20746f2062652072656d6f7665642066726f6d2074686520617070726f76616c2071756575652ec0546865206f726967696e616c206465706f7369742077696c6c206e6f206c6f6e6765722062652072657475726e65642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602ea02d206070726f706f73616c5f6964603a2054686520696e646578206f6620612070726f706f73616c002823203c7765696768743edc2d20436f6d706c65786974793a204f2841292077686572652060416020697320746865206e756d626572206f6620617070726f76616c73882d20446220726561647320616e64207772697465733a2060417070726f76616c73602c23203c2f7765696768743e001c4572726f72733a61012d206050726f706f73616c4e6f74417070726f766564603a20546865206070726f706f73616c5f69646020737570706c69656420776173206e6f7420666f756e6420696e2074686520617070726f76616c2071756575652c5101692e652e2c207468652070726f706f73616c20686173206e6f74206265656e20617070726f7665642e205468697320636f756c6420616c736f206d65616e207468652070726f706f73616c20646f6573206e6f745901657869737420616c746f6765746865722c2074687573207468657265206973206e6f2077617920697420776f756c642068617665206265656e20617070726f76656420696e2074686520666972737420706c6163652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed1030c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c73d503017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00004c7c53656e642061206261746368206f662064697370617463682063616c6c732e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e005501546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e31016576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e207468655501604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d6164654d01616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c65746564604c6576656e74206973206465706f73697465642e3461735f64657269766174697665080114696e646578d8010c75313600011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000134dc53656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00550146696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368bc757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e0045014e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e61016265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e7451017468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31607c696e20746865204d756c74697369672070616c6c657420696e73746561642e00f44e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c04011463616c6c73d503017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000238ec53656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e21015468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e2c64697370617463685f617308012461735f6f726967696ed9030154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000328c84469737061746368657320612066756e6374696f6e2063616c6c207769746820612070726f7669646564206f726967696e2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e002823203c7765696768743e1c2d204f2831292e602d204c696d697465642073746f726167652072656164732e5c2d204f6e6520444220777269746520286576656e74292e1d012d20576569676874206f662064657269766174697665206063616c6c6020657865637574696f6e202b20543a3a576569676874496e666f3a3a64697370617463685f617328292e2c23203c2f7765696768743e2c666f7263655f626174636804011463616c6c73d503017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004387c53656e642061206261746368206f662064697370617463682063616c6c732ed4556e6c696b6520606261746368602c20697420616c6c6f7773206572726f727320616e6420776f6e277420696e746572727570742e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e004d014966206f726967696e20697320726f6f74207468656e207468652063616c6c732061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e002823203c7765696768743e01012d20436f6d706c65786974793a204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c23203c2f7765696768743e2c776974685f77656967687408011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000118776569676874240118576569676874000518c4446973706174636820612066756e6374696f6e2063616c6c2077697468206120737065636966696564207765696768742e002d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b8526f6f74206f726967696e20746f20737065636966792074686520776569676874206f66207468652063616c6c2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed503000002a50300d90308447370697269746e65745f72756e74696d65304f726967696e43616c6c657200011c1873797374656d0400dd0301746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0000001c436f756e63696c0400e10301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400e50301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020000c4469640400e90301506469643a3a4f726967696e3c52756e74696d653e0040002c506f6c6b61646f7458636d0400ed03014870616c6c65745f78636d3a3a4f726967696e0053002843756d756c757358636d0400f103016863756d756c75735f70616c6c65745f78636d3a3a4f726967696e00540010566f69640400f50301110173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a566f696400060000dd030c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e6500020000e103084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000e503084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000e9030c0c646964186f726967696e304469645261774f726967696e08344469644964656e7469666965720100244163636f756e74496401000008010869640001344469644964656e7469666965720001247375626d69747465720001244163636f756e7449640000ed030c2870616c6c65745f78636d1870616c6c6574184f726967696e0001080c58636d0400a90101344d756c74694c6f636174696f6e00000020526573706f6e73650400a90101344d756c74694c6f636174696f6e00010000f1030c4863756d756c75735f70616c6c65745f78636d1870616c6c6574184f726967696e0001081452656c6179000000405369626c696e6750617261636861696e04009d01011850617261496400010000f503081c73705f636f726510566f696400010000f9030c3870616c6c65745f76657374696e671870616c6c65741043616c6c0404540001141076657374000034b8556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e005d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20322052656164732c203220577269746573f8202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745dfc202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c205b53656e646572204163636f756e745d2c23203c2f7765696768743e28766573745f6f74686572040118746172676574d90201504163636f756e7449644c6f6f6b75704f663c543e00013cb8556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051012d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20332052656164732c203320577269746573f0202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e74f4202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c23203c2f7765696768743e3c7665737465645f7472616e73666572080118746172676574d90201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65fd0301a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00024464437265617465206120766573746564207472616e736665722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00cc2d2060746172676574603a20546865206163636f756e7420726563656976696e6720746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20332052656164732c2033205772697465733901202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d3d01202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c205b53656e646572204163636f756e745d2c23203c2f7765696768743e54666f7263655f7665737465645f7472616e736665720c0118736f75726365d90201504163636f756e7449644c6f6f6b75704f663c543e000118746172676574d90201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65fd0301a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00034860466f726365206120766573746564207472616e736665722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00e82d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e11012d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e002823203c7765696768743e242d20604f283129602e742d2044625765696768743a20342052656164732c2034205772697465733101202020202d2052656164733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e743501202020202d205772697465733a2056657374696e672053746f726167652c2042616c616e636573204c6f636b732c20546172676574204163636f756e742c20536f75726365204163636f756e742c23203c2f7765696768743e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e6465781c010c75333200013c7363686564756c65325f696e6465781c010c7533320004545d014d657267652074776f2076657374696e67207363686564756c657320746f6765746865722c206372656174696e672061206e65772076657374696e67207363686564756c65207468617420756e6c6f636b73206f7665725501746865206869676865737420706f737369626c6520737461727420616e6420656e6420626c6f636b732e20496620626f7468207363686564756c6573206861766520616c7265616479207374617274656420746865590163757272656e7420626c6f636b2077696c6c206265207573656420617320746865207363686564756c652073746172743b207769746820746865206361766561742074686174206966206f6e65207363686564756c655d0169732066696e6973686564206279207468652063757272656e7420626c6f636b2c20746865206f746865722077696c6c206265207472656174656420617320746865206e6577206d6572676564207363686564756c652c2c756e6d6f6469666965642e00f84e4f54453a20496620607363686564756c65315f696e646578203d3d207363686564756c65325f696e6465786020746869732069732061206e6f2d6f702e41014e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b207072696f7220746f206d657267696e672e61014e4f54453a20496620626f7468207363686564756c6573206861766520656e646564206279207468652063757272656e7420626c6f636b2c206e6f206e6577207363686564756c652077696c6c206265206372656174656464616e6420626f74682077696c6c2062652072656d6f7665642e006c4d6572676564207363686564756c6520617474726962757465733a35012d20607374617274696e675f626c6f636b603a20604d4158287363686564756c65312e7374617274696e675f626c6f636b2c207363686564756c6564322e7374617274696e675f626c6f636b2c48202063757272656e745f626c6f636b29602e21012d2060656e64696e675f626c6f636b603a20604d4158287363686564756c65312e656e64696e675f626c6f636b2c207363686564756c65322e656e64696e675f626c6f636b29602e59012d20606c6f636b6564603a20607363686564756c65312e6c6f636b65645f61742863757272656e745f626c6f636b29202b207363686564756c65322e6c6f636b65645f61742863757272656e745f626c6f636b29602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00e82d20607363686564756c65315f696e646578603a20696e646578206f6620746865206669727374207363686564756c6520746f206d657267652eec2d20607363686564756c65325f696e646578603a20696e646578206f6620746865207365636f6e64207363686564756c6520746f206d657267652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632efd030c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720110000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b10012c426c6f636b4e756d626572000001040c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963050401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000470416e6f6e796d6f75736c79207363686564756c652061207461736b2e1863616e63656c0801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001049443616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963050401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000204585363686564756c652061206e616d6564207461736b2e3063616e63656c5f6e616d656404010869640401205461736b4e616d650003047843616e63656c2061206e616d6564207363686564756c6564207461736b2e387363686564756c655f61667465721001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963050401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000414a8416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e002823203c7765696768743e5453616d65206173205b607363686564756c65605d2e2c23203c2f7765696768743e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963050401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000514905363686564756c652061206e616d6564207461736b20616674657220612064656c61792e002823203c7765696768743ec453616d65206173205b607363686564756c655f6e616d6564605d2853656c663a3a7363686564756c655f6e616d6564292e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e050404184f7074696f6e04045401c80108104e6f6e6500000010536f6d650400c8000001000009040c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616cd90201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f747970650d0401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000244d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f75676830606164645f70726f7879602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e246164645f70726f78790c012064656c6567617465d90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d6265720001244501526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a11012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792efc2d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e3072656d6f76655f70726f78790c012064656c6567617465d90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200021ca8556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a25012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e41012d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e3872656d6f76655f70726f78696573000318b4556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0041015741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e74732063726561746564206279206070757265602c20686f776576657220696620646f6e652c207468656e590174686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a2c6372656174655f707572650c012870726f78795f74797065d40130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d626572000114696e646578d8010c7531360004483901537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64fc696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e006c5265717569726573206120605369676e656460206f726967696e2e0051012d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468654d016e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f78616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e51012d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d655d017472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a7573744077616e7420746f20757365206030602e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e0051014661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659873616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e44661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e246b696c6c5f7075726514011c737061776e6572d90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d40130543a3a50726f787954797065000114696e646578d8010c753136000118686569676874280138543a3a426c6f636b4e756d6265720001246578745f696e646578b501010c753332000540a052656d6f76657320612070726576696f75736c7920737061776e656420707572652070726f78792e0049015741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c20626534696e61636365737369626c652e0059015265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746f94607075726560207769746820636f72726573706f6e64696e6720706172616d65746572732e0039012d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060707572656020746f206372656174652074686973206163636f756e742e39012d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f206070757265602e2050726f6261626c79206030602eec2d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f206070757265602e29012d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f20607075726560207761732070726f6365737365642e35012d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f20607075726560207761732070726f6365737365642e0035014661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c7920637265617465642070757265dc6163636f756e742077686f7365206070757265602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e20616e6e6f756e63650801107265616cd90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e00063c05015075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e005d0154686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d7074656425016966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e0011014e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000901546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c206173190160416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656d6f76655f616e6e6f756e63656d656e740801107265616cd90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e0007287052656d6f7665206120676976656e20616e6e6f756e63656d656e742e0059014d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e30746865206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465d90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e000828b052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e0061014d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c6567617465732501286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733af42d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ebc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e3c70726f78795f616e6e6f756e63656410012064656c6567617465d90201504163636f756e7449644c6f6f6b75704f663c543e0001107265616cd90201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f747970650d0401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6ca503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00092c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e0d0404184f7074696f6e04045401d40108104e6f6e6500000010536f6d650400d4000001000011040c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000110346e6f74655f707265696d616765040114627974657330011c5665633c75383e000010745265676973746572206120707265696d616765206f6e2d636861696e2e00550149662074686520707265696d616765207761732070726576696f75736c79207265717565737465642c206e6f2066656573206f72206465706f73697473206172652074616b656e20666f722070726f766964696e67550174686520707265696d6167652e204f74686572776973652c2061206465706f7369742069732074616b656e2070726f706f7274696f6e616c20746f207468652073697a65206f662074686520707265696d6167652e3c756e6e6f74655f707265696d616765040110686173682c011c543a3a48617368000118dc436c65617220616e20756e72657175657374656420707265696d6167652066726f6d207468652072756e74696d652073746f726167652e00fc496620606c656e602069732070726f76696465642c207468656e2069742077696c6c2062652061206d7563682063686561706572206f7065726174696f6e2e0001012d206068617368603a205468652068617368206f662074686520707265696d61676520746f2062652072656d6f7665642066726f6d207468652073746f72652eb82d20606c656e603a20546865206c656e677468206f662074686520707265696d616765206f66206068617368602e40726571756573745f707265696d616765040110686173682c011c543a3a48617368000210410152657175657374206120707265696d6167652062652075706c6f6164656420746f2074686520636861696e20776974686f757420706179696e6720616e792066656573206f72206465706f736974732e00550149662074686520707265696d6167652072657175657374732068617320616c7265616479206265656e2070726f7669646564206f6e2d636861696e2c20776520756e7265736572766520616e79206465706f7369743901612075736572206d6179206861766520706169642c20616e642074616b652074686520636f6e74726f6c206f662074686520707265696d616765206f7574206f662074686569722068616e64732e48756e726571756573745f707265696d616765040110686173682c011c543a3a4861736800030cbc436c65617220612070726576696f75736c79206d616465207265717565737420666f72206120707265696d6167652e002d014e4f54453a2054484953204d555354204e4f542042452043414c4c4544204f4e20606861736860204d4f52452054494d4553205448414e2060726571756573745f707265696d616765602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e15040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665d90201504163636f756e7449644c6f6f6b75704f663c543e00010c616464d90201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273250301445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577d90201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e19040c2c70616c6c65745f746970731870616c6c65741043616c6c080454000449000118387265706f72745f617765736f6d65080118726561736f6e30011c5665633c75383e00010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e00004c59015265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051015061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173bc60446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e0074456d69747320604e657754697060206966207375636365737366756c2e002823203c7765696768743ec82d20436f6d706c65786974793a20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e9020202d20656e636f64696e6720616e642068617368696e67206f662027726561736f6e27702d20446252656164733a2060526561736f6e73602c20605469707360742d2044625772697465733a2060526561736f6e73602c206054697073602c23203c2f7765696768743e2c726574726163745f746970040110686173682c011c543a3a4861736800014c5101526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00dc4966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e004d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e7469666965642062792060686173686041016d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f744c7468726f75676820607469705f6e657760292e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e008c456d697473206054697052657472616374656460206966207375636365737366756c2e002823203c7765696768743e502d20436f6d706c65786974793a20604f28312960d820202d20446570656e6473206f6e20746865206c656e677468206f662060543a3a48617368602077686963682069732066697865642e8c2d20446252656164733a206054697073602c20606f726967696e206163636f756e7460bc2d2044625772697465733a2060526561736f6e73602c206054697073602c20606f726967696e206163636f756e74602c23203c2f7765696768743e1c7469705f6e65770c0118726561736f6e30011c5665633c75383e00010c77686fd90201504163636f756e7449644c6f6f6b75704f663c543e0001247469705f76616c7565c101013c42616c616e63654f663c542c20493e000258f04769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e0074456d69747320604e657754697060206966207375636365737366756c2e002823203c7765696768743e51012d20436f6d706c65786974793a20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732e5d0120202d20604f285429603a206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792d012020202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f66442020202060543a3a54697070657273602ee020202d20604f285229603a2068617368696e6720616e6420656e636f64696e67206f6620726561736f6e206f66206c656e677468206052607c2d20446252656164733a206054697070657273602c2060526561736f6e7360742d2044625772697465733a2060526561736f6e73602c206054697073602c23203c2f7765696768743e0c746970080110686173682c011c543a3a486173680001247469705f76616c7565c101013c42616c616e63654f663c542c20493e000360b04465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e65666963696172793420206163636f756e742049442e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e006101456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f643068617320737461727465642e002823203c7765696768743e61012d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e6774682d0120206054602c20696e736572742074697020616e6420636865636b20636c6f73696e672c20605460206973206368617267656420617320757070657220626f756e6420676976656e2062795d01202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e005d01202041637475616c6c792077656967687420636f756c64206265206c6f77657220617320697420646570656e6473206f6e20686f77206d616e7920746970732061726520696e20604f70656e5469706020627574206974d02020697320776569676874656420617320696620616c6d6f73742066756c6c20692e65206f66206c656e6774682060542d31602e702d20446252656164733a206054697070657273602c20605469707360482d2044625772697465733a206054697073602c23203c2f7765696768743e24636c6f73655f746970040110686173682c011c543a3a486173680004405c436c6f736520616e64207061796f75742061207469702e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00150154686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e002823203c7765696768743e61012d20436f6d706c65786974793a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e677468510120206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f7374c02020646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602ea82d20446252656164733a206054697073602c206054697070657273602c20607469702066696e64657260d82d2044625772697465733a2060526561736f6e73602c206054697073602c206054697070657273602c20607469702066696e646572602c23203c2f7765696768743e24736c6173685f746970040110686173682c011c543a3a486173680005309452656d6f766520616e6420736c61736820616e20616c72656164792d6f70656e207469702e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e00f44173206120726573756c742c207468652066696e64657220697320736c617368656420616e6420746865206465706f7369747320617265206c6f73742e0084456d6974732060546970536c617368656460206966207375636365737366756c2e002823203c7765696768743efc2020605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e010120205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e2c23203c2f7765696768743e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e1d040c1463747970651870616c6c65741043616c6c0404540001080c616464040114637479706530011c5665633c75383e00003009014372656174652061206e65772043547970652066726f6d2074686520676976656e20756e69717565204354797065206861736820616e64206173736f6369617465735069742077697468206974732063726561746f722e00dc412043547970652077697468207468652073616d652068617368206d757374206e6f742062652073746f726564206f6e20636861696e2e0054456d6974732060435479706543726561746564602e002823203c7765696768743e305765696768743a204f283129602d2052656164733a204374797065732c2042616c616e6365642d205772697465733a204374797065732c2042616c616e63652c23203c2f7765696768743e407365745f626c6f636b5f6e756d62657208012863747970655f686173682c01384374797065486173684f663c543e000130626c6f636b5f6e756d626572100144426c6f636b4e756d626572466f723c543e00010ce853657420746865206372656174696f6e20626c6f636b206e756d62657220666f72206120676976656e2043547970652c20696620666f756e642e0054456d6974732060435479706555706461746564602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e21040c2c6174746573746174696f6e1870616c6c65741043616c6c0404540001180c6164640c0128636c61696d5f686173682c0138436c61696d486173684f663c543e00012863747970655f686173682c01384374797065486173684f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000054644372656174652061206e6577206174746573746174696f6e2e00f85468652061747465737465722063616e206f7074696f6e616c6c792070726f766964652061207265666572656e636520746f20616e206578697374696e67090164656c65676174696f6e20746861742077696c6c20626520736176656420616c6f6e67207769746820746865206174746573746174696f6e20697473656c6620696e8c74686520666f726d206f6620616e2061747465737465642064656c65676174696f6e2e00ec546865207265666572656e6365642043547970652068617368206d75737420616c72656164792062652070726573656e74206f6e20636861696e2e000901496620616e206f7074696f6e616c2064656c65676174696f6e2069642069732070726f76696465642c20746865206469737061746368206f726967696e206d757374e8626520746865206f776e6572206f66207468652064656c65676174696f6e2e204f74686572776973652c20697420636f756c6420626520616e79546044656c65676174696f6e456e746974794964602e006c456d69747320604174746573746174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b82d2052656164733a205b4f726967696e204163636f756e745d2c2043747970652c204174746573746174696f6e73e42d2052656164732069662064656c65676174696f6e2069642069732070726f76696465643a2044656c65676174696f6e732c20526f6f74732c5c202044656c6567617465644174746573746174696f6e73bc2d205772697465733a204174746573746174696f6e732c202844656c6567617465644174746573746174696f6e73292c23203c2f7765696768743e187265766f6b65080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001447c5265766f6b6520616e206578697374696e67206174746573746174696f6e2e00fc546865207265766f6b6572206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206265696e6709017265766f6b6564206f7220616e20656e74697479207468617420696e207468652064656c65676174696f6e207472656520697320616e20616e636573746f72206f6609017468652061747465737465722c20692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7250616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e5265766f6b6564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e1872656d6f7665080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0002445852656d6f766520616e206174746573746174696f6e2e00f8546865206f726967696e206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206f7220616e0d01656e7469747920776869636820697320616e20616e636573746f72206f662074686520617474657374657220696e207468652064656c65676174696f6e20747265652c0101692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7220616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e52656d6f766564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e000324d05265636c61696d20612073746f72616765206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e0064456d69747320604465706f7369745265636c61696d6564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572040128636c61696d5f686173682c0138436c61696d486173684f663c543e00041c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00ec546865207375626a656374206f66207468652063616c6c206d757374206265207468652061747465737465722077686f206973737565732074686509016174746573746174696f6e2e205468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e00050cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e250404184f7074696f6e0404540129040108104e6f6e6500000010536f6d6504002904000001000029040c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c50616c6c6574417574686f72697a65043044656c65676174696f6e4163012d0401042844656c65676174696f6e04002d04013044656c65676174696f6e4163000000002d040c2864656c65676174696f6e386163636573735f636f6e74726f6c3044656c65676174696f6e41630404540131040008013c7375626a6563745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e0001286d61785f636865636b731c010c7533320000310408447370697269746e65745f72756e74696d651c52756e74696d650000000035040c2864656c65676174696f6e1870616c6c65741043616c6c04045400011c406372656174655f686965726172636879080130726f6f745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e00012863747970655f686173682c01384374797065486173684f663c543e00006401014372656174652061206e65772064656c65676174696f6e20726f6f74206173736f6369617465642077697468206120676976656e20435479706520686173682e00f8546865206e657720726f6f742077696c6c20616c6c6f772061206e65772074727573742068696572617263687920746f2062652063726561746564206279a0616464696e67206368696c6472656e2064656c65676174696f6e7320746f2074686520726f6f742e000d015468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652049442073746f726564206f6e20636861696e2c207768696c65fc7468657265206d75737420626520616c7265616479206120435479706520776974682074686520676976656e20686173682073746f72656420696e207468653443547970652070616c6c65742e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0050456d6974732060526f6f7443726561746564602e002823203c7765696768743e305765696768743a204f283129a02d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c204354797065733c2d205772697465733a20526f6f74732c23203c2f7765696768743e386164645f64656c65676174696f6e14013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e000124706172656e745f69642c015444656c65676174696f6e4e6f646549644f663c543e00012064656c656761746500014044656c656761746f7249644f663c543e00012c7065726d697373696f6e73fc012c5065726d697373696f6e7300014864656c65676174655f7369676e61747572653904016844656c65676174655369676e6174757265547970654f663c543e000180744372656174652061206e65772064656c65676174696f6e206e6f64652e00f4546865206e65772064656c65676174696f6e206e6f646520726570726573656e74732061206e65772074727573742068696572617263687920746861740d01636f6e73696465727320746865206e6577206e6f64652061732069747320726f6f742e20546865206f776e6572206f662074686973206e6f6465206861732066756c6ce0636f6e74726f6c206f76657220616e79206f66206974732064697265637420616e6420696e6469726563742064657363656e64616e74732e00fc466f7220746865206372656174696f6e20746f20737563636565642c207468652064656c656761746565206d7573742070726f7669646520612076616c696411017369676e6174757265206f766572207468652028626c616b65323536292068617368206f6620746865206372656174696f6e206f7065726174696f6e2064657461696c731101776869636820696e636c7564652028696e206f72646572292064656c65676174696f6e2069642c20726f6f74206e6f64652069642c20706172656e742069642c20616e64707065726d697373696f6e73206f6620746865206e6577206e6f64652e00f45468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652069642073746f726564206f6e20636861696e2e0501467572746865726d6f72652c20746865207265666572656e63656420726f6f7420616e6420706172656e74206e6f646573206d75737420616c7265616479206265050170726573656e74206f6e20636861696e20616e6420636f6e7461696e207468652076616c6964207065726d697373696f6e7320616e64207265766f636174696f6e6c7374617475732028692e652e2c206e6f74207265766f6b6564292e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0068456d697473206044656c65676174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b42d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2044656c65676174696f6e73542d205772697465733a2044656c65676174696f6e732c23203c2f7765696768743e447265766f6b655f64656c65676174696f6e0c013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001446d61785f706172656e745f636865636b731c010c75333200013c6d61785f7265766f636174696f6e731c010c753332000274f85265766f6b6520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00fc446f6573206e6f7420726566756e64207468652064656c65676174696f6e206261636b20746f20746865206465706f736974206f776e657220617320746865f06e6f6465206973207374696c6c2073746f726564206f6e20636861696e2e20526571756972657320746f206164646974696f6e616c6c792063616c6cb46072656d6f76655f64656c65676174696f6e6020746f20756e7265736572766520746865206465706f7369742e0009015265766f6b696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67090166726f6d2074686520676976656e206e6f6465206265696e67207265766f6b65642e204e657665727468656c6573732c207265766f636174696f6e20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f6465206973207265766f6b65642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e73696465726564207265766f6b65642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e5265766f6b6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e802d205772697465733a20526f6f74732c2043202a2044656c65676174696f6e732c23203c2f7765696768743e4472656d6f76655f64656c65676174696f6e08013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000370f852656d6f766520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e52656d6f766564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000460f45265636c61696d20746865206465706f73697420666f7220612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74b86e6f6465292c2072656d6f76696e6720746865206e6f646520616e6420616c6c20697473206368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e000d01546865206469737061746368206f726967696e206d757374206265207369676e6564206279207468652064656c65676174696f6e206465706f736974206f776e65722e004c604465706f7369745265636c61696d6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f72656d6f76616c73602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e000501546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652064656c65676174696f6e206e6f64652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e39040c0c6469642c6469645f64657461696c73304469645369676e617475726500010c1c4564323535313904003d040148656432353531393a3a5369676e61747572650000001c53723235353139040045040148737232353531393a3a5369676e617475726500010014456364736104004904014065636473613a3a5369676e6174757265000200003d040c1c73705f636f72651c65643235353139245369676e617475726500000400410401205b75383b2036345d0000410400000340000000080045040c1c73705f636f72651c73723235353139245369676e617475726500000400410401205b75383b2036345d000049040c1c73705f636f7265146563647361245369676e6174757265000004004d0401205b75383b2036355d00004d0400000341000000080051040c0c6469641870616c6c65741043616c6c04045400013c1863726561746508011c64657461696c7355040168426f783c4469644372656174696f6e44657461696c733c543e3e0001247369676e6174757265390401304469645369676e617475726500007cec53746f72652061206e657720444944206f6e20636861696e2c20616674657220766572696679696e67207468617420746865206372656174696f6e05016f7065726174696f6e20686173206265656e207369676e656420627920746865204b494c54206163636f756e74206173736f63696174656420776974682074686501016964656e746966696572206f662074686520444944206265696e67206372656174656420616e6420746861742061204449442077697468207468652073616d6511016964656e74696669657220686173206e6f742070726576696f75736c792065786973746564206f6e2028616e64207468656e2064656c657465642066726f6d292074686518636861696e2e000d015468657265206d757374206265206e6f2044494420696e666f726d6174696f6e2073746f726564206f6e20636861696e20756e646572207468652073616d65204449442c6964656e7469666965722e00fc546865206e6577206b65797320616464656420776974682074686973206f7065726174696f6e206172652073746f72656420756e646572207468652044494405016964656e74696669657220616c6f6e6720776974682074686520626c6f636b206e756d62657220696e20776869636820746865206f7065726174696f6e207761732465786563757465642e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e004c456d697473206044696443726561746564602e002823203c7765696768743e0d012d20546865207472616e73616374696f6e277320636f6d706c6578697479206973206d61696e6c7920646570656e64656e74206f6e20746865206e756d626572206f66010120206e6577206b65792061677265656d656e74206b65797320616e6420746865206e756d626572206f66206e6577207365727669636520656e64706f696e7473702020696e636c7564656420696e20746865206f7065726174696f6e2e242d2d2d2d2d2d2d2d2df85765696768743a204f284b29202b204f284e29207768657265204b20697320746865206e756d626572206f66206e6577206b65792061677265656d656e7409016b65797320626f756e64656420627920604d61784e65774b657941677265656d656e744b657973602c207768696c65204e20697320746865206e756d626572206f66f46e6577207365727669636520656e64706f696e747320626f756e64656420627920604d61784e756d6265724f665365727669636573506572446964602eb02d2052656164733a205b4f726967696e204163636f756e745d2c204469642c20446964426c61636b6c697374fc2d205772697465733a20446964202877697468204b206e6577206b65792061677265656d656e74206b657973292c2053657276696365456e64706f696e7473cc20202877697468204e206e6577207365727669636520656e64706f696e7473292c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e587365745f61757468656e7469636174696f6e5f6b657904011c6e65775f6b65796d040148446964566572696669636174696f6e4b65790001408855706461746520746865204449442061757468656e7469636174696f6e206b65792e00ec546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696620697420697309016e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f207468654c736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e487365745f64656c65676174696f6e5f6b657904011c6e65775f6b65796d040148446964566572696669636174696f6e4b657900024094536574206f722075706461746520746865204449442064656c65676174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5472656d6f76655f64656c65676174696f6e5f6b657900033c7852656d6f766520746865204449442064656c65676174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e4c7365745f6174746573746174696f6e5f6b657904011c6e65775f6b65796d040148446964566572696669636174696f6e4b657900044098536574206f72207570646174652074686520444944206174746573746174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5872656d6f76655f6174746573746174696f6e5f6b657900053c7c52656d6f76652074686520444944206174746573746174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e546164645f6b65795f61677265656d656e745f6b657904011c6e65775f6b65795d040140446964456e6372797074696f6e4b6579000638b841646420612073696e676c65206e6577206b65792061677265656d656e74206b657920746f20746865204449442e00bc546865206e6577206b657920697320616464656420746f2074686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e6072656d6f76655f6b65795f61677265656d656e745f6b65790401186b65795f69642c01284b657949644f663c543e000734050152656d6f7665206120444944206b65792061677265656d656e74206b65792066726f6d20626f74682069747320736574206f66206b65792061677265656d656e74906b65797320616e642061732077656c6c20617320697473207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506164645f736572766963655f656e64706f696e74040140736572766963655f656e64706f696e7481040138446964456e64706f696e743c543e000830bc4164642061206e6577207365727669636520656e64706f696e7420756e6465722074686520676976656e204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f2831290d012d2052656164733a205b4f726967696e204163636f756e745d2c204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e5c72656d6f76655f736572766963655f656e64706f696e74040128736572766963655f69648504015053657276696365456e64706f696e7449643c543e000930d452656d6f76652074686520736572766963652077697468207468652070726f76696465642049442066726f6d20746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e1864656c65746504014c656e64706f696e74735f746f5f72656d6f76651c010c753332000a600d0144656c6574652061204449442066726f6d2074686520636861696e20616e6420616c6c20696e666f726d6174696f6e206173736f63696174656420776974682069742c1101616674657220766572696679696e672074686174207468652064656c657465206f7065726174696f6e20686173206265656e207369676e65642062792074686520444944fc7375626a656374207573696e67207468652061757468656e7469636174696f6e206b65792063757272656e746c792073746f726564206f6e20636861696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408012c6469645f7375626a6563740001484469644964656e7469666965724f663c543e00014c656e64706f696e74735f746f5f72656d6f76651c010c753332000b54f45265636c61696d2061206465706f73697420666f722061204449442e20546869732077696c6c2064656c657465207468652044494420616e6420616c6c0901696e666f726d6174696f6e206173736f63696174656420776974682069742c20616674657220766572696679696e672074686174207468652063616c6c657220697364746865206f776e6572206f6620746865206465706f7369742e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7375626d69745f6469645f63616c6c0801206469645f63616c6ca1040188426f783c446964417574686f72697a656443616c6c4f7065726174696f6e3c543e3e0001247369676e6174757265390401304469645369676e6174757265000c8cec50726f7879206120646973706174636861626c652063616c6c206f6620616e6f746865722072756e74696d652065787472696e736963207468617458737570706f727473206120444944206f726967696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f726520746865606f7065726174696f6e20697320646973706174636865642e00fc412063616c6c207375626d6974746564207468726f75676820746869732065787472696e736963206d757374206265207369676e65642077697468207468650901726967687420444944206b65792c20646570656e64696e67206f6e207468652063616c6c2e205468697320696e666f726d6174696f6e2069732070726f766964656409016279207468652060446964417574686f72697a656443616c6c4f7065726174696f6e6020706172616d657465722c20776869636820737065636966696573207468650901444944207375626a65637420616374696e6720617320746865206f726967696e206f66207468652063616c6c2c2074686520444944277320747820636f756e7465720101286e6f6e6365292c2074686520646973706174636861626c6520746f2063616c6c20696e2063617365207369676e617475726520766572696669636174696f6ef073756363656564732c207468652074797065206f6620444944206b657920746f2075736520746f2076657269667920746865206f7065726174696f6efc7369676e61747572652c20616e642074686520626c6f636b206e756d62657220746865206f7065726174696f6e2077617320746172676574696e6720666f72a8696e636c7573696f6e2c207768656e20697420776173206372656174656420616e64207369676e65642e00fc496e206361736520746865207369676e617475726520697320696e636f72726563742c20746865206e6f6e6365206973206e6f742076616c69642c20746865fc7265717569726564206b6579206973206e6f742070726573656e7420666f722074686520737065636966696564204449442c206f722074686520626c6f636bfc73706563696669656420697320746f6f206f6c642074686520766572696669636174696f6e206661696c7320616e64207468652063616c6c206973206e6f74f4646973706174636865642e204f74686572776973652c207468652063616c6c2069732070726f7065726c79206469737061746368656420776974682061b8604469644f726967696e60206f726967696e20696e6469636174696e672074686520444944207375626a6563742e00110141207375636365737366756c206469737061746368206f7065726174696f6e20726573756c747320696e2074686520747820636f756e746572206173736f6369617465640501776974682074686520676976656e2044494420746f20626520696e6372656d656e7465642c20746f206d69746967617465207265706c61792061747461636b732e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e0068456d697473206044696443616c6c44697370617463686564602e002823203c7765696768743eb05765696768743a204f283129202b20776569676874206f662074686520646973706174636865642063616c6c782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572000d1c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00b8546865207375626a656374206f66207468652063616c6c206d7573742062652074686520646964206f776e65722ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404010c6469640001484469644964656e7469666965724f663c543e000e0cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e55040c0c6469642c6469645f64657461696c73484469644372656174696f6e44657461696c73040454000018010c6469640001484469644964656e7469666965724f663c543e0001247375626d69747465720001384163636f756e7449644f663c543e0001586e65775f6b65795f61677265656d656e745f6b6579735904016c4469644e65774b657941677265656d656e744b65795365743c543e00014c6e65775f6174746573746174696f6e5f6b6579690401684f7074696f6e3c446964566572696669636174696f6e4b65793e0001486e65775f64656c65676174696f6e5f6b6579690401684f7074696f6e3c446964566572696669636174696f6e4b65793e00014c6e65775f736572766963655f64657461696c737d04014c5665633c446964456e64706f696e743c543e3e00005904101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454015d040453000004006104012c42547265655365743c543e00005d040c0c6469642c6469645f64657461696c7340446964456e6372797074696f6e4b65790001041858323535313904000401205b75383b2033325d00000000610404204254726565536574040454015d04000400650400000065040000025d0400690404184f7074696f6e040454016d040108104e6f6e6500000010536f6d6504006d0400000100006d040c0c6469642c6469645f64657461696c7348446964566572696669636174696f6e4b657900010c1c4564323535313904007104013c656432353531393a3a5075626c69630000001c5372323535313904001903013c737232353531393a3a5075626c696300010014456364736104007504013465636473613a3a5075626c69630002000071040c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d000075040c1c73705f636f7265146563647361185075626c696300000400790401205b75383b2033335d000079040000032100000008007d0400000281040081040c0c64696444736572766963655f656e64706f696e74732c446964456e64706f696e7404045400000c010869648504015053657276696365456e64706f696e7449643c543e000134736572766963655f74797065738904017453657276696365456e64706f696e7454797065456e74726965733c543e00011075726c739504017053657276696365456e64706f696e7455726c456e74726965733c543e00008504101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00008904101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454018d04045300000400910401185665633c543e00008d04101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000091040000028d04009504101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540199040453000004009d0401185665633c543e00009904101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00009d04000002990400a1040c0c6469642c6469645f64657461696c7368446964417574686f72697a656443616c6c4f7065726174696f6e040454000014010c6469640001484469644964656e7469666965724f663c543e00012874785f636f756e74657210010c75363400011063616c6ca503014044696443616c6c61626c654f663c543e000130626c6f636b5f6e756d626572100140426c6f636b4e756d6265724f663c543e0001247375626d69747465720001384163636f756e7449644f663c543e0000a5040c4470616c6c65745f6469645f6c6f6f6b75701870616c6c65741043616c6c040454000120446173736f63696174655f6163636f756e7408010c726571a904015c4173736f63696174654163636f756e745265717565737400012865787069726174696f6e1001a03c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a426c6f636b4e756d62657200004405014173736f63696174652074686520676976656e206163636f756e7420746f2074686520444944207468617420617574686f72697a656420746869732063616c6c2e000501546865206163636f756e742068617320746f207369676e207468652044494420616e64206120626c6f636b6e756d62657220616674657220776869636820746865e07369676e6174757265206578706972657320696e206f7264657220746f20617574686f72697a6520746865206173736f63696174696f6e2e001101546865207369676e61747572652077696c6c20626520636865636b656420616761696e737420746865207363616c6520656e636f646564207475706c65206f66207468650d016d6574686f64207370656369666963206964206f662074686520646964206964656e74696669657220616e642074686520626c6f636b206e756d626572206166746572bc776869636820746865207369676e61747572652073686f756c6420626520726567617264656420696e76616c69642e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e406173736f63696174655f73656e64657200012c01014173736f6369617465207468652073656e646572206f66207468652063616c6c20746f2074686520444944207468617420617574686f72697a656420746869731463616c6c2e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6472656d6f76655f73656e6465725f6173736f63696174696f6e000228fc52656d6f766520746865206173736f63696174696f6e206f66207468652073656e646572206163636f756e742e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865204449442c206275742072657175697265732061207369676e6564206f726967696e2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6872656d6f76655f6163636f756e745f6173736f63696174696f6e04011c6163636f756e74090101444c696e6b61626c654163636f756e74496400032c110152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742049442e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865206163636f756e742049442c2062757420746865206173736f63696174656420444944c46e6565647320746f206d617463682074686520444944207468617420617574686f72697a656420746869732063616c6c2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697404011c6163636f756e74090101444c696e6b61626c654163636f756e74496400042c090152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742e20546869732063616c6c2063616e206f6e6c79f862652063616c6c65642066726f6d20746865206465706f736974206f776e65722e20546865207265736572766564206465706f7369742077696c6c2062651866726565642e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129582d2052656164733a20436f6e6e6563746564446964735c2d205772697465733a20436f6e6e6563746564446964732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204011c6163636f756e74090101444c696e6b61626c654163636f756e74496400051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00d8546865207375626a656374206f66207468652063616c6c206d757374206265206c696e6b656420746f20746865206163636f756e742ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404011c6163636f756e74090101444c696e6b61626c654163636f756e74496400060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e1c6d6967726174650401146c696d69741c010c75333200fe18e8457865637574657320746865206b65792074797065206d6967726174696f6e206f66207468652060436f6e6e6563746564446964736020616e64010160436f6e6e65637465644163636f756e7473602073746f726167657320627920636f6e76657274696e672074686520676976656e20604163636f756e74496460f0696e746f20604c696e6b61626c654163636f756e744964284163636f756e74496429602e204f6e636520616c6c206b6579732068617665206265656efc6d696772617465642c20746865206d6967726174696f6e20697320646f6e6520616e6420746869732063616c6c2077696c6c2062652066696c74657265642e007043616e2062652063616c6c656420627920616e79206f726967696e2e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea9040c4470616c6c65745f6469645f6c6f6f6b7570646173736f63696174655f6163636f756e745f726571756573745c4173736f63696174654163636f756e745265717565737400010820506f6c6b61646f74080000012c4163636f756e74496433320000ad0401384d756c74695369676e617475726500000020457468657265756d08000d01012c4163636f756e74496432300000b1040144457468657265756d5369676e617475726500010000ad04082873705f72756e74696d65384d756c74695369676e617475726500010c1c4564323535313904003d040148656432353531393a3a5369676e61747572650000001c53723235353139040045040148737232353531393a3a5369676e617475726500010014456364736104004904014065636473613a3a5369676e617475726500020000b1040c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e7444457468657265756d5369676e6174757265000004004904014065636473613a3a5369676e61747572650000b5040c4470616c6c65745f776562335f6e616d65731870616c6c65741043616c6c04045400011c14636c61696d0401106e616d651d010140576562334e616d65496e7075743c543e00003ce841737369676e2074686520737065636966696564206e616d6520746f20746865206f776e65722061732073706563696669656420696e207468651c6f726967696e2e000d01546865206e616d65206d757374206e6f74206861766520616c7265616479206265656e20636c61696d656420627920736f6d656f6e6520656c736520616e6420746865a06f776e6572206d757374206e6f7420616c7265616479206f776e20616e6f74686572206e616d652e00dc456d6974732060576562334e616d65436c61696d65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f28312909012d2052656164733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b20617661696c61626c652063757272656e6379582020636865636b202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f73697420726573657276652c23203c2f7765696768743e4072656c656173655f62795f6f776e6572000130a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e00cc546865206f726967696e206d75737420626520746865206f776e6572206f662074686520737065636966696564206e616d652e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204e616d65732073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e3c7265636c61696d5f6465706f7369740401106e616d651d010140576562334e616d65496e7075743c543e000230a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e000101546865206f726967696e206d75737420626520746865206163636f756e742074686174207061696420666f7220746865206e616d652773206465706f7369742e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204f776e65722073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e0c62616e0401106e616d651d010140576562334e616d65496e7075743c543e0003402c42616e2061206e616d652e00f4412062616e6e6564206e616d652063616e6e6f7420626520636c61696d656420627920616e796f6e652e20546865206e616d652773206465706f7369748869732072657475726e656420746f20746865206f726967696e616c2070617965722e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00d8456d6974732060576562334e616d6542616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129f02d2052656164733a2042616e6e65642c204f776e65722c204e616d65732073746f7261676520656e7472696573202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b2063757272656e6379206465706f73697424202072656c656173652c23203c2f7765696768743e14756e62616e0401106e616d651d010140576562334e616d65496e7075743c543e00043834556e62616e2061206e616d652e00704d616b652061206e616d6520636c61696d61626c6520616761696e2e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00e0456d6974732060576562334e616d65556e62616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129b02d2052656164733a2042616e6e65642073746f7261676520656e747279202b206f726967696e20636865636bb82d205772697465733a2042616e6e65642073746f7261676520656e747279206465706f7369742072656c656173652c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657200051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00e8546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f662074686520776562336e616d652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f7369740401286e616d655f696e7075741d010140576562334e616d65496e7075743c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eb9040c487075626c69635f63726564656e7469616c731870616c6c65741043616c6c04045400011c0c61646404012863726564656e7469616cbd040164426f783c496e70757443726564656e7469616c4f663c543e3e000018a852656769737465722061206e6577207075626c69632063726564656e7469616c206f6e20636861696e2e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c2077697468207468652073616d65206964656e74696669657220616c72656164798465786973747320666f722074686520737065636966696564207375626a6563742e0064456d697473206043726564656e7469616c53746f726564602e187265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000120705265766f6b65732061207075626c69632063726564656e7469616c2e001101496620612063726564656e7469616c2077617320616c7265616479207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f207265766f6b65207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c5265766f6b6564602e20756e7265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00022478556e7265766f6b65732061207075626c69632063726564656e7469616c2e000101496620612063726564656e7469616c20776173206e6f74207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e00d8546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f20756e7265766f6b65207468652c63726564656e7469616c2e0070456d697473206043726564656e7469616c556e7265766f6b6564602e1872656d6f766508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e250401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000344fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d2074686518636861696e2e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f2072656d6f7665207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c52656d6f766564602e3c7265636c61696d5f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000448fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d20746865ac636861696e20616e642072657475726e7320746865206465706f73697420746f206974732070617965722e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000d01546865206469737061746368206f726967696e206d75737420626520746865206f776e6572206f6620746865206465706f7369742c2068656e6365206e6f74207468655863726564656e7469616c27732061747465737465722e0068456d697473206043726564656e7469616c52656d6f766564602e506368616e67655f6465706f7369745f6f776e657204013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00f0546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652063726564656e7469616c2ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ebd040c487075626c69635f63726564656e7469616c732c63726564656e7469616c732843726564656e7469616c1024437479706548617368012c445375626a6563744964656e74696669657201c10418436c61696d7301c50434416363657373436f6e74726f6c0129040010012863747970655f686173682c012443747970654861736800011c7375626a656374c10401445375626a6563744964656e746966696572000118636c61696d73c5040118436c61696d73000134617574686f72697a6174696f6e250401544f7074696f6e3c416363657373436f6e74726f6c3e0000c104101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000c504101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000c9040c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c65741043616c6c0404540001104c7365745f76616c69646174696f6e5f6461746104011064617461cd04015450617261636861696e496e686572656e744461746100002480536574207468652063757272656e742076616c69646174696f6e20646174612e004101546869732073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e887068617365206966207468652063616c6c20776173206e6f7420696e766f6b65642e00d0546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e7460002101417320612073696465206566666563742c20746869732066756e6374696f6e207570677261646573207468652063757272656e742076616c69646174696f6e2066756e6374696f6e8469662074686520617070726f7072696174652074696d652068617320636f6d652e607375646f5f73656e645f7570776172645f6d65737361676504011c6d6573736167653001345570776172644d65737361676500010044617574686f72697a655f75706772616465040124636f64655f686173682c011c543a3a4861736800020060656e6163745f617574686f72697a65645f75706772616465040110636f646530011c5665633c75383e000300042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ecd04089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e745450617261636861696e496e686572656e7444617461000010013c76616c69646174696f6e5f64617461d104015c50657273697374656456616c69646174696f6e4461746100014472656c61795f636861696e5f7374617465d904015473705f747269653a3a53746f7261676550726f6f66000144646f776e776172645f6d65737361676573e104016c5665633c496e626f756e64446f776e776172644d6573736167653e00014c686f72697a6f6e74616c5f6d65737361676573e90401a442547265654d61703c5061726149642c205665633c496e626f756e6448726d704d6573736167653e3e0000d1040c4c706f6c6b61646f745f7072696d6974697665730876325c50657273697374656456616c69646174696f6e44617461080448012c044e011c0010012c706172656e745f68656164d5040120486561644461746100014c72656c61795f706172656e745f6e756d6265721c01044e00016472656c61795f706172656e745f73746f726167655f726f6f742c0104480001306d61785f706f765f73697a651c010c7533320000d5040c48706f6c6b61646f745f70617261636861696e287072696d6974697665732048656164446174610000040030011c5665633c75383e0000d9040c1c73705f747269653473746f726167655f70726f6f663053746f7261676550726f6f660000040128747269655f6e6f646573dd04014442547265655365743c5665633c75383e3e0000dd040420425472656553657404045401300004009502000000e104000002e50400e5040860706f6c6b61646f745f636f72655f7072696d69746976657358496e626f756e64446f776e776172644d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d62657200010c6d736730013c446f776e776172644d6573736167650000e904042042547265654d617008044b019d01045601ed04000400f504000000ed04000002f10400f1040860706f6c6b61646f745f636f72655f7072696d69746976657348496e626f756e6448726d704d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d6265720001106461746130015073705f7374643a3a7665633a3a5665633c75383e0000f504000002f90400f904000004089d01ed0400fd040c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c65741043616c6c04045400012448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d697424011857656967687400003484536572766963657320612073696e676c65206f7665727765696768742058434d2e00c02d20606f726967696e603a204d75737420706173732060457865637574654f7665727765696768744f726967696e602ed42d2060696e646578603a2054686520696e646578206f6620746865206f7665727765696768742058434d20746f20736572766963650d012d20607765696768745f6c696d6974603a2054686520616d6f756e74206f662077656967687420746861742058434d20657865637574696f6e206d61792074616b652e001c4572726f72733a5d012d20604261644f766572776569676874496e646578603a2058434d20756e6465722060696e64657860206973206e6f7420666f756e6420696e2074686520604f766572776569676874602073746f72616765206d61702e45012d206042616458636d603a2058434d20756e6465722060696e646578602063616e6e6f742062652070726f7065726c79206465636f64656420696e746f20612076616c69642058434d20666f726d61742e09012d20605765696768744f7665724c696d6974603a2058434d20657865637574696f6e206d617920757365206772656174657220607765696768745f6c696d6974602e001c4576656e74733a8c2d20604f7665727765696768745365727669636564603a204f6e20737563636573732e5473757370656e645f78636d5f657865637574696f6e00010c490153757370656e647320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652c207265676172646c657373206f66207468652073656e6465722773206f726967696e2e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e50726573756d655f78636d5f657865637574696f6e000214b8526573756d657320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652e003d014e6f7465207468617420746869732066756e6374696f6e20646f65736e2774206368616e67652074686520737461747573206f662074686520696e2f6f757420626f756e64206368616e6e656c732e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e607570646174655f73757370656e645f7468726573686f6c6404010c6e65771c010c75333200031499014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e2074686520717565756520666f7220746865206f74686572207369646520746f20626520746f6c6420746f5873757370656e642074686569722073656e64696e672e00742d20606f726967696e603a204d75737420706173732060526f6f74602ee82d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e73757370656e645f76616c756560547570646174655f64726f705f7468726573686f6c6404010c6e65771c010c75333200041495014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e207468652071756575652061667465722077686963682077652064726f7020616e792066757274686572686d657373616765732066726f6d20746865206368616e6e656c2e00742d20606f726967696e603a204d75737420706173732060526f6f74602eec2d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e64726f705f7468726573686f6c64605c7570646174655f726573756d655f7468726573686f6c6404010c6e65771c010c75333200051491014f76657277726974657320746865206e756d626572206f66207061676573206f66206d6573736167657320776869636820746865207175657565206d757374206265207265647563656420746f206265666f7265206974207369676e616c732074686174ec6d6573736167652073656e64696e67206d6179207265636f6d6d656e636520616674657220697420686173206265656e2073757370656e6465642e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e726573756d655f7468726573686f6c64605c7570646174655f7468726573686f6c645f77656967687404010c6e657724011857656967687400061049014f7665727772697465732074686520616d6f756e74206f662072656d61696e696e672077656967687420756e6465722077686963682077652073746f702070726f63657373696e67206d657373616765732e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7468726573686f6c645f77656967687460707570646174655f7765696768745f72657374726963745f646563617904010c6e657724011857656967687400071445014f7665727772697465732074686520737065656420746f2077686963682074686520617661696c61626c652077656967687420617070726f616368657320746865206d6178696d756d207765696768742ea50141206c6f776572206e756d62657220726573756c747320696e2061206661737465722070726f6772657373696f6e2e20412076616c7565206f662031206d616b65732074686520656e746972652077656967687420617661696c61626c6520696e697469616c6c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e0d012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7765696768745f72657374726963745f6465636179602e847570646174655f78636d705f6d61785f696e646976696475616c5f77656967687404010c6e657724011857656967687400081429014f766572777269746520746865206d6178696d756d20616d6f756e74206f662077656967687420616e7920696e646976696475616c206d657373616765206d617920636f6e73756d652e71014d657373616765732061626f766520746869732077656967687420676f20696e746f20746865206f76657277656967687420717565756520616e64206d6179206f6e6c79206265207365727669636564206578706c696369746c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e21012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e78636d705f6d61785f696e646976696475616c5f776569676874602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e01050c2870616c6c65745f78636d1870616c6c65741043616c6c0404540001281073656e64080110646573746902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011c6d65737361676505050154426f783c56657273696f6e656458636d3c28293e3e0000003c74656c65706f72745f617373657473100110646573746902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172796902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747331020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c75333200013c110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e5c726573657276655f7472616e736665725f617373657473100110646573746902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172796902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747331020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320002404d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e1c6578656375746508011c6d657373616765350501c0426f783c56657273696f6e656458636d3c3c5420617320537973436f6e6669673e3a3a52756e74696d6543616c6c3e3e0001286d61785f77656967687424011857656967687400032cd04578656375746520616e2058434d206d6573736167652066726f6d2061206c6f63616c2c207369676e65642c206f726967696e2e004d01416e206576656e74206973206465706f736974656420696e6469636174696e67207768657468657220606d73676020636f756c6420626520657865637574656420636f6d706c6574656c79206f72206f6e6c79287061727469616c6c792e006d014e6f206d6f7265207468616e20606d61785f776569676874602077696c6c206265207573656420696e2069747320617474656d7074656420657865637574696f6e2e2049662074686973206973206c657373207468616e2074686559016d6178696d756d20616d6f756e74206f6620776569676874207468617420746865206d65737361676520636f756c642074616b6520746f2062652065786563757465642c207468656e206e6f20657865637574696f6e54617474656d70742077696c6c206265206d6164652e006d014e4f54453a2041207375636365737366756c2072657475726e20746f207468697320646f6573202a6e6f742a20696d706c7920746861742074686520606d73676020776173206578656375746564207375636365737366756c6c79cc746f20636f6d706c6574696f6e3b206f6e6c792074686174202a736f6d652a206f66206974207761732065786563757465642e44666f7263655f78636d5f76657273696f6e0801206c6f636174696f6ea9010148426f783c4d756c74694c6f636174696f6e3e00012c78636d5f76657273696f6e1c012858636d56657273696f6e00041849014578746f6c6c2074686174206120706172746963756c61722064657374696e6174696f6e2063616e20626520636f6d6d756e6963617465642077697468207468726f756768206120706172746963756c61723c76657273696f6e206f662058434d2e00642d20606f726967696e603a204d75737420626520526f6f742ed82d20606c6f636174696f6e603a205468652064657374696e6174696f6e2074686174206973206265696e67206465736372696265642e11012d206078636d5f76657273696f6e603a20546865206c61746573742076657273696f6e206f662058434d207468617420606c6f636174696f6e6020737570706f7274732e64666f7263655f64656661756c745f78636d5f76657273696f6e0401446d617962655f78636d5f76657273696f6eb10301484f7074696f6e3c58636d56657273696f6e3e0005145901536574206120736166652058434d2076657273696f6e20287468652076657273696f6e20746861742058434d2073686f756c6420626520656e636f646564207769746820696620746865206d6f737420726563656e74b476657273696f6e20612064657374696e6174696f6e2063616e2061636365707420697320756e6b6e6f776e292e00642d20606f726967696e603a204d75737420626520526f6f742e39012d20606d617962655f78636d5f76657273696f6e603a205468652064656661756c742058434d20656e636f64696e672076657273696f6e2c206f7220604e6f6e656020746f2064697361626c652e78666f7263655f7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e6902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000610390141736b2061206c6f636174696f6e20746f206e6f7469667920757320726567617264696e672074686569722058434d2076657273696f6e20616e6420616e79206368616e67657320746f2069742e00642d20606f726967696e603a204d75737420626520526f6f742e59012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f2077686963682077652073686f756c642073756273637269626520666f722058434d2076657273696f6e206e6f74696669636174696f6e732e80666f7263655f756e7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e6902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e0007184901526571756972652074686174206120706172746963756c61722064657374696e6174696f6e2073686f756c64206e6f206c6f6e676572206e6f7469667920757320726567617264696e6720616e792058434d4076657273696f6e206368616e6765732e00642d20606f726967696e603a204d75737420626520526f6f742e3d012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f207768696368207765206172652063757272656e746c79207375627363726962656420666f722058434d2076657273696f6ea820206e6f74696669636174696f6e73207768696368207765206e6f206c6f6e676572206465736972652e7c6c696d697465645f726573657276655f7472616e736665725f617373657473140110646573746902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172796902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747331020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69742d02012c5765696768744c696d69740008484d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e5c6c696d697465645f74656c65706f72745f617373657473140110646573746902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172796902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747331020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69742d02012c5765696768744c696d6974000944110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e0505080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010808563204000905015076323a3a58636d3c52756e74696d6543616c6c3e0002000856330400cd01015076333a3a58636d3c52756e74696d6543616c6c3e0003000009050c0c78636d0876320c58636d042c52756e74696d6543616c6c000004000d0501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e00000d0500000211050011050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404003502012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404003502012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404003502012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e736515050120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e7366657241737365740801186173736574733502012c4d756c746941737365747300012c62656e6566696369617279450201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574733502012c4d756c746941737365747300011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065150201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c19020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b501010c7533320001406d61785f6d6573736167655f73697a65b501010c7533320001306d61785f6361706163697479b501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b501010c75333200011873656e646572b501010c753332000124726563697069656e74b501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e040049020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374450201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473250501404d756c7469417373657446696c7465720001286d61785f617373657473b501010c75333200012c62656e6566696369617279450201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473250501404d756c7469417373657446696c7465720001286d61785f617373657473b501010c75333200011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e000e003445786368616e6765417373657408011067697665250501404d756c7469417373657446696c74657200011c726563656976653502012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473250501404d756c7469417373657446696c74657200011c72657365727665450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473250501404d756c7469417373657446696c74657200011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374450201344d756c74694c6f636174696f6e000118617373657473250501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e080110666565733d0201284d756c746941737365740001307765696768745f6c696d69743105012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204000905014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804000905014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574733502012c4d756c74694173736574730001187469636b6574450201344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b000015050c0c78636d08763220526573706f6e7365000110104e756c6c0000001841737365747304003502012c4d756c74694173736574730001003c457865637574696f6e526573756c740400190501504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e04001c013873757065723a3a56657273696f6e00030000190504184f7074696f6e040454011d050108104e6f6e6500000010536f6d6504001d0500000100001d05000004081c2105002105100c78636d08763218747261697473144572726f72000168204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300444d756c74694c6f636174696f6e46756c6c000400684d756c74694c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c7536340015004c556e68616e646c656458636d56657273696f6e001600485765696768744c696d69745265616368656404001001185765696768740017001c426172726965720018004c5765696768744e6f74436f6d70757461626c65001900002505100c78636d087632286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e69746504003502012c4d756c74694173736574730000001057696c6404002905013857696c644d756c74694173736574000100002905100c78636d087632286d756c746961737365743857696c644d756c746941737365740001080c416c6c00000014416c6c4f6608010869644102011c4173736574496400010c66756e2d05013c57696c6446756e676962696c697479000100002d05100c78636d087632286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c650001000031050c0c78636d0876322c5765696768744c696d697400010824556e6c696d697465640000001c4c696d69746564040028010c753634000100003505080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010808563204003905015076323a3a58636d3c52756e74696d6543616c6c3e00020008563304004905015076333a3a58636d3c52756e74696d6543616c6c3e0003000039050c0c78636d0876320c58636d042c52756e74696d6543616c6c000004003d0501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e00003d0500000241050041050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404003502012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404003502012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404003502012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e736515050120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e7366657241737365740801186173736574733502012c4d756c746941737365747300012c62656e6566696369617279450201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574733502012c4d756c746941737365747300011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065150201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c45050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b501010c7533320001406d61785f6d6573736167655f73697a65b501010c7533320001306d61785f6361706163697479b501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b501010c75333200011873656e646572b501010c753332000124726563697069656e74b501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e040049020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374450201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473250501404d756c7469417373657446696c7465720001286d61785f617373657473b501010c75333200012c62656e6566696369617279450201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473250501404d756c7469417373657446696c7465720001286d61785f617373657473b501010c75333200011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e000e003445786368616e6765417373657408011067697665250501404d756c7469417373657446696c74657200011c726563656976653502012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473250501404d756c7469417373657446696c74657200011c72657365727665450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473250501404d756c7469417373657446696c74657200011064657374450201344d756c74694c6f636174696f6e00010c78636d0905011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374450201344d756c74694c6f636174696f6e000118617373657473250501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e080110666565733d0201284d756c746941737365740001307765696768745f6c696d69743105012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204003905014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804003905014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574733502012c4d756c74694173736574730001187469636b6574450201344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b000045050c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e000049050c0c78636d0876330c58636d041043616c6c000004004d0501585665633c496e737472756374696f6e3c43616c6c3e3e00004d0500000251050051050c0c78636d0876332c496e737472756374696f6e041043616c6c0001c034576974686472617741737365740400d901012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400d901012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400d901012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f696428011c51756572794964000120726573706f6e7365f5010120526573706f6e73650001286d61785f77656967687424011857656967687400011c71756572696572110201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e736665724173736574080118617373657473d901012c4d756c746941737365747300012c62656e6566696369617279a90101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473d901012c4d756c746941737365747300011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64150201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737424011857656967687400011063616c6c4505014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572b501010c7533320001406d61785f6d6573736167655f73697a65b501010c7533320001306d61785f6361706163697479b501010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74b501010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72b501010c75333200011873656e646572b501010c753332000124726563697069656e74b501010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400ad010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f7204001d0201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473210201404d756c7469417373657446696c74657200012c62656e6566696369617279a90101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473210201404d756c7469417373657446696c74657200011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e000e003445786368616e676541737365740c011067697665210201404d756c7469417373657446696c74657200011077616e74d901012c4d756c746941737365747300011c6d6178696d616ca40110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473210201404d756c7469417373657446696c74657200011c72657365727665a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473210201404d756c7469417373657446696c74657200011064657374a90101344d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f1d0201445175657279526573706f6e7365496e666f000118617373657473210201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573e10101284d756c746941737365740001307765696768745f6c696d69742d02012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204004905012458636d3c43616c6c3e0015002c536574417070656e64697804004905012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473d901012c4d756c74694173736574730001187469636b6574a90101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f776569676874240118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e41737365740400d901012c4d756c7469417373657473001c002c45787065637441737365740400d901012c4d756c7469417373657473001d00304578706563744f726967696e0400110201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400f90101504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e7361637453746174757304000d0201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6530011c5665633c75383e000134726573706f6e73655f696e666f1d0201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578b501010c7533320001106e616d6530011c5665633c75383e00012c6d6f64756c655f6e616d6530011c5665633c75383e00012c63726174655f6d616a6f72b501010c75333200013c6d696e5f63726174655f6d696e6f72b501010c753332002200505265706f72745472616e7361637453746174757304001d0201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400b10101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726bbd0101244e6574776f726b496400012c64657374696e6174696f6ead010154496e746572696f724d756c74694c6f636174696f6e00010c78636dcd01011c58636d3c28293e002600244c6f636b41737365740801146173736574e10101284d756c74694173736574000120756e6c6f636b6572a90101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574e10101284d756c74694173736574000118746172676574a90101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574e10101284d756c746941737365740001146f776e6572a90101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574e10101284d756c746941737365740001186c6f636b6572a90101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177a40110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400a90101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69742d02012c5765696768744c696d6974000130636865636b5f6f726967696e110201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f000055050c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c65741043616c6c04045400010448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d6974240118576569676874000004905365727669636520612073696e676c65206f766572776569676874206d6573736167652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e59050000029d03005d0500000408610518006105101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540100045300000400250301185665633c543e000065050c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d62657201102050726f706f73616c01a1031c42616c616e6365011801081c4f6e676f696e670400690501c05265666572656e64756d5374617475733c426c6f636b4e756d6265722c2050726f706f73616c2c2042616c616e63653e0000002046696e6973686564080120617070726f766564a40110626f6f6c00010c656e6410012c426c6f636b4e756d6265720001000069050c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d62657201102050726f706f73616c01a1031c42616c616e636501180014010c656e6410012c426c6f636b4e756d62657200012070726f706f73616ca103012050726f706f73616c0001247468726573686f6c64940134566f74655468726573686f6c6400011464656c617910012c426c6f636b4e756d62657200011474616c6c796d05013854616c6c793c42616c616e63653e00006d050c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e6365000071050c4070616c6c65745f64656d6f637261637910766f746518566f74696e67101c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d6265720110204d6178566f746573000108184469726563740c0114766f746573750501f4426f756e6465645665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e738105015044656c65676174696f6e733c42616c616e63653e0001147072696f728505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6ead030128436f6e76696374696f6e00012c64656c65676174696f6e738105015044656c65676174696f6e733c42616c616e63653e0001147072696f728505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e000100007505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540179050453000004007d0501185665633c543e00007905000004081c98007d0500000279050081050c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e6365000085050c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201101c42616c616e6365011800080010012c426c6f636b4e756d626572000018011c42616c616e63650000890500000408a10394008d05000004081061050091050c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f7204045400015c2056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365445265666572656e64756d496e76616c696400090484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d2c4e6f6e6557616974696e67000a04504e6f2070726f706f73616c732077616974696e67204e6f74566f746572000b04c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e000c04c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67000d0488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473000e04fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000f04a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740010085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001104d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650012049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400130450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001404804d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c546f6f4d616e79001504804d6178696d756d206e756d626572206f66206974656d7320726561636865642e3c566f74696e67506572696f644c6f7700160454566f74696e6720706572696f6420746f6f206c6f7704b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909099505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c045300000400790201185665633c543e00009905084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572011000140114696e6465781c013450726f706f73616c496e6465780001247468726573686f6c641c012c4d656d626572436f756e7400011061796573250301385665633c4163636f756e7449643e0001106e617973250301385665633c4163636f756e7449643e00010c656e6410012c426c6f636b4e756d62657200009d050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a105101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454012c045300000400790201185665633c543e0000a5050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a905101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540100045300000400250301185665633c543e0000ad050c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909b105083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e63650000b505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e646564566563080454011c045300000400350301185665633c543e0000b9050c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c000004001c010c7533320000bd0504184f7074696f6e04045401180108104e6f6e6500000010536f6d650400180000010000c10508346672616d655f737570706f72742050616c6c6574496400000400f101011c5b75383b20385d0000c5050c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900011470496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0003084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640004047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e04784572726f7220666f72207468652074726561737572792070616c6c65742ec9050c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909cd05101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401fd03045300000400d10501185665633c543e0000d105000002fd0300d505083870616c6c65745f76657374696e672052656c656173657300010808563000000008563100010000d9050c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742edd05101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401e105045300000400e90501185665633c543e0000e10504184f7074696f6e04045401e5050108104e6f6e6500000010536f6d650400e5050000010000e505084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c01a1032c426c6f636b4e756d62657201103450616c6c6574734f726967696e01d903244163636f756e7449640100001401206d617962655f6964cc01304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6ca103011043616c6c0001386d617962655f706572696f646963050401944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696ed903013450616c6c6574734f726967696e0000e905000002e10500ed050c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909f10500000408f5051800f505101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401f905045300000400fd0501185665633c543e0000f905083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501d42c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065d4012450726f78795479706500011464656c617910012c426c6f636b4e756d6265720000fd05000002f90500010600000408050618000506101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e6465645665630804540109060453000004000d0601185665633c543e00000906083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e74496401001048617368012c2c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173682c01104861736800011868656967687410012c426c6f636b4e756d62657200000d0600000209060011060c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909091506083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f73697419060150284163636f756e7449642c2042616c616e63652900010c6c656e1c010c753332000000245265717565737465640c011c6465706f7369741d0601704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e741c010c75333200010c6c656eb103012c4f7074696f6e3c7533323e000100001906000004080018001d0604184f7074696f6e0404540119060108104e6f6e6500000010536f6d650400190600000100002106000004082c1c002506101c73705f636f72651c626f756e6465642c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000029060c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400011818546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909092d060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909093106082c70616c6c65745f746970731c4f70656e54697010244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d62657201101048617368012c001c0118726561736f6e2c01104861736800010c77686f0001244163636f756e74496400011866696e6465720001244163636f756e74496400011c6465706f73697418011c42616c616e6365000118636c6f7365733506014c4f7074696f6e3c426c6f636b4e756d6265723e00011074697073390601645665633c284163636f756e7449642c2042616c616e6365293e00012c66696e646572735f666565a40110626f6f6c0000350604184f7074696f6e04045401100108104e6f6e6500000010536f6d65040010000001000039060000021906003d060c3473705f61726974686d65746963287065725f7468696e67731c50657263656e74000004000801087538000041060c2c70616c6c65745f746970731870616c6c6574144572726f7208045400044900011830526561736f6e546f6f4269670000048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e00010488546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e5469700002046054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e6465720003041d01546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e0004042901546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d61747572650005043101546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090945060c1463747970652c63747970655f656e747279284374797065456e747279081c43726561746f7201002c426c6f636b4e756d62657201100008011c63726561746f7200011c43726561746f72000128637265617465645f617410012c426c6f636b4e756d626572000049060c1463747970651870616c6c6574144572726f7204045400010c204e6f74466f756e64000004985468657265206973206e6f20435479706520776974682074686520676976656e20686173682e34416c72656164794578697374730001046454686520435479706520616c7265616479206578697374732e3c556e61626c65546f506179466565730002040d0154686520706179696e67206163636f756e742077617320756e61626c6520746f2070617920746865206665657320666f72206372656174696e6720612063747970652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909094d060c2c6174746573746174696f6e306174746573746174696f6e73484174746573746174696f6e44657461696c73040454000014012863747970655f686173682c01384374797065486173684f663c543e000120617474657374657200013441747465737465724f663c543e000140617574686f72697a6174696f6e5f6964f001704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e00011c7265766f6b6564a40110626f6f6c00011c6465706f736974510601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e000051060c306b696c745f737570706f72741c6465706f7369741c4465706f736974081c4163636f756e7401001c42616c616e63650118000801146f776e657200011c4163636f756e74000118616d6f756e7418011c42616c616e63650000550600000408f42c0059060c2c6174746573746174696f6e1870616c6c6574144572726f720404540001183c416c726561647941747465737465640000080901546865726520697320616c726561647920616e206174746573746174696f6e2077697468207468652073616d6520636c61696d20686173682073746f726564206f6e18636861696e2e38416c72656164795265766f6b6564000104a4546865206174746573746174696f6e2068617320616c7265616479206265656e207265766f6b65642e204e6f74466f756e64000204c04e6f206174746573746174696f6e206f6e20636861696e206d61746368696e672074686520636c61696d20686173682e3443547970654d69736d61746368000308fc546865206174746573746174696f6e20435479706520646f6573206e6f74206d61746368207468652043547970652073706563696669656420696e207468656864656c65676174696f6e2068696572617263687920726f6f742e344e6f74417574686f72697a6564000404f05468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f206368616e676520746865206174746573746174696f6e2e804d617844656c6567617465644174746573746174696f6e73457863656564656400050cf4546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732068617320616c7265616479206265656e05017265616368656420666f722074686520636f72726573706f6e64696e672064656c65676174696f6e2069642073756368207468617420616e6f74686572206f6e654063616e6e6f742062652061646465642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909095d060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368793844656c65676174696f6e4e6f646504045400001401446869657261726368795f726f6f745f69642c015444656c65676174696f6e4e6f646549644f663c543e000118706172656e74610601744f7074696f6e3c44656c65676174696f6e4e6f646549644f663c543e3e0001206368696c6472656e650601d8426f756e64656442547265655365743c44656c65676174696f6e4e6f646549644f663c543e2c20543a3a4d61784368696c6472656e3e00011c64657461696c736d06015044656c65676174696f6e44657461696c733c543e00011c6465706f736974510601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e0000610604184f7074696f6e040454012c0108104e6f6e6500000010536f6d6504002c00000100006506101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c0453000004006906012c42547265655365743c543e0000690604204254726565536574040454012c00040079020000006d060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368794444656c65676174696f6e44657461696c7304045400000c01146f776e657200014044656c656761746f7249644f663c543e00011c7265766f6b6564a40110626f6f6c00012c7065726d697373696f6e73fc012c5065726d697373696f6e73000071060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368796844656c65676174696f6e48696572617263687944657461696c73040454000004012863747970655f686173682c01384374797065486173684f663c543e000075060c2864656c65676174696f6e1870616c6c6574144572726f720404540001585c44656c65676174696f6e416c72656164794578697374730000041101546865726520697320616c726561647920612064656c65676174696f6e206e6f64652077697468207468652073616d652049442073746f726564206f6e20636861696e2e60496e76616c696444656c65676174655369676e617475726500010805015468652064656c65676174652773207369676e617475726520666f72207468652064656c65676174696f6e206372656174696f6e206f7065726174696f6e20697320696e76616c69642e4844656c65676174696f6e4e6f74466f756e64000204c04e6f2064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e4044656c65676174654e6f74466f756e64000304b84e6f2064656c656761746520776974682074686520676976656e2049442073746f726564206f6e20636861696e2e58486965726172636879416c7265616479457869737473000404f8546865726520697320616c72656164792061206869657261726368792077697468207468652073616d652049442073746f726564206f6e20636861696e2e444869657261726368794e6f74466f756e64000504bc4e6f2068696572617263687920776974682074686520676976656e2049442073746f726564206f6e20636861696e2e544d617853656172636844657074685265616368656400060409014d6178206e756d626572206f66206e6f64657320636865636b656420776974686f757420766572696679696e672074686520676976656e20636f6e646974696f6e2e684e6f744f776e65724f66506172656e7444656c65676174696f6e000708f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6ef462656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20706172656e74206e6f64652e744e6f744f776e65724f6644656c65676174696f6e486965726172636879000808f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6eec62656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20726f6f74206e6f64652e60506172656e7444656c65676174696f6e4e6f74466f756e64000904dc4e6f20706172656e742064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e5c506172656e7444656c65676174696f6e5265766f6b6564000a04c854686520706172656e742064656c65676174696f6e206861732070726576696f75736c79206265656e207265766f6b65642e58556e617574686f72697a65645265766f636174696f6e000b04fc5468652064656c65676174696f6e207265766f6b6572206973206e6f7420616c6c6f77656420746f207265766f6b65207468652064656c65676174696f6e2e4c556e617574686f72697a656452656d6f76616c000c04ec5468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f2072656d6f7665207468652064656c65676174696f6e2e58556e617574686f72697a656444656c65676174696f6e000d04fc5468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f20637265617465207468652064656c65676174696f6e2e3041636365737344656e696564000e04f0546865206f7065726174696f6e207761736e277420616c6c6f7765642062656361757365206f6620696e73756666696369656e74207269676874732e6045786365656465645265766f636174696f6e426f756e6473000f080d014d6178206e756d626572206f66207265766f636174696f6e7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7238746865206f7065726174696f6e2e54457863656564656452656d6f76616c426f756e647300100811014d6178206e756d626572206f662072656d6f76616c7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7220746865286f7065726174696f6e2e584d61785265766f636174696f6e73546f6f4c61726765001104f8546865206d6178206e756d626572206f66207265766f636174696f6e206578636565647320746865206c696d697420666f72207468652070616c6c65742e4c4d617852656d6f76616c73546f6f4c61726765001204f0546865206d6178206e756d626572206f662072656d6f76616c73206578636565647320746865206c696d697420666f72207468652070616c6c65742e5c4d6178506172656e74436865636b73546f6f4c617267650013040501546865206d6178206e756d626572206f6620706172656e7420636865636b73206578636565647320746865206c696d697420666f72207468652070616c6c65742e20496e7465726e616c001404f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e4c4d61784368696c6472656e4578636565646564001508dc546865206d6178206e756d626572206f6620616c6c206368696c6472656e20686173206265656e207265616368656420666f722074686578636f72726573706f6e64696e672064656c65676174696f6e206e6f64652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090979060c0c6469642c6469645f64657461696c732844696444657461696c7304045400001c014861757468656e7469636174696f6e5f6b65792c01284b657949644f663c543e0001486b65795f61677265656d656e745f6b6579737d0601604469644b657941677265656d656e744b65795365743c543e00013864656c65676174696f6e5f6b6579610601484f7074696f6e3c4b657949644f663c543e3e00013c6174746573746174696f6e5f6b6579610601484f7074696f6e3c4b657949644f663c543e3e00012c7075626c69635f6b657973810601484469645075626c69634b65794d61703c543e00013c6c6173745f74785f636f756e74657210010c75363400011c6465706f736974510601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e00007d06101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c0453000004006906012c42547265655365743c543e00008106101c73705f636f72651c626f756e64656444626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b012c04560185060453000004008d06013842547265654d61703c4b2c20563e000085060c0c6469642c6469645f64657461696c734c4469645075626c69634b657944657461696c73042c426c6f636b4e756d62657201100008010c6b6579890601304469645075626c69634b6579000130626c6f636b5f6e756d62657210012c426c6f636b4e756d626572000089060c0c6469642c6469645f64657461696c73304469645075626c69634b6579000108545075626c6963566572696669636174696f6e4b657904006d040148446964566572696669636174696f6e4b65790000004c5075626c6963456e6372797074696f6e4b657904005d040140446964456e6372797074696f6e4b6579000100008d06042042547265654d617008044b012c0456018506000400910600000091060000029506009506000004082c850600990600000408008504009d060c0c6469641870616c6c6574144572726f7204045400016c58496e76616c69645369676e6174757265466f726d6174000008050154686520444944206f7065726174696f6e207369676e6174757265206973206e6f7420696e2074686520666f726d61742074686520766572696669636174696f6e306b657920657870656374732e40496e76616c69645369676e6174757265000108f854686520444944206f7065726174696f6e207369676e617475726520697320696e76616c696420666f7220746865207061796c6f616420616e642074686568766572696669636174696f6e206b65792070726f76696465642e34416c7265616479457869737473000204f85468652044494420776974682074686520676976656e206964656e74696669657220697320616c72656164792070726573656e74206f6e20636861696e2e204e6f74466f756e64000304d44e6f2044494420776974682074686520676976656e206964656e7469666965722069732070726573656e74206f6e20636861696e2e5c566572696669636174696f6e4b65794e6f74466f756e6400040809014f6e65206f72206d6f726520766572696669636174696f6e206b657973207265666572656e63656420617265206e6f742073746f72656420696e2074686520736574546f6620766572696669636174696f6e206b6579732e30496e76616c69644e6f6e6365000504090154686520444944206f7065726174696f6e206e6f6e6365206973206e6f7420657175616c20746f207468652063757272656e7420444944206e6f6e6365202b20312e7c556e737570706f72746564446964417574686f72697a6174696f6e43616c6c000604e05468652063616c6c65642065787472696e73696320646f6573206e6f7420737570706f72742044494420617574686f7269736174696f6e2e6c496e76616c6964446964417574686f72697a6174696f6e43616c6c000708dc5468652063616c6c2068616420706172616d6574657273207468617420636f6e666c696374656420776974682065616368206f74686572406f72207765726520696e76616c69642e8c4d61784e65774b657941677265656d656e744b6579734c696d697445786365656465640008080d0141206e756d626572206f66206e6577206b65792061677265656d656e74206b6579732067726561746572207468616e20746865206d6178696d756d20616c6c6f77656448686173206265656e2070726f76696465642e544d61785075626c69634b65797345786365656465640009080501546865206d6178696d756d206e756d626572206f66207075626c6963206b65797320666f72207468697320444944206b6579206964656e74696669657220686173346265656e20726561636865642e6c4d61784b657941677265656d656e744b6579734578636565646564000a080501546865206d6178696d756d206e756d626572206f66206b65792061677265656d656e747320686173206265656e207265616368656420666f722074686520444944207375626a6563742e304261644469644f726967696e000b04bc546865204449442063616c6c20776173207375626d6974746564206279207468652077726f6e67206163636f756e74485472616e73616374696f6e45787069726564000c040d0154686520626c6f636b206e756d6265722070726f766964656420696e2061204449442d617574686f72697a6564206f7065726174696f6e20697320696e76616c69642e38416c726561647944656c65746564000d04b0546865204449442068617320616c7265616479206265656e2070726576696f75736c792064656c657465642e444e6f744f776e65724f664465706f736974000e04fc4f6e6c7920746865206f776e6572206f6620746865206465706f7369742063616e207265636c61696d206974732072657365727665642062616c616e63652e3c556e61626c65546f50617946656573000f04f0546865206f726967696e20697320756e61626c6520746f207265736572766520746865206465706f73697420616e642070617920746865206665652e6c4d61784e756d6265724f66536572766963657345786365656465640010041101546865206d6178696d756d206e756d626572206f66207365727669636520656e64706f696e747320666f7220612044494420686173206265656e2065786365656465642e684d61785365727669636549644c656e6774684578636565646564001104f0546865207365727669636520656e64706f696e7420494420657863656564656420746865206d6178696d756d20616c6c6f776564206c656e6774682e704d617853657276696365547970654c656e6774684578636565646564001208f84f6e65206f6620746865207365727669636520656e64706f696e7420747970657320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e884d61784e756d6265724f665479706573506572536572766963654578636565646564001308ec546865206d6178696d756d206e756d626572206f6620747970657320666f722061207365727669636520656e64706f696e7420686173206265656e2465786365656465642e6c4d61785365727669636555726c4c656e6774684578636565646564001408f44f6e65206f6620746865207365727669636520656e64706f696e742055524c7320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e844d61784e756d6265724f6655726c735065725365727669636545786365656465640015041101546865206d6178696d756d206e756d626572206f662055524c7320666f722061207365727669636520656e64706f696e7420686173206265656e2065786365656465642e5053657276696365416c726561647945786973747300160411014120736572766963652077697468207468652070726f766964656420494420697320616c72656164792070726573656e7420666f722074686520676976656e204449442e3c536572766963654e6f74466f756e6400170409014120736572766963652077697468207468652070726f7669646564204944206973206e6f742070726573656e7420756e6465722074686520676976656e204449442e58496e76616c696453657276696365456e636f64696e6700180409014f6e65206f6620746865207365727669636520656e64706f696e742064657461696c7320636f6e7461696e73206e6f6e2d415343494920636861726163746572732e7c4d617853746f726564456e64706f696e7473436f756e7445786365656465640019080d01546865206e756d626572206f66207365727669636520656e64706f696e74732073746f72656420756e6465722074686520444944206973206c6172676572207468616e88746865206e756d626572206f6620656e64706f696e747320746f2064656c6574652e20496e7465726e616c001a04f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a1060c4470616c6c65745f6469645f6c6f6f6b757044636f6e6e656374696f6e5f7265636f726440436f6e6e656374696f6e5265636f72640c344469644964656e74696669657201001c4163636f756e7401001c42616c616e636501180008010c6469640001344469644964656e74696669657200011c6465706f736974510601644465706f7369743c4163636f756e742c2042616c616e63653e0000a5060000040800090100a9060c4470616c6c65745f6469645f6c6f6f6b75703c6d6967726174696f6e5f7374617465384d6967726174696f6e537461746500010c10446f6e65000000285072655570677261646500010024557067726164696e670400ad06013c4d6978656453746f726167654b657900020000ad060c4470616c6c65745f6469645f6c6f6f6b7570286d6967726174696f6e733c4d6978656453746f726167654b6579000108085631040000012c4163636f756e74496433320000000856320400090101444c696e6b61626c654163636f756e74496400010000b1060c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144572726f72040454000114204e6f74466f756e640000047c546865206173736f63696174696f6e20646f6573206e6f742065786973742e344e6f74417574686f72697a65640001081101546865206f726967696e20776173206e6f7420616c6c6f77656420746f206d616e61676520746865206173736f63696174696f6e206265747765656e20746865204449444c616e6420746865206163636f756e742049442e344f7574646174656450726f6f66000204b454686520737570706c6965642070726f6f66206f66206f776e65727368697020776173206f757464617465642e44496e73756666696369656e7446756e64730003081101546865206163636f756e742068617320696e73756666696369656e742066756e647320616e642063616e277420706179207468652066656573206f72207265736572766530746865206465706f7369742e244d6967726174696f6e00040c010154686520436f6e6e65637465644163636f756e747320616e6420436f6e6e6563746564446964732073746f7261676520617265206f7574206f662073796e632e0011014e4f54453a20746869732077696c6c206f6e6c792062652072657475726e6564206966207468652073746f726167652068617320696e636f6e73697374656e636965732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909b5060c4470616c6c65745f776562335f6e616d657324776562335f6e616d6544576562334e616d654f776e6572736869700c144f776e657201001c4465706f7369740151062c426c6f636b4e756d6265720110000c01146f776e65720001144f776e6572000128636c61696d65645f617410012c426c6f636b4e756d62657200011c6465706f7369745106011c4465706f7369740000b9060c4470616c6c65745f776562335f6e616d65731870616c6c6574144572726f7204045400013044496e73756666696369656e7446756e64730000040d01546865207478207375626d697474657220646f6573206e6f74206861766520656e6f7567682066756e647320746f2070617920666f7220746865206465706f7369742e34416c7265616479457869737473000104dc54686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c7920636c61696d65642e204e6f74466f756e640002048854686520737065636966696564206e616d6520646f6573206e6f742065786973742e484f776e6572416c7265616479457869737473000304a054686520737065636966696564206f776e657220616c7265616479206f776e732061206e616d652e344f776e65724e6f74466f756e64000404ac54686520737065636966696564206f776e657220646f6573206e6f74206f776e20616e79206e616d65732e1842616e6e6564000508ec54686520737065636966696564206e616d6520686173206265656e2062616e6e656420616e642063616e6e6f7420626520696e746572616374656414776974682e244e6f7442616e6e6564000604ac54686520737065636966696564206e616d65206973206e6f742063757272656e746c792062616e6e65642e34416c726561647942616e6e6564000704d854686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c792062616e6e65642e344e6f74417574686f72697a6564000804cc546865206163746f722063616e6e6f7420706572666f726d65642074686520737065636966696564206f7065726174696f6e2e20546f6f53686f7274000904a841206e616d65207468617420697320746f6f2073686f7274206973206265696e6720636c61696d65642e1c546f6f4c6f6e67000a04a441206e616d65207468617420697320746f6f206c6f6e67206973206265696e6720636c61696d65642e40496e76616c6964436861726163746572000b04f441206e616d65207468617420636f6e7461696e73206e6f7420616c6c6f7765642063686172616374657273206973206265696e6720636c61696d65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909bd060000040825012c00c1060c487075626c69635f63726564656e7469616c732c63726564656e7469616c733c43726564656e7469616c456e7472791824435479706548617368012c20417474657374657201002c426c6f636b4e756d6265720110244163636f756e74496401001c42616c616e636501183c417574686f72697a6174696f6e496401f40018012863747970655f686173682c01244354797065486173680001206174746573746572000120417474657374657200011c7265766f6b6564a40110626f6f6c000130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200011c6465706f7369745106016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000140617574686f72697a6174696f6e5f6964f0015c4f7074696f6e3c417574686f72697a6174696f6e49643e0000c5060c487075626c69635f63726564656e7469616c731870616c6c6574144572726f720404540001183c416c72656164794174746573746564000008f8412063726564656e7469616c2077697468207468652073616d6520726f6f7420686173682068617320616c72656164792069737375656420746f2074686548737065636966696564207375626a6563742e204e6f74466f756e6400010805014e6f2063726564656e7469616c2077697468207468652073706563696669656420726f6f74206861736820686173206265656e2069737375656420746f2074686548737065636966696564207375626a6563742e3c556e61626c65546f50617946656573000204d44e6f7420656e6f75676820746f6b656e7320746f2070617920666f72207468652066656573206f7220746865206465706f7369742e30496e76616c6964496e707574000304805468652063726564656e7469616c20696e70757420697320696e76616c69642e344e6f74417574686f72697a6564000404e05468652063616c6c6572206973206e6f7420617574686f72697a656420746f20706572666f726d656420746865206f7065726174696f6e2e20496e7465726e616c000508f443617463682d616c6c20666f7220616e79206f74686572206572726f727320746861742073686f756c64206e6f742068617070656e2c207965742069742468617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909c90604184f7074696f6e04045401cd060108104e6f6e6500000010536f6d650400cd060000010000cd060c4c706f6c6b61646f745f7072696d69746976657308763248557067726164655265737472696374696f6e0001041c50726573656e7400000000d1060c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f74584d6573736167696e675374617465536e617073686f740000100130646d715f6d71635f686561642c014472656c61795f636861696e3a3a4861736800016472656c61795f64697370617463685f71756575655f73697a65d5060128287533322c2075333229000140696e67726573735f6368616e6e656c73d90601885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00013c6567726573735f6368616e6e656c73d90601885665633c285061726149642c20416272696467656448726d704368616e6e656c293e0000d506000004081c1c00d906000002dd0600dd06000004089d01e10600e1060c4c706f6c6b61646f745f7072696d6974697665730876324c416272696467656448726d704368616e6e656c00001801306d61785f63617061636974791c010c7533320001386d61785f746f74616c5f73697a651c010c7533320001406d61785f6d6573736167655f73697a651c010c7533320001246d73675f636f756e741c010c753332000128746f74616c5f73697a651c010c7533320001206d71635f68656164610601304f7074696f6e3c486173683e0000e5060c4c706f6c6b61646f745f7072696d697469766573087632644162726964676564486f7374436f6e66696775726174696f6e00002401346d61785f636f64655f73697a651c010c7533320001486d61785f686561645f646174615f73697a651c010c7533320001586d61785f7570776172645f71756575655f636f756e741c010c7533320001546d61785f7570776172645f71756575655f73697a651c010c75333200015c6d61785f7570776172645f6d6573736167655f73697a651c010c7533320001906d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200018868726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200016c76616c69646174696f6e5f757067726164655f636f6f6c646f776e1c012c426c6f636b4e756d62657200016076616c69646174696f6e5f757067726164655f64656c61791c012c426c6f636b4e756d6265720000e906089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74444d6573736167655175657565436861696e000004002c012452656c6179486173680000ed06042042547265654d617008044b019d01045601e906000400f106000000f106000002f50600f506000004089d01e90600f906000002fd0600fd060860706f6c6b61646f745f636f72655f7072696d6974697665734c4f7574626f756e6448726d704d65737361676504084964019d0100080124726563697069656e749d01010849640001106461746130015073705f7374643a3a7665633a3a5665633c75383e000001070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144572726f720404540001204c4f7665726c617070696e6755706772616465730000041501417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e675050726f686962697465644279506f6c6b61646f740001044901506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e18546f6f426967000208450154686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f742069733877696c6c696e6720746f2072756e6856616c69646174696f6e446174614e6f74417661696c61626c65000304190154686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b74486f7374436f6e66696775726174696f6e4e6f74417661696c61626c65000404250154686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b304e6f745363686564756c6564000504d84e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642e444e6f7468696e67417574686f72697a6564000604904e6f20636f6465207570677261646520686173206265656e20617574686f72697a65642e30556e617574686f72697a6564000704bc54686520676976656e20636f6465207570677261646520686173206e6f74206265656e20617574686f72697a65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090905070000020907000907086463756d756c75735f70616c6c65745f78636d705f717565756554496e626f756e644368616e6e656c44657461696c7300000c011873656e6465729d01011850617261496400011473746174650d070130496e626f756e6453746174650001406d6573736167655f6d65746164617461110701a85665633c2852656c6179426c6f636b4e756d6265722c2058636d704d657373616765466f726d6174293e00000d07086463756d756c75735f70616c6c65745f78636d705f717565756530496e626f756e645374617465000108084f6b0000002453757370656e6465640001000011070000021507001507000004081c19070019070c48706f6c6b61646f745f70617261636861696e287072696d6974697665734458636d704d657373616765466f726d617400010c60436f6e636174656e6174656456657273696f6e656458636d0000005c436f6e636174656e61746564456e636f646564426c6f620001001c5369676e616c73000200001d07000004089d011c0021070000022507002507086463756d756c75735f70616c6c65745f78636d705f7175657565584f7574626f756e644368616e6e656c44657461696c730000140124726563697069656e749d0101185061726149640001147374617465290701344f7574626f756e6453746174650001347369676e616c735f6578697374a40110626f6f6c00012c66697273745f696e646578d8010c7531360001286c6173745f696e646578d8010c75313600002907086463756d756c75735f70616c6c65745f78636d705f7175657565344f7574626f756e645374617465000108084f6b0000002453757370656e646564000100002d07000004089d01d8003107086463756d756c75735f70616c6c65745f78636d705f71756575653c5175657565436f6e66696744617461000018014473757370656e645f7468726573686f6c641c010c75333200013864726f705f7468726573686f6c641c010c753332000140726573756d655f7468726573686f6c641c010c7533320001407468726573686f6c645f7765696768742401185765696768740001547765696768745f72657374726963745f646563617924011857656967687400016878636d705f6d61785f696e646976696475616c5f776569676874240118576569676874000035070000040c9d011c300039070c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144572726f72040454000114304661696c6564546f53656e640000046c4661696c656420746f2073656e642058434d206d6573736167652e3042616458636d4f726967696e0001043c4261642058434d206f726967696e2e1842616458636d000204344261642058434d20646174612e484261644f766572776569676874496e64657800030454426164206f76657277656967687420696e6465782e3c5765696768744f7665724c696d6974000404f850726f76696465642077656967687420697320706f737369626c79206e6f7420656e6f75676820746f206578656375746520746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909093d070c2870616c6c65745f78636d1870616c6c6574144572726f720404540001502c556e726561636861626c650000085d0154686520646573697265642064657374696e6174696f6e2077617320756e726561636861626c652c2067656e6572616c6c7920626563617573652074686572652069732061206e6f20776179206f6620726f7574696e6718746f2069742e2c53656e644661696c757265000108610154686572652077617320736f6d65206f746865722069737375652028692e652e206e6f7420746f20646f207769746820726f7574696e672920696e2073656e64696e6720746865206d6573736167652e2050657268617073a861206c61636b206f6620737061636520666f7220627566666572696e6720746865206d6573736167652e2046696c74657265640002049c546865206d65737361676520657865637574696f6e206661696c73207468652066696c7465722e48556e776569676861626c654d657373616765000304b4546865206d65737361676527732077656967687420636f756c64206e6f742062652064657465726d696e65642e6044657374696e6174696f6e4e6f74496e7665727469626c65000404f05468652064657374696e6174696f6e20604d756c74694c6f636174696f6e602070726f76696465642063616e6e6f7420626520696e7665727465642e14456d707479000504805468652061737365747320746f2062652073656e742061726520656d7074792e3843616e6e6f745265616e63686f720006043501436f756c64206e6f742072652d616e63686f72207468652061737365747320746f206465636c61726520746865206665657320666f72207468652064657374696e6174696f6e20636861696e2e34546f6f4d616e79417373657473000704c4546f6f206d616e79206173736574732068617665206265656e20617474656d7074656420666f72207472616e736665722e34496e76616c69644f726967696e000804784f726967696e20697320696e76616c696420666f722073656e64696e672e2842616456657273696f6e00090421015468652076657273696f6e206f6620746865206056657273696f6e6564602076616c75652075736564206973206e6f742061626c6520746f20626520696e7465727072657465642e2c4261644c6f636174696f6e000a08410154686520676976656e206c6f636174696f6e20636f756c64206e6f7420626520757365642028652e672e20626563617573652069742063616e6e6f742062652065787072657373656420696e2074686560646573697265642076657273696f6e206f662058434d292e384e6f537562736372697074696f6e000b04bc546865207265666572656e63656420737562736372697074696f6e20636f756c64206e6f7420626520666f756e642e44416c726561647953756273637269626564000c041101546865206c6f636174696f6e20697320696e76616c69642073696e636520697420616c726561647920686173206120737562736372697074696f6e2066726f6d2075732e30496e76616c69644173736574000d0480496e76616c696420617373657420666f7220746865206f7065726174696f6e2e284c6f7742616c616e6365000e044101546865206f776e657220646f6573206e6f74206f776e2028616c6c29206f662074686520617373657420746861742074686579207769736820746f20646f20746865206f7065726174696f6e206f6e2e30546f6f4d616e794c6f636b73000f04c0546865206173736574206f776e65722068617320746f6f206d616e79206c6f636b73206f6e207468652061737365742e4c4163636f756e744e6f74536f7665726569676e001004310154686520676976656e206163636f756e74206973206e6f7420616e206964656e7469666961626c6520736f7665726569676e206163636f756e7420666f7220616e79206c6f636174696f6e2e28466565734e6f744d65740011042901546865206f7065726174696f6e207265717569726564206665657320746f20626520706169642077686963682074686520696e69746961746f7220636f756c64206e6f74206d6565742e304c6f636b4e6f74466f756e64001204f4412072656d6f7465206c6f636b20776974682074686520636f72726573706f6e64696e67206461746120636f756c64206e6f7420626520666f756e642e14496e557365001304390154686520756e6c6f636b206f7065726174696f6e2063616e6e6f742073756363656564206265636175736520746865726520617265207374696c6c207573657273206f6620746865206c6f636b2e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090941070c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144572726f7204045400010004b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909094507086063756d756c75735f70616c6c65745f646d705f717565756528436f6e6669674461746100000401386d61785f696e646976696475616c24011857656967687400004907086063756d756c75735f70616c6c65745f646d705f71756575653450616765496e6465784461746100000c0128626567696e5f757365641c012c50616765436f756e746572000120656e645f757365641c012c50616765436f756e7465720001406f7665727765696768745f636f756e7410013c4f766572776569676874496e64657800004d070000025107005107000004081c300055070c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144572726f720404540001081c556e6b6e6f776e0000048c546865206d65737361676520696e64657820676976656e20697320756e6b6e6f776e2e244f7665724c696d6974000104310154686520616d6f756e74206f662077656967687420676976656e20697320706f737369626c79206e6f7420656e6f75676820666f7220657865637574696e6720746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909095907102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c4164647265737301d9021043616c6c01a503245369676e617475726501ad04144578747261015d07000400300000005d07000004206107650769076d07710779077d07810700610710306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000650710306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000690710306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e040454000000006d0710306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000710710306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c697479040454000004007507010c45726100007507102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000790710306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e636504045400000400280120543a3a496e64657800007d0710306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b576569676874040454000000008107086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e7404045400000400c101013042616c616e63654f663c543e0000941853797374656d011853797374656d401c4163636f756e7401010402000c510100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e7400001c040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010020180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e00001c040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010405102c8000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e73696344617461010104051c300400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010010200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801002c80000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010034040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004404001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e7401001c100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f70696373010104022c7d020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000810204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100a40400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100a40400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e506861736500007502040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01890201501830426c6f636b5765696768747399026d01624fd75a00070088526a740200400102c0cd1700010700028fa54b0200d000010700e6bd4f570200f00001000002c0cd1700010700a423c0680200200101070088526a7402004001010700a2941a1d0200500002c0cd170000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e677468a9023000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7410206009000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e204462576569676874b1024040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6eb5026103386b696c742d7370697269746e6574386b696c742d7370697269746e657401000000f82a00000000000038df6acb689907609b0400000037e397fc7c91f5e401000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d69620200000026609555c065660302000000a47b7d544994c99b0100000045bfba51a310b2230100000006000000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978d808260014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e01c502006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100c90204000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e00000000012454696d657374616d70012454696d657374616d70080c4e6f7701001020000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100a4040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01cd020004344d696e696d756d506572696f6410207017000000000000104d0120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a5d0120706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c5d012067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c206265a020646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e00021c496e6469636573011c496e646963657304204163636f756e74730001040210d1020400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e01d5020174041c4465706f736974184000b47cf328350000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e01e102052042616c616e636573012042616c616e6365731434546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b730101040200e502040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e2052657365727665730101040200f502040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e01010301780c484578697374656e7469616c4465706f736974184000a0724e18090000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d61784c6f636b731c103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d617852657365727665731c1032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e01050306485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100090340000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e01000d0304000000018004604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e00071041757261011041757261082c417574686f726974696573010011030400046c205468652063757272656e7420617574686f72697479207365742e2c43757272656e74536c6f74010021032000000000000000000c80205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e009420546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e00000000171c53657373696f6e011c53657373696f6e1c2856616c696461746f7273010025030400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801001c100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100a4040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b657973010029030400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f7273010035030400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b657973000104050031030400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405390300040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e014103018400014503164050617261636861696e5374616b696e67014050617261636861696e5374616b696e6740544d617853656c656374656443616e6469646174657301001c100000000004090120546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c6563746564206174206561636820726f756e642e14526f756e640100490350000000000000000000000000140000000000000004e82043757272656e7420726f756e64206e756d62657220616e64206e65787420726f756e64207363686564756c6564207472616e736974696f6e2e384c61737444656c65676174696f6e01010405004d03200000000000000000140d012044656c65676174696f6e20696e666f726d6174696f6e20666f7220746865206c61746573742073657373696f6e20696e20776869636820612064656c656761746f722c2064656c6567617465642e000501204974206d6170732066726f6d20616e206163636f756e7420746f20746865206e756d626572206f662064656c65676174696f6e7320696e20746865206c617374982073657373696f6e20696e2077686963682074686579202872652d2964656c6567617465642e3844656c656761746f7253746174650001040500510304000c802044656c65676174696f6e207374616b696e6720696e666f726d6174696f6e2e00cc204974206d6170732066726f6d20616e206163636f756e7420746f206974732064656c65676174696f6e2064657461696c732e3443616e646964617465506f6f6c00010405005503040010a420546865207374616b696e6720696e666f726d6174696f6e20666f7220612063616e6469646174652e00b0204974206d6170732066726f6d20616e206163636f756e7420746f2069747320696e666f726d6174696f6e2eb8204d6f72656f7665722c20697420636f756e747320746865206e756d626572206f662063616e646964617465732e5c436f756e746572466f7243616e646964617465506f6f6c01001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617048546f74616c436f6c6c61746f725374616b650100690380000000000000000000000000000000000000000000000000000000000000000014f420546f74616c2066756e6473206c6f636b656420746f206261636b207468652063757272656e746c792073656c656374656420636f6c6c61746f72732ed0205468652073756d206f6620616c6c20636f6c6c61746f7220616e642074686569722064656c656761746f72207374616b65732e002101204e6f74653a20546865726520617265206d6f72652066756e6473206c6f636b656420627920746869732070616c6c65742c2073696e636520746865206261636b696e6720666f720901206e6f6e20636f6c6c6174696e672063616e64696461746573206973206e6f7420696e636c7564656420696e205b546f74616c436f6c6c61746f725374616b655d2e34546f7043616e6469646174657301006d03040028e82054686520636f6c6c61746f722063616e64696461746573207769746820746865206869676865737420616d6f756e74206f66207374616b652e00190120456163682074696d6520746865207374616b65206f66206120636f6c6c61746f7220697320696e637265617365642c20697420697320636865636b65642077686574686572050120746869732070757368657320616e6f746865722063616e646964617465206f7574206f6620746865206c6973742e205768656e20746865207374616b652069732101207265647563656420686f77657665722c206974206973206e6f7420636865636b656420696620616e6f746865722063616e64696461746520686173206d6f7265207374616b652c11012073696e6365207468697320776f756c64207265717569726520697465726174696e67206f7665722074686520656e74697265205b43616e646964617465506f6f6c5d2e001501205468657265206d75737420616c77617973206265206d6f72652063616e64696461746573207468616e205b4d617853656c656374656443616e646964617465735d20736f0d012074686174206120636f6c6c61746f722063616e2064726f70206f7574206f662074686520636f6c6c61746f7220736574206279207265647563696e672074686569721c207374616b652e3c496e666c6174696f6e436f6e66696701007503c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046420496e666c6174696f6e20636f6e66696775726174696f6e2e24556e7374616b696e670101040500810304001088205468652066756e64732077616974696e6720746f20626520756e7374616b65642e001d01204974206d6170732066726f6d206163636f756e747320746f20616c6c207468652066756e64732061646472657373656420746f207468656d20696e20746865206675747572652020626c6f636b732e644d6178436f6c6c61746f7243616e6469646174655374616b65010018400000000000000000000000000000000004cc20546865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e6469646174652063616e207374616b652e4c4c617374526577617264526564756374696f6e010010200000000000000000140d0120546865207965617220696e20776869636820746865206c617374206175746f6d6174696320726564756374696f6e206f66207468652072657761726420726174657328206f636375727265642e00250120497420737461727473206174207a65726f2061742067656e6573697320616e6420696e6372656d656e7473206279206f6e6520657665727920424c4f434b535f5045525f5945415234206d616e7920626c6f636b732e38426c6f636b73417574686f726564010104050010200000000000000000080d0120546865206e756d626572206f6620617574686f72656420626c6f636b7320666f7220636f6c6c61746f72732e20497420697320757064617465642076696120746865b020606e6f74655f617574686f726020686f6f6b207768656e20617574686f72696e67206120626c6f636b202e38426c6f636b73526577617264656401010405001020000000000000000024210120546865206e756d626572206f6620626c6f636b7320666f7220776869636820726577617264732068617665206265656e20636c61696d656420627920616e20616464726573732e00190120466f7220636f6c6c61746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f7265642e2049742069732075706461746564207768656ecc20696e6372656d656e74696e6720636f6c6c61746f7220726577617264732c20656974686572207768656e2063616c6c696e67e02060696e635f636f6c6c61746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e00250120466f722064656c656761746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f726564206f662074686520636f6c6c61746f722e497420697305012075706461746564207768656e20696e6372656d656e74696e672064656c656761746f7220726577617264732c20656974686572207768656e2063616c6c696e67e42060696e635f64656c656761746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e1c5265776172647301010405001840000000000000000000000000000000000c01012054686520616363756d756c61746564207265776172647320666f7220636f6c6c61746f722063616e6469646174657320616e642064656c656761746f72732e001101204974206d6170732066726f6d206163636f756e747320746f20746865697220746f74616c20726577617264732073696e636520746865206c617374207061796f75742e34466f7263654e6577526f756e640100a404000001910301883c444d696e426c6f636b73506572526f756e6410202c0100000000000004d4204d696e696d756d206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e64732063616e206c6173742e5444656661756c74426c6f636b73506572526f756e641020580200000000000008fc2044656661756c74206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e6473206c6173742c2061732073657420696e207468655c2067656e6573697320636f6e66696775726174696f6e2e345374616b654475726174696f6e1020e0c40000000000000c0501204e756d626572206f6620626c6f636b7320666f7220776869636820756e7374616b65642062616c616e63652077696c6c207374696c6c206265206c6f636b6564f0206265666f72652069742063616e20626520756e6c6f636b6564206279206163746976656c792063616c6c696e67207468652065787472696e7369634c2060756e6c6f636b5f756e7374616b6564602e3845786974517565756544656c61791c1002000000080901204e756d626572206f6620726f756e6473206120636f6c6c61746f722068617320746f207374617920616374697665206166746572207375626d697474696e672061c4207265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e304d696e436f6c6c61746f72731c1010000000080d01204d696e696d756d206e756d626572206f6620636f6c6c61746f72732073656c65637465642066726f6d2074686520736574206f662063616e64696461746573206174602065766572792076616c69646174696f6e20726f756e642e504d696e5265717569726564436f6c6c61746f72731c1004000000081101204d696e696d756d206e756d626572206f6620636f6c6c61746f72732077686963682063616e6e6f74206c6561766520746865206e6574776f726b2069662074686572653c20617265206e6f206f74686572732e584d617844656c65676174696f6e73506572526f756e641c1001000000140101204d6178696d756d206e756d626572206f662064656c65676174696f6e732077686963682063616e206265206d6164652077697468696e207468652073616d651c20726f756e642e000d01204e4f54453a20546f2070726576656e742072652d64656c65676174696f6e2d7265776172642061747461636b732c2077652073686f756c64206b65657020746869732c20746f206265206f6e652e604d617844656c656761746f7273506572436f6c6c61746f721c102300000004e4204d6178696d756d206e756d626572206f662064656c656761746f727320612073696e676c6520636f6c6c61746f722063616e20686176652e404d6178546f7043616e646964617465731c104b00000004a0204d6178696d756d2073697a65206f662074686520746f702063616e64696461746573207365742e404d696e436f6c6c61746f725374616b6518400000e8890423c78a0000000000000000080901204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520656c65637465642061732076616c696461746f723420666f72206120726f756e642e644d696e436f6c6c61746f7243616e6469646174655374616b6518400000e8890423c78a0000000000000000080501204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520616464656420746f2074686520736574206f66302063616e646964617465732e444d696e44656c656761746f725374616b651840000082dfe40d4700000000000000000004f8204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f206265636f6d6520612064656c656761746f722e484d6178556e7374616b6552657175657374731c100a00000028e8204d6178206e756d626572206f6620636f6e63757272656e742061637469766520756e7374616b696e67207265717565737473206265666f72652c20756e6c6f636b696e672e001501204e4f54453a20546f2070726f7465637420616761696e737420697272656d6f766162696c697479206f6620612063616e646964617465206f722064656c656761746f722cf4207765206f6e6c7920616c6c6f7720666f72204d6178556e7374616b655265717565737473202d2031206d616e79206d616e75616c20756e7374616b6501012072657175657374732e20546865206c617374206f6e6520736572766573206173206120706c616365686f6c64657220666f7220746865206361736573206f66f02063616c6c696e672065697468657220606b69636b5f64656c656761746f72602c20666f7263655f72656d6f76655f63616e64696461746560206f7209012060657865637574655f6c656176655f63616e64696461746573602e204f74686572776973652c2061207573657220636f756c64206d6178206f75742074686569720d0120756e7374616b6520726571756573747320616e642070726576656e74207468656d73656c7665732066726f6d206265696e67206b69636b65642066726f6d20746865f020736574206f662063616e646964617465732f64656c656761746f727320756e74696c207468657920756e6c6f636b2074686569722066756e64732e484e6574776f726b5265776172645374617274102048a3c800000000000c110120546865207374617274696e6720626c6f636b206e756d62657220666f7220746865206e6574776f726b20726577617264732e204f6e6365207468652063757272656e74090120626c6f636b206e756d626572206578636565647320746869732073746172742c207468652062656e65666963696172792077696c6c2072656365697665207468658420636f6e666967757265642072657761726420696e206561636820626c6f636b2e444e6574776f726b526577617264526174658c2000008a5d784563010c0d0120546865207261746520696e2070657263656e7420666f7220746865206e6574776f726b207265776172647320776869636820617265206261736564206f6e207468650901206d6178696d756d206e756d626572206f6620636f6c6c61746f727320616e6420746865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e1c207374616b652e0195031528417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e00000000141c41757261457874011c41757261457874042c417574686f72697469657301001103040014942053657276657320617320636163686520666f722074686520617574686f7269746965732e0071012054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c790120627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973f0206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e00000000182444656d6f6372616379012444656d6f63726163792c3c5075626c696350726f70436f756e7401001c100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301009903040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f66000104051c5d0504000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e7401001c100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401001c100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f66000104051c650504000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010405007105e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100a40400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00008905040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c697374000104062c8d0504000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e73010104062ca40400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e01a9030190303c456e6163746d656e74506572696f641020201c00000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f641020e0c400000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f641020e0c400000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f641020e0c4000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400080c6a47e8d0300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f776564a404010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f641020840300000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f641020e0c400000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f7465731c106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c731c1064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f736974731c1064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c69737465641c106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e0191051e1c436f756e63696c011c436f756e63696c182450726f706f73616c7301009505040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062ca503040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062c9905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d62657273010025030400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01b50301a000019d051f48546563686e6963616c436f6d6d69747465650148546563686e6963616c436f6d6d6974746565182450726f706f73616c730100a105040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062ca503040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062c9905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d62657273010025030400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01c50301b00001a505204c546563686e6963616c4d656d62657273686970014c546563686e6963616c4d656d62657273686970081c4d656d626572730100a905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01c90301b40001ad052220547265617375727901205472656173757279103450726f706f73616c436f756e7401001c100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c73000104051cb1050400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c730100b505040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e01cd0301b81c3050726f706f73616c426f6e64b9051050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d1840000082dfe40d47000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756dbd050400044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f641020c0a8000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726eb90510000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c65744964c105206b696c742f7473790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c731c10640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e01c505231c5574696c6974790001d10301bc044c626174636865645f63616c6c735f6c696d69741c10aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01c905281c56657374696e67011c56657374696e67081c56657374696e670001040200cd05040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100d50504000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e01f90301c008444d696e5665737465645472616e73666572184000407a10f35a0000000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c65731c101c0000000001d90529245363686564756c657201245363686564756c65720c3c496e636f6d706c65746553696e6365000010040000184167656e64610101040510dd050400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001040504c8040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e01010401c408344d6178696d756d57656967687424280700a0db215d0200000104290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b1c1032000000041d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e01ed052a1450726f7879011450726f7879081c50726f786965730101040500f1054400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e74730101040500010644000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01090401d0184050726f78794465706f7369744261736518400020f7a54b330000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f72184000f4a92b80010000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f786965731c100a00000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e671c100a00000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518400020f7a54b330000000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000e8535700030000000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e0111062b20507265696d6167650120507265696d6167650824537461747573466f72000104062c15060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f72000104062106250604000001110401dc000129062c38546970734d656d626572736869700138546970734d656d62657273686970081c4d656d626572730100a905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01150401e000012d062d1054697073011054697073081054697073000104052c310604000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e73000104062c3004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01190401e4144c4d6178696d756d526561736f6e4c656e6774681c10004000000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756548446174614465706f73697450657242797465184000743ba40b00000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e30546970436f756e74646f776e1020201c0000000000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e646572734665653d060414043501205468652070657263656e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f73697442617365184000f45628fa320000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e0141062e144374797065011443747970650418437479706573000104022c450604001060204354797065732073746f726564206f6e20636861696e2e001901204974206d6170732066726f6d2061204354797065206861736820746f206974732063726561746f7220616e6420626c6f636b206e756d62657220696e207768696368206974342077617320637265617465642e011d0401e8000149063d2c4174746573746174696f6e012c4174746573746174696f6e08304174746573746174696f6e73000104022c4d0604000c78204174746573746174696f6e732073746f726564206f6e20636861696e2e00cc204974206d6170732066726f6d206120636c61696d206861736820746f207468652066756c6c206174746573746174696f6e2e5045787465726e616c4174746573746174696f6e7301010805025506a404000ca02044656c656761746564206174746573746174696f6e732073746f726564206f6e20636861696e2e00e8204974206d6170732066726f6d20612064656c65676174696f6e20494420746f206120766563746f72206f6620636c61696d206861736865732e01210401ec081c4465706f7369741840001cc9dd006e0000000000000000000004e420546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720616e206174746573746174696f6e2e604d617844656c6567617465644174746573746174696f6e731c10e803000008090120546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732077686963682063616e206265206d61646520627954207468652073616d652064656c65676174696f6e2e0159063e2844656c65676174696f6e012844656c65676174696f6e083c44656c65676174696f6e4e6f646573000104022c5d0604000c882044656c65676174696f6e206e6f6465732073746f726564206f6e20636861696e2e00b0204974206d6170732066726f6d2061206e6f646520494420746f20746865206e6f64652064657461696c732e5444656c65676174696f6e4869657261726368696573000104022c710604000ca02044656c65676174696f6e2068696572617263686965732073746f726564206f6e20636861696e2e00dc204974206d61707320666f7220612028726f6f7429206e6f646520494420746f20746865206869657261726368792064657461696c732e01350401f8181c4465706f73697418400080c6a47e8d0300000000000000000004dc20546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720612064656c65676174696f6e2e584d61785369676e6174757265427974654c656e677468d808400000384d61785265766f636174696f6e731c1005000000047c204d6178696d756d206e756d626572206f66207265766f636174696f6e732e2c4d617852656d6f76616c731c100500000004f4204d6178696d756d206e756d626572206f662072656d6f76616c732e2053686f756c642062652073616d65206173204d61785265766f636174696f6e733c4d6178506172656e74436865636b731c1005000000080d01204d6178696d756d206e756d626572206f6620757077617264732074726176657273616c73206f66207468652064656c65676174696f6e20747265652066726f6d2061f0206e6f646520746f2074686520726f6f7420616e64207468757320746865206465707468206f66207468652064656c65676174696f6e20747265652e2c4d61784368696c6472656e1c10e80300000c0d01204d6178696d756d206e756d626572206f6620616c6c206368696c6472656e20666f7220612064656c65676174696f6e206e6f64652e20466f7220612062696e617279fc20747265652c20746869732073686f756c6420626520747769636520746865206d6178696d756d206465707468206f662074686520747265652c20692e652e5c206032205e204d6178506172656e74436865636b73602e0175063f0c446964010c446964100c4469640001040200790604000c5820444944732073746f726564206f6e20636861696e2e00c8204974206d6170732066726f6d206120444944206964656e74696669657220746f20746865204449442064657461696c732e4053657276696365456e64706f696e747300010805029906810404000ca0205365727669636520656e64706f696e7473206173736f636961746564207769746820444944732e000901204974206d6170732066726f6d2028444944206964656e7469666965722c20736572766963652049442920746f2074686520736572766963652064657461696c732e44446964456e64706f696e7473436f756e7401010402001c10000000000cac20436f756e746572206f66207365727669636520656e64706f696e747320666f722065616368204449442e00cc204974206d6170732066726f6d2028444944206964656e7469666965722920746f20612033322d62697420636f756e7465722e30446964426c61636b6c6973740001040200ac0400141d012054686520736574206f66204449447320746861742068617665206265656e2064656c6574656420616e642063616e6e6f74207468657265666f726520626520637265617465647020616761696e20666f7220736563757269747920726561736f6e732e002101204974206d6170732066726f6d206120444944206964656e74696669657220746f206120756e6974207475706c652c20666f72207468652073616b65206f6620747261636b696e674420444944206964656e746966696572732e015104010101301c4465706f736974184000983ea62c22070000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e0c466565184000203d88792d000000000000000000000c09012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f7220656163682044494420617320612066656520746f0d0120696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206665652077696c6c206e6f74206765748820726566756e646564207768656e20746865204449442069732064656c657465642e4c4d61785075626c69634b6579735065724469641c10140000000c1101204d6178696d756d206e756d626572206f6620746f74616c207075626c6963206b6579732077686963682063616e2062652073746f7265642070657220444944206b6579d8206964656e7469666965722e205468697320696e636c7564657320746865206f6e65732063757272656e746c79207573656420666f72f02061757468656e7469636174696f6e2c206b65792061677265656d656e742c206174746573746174696f6e2c20616e642064656c65676174696f6e2e584d61784e65774b657941677265656d656e744b6579731c100a000000081501204d6178696d756d206e756d626572206f66206b65792061677265656d656e74206b65797320746861742063616e20626520616464656420696e2061206372656174696f6e2c206f7065726174696f6e2e604d6178546f74616c4b657941677265656d656e744b6579731c1013000000101101204d6178696d756d206e756d626572206f6620746f74616c206b65792061677265656d656e74206b65797320746861742063616e2062652073746f72656420666f7220613420444944207375626a6563742e00c42053686f756c642062652067726561746572207468616e20604d61784e65774b657941677265656d656e744b657973602e4c4d6178426c6f636b73547856616c696469747910202c0100000000000008ec20546865206d6178696d756d206e756d626572206f6620626c6f636b732061204449442d617574686f72697a6564206f7065726174696f6e2069739420636f6e736964657265642076616c696420616674657220697473206372656174696f6e2e644d61784e756d6265724f6653657276696365735065724469641c101900000004fc20546865206d6178696d756d206e756d626572206f6620736572766963657320746861742063616e2062652073746f72656420756e6465722061204449442e484d61785365727669636549644c656e6774681c1032000000049020546865206d6178696d756d206c656e677468206f66206120736572766963652049442e504d617853657276696365547970654c656e6774681c103200000004c820546865206d6178696d756d206c656e677468206f66206120736572766963652074797065206465736372697074696f6e2e684d61784e756d6265724f665479706573506572536572766963651c100100000004090120546865206d6178696d756d206e756d626572206f662061207479706573206465736372697074696f6e20666f722061207365727669636520656e64706f696e742e4c4d61785365727669636555726c4c656e6774681c10c8000000049420546865206d6178696d756d206c656e677468206f66206120736572766963652055524c2e644d61784e756d6265724f6655726c73506572536572766963651c100100000004d420546865206d6178696d756d206e756d626572206f6620612055524c7320666f722061207365727669636520656e64706f696e742e019d064024496e666c6174696f6e000000084c496e697469616c506572696f644c656e677468102048a3c800000000000c050120546865206c656e677468206f662074686520696e697469616c20706572696f6420696e2077686963682074686520636f6e7374616e74207265776172642069731101206d696e7465642e204f6e6365207468652063757272656e7420626c6f636b206578636565647320746869732c207265776172647320617265206e6f206675727468657220206973737565642e4c496e697469616c506572696f64526577617264184036f539fdaeb30200000000000000000008fc2054686520616d6f756e74206f66206e65776c792069737375656420746f6b656e732070657220626c6f636b20647572696e672074686520696e697469616c2020706572696f642e0042244469644c6f6f6b757001244469644c6f6f6b75700c34436f6e6e656374656444696473000104020901a106040004a8204d617070696e672066726f6d206163636f756e74206964656e7469666965727320746f20444944732e44436f6e6e65637465644163636f756e74730001080202a506ac04000cbc204d617070696e672066726f6d2028444944202b206163636f756e74206964656e74696669657229202d3e2028292e0d012054686520656d707479207475706c65206973207573656420617320612073656e74696e656c2076616c756520746f2073696d706c7920696e64696361746520746865982070726573656e6365206f66206120676976656e207475706c6520696e20746865206d61702e4c4d6967726174696f6e537461746553746f72650100a90604010001a504010501041c4465706f736974184000c0afd69136000000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e01b1064324576562334e616d65730124576562334e616d65730c144f776e6572000104021901b50604000488204d6170206f66206e616d65202d3e206f776e6572736869702064657461696c732e144e616d65730001040200190104000458204d6170206f66206f776e6572202d3e206e616d652e1842616e6e6564000104021901ac04000c4c204d6170206f66206e616d65202d3e2028292e00e02049662061206e616d65206b65792069732070726573656e742c20746865206e616d652069732063757272656e746c792062616e6e65642e01b5040115010c1c4465706f736974184000d450a85d6b0000000000000000000004bc2054686520616d6f756e74206f66204b494c5420746f206465706f73697420746f20636c61696d2061206e616d652e344d696e4e616d654c656e6774681c1003000000048820546865206d696e20656e636f646564206c656e677468206f662061206e616d652e344d61784e616d654c656e6774681c1020000000048820546865206d617820656e636f646564206c656e677468206f662061206e616d652e01b90644445075626c696343726564656e7469616c7301445075626c696343726564656e7469616c73082c43726564656e7469616c730001080502bd06c10604000cc020546865206d6170206f66207075626c69632063726564656e7469616c7320616c72656164792061747465737465642ef0204974206d6170732066726f6d206120287375626a656374206964202b2063726564656e7469616c20696429202d3e20746865206372656174696f6e6c2064657461696c73206f66207468652063726564656e7469616c2e4843726564656e7469616c5375626a65637473000104022c250104001025012041207265766572736520696e646578206d617070696e672066726f6d2063726564656e7469616c20494420746f20746865207375626a656374207468652063726564656e7469616c3c207761732069737375656420746f2e001901204974206974207573656420746f20706572666f726d20656666696369656e74206c6f6f6b7570206f662063726564656e7469616c7320676976656e2074686569722049442e01b9040121010c1c4465706f7369741840005c6a51fc45000000000000000000000411012054686520616d6f756e74206f6620746f6b656e7320746f2072657365727665207768656e20617474657374696e672061207075626c69632063726564656e7469616c2e584d6178456e636f646564436c61696d734c656e6774681c10a0860100040d0120546865206d6178696d756d206c656e67746820696e206279746573206f662074686520656e636f64656420636c61696d73206f6620612063726564656e7469616c2e484d61785375626a65637449644c656e6774681c100c01000008e820546865206d6178696d756d206c656e67746820696e206279746573206f6620746865207261772063726564656e7469616c207375626a65637430206964656e7469666965722e01c506453c50617261636861696e53797374656d013c50617261636861696e53797374656d545450656e64696e6756616c69646174696f6e436f64650100300400187d0120496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e00c10120417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455dad012077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e000501205b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455d3a2073705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f4445444e657756616c69646174696f6e436f64650000300400145d012056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e647820636f6e73657175656e746c79207468652072656c61792d636861696e2e00650120546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c7265616479207365742c207468652076616c75652e3856616c69646174696f6e446174610000d10404000cd020546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e2d0120546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f7265643420696e2074686520747269652e5044696453657456616c69646174696f6e436f64650100a4040004e02057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f644c61737452656c6179436861696e426c6f636b4e756d62657201001c1000000000041d01205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e60557067726164655265737472696374696f6e5369676e616c0100c90604001c750120416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e610120496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365646c2063616e6469646174652077696c6c20626520696e76616c69642e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3c52656c6179537461746550726f6f660000d904040018c4205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e5852656c6576616e744d6573736167696e6753746174650000d10604001c65012054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e2061732070657248207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e44486f7374436f6e66696775726174696f6e0000e5060400182901205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e384c617374446d714d7163486561640100e90680000000000000000000000000000000000000000000000000000000000000000010f420546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e404c61737448726d704d716348656164730100ed06040010490120546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e6450726f636573736564446f776e776172644d6573736167657301001c10000000000cc8204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e3448726d7057617465726d61726b01001c10000000000ca02048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5048726d704f7574626f756e644d657373616765730100f90604000ca42048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e385570776172644d657373616765730100950204000cac20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5450656e64696e675570776172644d6573736167657301009502040004310120557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e84416e6e6f756e63656448726d704d6573736167657350657243616e64696461746501001c100000000008650120546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f72f020616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e68526573657276656458636d705765696768744f766572726964650000240400085d01205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e645265736572766564446d705765696768744f766572726964650000240400085901205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e44417574686f72697a65645570677261646500002c040004b820546865206e65787420617574686f72697a656420757067726164652c206966207468657265206973206f6e652e60437573746f6d56616c69646174696f6e486561644461746100003004000c2901204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e00190120536565205b6050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461605d20666f72206d6f726520696e666f726d6174696f6e2e01c90401910100010107503450617261636861696e496e666f013450617261636861696e496e666f042c50617261636861696e496401009d0110640000000000000000512458636d705175657565012458636d7051756575652844496e626f756e6458636d70537461747573010005070400049420537461747573206f662074686520696e626f756e642058434d50206368616e6e656c732e4c496e626f756e6458636d704d6573736167657301010802051d0730040004190120496e626f756e64206167677265676174652058434d50206d657373616765732e2049742063616e206f6e6c79206265206f6e6520706572205061726149642f626c6f636b2e484f7574626f756e6458636d70537461747573010021070400185d0120546865206e6f6e2d656d7074792058434d50206368616e6e656c7320696e206f72646572206f66206265636f6d696e67206e6f6e2d656d7074792c20616e642074686520696e646578206f6620746865206669727374510120616e64206c617374206f7574626f756e64206d6573736167652e204966207468652074776f20696e64696365732061726520657175616c2c207468656e20697420696e6469636174657320616e20656d707479590120717565756520616e64207468657265206d7573742062652061206e6f6e2d604f6b6020604f7574626f756e64537461747573602e20576520617373756d65207175657565732067726f77206e6f20677265617465725901207468616e203635353335206974656d732e20517565756520696e646963657320666f72206e6f726d616c206d6573736167657320626567696e206174206f6e653b207a65726f20697320726573657276656420696e11012063617365206f6620746865206e65656420746f2073656e64206120686967682d7072696f72697479207369676e616c206d657373616765207468697320626c6f636b2e09012054686520626f6f6c20697320747275652069662074686572652069732061207369676e616c206d6573736167652077616974696e6720746f2062652073656e742e504f7574626f756e6458636d704d6573736167657301010802052d0730040004bc20546865206d65737361676573206f7574626f756e6420696e206120676976656e2058434d50206368616e6e656c2e385369676e616c4d65737361676573010104029d0130040004a020416e79207369676e616c206d657373616765732077616974696e6720746f2062652073656e742e2c5175657565436f6e6669670100310774020000000500000001000000821a06000008000700c817a804020004000415012054686520636f6e66696775726174696f6e20776869636820636f6e74726f6c73207468652064796e616d696373206f6620746865206f7574626f756e642071756575652e284f76657277656967687400010405103507040010050120546865206d657373616765732074686174206578636565646564206d617820696e646976696475616c206d65737361676520776569676874206275646765742e003901205468657365206d657373616765207374617920696e20746869732073746f72616765206d617020756e74696c207468657920617265206d616e75616c6c79206469737061746368656420766961582060736572766963655f6f766572776569676874602e50436f756e746572466f724f76657277656967687401001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c4f766572776569676874436f756e7401001020000000000000000008690120546865206e756d626572206f66206f766572776569676874206d657373616765732065766572207265636f7264656420696e20604f766572776569676874602e20416c736f20646f75626c657320617320746865206e6578748420617661696c61626c652066726565206f76657277656967687420696e6465782e38517565756553757370656e6465640100a404000441012057686574686572206f72206e6f74207468652058434d502071756575652069732073757370656e6465642066726f6d20657865637574696e6720696e636f6d696e672058434d73206f72206e6f742e01fd0401950100013907522c506f6c6b61646f7458636d0001010501a10100013d07532843756d756c757358636d0000016d02000141075420446d7051756575650120446d7051756575651434436f6e66696775726174696f6e01004507280700e40b540202000400044c2054686520636f6e66696775726174696f6e2e2450616765496e646578010049074000000000000000000000000000000000044020546865207061676520696e6465782e145061676573010104021c4d0704000444205468652071756575652070616765732e284f766572776569676874000104021051070400046420546865206f766572776569676874206d657373616765732e50436f756e746572466f724f76657277656967687401001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617001550501710200015507555907042048436865636b4e6f6e5a65726f53656e6465726107ac40436865636b5370656356657273696f6e65071c38436865636b547856657273696f6e69071c30436865636b47656e657369736d072c38436865636b4d6f7274616c69747971072c28436865636b4e6f6e63657907ac2c436865636b5765696768747d07ac604368617267655472616e73616374696f6e5061796d656e748107ac3104"} \ No newline at end of file +{"result":"0x6d6574610eb507000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f0814496e64657801102c4163636f756e74446174610114001401146e6f6e6365100114496e646578000124636f6e73756d6572731c0120526566436f756e7400012470726f7669646572731c0120526566436f756e7400012c73756666696369656e74731c0120526566436f756e740001106461746114012c4163636f756e7444617461000010000005060014083c70616c6c65745f62616c616e6365732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500012c6d6973635f66726f7a656e18011c42616c616e63650001286665655f66726f7a656e18011c42616c616e636500001800000507001c0000050500200c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540124000c01186e6f726d616c2401045400012c6f7065726174696f6e616c240104540001246d616e6461746f7279240104540000240c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d6528010c75363400012870726f6f665f73697a6528010c75363400002800000610002c083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d000030000002080034102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f677338013c5665633c4469676573744974656d3e0000380000023c003c102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e00060024436f6e73656e7375730800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000400105365616c0800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000500144f74686572040030011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e745570646174656400080000400000030400000008004400000248004808306672616d655f73797374656d2c4576656e745265636f7264080445014c0454012c000c011470686173658902011450686173650001146576656e744c010445000118746f706963738d0201185665633c543e00004c08447370697269746e65745f72756e74696d653052756e74696d654576656e7400017c1853797374656d04005001706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c496e6469636573040074017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e0005002042616c616e636573040078017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404008001a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c53657373696f6e040084015470616c6c65745f73657373696f6e3a3a4576656e740016004050617261636861696e5374616b696e67040088018470617261636861696e5f7374616b696e673a3a4576656e743c52756e74696d653e0015002444656d6f6372616379040090018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e001e001c436f756e63696c0400a401fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400b401fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020004c546563686e6963616c4d656d626572736869700400b801fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365313e0022002054726561737572790400bc017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e0023001c5574696c6974790400c0015470616c6c65745f7574696c6974793a3a4576656e740028001c56657374696e670400c4017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e002900245363686564756c65720400c8018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e002a001450726f78790400d4017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002b0020507265696d6167650400e0017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e002c0038546970734d656d626572736869700400e401fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365323e002d0010546970730400e8016c70616c6c65745f746970733a3a4576656e743c52756e74696d653e002e00204d756c74697369670400ec017c70616c6c65745f6d756c74697369673a3a4576656e743c52756e74696d653e002f001443747970650400f4015463747970653a3a4576656e743c52756e74696d653e003d002c4174746573746174696f6e0400f8016c6174746573746174696f6e3a3a4576656e743c52756e74696d653e003e002844656c65676174696f6e04000501016864656c65676174696f6e3a3a4576656e743c52756e74696d653e003f000c44696404000d01014c6469643a3a4576656e743c52756e74696d653e004000244469644c6f6f6b757004001101018470616c6c65745f6469645f6c6f6f6b75703a3a4576656e743c52756e74696d653e00430024576562334e616d657304002101018470616c6c65745f776562335f6e616d65733a3a4576656e743c52756e74696d653e004400445075626c696343726564656e7469616c7304002d0101887075626c69635f63726564656e7469616c733a3a4576656e743c52756e74696d653e0045003c50617261636861696e53797374656d04009d0101bc63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e0050002458636d7051756575650400a10101a463756d756c75735f70616c6c65745f78636d705f71756575653a3a4576656e743c52756e74696d653e0052002c506f6c6b61646f7458636d0400ad01016870616c6c65745f78636d3a3a4576656e743c52756e74696d653e0053002843756d756c757358636d04008102018863756d756c75735f70616c6c65745f78636d3a3a4576656e743c52756e74696d653e00540020446d7051756575650400850201a063756d756c75735f70616c6c65745f646d705f71756575653a3a4576656e743c52756e74696d653e00550000500c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5401304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7260013444697370617463684572726f7200013464697370617463685f696e666f5401304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e744964000110686173682c011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e540c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874240118576569676874000114636c6173735801344469737061746368436c617373000120706179735f6665655c0110506179730000580c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f7279000200005c0c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000060082873705f72756e74696d653444697370617463684572726f72000134144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040064012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e0400680128546f6b656e4572726f720007002841726974686d6574696304006c013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007001485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c000064082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7240018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d000068082873705f72756e74696d6528546f6b656e4572726f7200011c1c4e6f46756e647300000020576f756c644469650001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f72746564000600006c083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000070082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000740c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909780c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001281c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e63655365740c010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e63650001207265736572766564180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475737c01185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909097c14346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e6365537461747573000108104672656500000020526573657276656400010000800c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909840c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e6465781c013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909880c4470617261636861696e5f7374616b696e671870616c6c6574144576656e74040454000154204e6577526f756e640800100138543a3a426c6f636b4e756d62657200001c013053657373696f6e496e6465780000088041206e6577207374616b696e6720726f756e642068617320737461727465642e785c5b626c6f636b206e756d6265722c20726f756e64206e756d6265725c5d50456e7465726564546f7043616e646964617465730400000130543a3a4163636f756e744964000108cc41206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d444c656674546f7043616e646964617465730400000130543a3a4163636f756e744964000208d8416e206163636f756e74207761732072656d6f7665642066726f6d2074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d604a6f696e6564436f6c6c61746f7243616e646964617465730800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000308e041206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620636f6c6c61746f722063616e646964617465732ebc5c5b6163636f756e742c20616d6f756e74207374616b656420627920746865206e65772063616e6469646174655c5d48436f6c6c61746f725374616b65644d6f72650c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00040801014120636f6c6c61746f722063616e6469646174652068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d48436f6c6c61746f725374616b65644c6573730c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00050801014120636f6c6c61746f722063616e64696461746520686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d54436f6c6c61746f725363686564756c6564457869740c001c013053657373696f6e496e6465780000000130543a3a4163636f756e74496400001c013053657373696f6e496e64657800061001014120636f6c6c61746f722063616e646964617465206861732073746172746564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e646964617465732e205c5b726f756e64206e756d6265722c20636f6c6c61746f722773206163636f756e742c20726f756e64206e756d626572207768656ee074686520636f6c6c61746f722077696c6c206265206566666563746976656c792072656d6f7665642066726f6d2074686520736574206f663063616e646964617465735c5d50436f6c6c61746f7243616e63656c6564457869740400000130543a3a4163636f756e74496400070c05014120636f6c6c61746f722063616e646964617465206861732063616e63656c6564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e6469646174657320616e6420776173206164646564206261636b20746f207468652063616e64696461746520706f6f6c2e205c5b636f6c6c61746f722773246163636f756e745c5d3443616e6469646174654c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000808cc416e206163636f756e7420686173206c6566742074686520736574206f6620636f6c6c61746f722063616e646964617465732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d3c436f6c6c61746f7252656d6f7665640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000908e4416e206163636f756e742077617320666f726365646c792072656d6f7665642066726f6d207468652020736574206f6620636f6c6c61746f72c863616e646964617465732e205c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d604d617843616e6469646174655374616b654368616e676564040018013042616c616e63654f663c543e000a08b4546865206d6178696d756d2063616e646964617465207374616b6520686173206265656e206368616e6765642e485c5b6e6577206d617820616d6f756e745c5d4c44656c656761746f725374616b65644d6f72651000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000b0cf0412064656c656761746f722068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d4c44656c656761746f725374616b65644c6573731000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000c0cf0412064656c656761746f7220686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d3444656c656761746f724c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000d08a8416e206163636f756e7420686173206c6566742074686520736574206f662064656c656761746f72732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d2844656c65676174696f6e1000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000e0cc8416e206163636f756e74206861732064656c6567617465642061206e657720636f6c6c61746f722063616e6469646174652e11015c5b6163636f756e742c20616d6f756e74206f662066756e6473207374616b65642c20746f74616c20616d6f756e74206f662064656c656761746f7273272066756e64738c7374616b656420666f722074686520636f6c6c61746f722063616e6469646174655c5d4844656c65676174696f6e5265706c616365641800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000f180d0141206e65772064656c65676174696f6e20686173207265706c6163656420616e206578697374696e67206f6e6520696e2074686520736574206f66206f6e676f696e67010164656c65676174696f6e7320666f72206120636f6c6c61746f722063616e6469646174652e205c5b6e65772064656c656761746f722773206163636f756e742c0901616d6f756e74206f662066756e6473207374616b656420696e20746865206e65772064656c65676174696f6e2c207265706c616365642064656c656761746f7227730d016163636f756e742c20616d6f756e74206f662066756e6473207374616b656420696e20746865207265706c6163652064656c65676174696f6e2c20636f6c6c61746f72050163616e6469646174652773206163636f756e742c206e657720746f74616c20616d6f756e74206f662064656c656761746f7273272066756e6473207374616b656470666f722074686520636f6c6c61746f722063616e6469646174655c5d5444656c656761746f724c656674436f6c6c61746f721000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00100cdc416e206163636f756e74206861732073746f707065642064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e09015c5b6163636f756e742c20636f6c6c61746f722063616e6469646174652773206163636f756e742c206f6c6420616d6f756e74206f662064656c656761746f727327d866756e6473207374616b65642c206e657720616d6f756e74206f662064656c656761746f7273272066756e6473207374616b65645c5d2052657761726465640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e001108c04120636f6c6c61746f72206f7220612064656c656761746f72206861732072656365697665642061207265776172642e745c5b6163636f756e742c20616d6f756e74206f66207265776172645c5d44526f756e64496e666c6174696f6e53657410008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00120c0501496e666c6174696f6e20636f6e66696775726174696f6e20666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e09015c5b6d6178696d756d20636f6c6c61746f722773207374616b696e6720726174652c206d6178696d756d20636f6c6c61746f7227732072657761726420726174652c0d016d6178696d756d2064656c656761746f722773207374616b696e6720726174652c206d6178696d756d2064656c656761746f7227732072657761726420726174655c5d604d617853656c656374656443616e6469646174657353657408001c010c75333200001c010c753332001308f0546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c656374656420696e20667574757265dc76616c69646174696f6e20726f756e647320686173206368616e6765642e205c5b6f6c642076616c75652c206e65772076616c75655c5d44426c6f636b73506572526f756e6453657410001c013053657373696f6e496e6465780000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d62657200140cf8546865206c656e67746820696e20626c6f636b7320666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e01015c5b726f756e64206e756d6265722c20666972737420626c6f636b20696e207468652063757272656e7420726f756e642c206f6c642076616c75652c206e65771c76616c75655c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909098c0c3473705f61726974686d65746963287065725f7468696e67732c5065727175696e74696c6c0000040010010c7536340000900c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001442050726f706f73656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e6465781c013c5265666572656e64756d496e6465780001247468726573686f6c64940134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e6465781c013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000704dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000804e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011048323536000114756e74696c100138543a3a426c6f636b4e756d62657200090494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e2c426c61636b6c697374656404013470726f706f73616c5f686173682c011048323536000a04c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e6465781c013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e000b0490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e6465781c012450726f70496e646578000c048c416e206163636f756e742068617320736563636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e6465781c012450726f70496e646578000d0460412070726f706f73616c20676f742063616e63656c65642e2c4d657461646174615365740801146f776e6572a001344d657461646174614f776e6572043c4d65746164617461206f776e65722e0110686173682c0130507265696d616765486173680438507265696d61676520686173682e0e04d44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e207365742e3c4d65746164617461436c65617265640801146f776e6572a001344d657461646174614f776e6572043c4d65746164617461206f776e65722e0110686173682c0130507265696d616765486173680438507265696d61676520686173682e0f04e44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e20636c65617265642e4c4d657461646174615472616e736665727265640c0128707265765f6f776e6572a001344d657461646174614f776e6572046050726576696f7573206d65746164617461206f776e65722e01146f776e6572a001344d657461646174614f776e6572044c4e6577206d65746164617461206f776e65722e0110686173682c0130507265696d616765486173680438507265696d61676520686173682e1004ac4d6574616461746120686173206265656e207472616e7366657272656420746f206e6577206f776e65722e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909940c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f7269747900020000980c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f74659c0110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e6365000100009c0c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000a00c4070616c6c65745f64656d6f6372616379147479706573344d657461646174614f776e657200010c2045787465726e616c0000002050726f706f73616c04001c012450726f70496e646578000100285265666572656e64756d04001c013c5265666572656e64756d496e64657800020000a40c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a80110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74ac01384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74ac01384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a80000050000ac0418526573756c7408045401b0044501600108084f6b0400b0000000000c4572720400600000010000b00000040000b40c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a80110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74ac01384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74ac01384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b80c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909bc0c3c70616c6c65745f74726561737572791870616c6c6574144576656e740804540004490001242050726f706f73656404013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640007049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000804cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c00c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e6465781c010c7533320001146572726f7260013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7260013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c74ac01384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c40c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c80c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000118245363686564756c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736bcc016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964d001404f7074696f6e3c5461736b4e616d653e000118726573756c74ac01384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736bcc016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964d001404f7074696f6e3c5461736b4e616d653e00030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736bcc016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964d001404f7074696f6e3c5461736b4e616d653e0004043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e545065726d616e656e746c794f7665727765696768740801107461736bcc016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964d001404f7074696f6e3c5461736b4e616d653e000504f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652ecc00000408101c00d004184f7074696f6e04045401040108104e6f6e6500000010536f6d650400040000010000d40c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c74ac01384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065d80130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578dc010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f686173682c013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200040450412070726f7879207761732072656d6f7665642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909d808447370697269746e65745f72756e74696d652450726f7879547970650001180c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002004050617261636861696e5374616b696e670003002c43616e63656c50726f7879000400484e6f6e4465706f736974436c61696d696e6700050000dc0000050400e00c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f746564040110686173682c011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e24526571756573746564040110686173682c011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c6561726564040110686173682c011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e40c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e80c2c70616c6c65745f746970731870616c6c6574144576656e74080454000449000114184e65775469700401207469705f686173682c011c543a3a486173680000049441206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e670401207469705f686173682c011c543a3a48617368000104d841207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c01207469705f686173682c011c543a3a4861736800010c77686f000130543a3a4163636f756e7449640001187061796f757418013c42616c616e63654f663c542c20493e0002048441207469702073756767657374696f6e20686173206265656e20636c6f7365642e305469705265747261637465640401207469705f686173682c011c543a3a486173680003049041207469702073756767657374696f6e20686173206265656e207265747261637465642e28546970536c61736865640c01207469705f686173682c011c543a3a4861736800011866696e646572000130543a3a4163636f756e74496400011c6465706f73697418013c42616c616e63654f663c542c20493e0004048841207469702073756767657374696f6e20686173206265656e20736c61736865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909ec0c3c70616c6c65745f6d756c74697369671870616c6c6574144576656e740404540001102c4e65774d756c74697369670c0124617070726f76696e67000130543a3a4163636f756e7449640001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c486173680000048c41206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e404d756c7469736967417070726f76616c100124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e74f0016454696d65706f696e743c543a3a426c6f636b4e756d6265723e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000104c841206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e404d756c74697369674578656375746564140124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e74f0016454696d65706f696e743c543a3a426c6f636b4e756d6265723e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000118726573756c74ac01384469737061746368526573756c740002049c41206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e444d756c746973696743616e63656c6c656410012863616e63656c6c696e67000130543a3a4163636f756e74496400012474696d65706f696e74f0016454696d65706f696e743c543a3a426c6f636b4e756d6265723e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000304a041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909f0083c70616c6c65745f6d756c74697369672454696d65706f696e74042c426c6f636b4e756d62657201100008011868656967687410012c426c6f636b4e756d626572000114696e6465781c010c7533320000f40c1463747970651870616c6c6574144576656e74040454000108304354797065437265617465640800000144437479706543726561746f724f663c543e00002c01384374797065486173684f663c543e0000087441206e657720435479706520686173206265656e20637265617465642e885c5b63726561746f72206964656e7469666965722c20435479706520686173685c5d3043547970655570646174656404002c01384374797065486173684f663c543e000108ac496e666f726d6174696f6e2061626f7574206120435479706520686173206265656e20757064617465642e385c5b435479706520686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909f80c2c6174746573746174696f6e1870616c6c6574144576656e74040454000110484174746573746174696f6e43726561746564100000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00002c01384374797065486173684f663c543e0000fc01704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e0000088c41206e6577206174746573746174696f6e20686173206265656e20637265617465642e05015c5b61747465737465722049442c20636c61696d20686173682c20435479706520686173682c20286f7074696f6e616c292064656c65676174696f6e2049445c5d484174746573746174696f6e5265766f6b6564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00010880416e206174746573746174696f6e20686173206265656e207265766f6b65642e685c5b6163636f756e742069642c20636c61696d20686173685c5d484174746573746174696f6e52656d6f766564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00020880416e206174746573746174696f6e20686173206265656e2072656d6f7665642e685c5b6163636f756e742069642c20636c61696d20686173685c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c0138436c61696d486173684f663c543e0003080501546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e2e685c5b6163636f756e742069642c20636c61696d20686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909fc04184f7074696f6e0404540101010108104e6f6e6500000010536f6d6504000101000001000001010c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c417574686f72697a6174696f6e4964043044656c65676174696f6e4964012c01042844656c65676174696f6e04002c013044656c65676174696f6e49640000000005010c2864656c65676174696f6e1870616c6c6574144576656e7404045400011c40486965726172636879437265617465640c0000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c01384374797065486173684f663c543e0000088441206e65772068696572617263687920686173206265656e20637265617465642ea05c5b63726561746f722049442c20726f6f74206e6f64652049442c20435459504520686173685c5d404869657261726368795265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00010874412068696572617263687920686173206265656e207265766f6b65642e705c5b7265766f6b65722049442c20726f6f74206e6f64652049445c5d4048696572617263687952656d6f766564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000208dc412068696572617263687920686173206265656e2072656d6f7665642066726f6d207468652073746f72616765206f6e20636861696e2e705c5b72656d6f7665722049442c20726f6f74206e6f64652049445c5d4444656c65676174696f6e43726561746564180000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000000014044656c656761746f7249644f663c543e00000901012c5065726d697373696f6e7300030c8841206e65772064656c65676174696f6e20686173206265656e20637265617465642efc5c5b63726561746f722049442c20726f6f74206e6f64652049442c2064656c65676174696f6e206e6f64652049442c20706172656e74206e6f64652049442c6864656c65676174652049442c207065726d697373696f6e735c5d4444656c65676174696f6e5265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00040878412064656c65676174696f6e20686173206265656e207265766f6b65642e885c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d4444656c65676174696f6e52656d6f76656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00050878412064656c65676174696f6e20686173206265656e2072656d6f7665642e885c5b72656d6f7665722049442c2064656c65676174696f6e206e6f64652049445c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000608f8546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720612064656c65676174696f6eac737562747265652e205c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090909010c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368792c5065726d697373696f6e730000040110626974731c010c75333200000d010c0c6469641870616c6c6574144576656e74040454000110284469644372656174656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e0000086c41206e65772044494420686173206265656e20637265617465642e985c5b7472616e73616374696f6e207369676e65722c20444944206964656e7469666965725c5d284469645570646174656404000001484469644964656e7469666965724f663c543e0001085c412044494420686173206265656e20757064617465642e485c5b444944206964656e7469666965725c5d2844696444656c6574656404000001484469644964656e7469666965724f663c543e0002085c412044494420686173206265656e2064656c657465642e485c5b444944206964656e7469666965725c5d4444696443616c6c4469737061746368656408000001484469644964656e7469666965724f663c543e0000ac01384469737061746368526573756c74000308a041204449442d617574686f72697365642063616c6c20686173206265656e2065786563757465642e7c5c5b4449442063616c6c65722c20646973706174636820726573756c745c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090911010c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144576656e74040454000110584173736f63696174696f6e45737461626c69736865640800150101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000004f841206e6577206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e742049442077617320637265617465642e484173736f63696174696f6e52656d6f7665640800150101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000104ec416e206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e74204944207761732072656d6f7665642e444d6967726174696f6e50726f6772657373000204c454686572652077617320736f6d652070726f677265737320696e20746865206d6967726174696f6e2070726f636573732e484d6967726174696f6e436f6d706c65746564000304dc416c6c204163636f756e744964732068617665206265656e206d6967726174656420746f204c696e6b61626c654163636f756e7449642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090915010c4470616c6c65745f6469645f6c6f6f6b7570406c696e6b61626c655f6163636f756e74444c696e6b61626c654163636f756e7449640001082c4163636f756e744964323004001901012c4163636f756e74496432300000002c4163636f756e7449643332040000012c4163636f756e74496433320001000019010c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e742c4163636f756e7449643230000004001d0101205b75383b2032305d00001d0100000314000000080021010c4470616c6c65745f776562335f6e616d65731870616c6c6574144576656e740404540001103c576562334e616d65436c61696d65640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6525010134576562334e616d654f663c543e0000047041206e6577206e616d6520686173206265656e20636c61696d65642e40576562334e616d6552656c65617365640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6525010134576562334e616d654f663c543e0001046441206e616d6520686173206265656e2072656c65617365642e38576562334e616d6542616e6e65640401106e616d6525010134576562334e616d654f663c543e0002045c41206e616d6520686173206265656e2062616e6e65642e40576562334e616d65556e62616e6e65640401106e616d6525010134576562334e616d654f663c543e0003046441206e616d6520686173206265656e20756e62616e6e65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090925010c4470616c6c65745f776562335f6e616d657324776562335f6e616d65344173636969576562334e616d650404540000040029010180426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e000029010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00002d010c487075626c69635f63726564656e7469616c731870616c6c6574144576656e740404540001104043726564656e7469616c53746f7265640801287375626a6563745f696431010130543a3a5375626a65637449640488546865207375626a656374206f6620746865206e65772063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0474546865206964206f6620746865206e65772063726564656e7469616c2e0004a041206e6577207075626c69632063726564656e7469616c20686173206265656e206973737565642e4443726564656e7469616c52656d6f7665640801287375626a6563745f696431010130543a3a5375626a65637449640498546865207375626a656374206f66207468652072656d6f7665642063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f66207468652072656d6f7665642063726564656e7469616c2e01049841207075626c69632063726564656e7469616c7320686173206265656e2072656d6f7665642e4443726564656e7469616c5265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f6620746865207265766f6b65642063726564656e7469616c2e02049441207075626c69632063726564656e7469616c20686173206265656e207265766f6b65642e4c43726564656e7469616c556e7265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e048c546865206964206f662074686520756e7265766f6b65642063726564656e7469616c2e03049c41207075626c69632063726564656e7469616c20686173206265656e20756e7265766f6b65642e0490546865206576656e74732067656e65726174656420627920746869732070616c6c65742e31010c3872756e74696d655f636f6d6d6f6e18617373657473204173736574446964000004003501013c41737365744964656e746966696572000035010c3c6b696c745f61737365745f646964730876312041737365744469640000080120636861696e5f69643901011c436861696e496400012061737365745f69646101011c4173736574496400003901103c6b696c745f61737365745f6469647314636861696e0876311c436861696e49640001141845697031353504003d01013c4569703135355265666572656e63650000001842697031323204004101016447656e657369734865784861736833325265666572656e63650001001c446f7473616d6104004101016447656e657369734865784861736833325265666572656e636500020018536f6c616e6104004901017047656e657369734261736535384861736833325265666572656e63650003001c47656e6572696304005101013847656e65726963436861696e4964000400003d01103c6b696c745f61737365745f6469647314636861696e0876313c4569703135355265666572656e6365000004001801107531323800004101103c6b696c745f61737365745f6469647314636861696e0876316447656e657369734865784861736833325265666572656e636500000400450101205b75383b2031365d000045010000031000000008004901103c6b696c745f61737365745f6469647314636861696e0876317047656e657369734261736535384861736833325265666572656e6365000004004d010170426f756e6465645665633c75382c20436f6e73745533323c33323e3e00004d010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00005101103c6b696c745f61737365745f6469647314636861696e0876313847656e65726963436861696e496400000801246e616d6573706163655501015447656e65726963436861696e4e616d6573706163650001247265666572656e63655d01015447656e65726963436861696e5265666572656e636500005501103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e4e616d65737061636500000400590101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f434841494e5f4e414d4553504143455f4c454e4754485f5533323e3e000059010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00005d01103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e5265666572656e6365000004004d0101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f434841494e5f5245464552454e43455f4c454e4754485f5533323e3e00006101103c6b696c745f61737365745f646964731461737365740876311c4173736574496400011418536c6970343404006501013c536c697034345265666572656e636500000014457263323004007101018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650001001845726337323104007501019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650002001c4572633131353504007501019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650003001c47656e6572696304008501013847656e6572696341737365744964000400006501103c6b696c745f61737365745f646964731461737365740876313c536c697034345265666572656e636500000400690101105532353600006901083c7072696d69746976655f74797065731055323536000004006d0101205b7536343b20345d00006d010000030400000010007101103c6b696c745f61737365745f646964731461737365740876318445766d536d617274436f6e747261637446756e6769626c655265666572656e6365000004001d0101205b75383b2032305d00007501103c6b696c745f61737365745f646964731461737365740876319045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e6365000008007101018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650000790101b44f7074696f6e3c45766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e7469666965723e0000790104184f7074696f6e040454017d010108104e6f6e6500000010536f6d6504007d0100000100007d01103c6b696c745f61737365745f646964731461737365740876319445766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e74696669657200000400810101f4426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4944454e5449464945525f4c454e4754485f5533323e3e000081010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00008501103c6b696c745f61737365745f646964731461737365740876313847656e657269634173736574496400000c01246e616d6573706163658901015447656e6572696341737365744e616d6573706163650001247265666572656e63658d01015447656e6572696341737365745265666572656e63650001086964950101784f7074696f6e3c47656e6572696341737365744964656e7469666965723e00008901103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365744e616d65737061636500000400590101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4e414d4553504143455f4c454e4754485f5533323e3e00008d01103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365745265666572656e636500000400910101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f5245464552454e43455f4c454e4754485f5533323e3e000091010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000950104184f7074696f6e0404540199010108104e6f6e6500000010536f6d650400990100000100009901103c6b696c745f61737365745f646964731461737365740876315847656e6572696341737365744964656e74696669657200000400810101f4426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4944454e5449464945525f4c454e4754485f5533323e3e00009d010c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144576656e7404045400011c6056616c69646174696f6e46756e6374696f6e53746f726564000004d05468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e6456616c69646174696f6e46756e6374696f6e4170706c69656404015472656c61795f636861696e5f626c6f636b5f6e756d1c015452656c6179436861696e426c6f636b4e756d62657200010445015468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e6c56616c69646174696f6e46756e6374696f6e446973636172646564000204b05468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e4455706772616465417574686f72697a6564040124636f64655f686173682c011c543a3a486173680003047c416e207570677261646520686173206265656e20617574686f72697a65642e60446f776e776172644d657373616765735265636569766564040114636f756e741c010c7533320004040101536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e64446f776e776172644d6573736167657350726f63657373656408012c7765696768745f75736564240118576569676874000120646d715f686561642c014472656c61795f636861696e3a3a48617368000504e0446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e445570776172644d65737361676553656e740401306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e000604b8416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a1010c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144576656e7404045400011c1c537563636573730801306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e00011877656967687424011857656967687400000464536f6d652058434d20776173206578656375746564206f6b2e104661696c0c01306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e0001146572726f72a501012058636d4572726f7200011877656967687424011857656967687400010440536f6d652058434d206661696c65642e2842616456657273696f6e0401306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e000204544261642058434d2076657273696f6e20757365642e24426164466f726d61740401306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e000304504261642058434d20666f726d617420757365642e3c58636d704d65737361676553656e740401306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e000404c0416e2048524d50206d657373616765207761732073656e7420746f2061207369626c696e672070617261636861696e2e484f766572776569676874456e71756575656410011873656e646572a901011850617261496400011c73656e745f61741c014052656c6179426c6f636b4e756d626572000114696e64657810013c4f766572776569676874496e6465780001207265717569726564240118576569676874000504d4416e2058434d2065786365656465642074686520696e646976696475616c206d65737361676520776569676874206275646765742e484f7665727765696768745365727669636564080114696e64657810013c4f766572776569676874496e646578000110757365642401185765696768740006044101416e2058434d2066726f6d20746865206f7665727765696768742071756575652077617320657865637574656420776974682074686520676976656e2061637475616c2077656967687420757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a501100c78636d08763318747261697473144572726f720001a0204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300304c6f636174696f6e46756c6c000400544c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c753634001500404578706563746174696f6e46616c73650016003850616c6c65744e6f74466f756e64001700304e616d654d69736d617463680018004c56657273696f6e496e636f6d70617469626c6500190050486f6c64696e67576f756c644f766572666c6f77001a002c4578706f72744572726f72001b00385265616e63686f724661696c6564001c00184e6f4465616c001d0028466565734e6f744d6574001e00244c6f636b4572726f72001f00304e6f5065726d697373696f6e00200028556e616e63686f726564002100384e6f744465706f73697461626c650022004c556e68616e646c656458636d56657273696f6e002300485765696768744c696d69745265616368656404002401185765696768740024001c426172726965720025004c5765696768744e6f74436f6d70757461626c650026004445786365656473537461636b4c696d697400270000a9010c48706f6c6b61646f745f70617261636861696e287072696d697469766573084964000004001c010c7533320000ad010c2870616c6c65745f78636d1870616c6c6574144576656e7404045400015c24417474656d707465640400b101015078636d3a3a6c61746573743a3a4f7574636f6d6500000ca8457865637574696f6e206f6620616e2058434d206d6573736167652077617320617474656d707465642e00345c5b206f7574636f6d65205c5d1053656e740c00b50101344d756c74694c6f636174696f6e0000b50101344d756c74694c6f636174696f6e0000d901011c58636d3c28293e00010c5c412058434d206d657373616765207761732073656e742e00885c5b206f726967696e2c2064657374696e6174696f6e2c206d657373616765205c5d48556e6578706563746564526573706f6e73650800b50101344d756c74694c6f636174696f6e000010011c517565727949640002145901517565727920726573706f6e736520726563656976656420776869636820646f6573206e6f74206d61746368206120726567697374657265642071756572792e2054686973206d61792062652062656361757365206155016d61746368696e6720717565727920776173206e6576657220726567697374657265642c206974206d617920626520626563617573652069742069732061206475706c696361746520726573706f6e73652c206f727062656361757365207468652071756572792074696d6564206f75742e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e73655265616479080010011c51756572794964000001020120526573706f6e73650003105d01517565727920726573706f6e736520686173206265656e20726563656976656420616e6420697320726561647920666f722074616b696e672077697468206074616b655f726573706f6e7365602e205468657265206973806e6f2072656769737465726564206e6f74696669636174696f6e2063616c6c2e00485c5b2069642c20726573706f6e7365205c5d204e6f7469666965640c0010011c5175657279496400000801087538000008010875380004105901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20686173a86265656e206469737061746368656420616e64206578656375746564207375636365737366756c6c792e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d404e6f746966794f766572776569676874140010011c517565727949640000080108753800000801087538000024011857656967687400002401185765696768740005146101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20636f756c6441016e6f742062652064697370617463686564206265636175736520746865206469737061746368207765696768742069732067726561746572207468616e20746865206d6178696d756d20776569676874e46f726967696e616c6c7920627564676574656420627920746869732072756e74696d6520666f722074686520717565727920726573756c742e0019015c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e6465782c2061637475616c207765696768742c206d617820627564676574656420776569676874205c5d4c4e6f7469667944697370617463684572726f720c0010011c5175657279496400000801087538000008010875380006105501517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e2054686572652077617320612067656e6572616c206572726f722077697468886469737061746368696e6720746865206e6f74696669636174696f6e2063616c6c2e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d484e6f746966794465636f64654661696c65640c0010011c5175657279496400000801087538000008010875380007145101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652064697370617463682077617320756e61626c6520746f20626559016465636f64656420696e746f2061206043616c6c603b2074686973206d696768742062652064756520746f2064697370617463682066756e6374696f6e20686176696e672061207369676e6174757265207768696368946973206e6f742060286f726967696e2c20517565727949642c20526573706f6e736529602e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d40496e76616c6964526573706f6e6465720c00b50101344d756c74694c6f636174696f6e000010011c517565727949640000250201544f7074696f6e3c4d756c74694c6f636174696f6e3e0008145901457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206f726967696e206c6f636174696f6e206f662074686520726573706f6e736520646f657355016e6f74206d6174636820746861742065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e00b05c5b206f726967696e206c6f636174696f6e2c2069642c206578706563746564206c6f636174696f6e205c5d5c496e76616c6964526573706f6e64657256657273696f6e0800b50101344d756c74694c6f636174696f6e000010011c517565727949640009245101457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206578706563746564206f726967696e206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e736554616b656e040010011c51756572794964000a0cc8526563656976656420717565727920726573706f6e736520686173206265656e207265616420616e642072656d6f7665642e00205c5b206964205c5d34417373657473547261707065640c002c0110483235360000b50101344d756c74694c6f636174696f6e00004502015056657273696f6e65644d756c7469417373657473000b0cb8536f6d65206173736574732068617665206265656e20706c6163656420696e20616e20617373657420747261702e00685c5b20686173682c206f726967696e2c20617373657473205c5d5456657273696f6e4368616e67654e6f7469666965640c00b50101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e0000e501012c4d756c7469417373657473000c142501416e2058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e206d65737361676520686173206265656e20617474656d7074656420746f2062652073656e742e00e054686520636f7374206f662073656e64696e672069742028626f726e652062792074686520636861696e2920697320696e636c756465642e007c5c5b2064657374696e6174696f6e2c20726573756c742c20636f7374205c5d5c537570706f7274656456657273696f6e4368616e6765640800b50101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e000d10390154686520737570706f727465642076657273696f6e206f662061206c6f636174696f6e20686173206265656e206368616e6765642e2054686973206d69676874206265207468726f75676820616ec06175746f6d61746963206e6f74696669636174696f6e206f722061206d616e75616c20696e74657276656e74696f6e2e006c5c5b206c6f636174696f6e2c2058434d2076657273696f6e205c5d504e6f7469667954617267657453656e644661696c0c00b50101344d756c74694c6f636174696f6e000010011c517565727949640000a501012058636d4572726f72000e1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f727c73656e64696e6720746865206e6f74696669636174696f6e20746f2069742e007c5c5b206c6f636174696f6e2c2071756572792049442c206572726f72205c5d644e6f746966795461726765744d6967726174696f6e4661696c08007d02015856657273696f6e65644d756c74694c6f636174696f6e000010011c51756572794964000f1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f72b46d6967726174696e6720746865206c6f636174696f6e20746f206f7572206e65772058434d20666f726d61742e00605c5b206c6f636174696f6e2c207175657279204944205c5d54496e76616c69645175657269657256657273696f6e0800b50101344d756c74694c6f636174696f6e000010011c517565727949640010245501457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652065787065637465642071756572696572206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d38496e76616c6964517565726965721000b50101344d756c74694c6f636174696f6e000010011c517565727949640000b50101344d756c74694c6f636174696f6e0000250201544f7074696f6e3c4d756c74694c6f636174696f6e3e0011145d01457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652071756572696572206c6f636174696f6e206f662074686520726573706f6e736520646f657351016e6f74206d61746368207468652065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e0005015c5b206f726967696e206c6f636174696f6e2c2069642c20657870656374656420717565726965722c206d617962652061637475616c2071756572696572205c5d5056657273696f6e4e6f74696679537461727465640800b50101344d756c74694c6f636174696f6e0000e501012c4d756c74694173736574730012105901412072656d6f746520686173207265717565737465642058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e2066726f6d20757320616e64207765206861766520686f6e6f7265642069742e1d01412076657273696f6e20696e666f726d6174696f6e206d6573736167652069732073656e7420746f207468656d20616e642069747320636f737420697320696e636c756465642e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d5856657273696f6e4e6f746966795265717565737465640800b50101344d756c74694c6f636174696f6e0000e501012c4d756c746941737365747300130c41015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073656e64732075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d6056657273696f6e4e6f74696679556e7265717565737465640800b50101344d756c74694c6f636174696f6e0000e501012c4d756c746941737365747300140c61015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073746f70732073656e64696e672075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d2046656573506169640800b50101344d756c74694c6f636174696f6e0000e501012c4d756c746941737365747300150c310146656573207765726520706169642066726f6d2061206c6f636174696f6e20666f7220616e206f7065726174696f6e20286f6674656e20666f72207573696e67206053656e6458636d60292e006c5c5b20706179696e67206c6f636174696f6e2c2066656573205c5d34417373657473436c61696d65640c002c0110483235360000b50101344d756c74694c6f636174696f6e00004502015056657273696f6e65644d756c746941737365747300160cc0536f6d65206173736574732068617665206265656e20636c61696d65642066726f6d20616e206173736574207472617000685c5b20686173682c206f726967696e2c20617373657473205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b101100c78636d087633187472616974731c4f7574636f6d6500010c20436f6d706c657465040024011857656967687400000028496e636f6d706c65746508002401185765696768740000a50101144572726f72000100144572726f720400a50101144572726f7200020000b501100c78636d087633346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72b90101244a756e6374696f6e730000b901100c78636d087633246a756e6374696f6e73244a756e6374696f6e7300012410486572650000000858310400bd0101204a756e6374696f6e0001000858320800bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0002000858330c00bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0003000858341000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0004000858351400bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0005000858361800bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0006000858371c00bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0007000858382000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e00080000bd01100c78636d087633206a756e6374696f6e204a756e6374696f6e0001282450617261636861696e0400c101010c7533320000002c4163636f756e744964333208011c6e6574776f726bc50101444f7074696f6e3c4e6574776f726b49643e00010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726bc50101444f7074696f6e3c4e6574776f726b49643e000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726bc50101444f7074696f6e3c4e6574776f726b49643e00010c6b65791d0101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400cd010110753132380005002847656e6572616c4b65790801186c656e6774680801087538000110646174610401205b75383b2033325d000600244f6e6c794368696c6400070024506c7572616c6974790801086964d1010118426f6479496400011070617274d5010120426f6479506172740008003c476c6f62616c436f6e73656e7375730400c90101244e6574776f726b496400090000c1010000061c00c50104184f7074696f6e04045401c9010108104e6f6e6500000010536f6d650400c9010000010000c901100c78636d087633206a756e6374696f6e244e6574776f726b496400012824427947656e6573697304000401205b75383b2033325d000000184279466f726b080130626c6f636b5f6e756d62657210010c753634000128626c6f636b5f686173680401205b75383b2033325d00010020506f6c6b61646f74000200184b7573616d610003001c57657374656e6400040018526f636f636f00050018576f636f636f00060020457468657265756d040120636861696e5f696428010c7536340007002c426974636f696e436f72650008002c426974636f696e4361736800090000cd010000061800d101100c78636d087633206a756e6374696f6e18426f6479496400012810556e69740000001c4d6f6e696b6572040040011c5b75383b20345d00010014496e6465780400c101010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e00080020547265617375727900090000d501100c78636d087633206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74c101010c753332000100204672616374696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c75333200040000d9010c0c78636d0876330c58636d041043616c6c00000400dd0101585665633c496e737472756374696f6e3c43616c6c3e3e0000dd01000002e10100e1010c0c78636d0876332c496e737472756374696f6e041043616c6c0001c034576974686472617741737365740400e501012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400e501012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400e501012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f696428011c51756572794964000120726573706f6e736501020120526573706f6e73650001286d61785f77656967687424011857656967687400011c71756572696572250201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e736665724173736574080118617373657473e501012c4d756c746941737365747300012c62656e6566696369617279b50101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473e501012c4d756c746941737365747300011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64290201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737424011857656967687400011063616c6c2d02014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572c101010c7533320001406d61785f6d6573736167655f73697a65c101010c7533320001306d61785f6361706163697479c101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74c101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72c101010c75333200011873656e646572c101010c753332000124726563697069656e74c101010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400b9010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720400310201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473350201404d756c7469417373657446696c74657200012c62656e6566696369617279b50101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473350201404d756c7469417373657446696c74657200011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000e003445786368616e676541737365740c011067697665350201404d756c7469417373657446696c74657200011077616e74e501012c4d756c746941737365747300011c6d6178696d616ca80110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473350201404d756c7469417373657446696c74657200011c72657365727665b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473350201404d756c7469417373657446696c74657200011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f310201445175657279526573706f6e7365496e666f000118617373657473350201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573ed0101284d756c746941737365740001307765696768745f6c696d69744102012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400d901012458636d3c43616c6c3e0015002c536574417070656e6469780400d901012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473e501012c4d756c74694173736574730001187469636b6574b50101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f776569676874240118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e41737365740400e501012c4d756c7469417373657473001c002c45787065637441737365740400e501012c4d756c7469417373657473001d00304578706563744f726967696e0400250201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400050201504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e7361637453746174757304001d0201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6530011c5665633c75383e000134726573706f6e73655f696e666f310201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578c101010c7533320001106e616d6530011c5665633c75383e00012c6d6f64756c655f6e616d6530011c5665633c75383e00012c63726174655f6d616a6f72c101010c75333200013c6d696e5f63726174655f6d696e6f72c101010c753332002200505265706f72745472616e736163745374617475730400310201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400bd0101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726bc90101244e6574776f726b496400012c64657374696e6174696f6eb9010154496e746572696f724d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e002600244c6f636b41737365740801146173736574ed0101284d756c74694173736574000120756e6c6f636b6572b50101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574ed0101284d756c74694173736574000118746172676574b50101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574ed0101284d756c746941737365740001146f776e6572b50101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574ed0101284d756c746941737365740001186c6f636b6572b50101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177a80110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400b50101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69744102012c5765696768744c696d6974000130636865636b5f6f726967696e250201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f0000e501100c78636d087633286d756c746961737365742c4d756c746941737365747300000400e901013c5665633c4d756c746941737365743e0000e901000002ed0100ed01100c78636d087633286d756c74696173736574284d756c7469417373657400000801086964f101011c4173736574496400010c66756ef501012c46756e676962696c6974790000f101100c78636d087633286d756c746961737365741c4173736574496400010820436f6e63726574650400b50101344d756c74694c6f636174696f6e00000020416273747261637404000401205b75383b2033325d00010000f501100c78636d087633286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400cd010110753132380000002c4e6f6e46756e6769626c650400f90101344173736574496e7374616e636500010000f901100c78636d087633286d756c74696173736574344173736574496e7374616e636500011824556e646566696e656400000014496e6465780400cd0101107531323800010018417272617934040040011c5b75383b20345d000200184172726179380400fd01011c5b75383b20385d0003001c417272617931360400450101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050000fd0100000308000000080001020c0c78636d08763320526573706f6e7365000118104e756c6c000000184173736574730400e501012c4d756c74694173736574730001003c457865637574696f6e526573756c740400050201504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e04001c013873757065723a3a56657273696f6e0003002c50616c6c657473496e666f04000d020198426f756e6465645665633c50616c6c6574496e666f2c204d617850616c6c657473496e666f3e000400384469737061746368526573756c7404001d0201384d617962654572726f72436f646500050000050204184f7074696f6e0404540109020108104e6f6e6500000010536f6d650400090200000100000902000004081ca501000d020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011102045300000400190201185665633c543e000011020c0c78636d0876332850616c6c6574496e666f0000180114696e646578c101010c7533320001106e616d6515020180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e00012c6d6f64756c655f6e616d6515020180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e0001146d616a6f72c101010c7533320001146d696e6f72c101010c7533320001147061746368c101010c753332000015020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000019020000021102001d020c0c78636d087633384d617962654572726f72436f646500010c1c53756363657373000000144572726f7204002102018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e000100385472756e63617465644572726f7204002102018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e0002000021020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000250204184f7074696f6e04045401b5010108104e6f6e6500000010536f6d650400b501000001000029020c0c78636d087632284f726967696e4b696e64000110184e617469766500000040536f7665726569676e4163636f756e74000100245375706572757365720002000c58636d000300002d020c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e000031020c0c78636d087633445175657279526573706f6e7365496e666f00000c012c64657374696e6174696f6eb50101344d756c74694c6f636174696f6e00012071756572795f696428011c517565727949640001286d61785f77656967687424011857656967687400003502100c78636d087633286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e6974650400e501012c4d756c74694173736574730000001057696c6404003902013857696c644d756c74694173736574000100003902100c78636d087633286d756c746961737365743857696c644d756c746941737365740001100c416c6c00000014416c6c4f660801086964f101011c4173736574496400010c66756e3d02013c57696c6446756e676962696c69747900010028416c6c436f756e7465640400c101010c75333200020030416c6c4f66436f756e7465640c01086964f101011c4173736574496400010c66756e3d02013c57696c6446756e676962696c697479000114636f756e74c101010c753332000300003d02100c78636d087633286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c650001000041020c0c78636d0876332c5765696768744c696d697400010824556e6c696d697465640000001c4c696d697465640400240118576569676874000100004502080c78636d5056657273696f6e65644d756c746941737365747300010808563204004902013c76323a3a4d756c74694173736574730001000856330400e501013c76333a3a4d756c7469417373657473000300004902100c78636d087632286d756c746961737365742c4d756c7469417373657473000004004d02013c5665633c4d756c746941737365743e00004d020000025102005102100c78636d087632286d756c74696173736574284d756c74694173736574000008010869645502011c4173736574496400010c66756e7502012c46756e676962696c69747900005502100c78636d087632286d756c746961737365741c4173736574496400010820436f6e63726574650400590201344d756c74694c6f636174696f6e000000204162737472616374040030011c5665633c75383e000100005902100c78636d087632346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f725d0201244a756e6374696f6e7300005d02100c78636d087632346d756c74696c6f636174696f6e244a756e6374696f6e7300012410486572650000000858310400610201204a756e6374696f6e0001000858320800610201204a756e6374696f6e0000610201204a756e6374696f6e0002000858330c00610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0003000858341000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0004000858351400610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0005000858361800610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0006000858371c00610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0007000858382000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e000800006102100c78636d087632206a756e6374696f6e204a756e6374696f6e0001242450617261636861696e0400c101010c7533320000002c4163636f756e744964333208011c6e6574776f726b650201244e6574776f726b496400010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726b650201244e6574776f726b4964000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726b650201244e6574776f726b496400010c6b65791d0101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400cd010110753132380005002847656e6572616c4b65790400690201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000600244f6e6c794368696c6400070024506c7572616c69747908010869646d020118426f647949640001107061727471020120426f6479506172740008000065020c0c78636d087632244e6574776f726b49640001100c416e79000000144e616d65640400690201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010020506f6c6b61646f74000200184b7573616d610003000069020c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004003001185665633c543e00006d020c0c78636d08763218426f6479496400012810556e6974000000144e616d65640400690201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010014496e6465780400c101010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e0008002054726561737572790009000071020c0c78636d08763220426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74c101010c753332000100204672616374696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c753332000400007502100c78636d087632286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400cd010110753132380000002c4e6f6e46756e6769626c650400790201344173736574496e7374616e6365000100007902100c78636d087632286d756c74696173736574344173736574496e7374616e636500011c24556e646566696e656400000014496e6465780400cd0101107531323800010018417272617934040040011c5b75383b20345d000200184172726179380400fd01011c5b75383b20385d0003001c417272617931360400450101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050010426c6f62040030011c5665633c75383e000600007d02080c78636d5856657273696f6e65644d756c74694c6f636174696f6e00010808563204005902014476323a3a4d756c74694c6f636174696f6e0001000856330400b501014476333a3a4d756c74694c6f636174696f6e0003000081020c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144576656e7404045400010c34496e76616c6964466f726d617404000401205b75383b2033325d00000880446f776e77617264206d65737361676520697320696e76616c69642058434d2e205c5b206964205c5d48556e737570706f7274656456657273696f6e04000401205b75383b2033325d000108bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e205c5b206964205c5d404578656375746564446f776e7761726408000401205b75383b2033325d0000b101011c4f7574636f6d65000208c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e445c5b2069642c206f7574636f6d65205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090985020c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144576656e7404045400011c34496e76616c6964466f726d61740401286d6573736167655f69640401244d657373616765496400000480446f776e77617264206d65737361676520697320696e76616c69642058434d2e48556e737570706f7274656456657273696f6e0401286d6573736167655f69640401244d6573736167654964000104bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e404578656375746564446f776e776172640801286d6573736167655f69640401244d657373616765496400011c6f7574636f6d65b101011c4f7574636f6d65000204c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e3c5765696768744578686175737465640c01286d6573736167655f69640401244d657373616765496400014072656d61696e696e675f77656967687424011857656967687400013c72657175697265645f776569676874240118576569676874000304f054686520776569676874206c696d697420666f722068616e646c696e6720646f776e77617264206d657373616765732077617320726561636865642e484f766572776569676874456e7175657565640c01286d6573736167655f69640401244d65737361676549640001406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800013c72657175697265645f7765696768742401185765696768740004041901446f776e77617264206d657373616765206973206f76657277656967687420616e642077617320706c6163656420696e20746865206f7665727765696768742071756575652e484f76657277656967687453657276696365640801406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800012c7765696768745f75736564240118576569676874000504e0446f776e77617264206d6573736167652066726f6d20746865206f766572776569676874207175657565207761732065786563757465642e504d61784d657373616765734578686175737465640401286d6573736167655f69640401244d6573736167654964000604b0546865206d6178696d756d206e756d626572206f6620646f776e77617264206d65737361676573207761732e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909890208306672616d655f73797374656d14506861736500010c384170706c7945787472696e73696304001c010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e000200008d020000022c009102000002cc00950208306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6ec101014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d659902016473705f72756e74696d653a3a52756e74696d65537472696e670000990200000502009d020c306672616d655f73797374656d1870616c6c65741043616c6c0404540001201872656d61726b04011872656d61726b30011c5665633c75383e000010684d616b6520736f6d65206f6e2d636861696e2072656d61726b2e0034232320436f6d706c6578697479202d20604f28312960387365745f686561705f7061676573040114706167657310010c753634000104f853657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f6465040110636f646530011c5665633c75383e0002106453657420746865206e65772072756e74696d6520636f64652e0034232320436f6d706c657869747931012d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f6465605c7365745f636f64655f776974686f75745f636865636b73040110636f646530011c5665633c75383e000310190153657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e0034232320436f6d706c65786974798c2d20604f2843296020776865726520604360206c656e677468206f662060636f6465602c7365745f73746f726167650401146974656d73a10201345665633c4b657956616c75653e0004046853657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f726167650401106b657973a90201205665633c4b65793e000504744b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697808011870726566697830010c4b657900011c7375626b6579731c010c75333200061011014b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e0039012a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e6465723d0174686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e4472656d61726b5f776974685f6576656e7404011872656d61726b30011c5665633c75383e000704a44d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea102000002a50200a50200000408303000a9020000023000ad020c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2401185765696768740001246d61785f626c6f636b2401185765696768740001247065725f636c617373b10201845065724469737061746368436c6173733c57656967687473506572436c6173733e0000b1020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c61737304045401b502000c01186e6f726d616cb50201045400012c6f7065726174696f6e616cb5020104540001246d616e6461746f7279b5020104540000b5020c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632401185765696768740001346d61785f65787472696e736963b90201384f7074696f6e3c5765696768743e0001246d61785f746f74616cb90201384f7074696f6e3c5765696768743e0001207265736572766564b90201384f7074696f6e3c5765696768743e0000b90204184f7074696f6e04045401240108104e6f6e6500000010536f6d650400240000010000bd020c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178c10201545065724469737061746368436c6173733c7533323e0000c1020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c617373040454011c000c01186e6f726d616c1c01045400012c6f7065726174696f6e616c1c0104540001246d616e6461746f72791c0104540000c502082873705f776569676874733c52756e74696d65446257656967687400000801107265616410010c753634000114777269746510010c7536340000c902082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d659902013452756e74696d65537472696e67000124696d706c5f6e616d659902013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e1c010c753332000130737065635f76657273696f6e1c010c753332000130696d706c5f76657273696f6e1c010c75333200011061706973cd02011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e1c010c75333200013473746174655f76657273696f6e08010875380000cd02040c436f7704045401d102000400d102000000d102000002d50200d50200000408fd011c00d9020c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c6574dd020c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f77280124543a3a4d6f6d656e7400003c54536574207468652063757272656e742074696d652e005501546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed470686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e0041015468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e742073706563696669656420627940604d696e696d756d506572696f64602e00d4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e0034232320436f6d706c657869747931012d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f283129602961012d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e402020606f6e5f66696e616c697a656029d42d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee1020000040c0018a800e5020c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e6465780000309841737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00dc5061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f02d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e207472616e7366657208010c6e6577e90201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e6465780001305d0141737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6eb86973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0025012d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e1066726565040114696e64657810013c543a3a4163636f756e74496e646578000230944672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e005d015061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e000d012d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e0084456d6974732060496e646578467265656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e38666f7263655f7472616e736665720c010c6e6577e90201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65a80110626f6f6c0003345501466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479e868656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a42d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e41012d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004304101467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206861766520616c6e6f6e2d66726f7a656e206163636f756e742060696e646578602e00ac2d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e0088456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee9020c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e64657801b0011408496404000001244163636f756e74496400000014496e6465780400ed0201304163636f756e74496e6465780001000c526177040030011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d0003002441646472657373323004001d0101205b75383b2032305d00040000ed02000006b000f1020c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909f5020c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401f902045300000400010301185665633c543e0000f902083c70616c6c65745f62616c616e6365732c42616c616e63654c6f636b041c42616c616e63650118000c01086964fd0101384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e73fd02011c526561736f6e730000fd02083c70616c6c65745f62616c616e6365731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c000200000103000002f9020005030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540109030453000004000d0301185665633c543e00000903083c70616c6c65745f62616c616e6365732c52657365727665446174610844526573657276654964656e74696669657201fd011c42616c616e63650118000801086964fd010144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e636500000d0300000209030011030c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000118207472616e7366657208011064657374e90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565cd010128543a3a42616c616e6365000058d45472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e000501607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e11014966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b06f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e0034232320436f6d706c657869747961012d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f7220696e70757420636f6e66696794202074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e31012d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c6578382020636f6d7075746174696f6e2e004852656c617465642066756e6374696f6e733a004d0120202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e290120202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365cc2020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642e5d0120202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765722060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e636564602e5d0120202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616c20636865636bdc202020207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e2c7365745f62616c616e63650c010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f66726565cd010128543a3a42616c616e63650001306e65775f7265736572766564cd010128543a3a42616c616e636500012090536574207468652062616c616e636573206f66206120676976656e206163636f756e742e001d01546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c3101616c736f20616c7465722074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e6365602920617070726f7072696174656c792e1501496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742cfc69742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b0546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e38666f7263655f7472616e736665720c0118736f75726365e90201504163636f756e7449644c6f6f6b75704f663c543e00011064657374e90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565cd010128543a3a42616c616e63650002144d0145786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d6179206265287370656369666965642e34232320436f6d706c65786974794d012d2053616d65206173207472616e736665722c20627574206164646974696f6e616c207265616420616e6420777269746520626563617573652074686520736f75726365206163636f756e74206973206e6f747c2020617373756d656420746f20626520696e20746865206f7665726c61792e4c7472616e736665725f6b6565705f616c69766508011064657374e90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565cd010128543a3a42616c616e63650003184d0153616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c207468653c6f726967696e206163636f756e742e00b8393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c05b607472616e73666572605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572307472616e736665725f616c6c08011064657374e90201504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665a80110626f6f6c00044005015472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e0059014e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e7320746861746101616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062655d017472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c4501796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f72616765406465706f736974732c206574632e2e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e00a02d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e59012d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c4d0120206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f72590120207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746fd420206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e20232320436f6d706c657869747939012d204f2831292e204a757374206c696b65207472616e736665722c206275742072656164696e672074686520757365722773207472616e7366657261626c652062616c616e63652066697273742e3c666f7263655f756e7265736572766508010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050cb0556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e006c43616e206f6e6c792062652063616c6c656420627920524f4f542e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e15030c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001203856657374696e6742616c616e63650000049856657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e73000104c44163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304e856616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650004048c5472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c65000504c8412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e740006048842656e6566696369617279206163636f756e74206d757374207072652d65786973743c546f6f4d616e795265736572766573000704ac4e756d626572206f66206e616d656420726573657276657320657863656564204d6178526573657276657304b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090919030c3473705f61726974686d657469632c66697865645f706f696e7424466978656455313238000004001801107531323800001d03086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e740000000856320001000021030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540125030453000004002d0301185665633c543e00002503104473705f636f6e73656e7375735f617572611c737232353531392c6170705f73723235353139185075626c6963000004002903013c737232353531393a3a5075626c6963000029030c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d00002d030000022503003103084873705f636f6e73656e7375735f736c6f747310536c6f740000040010010c75363400003503000002000039030000023d03003d030000040800410300410308447370697269746e65745f72756e74696d652c53657373696f6e4b657973000004011061757261250301c43c41757261206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c6963000045030000021c004903000004084d0330004d030c1c73705f636f72651863727970746f244b65795479706549640000040040011c5b75383b20345d000051030c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b6579734103011c543a3a4b65797300011470726f6f6630011c5665633c75383e000024e453657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e1d01416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d0546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e0034232320436f6d706c657869747959012d20604f283129602e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f69647328296020776869636820697320202066697865642e2870757267655f6b657973000130c852656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722e00c05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e005501546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265205369676e656420616e6420746865206163636f756e74206d757374206265206569746865722062655d01636f6e7665727469626c6520746f20612076616c696461746f72204944207573696e672074686520636861696e2773207479706963616c2061646472657373696e672073797374656d20287468697320757375616c6c7951016d65616e73206265696e67206120636f6e74726f6c6c6572206163636f756e7429206f72206469726563746c7920636f6e7665727469626c6520696e746f20612076616c696461746f722049442028776869636894757375616c6c79206d65616e73206265696e672061207374617368206163636f756e74292e0034232320436f6d706c65786974793d012d20604f2831296020696e206e756d626572206f66206b65792074797065732e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f6698202060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e55030c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742e59030c4470617261636861696e5f7374616b696e6714747970657324526f756e64496e666f042c426c6f636b4e756d6265720110000c011c63757272656e741c013053657373696f6e496e646578000114666972737410012c426c6f636b4e756d6265720001186c656e67746810012c426c6f636b4e756d62657200005d030c4470617261636861696e5f7374616b696e671474797065734444656c65676174696f6e436f756e7465720000080114726f756e641c013053657373696f6e496e64657800011c636f756e7465721c010c753332000061030c4470617261636861696e5f7374616b696e67147479706573145374616b6508244163636f756e74496401001c42616c616e63650118000801146f776e65720001244163636f756e744964000118616d6f756e7418011c42616c616e6365000065030c4470617261636861696e5f7374616b696e671474797065732443616e6469646174650c244163636f756e74496401001c42616c616e63650118644d617844656c656761746f727350657243616e646964617465000014010869640001244163636f756e7449640001147374616b6518011c42616c616e636500012864656c656761746f727369030101014f7264657265645365743c5374616b653c4163636f756e7449642c2042616c616e63653e2c204d617844656c656761746f727350657243616e6469646174653e000114746f74616c18011c42616c616e63650001187374617475737503013c43616e646964617465537461747573000069030c4470617261636861696e5f7374616b696e670c736574284f7264657265645365740804540161030453000004006d030140426f756e6465645665633c542c20533e00006d030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454016103045300000400710301185665633c543e0000710300000261030075030c4470617261636861696e5f7374616b696e671474797065733c43616e646964617465537461747573000108184163746976650000001c4c656176696e6704001c013053657373696f6e496e6465780001000079030c4470617261636861696e5f7374616b696e6714747970657328546f74616c5374616b65041c42616c616e6365011800080124636f6c6c61746f727318011c42616c616e636500012864656c656761746f727318011c42616c616e636500007d030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401610304530000040081030140426f756e6465645665633c542c20533e000081030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454016103045300000400710301185665633c543e000085030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e34496e666c6174696f6e496e666f0000080120636f6c6c61746f728903012c5374616b696e67496e666f00012464656c656761746f728903012c5374616b696e67496e666f000089030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e2c5374616b696e67496e666f00000801206d61785f726174658c012c5065727175696e74696c6c00012c7265776172645f726174658d0301285265776172645261746500008d030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e28526577617264526174650000080118616e6e75616c8c012c5065727175696e74696c6c0001247065725f626c6f636b8c012c5065727175696e74696c6c000091030c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601180453000004009503013842547265654d61703c4b2c20563e00009503042042547265654d617008044b011004560118000400990300000099030000029d03009d0300000408101800a1030c4470617261636861696e5f7374616b696e671870616c6c65741043616c6c0404540001543c666f7263655f6e65775f726f756e64000018d0466f7263657320746865207374617274206f6620746865206e657720726f756e6420696e20746865206e65787420626c6f636b2e00a0546865206e657720726f756e642077696c6c20626520656e666f7263656420766961203c54206173a453686f756c64456e6453657373696f6e3c5f3e3e3a3a73686f756c645f656e645f73657373696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e347365745f696e666c6174696f6e100170636f6c6c61746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c000198636f6c6c61746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00017464656c656761746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c00019c64656c656761746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00013cf05365742074686520616e6e75616c20696e666c6174696f6e207261746520746f20646572697665207065722d726f756e6420696e666c6174696f6e2e00110154686520696e666c6174696f6e2064657461696c732061726520636f6e736964657265642076616c69642069662074686520616e6e75616c207265776172642072617465f0697320617070726f78696d6174656c7920746865207065722d626c6f636b207265776172642072617465206d756c7469706c69656420627920746865ac657374696d617465642a20746f74616c206e756d626572206f6620626c6f636b732070657220796561722e00cc54686520657374696d61746564206176657261676520626c6f636b2074696d65206973207477656c7665207365636f6e64732e000d014e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20616e6420666f7220656163682063616e646964617465206f766572207468656972090164656c656761746f727320746f207570646174652074686569722072657761726473206265666f72652074686520726577617264207261746573206368616e67652ee04e6565647320746f20626520696d70726f766564207768656e207363616c696e6720757020604d6178546f7043616e64696461746573602e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060526f756e64496e666c6174696f6e536574602e6c7365745f6d61785f73656c65637465645f63616e6469646174657304010c6e65771c010c75333200022c090153657420746865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e6469646174657320746861742063616e2062652073656c6563746564a861742074686520626567696e6e696e67206f6620656163682076616c69646174696f6e20726f756e642e00e84368616e67657320617265206e6f74206170706c69656420756e74696c20746865207374617274206f6620746865206e65787420726f756e642e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617853656c656374656443616e64696461746573536574602e507365745f626c6f636b735f7065725f726f756e6404010c6e6577100138543a3a426c6f636b4e756d62657200032cd453657420746865206e756d626572206f6620626c6f636b7320656163682076616c69646174696f6e20726f756e64206c617374732e000901496620746865206e65772076616c7565206973206c657373207468616e20746865206c656e677468206f66207468652063757272656e7420726f756e642c20746865050173797374656d2077696c6c20696d6d6564696174656c79206d6f766520746f20746865206e65787420726f756e6420696e20746865206e65787420626c6f636b2e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060426c6f636b73506572526f756e64536574602e5c7365745f6d61785f63616e6469646174655f7374616b6504010c6e657718013042616c616e63654f663c543e000418110153657420746865206d6178696d616c20616d6f756e74206120636f6c6c61746f722063616e207374616b652e204578697374696e67207374616b657320617265206e6f74206368616e6765642e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617843616e6469646174655374616b654368616e676564602e58666f7263655f72656d6f76655f63616e646964617465040120636f6c6c61746f72e902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650005300101466f726365646c792072656d6f766573206120636f6c6c61746f722063616e6469646174652066726f6d2074686520546f7043616e6469646174657320616e64e4636c6561727320616c6c206173736f6369617465642073746f7261676520666f72207468652063616e64696461746520616e642074686569722c64656c656761746f72732e00fc507265706172657320756e7374616b696e67206f66207468652063616e6469646174657320616e642074686569722064656c656761746f7273207374616b65f077686963682063616e20626520756e6c6f636b6564207669612060756e6c6f636b5f756e7374616b6564602061667465722077616974696e6720617409016c6561737420605374616b654475726174696f6e60206d616e7920626c6f636b732e20416c736f20696e6372656d656e7473207265776172647320666f722074686578636f6c6c61746f7220616e642074686569722064656c656761746f72732e00d4496e6372656d656e74732072657761726473206f662063616e64696461746520616e642074686569722064656c656761746f72732e0064456d697473206043616e64696461746552656d6f766564602e3c6a6f696e5f63616e646964617465730401147374616b6518013042616c616e63654f663c543e000644904a6f696e2074686520736574206f6620636f6c6c61746f722063616e646964617465732e00f8496e20746865206e65787420626c6f636b732c2069662074686520636f6c6c61746f722063616e6469646174652068617320656e6f7567682066756e6473fc7374616b656420746f20626520696e636c7564656420696e20616e79206f662074686520746f7020604d617853656c656374656443616e64696461746573600d01706f736974696f6e732c2069742077696c6c20626520696e636c7564656420696e2074686520736574206f6620706f74656e7469616c20617574686f72732074686174050177696c6c2062652073656c656374656420627920746865207374616b652d77656967687465642072616e646f6d2073656c656374696f6e2066756e6374696f6e2e00fc546865207374616b65642066756e6473206f6620746865206e657720636f6c6c61746f722063616e6469646174652061726520616464656420746f2074686568746f74616c207374616b65206f66207468652073797374656d2e00110154686520746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e2074686520616c6c6f7765642072616e67652061738873657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e00f0546865206469737061746368206f726967696e206d757374206e6f7420626520616c72656164792070617274206f662074686520636f6c6c61746f729463616e64696461746573206e6f72206f66207468652064656c656761746f7273207365742e0084456d69747320604a6f696e6564436f6c6c61746f7243616e64696461746573602e54696e69745f6c656176655f63616e6469646174657300076cc05265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e0005014f6e20737563636573732c20746865206163636f756e7420697320696d6d6564696174656c792072656d6f7665642066726f6d207468652063616e6469646174651101706f6f6c20746f2070726576656e742073656c656374696f6e206173206120636f6c6c61746f7220696e206675747572652076616c69646174696f6e20726f756e64732cd862757420756e7374616b696e67206f66207468652066756e6473206973206578656375746564207769746820612064656c6179206f665c605374616b654475726174696f6e6020626c6f636b732e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00f454686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e204974206973110175706461746564206576656e2074686f756768207468652066756e6473206f66207468652063616e6469646174652077686f207369676e616c656420746f206c65617665fc617265207374696c6c206c6f636b656420666f7220604578697444656c617960202b20605374616b654475726174696f6e60206d6f726520626c6f636b732e000d014e4f544520313a2055706f6e207374617274696e672061206e65772073657373696f6e5f6920696e20606e65775f73657373696f6e602c207468652063757272656e741101746f702063616e64696461746573206172652073656c656374656420746f20626520626c6f636b20617574686f727320666f722073657373696f6e5f692b312e20416e7905016368616e67657320746f2074686520746f702063616e64696461746573206166746572776172647320646f206e6f74206566666563742074686520736574206f6660617574686f727320666f722073657373696f6e5f692b312ed8546875732c207765206861766520746f206d616b652073757265206e6f6e65206f6620746865736520636f6c6c61746f72732063616ebc6c65617665206265666f72652073657373696f6e5f692b3120656e64732062792064656c6179696e67207468656972846578697420666f7220604578697444656c617960206d616e7920626c6f636b732e00f04e4f544520323a20576520646f206e6f7420696e6372656d656e74207265776172647320696e20746869732065787472696e73696320617320746865110163616e64696461746520636f756c64207374696c6c20617574686f7220626c6f636b732c20616e64207468757320626520656c696769626c6520746f2072656365697665ac726577617264732c20756e74696c2074686520656e64206f6620746865206e6578742073657373696f6e2e0078456d6974732060436f6c6c61746f725363686564756c656445786974602e60657865637574655f6c656176655f63616e64696461746573040120636f6c6c61746f72e902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500084405014578656375746520746865206e6574776f726b2065786974206f6620612063616e6469646174652077686f2072657175657374656420746f206c65617665206174f06c65617374206045786974517565756544656c61796020726f756e64732061676f2e20507265706172657320756e7374616b696e67206f6620746865fc63616e6469646174657320616e642074686569722064656c656761746f7273207374616b652077686963682063616e20626520756e6c6f636b656420766961f460756e6c6f636b5f756e7374616b6564602061667465722077616974696e67206174206c6561737420605374616b654475726174696f6e60206d616e791c626c6f636b732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00fc4e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20666f7220656163682063616e646964617465206f766572207468656972fc64656c656761746f727320746f2073657420726577617264732e204e6565647320746f20626520696d70726f766564207768656e207363616c696e672075704c604d6178546f7043616e64696461746573602e0054456d6974732060436f6c6c61746f724c656674602e5c63616e63656c5f6c656176655f63616e646964617465730009200501526576657274207468652070726576696f75736c79207265717565737465642065786974206f6620746865206e6574776f726b206f66206120636f6c6c61746f720d0163616e6469646174652e204f6e20737563636573732c2061646473206261636b207468652063616e64696461746520746f2074686520546f7043616e6469646174657368616e6420757064617465732074686520636f6c6c61746f72732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e0074456d6974732060436f6c6c61746f7243616e63656c656445786974602e5063616e6469646174655f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000a30a85374616b65206d6f72652066756e647320666f72206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686505016163636f756e7420746f20626520616464656420746f2069742e20546865206c617267657220616d6f756e74206f662066756e64732c2074686520686967686572dc6368616e63657320746f2062652073656c65637465642061732074686520617574686f72206f6620746865206e65787420626c6f636b2e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644d6f7265602e5063616e6469646174655f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000b3ca85374616b65206c6573732066756e647320666f72206120636f6c6c61746f722063616e6469646174652e000501496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c20746865206163636f756e74fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e000d0154686520756e7374616b65642066756e647320617265206e6f742072656c656173656420696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644c657373602e3c6a6f696e5f64656c656761746f7273080120636f6c6c61746f72e902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000118616d6f756e7418013042616c616e63654f663c543e000c5805014a6f696e2074686520736574206f662064656c656761746f72732062792064656c65676174696e6720746f206120636f6c6c61746f722063616e6469646174652e000501546865206163636f756e7420746861742077616e747320746f2064656c65676174652063616e6e6f742062652070617274206f662074686520636f6c6c61746f725c63616e64696461746573207365742061732077656c6c2e0009015468652063616c6c6572206d757374205f6e6f745f206861766520612064656c65676174696f6e2e20496620746861742069732074686520636173652c2074686579b061726520726571756972656420746f2066697273742072656d6f7665207468652064656c65676174696f6e2e00110154686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206d696e696d756d20726571756972656420746f206265636f6d65c4612064656c656761746f722061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0009014173206f6e6c7920604d617844656c656761746f7273506572436f6c6c61746f72602061726520616c6c6f77656420746f2064656c6567617465206120676976656e0501636f6c6c61746f722c2074686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206c6f77657374206f6e6520696e01017468652063757272656e7420736574206f662064656c656761746f7220666f7220746865206f7065726174696f6e20746f206265206d65616e696e6766756c2e00090154686520636f6c6c61746f72277320746f74616c207374616b652061732077656c6c206173207468652070616c6c6574277320746f74616c207374616b652061726558696e63726561736564206163636f7264696e676c792e004c456d697473206044656c65676174696f6e602ebc456d697473206044656c65676174696f6e5265706c6163656460206966207468652063616e64696461746520686173f8604d617844656c656761746f7273506572436f6c6c61746f7260206d616e792064656c65676174696f6e732062757420746869732064656c656761746f72fc7374616b6564206d6f7265207468616e206f6e65206f6620746865206f746865722064656c656761746f7273206f6620746869732063616e6469646174652e406c656176655f64656c656761746f7273000d400d014c656176652074686520736574206f662064656c656761746f727320616e642c20627920696d706c69636174696f6e2c207265766f6b6520746865206f6e676f696e672c64656c65676174696f6e2e001101416c6c207374616b65642066756e647320617265206e6f7420756e6c6f636b656420696d6d6564696174656c792c2062757420746865792061726520616464656420746f0101746865207175657565206f662070656e64696e6720756e7374616b696e672c20616e642077696c6c206566666563746976656c792062652072656c65617365640901616674657220605374616b654475726174696f6e6020626c6f636b732066726f6d20746865206d6f6d656e74207468652064656c656761746f72206c65617665732e000d0154686973206f7065726174696f6e20726564756365732074686520746f74616c207374616b65206f66207468652070616c6c65742061732077656c6c2061732074686509017374616b6573206f6620616c6c20636f6c6c61746f7273207468617420776572652064656c6567617465642c20706f74656e7469616c6c7920616666656374696e6705017468656972206368616e63657320746f20626520696e636c7564656420696e2074686520736574206f662063616e6469646174657320696e20746865206e6578741c726f756e64732e0005014175746f6d61746963616c6c7920696e6372656d656e74732074686520616363756d756c617465642072657761726473206f6620746865206f726967696e206f665c7468652063757272656e742064656c65676174696f6e2e0058456d697473206044656c656761746f724c656674602e5064656c656761746f725f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000e18dc496e63726561736520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686594636f6c6c61746f722063616e64696461746520746f20626520616464656420746f2069742e0070456d697473206044656c656761746f725374616b65644d6f7265602e5064656c656761746f725f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000f40d452656475636520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e000901496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c2074686520636f6c6c61746f72fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00090154686520756e7374616b65642066756e647320617265206e6f742072656c6561736520696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e0001015468652072656d61696e696e67207374616b65642066756e6473206d757374207374696c6c206265206c6172676572207468616e20746865206d696e696d756df0726571756972656420627920746869732070616c6c657420746f206d61696e7461696e2074686520737461747573206f662064656c656761746f722e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0070456d697473206044656c656761746f725374616b65644c657373602e3c756e6c6f636b5f756e7374616b6564040118746172676574e902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365001028f4556e6c6f636b20616c6c2070726576696f75736c79207374616b65642066756e6473207468617420617265206e6f7720617661696c61626c6520666f720501756e6c6f636b696e6720627920746865206f726967696e206163636f756e7420616674657220605374616b654475726174696f6e6020626c6f636b73206861766520656c61707365642e00fc5765696768743a204f285529207768657265205520697320746865206e756d626572206f66206c6f636b656420756e7374616b696e6720726571756573747380626f756e64656420627920604d6178556e7374616b655265717565737473602eac2d2052656164733a205b4f726967696e204163636f756e745d2c20556e7374616b696e672c204c6f636b73682d205772697465733a20556e7374616b696e672c204c6f636b73e82d204b696c6c733a20556e7374616b696e672026204c6f636b73206966206e6f2062616c616e6365206973206c6f636b656420616e796d6f72652c23203c2f7765696768743e34636c61696d5f7265776172647300113cd4436c61696d20626c6f636b20617574686f72696e67207265776172647320666f72207468652074617267657420616464726573732e00090152657175697265732060526577617264736020746f20626520736574206265666f726568616e642c2077686963682063616e2062792074726967676572656420627970616e79206f662074686520666f6c6c6f77696e67206f7074696f6e73e82a2043616c6c696e6720696e6372656d656e745f7b636f6c6c61746f722c2064656c656761746f727d5f72657761726473202861637469766529782a20416c746572696e6720796f7572207374616b65202861637469766529b02a204c656176696e6720746865206e6574776f726b206173206120636f6c6c61746f72202861637469766529bc2a205265766f6b696e6720612064656c65676174696f6e20617320612064656c656761746f7220286163746976652909012a204265696e6720612064656c656761746f722077686f736520636f6c6c61746f72206c65667420746865206e6574776f726b2c20616c7465726564207468656972a020207374616b65206f7220696e6372656d656e746564207265776172647320287061737369766529000501546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652c20652e672e2c20616e796f6e652063616e20636c61696d2c666f7220616e796f6e652e0044456d69747320605265776172646564602e68696e6372656d656e745f636f6c6c61746f725f72657761726473001218b44163746976656c7920696e6372656d656e74207468652072657761726473206f66206120636f6c6c61746f722e0005015468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72206c656176696e6720746865206e6574776f726b2e009c546865206469737061746368206f726967696e206d757374206265206120636f6c6c61746f722e6c696e6372656d656e745f64656c656761746f725f72657761726473001318b84163746976656c7920696e6372656d656e74207468652072657761726473206f6620612064656c656761746f722e00f85468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72207265766f6b696e673064656c65676174696f6e732e00a0546865206469737061746368206f726967696e206d75737420626520612064656c656761746f722e7c657865637574655f7363686564756c65645f7265776172645f6368616e67650014280d0145786563757465732074686520616e6e75616c20726564756374696f6e206f66207468652072657761726420726174657320666f7220636f6c6c61746f727320616e642c64656c656761746f72732e00dc4d6f72656f7665722c2073657473207265776172647320666f7220616c6c20636f6c6c61746f727320616e642064656c656761746f72737c6265666f72652061646a757374696e672074686520696e666c6174696f6e2e000d01546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652062656361757365207765206261696c2069662063616c6c656428746f6f206561726c792e0068456d6974732060526f756e64496e666c6174696f6e536574602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea5030c4470617261636861696e5f7374616b696e671870616c6c6574144572726f7204045400017c4444656c656761746f724e6f74466f756e64000004b8546865206163636f756e74206973206e6f742070617274206f66207468652064656c656761746f7273207365742e4443616e6469646174654e6f74466f756e64000104dc546865206163636f756e74206973206e6f742070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3c44656c656761746f72457869737473000204c8546865206163636f756e7420697320616c72656164792070617274206f66207468652064656c656761746f7273207365742e3c43616e646964617465457869737473000304ec546865206163636f756e7420697320616c72656164792070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3056616c5374616b655a65726f000404e4546865206163636f756e7420747269656420746f207374616b65206d6f7265206f72206c657373207769746820616d6f756e74207a65726f2e4056616c5374616b6542656c6f774d696e0005080d01546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f20626520616464656420746f2074686520636f6c6c61746f723c63616e64696461746573207365742e4056616c5374616b6541626f76654d61780006041101546865206163636f756e742068617320616c7265616479207374616b656420746865206d6178696d756d20616d6f756e74206f662066756e647320706f737369626c652e4844656c65676174696f6e42656c6f774d696e000708f8546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f2064656c6567617465206120636f6c6c61746f722863616e6469646174652e38416c72656164794c656176696e670008080d0154686520636f6c6c61746f722063616e6469646174652068617320616c72656164792074726967676572207468652070726f6365737320746f206c65617665207468656c736574206f6620636f6c6c61746f722063616e646964617465732e284e6f744c656176696e67000908f454686520636f6c6c61746f722063616e6469646174652077616e74656420746f20657865637574652074686520657869742062757420686173206e6f74f472657175657374656420746f206c65617665206265666f72652062792063616c6c696e672060696e69745f6c656176655f63616e64696461746573602e3843616e6e6f744c65617665596574000a08dc54686520636f6c6c61746f7220747269656420746f206c65617665206265666f72652077616974696e67206174206c6561737420666f72746045786974517565756544656c617960206d616e7920726f756e64732e6443616e6e6f744a6f696e4265666f7265556e6c6f636b696e67000b10f8546865206163636f756e742068617320612066756c6c206c697374206f6620756e7374616b696e6720726571756573747320616e64206e6565647320746ffc756e6c6f636b206174206c65617374206f6e65206f66207468657365206265666f7265206265696e672061626c6520746f206a6f696e2028616761696e292edc4e4f54453a2043616e206f6e6c792068617070656e20696620746865206163636f756e742077617320612063616e646964617465206f72f464656c656761746f72206265666f726520616e642065697468657220676f74206b69636b6564206f722065786974656420766f6c756e746172696c792e44416c726561647944656c65676174696e67000c04e4546865206163636f756e7420697320616c72656164792064656c65676174696e672074686520636f6c6c61746f722063616e6469646174652e404e6f7459657444656c65676174696e67000d080901546865206163636f756e7420686173206e6f742064656c65676174656420616e7920636f6c6c61746f722063616e646964617465207965742c2068656e6365206974806973206e6f7420696e2074686520736574206f662064656c656761746f72732e6c44656c65676174696f6e73506572526f756e644578636565646564000e1811015468652064656c656761746f722068617320657863656564656420746865206e756d626572206f662064656c65676174696f6e732070657220726f756e6420776869636894697320657175616c20746f204d617844656c656761746f7273506572436f6c6c61746f722e000901546869732070726f746563747320616761696e73742061747461636b7320696e20776869636820612064656c656761746f722063616e2072652d64656c6567617465010166726f6d206120636f6c6c61746f722077686f2068617320616c726561647920617574686f726564206120626c6f636b2c20746f20616e6f74686572206f6e6570776869636820686173206e6f7420696e207468697320726f756e642e44546f6f4d616e7944656c656761746f7273000f14010154686520636f6c6c61746f722063616e6469646174652068617320616c7265616479207265616368656420746865206d6178696d756d206e756d626572206f662c64656c656761746f72732e00050154686973206572726f722069732067656e65726174656420696e20636173652061206e65772064656c65676174696f6e207265717565737420646f6573206e6f74f47374616b6520656e6f7567682066756e647320746f207265706c61636520736f6d65206f74686572206578697374696e672064656c65676174696f6e2e60546f6f466577436f6c6c61746f7243616e64696461746573001008110154686520736574206f6620636f6c6c61746f722063616e6469646174657320776f756c642066616c6c2062656c6f7720746865207265717569726564206d696e696d756d5469662074686520636f6c6c61746f72206c6566742e5043616e6e6f745374616b6549664c656176696e67001108f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66010163616e6469646174657320616e642063616e6e6f7420706572666f726d20616e79206f7468657220616374696f6e7320696e20746865206d65616e74696d652e5c43616e6e6f7444656c656761746549664c656176696e67001208f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66ac63616e6469646174657320616e6420746875732063616e6e6f742062652064656c65676174656420746f2e804d6178436f6c6c61746f727350657244656c656761746f72457863656564656400130811015468652064656c656761746f722068617320616c72656164792064656c65676174656420746865206d6178696d756d206e756d626572206f662063616e6469646174657320616c6c6f7765642e60416c726561647944656c656761746564436f6c6c61746f72001408ec5468652064656c656761746f722068617320616c72656164792070726576696f75736c792064656c6567617465642074686520636f6c6c61746f722863616e6469646174652e4844656c65676174696f6e4e6f74466f756e64001504f854686520676976656e2064656c65676174696f6e20646f6573206e6f7420657869737420696e2074686520736574206f662064656c65676174696f6e732e24556e646572666c6f77001608050154686520636f6c6c61746f722064656c6567617465206f72207468652064656c656761746f7220697320747279696e6720746f20756e2d7374616b65206d6f72658066756e64732074686174206172652063757272656e746c79207374616b65642e4443616e6e6f7453657441626f76654d6178001708d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738061626f766520746865206d6178696d756d2076616c756520616c6c6f7765642e4443616e6e6f7453657442656c6f774d696e001808d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738062656c6f7720746865206d696e696d756d2076616c756520616c6c6f7765642e3c496e76616c69645363686564756c65001904dc416e20696e76616c696420696e666c6174696f6e20636f6e66696775726174696f6e20697320747279696e6720746f206265207365742e3c4e6f4d6f7265556e7374616b696e67001a08c4546865207374616b696e6720726577617264206265696e6720756e6c6f636b656420646f6573206e6f742065786973742e7c4d617820756e6c6f636b696e6720726571756573747320726561636865642e20546f6f4561726c79001b0801015468652072657761726420726174652063616e6e6f742062652061646a75737465642079657420617320616e20656e74697265207965617220686173206e6f741c7061737365642e345374616b654e6f74466f756e64001c04d850726f7669646564207374616b65642076616c7565206973207a65726f2e2053686f756c64206e65766572206265207468726f776e2e40556e7374616b696e674973456d707479001d049443616e6e6f7420756e6c6f636b207768656e20556e7374616b656420697320656d7074792e3c526577617264734e6f74466f756e64001e047843616e6e6f7420636c61696d207265776172647320696620656d7074792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a9030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401ad03045300000400790501185665633c543e0000ad030000040c1cb1030000b10310346672616d655f737570706f72741874726169747324707265696d616765731c426f756e64656404045401b503010c184c6567616379040110686173682c01104861736800000018496e6c696e65040091010134426f756e646564496e6c696e65000100184c6f6f6b7570080110686173682c01104861736800010c6c656e1c010c75333200020000b50308447370697269746e65745f72756e74696d652c52756e74696d6543616c6c0001781853797374656d04009d0201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0000002454696d657374616d700400dd0201b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0002001c496e64696365730400e50201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e0005002042616c616e6365730400110301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e0006001c53657373696f6e0400510301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0016004050617261636861696e5374616b696e670400a10301d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e5374616b696e672c2052756e74696d653e0015002444656d6f63726163790400b90301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e001e001c436f756e63696c0400c90301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e001f0048546563686e6963616c436f6d6d69747465650400d90301dd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c436f6d6d69747465652c2052756e74696d653e0020004c546563686e6963616c4d656d626572736869700400dd0301e10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c4d656d626572736869702c2052756e74696d653e0022002054726561737572790400e10301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e0023001c5574696c6974790400e50301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0028001c56657374696e6704000d0401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e002900245363686564756c65720400150401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e002a001450726f787904001d0401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002b0020507265696d6167650400250401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e002c0038546970734d656d626572736869700400290401cd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970734d656d626572736869702c2052756e74696d653e002d00105469707304002d0401a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970732c2052756e74696d653e002e00204d756c74697369670400310401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d756c74697369672c2052756e74696d653e002f001443747970650400390401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c43747970652c2052756e74696d653e003d002c4174746573746174696f6e04003d0401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4174746573746174696f6e2c2052756e74696d653e003e002844656c65676174696f6e0400510401bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656c65676174696f6e2c2052756e74696d653e003f000c44696404006d0401a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469642c2052756e74696d653e004000244469644c6f6f6b75700400c50401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469644c6f6f6b75702c2052756e74696d653e00430024576562334e616d65730400d50401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c576562334e616d65732c2052756e74696d653e004400445075626c696343726564656e7469616c730400d90401d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5075626c696343726564656e7469616c732c2052756e74696d653e0045003c50617261636861696e53797374656d0400e90401d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e0050002458636d70517565756504001d0501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c58636d7051756575652c2052756e74696d653e0052002c506f6c6b61646f7458636d0400210501c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506f6c6b61646f7458636d2c2052756e74696d653e00530020446d7051756575650400750501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c446d7051756575652c2052756e74696d653e00550000b9030c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c04045400014c1c70726f706f736508012070726f706f73616cb1030140426f756e64656443616c6c4f663c543e00011476616c7565cd01013042616c616e63654f663c543e0000249c50726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e001501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737480686176652066756e647320746f20636f76657220746865206465706f7369742e00d42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e15012d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e0044456d697473206050726f706f736564602e187365636f6e6404012070726f706f73616cc101012450726f70496e646578000118b45369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e64657211016d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00c82d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e10766f74650801247265665f696e646578c101013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e00021c3101566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bb86f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00dc2d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e842d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e40656d657267656e63795f63616e63656c0401247265665f696e6465781c013c5265666572656e64756d496e6465780003204d015363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d652c7265666572656e64756d2e00f8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d02d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e003c5765696768743a20604f283129602e4065787465726e616c5f70726f706f736504012070726f706f73616cb1030140426f756e64656443616c6c4f663c543e0004182d015363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c2c7265666572656e64756d2e00e8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e6465787465726e616c5f70726f706f73655f6d616a6f7269747904012070726f706f73616cb1030140426f756e64656443616c6c4f663c543e00052c55015363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c655c616e2065787465726e616c207265666572656e64756d2e00ec546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f283129606065787465726e616c5f70726f706f73655f64656661756c7404012070726f706f73616cb1030140426f756e64656443616c6c4f663c543e00062c45015363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f807363686564756c6520616e2065787465726e616c207265666572656e64756d2e00e8546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f2831296028666173745f747261636b0c013470726f706f73616c5f686173682c011048323536000134766f74696e675f706572696f64100138543a3a426c6f636b4e756d62657200011464656c6179100138543a3a426c6f636b4e756d6265720007404d015363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c65646101696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65e8627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d0546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e5d012d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f88094d75737420626520616c776179732067726561746572207468616e207a65726f2e350109466f72206046617374547261636b4f726967696e60206d75737420626520657175616c206f722067726561746572207468616e206046617374547261636b566f74696e67506572696f64602e51012d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265b82020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e0040456d697473206053746172746564602e00385765696768743a20604f28312960347665746f5f65787465726e616c04013470726f706f73616c5f686173682c011048323536000824b85665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00d8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e002d012d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e003c456d69747320605665746f6564602e00fc5765696768743a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604463616e63656c5f7265666572656e64756d0401247265665f696e646578c101013c5265666572656e64756d496e64657800091c5052656d6f76652061207265666572656e64756d2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d42d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e004423205765696768743a20604f283129602e2064656c65676174650c0108746fe90201504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6ebd030128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000a50390144656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e0055015468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865c874696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a7420202d2062652064656c65676174696e6720616c72656164793b206f72590120202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c69646174656494202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e0045012d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e55012d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e20746865410120206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e61012d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374206e6f74b420206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e0048456d697473206044656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e28756e64656c6567617465000b30cc556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e005d01546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64dc6f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062655463757272656e746c792064656c65676174696e672e0050456d6974732060556e64656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e58636c6561725f7075626c69635f70726f706f73616c73000c1470436c6561727320616c6c207075626c69632070726f706f73616c732e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e003c5765696768743a20604f283129602e18756e6c6f636b040118746172676574e90201504163636f756e7449644c6f6f6b75704f663c543e000d1ca0556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00b82d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e00bc5765696768743a20604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742e2c72656d6f76655f766f7465040114696e6465781c013c5265666572656e64756d496e646578000e6c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e000c49663a882d20746865207265666572656e64756d207761732063616e63656c6c65642c206f727c2d20746865207265666572656e64756d206973206f6e676f696e672c206f72902d20746865207265666572656e64756d2068617320656e64656420737563682074686174fc20202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d420202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f728420202d20746865206163636f756e74206d61646520612073706c697420766f74655d012e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655866756e6473206265696e6720617661696c61626c652e00a849662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643aec2d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64dc2d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64bc2d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f76657259012e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c766559012a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de46f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004901546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f7465887265676973746572656420666f72207265666572656e64756d2060696e646578602e00f42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e4472656d6f76655f6f746865725f766f7465080118746172676574e90201504163636f756e7449644c6f6f6b75704f663c543e000114696e6465781c013c5265666572656e64756d496e646578000f3c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e004d0149662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f2d016072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c5501656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f7298626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e004d012d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f725420207265666572656e64756d2060696e646578602ef42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e24626c61636b6c69737408013470726f706f73616c5f686173682c01104832353600013c6d617962655f7265665f696e646578c103015c4f7074696f6e3c5265666572656e64756d496e6465783e00103c45015065726d616e656e746c7920706c61636520612070726f706f73616c20696e746f2074686520626c61636b6c6973742e20546869732070726576656e74732069742066726f6d2065766572206265696e673c70726f706f73656420616761696e2e00510149662063616c6c6564206f6e206120717565756564207075626c6963206f722065787465726e616c2070726f706f73616c2c207468656e20746869732077696c6c20726573756c7420696e206974206265696e67510172656d6f7665642e2049662074686520607265665f696e6465786020737570706c69656420697320616e20616374697665207265666572656e64756d2077697468207468652070726f706f73616c20686173682c687468656e2069742077696c6c2062652063616e63656c6c65642e00ec546865206469737061746368206f726967696e206f6620746869732063616c6c206d7573742062652060426c61636b6c6973744f726967696e602e00f82d206070726f706f73616c5f68617368603a205468652070726f706f73616c206861736820746f20626c61636b6c697374207065726d616e656e746c792e45012d20607265665f696e646578603a20416e206f6e676f696e67207265666572656e64756d2077686f73652068617368206973206070726f706f73616c5f68617368602c2077686963682077696c6c2062652863616e63656c6c65642e0041015765696768743a20604f28702960202874686f756768206173207468697320697320616e20686967682d70726976696c6567652064697370617463682c20776520617373756d65206974206861732061502020726561736f6e61626c652076616c7565292e3c63616e63656c5f70726f706f73616c04012870726f705f696e646578c101012450726f70496e64657800111c4852656d6f766520612070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c50726f706f73616c4f726967696e602e00d02d206070726f705f696e646578603a2054686520696e646578206f66207468652070726f706f73616c20746f2063616e63656c2e00e45765696768743a20604f28702960207768657265206070203d205075626c696350726f70733a3a3c543e3a3a6465636f64655f6c656e282960307365745f6d657461646174610801146f776e6572a001344d657461646174614f776e65720001286d617962655f68617368c50301504f7074696f6e3c507265696d616765486173683e00123cd8536574206f7220636c6561722061206d65746164617461206f6620612070726f706f73616c206f722061207265666572656e64756d2e002c506172616d65746572733acc2d20606f726967696e603a204d75737420636f72726573706f6e6420746f2074686520604d657461646174614f776e6572602e3d01202020202d206045787465726e616c4f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053757065724d616a6f72697479417070726f766560402020202020207468726573686f6c642e5901202020202d206045787465726e616c44656661756c744f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053757065724d616a6f72697479416761696e737460402020202020207468726573686f6c642e4501202020202d206045787465726e616c4d616a6f726974794f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053696d706c654d616a6f7269747960402020202020207468726573686f6c642ec8202020202d20605369676e65646020627920612063726561746f7220666f722061207075626c69632070726f706f73616c2ef4202020202d20605369676e65646020746f20636c6561722061206d6574616461746120666f7220612066696e6973686564207265666572656e64756d2ee4202020202d2060526f6f746020746f207365742061206d6574616461746120666f7220616e206f6e676f696e67207265666572656e64756d2eb42d20606f776e6572603a20616e206964656e746966696572206f662061206d65746164617461206f776e65722e51012d20606d617962655f68617368603a205468652068617368206f6620616e206f6e2d636861696e2073746f72656420707265696d6167652e20604e6f6e656020746f20636c6561722061206d657461646174612e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ebd030c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000c10304184f7074696f6e040454011c0108104e6f6e6500000010536f6d6504001c0000010000c50304184f7074696f6e040454012c0108104e6f6e6500000010536f6d6504002c0000010000c9030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273350301445665633c543a3a4163636f756e7449643e0001147072696d65cd0301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000060805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e00d4546865206469737061746368206f6620746869732063616c6c206d75737420626520605365744d656d626572734f726967696e602e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e0038232320436f6d706c65786974793a502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e646564291c6578656375746508012070726f706f73616cb503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64c101010c753332000124f0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e0038232320436f6d706c65786974793a5c2d20604f2842202b204d202b205029602077686572653ad82d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429882d20604d60206d656d626572732d636f756e742028636f64652d626f756e64656429a82d2060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c601c70726f706f73650c01247468726573686f6c64c101012c4d656d626572436f756e7400012070726f706f73616cb503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64c101010c753332000238f84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e0034232320436f6d706c6578697479ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602910766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800011c617070726f7665a80110626f6f6c000324f041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e34232320436f6d706c657869747909012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e6465642940636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64d10301244f6c645765696768740001306c656e6774685f626f756e64c101010c7533320004604d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e0034232320436f6d706c6578697479742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e646564294c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005285901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e0034232320436f6d706c6578697479ac4f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c7314636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64c101010c7533320006604d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e0034232320436f6d706c6578697479742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ecd0304184f7074696f6e04045401000108104e6f6e6500000010536f6d650400000000010000d103000006d50300d503082873705f77656967687473244f6c645765696768740000040010010c7536340000d9030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273350301445665633c543a3a4163636f756e7449643e0001147072696d65cd0301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000060805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e00d4546865206469737061746368206f6620746869732063616c6c206d75737420626520605365744d656d626572734f726967696e602e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e0038232320436f6d706c65786974793a502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e646564291c6578656375746508012070726f706f73616cb503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64c101010c753332000124f0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e0038232320436f6d706c65786974793a5c2d20604f2842202b204d202b205029602077686572653ad82d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429882d20604d60206d656d626572732d636f756e742028636f64652d626f756e64656429a82d2060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c601c70726f706f73650c01247468726573686f6c64c101012c4d656d626572436f756e7400012070726f706f73616cb503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64c101010c753332000238f84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e0034232320436f6d706c6578697479ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602910766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800011c617070726f7665a80110626f6f6c000324f041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e34232320436f6d706c657869747909012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e6465642940636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64d10301244f6c645765696768740001306c656e6774685f626f756e64c101010c7533320004604d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e0034232320436f6d706c6578697479742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e646564294c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005285901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e0034232320436f6d706c6578697479ac4f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c7314636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64c101010c7533320006604d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e0034232320436f6d706c6578697479742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632edd030c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665e90201504163636f756e7449644c6f6f6b75704f663c543e00010c616464e90201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273350301445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577e90201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee1030c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001143470726f706f73655f7370656e6408011476616c7565cd01013c42616c616e63654f663c542c20493e00012c62656e6566696369617279e90201504163636f756e7449644c6f6f6b75704f663c543e000018290150757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c75653101697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e6365207468655070726f706f73616c20697320617761726465642e0034232320436f6d706c6578697479182d204f2831293c72656a6563745f70726f706f73616c04012c70726f706f73616c5f6964c101013450726f706f73616c496e646578000118f852656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e0034232320436f6d706c6578697479182d204f28312940617070726f76655f70726f706f73616c04012c70726f706f73616c5f6964c101013450726f706f73616c496e64657800021c5901417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279a8616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00ac4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e0034232320436f6d706c657869747920202d204f2831292e147370656e64080118616d6f756e74cd01013c42616c616e63654f663c542c20493e00012c62656e6566696369617279e90201504163636f756e7449644c6f6f6b75704f663c543e000320b850726f706f736520616e6420617070726f76652061207370656e64206f662074726561737572792066756e64732e004d012d20606f726967696e603a204d75737420626520605370656e644f726967696e60207769746820746865206053756363657373602076616c7565206265696e67206174206c656173742060616d6f756e74602e41012d2060616d6f756e74603a2054686520616d6f756e7420746f206265207472616e736665727265642066726f6d2074686520747265617375727920746f20746865206062656e6566696369617279602ee82d206062656e6566696369617279603a205468652064657374696e6174696f6e206163636f756e7420666f7220746865207472616e736665722e0045014e4f54453a20466f72207265636f72642d6b656570696e6720707572706f7365732c207468652070726f706f736572206973206465656d656420746f206265206571756976616c656e7420746f207468653062656e65666963696172792e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f6964c101013450726f706f73616c496e6465780004342d01466f72636520612070726576696f75736c7920617070726f7665642070726f706f73616c20746f2062652072656d6f7665642066726f6d2074686520617070726f76616c2071756575652ec0546865206f726967696e616c206465706f7369742077696c6c206e6f206c6f6e6765722062652072657475726e65642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602ea02d206070726f706f73616c5f6964603a2054686520696e646578206f6620612070726f706f73616c0034232320436f6d706c6578697479ac2d204f2841292077686572652060416020697320746865206e756d626572206f6620617070726f76616c73001c4572726f72733a61012d206050726f706f73616c4e6f74417070726f766564603a20546865206070726f706f73616c5f69646020737570706c69656420776173206e6f7420666f756e6420696e2074686520617070726f76616c2071756575652c5101692e652e2c207468652070726f706f73616c20686173206e6f74206265656e20617070726f7665642e205468697320636f756c6420616c736f206d65616e207468652070726f706f73616c20646f6573206e6f745901657869737420616c746f6765746865722c2074687573207468657265206973206e6f2077617920697420776f756c642068617665206265656e20617070726f76656420696e2074686520666972737420706c6163652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee5030c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c73e903017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000487c53656e642061206261746368206f662064697370617463682063616c6c732e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e005501546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e31016576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e207468655501604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d6164654d01616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c65746564604c6576656e74206973206465706f73697465642e3461735f64657269766174697665080114696e646578dc010c75313600011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000134dc53656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00550146696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368bc757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e0045014e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e61016265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e7451017468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31607c696e20746865204d756c74697369672070616c6c657420696e73746561642e00f44e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c04011463616c6c73e903017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000234ec53656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e21015468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c64697370617463685f617308012461735f6f726967696eed030154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000318c84469737061746368657320612066756e6374696f6e2063616c6c207769746820612070726f7669646564206f726967696e2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e0034232320436f6d706c65786974791c2d204f2831292e2c666f7263655f626174636804011463616c6c73e903017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004347c53656e642061206261746368206f662064697370617463682063616c6c732ed4556e6c696b6520606261746368602c20697420616c6c6f7773206572726f727320616e6420776f6e277420696e746572727570742e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e004d014966206f726967696e20697320726f6f74207468656e207468652063616c6c732061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c776974685f77656967687408011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000118776569676874240118576569676874000518c4446973706174636820612066756e6374696f6e2063616c6c2077697468206120737065636966696564207765696768742e002d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b8526f6f74206f726967696e20746f20737065636966792074686520776569676874206f66207468652063616c6c2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee903000002b50300ed0308447370697269746e65745f72756e74696d65304f726967696e43616c6c657200011c1873797374656d0400f10301746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0000001c436f756e63696c0400f50301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400f90301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020000c4469640400fd0301506469643a3a4f726967696e3c52756e74696d653e0040002c506f6c6b61646f7458636d04000104014870616c6c65745f78636d3a3a4f726967696e0053002843756d756c757358636d04000504016863756d756c75735f70616c6c65745f78636d3a3a4f726967696e00540010566f69640400090401110173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a566f696400060000f1030c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e6500020000f503084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000f903084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000fd030c0c646964186f726967696e304469645261774f726967696e08344469644964656e7469666965720100244163636f756e74496401000008010869640001344469644964656e7469666965720001247375626d69747465720001244163636f756e744964000001040c2870616c6c65745f78636d1870616c6c6574184f726967696e0001080c58636d0400b50101344d756c74694c6f636174696f6e00000020526573706f6e73650400b50101344d756c74694c6f636174696f6e0001000005040c4863756d756c75735f70616c6c65745f78636d1870616c6c6574184f726967696e0001081452656c6179000000405369626c696e6750617261636861696e0400a9010118506172614964000100000904081c73705f636f726510566f6964000100000d040c3870616c6c65745f76657374696e671870616c6c65741043616c6c0404540001141076657374000024b8556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e005d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e0034232320436f6d706c6578697479242d20604f283129602e28766573745f6f74686572040118746172676574e90201504163636f756e7449644c6f6f6b75704f663c543e00012cb8556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051012d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e0034232320436f6d706c6578697479242d20604f283129602e3c7665737465645f7472616e73666572080118746172676574e90201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65110401a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00023464437265617465206120766573746564207472616e736665722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00cc2d2060746172676574603a20546865206163636f756e7420726563656976696e6720746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e0034232320436f6d706c6578697479242d20604f283129602e54666f7263655f7665737465645f7472616e736665720c0118736f75726365e90201504163636f756e7449644c6f6f6b75704f663c543e000118746172676574e90201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65110401a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00033860466f726365206120766573746564207472616e736665722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00e82d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e11012d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e0034232320436f6d706c6578697479242d20604f283129602e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e6465781c010c75333200013c7363686564756c65325f696e6465781c010c7533320004545d014d657267652074776f2076657374696e67207363686564756c657320746f6765746865722c206372656174696e672061206e65772076657374696e67207363686564756c65207468617420756e6c6f636b73206f7665725501746865206869676865737420706f737369626c6520737461727420616e6420656e6420626c6f636b732e20496620626f7468207363686564756c6573206861766520616c7265616479207374617274656420746865590163757272656e7420626c6f636b2077696c6c206265207573656420617320746865207363686564756c652073746172743b207769746820746865206361766561742074686174206966206f6e65207363686564756c655d0169732066696e6973686564206279207468652063757272656e7420626c6f636b2c20746865206f746865722077696c6c206265207472656174656420617320746865206e6577206d6572676564207363686564756c652c2c756e6d6f6469666965642e00f84e4f54453a20496620607363686564756c65315f696e646578203d3d207363686564756c65325f696e6465786020746869732069732061206e6f2d6f702e41014e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b207072696f7220746f206d657267696e672e61014e4f54453a20496620626f7468207363686564756c6573206861766520656e646564206279207468652063757272656e7420626c6f636b2c206e6f206e6577207363686564756c652077696c6c206265206372656174656464616e6420626f74682077696c6c2062652072656d6f7665642e006c4d6572676564207363686564756c6520617474726962757465733a35012d20607374617274696e675f626c6f636b603a20604d4158287363686564756c65312e7374617274696e675f626c6f636b2c207363686564756c6564322e7374617274696e675f626c6f636b2c48202063757272656e745f626c6f636b29602e21012d2060656e64696e675f626c6f636b603a20604d4158287363686564756c65312e656e64696e675f626c6f636b2c207363686564756c65322e656e64696e675f626c6f636b29602e59012d20606c6f636b6564603a20607363686564756c65312e6c6f636b65645f61742863757272656e745f626c6f636b29202b207363686564756c65322e6c6f636b65645f61742863757272656e745f626c6f636b29602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00e82d20607363686564756c65315f696e646578603a20696e646578206f6620746865206669727374207363686564756c6520746f206d657267652eec2d20607363686564756c65325f696e646578603a20696e646578206f6620746865207365636f6e64207363686564756c6520746f206d657267652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e11040c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720110000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b10012c426c6f636b4e756d626572000015040c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963190401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000470416e6f6e796d6f75736c79207363686564756c652061207461736b2e1863616e63656c0801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001049443616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963190401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000204585363686564756c652061206e616d6564207461736b2e3063616e63656c5f6e616d656404010869640401205461736b4e616d650003047843616e63656c2061206e616d6564207363686564756c6564207461736b2e387363686564756c655f61667465721001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963190401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000404a8416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963190401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000504905363686564756c652061206e616d6564207461736b20616674657220612064656c61792e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e190404184f7074696f6e04045401cc0108104e6f6e6500000010536f6d650400cc00000100001d040c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616ce90201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065210401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000244d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f75676830606164645f70726f7879602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e246164645f70726f78790c012064656c6567617465e90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d6265720001244501526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a11012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792efc2d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e3072656d6f76655f70726f78790c012064656c6567617465e90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200021ca8556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a25012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e41012d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e3872656d6f76655f70726f78696573000318b4556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0041015741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e74732063726561746564206279206070757265602c20686f776576657220696620646f6e652c207468656e590174686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a2c6372656174655f707572650c012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d626572000114696e646578dc010c7531360004483901537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64fc696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e006c5265717569726573206120605369676e656460206f726967696e2e0051012d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468654d016e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f78616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e51012d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d655d017472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a7573744077616e7420746f20757365206030602e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e0051014661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659873616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e44661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e246b696c6c5f7075726514011c737061776e6572e90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d80130543a3a50726f787954797065000114696e646578dc010c753136000118686569676874280138543a3a426c6f636b4e756d6265720001246578745f696e646578c101010c753332000540a052656d6f76657320612070726576696f75736c7920737061776e656420707572652070726f78792e0049015741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c20626534696e61636365737369626c652e0059015265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746f94607075726560207769746820636f72726573706f6e64696e6720706172616d65746572732e0039012d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060707572656020746f206372656174652074686973206163636f756e742e39012d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f206070757265602e2050726f6261626c79206030602eec2d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f206070757265602e29012d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f20607075726560207761732070726f6365737365642e35012d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f20607075726560207761732070726f6365737365642e0035014661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c7920637265617465642070757265dc6163636f756e742077686f7365206070757265602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e20616e6e6f756e63650801107265616ce90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e00063c05015075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e005d0154686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d7074656425016966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e0011014e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000901546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c206173190160416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656d6f76655f616e6e6f756e63656d656e740801107265616ce90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e0007287052656d6f7665206120676976656e20616e6e6f756e63656d656e742e0059014d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e30746865206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465e90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e000828b052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e0061014d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c6567617465732501286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733af42d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ebc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e3c70726f78795f616e6e6f756e63656410012064656c6567617465e90201504163636f756e7449644c6f6f6b75704f663c543e0001107265616ce90201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065210401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00092c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e210404184f7074696f6e04045401d80108104e6f6e6500000010536f6d650400d8000001000025040c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000110346e6f74655f707265696d616765040114627974657330011c5665633c75383e000010745265676973746572206120707265696d616765206f6e2d636861696e2e00550149662074686520707265696d616765207761732070726576696f75736c79207265717565737465642c206e6f2066656573206f72206465706f73697473206172652074616b656e20666f722070726f766964696e67550174686520707265696d6167652e204f74686572776973652c2061206465706f7369742069732074616b656e2070726f706f7274696f6e616c20746f207468652073697a65206f662074686520707265696d6167652e3c756e6e6f74655f707265696d616765040110686173682c011c543a3a48617368000118dc436c65617220616e20756e72657175657374656420707265696d6167652066726f6d207468652072756e74696d652073746f726167652e00fc496620606c656e602069732070726f76696465642c207468656e2069742077696c6c2062652061206d7563682063686561706572206f7065726174696f6e2e0001012d206068617368603a205468652068617368206f662074686520707265696d61676520746f2062652072656d6f7665642066726f6d207468652073746f72652eb82d20606c656e603a20546865206c656e677468206f662074686520707265696d616765206f66206068617368602e40726571756573745f707265696d616765040110686173682c011c543a3a48617368000210410152657175657374206120707265696d6167652062652075706c6f6164656420746f2074686520636861696e20776974686f757420706179696e6720616e792066656573206f72206465706f736974732e00550149662074686520707265696d6167652072657175657374732068617320616c7265616479206265656e2070726f7669646564206f6e2d636861696e2c20776520756e7265736572766520616e79206465706f7369743901612075736572206d6179206861766520706169642c20616e642074616b652074686520636f6e74726f6c206f662074686520707265696d616765206f7574206f662074686569722068616e64732e48756e726571756573745f707265696d616765040110686173682c011c543a3a4861736800030cbc436c65617220612070726576696f75736c79206d616465207265717565737420666f72206120707265696d6167652e002d014e4f54453a2054484953204d555354204e4f542042452043414c4c4544204f4e20606861736860204d4f52452054494d4553205448414e2060726571756573745f707265696d616765602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e29040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665e90201504163636f756e7449644c6f6f6b75704f663c543e00010c616464e90201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273350301445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577e90201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e2d040c2c70616c6c65745f746970731870616c6c65741043616c6c080454000449000118387265706f72745f617765736f6d65080118726561736f6e30011c5665633c75383e00010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00004059015265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051015061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173bc60446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e0074456d69747320604e657754697060206966207375636365737366756c2e0034232320436f6d706c6578697479982d20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e9020202d20656e636f64696e6720616e642068617368696e67206f662027726561736f6e272c726574726163745f746970040110686173682c011c543a3a486173680001405101526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00dc4966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e004d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e7469666965642062792060686173686041016d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f744c7468726f75676820607469705f6e657760292e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e008c456d697473206054697052657472616374656460206966207375636365737366756c2e0034232320436f6d706c6578697479202d20604f28312960d820202d20446570656e6473206f6e20746865206c656e677468206f662060543a3a48617368602077686963682069732066697865642e1c7469705f6e65770c0118726561736f6e30011c5665633c75383e00010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e0001247469705f76616c7565cd01013c42616c616e63654f663c542c20493e00024cf04769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e0074456d69747320604e657754697060206966207375636365737366756c2e0034232320436f6d706c657869747921012d20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732e5d0120202d20604f285429603a206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792d012020202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f66442020202060543a3a54697070657273602ee020202d20604f285229603a2068617368696e6720616e6420656e636f64696e67206f6620726561736f6e206f66206c656e677468206052600c746970080110686173682c011c543a3a486173680001247469705f76616c7565cd01013c42616c616e63654f663c542c20493e000354b04465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e65666963696172793420206163636f756e742049442e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e006101456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f643068617320737461727465642e0034232320436f6d706c657869747961012d20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e677468206054602c20696e736572745901202074697020616e6420636865636b20636c6f73696e672c20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e010120205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e005d01202041637475616c6c792077656967687420636f756c64206265206c6f77657220617320697420646570656e6473206f6e20686f77206d616e7920746970732061726520696e20604f70656e5469706020627574206974d02020697320776569676874656420617320696620616c6d6f73742066756c6c20692e65206f66206c656e6774682060542d31602e24636c6f73655f746970040110686173682c011c543a3a486173680004345c436c6f736520616e64207061796f75742061207469702e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00150154686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e0034232320436f6d706c65786974795d012d203a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e20605460590120206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e94202074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e24736c6173685f746970040110686173682c011c543a3a486173680005289452656d6f766520616e6420736c61736820616e20616c72656164792d6f70656e207469702e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e00f44173206120726573756c742c207468652066696e64657220697320736c617368656420616e6420746865206465706f7369747320617265206c6f73742e0084456d6974732060546970536c617368656460206966207375636365737366756c2e0034232320436f6d706c65786974791c2d204f2831292e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e31040c3c70616c6c65745f6d756c74697369671870616c6c65741043616c6c0404540001105061735f6d756c74695f7468726573686f6c645f310801446f746865725f7369676e61746f72696573350301445665633c543a3a4163636f756e7449643e00011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000305101496d6d6564696174656c792064697370617463682061206d756c74692d7369676e61747572652063616c6c207573696e6720612073696e676c6520617070726f76616c2066726f6d207468652063616c6c65722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003d012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f206172652070617274206f662074686501016d756c74692d7369676e61747572652c2062757420646f206e6f7420706172746963697061746520696e2074686520617070726f76616c2070726f636573732e882d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e00b8526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c742e0034232320436f6d706c657869747919014f285a202b204329207768657265205a20697320746865206c656e677468206f66207468652063616c6c20616e6420432069747320657865637574696f6e207765696768742e2061735f6d756c74691401247468726573686f6c64dc010c7531360001446f746865725f7369676e61746f72696573350301445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74350401844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e00011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0001286d61785f77656967687424011857656967687400019c5501526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966f8617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e002d015061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c75733d01607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f723469732063616e63656c6c65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e59012d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e20496620697420697351016e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d47472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e882d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e001d014e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f20757365190160617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005901526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f746865727769736555016f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642cdc6d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e0034232320436f6d706c6578697479502d20604f2853202b205a202b2043616c6c29602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e21012d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed42d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292ef82d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e302d204f6e65206576656e742e6c2d2054686520776569676874206f6620746865206063616c6c602e4d012d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061206465706f7369741901202074616b656e20666f7220697473206c69666574696d65206f6620604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e40617070726f76655f61735f6d756c74691401247468726573686f6c64dc010c7531360001446f746865725f7369676e61746f72696573350301445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74350401844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e00012463616c6c5f686173680401205b75383b2033325d0001286d61785f7765696768742401185765696768740002785501526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966f8617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e002d015061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c75733d01607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f723469732063616e63656c6c65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e59012d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e20496620697420697351016e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d47472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ecc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e0035014e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e0034232320436f6d706c6578697479242d20604f285329602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed42d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292ef82d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e302d204f6e65206576656e742e4d012d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061206465706f7369741901202074616b656e20666f7220697473206c69666574696d65206f6620604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e3c63616e63656c5f61735f6d756c74691001247468726573686f6c64dc010c7531360001446f746865725f7369676e61746f72696573350301445665633c543a3a4163636f756e7449643e00012474696d65706f696e74f0016454696d65706f696e743c543a3a426c6f636b4e756d6265723e00012463616c6c5f686173680401205b75383b2033325d000354550143616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c4666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e5d012d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c787472616e73616374696f6e20666f7220746869732064697370617463682ecc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e0034232320436f6d706c6578697479242d20604f285329602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e302d204f6e65206576656e742e842d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e702d2053746f726167653a2072656d6f766573206f6e65206974656d2e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e350404184f7074696f6e04045401f00108104e6f6e6500000010536f6d650400f0000001000039040c1463747970651870616c6c65741043616c6c0404540001080c616464040114637479706530011c5665633c75383e00003009014372656174652061206e65772043547970652066726f6d2074686520676976656e20756e69717565204354797065206861736820616e64206173736f6369617465735069742077697468206974732063726561746f722e00dc412043547970652077697468207468652073616d652068617368206d757374206e6f742062652073746f726564206f6e20636861696e2e0054456d6974732060435479706543726561746564602e002823203c7765696768743e305765696768743a204f283129602d2052656164733a204374797065732c2042616c616e6365642d205772697465733a204374797065732c2042616c616e63652c23203c2f7765696768743e407365745f626c6f636b5f6e756d62657208012863747970655f686173682c01384374797065486173684f663c543e000130626c6f636b5f6e756d626572100144426c6f636b4e756d626572466f723c543e00010ce853657420746865206372656174696f6e20626c6f636b206e756d62657220666f72206120676976656e2043547970652c20696620666f756e642e0054456d6974732060435479706555706461746564602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e3d040c2c6174746573746174696f6e1870616c6c65741043616c6c0404540001180c6164640c0128636c61696d5f686173682c0138436c61696d486173684f663c543e00012863747970655f686173682c01384374797065486173684f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000054644372656174652061206e6577206174746573746174696f6e2e00f85468652061747465737465722063616e206f7074696f6e616c6c792070726f766964652061207265666572656e636520746f20616e206578697374696e67090164656c65676174696f6e20746861742077696c6c20626520736176656420616c6f6e67207769746820746865206174746573746174696f6e20697473656c6620696e8c74686520666f726d206f6620616e2061747465737465642064656c65676174696f6e2e00ec546865207265666572656e6365642043547970652068617368206d75737420616c72656164792062652070726573656e74206f6e20636861696e2e000901496620616e206f7074696f6e616c2064656c65676174696f6e2069642069732070726f76696465642c20746865206469737061746368206f726967696e206d757374e8626520746865206f776e6572206f66207468652064656c65676174696f6e2e204f74686572776973652c20697420636f756c6420626520616e79546044656c65676174696f6e456e746974794964602e006c456d69747320604174746573746174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b82d2052656164733a205b4f726967696e204163636f756e745d2c2043747970652c204174746573746174696f6e73e42d2052656164732069662064656c65676174696f6e2069642069732070726f76696465643a2044656c65676174696f6e732c20526f6f74732c5c202044656c6567617465644174746573746174696f6e73bc2d205772697465733a204174746573746174696f6e732c202844656c6567617465644174746573746174696f6e73292c23203c2f7765696768743e187265766f6b65080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001447c5265766f6b6520616e206578697374696e67206174746573746174696f6e2e00fc546865207265766f6b6572206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206265696e6709017265766f6b6564206f7220616e20656e74697479207468617420696e207468652064656c65676174696f6e207472656520697320616e20616e636573746f72206f6609017468652061747465737465722c20692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7250616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e5265766f6b6564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e1872656d6f7665080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0002445852656d6f766520616e206174746573746174696f6e2e00f8546865206f726967696e206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206f7220616e0d01656e7469747920776869636820697320616e20616e636573746f72206f662074686520617474657374657220696e207468652064656c65676174696f6e20747265652c0101692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7220616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e52656d6f766564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e000324d05265636c61696d20612073746f72616765206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e0064456d69747320604465706f7369745265636c61696d6564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572040128636c61696d5f686173682c0138436c61696d486173684f663c543e00041c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00ec546865207375626a656374206f66207468652063616c6c206d757374206265207468652061747465737465722077686f206973737565732074686509016174746573746174696f6e2e205468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e00050cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e410404184f7074696f6e0404540145040108104e6f6e6500000010536f6d6504004504000001000045040c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c50616c6c6574417574686f72697a65043044656c65676174696f6e416301490401042844656c65676174696f6e04004904013044656c65676174696f6e41630000000049040c2864656c65676174696f6e386163636573735f636f6e74726f6c3044656c65676174696f6e4163040454014d040008013c7375626a6563745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e0001286d61785f636865636b731c010c75333200004d0408447370697269746e65745f72756e74696d651c52756e74696d650000000051040c2864656c65676174696f6e1870616c6c65741043616c6c04045400011c406372656174655f686965726172636879080130726f6f745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e00012863747970655f686173682c01384374797065486173684f663c543e00006401014372656174652061206e65772064656c65676174696f6e20726f6f74206173736f6369617465642077697468206120676976656e20435479706520686173682e00f8546865206e657720726f6f742077696c6c20616c6c6f772061206e65772074727573742068696572617263687920746f2062652063726561746564206279a0616464696e67206368696c6472656e2064656c65676174696f6e7320746f2074686520726f6f742e000d015468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652049442073746f726564206f6e20636861696e2c207768696c65fc7468657265206d75737420626520616c7265616479206120435479706520776974682074686520676976656e20686173682073746f72656420696e207468653443547970652070616c6c65742e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0050456d6974732060526f6f7443726561746564602e002823203c7765696768743e305765696768743a204f283129a02d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c204354797065733c2d205772697465733a20526f6f74732c23203c2f7765696768743e386164645f64656c65676174696f6e14013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e000124706172656e745f69642c015444656c65676174696f6e4e6f646549644f663c543e00012064656c656761746500014044656c656761746f7249644f663c543e00012c7065726d697373696f6e730901012c5065726d697373696f6e7300014864656c65676174655f7369676e61747572655504016844656c65676174655369676e6174757265547970654f663c543e000180744372656174652061206e65772064656c65676174696f6e206e6f64652e00f4546865206e65772064656c65676174696f6e206e6f646520726570726573656e74732061206e65772074727573742068696572617263687920746861740d01636f6e73696465727320746865206e6577206e6f64652061732069747320726f6f742e20546865206f776e6572206f662074686973206e6f6465206861732066756c6ce0636f6e74726f6c206f76657220616e79206f66206974732064697265637420616e6420696e6469726563742064657363656e64616e74732e00fc466f7220746865206372656174696f6e20746f20737563636565642c207468652064656c656761746565206d7573742070726f7669646520612076616c696411017369676e6174757265206f766572207468652028626c616b65323536292068617368206f6620746865206372656174696f6e206f7065726174696f6e2064657461696c731101776869636820696e636c7564652028696e206f72646572292064656c65676174696f6e2069642c20726f6f74206e6f64652069642c20706172656e742069642c20616e64707065726d697373696f6e73206f6620746865206e6577206e6f64652e00f45468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652069642073746f726564206f6e20636861696e2e0501467572746865726d6f72652c20746865207265666572656e63656420726f6f7420616e6420706172656e74206e6f646573206d75737420616c7265616479206265050170726573656e74206f6e20636861696e20616e6420636f6e7461696e207468652076616c6964207065726d697373696f6e7320616e64207265766f636174696f6e6c7374617475732028692e652e2c206e6f74207265766f6b6564292e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0068456d697473206044656c65676174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b42d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2044656c65676174696f6e73542d205772697465733a2044656c65676174696f6e732c23203c2f7765696768743e447265766f6b655f64656c65676174696f6e0c013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001446d61785f706172656e745f636865636b731c010c75333200013c6d61785f7265766f636174696f6e731c010c753332000274f85265766f6b6520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00fc446f6573206e6f7420726566756e64207468652064656c65676174696f6e206261636b20746f20746865206465706f736974206f776e657220617320746865f06e6f6465206973207374696c6c2073746f726564206f6e20636861696e2e20526571756972657320746f206164646974696f6e616c6c792063616c6cb46072656d6f76655f64656c65676174696f6e6020746f20756e7265736572766520746865206465706f7369742e0009015265766f6b696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67090166726f6d2074686520676976656e206e6f6465206265696e67207265766f6b65642e204e657665727468656c6573732c207265766f636174696f6e20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f6465206973207265766f6b65642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e73696465726564207265766f6b65642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e5265766f6b6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e802d205772697465733a20526f6f74732c2043202a2044656c65676174696f6e732c23203c2f7765696768743e4472656d6f76655f64656c65676174696f6e08013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000370f852656d6f766520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e52656d6f766564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000460f45265636c61696d20746865206465706f73697420666f7220612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74b86e6f6465292c2072656d6f76696e6720746865206e6f646520616e6420616c6c20697473206368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e000d01546865206469737061746368206f726967696e206d757374206265207369676e6564206279207468652064656c65676174696f6e206465706f736974206f776e65722e004c604465706f7369745265636c61696d6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f72656d6f76616c73602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e000501546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652064656c65676174696f6e206e6f64652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e55040c0c6469642c6469645f64657461696c73304469645369676e617475726500010c1c45643235353139040059040148656432353531393a3a5369676e61747572650000001c53723235353139040061040148737232353531393a3a5369676e617475726500010014456364736104006504014065636473613a3a5369676e61747572650002000059040c1c73705f636f72651c65643235353139245369676e6174757265000004005d0401205b75383b2036345d00005d0400000340000000080061040c1c73705f636f72651c73723235353139245369676e6174757265000004005d0401205b75383b2036345d000065040c1c73705f636f7265146563647361245369676e617475726500000400690401205b75383b2036355d000069040000034100000008006d040c0c6469641870616c6c65741043616c6c04045400013c1863726561746508011c64657461696c7371040170426f783c4469644372656174696f6e44657461696c734f663c543e3e0001247369676e6174757265550401304469645369676e617475726500007cec53746f72652061206e657720444944206f6e20636861696e2c20616674657220766572696679696e67207468617420746865206372656174696f6e05016f7065726174696f6e20686173206265656e207369676e656420627920746865204b494c54206163636f756e74206173736f63696174656420776974682074686501016964656e746966696572206f662074686520444944206265696e67206372656174656420616e6420746861742061204449442077697468207468652073616d6511016964656e74696669657220686173206e6f742070726576696f75736c792065786973746564206f6e2028616e64207468656e2064656c657465642066726f6d292074686518636861696e2e000d015468657265206d757374206265206e6f2044494420696e666f726d6174696f6e2073746f726564206f6e20636861696e20756e646572207468652073616d65204449442c6964656e7469666965722e00fc546865206e6577206b65797320616464656420776974682074686973206f7065726174696f6e206172652073746f72656420756e646572207468652044494405016964656e74696669657220616c6f6e6720776974682074686520626c6f636b206e756d62657220696e20776869636820746865206f7065726174696f6e207761732465786563757465642e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e004c456d697473206044696443726561746564602e002823203c7765696768743e0d012d20546865207472616e73616374696f6e277320636f6d706c6578697479206973206d61696e6c7920646570656e64656e74206f6e20746865206e756d626572206f66010120206e6577206b65792061677265656d656e74206b65797320616e6420746865206e756d626572206f66206e6577207365727669636520656e64706f696e7473702020696e636c7564656420696e20746865206f7065726174696f6e2e242d2d2d2d2d2d2d2d2df85765696768743a204f284b29202b204f284e29207768657265204b20697320746865206e756d626572206f66206e6577206b65792061677265656d656e7409016b65797320626f756e64656420627920604d61784e65774b657941677265656d656e744b657973602c207768696c65204e20697320746865206e756d626572206f66f46e6577207365727669636520656e64706f696e747320626f756e64656420627920604d61784e756d6265724f665365727669636573506572446964602eb02d2052656164733a205b4f726967696e204163636f756e745d2c204469642c20446964426c61636b6c697374fc2d205772697465733a20446964202877697468204b206e6577206b65792061677265656d656e74206b657973292c2053657276696365456e64706f696e7473cc20202877697468204e206e6577207365727669636520656e64706f696e7473292c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e587365745f61757468656e7469636174696f6e5f6b657904011c6e65775f6b6579ad040148446964566572696669636174696f6e4b65790001408855706461746520746865204449442061757468656e7469636174696f6e206b65792e00ec546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696620697420697309016e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f207468654c736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e487365745f64656c65676174696f6e5f6b657904011c6e65775f6b6579ad040148446964566572696669636174696f6e4b657900024094536574206f722075706461746520746865204449442064656c65676174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5472656d6f76655f64656c65676174696f6e5f6b657900033c7852656d6f766520746865204449442064656c65676174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e4c7365745f6174746573746174696f6e5f6b657904011c6e65775f6b6579ad040148446964566572696669636174696f6e4b657900044098536574206f72207570646174652074686520444944206174746573746174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5872656d6f76655f6174746573746174696f6e5f6b657900053c7c52656d6f76652074686520444944206174746573746174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e546164645f6b65795f61677265656d656e745f6b657904011c6e65775f6b65799d040140446964456e6372797074696f6e4b6579000638b841646420612073696e676c65206e6577206b65792061677265656d656e74206b657920746f20746865204449442e00bc546865206e6577206b657920697320616464656420746f2074686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e6072656d6f76655f6b65795f61677265656d656e745f6b65790401186b65795f69642c01284b657949644f663c543e000734050152656d6f7665206120444944206b65792061677265656d656e74206b65792066726f6d20626f74682069747320736574206f66206b65792061677265656d656e74906b65797320616e642061732077656c6c20617320697473207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506164645f736572766963655f656e64706f696e74040140736572766963655f656e64706f696e7479040138446964456e64706f696e743c543e000830bc4164642061206e6577207365727669636520656e64706f696e7420756e6465722074686520676976656e204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f2831290d012d2052656164733a205b4f726967696e204163636f756e745d2c204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e5c72656d6f76655f736572766963655f656e64706f696e74040128736572766963655f69647d04015053657276696365456e64706f696e7449643c543e000930d452656d6f76652074686520736572766963652077697468207468652070726f76696465642049442066726f6d20746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e1864656c65746504014c656e64706f696e74735f746f5f72656d6f76651c010c753332000a600d0144656c6574652061204449442066726f6d2074686520636861696e20616e6420616c6c20696e666f726d6174696f6e206173736f63696174656420776974682069742c1101616674657220766572696679696e672074686174207468652064656c657465206f7065726174696f6e20686173206265656e207369676e65642062792074686520444944fc7375626a656374207573696e67207468652061757468656e7469636174696f6e206b65792063757272656e746c792073746f726564206f6e20636861696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408012c6469645f7375626a6563740001484469644964656e7469666965724f663c543e00014c656e64706f696e74735f746f5f72656d6f76651c010c753332000b54f45265636c61696d2061206465706f73697420666f722061204449442e20546869732077696c6c2064656c657465207468652044494420616e6420616c6c0901696e666f726d6174696f6e206173736f63696174656420776974682069742c20616674657220766572696679696e672074686174207468652063616c6c657220697364746865206f776e6572206f6620746865206465706f7369742e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7375626d69745f6469645f63616c6c0801206469645f63616c6cc1040190426f783c446964417574686f72697a656443616c6c4f7065726174696f6e4f663c543e3e0001247369676e6174757265550401304469645369676e6174757265000c8cec50726f7879206120646973706174636861626c652063616c6c206f6620616e6f746865722072756e74696d652065787472696e736963207468617458737570706f727473206120444944206f726967696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f726520746865606f7065726174696f6e20697320646973706174636865642e00fc412063616c6c207375626d6974746564207468726f75676820746869732065787472696e736963206d757374206265207369676e65642077697468207468650901726967687420444944206b65792c20646570656e64696e67206f6e207468652063616c6c2e205468697320696e666f726d6174696f6e2069732070726f766964656409016279207468652060446964417574686f72697a656443616c6c4f7065726174696f6e6020706172616d657465722c20776869636820737065636966696573207468650901444944207375626a65637420616374696e6720617320746865206f726967696e206f66207468652063616c6c2c2074686520444944277320747820636f756e7465720101286e6f6e6365292c2074686520646973706174636861626c6520746f2063616c6c20696e2063617365207369676e617475726520766572696669636174696f6ef073756363656564732c207468652074797065206f6620444944206b657920746f2075736520746f2076657269667920746865206f7065726174696f6efc7369676e61747572652c20616e642074686520626c6f636b206e756d62657220746865206f7065726174696f6e2077617320746172676574696e6720666f72a8696e636c7573696f6e2c207768656e20697420776173206372656174656420616e64207369676e65642e00fc496e206361736520746865207369676e617475726520697320696e636f72726563742c20746865206e6f6e6365206973206e6f742076616c69642c20746865fc7265717569726564206b6579206973206e6f742070726573656e7420666f722074686520737065636966696564204449442c206f722074686520626c6f636bfc73706563696669656420697320746f6f206f6c642074686520766572696669636174696f6e206661696c7320616e64207468652063616c6c206973206e6f74f4646973706174636865642e204f74686572776973652c207468652063616c6c2069732070726f7065726c79206469737061746368656420776974682061b8604469644f726967696e60206f726967696e20696e6469636174696e672074686520444944207375626a6563742e00110141207375636365737366756c206469737061746368206f7065726174696f6e20726573756c747320696e2074686520747820636f756e746572206173736f6369617465640501776974682074686520676976656e2044494420746f20626520696e6372656d656e7465642c20746f206d69746967617465207265706c61792061747461636b732e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e0068456d697473206044696443616c6c44697370617463686564602e002823203c7765696768743eb05765696768743a204f283129202b20776569676874206f662074686520646973706174636865642063616c6c782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572000d1c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00b8546865207375626a656374206f66207468652063616c6c206d7573742062652074686520646964206f776e65722ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404010c6469640001484469644964656e7469666965724f663c543e000e0cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e71040c0c6469642c6469645f64657461696c73484469644372656174696f6e44657461696c7310344469644964656e7469666965720100244163636f756e7449640100584d61784e65774b657941677265656d656e744b6579730175042c446964456e64706f696e740179040018010c6469640001344469644964656e7469666965720001247375626d69747465720001244163636f756e7449640001586e65775f6b65795f61677265656d656e745f6b657973990401c04469644e65774b657941677265656d656e744b65795365743c4d61784e65774b657941677265656d656e744b6579733e00014c6e65775f6174746573746174696f6e5f6b6579a90401684f7074696f6e3c446964566572696669636174696f6e4b65793e0001486e65775f64656c65676174696f6e5f6b6579a90401684f7074696f6e3c446964566572696669636174696f6e4b65793e00014c6e65775f736572766963655f64657461696c73bd0401405665633c446964456e64706f696e743e00007504103872756e74696d655f636f6d6d6f6e24636f6e7374616e74730c646964584d61784e65774b657941677265656d656e744b6579730000000079040c0c64696444736572766963655f656e64706f696e74732c446964456e64706f696e7404045400000c010869647d04015053657276696365456e64706f696e7449643c543e000134736572766963655f74797065738104017453657276696365456e64706f696e7454797065456e74726965733c543e00011075726c738d04017053657276696365456e64706f696e7455726c456e74726965733c543e00007d040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000081040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454018504045300000400890401185665633c543e000085040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000089040000028504008d040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454019104045300000400950401185665633c543e000091040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000950400000291040099040c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454019d04045300000400a104012c42547265655365743c543e00009d040c0c6469642c6469645f64657461696c7340446964456e6372797074696f6e4b65790001041858323535313904000401205b75383b2033325d00000000a10404204254726565536574040454019d04000400a504000000a5040000029d0400a90404184f7074696f6e04045401ad040108104e6f6e6500000010536f6d650400ad040000010000ad040c0c6469642c6469645f64657461696c7348446964566572696669636174696f6e4b657900010c1c456432353531390400b104013c656432353531393a3a5075626c69630000001c5372323535313904002903013c737232353531393a3a5075626c69630001001445636473610400b504013465636473613a3a5075626c696300020000b1040c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d0000b5040c1c73705f636f7265146563647361185075626c696300000400b90401205b75383b2033335d0000b904000003210000000800bd04000002790400c1040c0c6469642c6469645f64657461696c7368446964417574686f72697a656443616c6c4f7065726174696f6e14344469644964656e74696669657201002c44696443616c6c61626c6501b5032c426c6f636b4e756d6265720110244163636f756e7449640100245478436f756e74657201100014010c6469640001344469644964656e74696669657200012874785f636f756e7465721001245478436f756e74657200011063616c6cb503012c44696443616c6c61626c65000130626c6f636b5f6e756d62657210012c426c6f636b4e756d6265720001247375626d69747465720001244163636f756e7449640000c5040c4470616c6c65745f6469645f6c6f6f6b75701870616c6c65741043616c6c04045400011c446173736f63696174655f6163636f756e7408010c726571c904015c4173736f63696174654163636f756e745265717565737400012865787069726174696f6e1001a03c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a426c6f636b4e756d62657200004405014173736f63696174652074686520676976656e206163636f756e7420746f2074686520444944207468617420617574686f72697a656420746869732063616c6c2e000501546865206163636f756e742068617320746f207369676e207468652044494420616e64206120626c6f636b6e756d62657220616674657220776869636820746865e07369676e6174757265206578706972657320696e206f7264657220746f20617574686f72697a6520746865206173736f63696174696f6e2e001101546865207369676e61747572652077696c6c20626520636865636b656420616761696e737420746865207363616c6520656e636f646564207475706c65206f66207468650d016d6574686f64207370656369666963206964206f662074686520646964206964656e74696669657220616e642074686520626c6f636b206e756d626572206166746572bc776869636820746865207369676e61747572652073686f756c6420626520726567617264656420696e76616c69642e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e406173736f63696174655f73656e64657200012c01014173736f6369617465207468652073656e646572206f66207468652063616c6c20746f2074686520444944207468617420617574686f72697a656420746869731463616c6c2e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6472656d6f76655f73656e6465725f6173736f63696174696f6e000228fc52656d6f766520746865206173736f63696174696f6e206f66207468652073656e646572206163636f756e742e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865204449442c206275742072657175697265732061207369676e6564206f726967696e2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6872656d6f76655f6163636f756e745f6173736f63696174696f6e04011c6163636f756e74150101444c696e6b61626c654163636f756e74496400032c110152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742049442e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865206163636f756e742049442c2062757420746865206173736f63696174656420444944c46e6565647320746f206d617463682074686520444944207468617420617574686f72697a656420746869732063616c6c2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697404011c6163636f756e74150101444c696e6b61626c654163636f756e74496400042c090152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742e20546869732063616c6c2063616e206f6e6c79f862652063616c6c65642066726f6d20746865206465706f736974206f776e65722e20546865207265736572766564206465706f7369742077696c6c2062651866726565642e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129582d2052656164733a20436f6e6e6563746564446964735c2d205772697465733a20436f6e6e6563746564446964732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204011c6163636f756e74150101444c696e6b61626c654163636f756e74496400051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00d8546865207375626a656374206f66207468652063616c6c206d757374206265206c696e6b656420746f20746865206163636f756e742ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404011c6163636f756e74150101444c696e6b61626c654163636f756e74496400060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ec9040c4470616c6c65745f6469645f6c6f6f6b7570646173736f63696174655f6163636f756e745f726571756573745c4173736f63696174654163636f756e745265717565737400010820506f6c6b61646f74080000012c4163636f756e74496433320000cd0401384d756c74695369676e617475726500000020457468657265756d08001901012c4163636f756e74496432300000d1040144457468657265756d5369676e617475726500010000cd04082873705f72756e74696d65384d756c74695369676e617475726500010c1c45643235353139040059040148656432353531393a3a5369676e61747572650000001c53723235353139040061040148737232353531393a3a5369676e617475726500010014456364736104006504014065636473613a3a5369676e617475726500020000d1040c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e7444457468657265756d5369676e6174757265000004006504014065636473613a3a5369676e61747572650000d5040c4470616c6c65745f776562335f6e616d65731870616c6c65741043616c6c04045400011c14636c61696d0401106e616d6529010140576562334e616d65496e7075743c543e00003ce841737369676e2074686520737065636966696564206e616d6520746f20746865206f776e65722061732073706563696669656420696e207468651c6f726967696e2e000d01546865206e616d65206d757374206e6f74206861766520616c7265616479206265656e20636c61696d656420627920736f6d656f6e6520656c736520616e6420746865a06f776e6572206d757374206e6f7420616c7265616479206f776e20616e6f74686572206e616d652e00dc456d6974732060576562334e616d65436c61696d65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f28312909012d2052656164733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b20617661696c61626c652063757272656e6379582020636865636b202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f73697420726573657276652c23203c2f7765696768743e4072656c656173655f62795f6f776e6572000130a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e00cc546865206f726967696e206d75737420626520746865206f776e6572206f662074686520737065636966696564206e616d652e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204e616d65732073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e3c7265636c61696d5f6465706f7369740401106e616d6529010140576562334e616d65496e7075743c543e000230a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e000101546865206f726967696e206d75737420626520746865206163636f756e742074686174207061696420666f7220746865206e616d652773206465706f7369742e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204f776e65722073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e0c62616e0401106e616d6529010140576562334e616d65496e7075743c543e0003402c42616e2061206e616d652e00f4412062616e6e6564206e616d652063616e6e6f7420626520636c61696d656420627920616e796f6e652e20546865206e616d652773206465706f7369748869732072657475726e656420746f20746865206f726967696e616c2070617965722e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00d8456d6974732060576562334e616d6542616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129f02d2052656164733a2042616e6e65642c204f776e65722c204e616d65732073746f7261676520656e7472696573202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b2063757272656e6379206465706f73697424202072656c656173652c23203c2f7765696768743e14756e62616e0401106e616d6529010140576562334e616d65496e7075743c543e00043834556e62616e2061206e616d652e00704d616b652061206e616d6520636c61696d61626c6520616761696e2e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00e0456d6974732060576562334e616d65556e62616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129b02d2052656164733a2042616e6e65642073746f7261676520656e747279202b206f726967696e20636865636bb82d205772697465733a2042616e6e65642073746f7261676520656e747279206465706f7369742072656c656173652c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657200051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00e8546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f662074686520776562336e616d652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f7369740401286e616d655f696e70757429010140576562334e616d65496e7075743c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed9040c487075626c69635f63726564656e7469616c731870616c6c65741043616c6c04045400011c0c61646404012863726564656e7469616cdd040164426f783c496e70757443726564656e7469616c4f663c543e3e000018a852656769737465722061206e6577207075626c69632063726564656e7469616c206f6e20636861696e2e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c2077697468207468652073616d65206964656e74696669657220616c72656164798465786973747320666f722074686520737065636966696564207375626a6563742e0064456d697473206043726564656e7469616c53746f726564602e187265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000120705265766f6b65732061207075626c69632063726564656e7469616c2e001101496620612063726564656e7469616c2077617320616c7265616479207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f207265766f6b65207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c5265766f6b6564602e20756e7265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00022478556e7265766f6b65732061207075626c69632063726564656e7469616c2e000101496620612063726564656e7469616c20776173206e6f74207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e00d8546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f20756e7265766f6b65207468652c63726564656e7469616c2e0070456d697473206043726564656e7469616c556e7265766f6b6564602e1872656d6f766508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000344fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d2074686518636861696e2e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f2072656d6f7665207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c52656d6f766564602e3c7265636c61696d5f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000448fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d20746865ac636861696e20616e642072657475726e7320746865206465706f73697420746f206974732070617965722e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000d01546865206469737061746368206f726967696e206d75737420626520746865206f776e6572206f6620746865206465706f7369742c2068656e6365206e6f74207468655863726564656e7469616c27732061747465737465722e0068456d697473206043726564656e7469616c52656d6f766564602e506368616e67655f6465706f7369745f6f776e657204013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00f0546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652063726564656e7469616c2ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632edd040c487075626c69635f63726564656e7469616c732c63726564656e7469616c732843726564656e7469616c1024437479706548617368012c445375626a6563744964656e74696669657201e10418436c61696d7301e50434416363657373436f6e74726f6c0145040010012863747970655f686173682c012443747970654861736800011c7375626a656374e10401445375626a6563744964656e746966696572000118636c61696d73e5040118436c61696d73000134617574686f72697a6174696f6e410401544f7074696f6e3c416363657373436f6e74726f6c3e0000e1040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000e5040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000e9040c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c65741043616c6c0404540001104c7365745f76616c69646174696f6e5f6461746104011064617461ed04015450617261636861696e496e686572656e744461746100002480536574207468652063757272656e742076616c69646174696f6e20646174612e004101546869732073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e887068617365206966207468652063616c6c20776173206e6f7420696e766f6b65642e00d0546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e7460002101417320612073696465206566666563742c20746869732066756e6374696f6e207570677261646573207468652063757272656e742076616c69646174696f6e2066756e6374696f6e8469662074686520617070726f7072696174652074696d652068617320636f6d652e607375646f5f73656e645f7570776172645f6d65737361676504011c6d6573736167653001345570776172644d65737361676500010044617574686f72697a655f75706772616465080124636f64655f686173682c011c543a3a48617368000134636865636b5f76657273696f6ea80110626f6f6c0002206101417574686f72697a6520616e207570677261646520746f206120676976656e2060636f64655f686173686020666f72207468652072756e74696d652e205468652072756e74696d652063616e20626520737570706c696564186c617465722e005d015468652060636865636b5f76657273696f6e6020706172616d657465722073657473206120626f6f6c65616e20666c616720666f722077686574686572206f72206e6f74207468652072756e74696d6527732073706563610176657273696f6e20616e64206e616d652073686f756c64206265207665726966696564206f6e20757067726164652e2053696e63652074686520617574686f72697a6174696f6e206f6e6c7920686173206120686173682cb069742063616e6e6f742061637475616c6c7920706572666f726d2074686520766572696669636174696f6e2e007c546869732063616c6c20726571756972657320526f6f74206f726967696e2e60656e6163745f617574686f72697a65645f75706772616465040110636f646530011c5665633c75383e000324550150726f766964652074686520707265696d616765202872756e74696d652062696e617279292060636f64656020666f7220616e2075706772616465207468617420686173206265656e20617574686f72697a65642e00490149662074686520617574686f72697a6174696f6e20726571756972656420612076657273696f6e20636865636b2c20746869732063616c6c2077696c6c20656e73757265207468652073706563206e616d65e872656d61696e7320756e6368616e67656420616e6420746861742074686520737065632076657273696f6e2068617320696e637265617365642e005d014e6f7465207468617420746869732066756e6374696f6e2077696c6c206e6f74206170706c7920746865206e65772060636f6465602c20627574206f6e6c7920617474656d707420746f207363686564756c652074686574757067726164652077697468207468652052656c617920436861696e2e0060416c6c206f726967696e732061726520616c6c6f7765642e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eed04089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e745450617261636861696e496e686572656e7444617461000010013c76616c69646174696f6e5f64617461f104015c50657273697374656456616c69646174696f6e4461746100014472656c61795f636861696e5f7374617465f904015473705f747269653a3a53746f7261676550726f6f66000144646f776e776172645f6d657373616765730105016c5665633c496e626f756e64446f776e776172644d6573736167653e00014c686f72697a6f6e74616c5f6d65737361676573090501a442547265654d61703c5061726149642c205665633c496e626f756e6448726d704d6573736167653e3e0000f1040c4c706f6c6b61646f745f7072696d6974697665730876325c50657273697374656456616c69646174696f6e44617461080448012c044e011c0010012c706172656e745f68656164f5040120486561644461746100014c72656c61795f706172656e745f6e756d6265721c01044e00016472656c61795f706172656e745f73746f726167655f726f6f742c0104480001306d61785f706f765f73697a651c010c7533320000f5040c48706f6c6b61646f745f70617261636861696e287072696d6974697665732048656164446174610000040030011c5665633c75383e0000f9040c1c73705f747269653473746f726167655f70726f6f663053746f7261676550726f6f660000040128747269655f6e6f646573fd04014442547265655365743c5665633c75383e3e0000fd04042042547265655365740404540130000400a902000000010500000205050005050860706f6c6b61646f745f636f72655f7072696d69746976657358496e626f756e64446f776e776172644d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d62657200010c6d736730013c446f776e776172644d65737361676500000905042042547265654d617008044b01a9010456010d0500040015050000000d0500000211050011050860706f6c6b61646f745f636f72655f7072696d69746976657348496e626f756e6448726d704d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d6265720001106461746130015073705f7374643a3a7665633a3a5665633c75383e00001505000002190500190500000408a9010d05001d050c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c65741043616c6c04045400012448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d697424011857656967687400003484536572766963657320612073696e676c65206f7665727765696768742058434d2e00c02d20606f726967696e603a204d75737420706173732060457865637574654f7665727765696768744f726967696e602ed42d2060696e646578603a2054686520696e646578206f6620746865206f7665727765696768742058434d20746f20736572766963650d012d20607765696768745f6c696d6974603a2054686520616d6f756e74206f662077656967687420746861742058434d20657865637574696f6e206d61792074616b652e001c4572726f72733a5d012d20604261644f766572776569676874496e646578603a2058434d20756e6465722060696e64657860206973206e6f7420666f756e6420696e2074686520604f766572776569676874602073746f72616765206d61702e45012d206042616458636d603a2058434d20756e6465722060696e646578602063616e6e6f742062652070726f7065726c79206465636f64656420696e746f20612076616c69642058434d20666f726d61742e09012d20605765696768744f7665724c696d6974603a2058434d20657865637574696f6e206d617920757365206772656174657220607765696768745f6c696d6974602e001c4576656e74733a8c2d20604f7665727765696768745365727669636564603a204f6e20737563636573732e5473757370656e645f78636d5f657865637574696f6e00010c490153757370656e647320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652c207265676172646c657373206f66207468652073656e6465722773206f726967696e2e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e50726573756d655f78636d5f657865637574696f6e000214b8526573756d657320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652e003d014e6f7465207468617420746869732066756e6374696f6e20646f65736e2774206368616e67652074686520737461747573206f662074686520696e2f6f757420626f756e64206368616e6e656c732e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e607570646174655f73757370656e645f7468726573686f6c6404010c6e65771c010c75333200031499014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e2074686520717565756520666f7220746865206f74686572207369646520746f20626520746f6c6420746f5873757370656e642074686569722073656e64696e672e00742d20606f726967696e603a204d75737420706173732060526f6f74602ee82d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e73757370656e645f76616c756560547570646174655f64726f705f7468726573686f6c6404010c6e65771c010c75333200041495014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e207468652071756575652061667465722077686963682077652064726f7020616e792066757274686572686d657373616765732066726f6d20746865206368616e6e656c2e00742d20606f726967696e603a204d75737420706173732060526f6f74602eec2d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e64726f705f7468726573686f6c64605c7570646174655f726573756d655f7468726573686f6c6404010c6e65771c010c75333200051491014f76657277726974657320746865206e756d626572206f66207061676573206f66206d6573736167657320776869636820746865207175657565206d757374206265207265647563656420746f206265666f7265206974207369676e616c732074686174ec6d6573736167652073656e64696e67206d6179207265636f6d6d656e636520616674657220697420686173206265656e2073757370656e6465642e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e726573756d655f7468726573686f6c64605c7570646174655f7468726573686f6c645f77656967687404010c6e657724011857656967687400061049014f7665727772697465732074686520616d6f756e74206f662072656d61696e696e672077656967687420756e6465722077686963682077652073746f702070726f63657373696e67206d657373616765732e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7468726573686f6c645f77656967687460707570646174655f7765696768745f72657374726963745f646563617904010c6e657724011857656967687400071445014f7665727772697465732074686520737065656420746f2077686963682074686520617661696c61626c652077656967687420617070726f616368657320746865206d6178696d756d207765696768742ea50141206c6f776572206e756d62657220726573756c747320696e2061206661737465722070726f6772657373696f6e2e20412076616c7565206f662031206d616b65732074686520656e746972652077656967687420617661696c61626c6520696e697469616c6c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e0d012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7765696768745f72657374726963745f6465636179602e847570646174655f78636d705f6d61785f696e646976696475616c5f77656967687404010c6e657724011857656967687400081429014f766572777269746520746865206d6178696d756d20616d6f756e74206f662077656967687420616e7920696e646976696475616c206d657373616765206d617920636f6e73756d652e71014d657373616765732061626f766520746869732077656967687420676f20696e746f20746865206f76657277656967687420717565756520616e64206d6179206f6e6c79206265207365727669636564206578706c696369746c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e21012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e78636d705f6d61785f696e646976696475616c5f776569676874602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e21050c2870616c6c65745f78636d1870616c6c65741043616c6c0404540001281073656e64080110646573747d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011c6d65737361676525050154426f783c56657273696f6e656458636d3c28293e3e0000003c74656c65706f72745f617373657473100110646573747d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172797d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747345020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c75333200013c110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e5c726573657276655f7472616e736665725f617373657473100110646573747d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172797d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747345020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320002404d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e1c6578656375746508011c6d657373616765550501c0426f783c56657273696f6e656458636d3c3c5420617320537973436f6e6669673e3a3a52756e74696d6543616c6c3e3e0001286d61785f77656967687424011857656967687400032cd04578656375746520616e2058434d206d6573736167652066726f6d2061206c6f63616c2c207369676e65642c206f726967696e2e004d01416e206576656e74206973206465706f736974656420696e6469636174696e67207768657468657220606d73676020636f756c6420626520657865637574656420636f6d706c6574656c79206f72206f6e6c79287061727469616c6c792e006d014e6f206d6f7265207468616e20606d61785f776569676874602077696c6c206265207573656420696e2069747320617474656d7074656420657865637574696f6e2e2049662074686973206973206c657373207468616e2074686559016d6178696d756d20616d6f756e74206f6620776569676874207468617420746865206d65737361676520636f756c642074616b6520746f2062652065786563757465642c207468656e206e6f20657865637574696f6e54617474656d70742077696c6c206265206d6164652e006d014e4f54453a2041207375636365737366756c2072657475726e20746f207468697320646f6573202a6e6f742a20696d706c7920746861742074686520606d73676020776173206578656375746564207375636365737366756c6c79cc746f20636f6d706c6574696f6e3b206f6e6c792074686174202a736f6d652a206f66206974207761732065786563757465642e44666f7263655f78636d5f76657273696f6e0801206c6f636174696f6eb5010148426f783c4d756c74694c6f636174696f6e3e00012c78636d5f76657273696f6e1c012858636d56657273696f6e00041849014578746f6c6c2074686174206120706172746963756c61722064657374696e6174696f6e2063616e20626520636f6d6d756e6963617465642077697468207468726f756768206120706172746963756c61723c76657273696f6e206f662058434d2e00642d20606f726967696e603a204d75737420626520526f6f742ed82d20606c6f636174696f6e603a205468652064657374696e6174696f6e2074686174206973206265696e67206465736372696265642e11012d206078636d5f76657273696f6e603a20546865206c61746573742076657273696f6e206f662058434d207468617420606c6f636174696f6e6020737570706f7274732e64666f7263655f64656661756c745f78636d5f76657273696f6e0401446d617962655f78636d5f76657273696f6ec10301484f7074696f6e3c58636d56657273696f6e3e0005145901536574206120736166652058434d2076657273696f6e20287468652076657273696f6e20746861742058434d2073686f756c6420626520656e636f646564207769746820696620746865206d6f737420726563656e74b476657273696f6e20612064657374696e6174696f6e2063616e2061636365707420697320756e6b6e6f776e292e00642d20606f726967696e603a204d75737420626520526f6f742e39012d20606d617962655f78636d5f76657273696f6e603a205468652064656661756c742058434d20656e636f64696e672076657273696f6e2c206f7220604e6f6e656020746f2064697361626c652e78666f7263655f7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e7d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000610390141736b2061206c6f636174696f6e20746f206e6f7469667920757320726567617264696e672074686569722058434d2076657273696f6e20616e6420616e79206368616e67657320746f2069742e00642d20606f726967696e603a204d75737420626520526f6f742e59012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f2077686963682077652073686f756c642073756273637269626520666f722058434d2076657273696f6e206e6f74696669636174696f6e732e80666f7263655f756e7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e7d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e0007184901526571756972652074686174206120706172746963756c61722064657374696e6174696f6e2073686f756c64206e6f206c6f6e676572206e6f7469667920757320726567617264696e6720616e792058434d4076657273696f6e206368616e6765732e00642d20606f726967696e603a204d75737420626520526f6f742e3d012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f207768696368207765206172652063757272656e746c79207375627363726962656420666f722058434d2076657273696f6ea820206e6f74696669636174696f6e73207768696368207765206e6f206c6f6e676572206465736972652e7c6c696d697465645f726573657276655f7472616e736665725f617373657473140110646573747d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172797d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747345020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69744102012c5765696768744c696d69740008484d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e5c6c696d697465645f74656c65706f72745f617373657473140110646573747d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172797d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747345020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69744102012c5765696768744c696d6974000944110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e2505080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010808563204002905015076323a3a58636d3c52756e74696d6543616c6c3e0002000856330400d901015076333a3a58636d3c52756e74696d6543616c6c3e0003000029050c0c78636d0876320c58636d042c52756e74696d6543616c6c000004002d0501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e00002d0500000231050031050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404004902012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404004902012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404004902012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e736535050120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e7366657241737365740801186173736574734902012c4d756c746941737365747300012c62656e6566696369617279590201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574734902012c4d756c746941737365747300011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065290201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c2d020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572c101010c7533320001406d61785f6d6573736167655f73697a65c101010c7533320001306d61785f6361706163697479c101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74c101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72c101010c75333200011873656e646572c101010c753332000124726563697069656e74c101010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e04005d020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374590201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473450501404d756c7469417373657446696c7465720001286d61785f617373657473c101010c75333200012c62656e6566696369617279590201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473450501404d756c7469417373657446696c7465720001286d61785f617373657473c101010c75333200011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e000e003445786368616e6765417373657408011067697665450501404d756c7469417373657446696c74657200011c726563656976654902012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473450501404d756c7469417373657446696c74657200011c72657365727665590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473450501404d756c7469417373657446696c74657200011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374590201344d756c74694c6f636174696f6e000118617373657473450501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e08011066656573510201284d756c746941737365740001307765696768745f6c696d69745105012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204002905014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804002905014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574734902012c4d756c74694173736574730001187469636b6574590201344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b000035050c0c78636d08763220526573706f6e7365000110104e756c6c0000001841737365747304004902012c4d756c74694173736574730001003c457865637574696f6e526573756c740400390501504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e04001c013873757065723a3a56657273696f6e00030000390504184f7074696f6e040454013d050108104e6f6e6500000010536f6d6504003d0500000100003d05000004081c4105004105100c78636d08763218747261697473144572726f72000168204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300444d756c74694c6f636174696f6e46756c6c000400684d756c74694c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c7536340015004c556e68616e646c656458636d56657273696f6e001600485765696768744c696d69745265616368656404001001185765696768740017001c426172726965720018004c5765696768744e6f74436f6d70757461626c65001900004505100c78636d087632286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e69746504004902012c4d756c74694173736574730000001057696c6404004905013857696c644d756c74694173736574000100004905100c78636d087632286d756c746961737365743857696c644d756c746941737365740001080c416c6c00000014416c6c4f6608010869645502011c4173736574496400010c66756e4d05013c57696c6446756e676962696c697479000100004d05100c78636d087632286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c650001000051050c0c78636d0876322c5765696768744c696d697400010824556e6c696d697465640000001c4c696d69746564040028010c753634000100005505080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010808563204005905015076323a3a58636d3c52756e74696d6543616c6c3e00020008563304006905015076333a3a58636d3c52756e74696d6543616c6c3e0003000059050c0c78636d0876320c58636d042c52756e74696d6543616c6c000004005d0501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e00005d0500000261050061050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404004902012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404004902012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404004902012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e736535050120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e7366657241737365740801186173736574734902012c4d756c746941737365747300012c62656e6566696369617279590201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574734902012c4d756c746941737365747300011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065290201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c65050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572c101010c7533320001406d61785f6d6573736167655f73697a65c101010c7533320001306d61785f6361706163697479c101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74c101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72c101010c75333200011873656e646572c101010c753332000124726563697069656e74c101010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e04005d020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374590201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473450501404d756c7469417373657446696c7465720001286d61785f617373657473c101010c75333200012c62656e6566696369617279590201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473450501404d756c7469417373657446696c7465720001286d61785f617373657473c101010c75333200011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e000e003445786368616e6765417373657408011067697665450501404d756c7469417373657446696c74657200011c726563656976654902012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473450501404d756c7469417373657446696c74657200011c72657365727665590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473450501404d756c7469417373657446696c74657200011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374590201344d756c74694c6f636174696f6e000118617373657473450501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e08011066656573510201284d756c746941737365740001307765696768745f6c696d69745105012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204005905014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804005905014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574734902012c4d756c74694173736574730001187469636b6574590201344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b000065050c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e000069050c0c78636d0876330c58636d041043616c6c000004006d0501585665633c496e737472756374696f6e3c43616c6c3e3e00006d0500000271050071050c0c78636d0876332c496e737472756374696f6e041043616c6c0001c034576974686472617741737365740400e501012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400e501012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400e501012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f696428011c51756572794964000120726573706f6e736501020120526573706f6e73650001286d61785f77656967687424011857656967687400011c71756572696572250201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e736665724173736574080118617373657473e501012c4d756c746941737365747300012c62656e6566696369617279b50101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473e501012c4d756c746941737365747300011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64290201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737424011857656967687400011063616c6c6505014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572c101010c7533320001406d61785f6d6573736167655f73697a65c101010c7533320001306d61785f6361706163697479c101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74c101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72c101010c75333200011873656e646572c101010c753332000124726563697069656e74c101010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400b9010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720400310201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473350201404d756c7469417373657446696c74657200012c62656e6566696369617279b50101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473350201404d756c7469417373657446696c74657200011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000e003445786368616e676541737365740c011067697665350201404d756c7469417373657446696c74657200011077616e74e501012c4d756c746941737365747300011c6d6178696d616ca80110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473350201404d756c7469417373657446696c74657200011c72657365727665b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473350201404d756c7469417373657446696c74657200011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f310201445175657279526573706f6e7365496e666f000118617373657473350201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573ed0101284d756c746941737365740001307765696768745f6c696d69744102012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204006905012458636d3c43616c6c3e0015002c536574417070656e64697804006905012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473e501012c4d756c74694173736574730001187469636b6574b50101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f776569676874240118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e41737365740400e501012c4d756c7469417373657473001c002c45787065637441737365740400e501012c4d756c7469417373657473001d00304578706563744f726967696e0400250201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400050201504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e7361637453746174757304001d0201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6530011c5665633c75383e000134726573706f6e73655f696e666f310201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578c101010c7533320001106e616d6530011c5665633c75383e00012c6d6f64756c655f6e616d6530011c5665633c75383e00012c63726174655f6d616a6f72c101010c75333200013c6d696e5f63726174655f6d696e6f72c101010c753332002200505265706f72745472616e736163745374617475730400310201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400bd0101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726bc90101244e6574776f726b496400012c64657374696e6174696f6eb9010154496e746572696f724d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e002600244c6f636b41737365740801146173736574ed0101284d756c74694173736574000120756e6c6f636b6572b50101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574ed0101284d756c74694173736574000118746172676574b50101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574ed0101284d756c746941737365740001146f776e6572b50101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574ed0101284d756c746941737365740001186c6f636b6572b50101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177a80110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400b50101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69744102012c5765696768744c696d6974000130636865636b5f6f726967696e250201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f000075050c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c65741043616c6c04045400010448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d6974240118576569676874000004905365727669636520612073696e676c65206f766572776569676874206d6573736167652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e7905000002ad03007d05000004088105180081050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400350301185665633c543e000085050c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d62657201102050726f706f73616c01b1031c42616c616e6365011801081c4f6e676f696e670400890501c05265666572656e64756d5374617475733c426c6f636b4e756d6265722c2050726f706f73616c2c2042616c616e63653e0000002046696e6973686564080120617070726f766564a80110626f6f6c00010c656e6410012c426c6f636b4e756d6265720001000089050c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d62657201102050726f706f73616c01b1031c42616c616e636501180014010c656e6410012c426c6f636b4e756d62657200012070726f706f73616cb103012050726f706f73616c0001247468726573686f6c64940134566f74655468726573686f6c6400011464656c617910012c426c6f636b4e756d62657200011474616c6c798d05013854616c6c793c42616c616e63653e00008d050c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e6365000091050c4070616c6c65745f64656d6f637261637910766f746518566f74696e67101c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d6265720110204d6178566f746573000108184469726563740c0114766f746573950501f4426f756e6465645665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e73a105015044656c65676174696f6e733c42616c616e63653e0001147072696f72a505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6ebd030128436f6e76696374696f6e00012c64656c65676174696f6e73a105015044656c65676174696f6e733c42616c616e63653e0001147072696f72a505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0001000095050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540199050453000004009d0501185665633c543e00009905000004081c98009d05000002990500a1050c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e63650000a5050c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201101c42616c616e6365011800080010012c426c6f636b4e756d626572000018011c42616c616e63650000a90500000408b1039400ad050000040810810500b1050c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f720404540001602056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365445265666572656e64756d496e76616c696400090484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d2c4e6f6e6557616974696e67000a04504e6f2070726f706f73616c732077616974696e67204e6f74566f746572000b04c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e000c04c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67000d0488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473000e04fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000f04a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740010085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001104d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650012049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400130450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001404804d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c546f6f4d616e79001504804d6178696d756d206e756d626572206f66206974656d7320726561636865642e3c566f74696e67506572696f644c6f7700160454566f74696e6720706572696f6420746f6f206c6f7740507265696d6167654e6f7445786973740017047054686520707265696d61676520646f6573206e6f742065786973742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909b5050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012c0453000004008d0201185665633c543e0000b905084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572011000140114696e6465781c013450726f706f73616c496e6465780001247468726573686f6c641c012c4d656d626572436f756e7400011061796573350301385665633c4163636f756e7449643e0001106e617973350301385665633c4163636f756e7449643e00010c656e6410012c426c6f636b4e756d6265720000bd050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909c1050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012c0453000004008d0201185665633c543e0000c5050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909c9050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400350301185665633c543e0000cd050c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909d105083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e63650000d5050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011c045300000400450301185665633c543e0000d9050c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c000004001c010c7533320000dd0504184f7074696f6e04045401180108104e6f6e6500000010536f6d650400180000010000e10508346672616d655f737570706f72742050616c6c6574496400000400fd01011c5b75383b20385d0000e5050c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900011470496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0003084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640004047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e04784572726f7220666f72207468652074726561737572792070616c6c65742ee9050c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909ed050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011104045300000400f10501185665633c543e0000f105000002110400f505083870616c6c65745f76657374696e672052656c656173657300010808563000000008563100010000f9050c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742efd050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010106045300000400090601185665633c543e0000010604184f7074696f6e0404540105060108104e6f6e6500000010536f6d650400050600000100000506084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c01b1032c426c6f636b4e756d62657201103450616c6c6574734f726967696e01ed03244163636f756e7449640100001401206d617962655f6964d001304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6cb103011043616c6c0001386d617962655f706572696f646963190401944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696eed03013450616c6c6574734f726967696e000009060000020106000d060c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909091106000004081506180015060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540119060453000004001d0601185665633c543e00001906083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501d82c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065d8012450726f78795479706500011464656c617910012c426c6f636b4e756d62657200001d060000021906002106000004082506180025060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540129060453000004002d0601185665633c543e00002906083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e74496401001048617368012c2c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173682c01104861736800011868656967687410012c426c6f636b4e756d62657200002d0600000229060031060c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909093506083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f73697439060150284163636f756e7449642c2042616c616e63652900010c6c656e1c010c753332000000245265717565737465640c011c6465706f7369743d0601704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e741c010c75333200010c6c656ec103012c4f7074696f6e3c7533323e000100003906000004080018003d0604184f7074696f6e0404540139060108104e6f6e6500000010536f6d650400390600000100004106000004082c1c0045060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000049060c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400011818546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909094d060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400350301185665633c543e000051060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909095506082c70616c6c65745f746970731c4f70656e54697010244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d62657201101048617368012c001c0118726561736f6e2c01104861736800010c77686f0001244163636f756e74496400011866696e6465720001244163636f756e74496400011c6465706f73697418011c42616c616e6365000118636c6f7365735906014c4f7074696f6e3c426c6f636b4e756d6265723e000110746970735d0601645665633c284163636f756e7449642c2042616c616e6365293e00012c66696e646572735f666565a80110626f6f6c0000590604184f7074696f6e04045401100108104e6f6e6500000010536f6d6504001000000100005d0600000239060061060c3473705f61726974686d65746963287065725f7468696e67731c50657263656e74000004000801087538000065060c2c70616c6c65745f746970731870616c6c6574144572726f7208045400044900011830526561736f6e546f6f4269670000048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e00010488546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e5469700002046054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e6465720003041d01546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e0004042901546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d61747572650005043101546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909096906000004080004006d06083c70616c6c65745f6d756c7469736967204d756c7469736967102c426c6f636b4e756d62657201101c42616c616e63650118244163636f756e7449640100304d6178417070726f76616c7300001001107768656ef0015854696d65706f696e743c426c6f636b4e756d6265723e00011c6465706f73697418011c42616c616e63650001246465706f7369746f720001244163636f756e744964000124617070726f76616c737106018c426f756e6465645665633c4163636f756e7449642c204d6178417070726f76616c733e000071060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400350301185665633c543e000075060c3c70616c6c65745f6d756c74697369671870616c6c6574144572726f72040454000138404d696e696d756d5468726573686f6c640000047c5468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f766564000104ac43616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e65656465640002049c43616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f72696573000304a854686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f72696573000404ac54686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f726465720005040d01546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f726965730006040d015468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e64000704dc4d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e65720008042d014f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e740009041d014e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74000a042d014120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e74000b04f4412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e3c4d6178576569676874546f6f4c6f77000c04d0546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f726564000d04a0546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090979060c1463747970652c63747970655f656e747279284374797065456e747279081c43726561746f7201002c426c6f636b4e756d62657201100008011c63726561746f7200011c43726561746f72000128637265617465645f617410012c426c6f636b4e756d62657200007d060c1463747970651870616c6c6574144572726f7204045400010c204e6f74466f756e64000004985468657265206973206e6f20435479706520776974682074686520676976656e20686173682e34416c72656164794578697374730001046454686520435479706520616c7265616479206578697374732e3c556e61626c65546f506179466565730002040d0154686520706179696e67206163636f756e742077617320756e61626c6520746f2070617920746865206665657320666f72206372656174696e6720612063747970652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090981060c2c6174746573746174696f6e306174746573746174696f6e73484174746573746174696f6e44657461696c731424437479706548617368012c284174746573746572496401003c417574686f72697a6174696f6e4964010101244163636f756e74496401001c42616c616e636501180014012863747970655f686173682c0124437479706548617368000120617474657374657200012841747465737465724964000140617574686f72697a6174696f6e5f6964fc015c4f7074696f6e3c417574686f72697a6174696f6e49643e00011c7265766f6b6564a80110626f6f6c00011c6465706f7369748506016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000085060c306b696c745f737570706f72741c6465706f7369741c4465706f736974081c4163636f756e7401001c42616c616e63650118000801146f776e657200011c4163636f756e74000118616d6f756e7418011c42616c616e6365000089060000040801012c008d060c2c6174746573746174696f6e1870616c6c6574144572726f720404540001183c416c726561647941747465737465640000080901546865726520697320616c726561647920616e206174746573746174696f6e2077697468207468652073616d6520636c61696d20686173682073746f726564206f6e18636861696e2e38416c72656164795265766f6b6564000104a4546865206174746573746174696f6e2068617320616c7265616479206265656e207265766f6b65642e204e6f74466f756e64000204c04e6f206174746573746174696f6e206f6e20636861696e206d61746368696e672074686520636c61696d20686173682e3443547970654d69736d61746368000308fc546865206174746573746174696f6e20435479706520646f6573206e6f74206d61746368207468652043547970652073706563696669656420696e207468656864656c65676174696f6e2068696572617263687920726f6f742e344e6f74417574686f72697a6564000404f05468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f206368616e676520746865206174746573746174696f6e2e804d617844656c6567617465644174746573746174696f6e73457863656564656400050cf4546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732068617320616c7265616479206265656e05017265616368656420666f722074686520636f72726573706f6e64696e672064656c65676174696f6e2069642073756368207468617420616e6f74686572206f6e654063616e6e6f742062652061646465642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090991060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368793844656c65676174696f6e4e6f6465144044656c65676174696f6e4e6f64654964012c2c4d61784368696c6472656e0195064444656c65676174696f6e44657461696c73019906244163636f756e74496401001c42616c616e63650118001401446869657261726368795f726f6f745f69642c014044656c65676174696f6e4e6f64654964000118706172656e74c50301604f7074696f6e3c44656c65676174696f6e4e6f646549643e0001206368696c6472656e9d0601b8426f756e64656442547265655365743c44656c65676174696f6e4e6f646549642c204d61784368696c6472656e3e00011c64657461696c739906014444656c65676174696f6e44657461696c7300011c6465706f7369748506016c4465706f7369743c4163636f756e7449642c2042616c616e63653e00009506103872756e74696d655f636f6d6d6f6e24636f6e7374616e74732864656c65676174696f6e2c4d61784368696c6472656e0000000099060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368794444656c65676174696f6e44657461696c73042c44656c656761746f7249640100000c01146f776e657200012c44656c656761746f72496400011c7265766f6b6564a80110626f6f6c00012c7065726d697373696f6e730901012c5065726d697373696f6e7300009d060c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c045300000400a106012c42547265655365743c543e0000a10604204254726565536574040454012c0004008d02000000a5060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368796844656c65676174696f6e48696572617263687944657461696c730424437479706548617368012c0004012863747970655f686173682c01244374797065486173680000a9060c2864656c65676174696f6e1870616c6c6574144572726f720404540001585c44656c65676174696f6e416c72656164794578697374730000041101546865726520697320616c726561647920612064656c65676174696f6e206e6f64652077697468207468652073616d652049442073746f726564206f6e20636861696e2e60496e76616c696444656c65676174655369676e617475726500010805015468652064656c65676174652773207369676e617475726520666f72207468652064656c65676174696f6e206372656174696f6e206f7065726174696f6e20697320696e76616c69642e4844656c65676174696f6e4e6f74466f756e64000204c04e6f2064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e4044656c65676174654e6f74466f756e64000304b84e6f2064656c656761746520776974682074686520676976656e2049442073746f726564206f6e20636861696e2e58486965726172636879416c7265616479457869737473000404f8546865726520697320616c72656164792061206869657261726368792077697468207468652073616d652049442073746f726564206f6e20636861696e2e444869657261726368794e6f74466f756e64000504bc4e6f2068696572617263687920776974682074686520676976656e2049442073746f726564206f6e20636861696e2e544d617853656172636844657074685265616368656400060409014d6178206e756d626572206f66206e6f64657320636865636b656420776974686f757420766572696679696e672074686520676976656e20636f6e646974696f6e2e684e6f744f776e65724f66506172656e7444656c65676174696f6e000708f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6ef462656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20706172656e74206e6f64652e744e6f744f776e65724f6644656c65676174696f6e486965726172636879000808f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6eec62656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20726f6f74206e6f64652e60506172656e7444656c65676174696f6e4e6f74466f756e64000904dc4e6f20706172656e742064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e5c506172656e7444656c65676174696f6e5265766f6b6564000a04c854686520706172656e742064656c65676174696f6e206861732070726576696f75736c79206265656e207265766f6b65642e58556e617574686f72697a65645265766f636174696f6e000b04fc5468652064656c65676174696f6e207265766f6b6572206973206e6f7420616c6c6f77656420746f207265766f6b65207468652064656c65676174696f6e2e4c556e617574686f72697a656452656d6f76616c000c04ec5468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f2072656d6f7665207468652064656c65676174696f6e2e58556e617574686f72697a656444656c65676174696f6e000d04fc5468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f20637265617465207468652064656c65676174696f6e2e3041636365737344656e696564000e04f0546865206f7065726174696f6e207761736e277420616c6c6f7765642062656361757365206f6620696e73756666696369656e74207269676874732e6045786365656465645265766f636174696f6e426f756e6473000f080d014d6178206e756d626572206f66207265766f636174696f6e7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7238746865206f7065726174696f6e2e54457863656564656452656d6f76616c426f756e647300100811014d6178206e756d626572206f662072656d6f76616c7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7220746865286f7065726174696f6e2e584d61785265766f636174696f6e73546f6f4c61726765001104f8546865206d6178206e756d626572206f66207265766f636174696f6e206578636565647320746865206c696d697420666f72207468652070616c6c65742e4c4d617852656d6f76616c73546f6f4c61726765001204f0546865206d6178206e756d626572206f662072656d6f76616c73206578636565647320746865206c696d697420666f72207468652070616c6c65742e5c4d6178506172656e74436865636b73546f6f4c617267650013040501546865206d6178206e756d626572206f6620706172656e7420636865636b73206578636565647320746865206c696d697420666f72207468652070616c6c65742e20496e7465726e616c001404f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e4c4d61784368696c6472656e4578636565646564001508dc546865206d6178206e756d626572206f6620616c6c206368696c6472656e20686173206265656e207265616368656420666f722074686578636f72726573706f6e64696e672064656c65676174696f6e206e6f64652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909ad060c0c6469642c6469645f64657461696c732844696444657461696c7304045400001c014861757468656e7469636174696f6e5f6b65792c01284b657949644f663c543e0001486b65795f61677265656d656e745f6b657973b10601684469644b657941677265656d656e744b65795365744f663c543e00013864656c65676174696f6e5f6b6579c50301484f7074696f6e3c4b657949644f663c543e3e00013c6174746573746174696f6e5f6b6579c50301484f7074696f6e3c4b657949644f663c543e3e00012c7075626c69635f6b657973b50601504469645075626c69634b65794d61704f663c543e00013c6c6173745f74785f636f756e74657210010c75363400011c6465706f736974850601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e0000b1060c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c045300000400a106012c42547265655365743c543e0000b5060c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b012c045601b906045300000400c106013842547265654d61703c4b2c20563e0000b9060c0c6469642c6469645f64657461696c734c4469645075626c69634b657944657461696c73042c426c6f636b4e756d62657201100008010c6b6579bd0601304469645075626c69634b6579000130626c6f636b5f6e756d62657210012c426c6f636b4e756d6265720000bd060c0c6469642c6469645f64657461696c73304469645075626c69634b6579000108545075626c6963566572696669636174696f6e4b65790400ad040148446964566572696669636174696f6e4b65790000004c5075626c6963456e6372797074696f6e4b657904009d040140446964456e6372797074696f6e4b657900010000c106042042547265654d617008044b012c045601b906000400c506000000c506000002c90600c906000004082cb90600cd0600000408007d0400d1060c0c6469641870616c6c6574144572726f7204045400016c58496e76616c69645369676e6174757265466f726d6174000008050154686520444944206f7065726174696f6e207369676e6174757265206973206e6f7420696e2074686520666f726d61742074686520766572696669636174696f6e306b657920657870656374732e40496e76616c69645369676e6174757265000108f854686520444944206f7065726174696f6e207369676e617475726520697320696e76616c696420666f7220746865207061796c6f616420616e642074686568766572696669636174696f6e206b65792070726f76696465642e34416c7265616479457869737473000204f85468652044494420776974682074686520676976656e206964656e74696669657220697320616c72656164792070726573656e74206f6e20636861696e2e204e6f74466f756e64000304d44e6f2044494420776974682074686520676976656e206964656e7469666965722069732070726573656e74206f6e20636861696e2e5c566572696669636174696f6e4b65794e6f74466f756e6400040809014f6e65206f72206d6f726520766572696669636174696f6e206b657973207265666572656e63656420617265206e6f742073746f72656420696e2074686520736574546f6620766572696669636174696f6e206b6579732e30496e76616c69644e6f6e6365000504090154686520444944206f7065726174696f6e206e6f6e6365206973206e6f7420657175616c20746f207468652063757272656e7420444944206e6f6e6365202b20312e7c556e737570706f72746564446964417574686f72697a6174696f6e43616c6c000604e05468652063616c6c65642065787472696e73696320646f6573206e6f7420737570706f72742044494420617574686f7269736174696f6e2e6c496e76616c6964446964417574686f72697a6174696f6e43616c6c000708dc5468652063616c6c2068616420706172616d6574657273207468617420636f6e666c696374656420776974682065616368206f74686572406f72207765726520696e76616c69642e8c4d61784e65774b657941677265656d656e744b6579734c696d697445786365656465640008080d0141206e756d626572206f66206e6577206b65792061677265656d656e74206b6579732067726561746572207468616e20746865206d6178696d756d20616c6c6f77656448686173206265656e2070726f76696465642e544d61785075626c69634b65797345786365656465640009080501546865206d6178696d756d206e756d626572206f66207075626c6963206b65797320666f72207468697320444944206b6579206964656e74696669657220686173346265656e20726561636865642e6c4d61784b657941677265656d656e744b6579734578636565646564000a080501546865206d6178696d756d206e756d626572206f66206b65792061677265656d656e747320686173206265656e207265616368656420666f722074686520444944207375626a6563742e304261644469644f726967696e000b04bc546865204449442063616c6c20776173207375626d6974746564206279207468652077726f6e67206163636f756e74485472616e73616374696f6e45787069726564000c040d0154686520626c6f636b206e756d6265722070726f766964656420696e2061204449442d617574686f72697a6564206f7065726174696f6e20697320696e76616c69642e38416c726561647944656c65746564000d04b0546865204449442068617320616c7265616479206265656e2070726576696f75736c792064656c657465642e444e6f744f776e65724f664465706f736974000e04fc4f6e6c7920746865206f776e6572206f6620746865206465706f7369742063616e207265636c61696d206974732072657365727665642062616c616e63652e3c556e61626c65546f50617946656573000f04f0546865206f726967696e20697320756e61626c6520746f207265736572766520746865206465706f73697420616e642070617920746865206665652e6c4d61784e756d6265724f66536572766963657345786365656465640010041101546865206d6178696d756d206e756d626572206f66207365727669636520656e64706f696e747320666f7220612044494420686173206265656e2065786365656465642e684d61785365727669636549644c656e6774684578636565646564001104f0546865207365727669636520656e64706f696e7420494420657863656564656420746865206d6178696d756d20616c6c6f776564206c656e6774682e704d617853657276696365547970654c656e6774684578636565646564001208f84f6e65206f6620746865207365727669636520656e64706f696e7420747970657320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e884d61784e756d6265724f665479706573506572536572766963654578636565646564001308ec546865206d6178696d756d206e756d626572206f6620747970657320666f722061207365727669636520656e64706f696e7420686173206265656e2465786365656465642e6c4d61785365727669636555726c4c656e6774684578636565646564001408f44f6e65206f6620746865207365727669636520656e64706f696e742055524c7320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e844d61784e756d6265724f6655726c735065725365727669636545786365656465640015041101546865206d6178696d756d206e756d626572206f662055524c7320666f722061207365727669636520656e64706f696e7420686173206265656e2065786365656465642e5053657276696365416c726561647945786973747300160411014120736572766963652077697468207468652070726f766964656420494420697320616c72656164792070726573656e7420666f722074686520676976656e204449442e3c536572766963654e6f74466f756e6400170409014120736572766963652077697468207468652070726f7669646564204944206973206e6f742070726573656e7420756e6465722074686520676976656e204449442e58496e76616c696453657276696365456e636f64696e6700180409014f6e65206f6620746865207365727669636520656e64706f696e742064657461696c7320636f6e7461696e73206e6f6e2d415343494920636861726163746572732e7c4d617853746f726564456e64706f696e7473436f756e7445786365656465640019080d01546865206e756d626572206f66207365727669636520656e64706f696e74732073746f72656420756e6465722074686520444944206973206c6172676572207468616e88746865206e756d626572206f6620656e64706f696e747320746f2064656c6574652e20496e7465726e616c001a04f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909d5060c4470616c6c65745f6469645f6c6f6f6b757044636f6e6e656374696f6e5f7265636f726440436f6e6e656374696f6e5265636f72640c344469644964656e74696669657201001c4163636f756e7401001c42616c616e636501180008010c6469640001344469644964656e74696669657200011c6465706f736974850601644465706f7369743c4163636f756e742c2042616c616e63653e0000d9060000040800150100dd060c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144572726f72040454000114204e6f74466f756e640000047c546865206173736f63696174696f6e20646f6573206e6f742065786973742e344e6f74417574686f72697a65640001081101546865206f726967696e20776173206e6f7420616c6c6f77656420746f206d616e61676520746865206173736f63696174696f6e206265747765656e20746865204449444c616e6420746865206163636f756e742049442e344f7574646174656450726f6f66000204b454686520737570706c6965642070726f6f66206f66206f776e65727368697020776173206f757464617465642e44496e73756666696369656e7446756e64730003081101546865206163636f756e742068617320696e73756666696369656e742066756e647320616e642063616e277420706179207468652066656573206f72207265736572766530746865206465706f7369742e244d6967726174696f6e00040c010154686520436f6e6e65637465644163636f756e747320616e6420436f6e6e6563746564446964732073746f7261676520617265206f7574206f662073796e632e0011014e4f54453a20746869732077696c6c206f6e6c792062652072657475726e6564206966207468652073746f726167652068617320696e636f6e73697374656e636965732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909e1060c4470616c6c65745f776562335f6e616d657324776562335f6e616d6544576562334e616d654f776e6572736869700c144f776e657201001c4465706f7369740185062c426c6f636b4e756d6265720110000c01146f776e65720001144f776e6572000128636c61696d65645f617410012c426c6f636b4e756d62657200011c6465706f7369748506011c4465706f7369740000e5060c4470616c6c65745f776562335f6e616d65731870616c6c6574144572726f7204045400013044496e73756666696369656e7446756e64730000040d01546865207478207375626d697474657220646f6573206e6f74206861766520656e6f7567682066756e647320746f2070617920666f7220746865206465706f7369742e34416c7265616479457869737473000104dc54686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c7920636c61696d65642e204e6f74466f756e640002048854686520737065636966696564206e616d6520646f6573206e6f742065786973742e484f776e6572416c7265616479457869737473000304a054686520737065636966696564206f776e657220616c7265616479206f776e732061206e616d652e344f776e65724e6f74466f756e64000404ac54686520737065636966696564206f776e657220646f6573206e6f74206f776e20616e79206e616d65732e1842616e6e6564000508ec54686520737065636966696564206e616d6520686173206265656e2062616e6e656420616e642063616e6e6f7420626520696e746572616374656414776974682e244e6f7442616e6e6564000604ac54686520737065636966696564206e616d65206973206e6f742063757272656e746c792062616e6e65642e34416c726561647942616e6e6564000704d854686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c792062616e6e65642e344e6f74417574686f72697a6564000804cc546865206163746f722063616e6e6f7420706572666f726d65642074686520737065636966696564206f7065726174696f6e2e20546f6f53686f7274000904a841206e616d65207468617420697320746f6f2073686f7274206973206265696e6720636c61696d65642e1c546f6f4c6f6e67000a04a441206e616d65207468617420697320746f6f206c6f6e67206973206265696e6720636c61696d65642e40496e76616c6964436861726163746572000b04f441206e616d65207468617420636f6e7461696e73206e6f7420616c6c6f7765642063686172616374657273206973206265696e6720636c61696d65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909e9060000040831012c00ed060c487075626c69635f63726564656e7469616c732c63726564656e7469616c733c43726564656e7469616c456e7472791824435479706548617368012c20417474657374657201002c426c6f636b4e756d6265720110244163636f756e74496401001c42616c616e636501183c417574686f72697a6174696f6e49640101010018012863747970655f686173682c01244354797065486173680001206174746573746572000120417474657374657200011c7265766f6b6564a80110626f6f6c000130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200011c6465706f7369748506016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000140617574686f72697a6174696f6e5f6964fc015c4f7074696f6e3c417574686f72697a6174696f6e49643e0000f1060c487075626c69635f63726564656e7469616c731870616c6c6574144572726f720404540001183c416c72656164794174746573746564000008f8412063726564656e7469616c2077697468207468652073616d6520726f6f7420686173682068617320616c72656164792069737375656420746f2074686548737065636966696564207375626a6563742e204e6f74466f756e6400010805014e6f2063726564656e7469616c2077697468207468652073706563696669656420726f6f74206861736820686173206265656e2069737375656420746f2074686548737065636966696564207375626a6563742e3c556e61626c65546f50617946656573000204d44e6f7420656e6f75676820746f6b656e7320746f2070617920666f72207468652066656573206f7220746865206465706f7369742e30496e76616c6964496e707574000304805468652063726564656e7469616c20696e70757420697320696e76616c69642e344e6f74417574686f72697a6564000404e05468652063616c6c6572206973206e6f7420617574686f72697a656420746f20706572666f726d656420746865206f7065726174696f6e2e20496e7465726e616c000508f443617463682d616c6c20666f7220616e79206f74686572206572726f727320746861742073686f756c64206e6f742068617070656e2c207965742069742468617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909f50604184f7074696f6e04045401f9060108104e6f6e6500000010536f6d650400f9060000010000f9060c4c706f6c6b61646f745f7072696d69746976657308763248557067726164655265737472696374696f6e0001041c50726573656e7400000000fd060c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f74584d6573736167696e675374617465536e617073686f740000100130646d715f6d71635f686561642c014472656c61795f636861696e3a3a4861736800016472656c61795f64697370617463685f71756575655f73697a6501070128287533322c2075333229000140696e67726573735f6368616e6e656c73050701885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00013c6567726573735f6368616e6e656c73050701885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00000107000004081c1c000507000002090700090700000408a9010d07000d070c4c706f6c6b61646f745f7072696d6974697665730876324c416272696467656448726d704368616e6e656c00001801306d61785f63617061636974791c010c7533320001386d61785f746f74616c5f73697a651c010c7533320001406d61785f6d6573736167655f73697a651c010c7533320001246d73675f636f756e741c010c753332000128746f74616c5f73697a651c010c7533320001206d71635f68656164c50301304f7074696f6e3c486173683e000011070c4c706f6c6b61646f745f7072696d697469766573087632644162726964676564486f7374436f6e66696775726174696f6e00002401346d61785f636f64655f73697a651c010c7533320001486d61785f686561645f646174615f73697a651c010c7533320001586d61785f7570776172645f71756575655f636f756e741c010c7533320001546d61785f7570776172645f71756575655f73697a651c010c75333200015c6d61785f7570776172645f6d6573736167655f73697a651c010c7533320001906d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200018868726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200016c76616c69646174696f6e5f757067726164655f636f6f6c646f776e1c012c426c6f636b4e756d62657200016076616c69646174696f6e5f757067726164655f64656c61791c012c426c6f636b4e756d62657200001507089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74444d6573736167655175657565436861696e000004002c012452656c61794861736800001907042042547265654d617008044b01a90104560115070004001d070000001d07000002210700210700000408a901150700250700000229070029070860706f6c6b61646f745f636f72655f7072696d6974697665734c4f7574626f756e6448726d704d6573736167650408496401a90100080124726563697069656e74a901010849640001106461746130015073705f7374643a3a7665633a3a5665633c75383e00002d07087c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d60436f646555706772616465417574686f72697a6174696f6e0404540000080124636f64655f686173682c011c543a3a48617368000134636865636b5f76657273696f6ea80110626f6f6c000031070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144572726f720404540001204c4f7665726c617070696e6755706772616465730000041901417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e672e5050726f686962697465644279506f6c6b61646f740001044d01506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e2e18546f6f426967000208450154686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f742069733c77696c6c696e6720746f2072756e2e6856616c69646174696f6e446174614e6f74417661696c61626c650003041d0154686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b2e74486f7374436f6e66696775726174696f6e4e6f74417661696c61626c65000404290154686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b2e304e6f745363686564756c6564000504d84e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642e444e6f7468696e67417574686f72697a6564000604904e6f20636f6465207570677261646520686173206265656e20617574686f72697a65642e30556e617574686f72697a6564000704bc54686520676976656e20636f6465207570677261646520686173206e6f74206265656e20617574686f72697a65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090935070000023907003907086463756d756c75735f70616c6c65745f78636d705f717565756554496e626f756e644368616e6e656c44657461696c7300000c011873656e646572a901011850617261496400011473746174653d070130496e626f756e6453746174650001406d6573736167655f6d65746164617461410701a85665633c2852656c6179426c6f636b4e756d6265722c2058636d704d657373616765466f726d6174293e00003d07086463756d756c75735f70616c6c65745f78636d705f717565756530496e626f756e645374617465000108084f6b0000002453757370656e6465640001000041070000024507004507000004081c49070049070c48706f6c6b61646f745f70617261636861696e287072696d6974697665734458636d704d657373616765466f726d617400010c60436f6e636174656e6174656456657273696f6e656458636d0000005c436f6e636174656e61746564456e636f646564426c6f620001001c5369676e616c73000200004d0700000408a9011c0051070000025507005507086463756d756c75735f70616c6c65745f78636d705f7175657565584f7574626f756e644368616e6e656c44657461696c730000140124726563697069656e74a90101185061726149640001147374617465590701344f7574626f756e6453746174650001347369676e616c735f6578697374a80110626f6f6c00012c66697273745f696e646578dc010c7531360001286c6173745f696e646578dc010c75313600005907086463756d756c75735f70616c6c65745f78636d705f7175657565344f7574626f756e645374617465000108084f6b0000002453757370656e646564000100005d0700000408a901dc006107086463756d756c75735f70616c6c65745f78636d705f71756575653c5175657565436f6e66696744617461000018014473757370656e645f7468726573686f6c641c010c75333200013864726f705f7468726573686f6c641c010c753332000140726573756d655f7468726573686f6c641c010c7533320001407468726573686f6c645f7765696768742401185765696768740001547765696768745f72657374726963745f646563617924011857656967687400016878636d705f6d61785f696e646976696475616c5f776569676874240118576569676874000065070000040ca9011c300069070c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144572726f72040454000114304661696c6564546f53656e640000046c4661696c656420746f2073656e642058434d206d6573736167652e3042616458636d4f726967696e0001043c4261642058434d206f726967696e2e1842616458636d000204344261642058434d20646174612e484261644f766572776569676874496e64657800030454426164206f76657277656967687420696e6465782e3c5765696768744f7665724c696d6974000404f850726f76696465642077656967687420697320706f737369626c79206e6f7420656e6f75676820746f206578656375746520746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909096d070c2870616c6c65745f78636d1870616c6c6574144572726f720404540001502c556e726561636861626c650000085d0154686520646573697265642064657374696e6174696f6e2077617320756e726561636861626c652c2067656e6572616c6c7920626563617573652074686572652069732061206e6f20776179206f6620726f7574696e6718746f2069742e2c53656e644661696c757265000108610154686572652077617320736f6d65206f746865722069737375652028692e652e206e6f7420746f20646f207769746820726f7574696e672920696e2073656e64696e6720746865206d6573736167652e2050657268617073a861206c61636b206f6620737061636520666f7220627566666572696e6720746865206d6573736167652e2046696c74657265640002049c546865206d65737361676520657865637574696f6e206661696c73207468652066696c7465722e48556e776569676861626c654d657373616765000304b4546865206d65737361676527732077656967687420636f756c64206e6f742062652064657465726d696e65642e6044657374696e6174696f6e4e6f74496e7665727469626c65000404f05468652064657374696e6174696f6e20604d756c74694c6f636174696f6e602070726f76696465642063616e6e6f7420626520696e7665727465642e14456d707479000504805468652061737365747320746f2062652073656e742061726520656d7074792e3843616e6e6f745265616e63686f720006043501436f756c64206e6f742072652d616e63686f72207468652061737365747320746f206465636c61726520746865206665657320666f72207468652064657374696e6174696f6e20636861696e2e34546f6f4d616e79417373657473000704c4546f6f206d616e79206173736574732068617665206265656e20617474656d7074656420666f72207472616e736665722e34496e76616c69644f726967696e000804784f726967696e20697320696e76616c696420666f722073656e64696e672e2842616456657273696f6e00090421015468652076657273696f6e206f6620746865206056657273696f6e6564602076616c75652075736564206973206e6f742061626c6520746f20626520696e7465727072657465642e2c4261644c6f636174696f6e000a08410154686520676976656e206c6f636174696f6e20636f756c64206e6f7420626520757365642028652e672e20626563617573652069742063616e6e6f742062652065787072657373656420696e2074686560646573697265642076657273696f6e206f662058434d292e384e6f537562736372697074696f6e000b04bc546865207265666572656e63656420737562736372697074696f6e20636f756c64206e6f7420626520666f756e642e44416c726561647953756273637269626564000c041101546865206c6f636174696f6e20697320696e76616c69642073696e636520697420616c726561647920686173206120737562736372697074696f6e2066726f6d2075732e30496e76616c69644173736574000d0480496e76616c696420617373657420666f7220746865206f7065726174696f6e2e284c6f7742616c616e6365000e044101546865206f776e657220646f6573206e6f74206f776e2028616c6c29206f662074686520617373657420746861742074686579207769736820746f20646f20746865206f7065726174696f6e206f6e2e30546f6f4d616e794c6f636b73000f04c0546865206173736574206f776e65722068617320746f6f206d616e79206c6f636b73206f6e207468652061737365742e4c4163636f756e744e6f74536f7665726569676e001004310154686520676976656e206163636f756e74206973206e6f7420616e206964656e7469666961626c6520736f7665726569676e206163636f756e7420666f7220616e79206c6f636174696f6e2e28466565734e6f744d65740011042901546865206f7065726174696f6e207265717569726564206665657320746f20626520706169642077686963682074686520696e69746961746f7220636f756c64206e6f74206d6565742e304c6f636b4e6f74466f756e64001204f4412072656d6f7465206c6f636b20776974682074686520636f72726573706f6e64696e67206461746120636f756c64206e6f7420626520666f756e642e14496e557365001304390154686520756e6c6f636b206f7065726174696f6e2063616e6e6f742073756363656564206265636175736520746865726520617265207374696c6c207573657273206f6620746865206c6f636b2e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090971070c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144572726f7204045400010004b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909097507086063756d756c75735f70616c6c65745f646d705f717565756528436f6e6669674461746100000401386d61785f696e646976696475616c24011857656967687400007907086063756d756c75735f70616c6c65745f646d705f71756575653450616765496e6465784461746100000c0128626567696e5f757365641c012c50616765436f756e746572000120656e645f757365641c012c50616765436f756e7465720001406f7665727765696768745f636f756e7410013c4f766572776569676874496e64657800007d070000028107008107000004081c300085070c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144572726f720404540001081c556e6b6e6f776e0000048c546865206d65737361676520696e64657820676976656e20697320756e6b6e6f776e2e244f7665724c696d6974000104310154686520616d6f756e74206f662077656967687420676976656e20697320706f737369626c79206e6f7420656e6f75676820666f7220657865637574696e6720746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909098907102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c4164647265737301e9021043616c6c01b503245369676e617475726501cd04144578747261018d07000400300000008d07000004209107950799079d07a107a907ad07b10700910710306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000950710306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000990710306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e040454000000009d0710306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000a10710306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c69747904045400000400a507010c4572610000a507102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000a90710306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e636504045400000400280120543a3a496e6465780000ad0710306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b57656967687404045400000000b107086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e7404045400000400cd01013042616c616e63654f663c543e0000941853797374656d011853797374656d401c4163636f756e7401010402000c510100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e7400001c040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010020180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e00001c040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010405102c8000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e73696344617461010104051c300400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010010200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801002c80000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010034040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004404001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e7401001c100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f70696373010104022c91020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000950204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100a80400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100a80400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e506861736500008902040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e019d0201501830426c6f636b57656967687473ad026d01624fd75a00070088526a740200400102c0cd1700010700028fa54b0200d000010700e6bd4f570200f00001000002c0cd1700010700a423c0680200200101070088526a7402004001010700a2941a1d0200500002c0cd170000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e677468bd023000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7410206009000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e204462576569676874c50240089d26020000000000dce704000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6ec9026103386b696c742d7370697269746e6574386b696c742d7370697269746e6574010000005c2b00000000000038df6acb689907609b0400000037e397fc7c91f5e401000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d69620200000026609555c065660302000000a47b7d544994c99b0100000045bfba51a310b2230100000007000000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978dc08260014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e01d902002454696d657374616d70012454696d657374616d70080c4e6f7701001020000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100a8040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01dd020004344d696e696d756d506572696f6410207017000000000000104d0120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a5d0120706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c5d012067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c206265a020646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e00021c496e6469636573011c496e646963657304204163636f756e74730001040210e1020400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e01e5020174041c4465706f736974184000b47cf328350000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e01f102052042616c616e636573012042616c616e6365731434546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b730101040200f502040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20526573657276657301010402000503040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e01110301780c484578697374656e7469616c4465706f736974184000a0724e18090000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d61784c6f636b731c103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d617852657365727665731c1032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e01150306485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100190340000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e01001d0304000000018004604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e00071041757261011041757261082c417574686f726974696573010021030400046c205468652063757272656e7420617574686f72697479207365742e2c43757272656e74536c6f74010031032000000000000000000c80205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e009420546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e00000000171c53657373696f6e011c53657373696f6e1c2856616c696461746f7273010035030400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801001c100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100a8040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b657973010039030400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f7273010045030400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b657973000104050041030400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405490300040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e015103018400015503164050617261636861696e5374616b696e67014050617261636861696e5374616b696e6740544d617853656c656374656443616e6469646174657301001c100000000004090120546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c6563746564206174206561636820726f756e642e14526f756e640100590350000000000000000000000000140000000000000004e82043757272656e7420726f756e64206e756d62657220616e64206e65787420726f756e64207363686564756c6564207472616e736974696f6e2e384c61737444656c65676174696f6e01010405005d03200000000000000000140d012044656c65676174696f6e20696e666f726d6174696f6e20666f7220746865206c61746573742073657373696f6e20696e20776869636820612064656c656761746f722c2064656c6567617465642e000501204974206d6170732066726f6d20616e206163636f756e7420746f20746865206e756d626572206f662064656c65676174696f6e7320696e20746865206c617374982073657373696f6e20696e2077686963682074686579202872652d2964656c6567617465642e3844656c656761746f7253746174650001040500610304000c802044656c65676174696f6e207374616b696e6720696e666f726d6174696f6e2e00cc204974206d6170732066726f6d20616e206163636f756e7420746f206974732064656c65676174696f6e2064657461696c732e3443616e646964617465506f6f6c00010405006503040010a420546865207374616b696e6720696e666f726d6174696f6e20666f7220612063616e6469646174652e00b0204974206d6170732066726f6d20616e206163636f756e7420746f2069747320696e666f726d6174696f6e2eb8204d6f72656f7665722c20697420636f756e747320746865206e756d626572206f662063616e646964617465732e5c436f756e746572466f7243616e646964617465506f6f6c01001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617048546f74616c436f6c6c61746f725374616b650100790380000000000000000000000000000000000000000000000000000000000000000014f420546f74616c2066756e6473206c6f636b656420746f206261636b207468652063757272656e746c792073656c656374656420636f6c6c61746f72732ed0205468652073756d206f6620616c6c20636f6c6c61746f7220616e642074686569722064656c656761746f72207374616b65732e002101204e6f74653a20546865726520617265206d6f72652066756e6473206c6f636b656420627920746869732070616c6c65742c2073696e636520746865206261636b696e6720666f720901206e6f6e20636f6c6c6174696e672063616e64696461746573206973206e6f7420696e636c7564656420696e205b546f74616c436f6c6c61746f725374616b655d2e34546f7043616e6469646174657301007d03040028e82054686520636f6c6c61746f722063616e64696461746573207769746820746865206869676865737420616d6f756e74206f66207374616b652e00190120456163682074696d6520746865207374616b65206f66206120636f6c6c61746f7220697320696e637265617365642c20697420697320636865636b65642077686574686572050120746869732070757368657320616e6f746865722063616e646964617465206f7574206f6620746865206c6973742e205768656e20746865207374616b652069732101207265647563656420686f77657665722c206974206973206e6f7420636865636b656420696620616e6f746865722063616e64696461746520686173206d6f7265207374616b652c11012073696e6365207468697320776f756c64207265717569726520697465726174696e67206f7665722074686520656e74697265205b43616e646964617465506f6f6c5d2e001501205468657265206d75737420616c77617973206265206d6f72652063616e64696461746573207468616e205b4d617853656c656374656443616e646964617465735d20736f0d012074686174206120636f6c6c61746f722063616e2064726f70206f7574206f662074686520636f6c6c61746f7220736574206279207265647563696e672074686569721c207374616b652e3c496e666c6174696f6e436f6e66696701008503c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046420496e666c6174696f6e20636f6e66696775726174696f6e2e24556e7374616b696e670101040500910304001088205468652066756e64732077616974696e6720746f20626520756e7374616b65642e001d01204974206d6170732066726f6d206163636f756e747320746f20616c6c207468652066756e64732061646472657373656420746f207468656d20696e20746865206675747572652020626c6f636b732e644d6178436f6c6c61746f7243616e6469646174655374616b65010018400000000000000000000000000000000004cc20546865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e6469646174652063616e207374616b652e4c4c617374526577617264526564756374696f6e010010200000000000000000140d0120546865207965617220696e20776869636820746865206c617374206175746f6d6174696320726564756374696f6e206f66207468652072657761726420726174657328206f636375727265642e00250120497420737461727473206174207a65726f2061742067656e6573697320616e6420696e6372656d656e7473206279206f6e6520657665727920424c4f434b535f5045525f5945415234206d616e7920626c6f636b732e38426c6f636b73417574686f726564010104050010200000000000000000080d0120546865206e756d626572206f6620617574686f72656420626c6f636b7320666f7220636f6c6c61746f72732e20497420697320757064617465642076696120746865b020606e6f74655f617574686f726020686f6f6b207768656e20617574686f72696e67206120626c6f636b202e38426c6f636b73526577617264656401010405001020000000000000000024210120546865206e756d626572206f6620626c6f636b7320666f7220776869636820726577617264732068617665206265656e20636c61696d656420627920616e20616464726573732e00190120466f7220636f6c6c61746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f7265642e2049742069732075706461746564207768656ecc20696e6372656d656e74696e6720636f6c6c61746f7220726577617264732c20656974686572207768656e2063616c6c696e67e02060696e635f636f6c6c61746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e00250120466f722064656c656761746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f726564206f662074686520636f6c6c61746f722e497420697305012075706461746564207768656e20696e6372656d656e74696e672064656c656761746f7220726577617264732c20656974686572207768656e2063616c6c696e67e42060696e635f64656c656761746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e1c5265776172647301010405001840000000000000000000000000000000000c01012054686520616363756d756c61746564207265776172647320666f7220636f6c6c61746f722063616e6469646174657320616e642064656c656761746f72732e001101204974206d6170732066726f6d206163636f756e747320746f20746865697220746f74616c20726577617264732073696e636520746865206c617374207061796f75742e34466f7263654e6577526f756e640100a804000001a10301883c444d696e426c6f636b73506572526f756e6410202c0100000000000004d4204d696e696d756d206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e64732063616e206c6173742e5444656661756c74426c6f636b73506572526f756e641020580200000000000008fc2044656661756c74206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e6473206c6173742c2061732073657420696e207468655c2067656e6573697320636f6e66696775726174696f6e2e345374616b654475726174696f6e1020e0c40000000000000c0501204e756d626572206f6620626c6f636b7320666f7220776869636820756e7374616b65642062616c616e63652077696c6c207374696c6c206265206c6f636b6564f0206265666f72652069742063616e20626520756e6c6f636b6564206279206163746976656c792063616c6c696e67207468652065787472696e7369634c2060756e6c6f636b5f756e7374616b6564602e3845786974517565756544656c61791c1002000000080901204e756d626572206f6620726f756e6473206120636f6c6c61746f722068617320746f207374617920616374697665206166746572207375626d697474696e672061c4207265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e304d696e436f6c6c61746f72731c1010000000080d01204d696e696d756d206e756d626572206f6620636f6c6c61746f72732073656c65637465642066726f6d2074686520736574206f662063616e64696461746573206174602065766572792076616c69646174696f6e20726f756e642e504d696e5265717569726564436f6c6c61746f72731c1004000000081101204d696e696d756d206e756d626572206f6620636f6c6c61746f72732077686963682063616e6e6f74206c6561766520746865206e6574776f726b2069662074686572653c20617265206e6f206f74686572732e584d617844656c65676174696f6e73506572526f756e641c1001000000140101204d6178696d756d206e756d626572206f662064656c65676174696f6e732077686963682063616e206265206d6164652077697468696e207468652073616d651c20726f756e642e000d01204e4f54453a20546f2070726576656e742072652d64656c65676174696f6e2d7265776172642061747461636b732c2077652073686f756c64206b65657020746869732c20746f206265206f6e652e604d617844656c656761746f7273506572436f6c6c61746f721c102300000004e4204d6178696d756d206e756d626572206f662064656c656761746f727320612073696e676c6520636f6c6c61746f722063616e20686176652e404d6178546f7043616e646964617465731c104b00000004a0204d6178696d756d2073697a65206f662074686520746f702063616e64696461746573207365742e404d696e436f6c6c61746f725374616b6518400000e8890423c78a0000000000000000080901204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520656c65637465642061732076616c696461746f723420666f72206120726f756e642e644d696e436f6c6c61746f7243616e6469646174655374616b6518400000e8890423c78a0000000000000000080501204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520616464656420746f2074686520736574206f66302063616e646964617465732e444d696e44656c656761746f725374616b651840000082dfe40d4700000000000000000004f8204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f206265636f6d6520612064656c656761746f722e484d6178556e7374616b6552657175657374731c100a00000028e8204d6178206e756d626572206f6620636f6e63757272656e742061637469766520756e7374616b696e67207265717565737473206265666f72652c20756e6c6f636b696e672e001501204e4f54453a20546f2070726f7465637420616761696e737420697272656d6f766162696c697479206f6620612063616e646964617465206f722064656c656761746f722cf4207765206f6e6c7920616c6c6f7720666f72204d6178556e7374616b655265717565737473202d2031206d616e79206d616e75616c20756e7374616b6501012072657175657374732e20546865206c617374206f6e6520736572766573206173206120706c616365686f6c64657220666f7220746865206361736573206f66f02063616c6c696e672065697468657220606b69636b5f64656c656761746f72602c20666f7263655f72656d6f76655f63616e64696461746560206f7209012060657865637574655f6c656176655f63616e64696461746573602e204f74686572776973652c2061207573657220636f756c64206d6178206f75742074686569720d0120756e7374616b6520726571756573747320616e642070726576656e74207468656d73656c7665732066726f6d206265696e67206b69636b65642066726f6d20746865f020736574206f662063616e646964617465732f64656c656761746f727320756e74696c207468657920756e6c6f636b2074686569722066756e64732e484e6574776f726b5265776172645374617274102048a3c800000000000c110120546865207374617274696e6720626c6f636b206e756d62657220666f7220746865206e6574776f726b20726577617264732e204f6e6365207468652063757272656e74090120626c6f636b206e756d626572206578636565647320746869732073746172742c207468652062656e65666963696172792077696c6c2072656365697665207468658420636f6e666967757265642072657761726420696e206561636820626c6f636b2e444e6574776f726b526577617264526174658c2000008a5d784563010c0d0120546865207261746520696e2070657263656e7420666f7220746865206e6574776f726b207265776172647320776869636820617265206261736564206f6e207468650901206d6178696d756d206e756d626572206f6620636f6c6c61746f727320616e6420746865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e1c207374616b652e01a5031528417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e00000000141c41757261457874011c41757261457874042c417574686f72697469657301002103040014942053657276657320617320636163686520666f722074686520617574686f7269746965732e0071012054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c790120627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973f0206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e00000000182444656d6f6372616379012444656d6f6372616379303c5075626c696350726f70436f756e7401001c100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f70730100a903040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f66000104051c7d0504000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e7401001c100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401001c100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f66000104051c850504000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010405009105e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100a80400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c0000a905040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c697374000104062cad0504000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e73010104062ca80400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e284d657461646174614f6600010402a02c040018ec2047656e6572616c20696e666f726d6174696f6e20636f6e6365726e696e6720616e792070726f706f73616c206f72207265666572656e64756d2e6901205468652060507265696d61676548617368602072656665727320746f2074686520707265696d616765206f66207468652060507265696d61676573602070726f76696465722077686963682063616e2062652061204a534f4e882064756d70206f7220495046532068617368206f662061204a534f4e2066696c652e00750120436f6e73696465722061206761726261676520636f6c6c656374696f6e20666f722061206d65746164617461206f662066696e6973686564207265666572656e64756d7320746f2060756e7265717565737460202872656d6f76652944206c6172676520707265696d616765732e01b9030190303c456e6163746d656e74506572696f641020201c00000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f641020e0c400000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f641020e0c400000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f641020e0c4000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400080c6a47e8d0300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f776564a804010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f641020840300000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f641020e0c400000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f7465731c106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c731c1064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f736974731c1064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c69737465641c106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e01b1051e1c436f756e63696c011c436f756e63696c182450726f706f73616c730100b505040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062cb503040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062cb905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d62657273010035030400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01c90301a40001bd051f48546563686e6963616c436f6d6d69747465650148546563686e6963616c436f6d6d6974746565182450726f706f73616c730100c105040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062cb503040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062cb905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d62657273010035030400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01d90301b40001c505204c546563686e6963616c4d656d62657273686970014c546563686e6963616c4d656d62657273686970081c4d656d626572730100c905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01dd0301b80001cd052220547265617375727901205472656173757279103450726f706f73616c436f756e7401001c100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c73000104051cd1050400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c730100d505040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e01e10301bc1c3050726f706f73616c426f6e64d9051050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d1840000082dfe40d47000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756ddd050400044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f641020c0a8000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726ed90510000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c65744964e105206b696c742f7473790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c731c10640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e01e505231c5574696c6974790001e50301c0044c626174636865645f63616c6c735f6c696d69741c10aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01e905281c56657374696e67011c56657374696e67081c56657374696e670001040200ed05040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100f50504000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e010d0401c408444d696e5665737465645472616e73666572184000407a10f35a0000000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c65731c101c0000000001f90529245363686564756c657201245363686564756c65720c3c496e636f6d706c65746553696e6365000010040000184167656e64610101040510fd050400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001040504cc040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e01150401c808344d6178696d756d57656967687424280700a0db215d0200000104290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b1c1032000000041d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e010d062a1450726f7879011450726f7879081c50726f78696573010104050011064400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e74730101040500210644000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e011d0401d4184050726f78794465706f7369744261736518400020f7a54b330000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f72184000f4a92b80010000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f786965731c100a00000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e671c100a00000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518400020f7a54b330000000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000e8535700030000000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e0131062b20507265696d6167650120507265696d6167650824537461747573466f72000104062c35060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f72000104064106450604000001250401e0000149062c38546970734d656d626572736869700138546970734d656d62657273686970081c4d656d6265727301004d06040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01290401e4000151062d1054697073011054697073081054697073000104052c550604000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e73000104062c3004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e012d0401e8144c4d6178696d756d526561736f6e4c656e6774681c10004000000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756548446174614465706f73697450657242797465184000743ba40b00000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e30546970436f756e74646f776e1020201c0000000000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e6465727346656561060400043501205468652070657263656e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f73697442617365184000f45628fa320000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e0165062e204d756c746973696701204d756c746973696704244d756c746973696773000108050269066d06040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e01310401ec0c2c4465706f73697442617365184000801b84ee320000000000000000000018590120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f842073746f726520612064697370617463682063616c6c20666f72206c617465722e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069733101206034202b2073697a656f662828426c6f636b4e756d6265722c2042616c616e63652c204163636f756e74496429296020627974657320616e642077686f7365206b65792073697a652069738020603332202b2073697a656f66284163636f756e74496429602062797465732e344465706f736974466163746f72184000743ba40b00000000000000000000000c55012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e00250120546869732069732068656c6420666f7220616464696e67203332206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e384d61785369676e61746f726965731c104000000004ec20546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420696e20746865206d756c74697369672e0175062f144374797065011443747970650418437479706573000104022c790604001060204354797065732073746f726564206f6e20636861696e2e001901204974206d6170732066726f6d2061204354797065206861736820746f206974732063726561746f7220616e6420626c6f636b206e756d62657220696e207768696368206974342077617320637265617465642e01390401f400017d063d2c4174746573746174696f6e012c4174746573746174696f6e08304174746573746174696f6e73000104022c810604000c78204174746573746174696f6e732073746f726564206f6e20636861696e2e00cc204974206d6170732066726f6d206120636c61696d206861736820746f207468652066756c6c206174746573746174696f6e2e5045787465726e616c4174746573746174696f6e7301010805028906a804000ca02044656c656761746564206174746573746174696f6e732073746f726564206f6e20636861696e2e00e8204974206d6170732066726f6d20612064656c65676174696f6e20494420746f206120766563746f72206f6620636c61696d206861736865732e013d0401f8081c4465706f7369741840001cc9dd006e0000000000000000000004e420546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720616e206174746573746174696f6e2e604d617844656c6567617465644174746573746174696f6e731c10e803000008090120546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732077686963682063616e206265206d61646520627954207468652073616d652064656c65676174696f6e2e018d063e2844656c65676174696f6e012844656c65676174696f6e083c44656c65676174696f6e4e6f646573000104022c910604000c882044656c65676174696f6e206e6f6465732073746f726564206f6e20636861696e2e00b0204974206d6170732066726f6d2061206e6f646520494420746f20746865206e6f64652064657461696c732e5444656c65676174696f6e4869657261726368696573000104022ca50604000ca02044656c65676174696f6e2068696572617263686965732073746f726564206f6e20636861696e2e00dc204974206d61707320666f7220612028726f6f7429206e6f646520494420746f20746865206869657261726368792064657461696c732e015104010501181c4465706f73697418400080c6a47e8d0300000000000000000004dc20546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720612064656c65676174696f6e2e584d61785369676e6174757265427974654c656e677468dc08400000384d61785265766f636174696f6e731c1005000000047c204d6178696d756d206e756d626572206f66207265766f636174696f6e732e2c4d617852656d6f76616c731c100500000004f4204d6178696d756d206e756d626572206f662072656d6f76616c732e2053686f756c642062652073616d65206173204d61785265766f636174696f6e733c4d6178506172656e74436865636b731c1005000000080d01204d6178696d756d206e756d626572206f6620757077617264732074726176657273616c73206f66207468652064656c65676174696f6e20747265652066726f6d2061f0206e6f646520746f2074686520726f6f7420616e64207468757320746865206465707468206f66207468652064656c65676174696f6e20747265652e2c4d61784368696c6472656e1c10e80300000c0d01204d6178696d756d206e756d626572206f6620616c6c206368696c6472656e20666f7220612064656c65676174696f6e206e6f64652e20466f7220612062696e617279fc20747265652c20746869732073686f756c6420626520747769636520746865206d6178696d756d206465707468206f662074686520747265652c20692e652e5c206032205e204d6178506172656e74436865636b73602e01a9063f0c446964010c446964100c4469640001040200ad0604000c5820444944732073746f726564206f6e20636861696e2e00c8204974206d6170732066726f6d206120444944206964656e74696669657220746f20746865204449442064657461696c732e4053657276696365456e64706f696e74730001080502cd06790404000ca0205365727669636520656e64706f696e7473206173736f636961746564207769746820444944732e000901204974206d6170732066726f6d2028444944206964656e7469666965722c20736572766963652049442920746f2074686520736572766963652064657461696c732e44446964456e64706f696e7473436f756e7401010402001c10000000000cac20436f756e746572206f66207365727669636520656e64706f696e747320666f722065616368204449442e00cc204974206d6170732066726f6d2028444944206964656e7469666965722920746f20612033322d62697420636f756e7465722e30446964426c61636b6c6973740001040200b00400141d012054686520736574206f66204449447320746861742068617665206265656e2064656c6574656420616e642063616e6e6f74207468657265666f726520626520637265617465647020616761696e20666f7220736563757269747920726561736f6e732e002101204974206d6170732066726f6d206120444944206964656e74696669657220746f206120756e6974207475706c652c20666f72207468652073616b65206f6620747261636b696e674420444944206964656e746966696572732e016d04010d01382c426173654465706f736974184000008d49fd1a07000000000000000000100d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974f820746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f73697473fc20696e6372656173652062792074686520616d6f756e74206f662075736564206b65797320616e64207365727669636520656e64706f696e74732e20546865c8206465706f7369742063616e206265207265636c61696d6564207768656e20746865204449442069732064656c657465642e5853657276696365456e64706f696e744465706f736974184000b0156a084a00000000000000000000100d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368207365727669636520656e64706f696e7409012061732061206465706f73697420746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e205468651501206465706f7369742063616e206265207265636c61696d6564207768656e20746865207365727669636520656e64706f696e742069732072656d6f766564206f722074686534204449442064656c657465642e284b65794465706f736974184000dc20749701000000000000000000000805012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368206164646564206b65792061732061e4206465706f73697420746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e0c466565184000203d88792d000000000000000000000c09012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f7220656163682044494420617320612066656520746f0d0120696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206665652077696c6c206e6f74206765748820726566756e646564207768656e20746865204449442069732064656c657465642e4c4d61785075626c69634b6579735065724469641c10140000000c1101204d6178696d756d206e756d626572206f6620746f74616c207075626c6963206b6579732077686963682063616e2062652073746f7265642070657220444944206b6579d8206964656e7469666965722e205468697320696e636c7564657320746865206f6e65732063757272656e746c79207573656420666f72f02061757468656e7469636174696f6e2c206b65792061677265656d656e742c206174746573746174696f6e2c20616e642064656c65676174696f6e2e584d61784e65774b657941677265656d656e744b6579731c100a000000081501204d6178696d756d206e756d626572206f66206b65792061677265656d656e74206b65797320746861742063616e20626520616464656420696e2061206372656174696f6e2c206f7065726174696f6e2e604d6178546f74616c4b657941677265656d656e744b6579731c1013000000101101204d6178696d756d206e756d626572206f6620746f74616c206b65792061677265656d656e74206b65797320746861742063616e2062652073746f72656420666f7220613420444944207375626a6563742e00c42053686f756c642062652067726561746572207468616e20604d61784e65774b657941677265656d656e744b657973602e4c4d6178426c6f636b73547856616c696469747910202c0100000000000008ec20546865206d6178696d756d206e756d626572206f6620626c6f636b732061204449442d617574686f72697a6564206f7065726174696f6e2069739420636f6e736964657265642076616c696420616674657220697473206372656174696f6e2e644d61784e756d6265724f6653657276696365735065724469641c101900000004fc20546865206d6178696d756d206e756d626572206f6620736572766963657320746861742063616e2062652073746f72656420756e6465722061204449442e484d61785365727669636549644c656e6774681c1032000000049020546865206d6178696d756d206c656e677468206f66206120736572766963652049442e504d617853657276696365547970654c656e6774681c103200000004c820546865206d6178696d756d206c656e677468206f66206120736572766963652074797065206465736372697074696f6e2e684d61784e756d6265724f665479706573506572536572766963651c100100000004090120546865206d6178696d756d206e756d626572206f662061207479706573206465736372697074696f6e20666f722061207365727669636520656e64706f696e742e4c4d61785365727669636555726c4c656e6774681c10c8000000049420546865206d6178696d756d206c656e677468206f66206120736572766963652055524c2e644d61784e756d6265724f6655726c73506572536572766963651c100200000004d420546865206d6178696d756d206e756d626572206f6620612055524c7320666f722061207365727669636520656e64706f696e742e01d1064024496e666c6174696f6e000000084c496e697469616c506572696f644c656e677468102048a3c800000000000c050120546865206c656e677468206f662074686520696e697469616c20706572696f6420696e2077686963682074686520636f6e7374616e74207265776172642069731101206d696e7465642e204f6e6365207468652063757272656e7420626c6f636b206578636565647320746869732c207265776172647320617265206e6f206675727468657220206973737565642e4c496e697469616c506572696f64526577617264184036f539fdaeb30200000000000000000008fc2054686520616d6f756e74206f66206e65776c792069737375656420746f6b656e732070657220626c6f636b20647572696e672074686520696e697469616c2020706572696f642e0042244469644c6f6f6b757001244469644c6f6f6b75700834436f6e6e656374656444696473000104021501d506040004a8204d617070696e672066726f6d206163636f756e74206964656e7469666965727320746f20444944732e44436f6e6e65637465644163636f756e74730001080202d906b004000cbc204d617070696e672066726f6d2028444944202b206163636f756e74206964656e74696669657229202d3e2028292e0d012054686520656d707479207475706c65206973207573656420617320612073656e74696e656c2076616c756520746f2073696d706c7920696e64696361746520746865982070726573656e6365206f66206120676976656e207475706c6520696e20746865206d61702e01c504011101041c4465706f736974184000c0afd69136000000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e01dd064324576562334e616d65730124576562334e616d65730c144f776e6572000104022501e10604000488204d6170206f66206e616d65202d3e206f776e6572736869702064657461696c732e144e616d65730001040200250104000458204d6170206f66206f776e6572202d3e206e616d652e1842616e6e6564000104022501b004000c4c204d6170206f66206e616d65202d3e2028292e00e02049662061206e616d65206b65792069732070726573656e742c20746865206e616d652069732063757272656e746c792062616e6e65642e01d5040121010c1c4465706f736974184000d450a85d6b0000000000000000000004bc2054686520616d6f756e74206f66204b494c5420746f206465706f73697420746f20636c61696d2061206e616d652e344d696e4e616d654c656e6774681c1003000000048820546865206d696e20656e636f646564206c656e677468206f662061206e616d652e344d61784e616d654c656e6774681c1020000000048820546865206d617820656e636f646564206c656e677468206f662061206e616d652e01e50644445075626c696343726564656e7469616c7301445075626c696343726564656e7469616c73082c43726564656e7469616c730001080502e906ed0604000cc020546865206d6170206f66207075626c69632063726564656e7469616c7320616c72656164792061747465737465642ef0204974206d6170732066726f6d206120287375626a656374206964202b2063726564656e7469616c20696429202d3e20746865206372656174696f6e6c2064657461696c73206f66207468652063726564656e7469616c2e4843726564656e7469616c5375626a65637473000104022c310104001025012041207265766572736520696e646578206d617070696e672066726f6d2063726564656e7469616c20494420746f20746865207375626a656374207468652063726564656e7469616c3c207761732069737375656420746f2e001901204974206974207573656420746f20706572666f726d20656666696369656e74206c6f6f6b7570206f662063726564656e7469616c7320676976656e2074686569722049442e01d904012d010c1c4465706f7369741840005c6a51fc45000000000000000000000411012054686520616d6f756e74206f6620746f6b656e7320746f2072657365727665207768656e20617474657374696e672061207075626c69632063726564656e7469616c2e584d6178456e636f646564436c61696d734c656e6774681c10a0860100040d0120546865206d6178696d756d206c656e67746820696e206279746573206f662074686520656e636f64656420636c61696d73206f6620612063726564656e7469616c2e484d61785375626a65637449644c656e6774681c100c01000008e820546865206d6178696d756d206c656e67746820696e206279746573206f6620746865207261772063726564656e7469616c207375626a65637430206964656e7469666965722e01f106453c50617261636861696e53797374656d013c50617261636861696e53797374656d545450656e64696e6756616c69646174696f6e436f64650100300400187d0120496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e00c10120417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455dad012077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e000501205b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455d3a2073705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f4445444e657756616c69646174696f6e436f64650000300400145d012056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e647820636f6e73657175656e746c79207468652072656c61792d636861696e2e00650120546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c7265616479207365742c207468652076616c75652e3856616c69646174696f6e446174610000f10404000cd020546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e2d0120546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f7265643420696e2074686520747269652e5044696453657456616c69646174696f6e436f64650100a8040004e02057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f644c61737452656c6179436861696e426c6f636b4e756d62657201001c1000000000041d01205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e60557067726164655265737472696374696f6e5369676e616c0100f50604001c750120416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e610120496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365646c2063616e6469646174652077696c6c20626520696e76616c69642e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3c52656c6179537461746550726f6f660000f904040018c4205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e5852656c6576616e744d6573736167696e6753746174650000fd0604001c65012054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e2061732070657248207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e44486f7374436f6e66696775726174696f6e000011070400182901205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e384c617374446d714d7163486561640100150780000000000000000000000000000000000000000000000000000000000000000010f420546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e404c61737448726d704d7163486561647301001907040010490120546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e6450726f636573736564446f776e776172644d6573736167657301001c10000000000cc8204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e3448726d7057617465726d61726b01001c10000000000ca02048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5048726d704f7574626f756e644d657373616765730100250704000ca42048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e385570776172644d657373616765730100a90204000cac20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5450656e64696e675570776172644d657373616765730100a902040004310120557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e84416e6e6f756e63656448726d704d6573736167657350657243616e64696461746501001c100000000008650120546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f72f020616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e68526573657276656458636d705765696768744f766572726964650000240400085d01205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e645265736572766564446d705765696768744f766572726964650000240400085901205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e44417574686f72697a65645570677261646500002d07040004b820546865206e65787420617574686f72697a656420757067726164652c206966207468657265206973206f6e652e60437573746f6d56616c69646174696f6e486561644461746100003004000c2901204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e00190120536565205b6050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461605d20666f72206d6f726520696e666f726d6174696f6e2e01e904019d0100013107503450617261636861696e496e666f013450617261636861696e496e666f042c50617261636861696e49640100a90110640000000000000000512458636d705175657565012458636d7051756575652844496e626f756e6458636d70537461747573010035070400049420537461747573206f662074686520696e626f756e642058434d50206368616e6e656c732e4c496e626f756e6458636d704d6573736167657301010802054d0730040004190120496e626f756e64206167677265676174652058434d50206d657373616765732e2049742063616e206f6e6c79206265206f6e6520706572205061726149642f626c6f636b2e484f7574626f756e6458636d70537461747573010051070400185d0120546865206e6f6e2d656d7074792058434d50206368616e6e656c7320696e206f72646572206f66206265636f6d696e67206e6f6e2d656d7074792c20616e642074686520696e646578206f6620746865206669727374510120616e64206c617374206f7574626f756e64206d6573736167652e204966207468652074776f20696e64696365732061726520657175616c2c207468656e20697420696e6469636174657320616e20656d707479590120717565756520616e64207468657265206d7573742062652061206e6f6e2d604f6b6020604f7574626f756e64537461747573602e20576520617373756d65207175657565732067726f77206e6f20677265617465725901207468616e203635353335206974656d732e20517565756520696e646963657320666f72206e6f726d616c206d6573736167657320626567696e206174206f6e653b207a65726f20697320726573657276656420696e11012063617365206f6620746865206e65656420746f2073656e64206120686967682d7072696f72697479207369676e616c206d657373616765207468697320626c6f636b2e09012054686520626f6f6c20697320747275652069662074686572652069732061207369676e616c206d6573736167652077616974696e6720746f2062652073656e742e504f7574626f756e6458636d704d6573736167657301010802055d0730040004bc20546865206d65737361676573206f7574626f756e6420696e206120676976656e2058434d50206368616e6e656c2e385369676e616c4d6573736167657301010402a90130040004a020416e79207369676e616c206d657373616765732077616974696e6720746f2062652073656e742e2c5175657565436f6e6669670100610774020000000500000001000000821a06000008000700c817a804020004000415012054686520636f6e66696775726174696f6e20776869636820636f6e74726f6c73207468652064796e616d696373206f6620746865206f7574626f756e642071756575652e284f76657277656967687400010405106507040010050120546865206d657373616765732074686174206578636565646564206d617820696e646976696475616c206d65737361676520776569676874206275646765742e003901205468657365206d657373616765207374617920696e20746869732073746f72616765206d617020756e74696c207468657920617265206d616e75616c6c79206469737061746368656420766961582060736572766963655f6f766572776569676874602e50436f756e746572466f724f76657277656967687401001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c4f766572776569676874436f756e7401001020000000000000000008690120546865206e756d626572206f66206f766572776569676874206d657373616765732065766572207265636f7264656420696e20604f766572776569676874602e20416c736f20646f75626c657320617320746865206e6578748420617661696c61626c652066726565206f76657277656967687420696e6465782e38517565756553757370656e6465640100a804000441012057686574686572206f72206e6f74207468652058434d502071756575652069732073757370656e6465642066726f6d20657865637574696e6720696e636f6d696e672058434d73206f72206e6f742e011d0501a10100016907522c506f6c6b61646f7458636d0001210501ad0100016d07532843756d756c757358636d0000018102000171075420446d7051756575650120446d7051756575651434436f6e66696775726174696f6e01007507280700e40b540202000400044c2054686520636f6e66696775726174696f6e2e2450616765496e646578010079074000000000000000000000000000000000044020546865207061676520696e6465782e145061676573010104021c7d0704000444205468652071756575652070616765732e284f766572776569676874000104021081070400046420546865206f766572776569676874206d657373616765732e50436f756e746572466f724f76657277656967687401001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617001750501850200018507558907042048436865636b4e6f6e5a65726f53656e6465729107b040436865636b5370656356657273696f6e95071c38436865636b547856657273696f6e99071c30436865636b47656e657369739d072c38436865636b4d6f7274616c697479a1072c28436865636b4e6f6e6365a907b02c436865636b576569676874ad07b0604368617267655472616e73616374696f6e5061796d656e74b107b04d04"} \ No newline at end of file diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 7a43d75cf..d1c8e28e5 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.33.1", + "version": "0.34.0", "description": "", "types": "./lib/index.d.ts", "type": "module", diff --git a/packages/augment-api/src/interfaces/augment-api-consts.ts b/packages/augment-api/src/interfaces/augment-api-consts.ts index b3fba9062..499d4e269 100644 --- a/packages/augment-api/src/interfaces/augment-api-consts.ts +++ b/packages/augment-api/src/interfaces/augment-api-consts.ts @@ -131,16 +131,22 @@ declare module '@polkadot/api-base/types/consts' { did: { /** * The amount of balance that will be taken for each DID as a deposit - * to incentivise fair use of the on chain storage. The deposit can be - * reclaimed when the DID is deleted. + * to incentivise fair use of the on chain storage. The deposits + * increase by the amount of used keys and service endpoints. The + * deposit can be reclaimed when the DID is deleted. **/ - deposit: u128 & AugmentedConst; + baseDeposit: u128 & AugmentedConst; /** * The amount of balance that will be taken for each DID as a fee to * incentivise fair use of the on chain storage. The fee will not get * refunded when the DID is deleted. **/ fee: u128 & AugmentedConst; + /** + * The amount of balance that will be taken for each added key as a + * deposit to incentivise fair use of the on chain storage. + **/ + keyDeposit: u128 & AugmentedConst; /** * The maximum number of blocks a DID-authorized operation is * considered valid after its creation. @@ -188,6 +194,13 @@ declare module '@polkadot/api-base/types/consts' { * Should be greater than `MaxNewKeyAgreementKeys`. **/ maxTotalKeyAgreementKeys: u32 & AugmentedConst; + /** + * The amount of balance that will be taken for each service endpoint + * as a deposit to incentivise fair use of the on chain storage. The + * deposit can be reclaimed when the service endpoint is removed or the + * DID deleted. + **/ + serviceEndpointDeposit: u128 & AugmentedConst; }; didLookup: { /** @@ -216,6 +229,27 @@ declare module '@polkadot/api-base/types/consts' { **/ initialPeriodReward: u128 & AugmentedConst; }; + multisig: { + /** + * The base amount of currency needed to reserve for creating a multisig execution or to + * store a dispatch call for later. + * + * This is held for an additional storage item whose value size is + * `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is + * `32 + sizeof(AccountId)` bytes. + **/ + depositBase: u128 & AugmentedConst; + /** + * The amount of currency needed per unit threshold when creating a multisig execution. + * + * This is held for adding 32 bytes more into a pre-existing storage value. + **/ + depositFactor: u128 & AugmentedConst; + /** + * The maximum amount of signatories allowed in the multisig. + **/ + maxSignatories: u32 & AugmentedConst; + }; parachainStaking: { /** * Default number of blocks validation rounds last, as set in the diff --git a/packages/augment-api/src/interfaces/augment-api-errors.ts b/packages/augment-api/src/interfaces/augment-api-errors.ts index 93a87cc40..e61f6f75f 100644 --- a/packages/augment-api/src/interfaces/augment-api-errors.ts +++ b/packages/augment-api/src/interfaces/augment-api-errors.ts @@ -290,6 +290,10 @@ declare module '@polkadot/api-base/types/errors' { * The given account did not vote on the referendum. **/ NotVoter: AugmentedError; + /** + * The preimage does not exist. + **/ + PreimageNotExist: AugmentedError; /** * Proposal still blacklisted **/ @@ -503,6 +507,64 @@ declare module '@polkadot/api-base/types/errors' { **/ Permanent: AugmentedError; }; + multisig: { + /** + * Call is already approved by this signatory. + **/ + AlreadyApproved: AugmentedError; + /** + * The data to be stored is already stored. + **/ + AlreadyStored: AugmentedError; + /** + * The maximum weight information provided was too low. + **/ + MaxWeightTooLow: AugmentedError; + /** + * Threshold must be 2 or greater. + **/ + MinimumThreshold: AugmentedError; + /** + * Call doesn't need any (more) approvals. + **/ + NoApprovalsNeeded: AugmentedError; + /** + * Multisig operation not found when attempting to cancel. + **/ + NotFound: AugmentedError; + /** + * No timepoint was given, yet the multisig operation is already underway. + **/ + NoTimepoint: AugmentedError; + /** + * Only the account that originally created the multisig is able to cancel it. + **/ + NotOwner: AugmentedError; + /** + * The sender was contained in the other signatories; it shouldn't be. + **/ + SenderInSignatories: AugmentedError; + /** + * The signatories were provided out of order; they should be ordered. + **/ + SignatoriesOutOfOrder: AugmentedError; + /** + * There are too few signatories in the list. + **/ + TooFewSignatories: AugmentedError; + /** + * There are too many signatories in the list. + **/ + TooManySignatories: AugmentedError; + /** + * A timepoint was given, yet no multisig operation is underway. + **/ + UnexpectedTimepoint: AugmentedError; + /** + * A different timepoint was given to the multisig operation that is underway. + **/ + WrongTimepoint: AugmentedError; + }; parachainStaking: { /** * The delegator has already previously delegated the collator @@ -659,7 +721,7 @@ declare module '@polkadot/api-base/types/errors' { }; parachainSystem: { /** - * The inherent which supplies the host configuration did not run this block + * The inherent which supplies the host configuration did not run this block. **/ HostConfigurationNotAvailable: AugmentedError; /** @@ -671,16 +733,16 @@ declare module '@polkadot/api-base/types/errors' { **/ NotScheduled: AugmentedError; /** - * Attempt to upgrade validation function while existing upgrade pending + * Attempt to upgrade validation function while existing upgrade pending. **/ OverlappingUpgrades: AugmentedError; /** - * Polkadot currently prohibits this parachain from upgrading its validation function + * Polkadot currently prohibits this parachain from upgrading its validation function. **/ ProhibitedByPolkadot: AugmentedError; /** * The supplied validation function has compiled into a blob larger than Polkadot is - * willing to run + * willing to run. **/ TooBig: AugmentedError; /** @@ -688,7 +750,7 @@ declare module '@polkadot/api-base/types/errors' { **/ Unauthorized: AugmentedError; /** - * The inherent which supplies the validation data did not run this block + * The inherent which supplies the validation data did not run this block. **/ ValidationDataNotAvailable: AugmentedError; }; diff --git a/packages/augment-api/src/interfaces/augment-api-events.ts b/packages/augment-api/src/interfaces/augment-api-events.ts index e87878e06..99a192737 100644 --- a/packages/augment-api/src/interfaces/augment-api-events.ts +++ b/packages/augment-api/src/interfaces/augment-api-events.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types'; import type { Bytes, Null, Option, Result, U8aFixed, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, H256, Perquintill } from '@polkadot/types/interfaces/runtime'; -import type { DelegationDelegationHierarchyPermissions, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletDidLookupLinkableAccountLinkableAccountId, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpRuntimeDispatchError, SpWeightsWeightV2Weight, SpiritnetRuntimeProxyType, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; +import type { DelegationDelegationHierarchyPermissions, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletDidLookupLinkableAccountLinkableAccountId, PalletMultisigTimepoint, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpRuntimeDispatchError, SpWeightsWeightV2Weight, SpiritnetRuntimeProxyType, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; export type __AugmentedEvent = AugmentedEvent; @@ -197,6 +197,18 @@ declare module '@polkadot/api-base/types/events' { * An external proposal has been tabled. **/ ExternalTabled: AugmentedEvent; + /** + * Metadata for a proposal or a referendum has been cleared. + **/ + MetadataCleared: AugmentedEvent; + /** + * Metadata for a proposal or a referendum has been set. + **/ + MetadataSet: AugmentedEvent; + /** + * Metadata has been transferred to new owner. + **/ + MetadataTransferred: AugmentedEvent; /** * A proposal has been rejected by referendum. **/ @@ -287,6 +299,10 @@ declare module '@polkadot/api-base/types/events' { * Downward message is invalid XCM. **/ InvalidFormat: AugmentedEvent; + /** + * The maximum number of downward messages was. + **/ + MaxMessagesExhausted: AugmentedEvent; /** * Downward message is overweight and was placed in the overweight queue. **/ @@ -318,6 +334,24 @@ declare module '@polkadot/api-base/types/events' { **/ IndexFrozen: AugmentedEvent; }; + multisig: { + /** + * A multisig operation has been approved by someone. + **/ + MultisigApproval: AugmentedEvent; + /** + * A multisig operation has been cancelled. + **/ + MultisigCancelled: AugmentedEvent; + /** + * A multisig operation has been executed. + **/ + MultisigExecuted: AugmentedEvent], { approving: AccountId32, timepoint: PalletMultisigTimepoint, multisig: AccountId32, callHash: U8aFixed, result: Result }>; + /** + * A new multisig operation has begun. + **/ + NewMultisig: AugmentedEvent; + }; parachainStaking: { /** * The length in blocks for future validation rounds has changed. diff --git a/packages/augment-api/src/interfaces/augment-api-query.ts b/packages/augment-api/src/interfaces/augment-api-query.ts index 0c6ed3456..2c3b2e9cc 100644 --- a/packages/augment-api/src/interfaces/augment-api-query.ts +++ b/packages/augment-api/src/interfaces/augment-api-query.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/ import type { BTreeMap, Bytes, Null, Option, U8aFixed, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec'; import type { AnyNumber, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H256 } from '@polkadot/types/interfaces/runtime'; -import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupConnectionRecord, PalletDidLookupLinkableAccountLinkableAccountId, PalletDidLookupMigrationState, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, SpiritnetRuntimeSessionKeys } from '@polkadot/types/lookup'; +import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupConnectionRecord, PalletDidLookupLinkableAccountLinkableAccountId, PalletMultisigMultisig, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, SpiritnetRuntimeSessionKeys } from '@polkadot/types/lookup'; import type { Observable } from '@polkadot/types/types'; export type __AugmentedQuery = AugmentedQuery unknown>; @@ -180,6 +180,15 @@ declare module '@polkadot/api-base/types/storage' { * `ReferendumCount` if there isn't a unbaked referendum. **/ lowestUnbaked: AugmentedQuery Observable, []>; + /** + * General information concerning any proposal or referendum. + * The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON + * dump or IPFS hash of a JSON file. + * + * Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove) + * large preimages. + **/ + metadataOf: AugmentedQuery Observable>, [PalletDemocracyMetadataOwner]>; /** * The referendum to be tabled whenever it would be valid to table an external proposal. * This happens when a referendum needs to be tabled and one of two conditions are met: @@ -252,7 +261,6 @@ declare module '@polkadot/api-base/types/storage' { * Mapping from account identifiers to DIDs. **/ connectedDids: AugmentedQuery Observable>, [PalletDidLookupLinkableAccountLinkableAccountId]>; - migrationStateStore: AugmentedQuery Observable, []>; }; dmpQueue: { /** @@ -282,6 +290,12 @@ declare module '@polkadot/api-base/types/storage' { **/ accounts: AugmentedQuery Observable>>, [u64]>; }; + multisig: { + /** + * The set of open multisig operations. + **/ + multisigs: AugmentedQuery Observable>, [AccountId32, U8aFixed]>; + }; parachainInfo: { parachainId: AugmentedQuery Observable, []>; }; @@ -397,7 +411,7 @@ declare module '@polkadot/api-base/types/storage' { /** * The next authorized upgrade, if there is one. **/ - authorizedUpgrade: AugmentedQuery Observable>, []>; + authorizedUpgrade: AugmentedQuery Observable>, []>; /** * A custom head data that should be returned as result of `validate_block`. * @@ -559,14 +573,6 @@ declare module '@polkadot/api-base/types/storage' { **/ credentialSubjects: AugmentedQuery Observable>, [H256]>; }; - randomnessCollectiveFlip: { - /** - * Series of block headers from the last 81 blocks that acts as random seed material. This - * is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of - * the oldest hash. - **/ - randomMaterial: AugmentedQuery Observable>, []>; - }; scheduler: { /** * Items to be executed, indexed by the block number that they should be executed on. diff --git a/packages/augment-api/src/interfaces/augment-api-tx.ts b/packages/augment-api/src/interfaces/augment-api-tx.ts index 27fc8ab12..ebf3f6961 100644 --- a/packages/augment-api/src/interfaces/augment-api-tx.ts +++ b/packages/augment-api/src/interfaces/augment-api-tx.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableE import type { Bytes, Compact, Option, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H256, MultiAddress, Perquintill } from '@polkadot/types/interfaces/runtime'; -import type { CumulusPrimitivesParachainInherentParachainInherentData, DelegationDelegationHierarchyPermissions, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidServiceEndpointsDidEndpoint, FrameSupportPreimagesBounded, PalletDemocracyConviction, PalletDemocracyVoteAccountVote, PalletDidLookupAssociateAccountRequest, PalletDidLookupLinkableAccountLinkableAccountId, PalletVestingVestingInfo, PublicCredentialsCredentialsCredential, RuntimeCommonAuthorizationPalletAuthorize, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeSessionKeys, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { CumulusPrimitivesParachainInherentParachainInherentData, DelegationDelegationHierarchyPermissions, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidServiceEndpointsDidEndpoint, FrameSupportPreimagesBounded, PalletDemocracyConviction, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDidLookupAssociateAccountRequest, PalletDidLookupLinkableAccountLinkableAccountId, PalletMultisigTimepoint, PalletVestingVestingInfo, PublicCredentialsCredentialsCredential, RuntimeCommonAuthorizationPalletAuthorize, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeSessionKeys, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>; export type __SubmittableExtrinsic = SubmittableExtrinsic; @@ -115,10 +115,9 @@ declare module '@polkadot/api-base/types/submittable' { /** * Exactly as `transfer`, except the origin must be root and the source account may be * specified. - * # + * ## Complexity * - Same as transfer, but additional read and write because the source account is not * assumed to be in the overlay. - * # **/ forceTransfer: AugmentedSubmittable<(source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress, Compact]>; /** @@ -147,7 +146,7 @@ declare module '@polkadot/api-base/types/submittable' { * * The dispatch origin for this call must be `Signed` by the transactor. * - * # + * ## Complexity * - Dependent on arguments but not critical, given proper implementations for input config * types. See related functions below. * - It contains a limited number of reads and writes internally and no complex @@ -161,9 +160,6 @@ declare module '@polkadot/api-base/types/submittable' { * - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`. * - `transfer_keep_alive` works the same way as `transfer`, but has an additional check * that the transfer will not kill the origin account. - * --------------------------------- - * - Origin account is already in memory, so no DB operations for them. - * # **/ transfer: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Compact]>; /** @@ -181,9 +177,10 @@ declare module '@polkadot/api-base/types/submittable' { * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all * of the funds the account has, causing the sender account to be killed (false), or * transfer everything except at least the existential deposit, which will guarantee to - * keep the sender account alive (true). # + * keep the sender account alive (true). + * + * ## Complexity * - O(1). Just like transfer, but reading the user's transferable balance first. - * # **/ transferAll: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, keepAlive: bool | boolean | Uint8Array) => SubmittableExtrinsic, [MultiAddress, bool]>; /** @@ -216,20 +213,12 @@ declare module '@polkadot/api-base/types/submittable' { * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via * `storage::read` so it is `size_of::() == 4` larger than the pure length. * - * # - * ## Weight + * ## Complexity * - `O(B + M + P1 + P2)` where: * - `B` is `proposal` size in bytes (length-fee-bounded) * - `M` is members-count (code- and governance-bounded) * - `P1` is the complexity of `proposal` preimage. * - `P2` is proposal-count (code-bounded) - * - DB: - * - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`) - * - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec - * `O(P2)`) - * - any mutations done while executing `proposal` (`P1`) - * - up to 3 events - * # **/ close: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, SpWeightsWeightV2Weight, Compact]>; /** @@ -251,20 +240,12 @@ declare module '@polkadot/api-base/types/submittable' { * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via * `storage::read` so it is `size_of::() == 4` larger than the pure length. * - * # - * ## Weight + * ## Complexity * - `O(B + M + P1 + P2)` where: * - `B` is `proposal` size in bytes (length-fee-bounded) * - `M` is members-count (code- and governance-bounded) * - `P1` is the complexity of `proposal` preimage. * - `P2` is proposal-count (code-bounded) - * - DB: - * - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`) - * - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec - * `O(P2)`) - * - any mutations done while executing `proposal` (`P1`) - * - up to 3 events - * # **/ closeOldWeight: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, Compact, Compact]>; /** @@ -276,12 +257,8 @@ declare module '@polkadot/api-base/types/submittable' { * Parameters: * * `proposal_hash`: The hash of the proposal that should be disapproved. * - * # - * Complexity: O(P) where P is the number of max proposals - * DB Weight: - * * Reads: Proposals - * * Writes: Voting, Proposals, ProposalOf - * # + * ## Complexity + * O(P) where P is the number of max proposals **/ disapproveProposal: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** @@ -289,13 +266,11 @@ declare module '@polkadot/api-base/types/submittable' { * * Origin must be a member of the collective. * - * # - * ## Weight - * - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching - * `proposal` - * - DB: 1 read (codec `O(M)`) + DB access of `proposal` - * - 1 event - * # + * ## Complexity: + * - `O(B + M + P)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` members-count (code-bounded) + * - `P` complexity of dispatching `proposal` **/ execute: AugmentedSubmittable<(proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Call, Compact]>; /** @@ -306,26 +281,13 @@ declare module '@polkadot/api-base/types/submittable' { * `threshold` determines whether `proposal` is executed directly (`threshold < 2`) * or put up for voting. * - * # - * ## Weight + * ## Complexity * - `O(B + M + P1)` or `O(B + M + P2)` where: * - `B` is `proposal` size in bytes (length-fee-bounded) * - `M` is members-count (code- and governance-bounded) * - branching is influenced by `threshold` where: * - `P1` is proposal execution complexity (`threshold < 2`) * - `P2` is proposals-count (code-bounded) (`threshold >= 2`) - * - DB: - * - 1 storage read `is_member` (codec `O(M)`) - * - 1 storage read `ProposalOf::contains_key` (codec `O(1)`) - * - DB accesses influenced by `threshold`: - * - EITHER storage accesses done by `proposal` (`threshold < 2`) - * - OR proposal insertion (`threshold <= 2`) - * - 1 storage mutation `Proposals` (codec `O(P2)`) - * - 1 storage mutation `ProposalCount` (codec `O(1)`) - * - 1 storage write `ProposalOf` (codec `O(B)`) - * - 1 storage write `Voting` (codec `O(M)`) - * - 1 event - * # **/ propose: AugmentedSubmittable<(threshold: Compact | AnyNumber | Uint8Array, proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Call, Compact]>; /** @@ -336,7 +298,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `old_count`: The upper bound for the previous number of members in storage. Used for * weight estimation. * - * Requires root origin. + * The dispatch of this call must be `SetMembersOrigin`. * * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but * the weight estimations rely on it to estimate dispatchable weight. @@ -348,19 +310,11 @@ declare module '@polkadot/api-base/types/submittable' { * Any call to `set_members` must be careful that the member set doesn't get out of sync * with other logic managing the member set. * - * # - * ## Weight + * ## Complexity: * - `O(MP + N)` where: * - `M` old-members-count (code- and governance-bounded) * - `N` new-members-count (code- and governance-bounded) * - `P` proposals-count (code-bounded) - * - DB: - * - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the - * members - * - 1 storage read (codec `O(P)`) for reading the proposals - * - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal - * - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one - * # **/ setMembers: AugmentedSubmittable<(newMembers: Vec | (AccountId32 | string | Uint8Array)[], prime: Option | null | Uint8Array | AccountId32 | string, oldCount: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Vec, Option, u32]>; /** @@ -371,14 +325,8 @@ declare module '@polkadot/api-base/types/submittable' { * Transaction fees will be waived if the member is voting on any particular proposal * for the first time and the call is successful. Subsequent vote changes will charge a * fee. - * # - * ## Weight + * ## Complexity * - `O(M)` where `M` is members-count (code- and governance-bounded) - * - DB: - * - 1 storage read `Members` (codec `O(M)`) - * - 1 storage mutation `Voting` (codec `O(M)`) - * - 1 event - * # **/ vote: AugmentedSubmittable<(proposal: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic, [H256, Compact, bool]>; }; @@ -782,6 +730,24 @@ declare module '@polkadot/api-base/types/submittable' { * - `proposal`: The index of the proposal to second. **/ second: AugmentedSubmittable<(proposal: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; + /** + * Set or clear a metadata of a proposal or a referendum. + * + * Parameters: + * - `origin`: Must correspond to the `MetadataOwner`. + * - `ExternalOrigin` for an external proposal with the `SuperMajorityApprove` + * threshold. + * - `ExternalDefaultOrigin` for an external proposal with the `SuperMajorityAgainst` + * threshold. + * - `ExternalMajorityOrigin` for an external proposal with the `SimpleMajority` + * threshold. + * - `Signed` by a creator for a public proposal. + * - `Signed` to clear a metadata for a finished referendum. + * - `Root` to set a metadata for an ongoing referendum. + * - `owner`: an identifier of a metadata owner. + * - `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata. + **/ + setMetadata: AugmentedSubmittable<(owner: PalletDemocracyMetadataOwner | { External: any } | { Proposal: any } | { Referendum: any } | string | Uint8Array, maybeHash: Option | null | Uint8Array | H256 | string) => SubmittableExtrinsic, [PalletDemocracyMetadataOwner, Option]>; /** * Undelegate the voting power of the sending account. * @@ -1172,15 +1138,6 @@ declare module '@polkadot/api-base/types/submittable' { * The sender of the call will be the new deposit owner. **/ changeDepositOwner: AugmentedSubmittable<(account: PalletDidLookupLinkableAccountLinkableAccountId | { AccountId20: any } | { AccountId32: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupLinkableAccountLinkableAccountId]>; - /** - * Executes the key type migration of the `ConnectedDids` and - * `ConnectedAccounts` storages by converting the given `AccountId` - * into `LinkableAccountId(AccountId)`. Once all keys have been - * migrated, the migration is done and this call will be filtered. - * - * Can be called by any origin. - **/ - migrate: AugmentedSubmittable<(limit: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** * Remove the association of the provided account. This call can only * be called from the deposit owner. The reserved deposit will be @@ -1247,14 +1204,8 @@ declare module '@polkadot/api-base/types/submittable' { * * Emits `IndexAssigned` if successful. * - * # + * ## Complexity * - `O(1)`. - * - One storage mutation (codec `O(1)`). - * - One reserve operation. - * - One event. - * ------------------- - * - DB Weight: 1 Read/Write (Accounts) - * # **/ claim: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; /** @@ -1269,16 +1220,8 @@ declare module '@polkadot/api-base/types/submittable' { * * Emits `IndexAssigned` if successful. * - * # + * ## Complexity * - `O(1)`. - * - One storage mutation (codec `O(1)`). - * - Up to one reserve operation. - * - One event. - * ------------------- - * - DB Weight: - * - Reads: Indices Accounts, System Account (original owner) - * - Writes: Indices Accounts, System Account (original owner) - * # **/ forceTransfer: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, index: u64 | AnyNumber | Uint8Array, freeze: bool | boolean | Uint8Array) => SubmittableExtrinsic, [MultiAddress, u64, bool]>; /** @@ -1292,14 +1235,8 @@ declare module '@polkadot/api-base/types/submittable' { * * Emits `IndexFreed` if successful. * - * # + * ## Complexity * - `O(1)`. - * - One storage mutation (codec `O(1)`). - * - One reserve operation. - * - One event. - * ------------------- - * - DB Weight: 1 Read/Write (Accounts) - * # **/ free: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; /** @@ -1313,14 +1250,8 @@ declare module '@polkadot/api-base/types/submittable' { * * Emits `IndexFrozen` if successful. * - * # + * ## Complexity * - `O(1)`. - * - One storage mutation (codec `O(1)`). - * - Up to one slash operation. - * - One event. - * ------------------- - * - DB Weight: 1 Read/Write (Accounts) - * # **/ freeze: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; /** @@ -1334,19 +1265,127 @@ declare module '@polkadot/api-base/types/submittable' { * * Emits `IndexAssigned` if successful. * - * # + * ## Complexity * - `O(1)`. - * - One storage mutation (codec `O(1)`). - * - One transfer operation. - * - One event. - * ------------------- - * - DB Weight: - * - Reads: Indices Accounts, System Account (recipient) - * - Writes: Indices Accounts, System Account (recipient) - * # **/ transfer: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, index: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, u64]>; }; + multisig: { + /** + * Register approval for a dispatch to be made from a deterministic composite account if + * approved by a total of `threshold - 1` of `other_signatories`. + * + * Payment: `DepositBase` will be reserved if this is the first approval, plus + * `threshold` times `DepositFactor`. It is returned once this dispatch happens or + * is cancelled. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is + * not the first approval, then it must be `Some`, with the timepoint (block number and + * transaction index) of the first approval transaction. + * - `call_hash`: The hash of the call to be executed. + * + * NOTE: If this is the final approval, you will want to use `as_multi` instead. + * + * ## Complexity + * - `O(S)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One encode & hash, both of complexity `O(S)`. + * - Up to one binary search and insert (`O(logS + S)`). + * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. + * - One event. + * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit + * taken for its lifetime of `DepositBase + threshold * DepositFactor`. + **/ + approveAsMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec | (AccountId32 | string | Uint8Array)[], maybeTimepoint: Option | null | Uint8Array | PalletMultisigTimepoint | { height?: any; index?: any } | string, callHash: U8aFixed | string | Uint8Array, maxWeight: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [u16, Vec, Option, U8aFixed, SpWeightsWeightV2Weight]>; + /** + * Register approval for a dispatch to be made from a deterministic composite account if + * approved by a total of `threshold - 1` of `other_signatories`. + * + * If there are enough, then dispatch the call. + * + * Payment: `DepositBase` will be reserved if this is the first approval, plus + * `threshold` times `DepositFactor`. It is returned once this dispatch happens or + * is cancelled. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is + * not the first approval, then it must be `Some`, with the timepoint (block number and + * transaction index) of the first approval transaction. + * - `call`: The call to be executed. + * + * NOTE: Unless this is the final approval, you will generally want to use + * `approve_as_multi` instead, since it only requires a hash of the call. + * + * Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise + * on success, result is `Ok` and the result from the interior call, if it was executed, + * may be found in the deposited `MultisigExecuted` event. + * + * ## Complexity + * - `O(S + Z + Call)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len. + * - One encode & hash, both of complexity `O(S)`. + * - Up to one binary search and insert (`O(logS + S)`). + * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. + * - One event. + * - The weight of the `call`. + * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit + * taken for its lifetime of `DepositBase + threshold * DepositFactor`. + **/ + asMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec | (AccountId32 | string | Uint8Array)[], maybeTimepoint: Option | null | Uint8Array | PalletMultisigTimepoint | { height?: any; index?: any } | string, call: Call | IMethod | string | Uint8Array, maxWeight: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [u16, Vec, Option, Call, SpWeightsWeightV2Weight]>; + /** + * Immediately dispatch a multi-signature call using a single approval from the caller. + * + * The dispatch origin for this call must be _Signed_. + * + * - `other_signatories`: The accounts (other than the sender) who are part of the + * multi-signature, but do not participate in the approval process. + * - `call`: The call to be executed. + * + * Result is equivalent to the dispatched result. + * + * ## Complexity + * O(Z + C) where Z is the length of the call and C its execution weight. + **/ + asMultiThreshold1: AugmentedSubmittable<(otherSignatories: Vec | (AccountId32 | string | Uint8Array)[], call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [Vec, Call]>; + /** + * Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously + * for this operation will be unreserved on success. + * + * The dispatch origin for this call must be _Signed_. + * + * - `threshold`: The total number of approvals for this dispatch before it is executed. + * - `other_signatories`: The accounts (other than the sender) who can approve this + * dispatch. May not be empty. + * - `timepoint`: The timepoint (block number and transaction index) of the first approval + * transaction for this dispatch. + * - `call_hash`: The hash of the call to be executed. + * + * ## Complexity + * - `O(S)`. + * - Up to one balance-reserve or unreserve operation. + * - One passthrough operation, one insert, both `O(S)` where `S` is the number of + * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. + * - One encode & hash, both of complexity `O(S)`. + * - One event. + * - I/O: 1 read `O(S)`, one remove. + * - Storage: removes one item. + **/ + cancelAsMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec | (AccountId32 | string | Uint8Array)[], timepoint: PalletMultisigTimepoint | { height?: any; index?: any } | string | Uint8Array, callHash: U8aFixed | string | Uint8Array) => SubmittableExtrinsic, [u16, Vec, PalletMultisigTimepoint, U8aFixed]>; + }; parachainStaking: { /** * Revert the previously requested exit of the network of a collator @@ -1677,7 +1716,28 @@ declare module '@polkadot/api-base/types/submittable' { unlockUnstaked: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; }; parachainSystem: { - authorizeUpgrade: AugmentedSubmittable<(codeHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; + /** + * Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied + * later. + * + * The `check_version` parameter sets a boolean flag for whether or not the runtime's spec + * version and name should be verified on upgrade. Since the authorization only has a hash, + * it cannot actually perform the verification. + * + * This call requires Root origin. + **/ + authorizeUpgrade: AugmentedSubmittable<(codeHash: H256 | string | Uint8Array, checkVersion: bool | boolean | Uint8Array) => SubmittableExtrinsic, [H256, bool]>; + /** + * Provide the preimage (runtime binary) `code` for an upgrade that has been authorized. + * + * If the authorization required a version check, this call will ensure the spec name + * remains unchanged and that the spec version has increased. + * + * Note that this function will not apply the new `code`, but only attempt to schedule the + * upgrade with the Relay Chain. + * + * All origins are allowed. + **/ enactAuthorizedUpgrade: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** * Set the current validation data. @@ -2101,10 +2161,6 @@ declare module '@polkadot/api-base/types/submittable' { schedule: AugmentedSubmittable<(when: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [u64, Option>, u8, Call]>; /** * Anonymously schedule a task after a delay. - * - * # - * Same as [`schedule`]. - * # **/ scheduleAfter: AugmentedSubmittable<(after: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [u64, Option>, u8, Call]>; /** @@ -2113,10 +2169,6 @@ declare module '@polkadot/api-base/types/submittable' { scheduleNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, when: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [U8aFixed, u64, Option>, u8, Call]>; /** * Schedule a named task after a delay. - * - * # - * Same as [`schedule_named`](Self::schedule_named). - * # **/ scheduleNamedAfter: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, after: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [U8aFixed, u64, Option>, u8, Call]>; }; @@ -2131,13 +2183,9 @@ declare module '@polkadot/api-base/types/submittable' { * means being a controller account) or directly convertible into a validator ID (which * usually means being a stash account). * - * # - * - Complexity: `O(1)` in number of key types. Actual cost depends on the number of length - * of `T::Keys::key_ids()` which is fixed. - * - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account` - * - DbWrites: `NextKeys`, `origin account` - * - DbWrites per key id: `KeyOwner` - * # + * ## Complexity + * - `O(1)` in number of key types. Actual cost depends on the number of length of + * `T::Keys::key_ids()` which is fixed. **/ purgeKeys: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** @@ -2147,14 +2195,9 @@ declare module '@polkadot/api-base/types/submittable' { * * The dispatch origin of this function must be signed. * - * # - * - Complexity: `O(1)`. Actual cost depends on the number of length of - * `T::Keys::key_ids()` which is fixed. - * - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys` - * - DbWrites: `origin account`, `NextKeys` - * - DbReads per key id: `KeyOwner` - * - DbWrites per key id: `KeyOwner` - * # + * ## Complexity + * - `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is + * fixed. **/ setKeys: AugmentedSubmittable<(keys: SpiritnetRuntimeSessionKeys | { aura?: any } | string | Uint8Array, proof: Bytes | string | Uint8Array) => SubmittableExtrinsic, [SpiritnetRuntimeSessionKeys, Bytes]>; }; @@ -2173,9 +2216,8 @@ declare module '@polkadot/api-base/types/submittable' { /** * Make some on-chain remark. * - * # + * ## Complexity * - `O(1)` - * # **/ remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** @@ -2185,28 +2227,15 @@ declare module '@polkadot/api-base/types/submittable' { /** * Set the new runtime code. * - * # + * ## Complexity * - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code` - * - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is - * expensive). - * - 1 storage write (codec `O(C)`). - * - 1 digest item. - * - 1 event. - * The weight of this function is dependent on the runtime, but generally this is very - * expensive. We will treat this as a full block. - * # **/ setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** * Set the new runtime code without doing any checks of the given `code`. * - * # + * ## Complexity * - `O(C)` where `C` length of `code` - * - 1 storage write (codec `O(C)`). - * - 1 digest item. - * - 1 event. - * The weight of this function is dependent on the runtime. We will treat this as a full - * block. # **/ setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** @@ -2238,20 +2267,12 @@ declare module '@polkadot/api-base/types/submittable' { * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via * `storage::read` so it is `size_of::() == 4` larger than the pure length. * - * # - * ## Weight + * ## Complexity * - `O(B + M + P1 + P2)` where: * - `B` is `proposal` size in bytes (length-fee-bounded) * - `M` is members-count (code- and governance-bounded) * - `P1` is the complexity of `proposal` preimage. * - `P2` is proposal-count (code-bounded) - * - DB: - * - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`) - * - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec - * `O(P2)`) - * - any mutations done while executing `proposal` (`P1`) - * - up to 3 events - * # **/ close: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, SpWeightsWeightV2Weight, Compact]>; /** @@ -2273,20 +2294,12 @@ declare module '@polkadot/api-base/types/submittable' { * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via * `storage::read` so it is `size_of::() == 4` larger than the pure length. * - * # - * ## Weight + * ## Complexity * - `O(B + M + P1 + P2)` where: * - `B` is `proposal` size in bytes (length-fee-bounded) * - `M` is members-count (code- and governance-bounded) * - `P1` is the complexity of `proposal` preimage. * - `P2` is proposal-count (code-bounded) - * - DB: - * - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`) - * - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec - * `O(P2)`) - * - any mutations done while executing `proposal` (`P1`) - * - up to 3 events - * # **/ closeOldWeight: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, Compact, Compact]>; /** @@ -2298,12 +2311,8 @@ declare module '@polkadot/api-base/types/submittable' { * Parameters: * * `proposal_hash`: The hash of the proposal that should be disapproved. * - * # - * Complexity: O(P) where P is the number of max proposals - * DB Weight: - * * Reads: Proposals - * * Writes: Voting, Proposals, ProposalOf - * # + * ## Complexity + * O(P) where P is the number of max proposals **/ disapproveProposal: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** @@ -2311,13 +2320,11 @@ declare module '@polkadot/api-base/types/submittable' { * * Origin must be a member of the collective. * - * # - * ## Weight - * - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching - * `proposal` - * - DB: 1 read (codec `O(M)`) + DB access of `proposal` - * - 1 event - * # + * ## Complexity: + * - `O(B + M + P)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` members-count (code-bounded) + * - `P` complexity of dispatching `proposal` **/ execute: AugmentedSubmittable<(proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Call, Compact]>; /** @@ -2328,26 +2335,13 @@ declare module '@polkadot/api-base/types/submittable' { * `threshold` determines whether `proposal` is executed directly (`threshold < 2`) * or put up for voting. * - * # - * ## Weight + * ## Complexity * - `O(B + M + P1)` or `O(B + M + P2)` where: * - `B` is `proposal` size in bytes (length-fee-bounded) * - `M` is members-count (code- and governance-bounded) * - branching is influenced by `threshold` where: * - `P1` is proposal execution complexity (`threshold < 2`) * - `P2` is proposals-count (code-bounded) (`threshold >= 2`) - * - DB: - * - 1 storage read `is_member` (codec `O(M)`) - * - 1 storage read `ProposalOf::contains_key` (codec `O(1)`) - * - DB accesses influenced by `threshold`: - * - EITHER storage accesses done by `proposal` (`threshold < 2`) - * - OR proposal insertion (`threshold <= 2`) - * - 1 storage mutation `Proposals` (codec `O(P2)`) - * - 1 storage mutation `ProposalCount` (codec `O(1)`) - * - 1 storage write `ProposalOf` (codec `O(B)`) - * - 1 storage write `Voting` (codec `O(M)`) - * - 1 event - * # **/ propose: AugmentedSubmittable<(threshold: Compact | AnyNumber | Uint8Array, proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Call, Compact]>; /** @@ -2358,7 +2352,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `old_count`: The upper bound for the previous number of members in storage. Used for * weight estimation. * - * Requires root origin. + * The dispatch of this call must be `SetMembersOrigin`. * * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but * the weight estimations rely on it to estimate dispatchable weight. @@ -2370,19 +2364,11 @@ declare module '@polkadot/api-base/types/submittable' { * Any call to `set_members` must be careful that the member set doesn't get out of sync * with other logic managing the member set. * - * # - * ## Weight + * ## Complexity: * - `O(MP + N)` where: * - `M` old-members-count (code- and governance-bounded) * - `N` new-members-count (code- and governance-bounded) * - `P` proposals-count (code-bounded) - * - DB: - * - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the - * members - * - 1 storage read (codec `O(P)`) for reading the proposals - * - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal - * - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one - * # **/ setMembers: AugmentedSubmittable<(newMembers: Vec | (AccountId32 | string | Uint8Array)[], prime: Option | null | Uint8Array | AccountId32 | string, oldCount: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Vec, Option, u32]>; /** @@ -2393,14 +2379,8 @@ declare module '@polkadot/api-base/types/submittable' { * Transaction fees will be waived if the member is voting on any particular proposal * for the first time and the call is successful. Subsequent vote changes will charge a * fee. - * # - * ## Weight + * ## Complexity * - `O(M)` where `M` is members-count (code- and governance-bounded) - * - DB: - * - 1 storage read `Members` (codec `O(M)`) - * - 1 storage mutation `Voting` (codec `O(M)`) - * - 1 event - * # **/ vote: AugmentedSubmittable<(proposal: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic, [H256, Compact, bool]>; }; @@ -2465,12 +2445,11 @@ declare module '@polkadot/api-base/types/submittable' { * * The dispatch origin for this call must be `Inherent`. * - * # + * ## Complexity * - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`) * - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in * `on_finalize`) * - 1 event handler `on_timestamp_set`. Must be `O(1)`. - * # **/ set: AugmentedSubmittable<(now: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; }; @@ -2485,13 +2464,10 @@ declare module '@polkadot/api-base/types/submittable' { * - `hash`: The identity of the open tip for which a tip value is declared. This is formed * as the hash of the tuple of the original tip `reason` and the beneficiary account ID. * - * # - * - Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length - * `T`. `T` is charged as upper bound given by `ContainsLengthBound`. The actual cost - * depends on the implementation of `T::Tippers`. - * - DbReads: `Tips`, `Tippers`, `tip finder` - * - DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder` - * # + * ## Complexity + * - : `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`. `T` + * is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on + * the implementation of `T::Tippers`. **/ closeTip: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** @@ -2508,12 +2484,9 @@ declare module '@polkadot/api-base/types/submittable' { * * Emits `NewTip` if successful. * - * # - * - Complexity: `O(R)` where `R` length of `reason`. + * ## Complexity + * - `O(R)` where `R` length of `reason`. * - encoding and hashing of 'reason' - * - DbReads: `Reasons`, `Tips` - * - DbWrites: `Reasons`, `Tips` - * # **/ reportAwesome: AugmentedSubmittable<(reason: Bytes | string | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Bytes, MultiAddress]>; /** @@ -2530,12 +2503,9 @@ declare module '@polkadot/api-base/types/submittable' { * * Emits `TipRetracted` if successful. * - * # - * - Complexity: `O(1)` + * ## Complexity + * - `O(1)` * - Depends on the length of `T::Hash` which is fixed. - * - DbReads: `Tips`, `origin account` - * - DbWrites: `Reasons`, `Tips`, `origin account` - * # **/ retractTip: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** @@ -2547,10 +2517,8 @@ declare module '@polkadot/api-base/types/submittable' { * * Emits `TipSlashed` if successful. * - * # - * `T` is charged as upper bound given by `ContainsLengthBound`. - * The actual cost depends on the implementation of `T::Tippers`. - * # + * ## Complexity + * - O(1). **/ slashTip: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** @@ -2568,16 +2536,13 @@ declare module '@polkadot/api-base/types/submittable' { * Emits `TipClosing` if the threshold of tippers has been reached and the countdown period * has started. * - * # - * - Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length - * `T`, insert tip and check closing, `T` is charged as upper bound given by - * `ContainsLengthBound`. The actual cost depends on the implementation of `T::Tippers`. + * ## Complexity + * - `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`, insert + * tip and check closing, `T` is charged as upper bound given by `ContainsLengthBound`. + * The actual cost depends on the implementation of `T::Tippers`. * * Actually weight could be lower as it depends on how many tips are in `OpenTip` but it * is weighted as if almost full i.e of length `T-1`. - * - DbReads: `Tippers`, `Tips` - * - DbWrites: `Tips` - * # **/ tip: AugmentedSubmittable<(hash: H256 | string | Uint8Array, tipValue: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact]>; /** @@ -2594,15 +2559,12 @@ declare module '@polkadot/api-base/types/submittable' { * * Emits `NewTip` if successful. * - * # - * - Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers. + * ## Complexity + * - `O(R + T)` where `R` length of `reason`, `T` is the number of tippers. * - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by * `ContainsLengthBound`. The actual cost depends on the implementation of * `T::Tippers`. * - `O(R)`: hashing and encoding of reason of length `R` - * - DbReads: `Tippers`, `Reasons` - * - DbWrites: `Reasons`, `Tips` - * # **/ tipNew: AugmentedSubmittable<(reason: Bytes | string | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, tipValue: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Bytes, MultiAddress, Compact]>; }; @@ -2662,11 +2624,8 @@ declare module '@polkadot/api-base/types/submittable' { * * May only be called from `T::ApproveOrigin`. * - * # - * - Complexity: O(1). - * - DbReads: `Proposals`, `Approvals` - * - DbWrite: `Approvals` - * # + * ## Complexity + * - O(1). **/ approveProposal: AugmentedSubmittable<(proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** @@ -2674,11 +2633,8 @@ declare module '@polkadot/api-base/types/submittable' { * is reserved and slashed if the proposal is rejected. It is returned once the * proposal is awarded. * - * # - * - Complexity: O(1) - * - DbReads: `ProposalCount`, `origin account` - * - DbWrites: `ProposalCount`, `Proposals`, `origin account` - * # + * ## Complexity + * - O(1) **/ proposeSpend: AugmentedSubmittable<(value: Compact | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress]>; /** @@ -2686,11 +2642,8 @@ declare module '@polkadot/api-base/types/submittable' { * * May only be called from `T::RejectOrigin`. * - * # - * - Complexity: O(1) - * - DbReads: `Proposals`, `rejected proposer account` - * - DbWrites: `Proposals`, `rejected proposer account` - * # + * ## Complexity + * - O(1) **/ rejectProposal: AugmentedSubmittable<(proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** @@ -2700,10 +2653,8 @@ declare module '@polkadot/api-base/types/submittable' { * May only be called from `T::RejectOrigin`. * - `proposal_id`: The index of a proposal * - * # - * - Complexity: O(A) where `A` is the number of approvals - * - Db reads and writes: `Approvals` - * # + * ## Complexity + * - O(A) where `A` is the number of approvals * * Errors: * - `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue, @@ -2751,9 +2702,8 @@ declare module '@polkadot/api-base/types/submittable' { * If origin is root then the calls are dispatched without checking origin filter. (This * includes bypassing `frame_system::Config::BaseCallFilter`). * - * # - * - Complexity: O(C) where C is the number of calls to be batched. - * # + * ## Complexity + * - O(C) where C is the number of calls to be batched. * * This will return `Ok` in all circumstances. To determine the success of the batch, an * event is deposited. If a call failed and the batch was interrupted, then the @@ -2774,9 +2724,8 @@ declare module '@polkadot/api-base/types/submittable' { * If origin is root then the calls are dispatched without checking origin filter. (This * includes bypassing `frame_system::Config::BaseCallFilter`). * - * # - * - Complexity: O(C) where C is the number of calls to be batched. - * # + * ## Complexity + * - O(C) where C is the number of calls to be batched. **/ batchAll: AugmentedSubmittable<(calls: Vec | (Call | IMethod | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** @@ -2784,12 +2733,8 @@ declare module '@polkadot/api-base/types/submittable' { * * The dispatch origin for this call must be _Root_. * - * # + * ## Complexity * - O(1). - * - Limited storage reads. - * - One DB write (event). - * - Weight of derivative `call` execution + T::WeightInfo::dispatch_as(). - * # **/ dispatchAs: AugmentedSubmittable<(asOrigin: SpiritnetRuntimeOriginCaller | { system: any } | { Void: any } | { Council: any } | { TechnicalCommittee: any } | { Did: any } | { PolkadotXcm: any } | { CumulusXcm: any } | string | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [SpiritnetRuntimeOriginCaller, Call]>; /** @@ -2804,9 +2749,8 @@ declare module '@polkadot/api-base/types/submittable' { * If origin is root then the calls are dispatch without checking origin filter. (This * includes bypassing `frame_system::Config::BaseCallFilter`). * - * # - * - Complexity: O(C) where C is the number of calls to be batched. - * # + * ## Complexity + * - O(C) where C is the number of calls to be batched. **/ forceBatch: AugmentedSubmittable<(calls: Vec | (Call | IMethod | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** @@ -2833,12 +2777,8 @@ declare module '@polkadot/api-base/types/submittable' { * * NOTE: This will unlock all schedules through the current block. * - * # + * ## Complexity * - `O(1)`. - * - DbWeight: 4 Reads, 4 Writes - * - Reads: Vesting Storage, Balances Locks, Target Account, Source Account - * - Writes: Vesting Storage, Balances Locks, Target Account, Source Account - * # **/ forceVestedTransfer: AugmentedSubmittable<(source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, schedule: PalletVestingVestingInfo | { locked?: any; perBlock?: any; startingBlock?: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress, PalletVestingVestingInfo]>; /** @@ -2873,12 +2813,8 @@ declare module '@polkadot/api-base/types/submittable' { * * Emits either `VestingCompleted` or `VestingUpdated`. * - * # + * ## Complexity * - `O(1)`. - * - DbWeight: 2 Reads, 2 Writes - * - Reads: Vesting Storage, Balances Locks, [Sender Account] - * - Writes: Vesting Storage, Balances Locks, [Sender Account] - * # **/ vest: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** @@ -2893,12 +2829,8 @@ declare module '@polkadot/api-base/types/submittable' { * * NOTE: This will unlock all schedules through the current block. * - * # + * ## Complexity * - `O(1)`. - * - DbWeight: 3 Reads, 3 Writes - * - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account] - * - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account] - * # **/ vestedTransfer: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, schedule: PalletVestingVestingInfo | { locked?: any; perBlock?: any; startingBlock?: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, PalletVestingVestingInfo]>; /** @@ -2911,12 +2843,8 @@ declare module '@polkadot/api-base/types/submittable' { * * Emits either `VestingCompleted` or `VestingUpdated`. * - * # + * ## Complexity * - `O(1)`. - * - DbWeight: 3 Reads, 3 Writes - * - Reads: Vesting Storage, Balances Locks, Target Account - * - Writes: Vesting Storage, Balances Locks, Target Account - * # **/ vestOther: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; }; diff --git a/packages/augment-api/src/interfaces/lookup.ts b/packages/augment-api/src/interfaces/lookup.ts index 835e39a28..f072e2941 100644 --- a/packages/augment-api/src/interfaces/lookup.ts +++ b/packages/augment-api/src/interfaces/lookup.ts @@ -338,7 +338,29 @@ export default { propIndex: 'u32', }, ProposalCanceled: { - propIndex: 'u32' + propIndex: 'u32', + }, + MetadataSet: { + _alias: { + hash_: 'hash', + }, + owner: 'PalletDemocracyMetadataOwner', + hash_: 'H256', + }, + MetadataCleared: { + _alias: { + hash_: 'hash', + }, + owner: 'PalletDemocracyMetadataOwner', + hash_: 'H256', + }, + MetadataTransferred: { + _alias: { + hash_: 'hash', + }, + prevOwner: 'PalletDemocracyMetadataOwner', + owner: 'PalletDemocracyMetadataOwner', + hash_: 'H256' } } }, @@ -364,7 +386,17 @@ export default { } }, /** - * Lookup40: pallet_collective::pallet::Event + * Lookup40: pallet_democracy::types::MetadataOwner + **/ + PalletDemocracyMetadataOwner: { + _enum: { + External: 'Null', + Proposal: 'u32', + Referendum: 'u32' + } + }, + /** + * Lookup41: pallet_collective::pallet::Event **/ PalletCollectiveEvent: { _enum: { @@ -403,13 +435,13 @@ export default { } }, /** - * Lookup45: pallet_membership::pallet::Event + * Lookup46: pallet_membership::pallet::Event **/ PalletMembershipEvent: { _enum: ['MemberAdded', 'MemberRemoved', 'MembersSwapped', 'MembersReset', 'KeyChanged', 'Dummy'] }, /** - * Lookup46: pallet_treasury::pallet::Event + * Lookup47: pallet_treasury::pallet::Event **/ PalletTreasuryEvent: { _enum: { @@ -449,7 +481,7 @@ export default { } }, /** - * Lookup47: pallet_utility::pallet::Event + * Lookup48: pallet_utility::pallet::Event **/ PalletUtilityEvent: { _enum: { @@ -469,7 +501,7 @@ export default { } }, /** - * Lookup48: pallet_vesting::pallet::Event + * Lookup49: pallet_vesting::pallet::Event **/ PalletVestingEvent: { _enum: { @@ -483,7 +515,7 @@ export default { } }, /** - * Lookup49: pallet_scheduler::pallet::Event + * Lookup50: pallet_scheduler::pallet::Event **/ PalletSchedulerEvent: { _enum: { @@ -515,7 +547,7 @@ export default { } }, /** - * Lookup52: pallet_proxy::pallet::Event + * Lookup53: pallet_proxy::pallet::Event **/ PalletProxyEvent: { _enum: { @@ -548,13 +580,13 @@ export default { } }, /** - * Lookup53: spiritnet_runtime::ProxyType + * Lookup54: spiritnet_runtime::ProxyType **/ SpiritnetRuntimeProxyType: { _enum: ['Any', 'NonTransfer', 'Governance', 'ParachainStaking', 'CancelProxy', 'NonDepositClaiming'] }, /** - * Lookup55: pallet_preimage::pallet::Event + * Lookup56: pallet_preimage::pallet::Event **/ PalletPreimageEvent: { _enum: { @@ -579,7 +611,7 @@ export default { } }, /** - * Lookup57: pallet_tips::pallet::Event + * Lookup58: pallet_tips::pallet::Event **/ PalletTipsEvent: { _enum: { @@ -605,7 +637,45 @@ export default { } }, /** - * Lookup58: ctype::pallet::Event + * Lookup59: pallet_multisig::pallet::Event + **/ + PalletMultisigEvent: { + _enum: { + NewMultisig: { + approving: 'AccountId32', + multisig: 'AccountId32', + callHash: '[u8;32]', + }, + MultisigApproval: { + approving: 'AccountId32', + timepoint: 'PalletMultisigTimepoint', + multisig: 'AccountId32', + callHash: '[u8;32]', + }, + MultisigExecuted: { + approving: 'AccountId32', + timepoint: 'PalletMultisigTimepoint', + multisig: 'AccountId32', + callHash: '[u8;32]', + result: 'Result', + }, + MultisigCancelled: { + cancelling: 'AccountId32', + timepoint: 'PalletMultisigTimepoint', + multisig: 'AccountId32', + callHash: '[u8;32]' + } + } + }, + /** + * Lookup60: pallet_multisig::Timepoint + **/ + PalletMultisigTimepoint: { + height: 'u64', + index: 'u32' + }, + /** + * Lookup61: ctype::pallet::Event **/ CtypeEvent: { _enum: { @@ -614,7 +684,7 @@ export default { } }, /** - * Lookup59: attestation::pallet::Event + * Lookup62: attestation::pallet::Event **/ AttestationEvent: { _enum: { @@ -625,7 +695,7 @@ export default { } }, /** - * Lookup61: runtime_common::authorization::AuthorizationId + * Lookup64: runtime_common::authorization::AuthorizationId **/ RuntimeCommonAuthorizationAuthorizationId: { _enum: { @@ -633,7 +703,7 @@ export default { } }, /** - * Lookup62: delegation::pallet::Event + * Lookup65: delegation::pallet::Event **/ DelegationEvent: { _enum: { @@ -647,13 +717,13 @@ export default { } }, /** - * Lookup63: delegation::delegation_hierarchy::Permissions + * Lookup66: delegation::delegation_hierarchy::Permissions **/ DelegationDelegationHierarchyPermissions: { bits: 'u32' }, /** - * Lookup64: did::pallet::Event + * Lookup67: did::pallet::Event **/ DidEvent: { _enum: { @@ -664,7 +734,7 @@ export default { } }, /** - * Lookup65: pallet_did_lookup::pallet::Event + * Lookup68: pallet_did_lookup::pallet::Event **/ PalletDidLookupEvent: { _enum: { @@ -675,7 +745,7 @@ export default { } }, /** - * Lookup66: pallet_did_lookup::linkable_account::LinkableAccountId + * Lookup69: pallet_did_lookup::linkable_account::LinkableAccountId **/ PalletDidLookupLinkableAccountLinkableAccountId: { _enum: { @@ -684,11 +754,11 @@ export default { } }, /** - * Lookup67: pallet_did_lookup::account::AccountId20 + * Lookup70: pallet_did_lookup::account::AccountId20 **/ PalletDidLookupAccountAccountId20: '[u8;20]', /** - * Lookup69: pallet_web3_names::pallet::Event + * Lookup72: pallet_web3_names::pallet::Event **/ PalletWeb3NamesEvent: { _enum: { @@ -709,7 +779,7 @@ export default { } }, /** - * Lookup72: public_credentials::pallet::Event + * Lookup75: public_credentials::pallet::Event **/ PublicCredentialsEvent: { _enum: { @@ -730,18 +800,18 @@ export default { } }, /** - * Lookup73: runtime_common::assets::AssetDid + * Lookup76: runtime_common::assets::AssetDid **/ RuntimeCommonAssetsAssetDid: 'KiltAssetDidsV1AssetDid', /** - * Lookup74: kilt_asset_dids::v1::AssetDid + * Lookup77: kilt_asset_dids::v1::AssetDid **/ KiltAssetDidsV1AssetDid: { chainId: 'KiltAssetDidsChainV1ChainId', assetId: 'KiltAssetDidsAssetV1AssetId' }, /** - * Lookup75: kilt_asset_dids::chain::v1::ChainId + * Lookup78: kilt_asset_dids::chain::v1::ChainId **/ KiltAssetDidsChainV1ChainId: { _enum: { @@ -753,18 +823,18 @@ export default { } }, /** - * Lookup77: kilt_asset_dids::chain::v1::GenesisHexHash32Reference + * Lookup80: kilt_asset_dids::chain::v1::GenesisHexHash32Reference **/ KiltAssetDidsChainV1GenesisHexHash32Reference: '[u8;16]', /** - * Lookup81: kilt_asset_dids::chain::v1::GenericChainId + * Lookup84: kilt_asset_dids::chain::v1::GenericChainId **/ KiltAssetDidsChainV1GenericChainId: { namespace: 'Bytes', reference: 'Bytes' }, /** - * Lookup85: kilt_asset_dids::asset::v1::AssetId + * Lookup88: kilt_asset_dids::asset::v1::AssetId **/ KiltAssetDidsAssetV1AssetId: { _enum: { @@ -776,15 +846,15 @@ export default { } }, /** - * Lookup89: kilt_asset_dids::asset::v1::EvmSmartContractFungibleReference + * Lookup92: kilt_asset_dids::asset::v1::EvmSmartContractFungibleReference **/ KiltAssetDidsAssetV1EvmSmartContractFungibleReference: '[u8;20]', /** - * Lookup90: kilt_asset_dids::asset::v1::EvmSmartContractNonFungibleReference + * Lookup93: kilt_asset_dids::asset::v1::EvmSmartContractNonFungibleReference **/ KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference: '(KiltAssetDidsAssetV1EvmSmartContractFungibleReference,Option)', /** - * Lookup94: kilt_asset_dids::asset::v1::GenericAssetId + * Lookup97: kilt_asset_dids::asset::v1::GenericAssetId **/ KiltAssetDidsAssetV1GenericAssetId: { namespace: 'Bytes', @@ -792,7 +862,7 @@ export default { id: 'Option' }, /** - * Lookup100: cumulus_pallet_parachain_system::pallet::Event + * Lookup103: cumulus_pallet_parachain_system::pallet::Event **/ CumulusPalletParachainSystemEvent: { _enum: { @@ -817,7 +887,7 @@ export default { } }, /** - * Lookup101: cumulus_pallet_xcmp_queue::pallet::Event + * Lookup104: cumulus_pallet_xcmp_queue::pallet::Event **/ CumulusPalletXcmpQueueEvent: { _enum: { @@ -852,7 +922,7 @@ export default { } }, /** - * Lookup102: xcm::v3::traits::Error + * Lookup105: xcm::v3::traits::Error **/ XcmV3TraitsError: { _enum: { @@ -899,7 +969,7 @@ export default { } }, /** - * Lookup104: pallet_xcm::pallet::Event + * Lookup107: pallet_xcm::pallet::Event **/ PalletXcmEvent: { _enum: { @@ -929,7 +999,7 @@ export default { } }, /** - * Lookup105: xcm::v3::traits::Outcome + * Lookup108: xcm::v3::traits::Outcome **/ XcmV3TraitsOutcome: { _enum: { @@ -939,14 +1009,14 @@ export default { } }, /** - * Lookup106: xcm::v3::multilocation::MultiLocation + * Lookup109: xcm::v3::multilocation::MultiLocation **/ XcmV3MultiLocation: { parents: 'u8', interior: 'XcmV3Junctions' }, /** - * Lookup107: xcm::v3::junctions::Junctions + * Lookup110: xcm::v3::junctions::Junctions **/ XcmV3Junctions: { _enum: { @@ -962,7 +1032,7 @@ export default { } }, /** - * Lookup108: xcm::v3::junction::Junction + * Lookup111: xcm::v3::junction::Junction **/ XcmV3Junction: { _enum: { @@ -994,7 +1064,7 @@ export default { } }, /** - * Lookup111: xcm::v3::junction::NetworkId + * Lookup114: xcm::v3::junction::NetworkId **/ XcmV3JunctionNetworkId: { _enum: { @@ -1016,7 +1086,7 @@ export default { } }, /** - * Lookup113: xcm::v3::junction::BodyId + * Lookup116: xcm::v3::junction::BodyId **/ XcmV3JunctionBodyId: { _enum: { @@ -1033,7 +1103,7 @@ export default { } }, /** - * Lookup114: xcm::v3::junction::BodyPart + * Lookup117: xcm::v3::junction::BodyPart **/ XcmV3JunctionBodyPart: { _enum: { @@ -1056,11 +1126,11 @@ export default { } }, /** - * Lookup115: xcm::v3::Xcm + * Lookup118: xcm::v3::Xcm **/ XcmV3Xcm: 'Vec', /** - * Lookup117: xcm::v3::Instruction + * Lookup120: xcm::v3::Instruction **/ XcmV3Instruction: { _enum: { @@ -1202,18 +1272,18 @@ export default { } }, /** - * Lookup118: xcm::v3::multiasset::MultiAssets + * Lookup121: xcm::v3::multiasset::MultiAssets **/ XcmV3MultiassetMultiAssets: 'Vec', /** - * Lookup120: xcm::v3::multiasset::MultiAsset + * Lookup123: xcm::v3::multiasset::MultiAsset **/ XcmV3MultiAsset: { id: 'XcmV3MultiassetAssetId', fun: 'XcmV3MultiassetFungibility' }, /** - * Lookup121: xcm::v3::multiasset::AssetId + * Lookup124: xcm::v3::multiasset::AssetId **/ XcmV3MultiassetAssetId: { _enum: { @@ -1222,7 +1292,7 @@ export default { } }, /** - * Lookup122: xcm::v3::multiasset::Fungibility + * Lookup125: xcm::v3::multiasset::Fungibility **/ XcmV3MultiassetFungibility: { _enum: { @@ -1231,7 +1301,7 @@ export default { } }, /** - * Lookup123: xcm::v3::multiasset::AssetInstance + * Lookup126: xcm::v3::multiasset::AssetInstance **/ XcmV3MultiassetAssetInstance: { _enum: { @@ -1244,7 +1314,7 @@ export default { } }, /** - * Lookup125: xcm::v3::Response + * Lookup128: xcm::v3::Response **/ XcmV3Response: { _enum: { @@ -1252,16 +1322,12 @@ export default { Assets: 'XcmV3MultiassetMultiAssets', ExecutionResult: 'Option<(u32,XcmV3TraitsError)>', Version: 'u32', - PalletsInfo: 'XcmV3VecPalletInfo', + PalletsInfo: 'Vec', DispatchResult: 'XcmV3MaybeErrorCode' } }, /** - * Lookup128: xcm::v3::VecPalletInfo - **/ - XcmV3VecPalletInfo: 'Vec', - /** - * Lookup130: xcm::v3::PalletInfo + * Lookup132: xcm::v3::PalletInfo **/ XcmV3PalletInfo: { index: 'Compact', @@ -1272,7 +1338,7 @@ export default { patch: 'Compact' }, /** - * Lookup131: xcm::v3::MaybeErrorCode + * Lookup135: xcm::v3::MaybeErrorCode **/ XcmV3MaybeErrorCode: { _enum: { @@ -1282,19 +1348,19 @@ export default { } }, /** - * Lookup133: xcm::v2::OriginKind + * Lookup138: xcm::v2::OriginKind **/ XcmV2OriginKind: { _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm'] }, /** - * Lookup134: xcm::double_encoded::DoubleEncoded + * Lookup139: xcm::double_encoded::DoubleEncoded **/ XcmDoubleEncoded: { encoded: 'Bytes' }, /** - * Lookup135: xcm::v3::QueryResponseInfo + * Lookup140: xcm::v3::QueryResponseInfo **/ XcmV3QueryResponseInfo: { destination: 'XcmV3MultiLocation', @@ -1302,7 +1368,7 @@ export default { maxWeight: 'SpWeightsWeightV2Weight' }, /** - * Lookup136: xcm::v3::multiasset::MultiAssetFilter + * Lookup141: xcm::v3::multiasset::MultiAssetFilter **/ XcmV3MultiassetMultiAssetFilter: { _enum: { @@ -1311,7 +1377,7 @@ export default { } }, /** - * Lookup137: xcm::v3::multiasset::WildMultiAsset + * Lookup142: xcm::v3::multiasset::WildMultiAsset **/ XcmV3MultiassetWildMultiAsset: { _enum: { @@ -1329,13 +1395,13 @@ export default { } }, /** - * Lookup138: xcm::v3::multiasset::WildFungibility + * Lookup143: xcm::v3::multiasset::WildFungibility **/ XcmV3MultiassetWildFungibility: { _enum: ['Fungible', 'NonFungible'] }, /** - * Lookup139: xcm::v3::WeightLimit + * Lookup144: xcm::v3::WeightLimit **/ XcmV3WeightLimit: { _enum: { @@ -1344,27 +1410,29 @@ export default { } }, /** - * Lookup140: xcm::VersionedMultiAssets + * Lookup145: xcm::VersionedMultiAssets **/ XcmVersionedMultiAssets: { _enum: { + __Unused0: 'Null', V2: 'XcmV2MultiassetMultiAssets', + __Unused2: 'Null', V3: 'XcmV3MultiassetMultiAssets' } }, /** - * Lookup141: xcm::v2::multiasset::MultiAssets + * Lookup146: xcm::v2::multiasset::MultiAssets **/ XcmV2MultiassetMultiAssets: 'Vec', /** - * Lookup143: xcm::v2::multiasset::MultiAsset + * Lookup148: xcm::v2::multiasset::MultiAsset **/ XcmV2MultiAsset: { id: 'XcmV2MultiassetAssetId', fun: 'XcmV2MultiassetFungibility' }, /** - * Lookup144: xcm::v2::multiasset::AssetId + * Lookup149: xcm::v2::multiasset::AssetId **/ XcmV2MultiassetAssetId: { _enum: { @@ -1373,14 +1441,14 @@ export default { } }, /** - * Lookup145: xcm::v2::multilocation::MultiLocation + * Lookup150: xcm::v2::multilocation::MultiLocation **/ XcmV2MultiLocation: { parents: 'u8', interior: 'XcmV2MultilocationJunctions' }, /** - * Lookup146: xcm::v2::multilocation::Junctions + * Lookup151: xcm::v2::multilocation::Junctions **/ XcmV2MultilocationJunctions: { _enum: { @@ -1396,7 +1464,7 @@ export default { } }, /** - * Lookup147: xcm::v2::junction::Junction + * Lookup152: xcm::v2::junction::Junction **/ XcmV2Junction: { _enum: { @@ -1424,7 +1492,7 @@ export default { } }, /** - * Lookup148: xcm::v2::NetworkId + * Lookup153: xcm::v2::NetworkId **/ XcmV2NetworkId: { _enum: { @@ -1435,7 +1503,7 @@ export default { } }, /** - * Lookup150: xcm::v2::BodyId + * Lookup155: xcm::v2::BodyId **/ XcmV2BodyId: { _enum: { @@ -1452,7 +1520,7 @@ export default { } }, /** - * Lookup151: xcm::v2::BodyPart + * Lookup156: xcm::v2::BodyPart **/ XcmV2BodyPart: { _enum: { @@ -1475,7 +1543,7 @@ export default { } }, /** - * Lookup152: xcm::v2::multiasset::Fungibility + * Lookup157: xcm::v2::multiasset::Fungibility **/ XcmV2MultiassetFungibility: { _enum: { @@ -1484,7 +1552,7 @@ export default { } }, /** - * Lookup153: xcm::v2::multiasset::AssetInstance + * Lookup158: xcm::v2::multiasset::AssetInstance **/ XcmV2MultiassetAssetInstance: { _enum: { @@ -1498,16 +1566,18 @@ export default { } }, /** - * Lookup154: xcm::VersionedMultiLocation + * Lookup159: xcm::VersionedMultiLocation **/ XcmVersionedMultiLocation: { _enum: { + __Unused0: 'Null', V2: 'XcmV2MultiLocation', + __Unused2: 'Null', V3: 'XcmV3MultiLocation' } }, /** - * Lookup155: cumulus_pallet_xcm::pallet::Event + * Lookup160: cumulus_pallet_xcm::pallet::Event **/ CumulusPalletXcmEvent: { _enum: { @@ -1517,7 +1587,7 @@ export default { } }, /** - * Lookup156: cumulus_pallet_dmp_queue::pallet::Event + * Lookup161: cumulus_pallet_dmp_queue::pallet::Event **/ CumulusPalletDmpQueueEvent: { _enum: { @@ -1543,12 +1613,15 @@ export default { }, OverweightServiced: { overweightIndex: 'u64', - weightUsed: 'SpWeightsWeightV2Weight' + weightUsed: 'SpWeightsWeightV2Weight', + }, + MaxMessagesExhausted: { + messageId: '[u8;32]' } } }, /** - * Lookup157: frame_system::Phase + * Lookup162: frame_system::Phase **/ FrameSystemPhase: { _enum: { @@ -1558,14 +1631,14 @@ export default { } }, /** - * Lookup160: frame_system::LastRuntimeUpgradeInfo + * Lookup165: frame_system::LastRuntimeUpgradeInfo **/ FrameSystemLastRuntimeUpgradeInfo: { specVersion: 'Compact', specName: 'Text' }, /** - * Lookup162: frame_system::pallet::Call + * Lookup167: frame_system::pallet::Call **/ FrameSystemCall: { _enum: { @@ -1600,7 +1673,7 @@ export default { } }, /** - * Lookup166: frame_system::limits::BlockWeights + * Lookup171: frame_system::limits::BlockWeights **/ FrameSystemLimitsBlockWeights: { baseBlock: 'SpWeightsWeightV2Weight', @@ -1608,7 +1681,7 @@ export default { perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass' }, /** - * Lookup167: frame_support::dispatch::PerDispatchClass + * Lookup172: frame_support::dispatch::PerDispatchClass **/ FrameSupportDispatchPerDispatchClassWeightsPerClass: { normal: 'FrameSystemLimitsWeightsPerClass', @@ -1616,7 +1689,7 @@ export default { mandatory: 'FrameSystemLimitsWeightsPerClass' }, /** - * Lookup168: frame_system::limits::WeightsPerClass + * Lookup173: frame_system::limits::WeightsPerClass **/ FrameSystemLimitsWeightsPerClass: { baseExtrinsic: 'SpWeightsWeightV2Weight', @@ -1625,13 +1698,13 @@ export default { reserved: 'Option' }, /** - * Lookup170: frame_system::limits::BlockLength + * Lookup175: frame_system::limits::BlockLength **/ FrameSystemLimitsBlockLength: { max: 'FrameSupportDispatchPerDispatchClassU32' }, /** - * Lookup171: frame_support::dispatch::PerDispatchClass + * Lookup176: frame_support::dispatch::PerDispatchClass **/ FrameSupportDispatchPerDispatchClassU32: { normal: 'u32', @@ -1639,14 +1712,14 @@ export default { mandatory: 'u32' }, /** - * Lookup172: sp_weights::RuntimeDbWeight + * Lookup177: sp_weights::RuntimeDbWeight **/ SpWeightsRuntimeDbWeight: { read: 'u64', write: 'u64' }, /** - * Lookup173: sp_version::RuntimeVersion + * Lookup178: sp_version::RuntimeVersion **/ SpVersionRuntimeVersion: { specName: 'Text', @@ -1659,13 +1732,13 @@ export default { stateVersion: 'u8' }, /** - * Lookup177: frame_system::pallet::Error + * Lookup182: frame_system::pallet::Error **/ FrameSystemError: { _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered'] }, /** - * Lookup179: pallet_timestamp::pallet::Call + * Lookup183: pallet_timestamp::pallet::Call **/ PalletTimestampCall: { _enum: { @@ -1675,7 +1748,7 @@ export default { } }, /** - * Lookup181: pallet_indices::pallet::Call + * Lookup185: pallet_indices::pallet::Call **/ PalletIndicesCall: { _enum: { @@ -1706,13 +1779,13 @@ export default { } }, /** - * Lookup184: pallet_indices::pallet::Error + * Lookup188: pallet_indices::pallet::Error **/ PalletIndicesError: { _enum: ['NotAssigned', 'NotOwner', 'InUse', 'NotTransfer', 'Permanent'] }, /** - * Lookup186: pallet_balances::BalanceLock + * Lookup190: pallet_balances::BalanceLock **/ PalletBalancesBalanceLock: { id: '[u8;8]', @@ -1720,20 +1793,20 @@ export default { reasons: 'PalletBalancesReasons' }, /** - * Lookup187: pallet_balances::Reasons + * Lookup191: pallet_balances::Reasons **/ PalletBalancesReasons: { _enum: ['Fee', 'Misc', 'All'] }, /** - * Lookup190: pallet_balances::ReserveData + * Lookup194: pallet_balances::ReserveData **/ PalletBalancesReserveData: { id: '[u8;8]', amount: 'u128' }, /** - * Lookup192: pallet_balances::pallet::Call + * Lookup196: pallet_balances::pallet::Call **/ PalletBalancesCall: { _enum: { @@ -1766,37 +1839,37 @@ export default { } }, /** - * Lookup193: pallet_balances::pallet::Error + * Lookup197: pallet_balances::pallet::Error **/ PalletBalancesError: { _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves'] }, /** - * Lookup195: pallet_transaction_payment::Releases + * Lookup199: pallet_transaction_payment::Releases **/ PalletTransactionPaymentReleases: { _enum: ['V1Ancient', 'V2'] }, /** - * Lookup197: sp_consensus_aura::sr25519::app_sr25519::Public + * Lookup201: sp_consensus_aura::sr25519::app_sr25519::Public **/ SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public', /** - * Lookup198: sp_core::sr25519::Public + * Lookup202: sp_core::sr25519::Public **/ SpCoreSr25519Public: '[u8;32]', /** - * Lookup204: spiritnet_runtime::SessionKeys + * Lookup208: spiritnet_runtime::SessionKeys **/ SpiritnetRuntimeSessionKeys: { aura: 'SpConsensusAuraSr25519AppSr25519Public' }, /** - * Lookup207: sp_core::crypto::KeyTypeId + * Lookup211: sp_core::crypto::KeyTypeId **/ SpCoreCryptoKeyTypeId: '[u8;4]', /** - * Lookup208: pallet_session::pallet::Call + * Lookup212: pallet_session::pallet::Call **/ PalletSessionCall: { _enum: { @@ -1811,13 +1884,13 @@ export default { } }, /** - * Lookup209: pallet_session::pallet::Error + * Lookup213: pallet_session::pallet::Error **/ PalletSessionError: { _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount'] }, /** - * Lookup210: parachain_staking::types::RoundInfo + * Lookup214: parachain_staking::types::RoundInfo **/ ParachainStakingRoundInfo: { current: 'u32', @@ -1825,21 +1898,21 @@ export default { length: 'u64' }, /** - * Lookup211: parachain_staking::types::DelegationCounter + * Lookup215: parachain_staking::types::DelegationCounter **/ ParachainStakingDelegationCounter: { round: 'u32', counter: 'u32' }, /** - * Lookup212: parachain_staking::types::Stake + * Lookup216: parachain_staking::types::Stake **/ ParachainStakingStake: { owner: 'AccountId32', amount: 'u128' }, /** - * Lookup213: parachain_staking::types::Candidate + * Lookup217: parachain_staking::types::Candidate **/ ParachainStakingCandidate: { id: 'AccountId32', @@ -1849,11 +1922,11 @@ export default { status: 'ParachainStakingCandidateStatus' }, /** - * Lookup214: parachain_staking::set::OrderedSet, S> + * Lookup218: parachain_staking::set::OrderedSet, S> **/ ParachainStakingSetOrderedSet: 'Vec', /** - * Lookup217: parachain_staking::types::CandidateStatus + * Lookup221: parachain_staking::types::CandidateStatus **/ ParachainStakingCandidateStatus: { _enum: { @@ -1862,35 +1935,35 @@ export default { } }, /** - * Lookup218: parachain_staking::types::TotalStake + * Lookup222: parachain_staking::types::TotalStake **/ ParachainStakingTotalStake: { collators: 'u128', delegators: 'u128' }, /** - * Lookup221: parachain_staking::inflation::InflationInfo + * Lookup225: parachain_staking::inflation::InflationInfo **/ ParachainStakingInflationInflationInfo: { collator: 'ParachainStakingInflationStakingInfo', delegator: 'ParachainStakingInflationStakingInfo' }, /** - * Lookup222: parachain_staking::inflation::StakingInfo + * Lookup226: parachain_staking::inflation::StakingInfo **/ ParachainStakingInflationStakingInfo: { maxRate: 'Perquintill', rewardRate: 'ParachainStakingInflationRewardRate' }, /** - * Lookup223: parachain_staking::inflation::RewardRate + * Lookup227: parachain_staking::inflation::RewardRate **/ ParachainStakingInflationRewardRate: { annual: 'Perquintill', perBlock: 'Perquintill' }, /** - * Lookup228: parachain_staking::pallet::Call + * Lookup232: parachain_staking::pallet::Call **/ ParachainStakingCall: { _enum: { @@ -1957,13 +2030,13 @@ export default { } }, /** - * Lookup229: parachain_staking::pallet::Error + * Lookup233: parachain_staking::pallet::Error **/ ParachainStakingError: { _enum: ['DelegatorNotFound', 'CandidateNotFound', 'DelegatorExists', 'CandidateExists', 'ValStakeZero', 'ValStakeBelowMin', 'ValStakeAboveMax', 'DelegationBelowMin', 'AlreadyLeaving', 'NotLeaving', 'CannotLeaveYet', 'CannotJoinBeforeUnlocking', 'AlreadyDelegating', 'NotYetDelegating', 'DelegationsPerRoundExceeded', 'TooManyDelegators', 'TooFewCollatorCandidates', 'CannotStakeIfLeaving', 'CannotDelegateIfLeaving', 'MaxCollatorsPerDelegatorExceeded', 'AlreadyDelegatedCollator', 'DelegationNotFound', 'Underflow', 'CannotSetAboveMax', 'CannotSetBelowMin', 'InvalidSchedule', 'NoMoreUnstaking', 'TooEarly', 'StakeNotFound', 'UnstakingIsEmpty', 'RewardsNotFound'] }, /** - * Lookup232: frame_support::traits::preimages::Bounded + * Lookup236: frame_support::traits::preimages::Bounded **/ FrameSupportPreimagesBounded: { _enum: { @@ -1984,7 +2057,7 @@ export default { } }, /** - * Lookup234: pallet_democracy::pallet::Call + * Lookup238: pallet_democracy::pallet::Call **/ PalletDemocracyCall: { _enum: { @@ -2044,18 +2117,22 @@ export default { maybeRefIndex: 'Option', }, cancel_proposal: { - propIndex: 'Compact' + propIndex: 'Compact', + }, + set_metadata: { + owner: 'PalletDemocracyMetadataOwner', + maybeHash: 'Option' } } }, /** - * Lookup235: pallet_democracy::conviction::Conviction + * Lookup239: pallet_democracy::conviction::Conviction **/ PalletDemocracyConviction: { _enum: ['None', 'Locked1x', 'Locked2x', 'Locked3x', 'Locked4x', 'Locked5x', 'Locked6x'] }, /** - * Lookup237: pallet_collective::pallet::Call + * Lookup242: pallet_collective::pallet::Call **/ PalletCollectiveCall: { _enum: { @@ -2096,7 +2173,7 @@ export default { } }, /** - * Lookup242: pallet_membership::pallet::Call + * Lookup247: pallet_membership::pallet::Call **/ PalletMembershipCall: { _enum: { @@ -2126,7 +2203,7 @@ export default { } }, /** - * Lookup243: pallet_treasury::pallet::Call + * Lookup248: pallet_treasury::pallet::Call **/ PalletTreasuryCall: { _enum: { @@ -2150,7 +2227,7 @@ export default { } }, /** - * Lookup244: pallet_utility::pallet::Call + * Lookup249: pallet_utility::pallet::Call **/ PalletUtilityCall: { _enum: { @@ -2178,7 +2255,7 @@ export default { } }, /** - * Lookup246: spiritnet_runtime::OriginCaller + * Lookup251: spiritnet_runtime::OriginCaller **/ SpiritnetRuntimeOriginCaller: { _enum: { @@ -2270,7 +2347,7 @@ export default { } }, /** - * Lookup247: frame_support::dispatch::RawOrigin + * Lookup252: frame_support::dispatch::RawOrigin **/ FrameSupportDispatchRawOrigin: { _enum: { @@ -2280,7 +2357,7 @@ export default { } }, /** - * Lookup248: pallet_collective::RawOrigin + * Lookup253: pallet_collective::RawOrigin **/ PalletCollectiveRawOrigin: { _enum: { @@ -2290,14 +2367,14 @@ export default { } }, /** - * Lookup250: did::origin::DidRawOrigin + * Lookup255: did::origin::DidRawOrigin **/ DidOriginDidRawOrigin: { id: 'AccountId32', submitter: 'AccountId32' }, /** - * Lookup251: pallet_xcm::pallet::Origin + * Lookup256: pallet_xcm::pallet::Origin **/ PalletXcmOrigin: { _enum: { @@ -2306,7 +2383,7 @@ export default { } }, /** - * Lookup252: cumulus_pallet_xcm::pallet::Origin + * Lookup257: cumulus_pallet_xcm::pallet::Origin **/ CumulusPalletXcmOrigin: { _enum: { @@ -2315,11 +2392,11 @@ export default { } }, /** - * Lookup253: sp_core::Void + * Lookup258: sp_core::Void **/ SpCoreVoid: 'Null', /** - * Lookup254: pallet_vesting::pallet::Call + * Lookup259: pallet_vesting::pallet::Call **/ PalletVestingCall: { _enum: { @@ -2343,7 +2420,7 @@ export default { } }, /** - * Lookup255: pallet_vesting::vesting_info::VestingInfo + * Lookup260: pallet_vesting::vesting_info::VestingInfo **/ PalletVestingVestingInfo: { locked: 'u128', @@ -2351,7 +2428,7 @@ export default { startingBlock: 'u64' }, /** - * Lookup256: pallet_scheduler::pallet::Call + * Lookup261: pallet_scheduler::pallet::Call **/ PalletSchedulerCall: { _enum: { @@ -2391,7 +2468,7 @@ export default { } }, /** - * Lookup258: pallet_proxy::pallet::Call + * Lookup263: pallet_proxy::pallet::Call **/ PalletProxyCall: { _enum: { @@ -2444,7 +2521,7 @@ export default { } }, /** - * Lookup260: pallet_preimage::pallet::Call + * Lookup265: pallet_preimage::pallet::Call **/ PalletPreimageCall: { _enum: { @@ -2472,7 +2549,7 @@ export default { } }, /** - * Lookup262: pallet_tips::pallet::Call + * Lookup267: pallet_tips::pallet::Call **/ PalletTipsCall: { _enum: { @@ -2513,7 +2590,38 @@ export default { } }, /** - * Lookup263: ctype::pallet::Call + * Lookup268: pallet_multisig::pallet::Call + **/ + PalletMultisigCall: { + _enum: { + as_multi_threshold_1: { + otherSignatories: 'Vec', + call: 'Call', + }, + as_multi: { + threshold: 'u16', + otherSignatories: 'Vec', + maybeTimepoint: 'Option', + call: 'Call', + maxWeight: 'SpWeightsWeightV2Weight', + }, + approve_as_multi: { + threshold: 'u16', + otherSignatories: 'Vec', + maybeTimepoint: 'Option', + callHash: '[u8;32]', + maxWeight: 'SpWeightsWeightV2Weight', + }, + cancel_as_multi: { + threshold: 'u16', + otherSignatories: 'Vec', + timepoint: 'PalletMultisigTimepoint', + callHash: '[u8;32]' + } + } + }, + /** + * Lookup270: ctype::pallet::Call **/ CtypeCall: { _enum: { @@ -2527,7 +2635,7 @@ export default { } }, /** - * Lookup264: attestation::pallet::Call + * Lookup271: attestation::pallet::Call **/ AttestationCall: { _enum: { @@ -2556,7 +2664,7 @@ export default { } }, /** - * Lookup266: runtime_common::authorization::PalletAuthorize> + * Lookup273: runtime_common::authorization::PalletAuthorize> **/ RuntimeCommonAuthorizationPalletAuthorize: { _enum: { @@ -2564,18 +2672,18 @@ export default { } }, /** - * Lookup267: delegation::access_control::DelegationAc + * Lookup274: delegation::access_control::DelegationAc **/ DelegationAccessControlDelegationAc: { subjectNodeId: 'H256', maxChecks: 'u32' }, /** - * Lookup268: spiritnet_runtime::Runtime + * Lookup275: spiritnet_runtime::Runtime **/ SpiritnetRuntimeRuntime: 'Null', /** - * Lookup269: delegation::pallet::Call + * Lookup276: delegation::pallet::Call **/ DelegationCall: { _enum: { @@ -2612,7 +2720,7 @@ export default { } }, /** - * Lookup270: did::did_details::DidSignature + * Lookup277: did::did_details::DidSignature **/ DidDidDetailsDidSignature: { _enum: { @@ -2622,19 +2730,19 @@ export default { } }, /** - * Lookup271: sp_core::ed25519::Signature + * Lookup278: sp_core::ed25519::Signature **/ SpCoreEd25519Signature: '[u8;64]', /** - * Lookup273: sp_core::sr25519::Signature + * Lookup280: sp_core::sr25519::Signature **/ SpCoreSr25519Signature: '[u8;64]', /** - * Lookup274: sp_core::ecdsa::Signature + * Lookup281: sp_core::ecdsa::Signature **/ SpCoreEcdsaSignature: '[u8;65]', /** - * Lookup276: did::pallet::Call + * Lookup283: did::pallet::Call **/ DidCall: { _enum: { @@ -2683,7 +2791,7 @@ export default { } }, /** - * Lookup277: did::did_details::DidCreationDetails + * Lookup284: did::did_details::DidCreationDetails> **/ DidDidDetailsDidCreationDetails: { did: 'AccountId32', @@ -2694,7 +2802,19 @@ export default { newServiceDetails: 'Vec' }, /** - * Lookup279: did::did_details::DidEncryptionKey + * Lookup285: runtime_common::constants::did::MaxNewKeyAgreementKeys + **/ + RuntimeCommonConstantsDidMaxNewKeyAgreementKeys: 'Null', + /** + * Lookup286: did::service_endpoints::DidEndpoint + **/ + DidServiceEndpointsDidEndpoint: { + id: 'Bytes', + serviceTypes: 'Vec', + urls: 'Vec' + }, + /** + * Lookup295: did::did_details::DidEncryptionKey **/ DidDidDetailsDidEncryptionKey: { _enum: { @@ -2702,7 +2822,7 @@ export default { } }, /** - * Lookup283: did::did_details::DidVerificationKey + * Lookup299: did::did_details::DidVerificationKey **/ DidDidDetailsDidVerificationKey: { _enum: { @@ -2712,23 +2832,15 @@ export default { } }, /** - * Lookup284: sp_core::ed25519::Public + * Lookup300: sp_core::ed25519::Public **/ SpCoreEd25519Public: '[u8;32]', /** - * Lookup285: sp_core::ecdsa::Public + * Lookup301: sp_core::ecdsa::Public **/ SpCoreEcdsaPublic: '[u8;33]', /** - * Lookup288: did::service_endpoints::DidEndpoint - **/ - DidServiceEndpointsDidEndpoint: { - id: 'Bytes', - serviceTypes: 'Vec', - urls: 'Vec' - }, - /** - * Lookup296: did::did_details::DidAuthorizedCallOperation + * Lookup304: did::did_details::DidAuthorizedCallOperation **/ DidDidDetailsDidAuthorizedCallOperation: { did: 'AccountId32', @@ -2738,7 +2850,7 @@ export default { submitter: 'AccountId32' }, /** - * Lookup297: pallet_did_lookup::pallet::Call + * Lookup305: pallet_did_lookup::pallet::Call **/ PalletDidLookupCall: { _enum: { @@ -2758,262 +2870,12 @@ export default { account: 'PalletDidLookupLinkableAccountLinkableAccountId', }, update_deposit: { - account: 'PalletDidLookupLinkableAccountLinkableAccountId', - }, - __Unused7: 'Null', - __Unused8: 'Null', - __Unused9: 'Null', - __Unused10: 'Null', - __Unused11: 'Null', - __Unused12: 'Null', - __Unused13: 'Null', - __Unused14: 'Null', - __Unused15: 'Null', - __Unused16: 'Null', - __Unused17: 'Null', - __Unused18: 'Null', - __Unused19: 'Null', - __Unused20: 'Null', - __Unused21: 'Null', - __Unused22: 'Null', - __Unused23: 'Null', - __Unused24: 'Null', - __Unused25: 'Null', - __Unused26: 'Null', - __Unused27: 'Null', - __Unused28: 'Null', - __Unused29: 'Null', - __Unused30: 'Null', - __Unused31: 'Null', - __Unused32: 'Null', - __Unused33: 'Null', - __Unused34: 'Null', - __Unused35: 'Null', - __Unused36: 'Null', - __Unused37: 'Null', - __Unused38: 'Null', - __Unused39: 'Null', - __Unused40: 'Null', - __Unused41: 'Null', - __Unused42: 'Null', - __Unused43: 'Null', - __Unused44: 'Null', - __Unused45: 'Null', - __Unused46: 'Null', - __Unused47: 'Null', - __Unused48: 'Null', - __Unused49: 'Null', - __Unused50: 'Null', - __Unused51: 'Null', - __Unused52: 'Null', - __Unused53: 'Null', - __Unused54: 'Null', - __Unused55: 'Null', - __Unused56: 'Null', - __Unused57: 'Null', - __Unused58: 'Null', - __Unused59: 'Null', - __Unused60: 'Null', - __Unused61: 'Null', - __Unused62: 'Null', - __Unused63: 'Null', - __Unused64: 'Null', - __Unused65: 'Null', - __Unused66: 'Null', - __Unused67: 'Null', - __Unused68: 'Null', - __Unused69: 'Null', - __Unused70: 'Null', - __Unused71: 'Null', - __Unused72: 'Null', - __Unused73: 'Null', - __Unused74: 'Null', - __Unused75: 'Null', - __Unused76: 'Null', - __Unused77: 'Null', - __Unused78: 'Null', - __Unused79: 'Null', - __Unused80: 'Null', - __Unused81: 'Null', - __Unused82: 'Null', - __Unused83: 'Null', - __Unused84: 'Null', - __Unused85: 'Null', - __Unused86: 'Null', - __Unused87: 'Null', - __Unused88: 'Null', - __Unused89: 'Null', - __Unused90: 'Null', - __Unused91: 'Null', - __Unused92: 'Null', - __Unused93: 'Null', - __Unused94: 'Null', - __Unused95: 'Null', - __Unused96: 'Null', - __Unused97: 'Null', - __Unused98: 'Null', - __Unused99: 'Null', - __Unused100: 'Null', - __Unused101: 'Null', - __Unused102: 'Null', - __Unused103: 'Null', - __Unused104: 'Null', - __Unused105: 'Null', - __Unused106: 'Null', - __Unused107: 'Null', - __Unused108: 'Null', - __Unused109: 'Null', - __Unused110: 'Null', - __Unused111: 'Null', - __Unused112: 'Null', - __Unused113: 'Null', - __Unused114: 'Null', - __Unused115: 'Null', - __Unused116: 'Null', - __Unused117: 'Null', - __Unused118: 'Null', - __Unused119: 'Null', - __Unused120: 'Null', - __Unused121: 'Null', - __Unused122: 'Null', - __Unused123: 'Null', - __Unused124: 'Null', - __Unused125: 'Null', - __Unused126: 'Null', - __Unused127: 'Null', - __Unused128: 'Null', - __Unused129: 'Null', - __Unused130: 'Null', - __Unused131: 'Null', - __Unused132: 'Null', - __Unused133: 'Null', - __Unused134: 'Null', - __Unused135: 'Null', - __Unused136: 'Null', - __Unused137: 'Null', - __Unused138: 'Null', - __Unused139: 'Null', - __Unused140: 'Null', - __Unused141: 'Null', - __Unused142: 'Null', - __Unused143: 'Null', - __Unused144: 'Null', - __Unused145: 'Null', - __Unused146: 'Null', - __Unused147: 'Null', - __Unused148: 'Null', - __Unused149: 'Null', - __Unused150: 'Null', - __Unused151: 'Null', - __Unused152: 'Null', - __Unused153: 'Null', - __Unused154: 'Null', - __Unused155: 'Null', - __Unused156: 'Null', - __Unused157: 'Null', - __Unused158: 'Null', - __Unused159: 'Null', - __Unused160: 'Null', - __Unused161: 'Null', - __Unused162: 'Null', - __Unused163: 'Null', - __Unused164: 'Null', - __Unused165: 'Null', - __Unused166: 'Null', - __Unused167: 'Null', - __Unused168: 'Null', - __Unused169: 'Null', - __Unused170: 'Null', - __Unused171: 'Null', - __Unused172: 'Null', - __Unused173: 'Null', - __Unused174: 'Null', - __Unused175: 'Null', - __Unused176: 'Null', - __Unused177: 'Null', - __Unused178: 'Null', - __Unused179: 'Null', - __Unused180: 'Null', - __Unused181: 'Null', - __Unused182: 'Null', - __Unused183: 'Null', - __Unused184: 'Null', - __Unused185: 'Null', - __Unused186: 'Null', - __Unused187: 'Null', - __Unused188: 'Null', - __Unused189: 'Null', - __Unused190: 'Null', - __Unused191: 'Null', - __Unused192: 'Null', - __Unused193: 'Null', - __Unused194: 'Null', - __Unused195: 'Null', - __Unused196: 'Null', - __Unused197: 'Null', - __Unused198: 'Null', - __Unused199: 'Null', - __Unused200: 'Null', - __Unused201: 'Null', - __Unused202: 'Null', - __Unused203: 'Null', - __Unused204: 'Null', - __Unused205: 'Null', - __Unused206: 'Null', - __Unused207: 'Null', - __Unused208: 'Null', - __Unused209: 'Null', - __Unused210: 'Null', - __Unused211: 'Null', - __Unused212: 'Null', - __Unused213: 'Null', - __Unused214: 'Null', - __Unused215: 'Null', - __Unused216: 'Null', - __Unused217: 'Null', - __Unused218: 'Null', - __Unused219: 'Null', - __Unused220: 'Null', - __Unused221: 'Null', - __Unused222: 'Null', - __Unused223: 'Null', - __Unused224: 'Null', - __Unused225: 'Null', - __Unused226: 'Null', - __Unused227: 'Null', - __Unused228: 'Null', - __Unused229: 'Null', - __Unused230: 'Null', - __Unused231: 'Null', - __Unused232: 'Null', - __Unused233: 'Null', - __Unused234: 'Null', - __Unused235: 'Null', - __Unused236: 'Null', - __Unused237: 'Null', - __Unused238: 'Null', - __Unused239: 'Null', - __Unused240: 'Null', - __Unused241: 'Null', - __Unused242: 'Null', - __Unused243: 'Null', - __Unused244: 'Null', - __Unused245: 'Null', - __Unused246: 'Null', - __Unused247: 'Null', - __Unused248: 'Null', - __Unused249: 'Null', - __Unused250: 'Null', - __Unused251: 'Null', - __Unused252: 'Null', - __Unused253: 'Null', - migrate: { - limit: 'u32' + account: 'PalletDidLookupLinkableAccountLinkableAccountId' } } }, /** - * Lookup298: pallet_did_lookup::associate_account_request::AssociateAccountRequest + * Lookup306: pallet_did_lookup::associate_account_request::AssociateAccountRequest **/ PalletDidLookupAssociateAccountRequest: { _enum: { @@ -3022,7 +2884,7 @@ export default { } }, /** - * Lookup299: sp_runtime::MultiSignature + * Lookup307: sp_runtime::MultiSignature **/ SpRuntimeMultiSignature: { _enum: { @@ -3032,11 +2894,11 @@ export default { } }, /** - * Lookup300: pallet_did_lookup::account::EthereumSignature + * Lookup308: pallet_did_lookup::account::EthereumSignature **/ PalletDidLookupAccountEthereumSignature: 'SpCoreEcdsaSignature', /** - * Lookup301: pallet_web3_names::pallet::Call + * Lookup309: pallet_web3_names::pallet::Call **/ PalletWeb3NamesCall: { _enum: { @@ -3060,7 +2922,7 @@ export default { } }, /** - * Lookup302: public_credentials::pallet::Call + * Lookup310: public_credentials::pallet::Call **/ PublicCredentialsCall: { _enum: { @@ -3091,7 +2953,7 @@ export default { } }, /** - * Lookup303: public_credentials::credentials::Credential, sp_core::bounded::bounded_vec::BoundedVec, runtime_common::authorization::PalletAuthorize>> + * Lookup311: public_credentials::credentials::Credential, bounded_collections::bounded_vec::BoundedVec, runtime_common::authorization::PalletAuthorize>> **/ PublicCredentialsCredentialsCredential: { ctypeHash: 'H256', @@ -3100,7 +2962,7 @@ export default { authorization: 'Option' }, /** - * Lookup306: cumulus_pallet_parachain_system::pallet::Call + * Lookup314: cumulus_pallet_parachain_system::pallet::Call **/ CumulusPalletParachainSystemCall: { _enum: { @@ -3112,6 +2974,7 @@ export default { }, authorize_upgrade: { codeHash: 'H256', + checkVersion: 'bool', }, enact_authorized_upgrade: { code: 'Bytes' @@ -3119,7 +2982,7 @@ export default { } }, /** - * Lookup307: cumulus_primitives_parachain_inherent::ParachainInherentData + * Lookup315: cumulus_primitives_parachain_inherent::ParachainInherentData **/ CumulusPrimitivesParachainInherentParachainInherentData: { validationData: 'PolkadotPrimitivesV2PersistedValidationData', @@ -3128,7 +2991,7 @@ export default { horizontalMessages: 'BTreeMap>' }, /** - * Lookup308: polkadot_primitives::v2::PersistedValidationData + * Lookup316: polkadot_primitives::v2::PersistedValidationData **/ PolkadotPrimitivesV2PersistedValidationData: { parentHead: 'Bytes', @@ -3137,27 +3000,27 @@ export default { maxPovSize: 'u32' }, /** - * Lookup310: sp_trie::storage_proof::StorageProof + * Lookup318: sp_trie::storage_proof::StorageProof **/ SpTrieStorageProof: { trieNodes: 'BTreeSet' }, /** - * Lookup313: polkadot_core_primitives::InboundDownwardMessage + * Lookup321: polkadot_core_primitives::InboundDownwardMessage **/ PolkadotCorePrimitivesInboundDownwardMessage: { sentAt: 'u32', msg: 'Bytes' }, /** - * Lookup316: polkadot_core_primitives::InboundHrmpMessage + * Lookup324: polkadot_core_primitives::InboundHrmpMessage **/ PolkadotCorePrimitivesInboundHrmpMessage: { sentAt: 'u32', data: 'Bytes' }, /** - * Lookup319: cumulus_pallet_xcmp_queue::pallet::Call + * Lookup327: cumulus_pallet_xcmp_queue::pallet::Call **/ CumulusPalletXcmpQueueCall: { _enum: { @@ -3206,7 +3069,7 @@ export default { } }, /** - * Lookup320: pallet_xcm::pallet::Call + * Lookup328: pallet_xcm::pallet::Call **/ PalletXcmCall: { _enum: { @@ -3260,7 +3123,7 @@ export default { } }, /** - * Lookup321: xcm::VersionedXcm + * Lookup329: xcm::VersionedXcm **/ XcmVersionedXcm: { _enum: { @@ -3271,11 +3134,11 @@ export default { } }, /** - * Lookup322: xcm::v2::Xcm + * Lookup330: xcm::v2::Xcm **/ XcmV2Xcm: 'Vec', /** - * Lookup324: xcm::v2::Instruction + * Lookup332: xcm::v2::Instruction **/ XcmV2Instruction: { _enum: { @@ -3373,7 +3236,7 @@ export default { } }, /** - * Lookup325: xcm::v2::Response + * Lookup333: xcm::v2::Response **/ XcmV2Response: { _enum: { @@ -3384,7 +3247,7 @@ export default { } }, /** - * Lookup328: xcm::v2::traits::Error + * Lookup336: xcm::v2::traits::Error **/ XcmV2TraitsError: { _enum: { @@ -3417,7 +3280,7 @@ export default { } }, /** - * Lookup329: xcm::v2::multiasset::MultiAssetFilter + * Lookup337: xcm::v2::multiasset::MultiAssetFilter **/ XcmV2MultiassetMultiAssetFilter: { _enum: { @@ -3426,7 +3289,7 @@ export default { } }, /** - * Lookup330: xcm::v2::multiasset::WildMultiAsset + * Lookup338: xcm::v2::multiasset::WildMultiAsset **/ XcmV2MultiassetWildMultiAsset: { _enum: { @@ -3438,13 +3301,13 @@ export default { } }, /** - * Lookup331: xcm::v2::multiasset::WildFungibility + * Lookup339: xcm::v2::multiasset::WildFungibility **/ XcmV2MultiassetWildFungibility: { _enum: ['Fungible', 'NonFungible'] }, /** - * Lookup332: xcm::v2::WeightLimit + * Lookup340: xcm::v2::WeightLimit **/ XcmV2WeightLimit: { _enum: { @@ -3453,7 +3316,7 @@ export default { } }, /** - * Lookup341: cumulus_pallet_dmp_queue::pallet::Call + * Lookup349: cumulus_pallet_dmp_queue::pallet::Call **/ CumulusPalletDmpQueueCall: { _enum: { @@ -3464,7 +3327,7 @@ export default { } }, /** - * Lookup345: pallet_democracy::types::ReferendumInfo, Balance> + * Lookup353: pallet_democracy::types::ReferendumInfo, Balance> **/ PalletDemocracyReferendumInfo: { _enum: { @@ -3476,7 +3339,7 @@ export default { } }, /** - * Lookup346: pallet_democracy::types::ReferendumStatus, Balance> + * Lookup354: pallet_democracy::types::ReferendumStatus, Balance> **/ PalletDemocracyReferendumStatus: { end: 'u64', @@ -3486,7 +3349,7 @@ export default { tally: 'PalletDemocracyTally' }, /** - * Lookup347: pallet_democracy::types::Tally + * Lookup355: pallet_democracy::types::Tally **/ PalletDemocracyTally: { ayes: 'u128', @@ -3494,7 +3357,7 @@ export default { turnout: 'u128' }, /** - * Lookup348: pallet_democracy::vote::Voting + * Lookup356: pallet_democracy::vote::Voting **/ PalletDemocracyVoteVoting: { _enum: { @@ -3513,24 +3376,24 @@ export default { } }, /** - * Lookup352: pallet_democracy::types::Delegations + * Lookup360: pallet_democracy::types::Delegations **/ PalletDemocracyDelegations: { votes: 'u128', capital: 'u128' }, /** - * Lookup353: pallet_democracy::vote::PriorLock + * Lookup361: pallet_democracy::vote::PriorLock **/ PalletDemocracyVotePriorLock: '(u64,u128)', /** - * Lookup356: pallet_democracy::pallet::Error + * Lookup364: pallet_democracy::pallet::Error **/ PalletDemocracyError: { - _enum: ['ValueLow', 'ProposalMissing', 'AlreadyCanceled', 'DuplicateProposal', 'ProposalBlacklisted', 'NotSimpleMajority', 'InvalidHash', 'NoProposal', 'AlreadyVetoed', 'ReferendumInvalid', 'NoneWaiting', 'NotVoter', 'NoPermission', 'AlreadyDelegating', 'InsufficientFunds', 'NotDelegating', 'VotesExist', 'InstantNotAllowed', 'Nonsense', 'WrongUpperBound', 'MaxVotesReached', 'TooMany', 'VotingPeriodLow'] + _enum: ['ValueLow', 'ProposalMissing', 'AlreadyCanceled', 'DuplicateProposal', 'ProposalBlacklisted', 'NotSimpleMajority', 'InvalidHash', 'NoProposal', 'AlreadyVetoed', 'ReferendumInvalid', 'NoneWaiting', 'NotVoter', 'NoPermission', 'AlreadyDelegating', 'InsufficientFunds', 'NotDelegating', 'VotesExist', 'InstantNotAllowed', 'Nonsense', 'WrongUpperBound', 'MaxVotesReached', 'TooMany', 'VotingPeriodLow', 'PreimageNotExist'] }, /** - * Lookup358: pallet_collective::Votes + * Lookup366: pallet_collective::Votes **/ PalletCollectiveVotes: { index: 'u32', @@ -3540,19 +3403,19 @@ export default { end: 'u64' }, /** - * Lookup359: pallet_collective::pallet::Error + * Lookup367: pallet_collective::pallet::Error **/ PalletCollectiveError: { _enum: ['NotMember', 'DuplicateProposal', 'ProposalMissing', 'WrongIndex', 'DuplicateVote', 'AlreadyInitialized', 'TooEarly', 'TooManyProposals', 'WrongProposalWeight', 'WrongProposalLength'] }, /** - * Lookup363: pallet_membership::pallet::Error + * Lookup371: pallet_membership::pallet::Error **/ PalletMembershipError: { _enum: ['AlreadyMember', 'NotMember', 'TooManyMembers'] }, /** - * Lookup364: pallet_treasury::Proposal + * Lookup372: pallet_treasury::Proposal **/ PalletTreasuryProposal: { proposer: 'AccountId32', @@ -3561,35 +3424,35 @@ export default { bond: 'u128' }, /** - * Lookup368: frame_support::PalletId + * Lookup376: frame_support::PalletId **/ FrameSupportPalletId: '[u8;8]', /** - * Lookup369: pallet_treasury::pallet::Error + * Lookup377: pallet_treasury::pallet::Error **/ PalletTreasuryError: { _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved'] }, /** - * Lookup370: pallet_utility::pallet::Error + * Lookup378: pallet_utility::pallet::Error **/ PalletUtilityError: { _enum: ['TooManyCalls'] }, /** - * Lookup373: pallet_vesting::Releases + * Lookup381: pallet_vesting::Releases **/ PalletVestingReleases: { _enum: ['V0', 'V1'] }, /** - * Lookup374: pallet_vesting::pallet::Error + * Lookup382: pallet_vesting::pallet::Error **/ PalletVestingError: { _enum: ['NotVesting', 'AtMaxVestingSchedules', 'AmountLow', 'ScheduleIndexOutOfBounds', 'InvalidScheduleParams'] }, /** - * Lookup377: pallet_scheduler::Scheduled, BlockNumber, spiritnet_runtime::OriginCaller, sp_core::crypto::AccountId32> + * Lookup385: pallet_scheduler::Scheduled, BlockNumber, spiritnet_runtime::OriginCaller, sp_core::crypto::AccountId32> **/ PalletSchedulerScheduled: { maybeId: 'Option<[u8;32]>', @@ -3599,13 +3462,13 @@ export default { origin: 'SpiritnetRuntimeOriginCaller' }, /** - * Lookup379: pallet_scheduler::pallet::Error + * Lookup387: pallet_scheduler::pallet::Error **/ PalletSchedulerError: { _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange', 'Named'] }, /** - * Lookup382: pallet_proxy::ProxyDefinition + * Lookup390: pallet_proxy::ProxyDefinition **/ PalletProxyProxyDefinition: { delegate: 'AccountId32', @@ -3613,7 +3476,7 @@ export default { delay: 'u64' }, /** - * Lookup386: pallet_proxy::Announcement + * Lookup394: pallet_proxy::Announcement **/ PalletProxyAnnouncement: { real: 'AccountId32', @@ -3621,13 +3484,13 @@ export default { height: 'u64' }, /** - * Lookup388: pallet_proxy::pallet::Error + * Lookup396: pallet_proxy::pallet::Error **/ PalletProxyError: { _enum: ['TooMany', 'NotFound', 'NotProxy', 'Unproxyable', 'Duplicate', 'NoPermission', 'Unannounced', 'NoSelfProxy'] }, /** - * Lookup389: pallet_preimage::RequestStatus + * Lookup397: pallet_preimage::RequestStatus **/ PalletPreimageRequestStatus: { _enum: { @@ -3643,13 +3506,13 @@ export default { } }, /** - * Lookup394: pallet_preimage::pallet::Error + * Lookup402: pallet_preimage::pallet::Error **/ PalletPreimageError: { _enum: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested'] }, /** - * Lookup396: pallet_tips::OpenTip + * Lookup405: pallet_tips::OpenTip **/ PalletTipsOpenTip: { reason: 'H256', @@ -3661,26 +3524,41 @@ export default { findersFee: 'bool' }, /** - * Lookup400: pallet_tips::pallet::Error + * Lookup409: pallet_tips::pallet::Error **/ PalletTipsError: { _enum: ['ReasonTooBig', 'AlreadyKnown', 'UnknownTip', 'NotFinder', 'StillOpen', 'Premature'] }, /** - * Lookup401: ctype::ctype_entry::CtypeEntry + * Lookup411: pallet_multisig::Multisig + **/ + PalletMultisigMultisig: { + when: 'PalletMultisigTimepoint', + deposit: 'u128', + depositor: 'AccountId32', + approvals: 'Vec' + }, + /** + * Lookup413: pallet_multisig::pallet::Error + **/ + PalletMultisigError: { + _enum: ['MinimumThreshold', 'AlreadyApproved', 'NoApprovalsNeeded', 'TooFewSignatories', 'TooManySignatories', 'SignatoriesOutOfOrder', 'SenderInSignatories', 'NotFound', 'NotOwner', 'NoTimepoint', 'WrongTimepoint', 'UnexpectedTimepoint', 'MaxWeightTooLow', 'AlreadyStored'] + }, + /** + * Lookup414: ctype::ctype_entry::CtypeEntry **/ CtypeCtypeEntry: { creator: 'AccountId32', createdAt: 'u64' }, /** - * Lookup402: ctype::pallet::Error + * Lookup415: ctype::pallet::Error **/ CtypeError: { _enum: ['NotFound', 'AlreadyExists', 'UnableToPayFees'] }, /** - * Lookup403: attestation::attestations::AttestationDetails + * Lookup416: attestation::attestations::AttestationDetails, sp_core::crypto::AccountId32, Balance> **/ AttestationAttestationsAttestationDetails: { ctypeHash: 'H256', @@ -3690,20 +3568,20 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup404: kilt_support::deposit::Deposit + * Lookup417: kilt_support::deposit::Deposit **/ KiltSupportDeposit: { owner: 'AccountId32', amount: 'u128' }, /** - * Lookup406: attestation::pallet::Error + * Lookup419: attestation::pallet::Error **/ AttestationError: { _enum: ['AlreadyAttested', 'AlreadyRevoked', 'NotFound', 'CTypeMismatch', 'NotAuthorized', 'MaxDelegatedAttestationsExceeded'] }, /** - * Lookup407: delegation::delegation_hierarchy::DelegationNode + * Lookup420: delegation::delegation_hierarchy::DelegationNode, sp_core::crypto::AccountId32, Balance> **/ DelegationDelegationHierarchyDelegationNode: { hierarchyRootId: 'H256', @@ -3713,7 +3591,11 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup411: delegation::delegation_hierarchy::DelegationDetails + * Lookup421: runtime_common::constants::delegation::MaxChildren + **/ + RuntimeCommonConstantsDelegationMaxChildren: 'Null', + /** + * Lookup422: delegation::delegation_hierarchy::DelegationDetails **/ DelegationDelegationHierarchyDelegationDetails: { owner: 'AccountId32', @@ -3721,19 +3603,19 @@ export default { permissions: 'DelegationDelegationHierarchyPermissions' }, /** - * Lookup412: delegation::delegation_hierarchy::DelegationHierarchyDetails + * Lookup425: delegation::delegation_hierarchy::DelegationHierarchyDetails **/ DelegationDelegationHierarchyDelegationHierarchyDetails: { ctypeHash: 'H256' }, /** - * Lookup413: delegation::pallet::Error + * Lookup426: delegation::pallet::Error **/ DelegationError: { _enum: ['DelegationAlreadyExists', 'InvalidDelegateSignature', 'DelegationNotFound', 'DelegateNotFound', 'HierarchyAlreadyExists', 'HierarchyNotFound', 'MaxSearchDepthReached', 'NotOwnerOfParentDelegation', 'NotOwnerOfDelegationHierarchy', 'ParentDelegationNotFound', 'ParentDelegationRevoked', 'UnauthorizedRevocation', 'UnauthorizedRemoval', 'UnauthorizedDelegation', 'AccessDenied', 'ExceededRevocationBounds', 'ExceededRemovalBounds', 'MaxRevocationsTooLarge', 'MaxRemovalsTooLarge', 'MaxParentChecksTooLarge', 'Internal', 'MaxChildrenExceeded'] }, /** - * Lookup414: did::did_details::DidDetails + * Lookup427: did::did_details::DidDetails **/ DidDidDetails: { authenticationKey: 'H256', @@ -3745,14 +3627,14 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup417: did::did_details::DidPublicKeyDetails + * Lookup430: did::did_details::DidPublicKeyDetails **/ DidDidDetailsDidPublicKeyDetails: { key: 'DidDidDetailsDidPublicKey', blockNumber: 'u64' }, /** - * Lookup418: did::did_details::DidPublicKey + * Lookup431: did::did_details::DidPublicKey **/ DidDidDetailsDidPublicKey: { _enum: { @@ -3761,45 +3643,26 @@ export default { } }, /** - * Lookup423: did::pallet::Error + * Lookup436: did::pallet::Error **/ DidError: { _enum: ['InvalidSignatureFormat', 'InvalidSignature', 'AlreadyExists', 'NotFound', 'VerificationKeyNotFound', 'InvalidNonce', 'UnsupportedDidAuthorizationCall', 'InvalidDidAuthorizationCall', 'MaxNewKeyAgreementKeysLimitExceeded', 'MaxPublicKeysExceeded', 'MaxKeyAgreementKeysExceeded', 'BadDidOrigin', 'TransactionExpired', 'AlreadyDeleted', 'NotOwnerOfDeposit', 'UnableToPayFees', 'MaxNumberOfServicesExceeded', 'MaxServiceIdLengthExceeded', 'MaxServiceTypeLengthExceeded', 'MaxNumberOfTypesPerServiceExceeded', 'MaxServiceUrlLengthExceeded', 'MaxNumberOfUrlsPerServiceExceeded', 'ServiceAlreadyExists', 'ServiceNotFound', 'InvalidServiceEncoding', 'MaxStoredEndpointsCountExceeded', 'Internal'] }, /** - * Lookup424: pallet_did_lookup::connection_record::ConnectionRecord + * Lookup437: pallet_did_lookup::connection_record::ConnectionRecord **/ PalletDidLookupConnectionRecord: { did: 'AccountId32', deposit: 'KiltSupportDeposit' }, /** - * Lookup426: pallet_did_lookup::migration_state::MigrationState - **/ - PalletDidLookupMigrationState: { - _enum: { - Done: 'Null', - PreUpgrade: 'Null', - Upgrading: 'PalletDidLookupMigrationsMixedStorageKey' - } - }, - /** - * Lookup427: pallet_did_lookup::migrations::MixedStorageKey - **/ - PalletDidLookupMigrationsMixedStorageKey: { - _enum: { - V1: 'AccountId32', - V2: 'PalletDidLookupLinkableAccountLinkableAccountId' - } - }, - /** - * Lookup428: pallet_did_lookup::pallet::Error + * Lookup439: pallet_did_lookup::pallet::Error **/ PalletDidLookupError: { _enum: ['NotFound', 'NotAuthorized', 'OutdatedProof', 'InsufficientFunds', 'Migration'] }, /** - * Lookup429: pallet_web3_names::web3_name::Web3NameOwnership, BlockNumber> + * Lookup440: pallet_web3_names::web3_name::Web3NameOwnership, BlockNumber> **/ PalletWeb3NamesWeb3NameWeb3NameOwnership: { owner: 'AccountId32', @@ -3807,13 +3670,13 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup430: pallet_web3_names::pallet::Error + * Lookup441: pallet_web3_names::pallet::Error **/ PalletWeb3NamesError: { _enum: ['InsufficientFunds', 'AlreadyExists', 'NotFound', 'OwnerAlreadyExists', 'OwnerNotFound', 'Banned', 'NotBanned', 'AlreadyBanned', 'NotAuthorized', 'TooShort', 'TooLong', 'InvalidCharacter'] }, /** - * Lookup432: public_credentials::credentials::CredentialEntry> + * Lookup443: public_credentials::credentials::CredentialEntry> **/ PublicCredentialsCredentialsCredentialEntry: { ctypeHash: 'H256', @@ -3824,19 +3687,19 @@ export default { authorizationId: 'Option' }, /** - * Lookup433: public_credentials::pallet::Error + * Lookup444: public_credentials::pallet::Error **/ PublicCredentialsError: { _enum: ['AlreadyAttested', 'NotFound', 'UnableToPayFees', 'InvalidInput', 'NotAuthorized', 'Internal'] }, /** - * Lookup435: polkadot_primitives::v2::UpgradeRestriction + * Lookup446: polkadot_primitives::v2::UpgradeRestriction **/ PolkadotPrimitivesV2UpgradeRestriction: { _enum: ['Present'] }, /** - * Lookup436: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot + * Lookup447: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot **/ CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { dmqMqcHead: 'H256', @@ -3845,7 +3708,7 @@ export default { egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>' }, /** - * Lookup440: polkadot_primitives::v2::AbridgedHrmpChannel + * Lookup451: polkadot_primitives::v2::AbridgedHrmpChannel **/ PolkadotPrimitivesV2AbridgedHrmpChannel: { maxCapacity: 'u32', @@ -3856,7 +3719,7 @@ export default { mqcHead: 'Option' }, /** - * Lookup441: polkadot_primitives::v2::AbridgedHostConfiguration + * Lookup452: polkadot_primitives::v2::AbridgedHostConfiguration **/ PolkadotPrimitivesV2AbridgedHostConfiguration: { maxCodeSize: 'u32', @@ -3870,20 +3733,27 @@ export default { validationUpgradeDelay: 'u32' }, /** - * Lookup447: polkadot_core_primitives::OutboundHrmpMessage + * Lookup458: polkadot_core_primitives::OutboundHrmpMessage **/ PolkadotCorePrimitivesOutboundHrmpMessage: { recipient: 'u32', data: 'Bytes' }, /** - * Lookup448: cumulus_pallet_parachain_system::pallet::Error + * Lookup459: cumulus_pallet_parachain_system::CodeUpgradeAuthorization + **/ + CumulusPalletParachainSystemCodeUpgradeAuthorization: { + codeHash: 'H256', + checkVersion: 'bool' + }, + /** + * Lookup460: cumulus_pallet_parachain_system::pallet::Error **/ CumulusPalletParachainSystemError: { _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized'] }, /** - * Lookup450: cumulus_pallet_xcmp_queue::InboundChannelDetails + * Lookup462: cumulus_pallet_xcmp_queue::InboundChannelDetails **/ CumulusPalletXcmpQueueInboundChannelDetails: { sender: 'u32', @@ -3891,19 +3761,19 @@ export default { messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>' }, /** - * Lookup451: cumulus_pallet_xcmp_queue::InboundState + * Lookup463: cumulus_pallet_xcmp_queue::InboundState **/ CumulusPalletXcmpQueueInboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup454: polkadot_parachain::primitives::XcmpMessageFormat + * Lookup466: polkadot_parachain::primitives::XcmpMessageFormat **/ PolkadotParachainPrimitivesXcmpMessageFormat: { _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals'] }, /** - * Lookup457: cumulus_pallet_xcmp_queue::OutboundChannelDetails + * Lookup469: cumulus_pallet_xcmp_queue::OutboundChannelDetails **/ CumulusPalletXcmpQueueOutboundChannelDetails: { recipient: 'u32', @@ -3913,13 +3783,13 @@ export default { lastIndex: 'u16' }, /** - * Lookup458: cumulus_pallet_xcmp_queue::OutboundState + * Lookup470: cumulus_pallet_xcmp_queue::OutboundState **/ CumulusPalletXcmpQueueOutboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup460: cumulus_pallet_xcmp_queue::QueueConfigData + * Lookup472: cumulus_pallet_xcmp_queue::QueueConfigData **/ CumulusPalletXcmpQueueQueueConfigData: { suspendThreshold: 'u32', @@ -3930,29 +3800,29 @@ export default { xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight' }, /** - * Lookup462: cumulus_pallet_xcmp_queue::pallet::Error + * Lookup474: cumulus_pallet_xcmp_queue::pallet::Error **/ CumulusPalletXcmpQueueError: { _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit'] }, /** - * Lookup463: pallet_xcm::pallet::Error + * Lookup475: pallet_xcm::pallet::Error **/ PalletXcmError: { _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed', 'InvalidAsset', 'LowBalance', 'TooManyLocks', 'AccountNotSovereign', 'FeesNotMet', 'LockNotFound', 'InUse'] }, /** - * Lookup464: cumulus_pallet_xcm::pallet::Error + * Lookup476: cumulus_pallet_xcm::pallet::Error **/ CumulusPalletXcmError: 'Null', /** - * Lookup465: cumulus_pallet_dmp_queue::ConfigData + * Lookup477: cumulus_pallet_dmp_queue::ConfigData **/ CumulusPalletDmpQueueConfigData: { maxIndividual: 'SpWeightsWeightV2Weight' }, /** - * Lookup466: cumulus_pallet_dmp_queue::PageIndexData + * Lookup478: cumulus_pallet_dmp_queue::PageIndexData **/ CumulusPalletDmpQueuePageIndexData: { beginUsed: 'u32', @@ -3960,37 +3830,37 @@ export default { overweightCount: 'u64' }, /** - * Lookup469: cumulus_pallet_dmp_queue::pallet::Error + * Lookup481: cumulus_pallet_dmp_queue::pallet::Error **/ CumulusPalletDmpQueueError: { _enum: ['Unknown', 'OverLimit'] }, /** - * Lookup472: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender + * Lookup484: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender **/ FrameSystemExtensionsCheckNonZeroSender: 'Null', /** - * Lookup473: frame_system::extensions::check_spec_version::CheckSpecVersion + * Lookup485: frame_system::extensions::check_spec_version::CheckSpecVersion **/ FrameSystemExtensionsCheckSpecVersion: 'Null', /** - * Lookup474: frame_system::extensions::check_tx_version::CheckTxVersion + * Lookup486: frame_system::extensions::check_tx_version::CheckTxVersion **/ FrameSystemExtensionsCheckTxVersion: 'Null', /** - * Lookup475: frame_system::extensions::check_genesis::CheckGenesis + * Lookup487: frame_system::extensions::check_genesis::CheckGenesis **/ FrameSystemExtensionsCheckGenesis: 'Null', /** - * Lookup478: frame_system::extensions::check_nonce::CheckNonce + * Lookup490: frame_system::extensions::check_nonce::CheckNonce **/ FrameSystemExtensionsCheckNonce: 'Compact', /** - * Lookup479: frame_system::extensions::check_weight::CheckWeight + * Lookup491: frame_system::extensions::check_weight::CheckWeight **/ FrameSystemExtensionsCheckWeight: 'Null', /** - * Lookup480: pallet_transaction_payment::ChargeTransactionPayment + * Lookup492: pallet_transaction_payment::ChargeTransactionPayment **/ PalletTransactionPaymentChargeTransactionPayment: 'Compact' }; diff --git a/packages/augment-api/src/interfaces/registry.ts b/packages/augment-api/src/interfaces/registry.ts index 6bf52aa68..49c126966 100644 --- a/packages/augment-api/src/interfaces/registry.ts +++ b/packages/augment-api/src/interfaces/registry.ts @@ -5,7 +5,7 @@ // this is required to allow for ambient/previous definitions import '@polkadot/types/types/registry'; -import type { AttestationAttestationsAttestationDetails, AttestationCall, AttestationError, AttestationEvent, CtypeCall, CtypeCtypeEntry, CtypeError, CtypeEvent, CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, DelegationAccessControlDelegationAc, DelegationCall, DelegationDelegationHierarchyDelegationDetails, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DelegationDelegationHierarchyPermissions, DelegationError, DelegationEvent, DidCall, DidDidDetails, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidPublicKey, DidDidDetailsDidPublicKeyDetails, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidError, DidEvent, DidOriginDidRawOrigin, DidServiceEndpointsDidEndpoint, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, KiltAssetDidsAssetV1AssetId, KiltAssetDidsAssetV1EvmSmartContractFungibleReference, KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference, KiltAssetDidsAssetV1GenericAssetId, KiltAssetDidsChainV1ChainId, KiltAssetDidsChainV1GenericChainId, KiltAssetDidsChainV1GenesisHexHash32Reference, KiltAssetDidsV1AssetDid, KiltSupportDeposit, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupAccountAccountId20, PalletDidLookupAccountEthereumSignature, PalletDidLookupAssociateAccountRequest, PalletDidLookupCall, PalletDidLookupConnectionRecord, PalletDidLookupError, PalletDidLookupEvent, PalletDidLookupLinkableAccountLinkableAccountId, PalletDidLookupMigrationState, PalletDidLookupMigrationsMixedStorageKey, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletTimestampCall, PalletTipsCall, PalletTipsError, PalletTipsEvent, PalletTipsOpenTip, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesCall, PalletWeb3NamesError, PalletWeb3NamesEvent, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, ParachainStakingCall, ParachainStakingCandidate, ParachainStakingCandidateStatus, ParachainStakingDelegationCounter, ParachainStakingError, ParachainStakingEvent, ParachainStakingInflationInflationInfo, ParachainStakingInflationRewardRate, ParachainStakingInflationStakingInfo, ParachainStakingRoundInfo, ParachainStakingSetOrderedSet, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCall, PublicCredentialsCredentialsCredential, PublicCredentialsCredentialsCredentialEntry, PublicCredentialsError, PublicCredentialsEvent, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonAuthorizationPalletAuthorize, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaPublic, SpCoreEcdsaSignature, SpCoreEd25519Public, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeRuntime, SpiritnetRuntimeSessionKeys, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3VecPalletInfo, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { AttestationAttestationsAttestationDetails, AttestationCall, AttestationError, AttestationEvent, CtypeCall, CtypeCtypeEntry, CtypeError, CtypeEvent, CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, DelegationAccessControlDelegationAc, DelegationCall, DelegationDelegationHierarchyDelegationDetails, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DelegationDelegationHierarchyPermissions, DelegationError, DelegationEvent, DidCall, DidDidDetails, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidPublicKey, DidDidDetailsDidPublicKeyDetails, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidError, DidEvent, DidOriginDidRawOrigin, DidServiceEndpointsDidEndpoint, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, KiltAssetDidsAssetV1AssetId, KiltAssetDidsAssetV1EvmSmartContractFungibleReference, KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference, KiltAssetDidsAssetV1GenericAssetId, KiltAssetDidsChainV1ChainId, KiltAssetDidsChainV1GenericChainId, KiltAssetDidsChainV1GenesisHexHash32Reference, KiltAssetDidsV1AssetDid, KiltSupportDeposit, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupAccountAccountId20, PalletDidLookupAccountEthereumSignature, PalletDidLookupAssociateAccountRequest, PalletDidLookupCall, PalletDidLookupConnectionRecord, PalletDidLookupError, PalletDidLookupEvent, PalletDidLookupLinkableAccountLinkableAccountId, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletMultisigCall, PalletMultisigError, PalletMultisigEvent, PalletMultisigMultisig, PalletMultisigTimepoint, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletTimestampCall, PalletTipsCall, PalletTipsError, PalletTipsEvent, PalletTipsOpenTip, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesCall, PalletWeb3NamesError, PalletWeb3NamesEvent, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, ParachainStakingCall, ParachainStakingCandidate, ParachainStakingCandidateStatus, ParachainStakingDelegationCounter, ParachainStakingError, ParachainStakingEvent, ParachainStakingInflationInflationInfo, ParachainStakingInflationRewardRate, ParachainStakingInflationStakingInfo, ParachainStakingRoundInfo, ParachainStakingSetOrderedSet, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCall, PublicCredentialsCredentialsCredential, PublicCredentialsCredentialsCredentialEntry, PublicCredentialsError, PublicCredentialsEvent, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonAuthorizationPalletAuthorize, RuntimeCommonConstantsDelegationMaxChildren, RuntimeCommonConstantsDidMaxNewKeyAgreementKeys, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaPublic, SpCoreEcdsaSignature, SpCoreEd25519Public, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeRuntime, SpiritnetRuntimeSessionKeys, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; declare module '@polkadot/types/types/registry' { interface InterfaceTypes { @@ -23,6 +23,7 @@ declare module '@polkadot/types/types/registry' { CumulusPalletDmpQueueEvent: CumulusPalletDmpQueueEvent; CumulusPalletDmpQueuePageIndexData: CumulusPalletDmpQueuePageIndexData; CumulusPalletParachainSystemCall: CumulusPalletParachainSystemCall; + CumulusPalletParachainSystemCodeUpgradeAuthorization: CumulusPalletParachainSystemCodeUpgradeAuthorization; CumulusPalletParachainSystemError: CumulusPalletParachainSystemError; CumulusPalletParachainSystemEvent: CumulusPalletParachainSystemEvent; CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot; @@ -111,6 +112,7 @@ declare module '@polkadot/types/types/registry' { PalletDemocracyDelegations: PalletDemocracyDelegations; PalletDemocracyError: PalletDemocracyError; PalletDemocracyEvent: PalletDemocracyEvent; + PalletDemocracyMetadataOwner: PalletDemocracyMetadataOwner; PalletDemocracyReferendumInfo: PalletDemocracyReferendumInfo; PalletDemocracyReferendumStatus: PalletDemocracyReferendumStatus; PalletDemocracyTally: PalletDemocracyTally; @@ -126,14 +128,17 @@ declare module '@polkadot/types/types/registry' { PalletDidLookupError: PalletDidLookupError; PalletDidLookupEvent: PalletDidLookupEvent; PalletDidLookupLinkableAccountLinkableAccountId: PalletDidLookupLinkableAccountLinkableAccountId; - PalletDidLookupMigrationState: PalletDidLookupMigrationState; - PalletDidLookupMigrationsMixedStorageKey: PalletDidLookupMigrationsMixedStorageKey; PalletIndicesCall: PalletIndicesCall; PalletIndicesError: PalletIndicesError; PalletIndicesEvent: PalletIndicesEvent; PalletMembershipCall: PalletMembershipCall; PalletMembershipError: PalletMembershipError; PalletMembershipEvent: PalletMembershipEvent; + PalletMultisigCall: PalletMultisigCall; + PalletMultisigError: PalletMultisigError; + PalletMultisigEvent: PalletMultisigEvent; + PalletMultisigMultisig: PalletMultisigMultisig; + PalletMultisigTimepoint: PalletMultisigTimepoint; PalletPreimageCall: PalletPreimageCall; PalletPreimageError: PalletPreimageError; PalletPreimageEvent: PalletPreimageEvent; @@ -207,6 +212,8 @@ declare module '@polkadot/types/types/registry' { RuntimeCommonAssetsAssetDid: RuntimeCommonAssetsAssetDid; RuntimeCommonAuthorizationAuthorizationId: RuntimeCommonAuthorizationAuthorizationId; RuntimeCommonAuthorizationPalletAuthorize: RuntimeCommonAuthorizationPalletAuthorize; + RuntimeCommonConstantsDelegationMaxChildren: RuntimeCommonConstantsDelegationMaxChildren; + RuntimeCommonConstantsDidMaxNewKeyAgreementKeys: RuntimeCommonConstantsDidMaxNewKeyAgreementKeys; SpArithmeticArithmeticError: SpArithmeticArithmeticError; SpConsensusAuraSr25519AppSr25519Public: SpConsensusAuraSr25519AppSr25519Public; SpCoreCryptoKeyTypeId: SpCoreCryptoKeyTypeId; @@ -274,7 +281,6 @@ declare module '@polkadot/types/types/registry' { XcmV3Response: XcmV3Response; XcmV3TraitsError: XcmV3TraitsError; XcmV3TraitsOutcome: XcmV3TraitsOutcome; - XcmV3VecPalletInfo: XcmV3VecPalletInfo; XcmV3WeightLimit: XcmV3WeightLimit; XcmV3Xcm: XcmV3Xcm; XcmVersionedMultiAssets: XcmVersionedMultiAssets; diff --git a/packages/augment-api/src/interfaces/types-lookup.ts b/packages/augment-api/src/interfaces/types-lookup.ts index cf6f588f8..cfa2145b5 100644 --- a/packages/augment-api/src/interfaces/types-lookup.ts +++ b/packages/augment-api/src/interfaces/types-lookup.ts @@ -389,7 +389,23 @@ declare module '@polkadot/types/lookup' { readonly asProposalCanceled: { readonly propIndex: u32; } & Struct; - readonly type: 'Proposed' | 'Tabled' | 'ExternalTabled' | 'Started' | 'Passed' | 'NotPassed' | 'Cancelled' | 'Delegated' | 'Undelegated' | 'Vetoed' | 'Blacklisted' | 'Voted' | 'Seconded' | 'ProposalCanceled'; + readonly isMetadataSet: boolean; + readonly asMetadataSet: { + readonly owner: PalletDemocracyMetadataOwner; + readonly hash_: H256; + } & Struct; + readonly isMetadataCleared: boolean; + readonly asMetadataCleared: { + readonly owner: PalletDemocracyMetadataOwner; + readonly hash_: H256; + } & Struct; + readonly isMetadataTransferred: boolean; + readonly asMetadataTransferred: { + readonly prevOwner: PalletDemocracyMetadataOwner; + readonly owner: PalletDemocracyMetadataOwner; + readonly hash_: H256; + } & Struct; + readonly type: 'Proposed' | 'Tabled' | 'ExternalTabled' | 'Started' | 'Passed' | 'NotPassed' | 'Cancelled' | 'Delegated' | 'Undelegated' | 'Vetoed' | 'Blacklisted' | 'Voted' | 'Seconded' | 'ProposalCanceled' | 'MetadataSet' | 'MetadataCleared' | 'MetadataTransferred'; } /** @name PalletDemocracyVoteThreshold (37) */ @@ -415,7 +431,17 @@ declare module '@polkadot/types/lookup' { readonly type: 'Standard' | 'Split'; } - /** @name PalletCollectiveEvent (40) */ + /** @name PalletDemocracyMetadataOwner (40) */ + interface PalletDemocracyMetadataOwner extends Enum { + readonly isExternal: boolean; + readonly isProposal: boolean; + readonly asProposal: u32; + readonly isReferendum: boolean; + readonly asReferendum: u32; + readonly type: 'External' | 'Proposal' | 'Referendum'; + } + + /** @name PalletCollectiveEvent (41) */ interface PalletCollectiveEvent extends Enum { readonly isProposed: boolean; readonly asProposed: { @@ -459,7 +485,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proposed' | 'Voted' | 'Approved' | 'Disapproved' | 'Executed' | 'MemberExecuted' | 'Closed'; } - /** @name PalletMembershipEvent (45) */ + /** @name PalletMembershipEvent (46) */ interface PalletMembershipEvent extends Enum { readonly isMemberAdded: boolean; readonly isMemberRemoved: boolean; @@ -470,7 +496,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'MemberAdded' | 'MemberRemoved' | 'MembersSwapped' | 'MembersReset' | 'KeyChanged' | 'Dummy'; } - /** @name PalletTreasuryEvent (46) */ + /** @name PalletTreasuryEvent (47) */ interface PalletTreasuryEvent extends Enum { readonly isProposed: boolean; readonly asProposed: { @@ -517,7 +543,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved' | 'UpdatedInactive'; } - /** @name PalletUtilityEvent (47) */ + /** @name PalletUtilityEvent (48) */ interface PalletUtilityEvent extends Enum { readonly isBatchInterrupted: boolean; readonly asBatchInterrupted: { @@ -538,7 +564,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'BatchInterrupted' | 'BatchCompleted' | 'BatchCompletedWithErrors' | 'ItemCompleted' | 'ItemFailed' | 'DispatchedAs'; } - /** @name PalletVestingEvent (48) */ + /** @name PalletVestingEvent (49) */ interface PalletVestingEvent extends Enum { readonly isVestingUpdated: boolean; readonly asVestingUpdated: { @@ -552,7 +578,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'VestingUpdated' | 'VestingCompleted'; } - /** @name PalletSchedulerEvent (49) */ + /** @name PalletSchedulerEvent (50) */ interface PalletSchedulerEvent extends Enum { readonly isScheduled: boolean; readonly asScheduled: { @@ -588,7 +614,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallUnavailable' | 'PeriodicFailed' | 'PermanentlyOverweight'; } - /** @name PalletProxyEvent (52) */ + /** @name PalletProxyEvent (53) */ interface PalletProxyEvent extends Enum { readonly isProxyExecuted: boolean; readonly asProxyExecuted: { @@ -624,7 +650,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ProxyExecuted' | 'PureCreated' | 'Announced' | 'ProxyAdded' | 'ProxyRemoved'; } - /** @name SpiritnetRuntimeProxyType (53) */ + /** @name SpiritnetRuntimeProxyType (54) */ interface SpiritnetRuntimeProxyType extends Enum { readonly isAny: boolean; readonly isNonTransfer: boolean; @@ -635,7 +661,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming'; } - /** @name PalletPreimageEvent (55) */ + /** @name PalletPreimageEvent (56) */ interface PalletPreimageEvent extends Enum { readonly isNoted: boolean; readonly asNoted: { @@ -652,7 +678,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noted' | 'Requested' | 'Cleared'; } - /** @name PalletTipsEvent (57) */ + /** @name PalletTipsEvent (58) */ interface PalletTipsEvent extends Enum { readonly isNewTip: boolean; readonly asNewTip: { @@ -681,7 +707,46 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewTip' | 'TipClosing' | 'TipClosed' | 'TipRetracted' | 'TipSlashed'; } - /** @name CtypeEvent (58) */ + /** @name PalletMultisigEvent (59) */ + interface PalletMultisigEvent extends Enum { + readonly isNewMultisig: boolean; + readonly asNewMultisig: { + readonly approving: AccountId32; + readonly multisig: AccountId32; + readonly callHash: U8aFixed; + } & Struct; + readonly isMultisigApproval: boolean; + readonly asMultisigApproval: { + readonly approving: AccountId32; + readonly timepoint: PalletMultisigTimepoint; + readonly multisig: AccountId32; + readonly callHash: U8aFixed; + } & Struct; + readonly isMultisigExecuted: boolean; + readonly asMultisigExecuted: { + readonly approving: AccountId32; + readonly timepoint: PalletMultisigTimepoint; + readonly multisig: AccountId32; + readonly callHash: U8aFixed; + readonly result: Result; + } & Struct; + readonly isMultisigCancelled: boolean; + readonly asMultisigCancelled: { + readonly cancelling: AccountId32; + readonly timepoint: PalletMultisigTimepoint; + readonly multisig: AccountId32; + readonly callHash: U8aFixed; + } & Struct; + readonly type: 'NewMultisig' | 'MultisigApproval' | 'MultisigExecuted' | 'MultisigCancelled'; + } + + /** @name PalletMultisigTimepoint (60) */ + interface PalletMultisigTimepoint extends Struct { + readonly height: u64; + readonly index: u32; + } + + /** @name CtypeEvent (61) */ interface CtypeEvent extends Enum { readonly isCTypeCreated: boolean; readonly asCTypeCreated: ITuple<[AccountId32, H256]>; @@ -690,7 +755,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CTypeCreated' | 'CTypeUpdated'; } - /** @name AttestationEvent (59) */ + /** @name AttestationEvent (62) */ interface AttestationEvent extends Enum { readonly isAttestationCreated: boolean; readonly asAttestationCreated: ITuple<[AccountId32, H256, H256, Option]>; @@ -703,14 +768,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'AttestationCreated' | 'AttestationRevoked' | 'AttestationRemoved' | 'DepositReclaimed'; } - /** @name RuntimeCommonAuthorizationAuthorizationId (61) */ + /** @name RuntimeCommonAuthorizationAuthorizationId (64) */ interface RuntimeCommonAuthorizationAuthorizationId extends Enum { readonly isDelegation: boolean; readonly asDelegation: H256; readonly type: 'Delegation'; } - /** @name DelegationEvent (62) */ + /** @name DelegationEvent (65) */ interface DelegationEvent extends Enum { readonly isHierarchyCreated: boolean; readonly asHierarchyCreated: ITuple<[AccountId32, H256, H256]>; @@ -729,12 +794,12 @@ declare module '@polkadot/types/lookup' { readonly type: 'HierarchyCreated' | 'HierarchyRevoked' | 'HierarchyRemoved' | 'DelegationCreated' | 'DelegationRevoked' | 'DelegationRemoved' | 'DepositReclaimed'; } - /** @name DelegationDelegationHierarchyPermissions (63) */ + /** @name DelegationDelegationHierarchyPermissions (66) */ interface DelegationDelegationHierarchyPermissions extends Struct { readonly bits: u32; } - /** @name DidEvent (64) */ + /** @name DidEvent (67) */ interface DidEvent extends Enum { readonly isDidCreated: boolean; readonly asDidCreated: ITuple<[AccountId32, AccountId32]>; @@ -747,7 +812,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'DidCreated' | 'DidUpdated' | 'DidDeleted' | 'DidCallDispatched'; } - /** @name PalletDidLookupEvent (65) */ + /** @name PalletDidLookupEvent (68) */ interface PalletDidLookupEvent extends Enum { readonly isAssociationEstablished: boolean; readonly asAssociationEstablished: ITuple<[PalletDidLookupLinkableAccountLinkableAccountId, AccountId32]>; @@ -758,7 +823,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AssociationEstablished' | 'AssociationRemoved' | 'MigrationProgress' | 'MigrationCompleted'; } - /** @name PalletDidLookupLinkableAccountLinkableAccountId (66) */ + /** @name PalletDidLookupLinkableAccountLinkableAccountId (69) */ interface PalletDidLookupLinkableAccountLinkableAccountId extends Enum { readonly isAccountId20: boolean; readonly asAccountId20: PalletDidLookupAccountAccountId20; @@ -767,10 +832,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'AccountId20' | 'AccountId32'; } - /** @name PalletDidLookupAccountAccountId20 (67) */ + /** @name PalletDidLookupAccountAccountId20 (70) */ interface PalletDidLookupAccountAccountId20 extends U8aFixed {} - /** @name PalletWeb3NamesEvent (69) */ + /** @name PalletWeb3NamesEvent (72) */ interface PalletWeb3NamesEvent extends Enum { readonly isWeb3NameClaimed: boolean; readonly asWeb3NameClaimed: { @@ -793,7 +858,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Web3NameClaimed' | 'Web3NameReleased' | 'Web3NameBanned' | 'Web3NameUnbanned'; } - /** @name PublicCredentialsEvent (72) */ + /** @name PublicCredentialsEvent (75) */ interface PublicCredentialsEvent extends Enum { readonly isCredentialStored: boolean; readonly asCredentialStored: { @@ -816,16 +881,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'CredentialStored' | 'CredentialRemoved' | 'CredentialRevoked' | 'CredentialUnrevoked'; } - /** @name RuntimeCommonAssetsAssetDid (73) */ + /** @name RuntimeCommonAssetsAssetDid (76) */ interface RuntimeCommonAssetsAssetDid extends KiltAssetDidsV1AssetDid {} - /** @name KiltAssetDidsV1AssetDid (74) */ + /** @name KiltAssetDidsV1AssetDid (77) */ interface KiltAssetDidsV1AssetDid extends Struct { readonly chainId: KiltAssetDidsChainV1ChainId; readonly assetId: KiltAssetDidsAssetV1AssetId; } - /** @name KiltAssetDidsChainV1ChainId (75) */ + /** @name KiltAssetDidsChainV1ChainId (78) */ interface KiltAssetDidsChainV1ChainId extends Enum { readonly isEip155: boolean; readonly asEip155: u128; @@ -840,16 +905,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Eip155' | 'Bip122' | 'Dotsama' | 'Solana' | 'Generic'; } - /** @name KiltAssetDidsChainV1GenesisHexHash32Reference (77) */ + /** @name KiltAssetDidsChainV1GenesisHexHash32Reference (80) */ interface KiltAssetDidsChainV1GenesisHexHash32Reference extends U8aFixed {} - /** @name KiltAssetDidsChainV1GenericChainId (81) */ + /** @name KiltAssetDidsChainV1GenericChainId (84) */ interface KiltAssetDidsChainV1GenericChainId extends Struct { readonly namespace: Bytes; readonly reference: Bytes; } - /** @name KiltAssetDidsAssetV1AssetId (85) */ + /** @name KiltAssetDidsAssetV1AssetId (88) */ interface KiltAssetDidsAssetV1AssetId extends Enum { readonly isSlip44: boolean; readonly asSlip44: U256; @@ -864,20 +929,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'Slip44' | 'Erc20' | 'Erc721' | 'Erc1155' | 'Generic'; } - /** @name KiltAssetDidsAssetV1EvmSmartContractFungibleReference (89) */ + /** @name KiltAssetDidsAssetV1EvmSmartContractFungibleReference (92) */ interface KiltAssetDidsAssetV1EvmSmartContractFungibleReference extends U8aFixed {} - /** @name KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference (90) */ + /** @name KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference (93) */ interface KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference extends ITuple<[KiltAssetDidsAssetV1EvmSmartContractFungibleReference, Option]> {} - /** @name KiltAssetDidsAssetV1GenericAssetId (94) */ + /** @name KiltAssetDidsAssetV1GenericAssetId (97) */ interface KiltAssetDidsAssetV1GenericAssetId extends Struct { readonly namespace: Bytes; readonly reference: Bytes; readonly id: Option; } - /** @name CumulusPalletParachainSystemEvent (100) */ + /** @name CumulusPalletParachainSystemEvent (103) */ interface CumulusPalletParachainSystemEvent extends Enum { readonly isValidationFunctionStored: boolean; readonly isValidationFunctionApplied: boolean; @@ -905,7 +970,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed' | 'UpwardMessageSent'; } - /** @name CumulusPalletXcmpQueueEvent (101) */ + /** @name CumulusPalletXcmpQueueEvent (104) */ interface CumulusPalletXcmpQueueEvent extends Enum { readonly isSuccess: boolean; readonly asSuccess: { @@ -945,7 +1010,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced'; } - /** @name XcmV3TraitsError (102) */ + /** @name XcmV3TraitsError (105) */ interface XcmV3TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; @@ -992,7 +1057,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'LocationFull' | 'LocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'ExpectationFalse' | 'PalletNotFound' | 'NameMismatch' | 'VersionIncompatible' | 'HoldingWouldOverflow' | 'ExportError' | 'ReanchorFailed' | 'NoDeal' | 'FeesNotMet' | 'LockError' | 'NoPermission' | 'Unanchored' | 'NotDepositable' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable' | 'ExceedsStackLimit'; } - /** @name PalletXcmEvent (104) */ + /** @name PalletXcmEvent (107) */ interface PalletXcmEvent extends Enum { readonly isAttempted: boolean; readonly asAttempted: XcmV3TraitsOutcome; @@ -1043,7 +1108,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'InvalidQuerierVersion' | 'InvalidQuerier' | 'VersionNotifyStarted' | 'VersionNotifyRequested' | 'VersionNotifyUnrequested' | 'FeesPaid' | 'AssetsClaimed'; } - /** @name XcmV3TraitsOutcome (105) */ + /** @name XcmV3TraitsOutcome (108) */ interface XcmV3TraitsOutcome extends Enum { readonly isComplete: boolean; readonly asComplete: SpWeightsWeightV2Weight; @@ -1054,13 +1119,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Complete' | 'Incomplete' | 'Error'; } - /** @name XcmV3MultiLocation (106) */ + /** @name XcmV3MultiLocation (109) */ interface XcmV3MultiLocation extends Struct { readonly parents: u8; readonly interior: XcmV3Junctions; } - /** @name XcmV3Junctions (107) */ + /** @name XcmV3Junctions (110) */ interface XcmV3Junctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; @@ -1082,7 +1147,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; } - /** @name XcmV3Junction (108) */ + /** @name XcmV3Junction (111) */ interface XcmV3Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; @@ -1121,7 +1186,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality' | 'GlobalConsensus'; } - /** @name XcmV3JunctionNetworkId (111) */ + /** @name XcmV3JunctionNetworkId (114) */ interface XcmV3JunctionNetworkId extends Enum { readonly isByGenesis: boolean; readonly asByGenesis: U8aFixed; @@ -1144,7 +1209,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ByGenesis' | 'ByFork' | 'Polkadot' | 'Kusama' | 'Westend' | 'Rococo' | 'Wococo' | 'Ethereum' | 'BitcoinCore' | 'BitcoinCash'; } - /** @name XcmV3JunctionBodyId (113) */ + /** @name XcmV3JunctionBodyId (116) */ interface XcmV3JunctionBodyId extends Enum { readonly isUnit: boolean; readonly isMoniker: boolean; @@ -1161,7 +1226,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unit' | 'Moniker' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; } - /** @name XcmV3JunctionBodyPart (114) */ + /** @name XcmV3JunctionBodyPart (117) */ interface XcmV3JunctionBodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; @@ -1186,10 +1251,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; } - /** @name XcmV3Xcm (115) */ + /** @name XcmV3Xcm (118) */ interface XcmV3Xcm extends Vec {} - /** @name XcmV3Instruction (117) */ + /** @name XcmV3Instruction (120) */ interface XcmV3Instruction extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: XcmV3MultiassetMultiAssets; @@ -1371,16 +1436,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'ReportHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion' | 'BurnAsset' | 'ExpectAsset' | 'ExpectOrigin' | 'ExpectError' | 'ExpectTransactStatus' | 'QueryPallet' | 'ExpectPallet' | 'ReportTransactStatus' | 'ClearTransactStatus' | 'UniversalOrigin' | 'ExportMessage' | 'LockAsset' | 'UnlockAsset' | 'NoteUnlockable' | 'RequestUnlock' | 'SetFeesMode' | 'SetTopic' | 'ClearTopic' | 'AliasOrigin' | 'UnpaidExecution'; } - /** @name XcmV3MultiassetMultiAssets (118) */ + /** @name XcmV3MultiassetMultiAssets (121) */ interface XcmV3MultiassetMultiAssets extends Vec {} - /** @name XcmV3MultiAsset (120) */ + /** @name XcmV3MultiAsset (123) */ interface XcmV3MultiAsset extends Struct { readonly id: XcmV3MultiassetAssetId; readonly fun: XcmV3MultiassetFungibility; } - /** @name XcmV3MultiassetAssetId (121) */ + /** @name XcmV3MultiassetAssetId (124) */ interface XcmV3MultiassetAssetId extends Enum { readonly isConcrete: boolean; readonly asConcrete: XcmV3MultiLocation; @@ -1389,7 +1454,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Concrete' | 'Abstract'; } - /** @name XcmV3MultiassetFungibility (122) */ + /** @name XcmV3MultiassetFungibility (125) */ interface XcmV3MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; @@ -1398,7 +1463,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV3MultiassetAssetInstance (123) */ + /** @name XcmV3MultiassetAssetInstance (126) */ interface XcmV3MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -1414,7 +1479,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32'; } - /** @name XcmV3Response (125) */ + /** @name XcmV3Response (128) */ interface XcmV3Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; @@ -1424,16 +1489,13 @@ declare module '@polkadot/types/lookup' { readonly isVersion: boolean; readonly asVersion: u32; readonly isPalletsInfo: boolean; - readonly asPalletsInfo: XcmV3VecPalletInfo; + readonly asPalletsInfo: Vec; readonly isDispatchResult: boolean; readonly asDispatchResult: XcmV3MaybeErrorCode; readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version' | 'PalletsInfo' | 'DispatchResult'; } - /** @name XcmV3VecPalletInfo (128) */ - interface XcmV3VecPalletInfo extends Vec {} - - /** @name XcmV3PalletInfo (130) */ + /** @name XcmV3PalletInfo (132) */ interface XcmV3PalletInfo extends Struct { readonly index: Compact; readonly name: Bytes; @@ -1443,7 +1505,7 @@ declare module '@polkadot/types/lookup' { readonly patch: Compact; } - /** @name XcmV3MaybeErrorCode (131) */ + /** @name XcmV3MaybeErrorCode (135) */ interface XcmV3MaybeErrorCode extends Enum { readonly isSuccess: boolean; readonly isError: boolean; @@ -1453,7 +1515,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Success' | 'Error' | 'TruncatedError'; } - /** @name XcmV2OriginKind (133) */ + /** @name XcmV2OriginKind (138) */ interface XcmV2OriginKind extends Enum { readonly isNative: boolean; readonly isSovereignAccount: boolean; @@ -1462,19 +1524,19 @@ declare module '@polkadot/types/lookup' { readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm'; } - /** @name XcmDoubleEncoded (134) */ + /** @name XcmDoubleEncoded (139) */ interface XcmDoubleEncoded extends Struct { readonly encoded: Bytes; } - /** @name XcmV3QueryResponseInfo (135) */ + /** @name XcmV3QueryResponseInfo (140) */ interface XcmV3QueryResponseInfo extends Struct { readonly destination: XcmV3MultiLocation; readonly queryId: Compact; readonly maxWeight: SpWeightsWeightV2Weight; } - /** @name XcmV3MultiassetMultiAssetFilter (136) */ + /** @name XcmV3MultiassetMultiAssetFilter (141) */ interface XcmV3MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; readonly asDefinite: XcmV3MultiassetMultiAssets; @@ -1483,7 +1545,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Definite' | 'Wild'; } - /** @name XcmV3MultiassetWildMultiAsset (137) */ + /** @name XcmV3MultiassetWildMultiAsset (142) */ interface XcmV3MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; @@ -1502,14 +1564,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'All' | 'AllOf' | 'AllCounted' | 'AllOfCounted'; } - /** @name XcmV3MultiassetWildFungibility (138) */ + /** @name XcmV3MultiassetWildFungibility (143) */ interface XcmV3MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV3WeightLimit (139) */ + /** @name XcmV3WeightLimit (144) */ interface XcmV3WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; @@ -1517,7 +1579,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unlimited' | 'Limited'; } - /** @name XcmVersionedMultiAssets (140) */ + /** @name XcmVersionedMultiAssets (145) */ interface XcmVersionedMultiAssets extends Enum { readonly isV2: boolean; readonly asV2: XcmV2MultiassetMultiAssets; @@ -1526,16 +1588,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'V2' | 'V3'; } - /** @name XcmV2MultiassetMultiAssets (141) */ + /** @name XcmV2MultiassetMultiAssets (146) */ interface XcmV2MultiassetMultiAssets extends Vec {} - /** @name XcmV2MultiAsset (143) */ + /** @name XcmV2MultiAsset (148) */ interface XcmV2MultiAsset extends Struct { readonly id: XcmV2MultiassetAssetId; readonly fun: XcmV2MultiassetFungibility; } - /** @name XcmV2MultiassetAssetId (144) */ + /** @name XcmV2MultiassetAssetId (149) */ interface XcmV2MultiassetAssetId extends Enum { readonly isConcrete: boolean; readonly asConcrete: XcmV2MultiLocation; @@ -1544,13 +1606,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Concrete' | 'Abstract'; } - /** @name XcmV2MultiLocation (145) */ + /** @name XcmV2MultiLocation (150) */ interface XcmV2MultiLocation extends Struct { readonly parents: u8; readonly interior: XcmV2MultilocationJunctions; } - /** @name XcmV2MultilocationJunctions (146) */ + /** @name XcmV2MultilocationJunctions (151) */ interface XcmV2MultilocationJunctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; @@ -1572,7 +1634,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; } - /** @name XcmV2Junction (147) */ + /** @name XcmV2Junction (152) */ interface XcmV2Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; @@ -1606,7 +1668,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; } - /** @name XcmV2NetworkId (148) */ + /** @name XcmV2NetworkId (153) */ interface XcmV2NetworkId extends Enum { readonly isAny: boolean; readonly isNamed: boolean; @@ -1616,7 +1678,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama'; } - /** @name XcmV2BodyId (150) */ + /** @name XcmV2BodyId (155) */ interface XcmV2BodyId extends Enum { readonly isUnit: boolean; readonly isNamed: boolean; @@ -1633,7 +1695,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; } - /** @name XcmV2BodyPart (151) */ + /** @name XcmV2BodyPart (156) */ interface XcmV2BodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; @@ -1658,7 +1720,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; } - /** @name XcmV2MultiassetFungibility (152) */ + /** @name XcmV2MultiassetFungibility (157) */ interface XcmV2MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; @@ -1667,7 +1729,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV2MultiassetAssetInstance (153) */ + /** @name XcmV2MultiassetAssetInstance (158) */ interface XcmV2MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -1685,7 +1747,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob'; } - /** @name XcmVersionedMultiLocation (154) */ + /** @name XcmVersionedMultiLocation (159) */ interface XcmVersionedMultiLocation extends Enum { readonly isV2: boolean; readonly asV2: XcmV2MultiLocation; @@ -1694,7 +1756,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'V2' | 'V3'; } - /** @name CumulusPalletXcmEvent (155) */ + /** @name CumulusPalletXcmEvent (160) */ interface CumulusPalletXcmEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: U8aFixed; @@ -1705,7 +1767,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward'; } - /** @name CumulusPalletDmpQueueEvent (156) */ + /** @name CumulusPalletDmpQueueEvent (161) */ interface CumulusPalletDmpQueueEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: { @@ -1737,10 +1799,14 @@ declare module '@polkadot/types/lookup' { readonly overweightIndex: u64; readonly weightUsed: SpWeightsWeightV2Weight; } & Struct; - readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced'; + readonly isMaxMessagesExhausted: boolean; + readonly asMaxMessagesExhausted: { + readonly messageId: U8aFixed; + } & Struct; + readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced' | 'MaxMessagesExhausted'; } - /** @name FrameSystemPhase (157) */ + /** @name FrameSystemPhase (162) */ interface FrameSystemPhase extends Enum { readonly isApplyExtrinsic: boolean; readonly asApplyExtrinsic: u32; @@ -1749,13 +1815,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; } - /** @name FrameSystemLastRuntimeUpgradeInfo (160) */ + /** @name FrameSystemLastRuntimeUpgradeInfo (165) */ interface FrameSystemLastRuntimeUpgradeInfo extends Struct { readonly specVersion: Compact; readonly specName: Text; } - /** @name FrameSystemCall (162) */ + /** @name FrameSystemCall (167) */ interface FrameSystemCall extends Enum { readonly isRemark: boolean; readonly asRemark: { @@ -1793,21 +1859,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent'; } - /** @name FrameSystemLimitsBlockWeights (166) */ + /** @name FrameSystemLimitsBlockWeights (171) */ interface FrameSystemLimitsBlockWeights extends Struct { readonly baseBlock: SpWeightsWeightV2Weight; readonly maxBlock: SpWeightsWeightV2Weight; readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; } - /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (167) */ + /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (172) */ interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { readonly normal: FrameSystemLimitsWeightsPerClass; readonly operational: FrameSystemLimitsWeightsPerClass; readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name FrameSystemLimitsWeightsPerClass (168) */ + /** @name FrameSystemLimitsWeightsPerClass (173) */ interface FrameSystemLimitsWeightsPerClass extends Struct { readonly baseExtrinsic: SpWeightsWeightV2Weight; readonly maxExtrinsic: Option; @@ -1815,25 +1881,25 @@ declare module '@polkadot/types/lookup' { readonly reserved: Option; } - /** @name FrameSystemLimitsBlockLength (170) */ + /** @name FrameSystemLimitsBlockLength (175) */ interface FrameSystemLimitsBlockLength extends Struct { readonly max: FrameSupportDispatchPerDispatchClassU32; } - /** @name FrameSupportDispatchPerDispatchClassU32 (171) */ + /** @name FrameSupportDispatchPerDispatchClassU32 (176) */ interface FrameSupportDispatchPerDispatchClassU32 extends Struct { readonly normal: u32; readonly operational: u32; readonly mandatory: u32; } - /** @name SpWeightsRuntimeDbWeight (172) */ + /** @name SpWeightsRuntimeDbWeight (177) */ interface SpWeightsRuntimeDbWeight extends Struct { readonly read: u64; readonly write: u64; } - /** @name SpVersionRuntimeVersion (173) */ + /** @name SpVersionRuntimeVersion (178) */ interface SpVersionRuntimeVersion extends Struct { readonly specName: Text; readonly implName: Text; @@ -1845,7 +1911,7 @@ declare module '@polkadot/types/lookup' { readonly stateVersion: u8; } - /** @name FrameSystemError (177) */ + /** @name FrameSystemError (182) */ interface FrameSystemError extends Enum { readonly isInvalidSpecName: boolean; readonly isSpecVersionNeedsToIncrease: boolean; @@ -1856,7 +1922,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered'; } - /** @name PalletTimestampCall (179) */ + /** @name PalletTimestampCall (183) */ interface PalletTimestampCall extends Enum { readonly isSet: boolean; readonly asSet: { @@ -1865,7 +1931,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Set'; } - /** @name PalletIndicesCall (181) */ + /** @name PalletIndicesCall (185) */ interface PalletIndicesCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -1893,7 +1959,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'Transfer' | 'Free' | 'ForceTransfer' | 'Freeze'; } - /** @name PalletIndicesError (184) */ + /** @name PalletIndicesError (188) */ interface PalletIndicesError extends Enum { readonly isNotAssigned: boolean; readonly isNotOwner: boolean; @@ -1903,14 +1969,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotAssigned' | 'NotOwner' | 'InUse' | 'NotTransfer' | 'Permanent'; } - /** @name PalletBalancesBalanceLock (186) */ + /** @name PalletBalancesBalanceLock (190) */ interface PalletBalancesBalanceLock extends Struct { readonly id: U8aFixed; readonly amount: u128; readonly reasons: PalletBalancesReasons; } - /** @name PalletBalancesReasons (187) */ + /** @name PalletBalancesReasons (191) */ interface PalletBalancesReasons extends Enum { readonly isFee: boolean; readonly isMisc: boolean; @@ -1918,13 +1984,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fee' | 'Misc' | 'All'; } - /** @name PalletBalancesReserveData (190) */ + /** @name PalletBalancesReserveData (194) */ interface PalletBalancesReserveData extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name PalletBalancesCall (192) */ + /** @name PalletBalancesCall (196) */ interface PalletBalancesCall extends Enum { readonly isTransfer: boolean; readonly asTransfer: { @@ -1961,7 +2027,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve'; } - /** @name PalletBalancesError (193) */ + /** @name PalletBalancesError (197) */ interface PalletBalancesError extends Enum { readonly isVestingBalance: boolean; readonly isLiquidityRestrictions: boolean; @@ -1974,28 +2040,28 @@ declare module '@polkadot/types/lookup' { readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves'; } - /** @name PalletTransactionPaymentReleases (195) */ + /** @name PalletTransactionPaymentReleases (199) */ interface PalletTransactionPaymentReleases extends Enum { readonly isV1Ancient: boolean; readonly isV2: boolean; readonly type: 'V1Ancient' | 'V2'; } - /** @name SpConsensusAuraSr25519AppSr25519Public (197) */ + /** @name SpConsensusAuraSr25519AppSr25519Public (201) */ interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {} - /** @name SpCoreSr25519Public (198) */ + /** @name SpCoreSr25519Public (202) */ interface SpCoreSr25519Public extends U8aFixed {} - /** @name SpiritnetRuntimeSessionKeys (204) */ + /** @name SpiritnetRuntimeSessionKeys (208) */ interface SpiritnetRuntimeSessionKeys extends Struct { readonly aura: SpConsensusAuraSr25519AppSr25519Public; } - /** @name SpCoreCryptoKeyTypeId (207) */ + /** @name SpCoreCryptoKeyTypeId (211) */ interface SpCoreCryptoKeyTypeId extends U8aFixed {} - /** @name PalletSessionCall (208) */ + /** @name PalletSessionCall (212) */ interface PalletSessionCall extends Enum { readonly isSetKeys: boolean; readonly asSetKeys: { @@ -2006,7 +2072,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetKeys' | 'PurgeKeys'; } - /** @name PalletSessionError (209) */ + /** @name PalletSessionError (213) */ interface PalletSessionError extends Enum { readonly isInvalidProof: boolean; readonly isNoAssociatedValidatorId: boolean; @@ -2016,26 +2082,26 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount'; } - /** @name ParachainStakingRoundInfo (210) */ + /** @name ParachainStakingRoundInfo (214) */ interface ParachainStakingRoundInfo extends Struct { readonly current: u32; readonly first: u64; readonly length: u64; } - /** @name ParachainStakingDelegationCounter (211) */ + /** @name ParachainStakingDelegationCounter (215) */ interface ParachainStakingDelegationCounter extends Struct { readonly round: u32; readonly counter: u32; } - /** @name ParachainStakingStake (212) */ + /** @name ParachainStakingStake (216) */ interface ParachainStakingStake extends Struct { readonly owner: AccountId32; readonly amount: u128; } - /** @name ParachainStakingCandidate (213) */ + /** @name ParachainStakingCandidate (217) */ interface ParachainStakingCandidate extends Struct { readonly id: AccountId32; readonly stake: u128; @@ -2044,10 +2110,10 @@ declare module '@polkadot/types/lookup' { readonly status: ParachainStakingCandidateStatus; } - /** @name ParachainStakingSetOrderedSet (214) */ + /** @name ParachainStakingSetOrderedSet (218) */ interface ParachainStakingSetOrderedSet extends Vec {} - /** @name ParachainStakingCandidateStatus (217) */ + /** @name ParachainStakingCandidateStatus (221) */ interface ParachainStakingCandidateStatus extends Enum { readonly isActive: boolean; readonly isLeaving: boolean; @@ -2055,31 +2121,31 @@ declare module '@polkadot/types/lookup' { readonly type: 'Active' | 'Leaving'; } - /** @name ParachainStakingTotalStake (218) */ + /** @name ParachainStakingTotalStake (222) */ interface ParachainStakingTotalStake extends Struct { readonly collators: u128; readonly delegators: u128; } - /** @name ParachainStakingInflationInflationInfo (221) */ + /** @name ParachainStakingInflationInflationInfo (225) */ interface ParachainStakingInflationInflationInfo extends Struct { readonly collator: ParachainStakingInflationStakingInfo; readonly delegator: ParachainStakingInflationStakingInfo; } - /** @name ParachainStakingInflationStakingInfo (222) */ + /** @name ParachainStakingInflationStakingInfo (226) */ interface ParachainStakingInflationStakingInfo extends Struct { readonly maxRate: Perquintill; readonly rewardRate: ParachainStakingInflationRewardRate; } - /** @name ParachainStakingInflationRewardRate (223) */ + /** @name ParachainStakingInflationRewardRate (227) */ interface ParachainStakingInflationRewardRate extends Struct { readonly annual: Perquintill; readonly perBlock: Perquintill; } - /** @name ParachainStakingCall (228) */ + /** @name ParachainStakingCall (232) */ interface ParachainStakingCall extends Enum { readonly isForceNewRound: boolean; readonly isSetInflation: boolean; @@ -2148,7 +2214,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ForceNewRound' | 'SetInflation' | 'SetMaxSelectedCandidates' | 'SetBlocksPerRound' | 'SetMaxCandidateStake' | 'ForceRemoveCandidate' | 'JoinCandidates' | 'InitLeaveCandidates' | 'ExecuteLeaveCandidates' | 'CancelLeaveCandidates' | 'CandidateStakeMore' | 'CandidateStakeLess' | 'JoinDelegators' | 'LeaveDelegators' | 'DelegatorStakeMore' | 'DelegatorStakeLess' | 'UnlockUnstaked' | 'ClaimRewards' | 'IncrementCollatorRewards' | 'IncrementDelegatorRewards' | 'ExecuteScheduledRewardChange'; } - /** @name ParachainStakingError (229) */ + /** @name ParachainStakingError (233) */ interface ParachainStakingError extends Enum { readonly isDelegatorNotFound: boolean; readonly isCandidateNotFound: boolean; @@ -2184,7 +2250,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'DelegatorNotFound' | 'CandidateNotFound' | 'DelegatorExists' | 'CandidateExists' | 'ValStakeZero' | 'ValStakeBelowMin' | 'ValStakeAboveMax' | 'DelegationBelowMin' | 'AlreadyLeaving' | 'NotLeaving' | 'CannotLeaveYet' | 'CannotJoinBeforeUnlocking' | 'AlreadyDelegating' | 'NotYetDelegating' | 'DelegationsPerRoundExceeded' | 'TooManyDelegators' | 'TooFewCollatorCandidates' | 'CannotStakeIfLeaving' | 'CannotDelegateIfLeaving' | 'MaxCollatorsPerDelegatorExceeded' | 'AlreadyDelegatedCollator' | 'DelegationNotFound' | 'Underflow' | 'CannotSetAboveMax' | 'CannotSetBelowMin' | 'InvalidSchedule' | 'NoMoreUnstaking' | 'TooEarly' | 'StakeNotFound' | 'UnstakingIsEmpty' | 'RewardsNotFound'; } - /** @name FrameSupportPreimagesBounded (232) */ + /** @name FrameSupportPreimagesBounded (236) */ interface FrameSupportPreimagesBounded extends Enum { readonly isLegacy: boolean; readonly asLegacy: { @@ -2200,7 +2266,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Legacy' | 'Inline' | 'Lookup'; } - /** @name PalletDemocracyCall (234) */ + /** @name PalletDemocracyCall (238) */ interface PalletDemocracyCall extends Enum { readonly isPropose: boolean; readonly asPropose: { @@ -2276,10 +2342,15 @@ declare module '@polkadot/types/lookup' { readonly asCancelProposal: { readonly propIndex: Compact; } & Struct; - readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'Blacklist' | 'CancelProposal'; + readonly isSetMetadata: boolean; + readonly asSetMetadata: { + readonly owner: PalletDemocracyMetadataOwner; + readonly maybeHash: Option; + } & Struct; + readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'Blacklist' | 'CancelProposal' | 'SetMetadata'; } - /** @name PalletDemocracyConviction (235) */ + /** @name PalletDemocracyConviction (239) */ interface PalletDemocracyConviction extends Enum { readonly isNone: boolean; readonly isLocked1x: boolean; @@ -2291,7 +2362,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x'; } - /** @name PalletCollectiveCall (237) */ + /** @name PalletCollectiveCall (242) */ interface PalletCollectiveCall extends Enum { readonly isSetMembers: boolean; readonly asSetMembers: { @@ -2337,7 +2408,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'CloseOldWeight' | 'DisapproveProposal' | 'Close'; } - /** @name PalletMembershipCall (242) */ + /** @name PalletMembershipCall (247) */ interface PalletMembershipCall extends Enum { readonly isAddMember: boolean; readonly asAddMember: { @@ -2368,7 +2439,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AddMember' | 'RemoveMember' | 'SwapMember' | 'ResetMembers' | 'ChangeKey' | 'SetPrime' | 'ClearPrime'; } - /** @name PalletTreasuryCall (243) */ + /** @name PalletTreasuryCall (248) */ interface PalletTreasuryCall extends Enum { readonly isProposeSpend: boolean; readonly asProposeSpend: { @@ -2395,7 +2466,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval'; } - /** @name PalletUtilityCall (244) */ + /** @name PalletUtilityCall (249) */ interface PalletUtilityCall extends Enum { readonly isBatch: boolean; readonly asBatch: { @@ -2427,7 +2498,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Batch' | 'AsDerivative' | 'BatchAll' | 'DispatchAs' | 'ForceBatch' | 'WithWeight'; } - /** @name SpiritnetRuntimeOriginCaller (246) */ + /** @name SpiritnetRuntimeOriginCaller (251) */ interface SpiritnetRuntimeOriginCaller extends Enum { readonly isSystem: boolean; readonly asSystem: FrameSupportDispatchRawOrigin; @@ -2445,7 +2516,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'System' | 'Void' | 'Council' | 'TechnicalCommittee' | 'Did' | 'PolkadotXcm' | 'CumulusXcm'; } - /** @name FrameSupportDispatchRawOrigin (247) */ + /** @name FrameSupportDispatchRawOrigin (252) */ interface FrameSupportDispatchRawOrigin extends Enum { readonly isRoot: boolean; readonly isSigned: boolean; @@ -2454,7 +2525,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Root' | 'Signed' | 'None'; } - /** @name PalletCollectiveRawOrigin (248) */ + /** @name PalletCollectiveRawOrigin (253) */ interface PalletCollectiveRawOrigin extends Enum { readonly isMembers: boolean; readonly asMembers: ITuple<[u32, u32]>; @@ -2464,13 +2535,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Members' | 'Member' | 'Phantom'; } - /** @name DidOriginDidRawOrigin (250) */ + /** @name DidOriginDidRawOrigin (255) */ interface DidOriginDidRawOrigin extends Struct { readonly id: AccountId32; readonly submitter: AccountId32; } - /** @name PalletXcmOrigin (251) */ + /** @name PalletXcmOrigin (256) */ interface PalletXcmOrigin extends Enum { readonly isXcm: boolean; readonly asXcm: XcmV3MultiLocation; @@ -2479,7 +2550,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Xcm' | 'Response'; } - /** @name CumulusPalletXcmOrigin (252) */ + /** @name CumulusPalletXcmOrigin (257) */ interface CumulusPalletXcmOrigin extends Enum { readonly isRelay: boolean; readonly isSiblingParachain: boolean; @@ -2487,10 +2558,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Relay' | 'SiblingParachain'; } - /** @name SpCoreVoid (253) */ + /** @name SpCoreVoid (258) */ type SpCoreVoid = Null; - /** @name PalletVestingCall (254) */ + /** @name PalletVestingCall (259) */ interface PalletVestingCall extends Enum { readonly isVest: boolean; readonly isVestOther: boolean; @@ -2516,14 +2587,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Vest' | 'VestOther' | 'VestedTransfer' | 'ForceVestedTransfer' | 'MergeSchedules'; } - /** @name PalletVestingVestingInfo (255) */ + /** @name PalletVestingVestingInfo (260) */ interface PalletVestingVestingInfo extends Struct { readonly locked: u128; readonly perBlock: u128; readonly startingBlock: u64; } - /** @name PalletSchedulerCall (256) */ + /** @name PalletSchedulerCall (261) */ interface PalletSchedulerCall extends Enum { readonly isSchedule: boolean; readonly asSchedule: { @@ -2567,7 +2638,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Schedule' | 'Cancel' | 'ScheduleNamed' | 'CancelNamed' | 'ScheduleAfter' | 'ScheduleNamedAfter'; } - /** @name PalletProxyCall (258) */ + /** @name PalletProxyCall (263) */ interface PalletProxyCall extends Enum { readonly isProxy: boolean; readonly asProxy: { @@ -2627,7 +2698,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proxy' | 'AddProxy' | 'RemoveProxy' | 'RemoveProxies' | 'CreatePure' | 'KillPure' | 'Announce' | 'RemoveAnnouncement' | 'RejectAnnouncement' | 'ProxyAnnounced'; } - /** @name PalletPreimageCall (260) */ + /** @name PalletPreimageCall (265) */ interface PalletPreimageCall extends Enum { readonly isNotePreimage: boolean; readonly asNotePreimage: { @@ -2648,7 +2719,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage'; } - /** @name PalletTipsCall (262) */ + /** @name PalletTipsCall (267) */ interface PalletTipsCall extends Enum { readonly isReportAwesome: boolean; readonly asReportAwesome: { @@ -2681,7 +2752,40 @@ declare module '@polkadot/types/lookup' { readonly type: 'ReportAwesome' | 'RetractTip' | 'TipNew' | 'Tip' | 'CloseTip' | 'SlashTip'; } - /** @name CtypeCall (263) */ + /** @name PalletMultisigCall (268) */ + interface PalletMultisigCall extends Enum { + readonly isAsMultiThreshold1: boolean; + readonly asAsMultiThreshold1: { + readonly otherSignatories: Vec; + readonly call: Call; + } & Struct; + readonly isAsMulti: boolean; + readonly asAsMulti: { + readonly threshold: u16; + readonly otherSignatories: Vec; + readonly maybeTimepoint: Option; + readonly call: Call; + readonly maxWeight: SpWeightsWeightV2Weight; + } & Struct; + readonly isApproveAsMulti: boolean; + readonly asApproveAsMulti: { + readonly threshold: u16; + readonly otherSignatories: Vec; + readonly maybeTimepoint: Option; + readonly callHash: U8aFixed; + readonly maxWeight: SpWeightsWeightV2Weight; + } & Struct; + readonly isCancelAsMulti: boolean; + readonly asCancelAsMulti: { + readonly threshold: u16; + readonly otherSignatories: Vec; + readonly timepoint: PalletMultisigTimepoint; + readonly callHash: U8aFixed; + } & Struct; + readonly type: 'AsMultiThreshold1' | 'AsMulti' | 'ApproveAsMulti' | 'CancelAsMulti'; + } + + /** @name CtypeCall (270) */ interface CtypeCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -2695,7 +2799,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'SetBlockNumber'; } - /** @name AttestationCall (264) */ + /** @name AttestationCall (271) */ interface AttestationCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -2728,23 +2832,23 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'Revoke' | 'Remove' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name RuntimeCommonAuthorizationPalletAuthorize (266) */ + /** @name RuntimeCommonAuthorizationPalletAuthorize (273) */ interface RuntimeCommonAuthorizationPalletAuthorize extends Enum { readonly isDelegation: boolean; readonly asDelegation: DelegationAccessControlDelegationAc; readonly type: 'Delegation'; } - /** @name DelegationAccessControlDelegationAc (267) */ + /** @name DelegationAccessControlDelegationAc (274) */ interface DelegationAccessControlDelegationAc extends Struct { readonly subjectNodeId: H256; readonly maxChecks: u32; } - /** @name SpiritnetRuntimeRuntime (268) */ + /** @name SpiritnetRuntimeRuntime (275) */ type SpiritnetRuntimeRuntime = Null; - /** @name DelegationCall (269) */ + /** @name DelegationCall (276) */ interface DelegationCall extends Enum { readonly isCreateHierarchy: boolean; readonly asCreateHierarchy: { @@ -2786,7 +2890,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CreateHierarchy' | 'AddDelegation' | 'RevokeDelegation' | 'RemoveDelegation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name DidDidDetailsDidSignature (270) */ + /** @name DidDidDetailsDidSignature (277) */ interface DidDidDetailsDidSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -2797,16 +2901,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name SpCoreEd25519Signature (271) */ + /** @name SpCoreEd25519Signature (278) */ interface SpCoreEd25519Signature extends U8aFixed {} - /** @name SpCoreSr25519Signature (273) */ + /** @name SpCoreSr25519Signature (280) */ interface SpCoreSr25519Signature extends U8aFixed {} - /** @name SpCoreEcdsaSignature (274) */ + /** @name SpCoreEcdsaSignature (281) */ interface SpCoreEcdsaSignature extends U8aFixed {} - /** @name DidCall (276) */ + /** @name DidCall (283) */ interface DidCall extends Enum { readonly isCreate: boolean; readonly asCreate: { @@ -2865,7 +2969,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Create' | 'SetAuthenticationKey' | 'SetDelegationKey' | 'RemoveDelegationKey' | 'SetAttestationKey' | 'RemoveAttestationKey' | 'AddKeyAgreementKey' | 'RemoveKeyAgreementKey' | 'AddServiceEndpoint' | 'RemoveServiceEndpoint' | 'Delete' | 'ReclaimDeposit' | 'SubmitDidCall' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name DidDidDetailsDidCreationDetails (277) */ + /** @name DidDidDetailsDidCreationDetails (284) */ interface DidDidDetailsDidCreationDetails extends Struct { readonly did: AccountId32; readonly submitter: AccountId32; @@ -2875,14 +2979,24 @@ declare module '@polkadot/types/lookup' { readonly newServiceDetails: Vec; } - /** @name DidDidDetailsDidEncryptionKey (279) */ + /** @name RuntimeCommonConstantsDidMaxNewKeyAgreementKeys (285) */ + type RuntimeCommonConstantsDidMaxNewKeyAgreementKeys = Null; + + /** @name DidServiceEndpointsDidEndpoint (286) */ + interface DidServiceEndpointsDidEndpoint extends Struct { + readonly id: Bytes; + readonly serviceTypes: Vec; + readonly urls: Vec; + } + + /** @name DidDidDetailsDidEncryptionKey (295) */ interface DidDidDetailsDidEncryptionKey extends Enum { readonly isX25519: boolean; readonly asX25519: U8aFixed; readonly type: 'X25519'; } - /** @name DidDidDetailsDidVerificationKey (283) */ + /** @name DidDidDetailsDidVerificationKey (299) */ interface DidDidDetailsDidVerificationKey extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Public; @@ -2893,20 +3007,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name SpCoreEd25519Public (284) */ + /** @name SpCoreEd25519Public (300) */ interface SpCoreEd25519Public extends U8aFixed {} - /** @name SpCoreEcdsaPublic (285) */ + /** @name SpCoreEcdsaPublic (301) */ interface SpCoreEcdsaPublic extends U8aFixed {} - /** @name DidServiceEndpointsDidEndpoint (288) */ - interface DidServiceEndpointsDidEndpoint extends Struct { - readonly id: Bytes; - readonly serviceTypes: Vec; - readonly urls: Vec; - } - - /** @name DidDidDetailsDidAuthorizedCallOperation (296) */ + /** @name DidDidDetailsDidAuthorizedCallOperation (304) */ interface DidDidDetailsDidAuthorizedCallOperation extends Struct { readonly did: AccountId32; readonly txCounter: u64; @@ -2915,7 +3022,7 @@ declare module '@polkadot/types/lookup' { readonly submitter: AccountId32; } - /** @name PalletDidLookupCall (297) */ + /** @name PalletDidLookupCall (305) */ interface PalletDidLookupCall extends Enum { readonly isAssociateAccount: boolean; readonly asAssociateAccount: { @@ -2940,14 +3047,10 @@ declare module '@polkadot/types/lookup' { readonly asUpdateDeposit: { readonly account: PalletDidLookupLinkableAccountLinkableAccountId; } & Struct; - readonly isMigrate: boolean; - readonly asMigrate: { - readonly limit: u32; - } & Struct; - readonly type: 'AssociateAccount' | 'AssociateSender' | 'RemoveSenderAssociation' | 'RemoveAccountAssociation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit' | 'Migrate'; + readonly type: 'AssociateAccount' | 'AssociateSender' | 'RemoveSenderAssociation' | 'RemoveAccountAssociation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PalletDidLookupAssociateAccountRequest (298) */ + /** @name PalletDidLookupAssociateAccountRequest (306) */ interface PalletDidLookupAssociateAccountRequest extends Enum { readonly isPolkadot: boolean; readonly asPolkadot: ITuple<[AccountId32, SpRuntimeMultiSignature]>; @@ -2956,7 +3059,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Polkadot' | 'Ethereum'; } - /** @name SpRuntimeMultiSignature (299) */ + /** @name SpRuntimeMultiSignature (307) */ interface SpRuntimeMultiSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -2967,10 +3070,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name PalletDidLookupAccountEthereumSignature (300) */ + /** @name PalletDidLookupAccountEthereumSignature (308) */ interface PalletDidLookupAccountEthereumSignature extends SpCoreEcdsaSignature {} - /** @name PalletWeb3NamesCall (301) */ + /** @name PalletWeb3NamesCall (309) */ interface PalletWeb3NamesCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -2997,7 +3100,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'ReleaseByOwner' | 'ReclaimDeposit' | 'Ban' | 'Unban' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PublicCredentialsCall (302) */ + /** @name PublicCredentialsCall (310) */ interface PublicCredentialsCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -3033,7 +3136,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'Revoke' | 'Unrevoke' | 'Remove' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PublicCredentialsCredentialsCredential (303) */ + /** @name PublicCredentialsCredentialsCredential (311) */ interface PublicCredentialsCredentialsCredential extends Struct { readonly ctypeHash: H256; readonly subject: Bytes; @@ -3041,7 +3144,7 @@ declare module '@polkadot/types/lookup' { readonly authorization: Option; } - /** @name CumulusPalletParachainSystemCall (306) */ + /** @name CumulusPalletParachainSystemCall (314) */ interface CumulusPalletParachainSystemCall extends Enum { readonly isSetValidationData: boolean; readonly asSetValidationData: { @@ -3054,6 +3157,7 @@ declare module '@polkadot/types/lookup' { readonly isAuthorizeUpgrade: boolean; readonly asAuthorizeUpgrade: { readonly codeHash: H256; + readonly checkVersion: bool; } & Struct; readonly isEnactAuthorizedUpgrade: boolean; readonly asEnactAuthorizedUpgrade: { @@ -3062,7 +3166,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade'; } - /** @name CumulusPrimitivesParachainInherentParachainInherentData (307) */ + /** @name CumulusPrimitivesParachainInherentParachainInherentData (315) */ interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { readonly validationData: PolkadotPrimitivesV2PersistedValidationData; readonly relayChainState: SpTrieStorageProof; @@ -3070,7 +3174,7 @@ declare module '@polkadot/types/lookup' { readonly horizontalMessages: BTreeMap>; } - /** @name PolkadotPrimitivesV2PersistedValidationData (308) */ + /** @name PolkadotPrimitivesV2PersistedValidationData (316) */ interface PolkadotPrimitivesV2PersistedValidationData extends Struct { readonly parentHead: Bytes; readonly relayParentNumber: u32; @@ -3078,24 +3182,24 @@ declare module '@polkadot/types/lookup' { readonly maxPovSize: u32; } - /** @name SpTrieStorageProof (310) */ + /** @name SpTrieStorageProof (318) */ interface SpTrieStorageProof extends Struct { readonly trieNodes: BTreeSet; } - /** @name PolkadotCorePrimitivesInboundDownwardMessage (313) */ + /** @name PolkadotCorePrimitivesInboundDownwardMessage (321) */ interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { readonly sentAt: u32; readonly msg: Bytes; } - /** @name PolkadotCorePrimitivesInboundHrmpMessage (316) */ + /** @name PolkadotCorePrimitivesInboundHrmpMessage (324) */ interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { readonly sentAt: u32; readonly data: Bytes; } - /** @name CumulusPalletXcmpQueueCall (319) */ + /** @name CumulusPalletXcmpQueueCall (327) */ interface CumulusPalletXcmpQueueCall extends Enum { readonly isServiceOverweight: boolean; readonly asServiceOverweight: { @@ -3131,7 +3235,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight'; } - /** @name PalletXcmCall (320) */ + /** @name PalletXcmCall (328) */ interface PalletXcmCall extends Enum { readonly isSend: boolean; readonly asSend: { @@ -3193,7 +3297,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets'; } - /** @name XcmVersionedXcm (321) */ + /** @name XcmVersionedXcm (329) */ interface XcmVersionedXcm extends Enum { readonly isV2: boolean; readonly asV2: XcmV2Xcm; @@ -3202,10 +3306,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'V2' | 'V3'; } - /** @name XcmV2Xcm (322) */ + /** @name XcmV2Xcm (330) */ interface XcmV2Xcm extends Vec {} - /** @name XcmV2Instruction (324) */ + /** @name XcmV2Instruction (332) */ interface XcmV2Instruction extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: XcmV2MultiassetMultiAssets; @@ -3325,7 +3429,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion'; } - /** @name XcmV2Response (325) */ + /** @name XcmV2Response (333) */ interface XcmV2Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; @@ -3337,7 +3441,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version'; } - /** @name XcmV2TraitsError (328) */ + /** @name XcmV2TraitsError (336) */ interface XcmV2TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; @@ -3370,7 +3474,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable'; } - /** @name XcmV2MultiassetMultiAssetFilter (329) */ + /** @name XcmV2MultiassetMultiAssetFilter (337) */ interface XcmV2MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; readonly asDefinite: XcmV2MultiassetMultiAssets; @@ -3379,7 +3483,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Definite' | 'Wild'; } - /** @name XcmV2MultiassetWildMultiAsset (330) */ + /** @name XcmV2MultiassetWildMultiAsset (338) */ interface XcmV2MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; @@ -3390,14 +3494,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'All' | 'AllOf'; } - /** @name XcmV2MultiassetWildFungibility (331) */ + /** @name XcmV2MultiassetWildFungibility (339) */ interface XcmV2MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV2WeightLimit (332) */ + /** @name XcmV2WeightLimit (340) */ interface XcmV2WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; @@ -3405,7 +3509,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unlimited' | 'Limited'; } - /** @name CumulusPalletDmpQueueCall (341) */ + /** @name CumulusPalletDmpQueueCall (349) */ interface CumulusPalletDmpQueueCall extends Enum { readonly isServiceOverweight: boolean; readonly asServiceOverweight: { @@ -3415,7 +3519,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ServiceOverweight'; } - /** @name PalletDemocracyReferendumInfo (345) */ + /** @name PalletDemocracyReferendumInfo (353) */ interface PalletDemocracyReferendumInfo extends Enum { readonly isOngoing: boolean; readonly asOngoing: PalletDemocracyReferendumStatus; @@ -3427,7 +3531,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ongoing' | 'Finished'; } - /** @name PalletDemocracyReferendumStatus (346) */ + /** @name PalletDemocracyReferendumStatus (354) */ interface PalletDemocracyReferendumStatus extends Struct { readonly end: u64; readonly proposal: FrameSupportPreimagesBounded; @@ -3436,14 +3540,14 @@ declare module '@polkadot/types/lookup' { readonly tally: PalletDemocracyTally; } - /** @name PalletDemocracyTally (347) */ + /** @name PalletDemocracyTally (355) */ interface PalletDemocracyTally extends Struct { readonly ayes: u128; readonly nays: u128; readonly turnout: u128; } - /** @name PalletDemocracyVoteVoting (348) */ + /** @name PalletDemocracyVoteVoting (356) */ interface PalletDemocracyVoteVoting extends Enum { readonly isDirect: boolean; readonly asDirect: { @@ -3462,16 +3566,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Direct' | 'Delegating'; } - /** @name PalletDemocracyDelegations (352) */ + /** @name PalletDemocracyDelegations (360) */ interface PalletDemocracyDelegations extends Struct { readonly votes: u128; readonly capital: u128; } - /** @name PalletDemocracyVotePriorLock (353) */ + /** @name PalletDemocracyVotePriorLock (361) */ interface PalletDemocracyVotePriorLock extends ITuple<[u64, u128]> {} - /** @name PalletDemocracyError (356) */ + /** @name PalletDemocracyError (364) */ interface PalletDemocracyError extends Enum { readonly isValueLow: boolean; readonly isProposalMissing: boolean; @@ -3496,10 +3600,11 @@ declare module '@polkadot/types/lookup' { readonly isMaxVotesReached: boolean; readonly isTooMany: boolean; readonly isVotingPeriodLow: boolean; - readonly type: 'ValueLow' | 'ProposalMissing' | 'AlreadyCanceled' | 'DuplicateProposal' | 'ProposalBlacklisted' | 'NotSimpleMajority' | 'InvalidHash' | 'NoProposal' | 'AlreadyVetoed' | 'ReferendumInvalid' | 'NoneWaiting' | 'NotVoter' | 'NoPermission' | 'AlreadyDelegating' | 'InsufficientFunds' | 'NotDelegating' | 'VotesExist' | 'InstantNotAllowed' | 'Nonsense' | 'WrongUpperBound' | 'MaxVotesReached' | 'TooMany' | 'VotingPeriodLow'; + readonly isPreimageNotExist: boolean; + readonly type: 'ValueLow' | 'ProposalMissing' | 'AlreadyCanceled' | 'DuplicateProposal' | 'ProposalBlacklisted' | 'NotSimpleMajority' | 'InvalidHash' | 'NoProposal' | 'AlreadyVetoed' | 'ReferendumInvalid' | 'NoneWaiting' | 'NotVoter' | 'NoPermission' | 'AlreadyDelegating' | 'InsufficientFunds' | 'NotDelegating' | 'VotesExist' | 'InstantNotAllowed' | 'Nonsense' | 'WrongUpperBound' | 'MaxVotesReached' | 'TooMany' | 'VotingPeriodLow' | 'PreimageNotExist'; } - /** @name PalletCollectiveVotes (358) */ + /** @name PalletCollectiveVotes (366) */ interface PalletCollectiveVotes extends Struct { readonly index: u32; readonly threshold: u32; @@ -3508,7 +3613,7 @@ declare module '@polkadot/types/lookup' { readonly end: u64; } - /** @name PalletCollectiveError (359) */ + /** @name PalletCollectiveError (367) */ interface PalletCollectiveError extends Enum { readonly isNotMember: boolean; readonly isDuplicateProposal: boolean; @@ -3523,7 +3628,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotMember' | 'DuplicateProposal' | 'ProposalMissing' | 'WrongIndex' | 'DuplicateVote' | 'AlreadyInitialized' | 'TooEarly' | 'TooManyProposals' | 'WrongProposalWeight' | 'WrongProposalLength'; } - /** @name PalletMembershipError (363) */ + /** @name PalletMembershipError (371) */ interface PalletMembershipError extends Enum { readonly isAlreadyMember: boolean; readonly isNotMember: boolean; @@ -3531,7 +3636,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyMember' | 'NotMember' | 'TooManyMembers'; } - /** @name PalletTreasuryProposal (364) */ + /** @name PalletTreasuryProposal (372) */ interface PalletTreasuryProposal extends Struct { readonly proposer: AccountId32; readonly value: u128; @@ -3539,10 +3644,10 @@ declare module '@polkadot/types/lookup' { readonly bond: u128; } - /** @name FrameSupportPalletId (368) */ + /** @name FrameSupportPalletId (376) */ interface FrameSupportPalletId extends U8aFixed {} - /** @name PalletTreasuryError (369) */ + /** @name PalletTreasuryError (377) */ interface PalletTreasuryError extends Enum { readonly isInsufficientProposersBalance: boolean; readonly isInvalidIndex: boolean; @@ -3552,20 +3657,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved'; } - /** @name PalletUtilityError (370) */ + /** @name PalletUtilityError (378) */ interface PalletUtilityError extends Enum { readonly isTooManyCalls: boolean; readonly type: 'TooManyCalls'; } - /** @name PalletVestingReleases (373) */ + /** @name PalletVestingReleases (381) */ interface PalletVestingReleases extends Enum { readonly isV0: boolean; readonly isV1: boolean; readonly type: 'V0' | 'V1'; } - /** @name PalletVestingError (374) */ + /** @name PalletVestingError (382) */ interface PalletVestingError extends Enum { readonly isNotVesting: boolean; readonly isAtMaxVestingSchedules: boolean; @@ -3575,7 +3680,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotVesting' | 'AtMaxVestingSchedules' | 'AmountLow' | 'ScheduleIndexOutOfBounds' | 'InvalidScheduleParams'; } - /** @name PalletSchedulerScheduled (377) */ + /** @name PalletSchedulerScheduled (385) */ interface PalletSchedulerScheduled extends Struct { readonly maybeId: Option; readonly priority: u8; @@ -3584,7 +3689,7 @@ declare module '@polkadot/types/lookup' { readonly origin: SpiritnetRuntimeOriginCaller; } - /** @name PalletSchedulerError (379) */ + /** @name PalletSchedulerError (387) */ interface PalletSchedulerError extends Enum { readonly isFailedToSchedule: boolean; readonly isNotFound: boolean; @@ -3594,21 +3699,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange' | 'Named'; } - /** @name PalletProxyProxyDefinition (382) */ + /** @name PalletProxyProxyDefinition (390) */ interface PalletProxyProxyDefinition extends Struct { readonly delegate: AccountId32; readonly proxyType: SpiritnetRuntimeProxyType; readonly delay: u64; } - /** @name PalletProxyAnnouncement (386) */ + /** @name PalletProxyAnnouncement (394) */ interface PalletProxyAnnouncement extends Struct { readonly real: AccountId32; readonly callHash: H256; readonly height: u64; } - /** @name PalletProxyError (388) */ + /** @name PalletProxyError (396) */ interface PalletProxyError extends Enum { readonly isTooMany: boolean; readonly isNotFound: boolean; @@ -3621,7 +3726,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooMany' | 'NotFound' | 'NotProxy' | 'Unproxyable' | 'Duplicate' | 'NoPermission' | 'Unannounced' | 'NoSelfProxy'; } - /** @name PalletPreimageRequestStatus (389) */ + /** @name PalletPreimageRequestStatus (397) */ interface PalletPreimageRequestStatus extends Enum { readonly isUnrequested: boolean; readonly asUnrequested: { @@ -3637,7 +3742,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unrequested' | 'Requested'; } - /** @name PalletPreimageError (394) */ + /** @name PalletPreimageError (402) */ interface PalletPreimageError extends Enum { readonly isTooBig: boolean; readonly isAlreadyNoted: boolean; @@ -3648,7 +3753,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooBig' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested'; } - /** @name PalletTipsOpenTip (396) */ + /** @name PalletTipsOpenTip (405) */ interface PalletTipsOpenTip extends Struct { readonly reason: H256; readonly who: AccountId32; @@ -3659,7 +3764,7 @@ declare module '@polkadot/types/lookup' { readonly findersFee: bool; } - /** @name PalletTipsError (400) */ + /** @name PalletTipsError (409) */ interface PalletTipsError extends Enum { readonly isReasonTooBig: boolean; readonly isAlreadyKnown: boolean; @@ -3670,13 +3775,40 @@ declare module '@polkadot/types/lookup' { readonly type: 'ReasonTooBig' | 'AlreadyKnown' | 'UnknownTip' | 'NotFinder' | 'StillOpen' | 'Premature'; } - /** @name CtypeCtypeEntry (401) */ + /** @name PalletMultisigMultisig (411) */ + interface PalletMultisigMultisig extends Struct { + readonly when: PalletMultisigTimepoint; + readonly deposit: u128; + readonly depositor: AccountId32; + readonly approvals: Vec; + } + + /** @name PalletMultisigError (413) */ + interface PalletMultisigError extends Enum { + readonly isMinimumThreshold: boolean; + readonly isAlreadyApproved: boolean; + readonly isNoApprovalsNeeded: boolean; + readonly isTooFewSignatories: boolean; + readonly isTooManySignatories: boolean; + readonly isSignatoriesOutOfOrder: boolean; + readonly isSenderInSignatories: boolean; + readonly isNotFound: boolean; + readonly isNotOwner: boolean; + readonly isNoTimepoint: boolean; + readonly isWrongTimepoint: boolean; + readonly isUnexpectedTimepoint: boolean; + readonly isMaxWeightTooLow: boolean; + readonly isAlreadyStored: boolean; + readonly type: 'MinimumThreshold' | 'AlreadyApproved' | 'NoApprovalsNeeded' | 'TooFewSignatories' | 'TooManySignatories' | 'SignatoriesOutOfOrder' | 'SenderInSignatories' | 'NotFound' | 'NotOwner' | 'NoTimepoint' | 'WrongTimepoint' | 'UnexpectedTimepoint' | 'MaxWeightTooLow' | 'AlreadyStored'; + } + + /** @name CtypeCtypeEntry (414) */ interface CtypeCtypeEntry extends Struct { readonly creator: AccountId32; readonly createdAt: u64; } - /** @name CtypeError (402) */ + /** @name CtypeError (415) */ interface CtypeError extends Enum { readonly isNotFound: boolean; readonly isAlreadyExists: boolean; @@ -3684,7 +3816,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotFound' | 'AlreadyExists' | 'UnableToPayFees'; } - /** @name AttestationAttestationsAttestationDetails (403) */ + /** @name AttestationAttestationsAttestationDetails (416) */ interface AttestationAttestationsAttestationDetails extends Struct { readonly ctypeHash: H256; readonly attester: AccountId32; @@ -3693,13 +3825,13 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name KiltSupportDeposit (404) */ + /** @name KiltSupportDeposit (417) */ interface KiltSupportDeposit extends Struct { readonly owner: AccountId32; readonly amount: u128; } - /** @name AttestationError (406) */ + /** @name AttestationError (419) */ interface AttestationError extends Enum { readonly isAlreadyAttested: boolean; readonly isAlreadyRevoked: boolean; @@ -3710,7 +3842,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyAttested' | 'AlreadyRevoked' | 'NotFound' | 'CTypeMismatch' | 'NotAuthorized' | 'MaxDelegatedAttestationsExceeded'; } - /** @name DelegationDelegationHierarchyDelegationNode (407) */ + /** @name DelegationDelegationHierarchyDelegationNode (420) */ interface DelegationDelegationHierarchyDelegationNode extends Struct { readonly hierarchyRootId: H256; readonly parent: Option; @@ -3719,19 +3851,22 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name DelegationDelegationHierarchyDelegationDetails (411) */ + /** @name RuntimeCommonConstantsDelegationMaxChildren (421) */ + type RuntimeCommonConstantsDelegationMaxChildren = Null; + + /** @name DelegationDelegationHierarchyDelegationDetails (422) */ interface DelegationDelegationHierarchyDelegationDetails extends Struct { readonly owner: AccountId32; readonly revoked: bool; readonly permissions: DelegationDelegationHierarchyPermissions; } - /** @name DelegationDelegationHierarchyDelegationHierarchyDetails (412) */ + /** @name DelegationDelegationHierarchyDelegationHierarchyDetails (425) */ interface DelegationDelegationHierarchyDelegationHierarchyDetails extends Struct { readonly ctypeHash: H256; } - /** @name DelegationError (413) */ + /** @name DelegationError (426) */ interface DelegationError extends Enum { readonly isDelegationAlreadyExists: boolean; readonly isInvalidDelegateSignature: boolean; @@ -3758,7 +3893,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'DelegationAlreadyExists' | 'InvalidDelegateSignature' | 'DelegationNotFound' | 'DelegateNotFound' | 'HierarchyAlreadyExists' | 'HierarchyNotFound' | 'MaxSearchDepthReached' | 'NotOwnerOfParentDelegation' | 'NotOwnerOfDelegationHierarchy' | 'ParentDelegationNotFound' | 'ParentDelegationRevoked' | 'UnauthorizedRevocation' | 'UnauthorizedRemoval' | 'UnauthorizedDelegation' | 'AccessDenied' | 'ExceededRevocationBounds' | 'ExceededRemovalBounds' | 'MaxRevocationsTooLarge' | 'MaxRemovalsTooLarge' | 'MaxParentChecksTooLarge' | 'Internal' | 'MaxChildrenExceeded'; } - /** @name DidDidDetails (414) */ + /** @name DidDidDetails (427) */ interface DidDidDetails extends Struct { readonly authenticationKey: H256; readonly keyAgreementKeys: BTreeSet; @@ -3769,13 +3904,13 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name DidDidDetailsDidPublicKeyDetails (417) */ + /** @name DidDidDetailsDidPublicKeyDetails (430) */ interface DidDidDetailsDidPublicKeyDetails extends Struct { readonly key: DidDidDetailsDidPublicKey; readonly blockNumber: u64; } - /** @name DidDidDetailsDidPublicKey (418) */ + /** @name DidDidDetailsDidPublicKey (431) */ interface DidDidDetailsDidPublicKey extends Enum { readonly isPublicVerificationKey: boolean; readonly asPublicVerificationKey: DidDidDetailsDidVerificationKey; @@ -3784,7 +3919,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'PublicVerificationKey' | 'PublicEncryptionKey'; } - /** @name DidError (423) */ + /** @name DidError (436) */ interface DidError extends Enum { readonly isInvalidSignatureFormat: boolean; readonly isInvalidSignature: boolean; @@ -3816,31 +3951,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidSignatureFormat' | 'InvalidSignature' | 'AlreadyExists' | 'NotFound' | 'VerificationKeyNotFound' | 'InvalidNonce' | 'UnsupportedDidAuthorizationCall' | 'InvalidDidAuthorizationCall' | 'MaxNewKeyAgreementKeysLimitExceeded' | 'MaxPublicKeysExceeded' | 'MaxKeyAgreementKeysExceeded' | 'BadDidOrigin' | 'TransactionExpired' | 'AlreadyDeleted' | 'NotOwnerOfDeposit' | 'UnableToPayFees' | 'MaxNumberOfServicesExceeded' | 'MaxServiceIdLengthExceeded' | 'MaxServiceTypeLengthExceeded' | 'MaxNumberOfTypesPerServiceExceeded' | 'MaxServiceUrlLengthExceeded' | 'MaxNumberOfUrlsPerServiceExceeded' | 'ServiceAlreadyExists' | 'ServiceNotFound' | 'InvalidServiceEncoding' | 'MaxStoredEndpointsCountExceeded' | 'Internal'; } - /** @name PalletDidLookupConnectionRecord (424) */ + /** @name PalletDidLookupConnectionRecord (437) */ interface PalletDidLookupConnectionRecord extends Struct { readonly did: AccountId32; readonly deposit: KiltSupportDeposit; } - /** @name PalletDidLookupMigrationState (426) */ - interface PalletDidLookupMigrationState extends Enum { - readonly isDone: boolean; - readonly isPreUpgrade: boolean; - readonly isUpgrading: boolean; - readonly asUpgrading: PalletDidLookupMigrationsMixedStorageKey; - readonly type: 'Done' | 'PreUpgrade' | 'Upgrading'; - } - - /** @name PalletDidLookupMigrationsMixedStorageKey (427) */ - interface PalletDidLookupMigrationsMixedStorageKey extends Enum { - readonly isV1: boolean; - readonly asV1: AccountId32; - readonly isV2: boolean; - readonly asV2: PalletDidLookupLinkableAccountLinkableAccountId; - readonly type: 'V1' | 'V2'; - } - - /** @name PalletDidLookupError (428) */ + /** @name PalletDidLookupError (439) */ interface PalletDidLookupError extends Enum { readonly isNotFound: boolean; readonly isNotAuthorized: boolean; @@ -3850,14 +3967,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotFound' | 'NotAuthorized' | 'OutdatedProof' | 'InsufficientFunds' | 'Migration'; } - /** @name PalletWeb3NamesWeb3NameWeb3NameOwnership (429) */ + /** @name PalletWeb3NamesWeb3NameWeb3NameOwnership (440) */ interface PalletWeb3NamesWeb3NameWeb3NameOwnership extends Struct { readonly owner: AccountId32; readonly claimedAt: u64; readonly deposit: KiltSupportDeposit; } - /** @name PalletWeb3NamesError (430) */ + /** @name PalletWeb3NamesError (441) */ interface PalletWeb3NamesError extends Enum { readonly isInsufficientFunds: boolean; readonly isAlreadyExists: boolean; @@ -3874,7 +3991,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InsufficientFunds' | 'AlreadyExists' | 'NotFound' | 'OwnerAlreadyExists' | 'OwnerNotFound' | 'Banned' | 'NotBanned' | 'AlreadyBanned' | 'NotAuthorized' | 'TooShort' | 'TooLong' | 'InvalidCharacter'; } - /** @name PublicCredentialsCredentialsCredentialEntry (432) */ + /** @name PublicCredentialsCredentialsCredentialEntry (443) */ interface PublicCredentialsCredentialsCredentialEntry extends Struct { readonly ctypeHash: H256; readonly attester: AccountId32; @@ -3884,7 +4001,7 @@ declare module '@polkadot/types/lookup' { readonly authorizationId: Option; } - /** @name PublicCredentialsError (433) */ + /** @name PublicCredentialsError (444) */ interface PublicCredentialsError extends Enum { readonly isAlreadyAttested: boolean; readonly isNotFound: boolean; @@ -3895,13 +4012,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyAttested' | 'NotFound' | 'UnableToPayFees' | 'InvalidInput' | 'NotAuthorized' | 'Internal'; } - /** @name PolkadotPrimitivesV2UpgradeRestriction (435) */ + /** @name PolkadotPrimitivesV2UpgradeRestriction (446) */ interface PolkadotPrimitivesV2UpgradeRestriction extends Enum { readonly isPresent: boolean; readonly type: 'Present'; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (436) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (447) */ interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { readonly dmqMqcHead: H256; readonly relayDispatchQueueSize: ITuple<[u32, u32]>; @@ -3909,7 +4026,7 @@ declare module '@polkadot/types/lookup' { readonly egressChannels: Vec>; } - /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (440) */ + /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (451) */ interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct { readonly maxCapacity: u32; readonly maxTotalSize: u32; @@ -3919,7 +4036,7 @@ declare module '@polkadot/types/lookup' { readonly mqcHead: Option; } - /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (441) */ + /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (452) */ interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct { readonly maxCodeSize: u32; readonly maxHeadDataSize: u32; @@ -3932,13 +4049,19 @@ declare module '@polkadot/types/lookup' { readonly validationUpgradeDelay: u32; } - /** @name PolkadotCorePrimitivesOutboundHrmpMessage (447) */ + /** @name PolkadotCorePrimitivesOutboundHrmpMessage (458) */ interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { readonly recipient: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemError (448) */ + /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (459) */ + interface CumulusPalletParachainSystemCodeUpgradeAuthorization extends Struct { + readonly codeHash: H256; + readonly checkVersion: bool; + } + + /** @name CumulusPalletParachainSystemError (460) */ interface CumulusPalletParachainSystemError extends Enum { readonly isOverlappingUpgrades: boolean; readonly isProhibitedByPolkadot: boolean; @@ -3951,21 +4074,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized'; } - /** @name CumulusPalletXcmpQueueInboundChannelDetails (450) */ + /** @name CumulusPalletXcmpQueueInboundChannelDetails (462) */ interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct { readonly sender: u32; readonly state: CumulusPalletXcmpQueueInboundState; readonly messageMetadata: Vec>; } - /** @name CumulusPalletXcmpQueueInboundState (451) */ + /** @name CumulusPalletXcmpQueueInboundState (463) */ interface CumulusPalletXcmpQueueInboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name PolkadotParachainPrimitivesXcmpMessageFormat (454) */ + /** @name PolkadotParachainPrimitivesXcmpMessageFormat (466) */ interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum { readonly isConcatenatedVersionedXcm: boolean; readonly isConcatenatedEncodedBlob: boolean; @@ -3973,7 +4096,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals'; } - /** @name CumulusPalletXcmpQueueOutboundChannelDetails (457) */ + /** @name CumulusPalletXcmpQueueOutboundChannelDetails (469) */ interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct { readonly recipient: u32; readonly state: CumulusPalletXcmpQueueOutboundState; @@ -3982,14 +4105,14 @@ declare module '@polkadot/types/lookup' { readonly lastIndex: u16; } - /** @name CumulusPalletXcmpQueueOutboundState (458) */ + /** @name CumulusPalletXcmpQueueOutboundState (470) */ interface CumulusPalletXcmpQueueOutboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name CumulusPalletXcmpQueueQueueConfigData (460) */ + /** @name CumulusPalletXcmpQueueQueueConfigData (472) */ interface CumulusPalletXcmpQueueQueueConfigData extends Struct { readonly suspendThreshold: u32; readonly dropThreshold: u32; @@ -3999,7 +4122,7 @@ declare module '@polkadot/types/lookup' { readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight; } - /** @name CumulusPalletXcmpQueueError (462) */ + /** @name CumulusPalletXcmpQueueError (474) */ interface CumulusPalletXcmpQueueError extends Enum { readonly isFailedToSend: boolean; readonly isBadXcmOrigin: boolean; @@ -4009,7 +4132,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit'; } - /** @name PalletXcmError (463) */ + /** @name PalletXcmError (475) */ interface PalletXcmError extends Enum { readonly isUnreachable: boolean; readonly isSendFailure: boolean; @@ -4034,47 +4157,47 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed' | 'InvalidAsset' | 'LowBalance' | 'TooManyLocks' | 'AccountNotSovereign' | 'FeesNotMet' | 'LockNotFound' | 'InUse'; } - /** @name CumulusPalletXcmError (464) */ + /** @name CumulusPalletXcmError (476) */ type CumulusPalletXcmError = Null; - /** @name CumulusPalletDmpQueueConfigData (465) */ + /** @name CumulusPalletDmpQueueConfigData (477) */ interface CumulusPalletDmpQueueConfigData extends Struct { readonly maxIndividual: SpWeightsWeightV2Weight; } - /** @name CumulusPalletDmpQueuePageIndexData (466) */ + /** @name CumulusPalletDmpQueuePageIndexData (478) */ interface CumulusPalletDmpQueuePageIndexData extends Struct { readonly beginUsed: u32; readonly endUsed: u32; readonly overweightCount: u64; } - /** @name CumulusPalletDmpQueueError (469) */ + /** @name CumulusPalletDmpQueueError (481) */ interface CumulusPalletDmpQueueError extends Enum { readonly isUnknown: boolean; readonly isOverLimit: boolean; readonly type: 'Unknown' | 'OverLimit'; } - /** @name FrameSystemExtensionsCheckNonZeroSender (472) */ + /** @name FrameSystemExtensionsCheckNonZeroSender (484) */ type FrameSystemExtensionsCheckNonZeroSender = Null; - /** @name FrameSystemExtensionsCheckSpecVersion (473) */ + /** @name FrameSystemExtensionsCheckSpecVersion (485) */ type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckTxVersion (474) */ + /** @name FrameSystemExtensionsCheckTxVersion (486) */ type FrameSystemExtensionsCheckTxVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (475) */ + /** @name FrameSystemExtensionsCheckGenesis (487) */ type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (478) */ + /** @name FrameSystemExtensionsCheckNonce (490) */ interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (479) */ + /** @name FrameSystemExtensionsCheckWeight (491) */ type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTransactionPaymentChargeTransactionPayment (480) */ + /** @name PalletTransactionPaymentChargeTransactionPayment (492) */ interface PalletTransactionPaymentChargeTransactionPayment extends Compact {} } // declare module diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 551adcb1f..780ecdcb0 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.33.1", + "version": "0.34.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -30,7 +30,6 @@ "bugs": "https://github.com/KILTprotocol/sdk-js/issues", "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "devDependencies": { - "@kiltprotocol/testing": "workspace:*", "@polkadot/keyring": "^12.0.0", "rimraf": "^3.0.2", "typescript": "^4.8.3" diff --git a/packages/chain-helpers/src/blockchain/Blockchain.spec.ts b/packages/chain-helpers/src/blockchain/Blockchain.spec.ts index ebe9d5fc1..95a197f5e 100644 --- a/packages/chain-helpers/src/blockchain/Blockchain.spec.ts +++ b/packages/chain-helpers/src/blockchain/Blockchain.spec.ts @@ -5,15 +5,11 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/blockchain - */ - -import { ApiMocks } from '@kiltprotocol/testing' import { ConfigService } from '@kiltprotocol/config' import type { KeyringPair } from '@kiltprotocol/types' import { Crypto, SDKErrors } from '@kiltprotocol/utils' +import { ApiMocks } from '../../../../tests/testUtils' import { IS_FINALIZED, IS_IN_BLOCK, diff --git a/packages/chain-helpers/src/blockchain/SubscriptionPromise.spec.ts b/packages/chain-helpers/src/blockchain/SubscriptionPromise.spec.ts index 3938e17e8..b78ad6e9a 100644 --- a/packages/chain-helpers/src/blockchain/SubscriptionPromise.spec.ts +++ b/packages/chain-helpers/src/blockchain/SubscriptionPromise.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/util - */ - import { SDKErrors } from '@kiltprotocol/utils' import { makeSubscriptionPromise } from './SubscriptionPromise' diff --git a/packages/chain-helpers/src/errorhandling/ErrorHandler.spec.ts b/packages/chain-helpers/src/errorhandling/ErrorHandler.spec.ts index bca610171..e9b27395c 100644 --- a/packages/chain-helpers/src/errorhandling/ErrorHandler.spec.ts +++ b/packages/chain-helpers/src/errorhandling/ErrorHandler.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/errorhandling - */ - import type { ISubmittableResult } from '@kiltprotocol/types' import type { EventRecord } from '@polkadot/types/interfaces' import { ErrorHandler } from './index' diff --git a/packages/config/package.json b/packages/config/package.json index 36cf3619d..5ae6f8ff2 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.33.1", + "version": "0.34.0", "description": "", "type": "commonjs", "main": "./lib/index.js", diff --git a/packages/config/src/ConfigService.spec.ts b/packages/config/src/ConfigService.spec.ts index f5069556b..bb97365b6 100644 --- a/packages/config/src/ConfigService.spec.ts +++ b/packages/config/src/ConfigService.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/ConfigService - */ - /* eslint-disable dot-notation */ import { ApiPromise, WsProvider } from '@polkadot/api' import { LogLevel, Logger } from 'typescript-logging' @@ -24,7 +20,7 @@ describe('Log Configuration', () => { it('Tests the default Log Level', () => { if (process.env.DEBUG === 'true') { expect(testLogger.getLogLevel()).toEqual(LogLevel.Debug) - } else expect(testLogger.getLogLevel()).toEqual(LogLevel.Error) + } else expect(testLogger.getLogLevel()).toEqual(LogLevel.Warn) }) it('modifies the Log Level of all Loggers to the desired Level', () => { @@ -44,7 +40,7 @@ describe('Log Configuration', () => { describe('Configuration Service', () => { it('has configuration Object with default values', () => { - expect(ConfigService.get('logLevel')).toEqual(LogLevel.Error) + expect(ConfigService.get('logLevel')).toEqual(LogLevel.Warn) expect(() => ConfigService.get('api')).toThrowErrorMatchingInlineSnapshot( `"The blockchain API is not set. Did you forget to call \`Kilt.connect(…)\` or \`Kilt.init(…)\`?"` ) diff --git a/packages/config/src/ConfigService.ts b/packages/config/src/ConfigService.ts index d9e68b4a8..38d22fc3c 100644 --- a/packages/config/src/ConfigService.ts +++ b/packages/config/src/ConfigService.ts @@ -24,12 +24,17 @@ import { } from 'typescript-logging' import type { SubscriptionPromise } from '@kiltprotocol/types' -const DEFAULT_DEBUG_LEVEL = - typeof process !== 'undefined' && - process.env?.DEBUG && - process.env.DEBUG === 'true' - ? LogLevel.Debug - : LogLevel.Error +const DEFAULT_DEBUG_LEVEL = (() => { + if (typeof process !== 'undefined') { + if (process.env.DEBUG === 'true') { + return LogLevel.Debug + } + if (process.env.NODE_ENV && process.env.NODE_ENV !== 'production') { + return LogLevel.Warn + } + } + return LogLevel.Error +})() export type configOpts = { api: ApiPromise diff --git a/packages/core/package.json b/packages/core/package.json index fdb8a976d..ef755ec9a 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.33.1", + "version": "0.34.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -30,7 +30,6 @@ "bugs": "https://github.com/KILTprotocol/sdk-js/issues", "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "devDependencies": { - "@kiltprotocol/testing": "workspace:*", "@types/uuid": "^8.0.0", "rimraf": "^3.0.2", "testcontainers": "^9.0.0", diff --git a/packages/core/src/attestation/Attestation.spec.ts b/packages/core/src/attestation/Attestation.spec.ts index 6b17c7fcd..63906f75c 100644 --- a/packages/core/src/attestation/Attestation.spec.ts +++ b/packages/core/src/attestation/Attestation.spec.ts @@ -5,27 +5,23 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/attestation - */ - /* eslint-disable @typescript-eslint/ban-ts-comment */ +import { ConfigService } from '@kiltprotocol/config' import type { - IAttestation, + CTypeHash, DidUri, + IAttestation, ICType, IClaim, ICredential, - CTypeHash, } from '@kiltprotocol/types' import { SDKErrors } from '@kiltprotocol/utils' -import { ApiMocks } from '@kiltprotocol/testing' -import { ConfigService } from '@kiltprotocol/config' +import { ApiMocks } from '../../../../tests/testUtils' import * as Claim from '../claim' -import * as CType from '../ctype' import * as Credential from '../credential' +import * as CType from '../ctype' import * as Attestation from './Attestation' let mockedApi: any diff --git a/packages/core/src/balance/Balance.utils.spec.ts b/packages/core/src/balance/Balance.utils.spec.ts index 1715f72d9..aad9d30e4 100644 --- a/packages/core/src/balance/Balance.utils.spec.ts +++ b/packages/core/src/balance/Balance.utils.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/balance - */ - import { BN } from '@polkadot/util' import type { BalanceNumber, @@ -261,7 +257,7 @@ describe('toFemtoKilt', () => { expect(() => toFemtoKilt('-0.0000001', 'nano').toString() ).toThrowErrorMatchingInlineSnapshot( - `"Too many decimal places: input with unit \\"nano\\" and value \\"-0.0000001\\" exceeds the 6 possible decimal places by 1"` + `"Too many decimal places: input with unit "nano" and value "-0.0000001" exceeds the 6 possible decimal places by 1"` ) expect(toFemtoKilt('-0').toString()).toEqual(new BN('0').toString()) expect(toFemtoKilt('-0.000001', 'nano').toString()).toEqual( diff --git a/packages/core/src/claim/Claim.spec.ts b/packages/core/src/claim/Claim.spec.ts index c13f14e6c..c82d13ef7 100644 --- a/packages/core/src/claim/Claim.spec.ts +++ b/packages/core/src/claim/Claim.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/claim - */ - import { SDKErrors } from '@kiltprotocol/utils' import type { IClaim, ICType, DidUri } from '@kiltprotocol/types' import * as CType from '../ctype' @@ -31,11 +27,11 @@ describe('jsonld', () => { // this is what a kilt claim looks like when expressed in expanded JSON-LD const jsonld = Claim.toJsonLD(claim, true) expect(jsonld).toMatchInlineSnapshot(` - Object { - "https://www.w3.org/2018/credentials#credentialSchema": Object { + { + "https://www.w3.org/2018/credentials#credentialSchema": { "@id": "kilt:ctype:0x90364302f3b6ccfa50f3d384ec0ab6369711e13298ba4a5316d7e2addd5647b2", }, - "https://www.w3.org/2018/credentials#credentialSubject": Object { + "https://www.w3.org/2018/credentials#credentialSubject": { "@id": "did:kilt:4r1WkS3t8rbCb11H8t3tJvGVCynwDXSUBiuGB6sLRHzCLCjs", "kilt:ctype:0x90364302f3b6ccfa50f3d384ec0ab6369711e13298ba4a5316d7e2addd5647b2#address": "homestreet, home", "kilt:ctype:0x90364302f3b6ccfa50f3d384ec0ab6369711e13298ba4a5316d7e2addd5647b2#name": "John", @@ -50,15 +46,15 @@ describe('jsonld', () => { // this is what a kilt claim looks like when expressed in compact JSON-LD const jsonld = Claim.toJsonLD(claim, false) expect(jsonld).toMatchInlineSnapshot(` - Object { - "@context": Object { + { + "@context": { "@vocab": "https://www.w3.org/2018/credentials#", }, - "credentialSchema": Object { + "credentialSchema": { "@id": "kilt:ctype:0x90364302f3b6ccfa50f3d384ec0ab6369711e13298ba4a5316d7e2addd5647b2", }, - "credentialSubject": Object { - "@context": Object { + "credentialSubject": { + "@context": { "@vocab": "kilt:ctype:0x90364302f3b6ccfa50f3d384ec0ab6369711e13298ba4a5316d7e2addd5647b2#", }, "@id": "did:kilt:4r1WkS3t8rbCb11H8t3tJvGVCynwDXSUBiuGB6sLRHzCLCjs", @@ -93,7 +89,7 @@ describe('jsonld', () => { }) expect(hashed.nonceMap).toEqual(nonceMap) expect(hashed.hashes).toMatchInlineSnapshot(` - Array [ + [ "0x3c2ae125a0baf4ed64a30b7ad012810b4622628a2eb5ad32e769e6a1d356d58d", "0x69aae66efd954c3712e91dd2761dab08ea941e6516e7cf6ddf6e3b90ddc5bdf3", "0x8d5736197583931c4e4d3dce0503596760f7a13e8187cc440b7de1edd4370d6a", diff --git a/packages/core/src/claim/Claim.ts b/packages/core/src/claim/Claim.ts index 58285a236..17aa1da54 100644 --- a/packages/core/src/claim/Claim.ts +++ b/packages/core/src/claim/Claim.ts @@ -18,8 +18,13 @@ */ import { hexToBn } from '@polkadot/util' -import type { HexString } from '@polkadot/util/types' -import type { DidUri, IClaim, ICType, PartialClaim } from '@kiltprotocol/types' +import type { + DidUri, + IClaim, + ICType, + PartialClaim, + HexString, +} from '@kiltprotocol/types' import { Crypto, DataUtils, SDKErrors } from '@kiltprotocol/utils' import * as Did from '@kiltprotocol/did' import * as CType from '../ctype/index.js' diff --git a/packages/core/src/credential/Credential.spec.ts b/packages/core/src/credential/Credential.spec.ts index 2d303ce80..ffa25284f 100644 --- a/packages/core/src/credential/Credential.spec.ts +++ b/packages/core/src/credential/Credential.spec.ts @@ -5,12 +5,12 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/credential - */ - /* eslint-disable dot-notation */ +import { randomAsHex } from '@polkadot/util-crypto' + +import { ConfigService } from '@kiltprotocol/config' +import * as Did from '@kiltprotocol/did' import type { DidDocument, DidResourceUri, @@ -26,20 +26,18 @@ import type { SignCallback, } from '@kiltprotocol/types' import { Crypto, SDKErrors, UUID } from '@kiltprotocol/utils' -import * as Did from '@kiltprotocol/did' + import { ApiMocks, createLocalDemoFullDidFromKeypair, KeyTool, makeSigningKeyTool, -} from '@kiltprotocol/testing' -import { ConfigService } from '@kiltprotocol/config' -import { randomAsHex } from '@polkadot/util-crypto' +} from '../../../../tests/testUtils' import * as Attestation from '../attestation' import * as Claim from '../claim' import * as CType from '../ctype' -import * as Credential from './Credential' import { init } from '../kilt' +import * as Credential from './Credential' const testCType = CType.fromProperties('Credential', { a: { type: 'string' }, diff --git a/packages/core/src/ctype/CType.chain.ts b/packages/core/src/ctype/CType.chain.ts index e6712fc64..2a2b57ac7 100644 --- a/packages/core/src/ctype/CType.chain.ts +++ b/packages/core/src/ctype/CType.chain.ts @@ -29,11 +29,11 @@ import { flattenCalls, isBatch, retrieveExtrinsicFromBlock } from '../utils.js' /** * Encodes the provided CType for use in `api.tx.ctype.add()`. * - * @param ctype The CType to write on the blockchain. + * @param cType The CType to write on the blockchain. * @returns Encoded CType. */ -export function toChain(ctype: ICType): string { - return serializeForHash(ctype) +export function toChain(cType: ICType): string { + return serializeForHash(cType) } /** @@ -83,7 +83,7 @@ export interface CTypeChainDetails { createdAt: BN } -export type ICTypeDetails = ICType & CTypeChainDetails +export type ICTypeDetails = { cType: ICType } & CTypeChainDetails /** * Decodes the CType details returned by `api.query.ctype.ctypes()`. @@ -226,8 +226,10 @@ export async function fetchFromChain( const [ctypeInput, creator] = lastRightCTypeCreationCall return { - ...ctypeInput, - $id: cTypeId, + cType: { + ...ctypeInput, + $id: cTypeId, + }, creator, createdAt, } diff --git a/packages/core/src/ctype/CType.metadata.spec.ts b/packages/core/src/ctype/CType.metadata.spec.ts index ad1cbdef1..9fee50fc8 100644 --- a/packages/core/src/ctype/CType.metadata.spec.ts +++ b/packages/core/src/ctype/CType.metadata.spec.ts @@ -5,22 +5,18 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/ctype - */ - import { SDKErrors } from '@kiltprotocol/utils' import type { ICType, ICTypeMetadata } from '@kiltprotocol/types' import * as CType from './CType' import { MetadataModel } from './CType.schemas' describe('CType', () => { - let ctype: ICType + let cType: ICType let ctypeMetadata: ICTypeMetadata['metadata'] let metadata: ICTypeMetadata beforeAll(async () => { - ctype = CType.fromProperties('CtypeMetaData', { + cType = CType.fromProperties('CtypeMetaData', { 'first-property': { type: 'integer' }, 'second-property': { type: 'string' }, }) @@ -36,11 +32,11 @@ describe('CType', () => { metadata = { metadata: ctypeMetadata, - cTypeId: ctype.$id, + cTypeId: cType.$id, } }) - it('verifies the metadata of a ctype', async () => { + it('verifies the metadata of a cType', async () => { expect(() => CType.verifyCTypeMetadata(metadata)).not.toThrow() expect(metadata.cTypeId).not.toHaveLength(0) expect(() => @@ -50,13 +46,13 @@ describe('CType', () => { CType.verifyObjectAgainstSchema(ctypeMetadata, MetadataModel) ).toThrow() }) - it('checks if the metadata matches corresponding ctype hash', async () => { - expect(metadata.cTypeId).toEqual(ctype.$id) + it('checks if the metadata matches corresponding cType hash', async () => { + expect(metadata.cTypeId).toEqual(cType.$id) }) it('throws error when supplied malformed constructor input', () => { const faultyMetadata: ICTypeMetadata = { metadata: ctypeMetadata, - cTypeId: ctype.$id, + cTypeId: cType.$id, } // @ts-expect-error delete faultyMetadata.metadata.properties diff --git a/packages/core/src/ctype/CType.spec.ts b/packages/core/src/ctype/CType.spec.ts index 9c4eb4e6f..50fa5b9ce 100644 --- a/packages/core/src/ctype/CType.spec.ts +++ b/packages/core/src/ctype/CType.spec.ts @@ -5,14 +5,11 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/ctype - */ - -import { SDKErrors } from '@kiltprotocol/utils' import { ConfigService } from '@kiltprotocol/config' -import { ApiMocks } from '@kiltprotocol/testing' import type { ICType } from '@kiltprotocol/types' +import { SDKErrors } from '@kiltprotocol/utils' + +import { ApiMocks } from '../../../../tests/testUtils' import * as Claim from '../claim' import * as CType from './CType.js' import { CTypeModel, CTypeModelDraft01 } from './CType.schemas' @@ -441,13 +438,13 @@ describe.each([[cTypeDraft01], [cTypeV1]])( ) describe('CType registration verification', () => { - const ctype = CType.fromProperties('CtypeModel 2', { + const cType = CType.fromProperties('CtypeModel 2', { name: { type: 'string' }, }) describe('when CType is not registered', () => { it('does not verify registration when not registered', async () => { - await expect(CType.verifyStored(ctype)).rejects.toThrow() + await expect(CType.verifyStored(cType)).rejects.toThrow() }) }) @@ -457,15 +454,15 @@ describe('CType registration verification', () => { }) it('verifies registration when owner not set', async () => { - await expect(CType.verifyStored(ctype)).resolves.not.toThrow() + await expect(CType.verifyStored(cType)).resolves.not.toThrow() }) it('verifies registration when owner matches', async () => { - await expect(CType.verifyStored(ctype)).resolves.not.toThrow() + await expect(CType.verifyStored(cType)).resolves.not.toThrow() }) it('verifies registration when owner does not match', async () => { - await expect(CType.verifyStored(ctype)).resolves.not.toThrow() + await expect(CType.verifyStored(cType)).resolves.not.toThrow() }) }) }) diff --git a/packages/core/src/ctype/CType.ts b/packages/core/src/ctype/CType.ts index 6c061809d..c6e080b58 100644 --- a/packages/core/src/ctype/CType.ts +++ b/packages/core/src/ctype/CType.ts @@ -30,6 +30,27 @@ import { CTypeModelV1, } from './CType.schemas.js' +let notifyDeprecated: (cTypeId: ICType['$id']) => void = () => { + // do nothing +} +if ( + typeof process !== 'undefined' && + process.env?.NODE_ENV && + process.env.NODE_ENV !== 'production' +) { + const logger = ConfigService.LoggingFactory.getLogger('deprecated') + const alreadyNotified = new Set() + notifyDeprecated = (cTypeId) => { + if (alreadyNotified.has(cTypeId)) { + return + } + logger.warn( + `Your application has processed the CType '${cTypeId}' which follows the meta schema '${CTypeModelDraft01.$id}'. This class of schemas has known issues that can result in unexpected properties being present in a credential. Consider switching to a CType based on meta schema ${CTypeModelV1.$id} which fixes this issue.` + ) + alreadyNotified.add(cTypeId) + } +} + /** * Utility for (re)creating CType hashes. Sorts the schema and strips the $id property (which contains the CType hash) before stringifying. * @@ -136,17 +157,20 @@ export function verifyClaimAgainstSchema( messages?: string[] ): void { verifyObjectAgainstSchema(schema, CTypeModel, messages) + if (schema.$schema === CTypeModelDraft01.$id) { + notifyDeprecated(schema.$id) + } verifyObjectAgainstSchema(claimContents, schema, messages) } /** * Checks on the KILT blockchain whether a CType is registered. * - * @param ctype CType data. + * @param cType CType data. */ -export async function verifyStored(ctype: ICType): Promise { +export async function verifyStored(cType: ICType): Promise { const api = ConfigService.get('api') - const hash = idToHash(ctype.$id) + const hash = idToHash(cType.$id) const encoded = await api.query.ctype.ctypes(hash) if (encoded.isNone) throw new SDKErrors.CTypeHashMissingError( @@ -162,6 +186,9 @@ export async function verifyStored(ctype: ICType): Promise { */ export function verifyDataStructure(input: ICType): void { verifyObjectAgainstSchema(input, CTypeModel) + if (input.$schema === CTypeModelDraft01.$id) { + notifyDeprecated(input.$id) + } const idFromSchema = getIdForSchema(input) if (idFromSchema !== input.$id) { throw new SDKErrors.CTypeIdMismatchError(idFromSchema, input.$id) @@ -223,9 +250,9 @@ export function fromProperties( if (version === 'V1') { schema.additionalProperties = false } - const ctype = jsonabc.sortObj({ ...schema, $id: getIdForSchema(schema) }) - verifyDataStructure(ctype) - return ctype + const cType = jsonabc.sortObj({ ...schema, $id: getIdForSchema(schema) }) + verifyDataStructure(cType) + return cType } /** diff --git a/packages/core/src/ctype/Ctype.nested.spec.ts b/packages/core/src/ctype/Ctype.nested.spec.ts index 27639e9ef..95903447d 100644 --- a/packages/core/src/ctype/Ctype.nested.spec.ts +++ b/packages/core/src/ctype/Ctype.nested.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/ctype - */ - import type { ICType, IClaim, IClaimContents } from '@kiltprotocol/types' import { SDKErrors } from '@kiltprotocol/utils' import * as CType from './CType' diff --git a/packages/core/src/delegation/DelegationNode.spec.ts b/packages/core/src/delegation/DelegationNode.spec.ts index e20ef60f9..dbf3a84e8 100644 --- a/packages/core/src/delegation/DelegationNode.spec.ts +++ b/packages/core/src/delegation/DelegationNode.spec.ts @@ -5,23 +5,21 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/delegation - */ +import { encodeAddress } from '@polkadot/keyring' +import { ConfigService } from '@kiltprotocol/config' import { - IDelegationNode, + CTypeHash, + DidUri, IDelegationHierarchyDetails, + IDelegationNode, Permission, - DidUri, - CTypeHash, } from '@kiltprotocol/types' -import { encodeAddress } from '@polkadot/keyring' -import { ApiMocks } from '@kiltprotocol/testing' -import { ConfigService } from '@kiltprotocol/config' import { Crypto, SDKErrors, ss58Format } from '@kiltprotocol/utils' + +import { ApiMocks } from '../../../../tests/testUtils' import { DelegationNode } from './DelegationNode' -import { permissionsAsBitset, errorCheck } from './DelegationNode.utils' +import { errorCheck, permissionsAsBitset } from './DelegationNode.utils' let mockedApi: any @@ -315,7 +313,7 @@ describe('DelegationNode', () => { expect(await nodes[hashList[0]].subtreeNodeCount()).toStrictEqual(100) }) - it('counts all subnodes in deeply nested structure (1000)', async () => { + it.skip('counts all subnodes in deeply nested structure (1000)', async () => { const lastIndex = 1000 nodes = hashList.slice(0, lastIndex + 1).reduce( (previous, current, index) => ({ @@ -335,7 +333,7 @@ describe('DelegationNode', () => { expect(await nodes[hashList[0]].subtreeNodeCount()).toStrictEqual(1000) }) - it('counts all subnodes in deeply nested structure (10000)', async () => { + it.skip('counts all subnodes in deeply nested structure (10000)', async () => { const lastIndex = 10000 nodes = hashList.slice(0, lastIndex + 1).reduce( (previous, current, index) => ({ diff --git a/packages/core/src/publicCredential/PublicCredential.chain.ts b/packages/core/src/publicCredential/PublicCredential.chain.ts index 76653e0e4..3ffa1f196 100644 --- a/packages/core/src/publicCredential/PublicCredential.chain.ts +++ b/packages/core/src/publicCredential/PublicCredential.chain.ts @@ -12,6 +12,7 @@ import type { IPublicCredentialInput, IPublicCredential, DidUri, + HexString, } from '@kiltprotocol/types' import type { ApiPromise } from '@polkadot/api' import type { GenericCall, Option } from '@polkadot/types' @@ -22,7 +23,6 @@ import type { PublicCredentialsCredentialsCredentialEntry, } from '@kiltprotocol/augment-api' -import { HexString } from '@polkadot/util/types' import { ConfigService } from '@kiltprotocol/config' import { fromChain as didFromChain } from '@kiltprotocol/did' import { validateUri } from '@kiltprotocol/asset-did' diff --git a/packages/core/src/publicCredential/PublicCredential.spec.ts b/packages/core/src/publicCredential/PublicCredential.spec.ts index 1c3b7dde4..dca0722c6 100644 --- a/packages/core/src/publicCredential/PublicCredential.spec.ts +++ b/packages/core/src/publicCredential/PublicCredential.spec.ts @@ -5,10 +5,10 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/publicCredential - */ +import { BN } from '@polkadot/util' +import { ConfigService } from '@kiltprotocol/config' +import * as Did from '@kiltprotocol/did' import type { AssetDidUri, DidUri, @@ -16,12 +16,9 @@ import type { IClaimContents, IPublicCredential, } from '@kiltprotocol/types' - -import { BN } from '@polkadot/util' -import { ApiMocks } from '@kiltprotocol/testing' import { Crypto } from '@kiltprotocol/utils' -import { ConfigService } from '@kiltprotocol/config' -import * as Did from '@kiltprotocol/did' + +import { ApiMocks } from '../../../../tests/testUtils' import * as CType from '../ctype' import * as PublicCredential from '../publicCredential' import { verifyAgainstCType } from './PublicCredential' diff --git a/packages/core/src/publicCredential/PublicCredential.ts b/packages/core/src/publicCredential/PublicCredential.ts index f28a865db..51e39482c 100644 --- a/packages/core/src/publicCredential/PublicCredential.ts +++ b/packages/core/src/publicCredential/PublicCredential.ts @@ -5,10 +5,10 @@ * found in the LICENSE file in the root directory of this source tree. */ -import type { HexString } from '@polkadot/util/types' import type { AccountId } from '@polkadot/types/interfaces' import type { PublicCredentialsCredentialsCredential } from '@kiltprotocol/augment-api' import type { + HexString, DidUri, IAssetClaim, ICType, diff --git a/packages/core/src/quote/Quote.spec.ts b/packages/core/src/quote/Quote.spec.ts index ab1f4ec5c..8c5701a71 100644 --- a/packages/core/src/quote/Quote.spec.ts +++ b/packages/core/src/quote/Quote.spec.ts @@ -5,30 +5,27 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/quote - */ - +import * as Did from '@kiltprotocol/did' import type { DidDocument, + DidResourceUri, + ICType, IClaim, ICostBreakdown, - ICType, + ICredential, IQuote, IQuoteAgreement, IQuoteAttesterSigned, - ICredential, - DidResourceUri, ResolvedDidKey, } from '@kiltprotocol/types' import { Crypto, SDKErrors } from '@kiltprotocol/utils' -import * as Did from '@kiltprotocol/did' + import { createLocalDemoFullDidFromKeypair, makeSigningKeyTool, -} from '@kiltprotocol/testing' -import * as CType from '../ctype' +} from '../../../../tests/testUtils' import * as Credential from '../credential' +import * as CType from '../ctype' import * as Quote from './Quote' import { QuoteSchema } from './QuoteSchema' diff --git a/packages/did/package.json b/packages/did/package.json index 13ddcae72..bcbf9d794 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.33.1", + "version": "0.34.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -30,7 +30,6 @@ "bugs": "https://github.com/KILTprotocol/sdk-js/issues", "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "devDependencies": { - "@kiltprotocol/testing": "workspace:*", "rimraf": "^3.0.2", "typescript": "^4.8.3" }, diff --git a/packages/did/src/Did.chain.spec.ts b/packages/did/src/Did.chain.spec.ts index b66abac03..2efc9368d 100644 --- a/packages/did/src/Did.chain.spec.ts +++ b/packages/did/src/Did.chain.spec.ts @@ -5,13 +5,9 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/did - */ - import { ConfigService } from '@kiltprotocol/config' -import { ApiMocks } from '@kiltprotocol/testing' +import { ApiMocks } from '../../../tests/testUtils' import { serviceToChain } from './Did.chain' let api: any diff --git a/packages/did/src/Did.chain.ts b/packages/did/src/Did.chain.ts index 3880c141f..09daf45e4 100644 --- a/packages/did/src/Did.chain.ts +++ b/packages/did/src/Did.chain.ts @@ -8,7 +8,6 @@ import type { Option } from '@polkadot/types' import type { AccountId32, Extrinsic, Hash } from '@polkadot/types/interfaces' import type { AnyNumber } from '@polkadot/types/types' -import { BN } from '@polkadot/util' import type { Deposit, @@ -27,6 +26,7 @@ import type { SubmittableExtrinsic, UriFragment, VerificationKeyRelationship, + BN, } from '@kiltprotocol/types' import { verificationKeyTypes } from '@kiltprotocol/types' import { Crypto, SDKErrors, ss58Format } from '@kiltprotocol/utils' diff --git a/packages/did/src/Did.rpc.ts b/packages/did/src/Did.rpc.ts index 4812a0cac..da77219d6 100644 --- a/packages/did/src/Did.rpc.ts +++ b/packages/did/src/Did.rpc.ts @@ -26,11 +26,12 @@ import type { DidVerificationKey, KiltAddress, UriFragment, + BN, } from '@kiltprotocol/types' import { encodeAddress } from '@polkadot/keyring' import { ethereumEncode } from '@polkadot/util-crypto' -import { BN, u8aToString } from '@polkadot/util' +import { u8aToString } from '@polkadot/util' import { Crypto, ss58Format } from '@kiltprotocol/utils' import { Address, SubstrateAddress } from './DidLinks/AccountLinks.chain.js' diff --git a/packages/did/src/Did.signature.spec.ts b/packages/did/src/Did.signature.spec.ts index 9ff4c3aeb..449e69813 100644 --- a/packages/did/src/Did.signature.spec.ts +++ b/packages/did/src/Did.signature.spec.ts @@ -5,9 +5,7 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/did - */ +import { randomAsHex, randomAsU8a } from '@polkadot/util-crypto' import type { DidDocument, @@ -18,17 +16,17 @@ import type { NewLightDidVerificationKey, SignCallback, } from '@kiltprotocol/types' -import { randomAsHex, randomAsU8a } from '@polkadot/util-crypto' import { Crypto, SDKErrors } from '@kiltprotocol/utils' -import { makeSigningKeyTool } from '@kiltprotocol/testing' -import * as Did from './index.js' + +import { makeSigningKeyTool } from '../../../tests/testUtils' import { - verifyDidSignature, isDidSignature, signatureFromJson, signatureToJson, + verifyDidSignature, } from './Did.signature' -import { resolveKey, keyToResolvedKey } from './DidResolver' +import { keyToResolvedKey, resolveKey } from './DidResolver' +import * as Did from './index.js' jest.mock('./DidResolver') jest diff --git a/packages/did/src/DidDetails/DidDetails.spec.ts b/packages/did/src/DidDetails/DidDetails.spec.ts index 1ad1ba2fd..26302a1f6 100644 --- a/packages/did/src/DidDetails/DidDetails.spec.ts +++ b/packages/did/src/DidDetails/DidDetails.spec.ts @@ -9,10 +9,6 @@ import { DidDocument, DidKey, DidServiceEndpoint } from '@kiltprotocol/types' import { getService, getKey, getKeys } from './DidDetails' -/** - * @group unit/did - */ - const minimalDid: DidDocument = { uri: 'did:kilt:4r1WkS3t8rbCb11H8t3tJvGVCynwDXSUBiuGB6sLRHzCLCjs', authentication: [ diff --git a/packages/did/src/DidDetails/FullDidDetails.spec.ts b/packages/did/src/DidDetails/FullDidDetails.spec.ts index a8a2595d2..3f8004931 100644 --- a/packages/did/src/DidDetails/FullDidDetails.spec.ts +++ b/packages/did/src/DidDetails/FullDidDetails.spec.ts @@ -8,25 +8,21 @@ import { BN } from '@polkadot/util' import { randomAsHex } from '@polkadot/util-crypto' +import { ConfigService } from '@kiltprotocol/config' import type { DidDocument, KiltKeyringPair, SignCallback, SubmittableExtrinsic, } from '@kiltprotocol/types' + import { ApiMocks, createLocalDemoFullDidFromKeypair, makeSigningKeyTool, -} from '@kiltprotocol/testing' -import { ConfigService } from '@kiltprotocol/config' - -import * as Did from './index.js' +} from '../../../../tests/testUtils' import { generateDidAuthenticatedTx } from '../Did.chain.js' - -/** - * @group unit/did - */ +import * as Did from './index.js' const augmentedApi = ApiMocks.createAugmentedApi() const mockedApi: any = ApiMocks.getMockedApi() diff --git a/packages/did/src/DidDetails/LightDidDetails.spec.ts b/packages/did/src/DidDetails/LightDidDetails.spec.ts index ed467d349..2a7a23a92 100644 --- a/packages/did/src/DidDetails/LightDidDetails.spec.ts +++ b/packages/did/src/DidDetails/LightDidDetails.spec.ts @@ -10,10 +10,6 @@ import { Crypto } from '@kiltprotocol/utils' import * as Did from '../index.js' -/** - * @group unit/did - */ - /* * Functions tested: * - createLightDidDocument diff --git a/packages/did/src/DidDocumentExporter/DidDocumentExporter.spec.ts b/packages/did/src/DidDocumentExporter/DidDocumentExporter.spec.ts index 943c28ac6..7aa6234c5 100644 --- a/packages/did/src/DidDocumentExporter/DidDocumentExporter.spec.ts +++ b/packages/did/src/DidDocumentExporter/DidDocumentExporter.spec.ts @@ -21,10 +21,6 @@ import { exportToDidDocument } from './DidDocumentExporter.js' import * as Did from '../index.js' import { KILT_DID_CONTEXT_URL, W3C_DID_CONTEXT_URL } from '../index.js' -/** - * @group unit/did - */ - const did: DidUri = 'did:kilt:4r1WkS3t8rbCb11H8t3tJvGVCynwDXSUBiuGB6sLRHzCLCjs' function generateAuthenticationKey(): DidVerificationKey { @@ -215,42 +211,42 @@ describe('When exporting a DID Document from a light DID', () => { const didDoc = exportToDidDocument(lightDid, 'application/json') expect(didDoc).toMatchInlineSnapshot(` - Object { - "authentication": Array [ + { + "authentication": [ "#authentication", ], "id": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf", - "keyAgreement": Array [ + "keyAgreement": [ "#encryption", ], - "service": Array [ - Object { + "service": [ + { "id": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf#id-1", - "serviceEndpoint": Array [ + "serviceEndpoint": [ "x:url-id-1", ], - "type": Array [ + "type": [ "type-id-1", ], }, - Object { + { "id": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf#id-2", - "serviceEndpoint": Array [ + "serviceEndpoint": [ "x:url-id-2", ], - "type": Array [ + "type": [ "type-id-2", ], }, ], - "verificationMethod": Array [ - Object { + "verificationMethod": [ + { "controller": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf", "id": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf#authentication", "publicKeyBase58": "11111111111111111111111111111111", "type": "Ed25519VerificationKey2018", }, - Object { + { "controller": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf", "id": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf#encryption", "publicKeyBase58": "11111111111111111111111111111111", @@ -265,46 +261,46 @@ describe('When exporting a DID Document from a light DID', () => { const didDoc = exportToDidDocument(lightDid, 'application/ld+json') expect(didDoc).toMatchInlineSnapshot(` - Object { - "@context": Array [ + { + "@context": [ "https://www.w3.org/ns/did/v1", "ipfs://QmU7QkuTCPz7NmD5bD7Z7mQVz2UsSPaEK58B5sYnjnPRNW", ], - "authentication": Array [ + "authentication": [ "#authentication", ], "id": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf", - "keyAgreement": Array [ + "keyAgreement": [ "#encryption", ], - "service": Array [ - Object { + "service": [ + { "id": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf#id-1", - "serviceEndpoint": Array [ + "serviceEndpoint": [ "x:url-id-1", ], - "type": Array [ + "type": [ "type-id-1", ], }, - Object { + { "id": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf#id-2", - "serviceEndpoint": Array [ + "serviceEndpoint": [ "x:url-id-2", ], - "type": Array [ + "type": [ "type-id-2", ], }, ], - "verificationMethod": Array [ - Object { + "verificationMethod": [ + { "controller": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf", "id": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf#authentication", "publicKeyBase58": "11111111111111111111111111111111", "type": "Ed25519VerificationKey2018", }, - Object { + { "controller": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf", "id": "did:kilt:light:014nv4phaKc4EcwENdRERuMF79ZSSB5xvnAk3zNySSbVbXhSwS:z16QMTH1Pc4A99Und9RZvzyikFR73Aepx9exPZPgXJX18upeuSpgXeat2LsjEQpXUBUtaRtdpSXpv42KitoFqySLjiuXVcghuoWviPci3QrnQMeD161howeWdF5GTbBFRHSVXpEu9PWbtUEsnLfDf2NQgu4LmktN8Ti6CAmdQtQiVNbJkB7TnyzLiJJ27rYayWj15mjJ9EoNyyu3rDJGomi2vUgt2DiSUXaJbnSzuuFf#encryption", "publicKeyBase58": "11111111111111111111111111111111", diff --git a/packages/did/src/DidLinks/AccountLinks.chain.ts b/packages/did/src/DidLinks/AccountLinks.chain.ts index ae62cbc60..882568d3b 100644 --- a/packages/did/src/DidLinks/AccountLinks.chain.ts +++ b/packages/did/src/DidLinks/AccountLinks.chain.ts @@ -7,8 +7,6 @@ import { decodeAddress, signatureVerify } from '@polkadot/util-crypto' import type { TypeDef } from '@polkadot/types/types' -import type { HexString } from '@polkadot/util/types' -import type { KeyringPair } from '@polkadot/keyring/types' import type { KeypairType } from '@polkadot/util-crypto/types' import { stringToU8a, @@ -21,8 +19,13 @@ import { import { ApiPromise } from '@polkadot/api' import { SDKErrors } from '@kiltprotocol/utils' -import type { DidUri, KiltAddress } from '@kiltprotocol/types' import { ConfigService } from '@kiltprotocol/config' +import type { + DidUri, + HexString, + KeyringPair, + KiltAddress, +} from '@kiltprotocol/types' import { EncodedSignature } from '../Did.utils.js' import { toChain } from '../Did.chain.js' diff --git a/packages/did/src/DidResolver/DidResolver.spec.ts b/packages/did/src/DidResolver/DidResolver.spec.ts index 6951781f9..8482cb709 100644 --- a/packages/did/src/DidResolver/DidResolver.spec.ts +++ b/packages/did/src/DidResolver/DidResolver.spec.ts @@ -8,6 +8,7 @@ import { BN } from '@polkadot/util' import { base58Encode } from '@polkadot/util-crypto' +import { ConfigService } from '@kiltprotocol/config' import type { ConformingDidKey, ConformingDidServiceEndpoint, @@ -26,23 +27,18 @@ import type { UriFragment, } from '@kiltprotocol/types' import { Crypto } from '@kiltprotocol/utils' -import { ApiMocks, makeSigningKeyTool } from '@kiltprotocol/testing' -import { ConfigService } from '@kiltprotocol/config' -import { getFullDidUriFromKey } from '../Did.utils' +import { ApiMocks, makeSigningKeyTool } from '../../../../tests/testUtils' import { linkedInfoFromChain } from '../Did.rpc.js' +import { getFullDidUriFromKey } from '../Did.utils' +import * as Did from '../index.js' import { resolve, resolveCompliant, resolveKey, resolveService, } from './index.js' -import * as Did from '../index.js' - -/** - * @group unit/did - */ const addressWithAuthenticationKey = '4r1WkS3t8rbCb11H8t3tJvGVCynwDXSUBiuGB6sLRHzCLCjs' diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 74a297aad..b586a3d65 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.33.1", + "version": "0.34.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -30,7 +30,6 @@ "bugs": "https://github.com/KILTprotocol/sdk-js/issues", "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "devDependencies": { - "@kiltprotocol/testing": "workspace:*", "rimraf": "^3.0.2", "typescript": "^4.8.3" }, diff --git a/packages/messaging/src/Message.spec.ts b/packages/messaging/src/Message.spec.ts index e1ce56ae6..ea26bbaa1 100644 --- a/packages/messaging/src/Message.spec.ts +++ b/packages/messaging/src/Message.spec.ts @@ -5,28 +5,32 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/messaging - */ +import { u8aToHex } from '@polkadot/util' +import { + Attestation, + CType, + Claim, + Credential, + Quote, +} from '@kiltprotocol/core' +import * as Did from '@kiltprotocol/did' import type { DidDocument, DidResourceUri, DidUri, - IEncryptedMessage, - IQuote, - IRequestAttestation, - ISubmitAttestation, - ISubmitCredential, - ResolvedDidKey, IAcceptCredential, IAttestation, - IClaim, ICType, + IClaim, + ICredential, + ICredentialPresentation, IDelegationData, + IEncryptedMessage, IInformCreateDelegation, IInformDelegationCreation, IMessage, + IQuote, IQuoteAgreement, IQuoteAttesterSigned, IRejectAcceptDelegation, @@ -34,40 +38,33 @@ import type { IRejectCredential, IRejectTerms, IRequestAcceptDelegation, + IRequestAttestation, IRequestAttestationContent, IRequestCredential, IRequestCredentialContent, IRequestDelegationApproval, - ICredential, IRequestTerms, ISubmitAcceptDelegation, + ISubmitAttestation, ISubmitAttestationContent, + ISubmitCredential, ISubmitDelegationApproval, ISubmitTerms, ITerms, MessageBody, PartialClaim, - ICredentialPresentation, + ResolvedDidKey, } from '@kiltprotocol/types' +import { Crypto, SDKErrors } from '@kiltprotocol/utils' + import { - Quote, - Credential, - Attestation, - Claim, - CType, -} from '@kiltprotocol/core' -import * as Did from '@kiltprotocol/did' -import { + KeyTool, + KeyToolSignCallback, + createLocalDemoFullDidFromKeypair, createLocalDemoFullDidFromLightDid, makeEncryptionKeyTool, makeSigningKeyTool, - createLocalDemoFullDidFromKeypair, - KeyTool, - KeyToolSignCallback, -} from '@kiltprotocol/testing' -import { u8aToHex } from '@polkadot/util' -import { Crypto, SDKErrors } from '@kiltprotocol/utils' - +} from '../../../tests/testUtils' import * as Message from './Message' describe('Messaging', () => { diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 00b833d58..f8ae4898c 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.33.1", + "version": "0.34.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -35,7 +35,7 @@ "rimraf": "^3.0.2", "terser-webpack-plugin": "^5.1.1", "typescript": "^4.8.3", - "webpack": "^5.70.0", + "webpack": "^5.76.0", "webpack-cli": "^4.9.2" }, "dependencies": { diff --git a/packages/testing/package.json b/packages/testing/package.json deleted file mode 100644 index e450b37ae..000000000 --- a/packages/testing/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "@kiltprotocol/testing", - "private": true, - "version": "0.33.1", - "description": "", - "main": "./lib/cjs/index.js", - "module": "./lib/esm/index.js", - "types": "./lib/cjs/index.d.ts", - "exports": { - ".": { - "import": "./lib/esm/index.js", - "require": "./lib/cjs/index.js" - } - }, - "files": [ - "lib/**/*" - ], - "scripts": { - "clean": "rimraf ./lib", - "build": "yarn clean && yarn build:ts", - "build:ts": "yarn build:cjs && yarn build:esm", - "build:cjs": "tsc --declaration -p tsconfig.build.json && echo '{\"type\":\"commonjs\"}' > ./lib/cjs/package.json", - "build:esm": "tsc --declaration -p tsconfig.esm.json && echo '{\"type\":\"module\"}' > ./lib/esm/package.json" - }, - "repository": "github:kiltprotocol/sdk-js", - "engines": { - "node": ">=16.0" - }, - "author": "", - "license": "BSD-4-Clause", - "bugs": "https://github.com/KILTprotocol/sdk-js/issues", - "homepage": "https://github.com/KILTprotocol/sdk-js#readme", - "dependencies": { - "@kiltprotocol/chain-helpers": "workspace:*", - "@kiltprotocol/config": "workspace:*", - "@kiltprotocol/did": "workspace:*", - "@kiltprotocol/sdk-js": "workspace:*", - "@kiltprotocol/type-definitions": "workspace:*", - "@kiltprotocol/types": "workspace:*", - "@kiltprotocol/utils": "workspace:*", - "@polkadot/api": "^10.4.0", - "@polkadot/keyring": "^12.0.0", - "@polkadot/types": "^10.4.0", - "@polkadot/util": "^12.0.0", - "@polkadot/util-crypto": "^12.0.0", - "tweetnacl": "^1.0.3", - "uuid": "^9.0.0" - }, - "devDependencies": { - "rimraf": "^3.0.2", - "typescript": "^4.8.3" - } -} diff --git a/packages/testing/tsconfig.build.json b/packages/testing/tsconfig.build.json deleted file mode 100644 index d59aa31ce..000000000 --- a/packages/testing/tsconfig.build.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "extends": "../../tsconfig.build.json", - - "compilerOptions": { - "module": "CommonJS", - "outDir": "./lib/cjs" - }, - - "include": [ - "src/**/*.ts", "src/**/*.js" - ], - - "exclude": [ - "coverage", - "**/*.spec.ts", - ] -} diff --git a/packages/testing/tsconfig.esm.json b/packages/testing/tsconfig.esm.json deleted file mode 100644 index e1f3b73b6..000000000 --- a/packages/testing/tsconfig.esm.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "./tsconfig.build.json", - "compilerOptions": { - "module": "ES6", - "outDir": "./lib/esm" - } -} diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 6ca78ae0b..41de4abad 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.33.1", + "version": "0.34.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index d8ac81f4f..312f91d2a 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.33.1", + "version": "0.34.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/src/Address.ts b/packages/types/src/Address.ts index 57f1e320c..9ee9edfd5 100644 --- a/packages/types/src/Address.ts +++ b/packages/types/src/Address.ts @@ -5,10 +5,9 @@ * found in the LICENSE file in the root directory of this source tree. */ -import type { Prefix } from '@polkadot/util-crypto/address/types' -import type { HexString } from '@polkadot/util/types' import '@polkadot/keyring' // TS needs this for the augmentation below -import type { KeyringPair } from './index.js' + +import type { HexString, KeyringPair, Prefix } from './Imported' export interface KiltEncryptionKeypair { secretKey: Uint8Array diff --git a/packages/types/src/Balance.ts b/packages/types/src/Balance.ts index 6ea4ddcf8..a8381b130 100644 --- a/packages/types/src/Balance.ts +++ b/packages/types/src/Balance.ts @@ -5,8 +5,7 @@ * found in the LICENSE file in the root directory of this source tree. */ -import type { AnyNumber } from '@polkadot/types/types/codec' -import type { BN } from '@polkadot/util' +import type { AnyNumber, BN } from './Imported' export type Balances = { free: BN diff --git a/packages/types/src/CType.ts b/packages/types/src/CType.ts index c0737de15..7ab4452f1 100644 --- a/packages/types/src/CType.ts +++ b/packages/types/src/CType.ts @@ -5,7 +5,7 @@ * found in the LICENSE file in the root directory of this source tree. */ -import type { HexString } from '@polkadot/util/types' +import type { HexString } from './Imported' export type InstanceType = 'boolean' | 'integer' | 'number' | 'string' | 'array' diff --git a/packages/types/src/Credential.ts b/packages/types/src/Credential.ts index e0f7e657c..ec2c0d467 100644 --- a/packages/types/src/Credential.ts +++ b/packages/types/src/Credential.ts @@ -5,10 +5,10 @@ * found in the LICENSE file in the root directory of this source tree. */ -import type { HexString } from '@polkadot/util/types' import type { DidSignature } from './DidDocument' import type { IClaim } from './Claim' import type { IDelegationNode } from './Delegation' +import type { HexString } from './Imported' export type Hash = HexString diff --git a/packages/types/src/Deposit.ts b/packages/types/src/Deposit.ts index 01a5e6f74..6cc0a583c 100644 --- a/packages/types/src/Deposit.ts +++ b/packages/types/src/Deposit.ts @@ -5,7 +5,7 @@ * found in the LICENSE file in the root directory of this source tree. */ -import type { BN } from '@polkadot/util' +import type { BN } from './Imported' import type { KiltAddress } from './Address' /** diff --git a/packages/types/src/DidDocument.ts b/packages/types/src/DidDocument.ts index 61340a977..9bf9a7502 100644 --- a/packages/types/src/DidDocument.ts +++ b/packages/types/src/DidDocument.ts @@ -5,8 +5,7 @@ * found in the LICENSE file in the root directory of this source tree. */ -import type { BN } from '@polkadot/util' - +import type { BN } from './Imported' import type { KiltAddress } from './Address' type AuthenticationKeyType = '00' | '01' diff --git a/packages/types/src/Imported.ts b/packages/types/src/Imported.ts new file mode 100644 index 000000000..f83228443 --- /dev/null +++ b/packages/types/src/Imported.ts @@ -0,0 +1,17 @@ +/** + * Copyright (c) 2018-2023, BOTLabs GmbH. + * + * This source code is licensed under the BSD 4-Clause "Original" license + * found in the LICENSE file in the root directory of this source tree. + */ + +export type { + ISubmittableResult, + AnyNumber, + AnyJson, +} from '@polkadot/types/types' +export type { BN } from '@polkadot/util' +export type { HexString } from '@polkadot/util/types' +export type { Prefix } from '@polkadot/util-crypto/address/types' +export type { SubmittableExtrinsic } from '@polkadot/api/promise/types' +export type { KeyringPair } from '@polkadot/keyring/types' diff --git a/packages/types/src/Message.ts b/packages/types/src/Message.ts index ba2445d1f..b4264dc76 100644 --- a/packages/types/src/Message.ts +++ b/packages/types/src/Message.ts @@ -5,8 +5,7 @@ * found in the LICENSE file in the root directory of this source tree. */ -import type { AnyJson } from '@polkadot/types/types/codec' - +import type { AnyJson } from './Imported' import type { DidResourceUri, DidSignature, DidUri } from './DidDocument.js' import type { IAttestation } from './Attestation.js' import type { PartialClaim } from './Claim.js' diff --git a/packages/types/src/PublicCredential.ts b/packages/types/src/PublicCredential.ts index 25451038b..0b3ba75db 100644 --- a/packages/types/src/PublicCredential.ts +++ b/packages/types/src/PublicCredential.ts @@ -5,9 +5,7 @@ * found in the LICENSE file in the root directory of this source tree. */ -import type { HexString } from '@polkadot/util/types' -import type { BN } from '@polkadot/util' - +import type { HexString, BN } from './Imported' import type { CTypeHash } from './CType' import type { IDelegationNode } from './Delegation' import type { IClaimContents } from './Claim' diff --git a/packages/types/src/index.ts b/packages/types/src/index.ts index 81efc6583..16c6bf418 100644 --- a/packages/types/src/index.ts +++ b/packages/types/src/index.ts @@ -9,10 +9,6 @@ * @module @kiltprotocol/types */ -export type { ISubmittableResult } from '@polkadot/types/types' -export type { SubmittableExtrinsic } from '@polkadot/api/promise/types' -export type { KeyringPair } from '@polkadot/keyring/types' - export * as SubscriptionPromise from './SubscriptionPromise.js' export * from './Attestation.js' @@ -33,3 +29,4 @@ export * from './CryptoCallbacks.js' export * from './DidResolver.js' export * from './DidDocumentExporter.js' export * from './PublicCredential.js' +export * from './Imported.js' diff --git a/packages/utils/package.json b/packages/utils/package.json index 4c7277ce2..3759f261b 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.33.1", + "version": "0.34.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -39,7 +39,7 @@ "@polkadot/keyring": "^12.0.0", "@polkadot/util": "^12.0.0", "@polkadot/util-crypto": "^12.0.0", - "cbor-web": "^8.0.0", + "cbor-web": "^9.0.0", "tweetnacl": "^1.0.3", "uuid": "^9.0.0" } diff --git a/packages/utils/src/Crypto.spec.ts b/packages/utils/src/Crypto.spec.ts index de8f3d621..fd08e586a 100644 --- a/packages/utils/src/Crypto.spec.ts +++ b/packages/utils/src/Crypto.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/utils - */ - import * as string from '@polkadot/util/string' import nacl from 'tweetnacl' import * as Crypto from './Crypto' @@ -97,7 +93,7 @@ describe('helper functions', () => { hashed = Crypto.hashStatements(statements, { nonceGenerator: () => '' }) expect(hashed.map((i) => i.digest)).toEqual(digests) expect(hashed.map((i) => i.saltedHash)).toMatchInlineSnapshot(` - Array [ + [ "0x3d4b9478848e85771d9d678f2d80966bf9ea36f0d05b44fe5b23433e14a3eace", "0x56c8f25bc8a9a8921c756c41f47efceb12c8129a9569456f7d80955bfcec2dcf", "0x46ee56523ea5289f05709c26f6be6b08f364a3f2d6a5a8b6cfb2839bfe6a506e", @@ -112,7 +108,7 @@ describe('helper functions', () => { }) expect(hashed.map((i) => i.digest)).toEqual(digests) expect(hashed.map((i) => i.saltedHash)).toMatchInlineSnapshot(` - Array [ + [ "0x7126bd9e273ae6a1b2cfdc5f987b0f862cf2db77fea9b017963fec83b328784d", "0xda617d15abd22984c2f1927f4e23a101696b7495c83ac178bbb91818ec102117", "0x4e31eef9054d0d8682707880a414b86fafaa963b19220d03273eae764ad0bc1d", diff --git a/packages/utils/src/Crypto.ts b/packages/utils/src/Crypto.ts index 7c5a7b65c..3dfc942eb 100644 --- a/packages/utils/src/Crypto.ts +++ b/packages/utils/src/Crypto.ts @@ -15,8 +15,9 @@ import { decodeAddress, encodeAddress } from '@polkadot/keyring' import type { - KiltEncryptionKeypair, + HexString, KeyringPair, + KiltEncryptionKeypair, KiltKeyringPair, } from '@kiltprotocol/types' import { @@ -36,7 +37,6 @@ import { import { Keyring } from '@polkadot/api' import nacl from 'tweetnacl' import { v4 as uuid } from 'uuid' -import type { HexString } from '@polkadot/util/types' import jsonabc from './jsonabc.js' import * as SDKErrors from './SDKErrors.js' import { ss58Format } from './ss58Format.js' diff --git a/packages/utils/src/DataUtils.spec.ts b/packages/utils/src/DataUtils.spec.ts index 19dfb5cae..c53cfc4c5 100644 --- a/packages/utils/src/DataUtils.spec.ts +++ b/packages/utils/src/DataUtils.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/utils - */ - import { encodeAddress } from '@polkadot/keyring' import type { KiltAddress } from '@kiltprotocol/types' import { SDKErrors, ss58Format } from './index' diff --git a/packages/utils/src/UUID.spec.ts b/packages/utils/src/UUID.spec.ts index 5ae83c706..fdc61a48a 100644 --- a/packages/utils/src/UUID.spec.ts +++ b/packages/utils/src/UUID.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/utils - */ - import * as UUID from './UUID' describe('UUID', () => { diff --git a/packages/utils/src/cbor-web.d.ts b/packages/utils/src/cbor-web.d.ts deleted file mode 100644 index 4def7650e..000000000 --- a/packages/utils/src/cbor-web.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module 'cbor-web' diff --git a/packages/utils/src/cbor.ts b/packages/utils/src/cbor.ts index e8d6f254e..b12205bcd 100644 --- a/packages/utils/src/cbor.ts +++ b/packages/utils/src/cbor.ts @@ -8,4 +8,4 @@ // special import syntax as this is a pure cjs import import * as cborImp from 'cbor-web' // this is horrible but the only way to make this import work in both cjs & esm builds -export const cbor = cborImp?.default ?? cborImp +export const cbor: typeof cborImp = (cborImp as any)?.default ?? cborImp diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index f05ffef45..60c8f6082 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.33.1", + "version": "0.34.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", @@ -30,7 +30,6 @@ "bugs": "https://github.com/KILTprotocol/sdk-js/issues", "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "devDependencies": { - "@kiltprotocol/testing": "workspace:*", "@types/jsonld": "1.5.1", "rimraf": "^3.0.2", "typescript": "^4.8.3" diff --git a/packages/vc-export/src/exportToVerifiableCredential.spec.ts b/packages/vc-export/src/exportToVerifiableCredential.spec.ts index ba815b371..c77f0e02c 100644 --- a/packages/vc-export/src/exportToVerifiableCredential.spec.ts +++ b/packages/vc-export/src/exportToVerifiableCredential.spec.ts @@ -5,33 +5,31 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/vc-export - */ +import { base58Encode } from '@polkadot/util-crypto' +import type { DocumentLoader } from 'jsonld-signatures' -import { +import { Attestation } from '@kiltprotocol/core' +import * as Did from '@kiltprotocol/did' +import type { DidUri, IAttestation, ICType, ICredential, ICredentialPresentation, } from '@kiltprotocol/types' -import { Attestation } from '@kiltprotocol/core' -import * as Did from '@kiltprotocol/did' import { Crypto } from '@kiltprotocol/utils' -import { ApiMocks } from '@kiltprotocol/testing' -import type { DocumentLoader } from 'jsonld-signatures' -import { base58Encode } from '@polkadot/util-crypto' -import * as toVC from './exportToVerifiableCredential' -import * as verificationUtils from './verificationUtils' -import * as presentationUtils from './presentationUtils' -import type { IPublicKeyRecord, VerifiableCredential } from './types' + +import { ApiMocks } from '../../../tests/testUtils' import { DEFAULT_VERIFIABLECREDENTIAL_CONTEXT, DEFAULT_VERIFIABLECREDENTIAL_TYPE, KILT_CREDENTIAL_CONTEXT_URL, KILT_VERIFIABLECREDENTIAL_TYPE, } from './constants' +import * as toVC from './exportToVerifiableCredential' +import * as presentationUtils from './presentationUtils' +import type { IPublicKeyRecord, VerifiableCredential } from './types' +import * as verificationUtils from './verificationUtils' jest.mock('@kiltprotocol/core', () => ({ ...jest.requireActual('@kiltprotocol/core'), @@ -40,7 +38,7 @@ jest.mock('@kiltprotocol/core', () => ({ const mockedApi: any = ApiMocks.getMockedApi() -const ctype: ICType = { +const cType: ICType = { $schema: 'http://kilt-protocol.org/draft-01/ctype#', title: 'membership', properties: { @@ -144,20 +142,20 @@ it('exports credential to VC', () => { it('exports includes ctype as schema', () => { expect( - toVC.fromCredentialAndAttestation(credential, attestation, ctype) + toVC.fromCredentialAndAttestation(credential, attestation, cType) ).toMatchObject({ credentialSchema: { - '@id': ctype.$id, - name: ctype.title, + '@id': cType.$id, + name: cType.title, '@type': 'JsonSchemaValidator2018', - schema: ctype, + schema: cType, }, }) }) it('VC has correct format (full example)', () => { expect( - toVC.fromCredentialAndAttestation(credential, attestation, ctype) + toVC.fromCredentialAndAttestation(credential, attestation, cType) ).toMatchObject({ '@context': [ DEFAULT_VERIFIABLECREDENTIAL_CONTEXT, @@ -263,7 +261,7 @@ describe('proofs', () => { const VCWithSchema = toVC.fromCredentialAndAttestation( credential, attestation, - ctype + cType ) const result = verificationUtils.validateSchema(VCWithSchema) expect(result.errors).toEqual([]) @@ -348,7 +346,7 @@ describe('proofs', () => { describe('negative tests', () => { beforeEach(() => { - VC = toVC.fromCredentialAndAttestation(credential, attestation, ctype) + VC = toVC.fromCredentialAndAttestation(credential, attestation, cType) }) it('errors on proof mismatch', async () => { diff --git a/packages/vc-export/src/exportToVerifiableCredential.ts b/packages/vc-export/src/exportToVerifiableCredential.ts index c30950d42..fb02db1f6 100644 --- a/packages/vc-export/src/exportToVerifiableCredential.ts +++ b/packages/vc-export/src/exportToVerifiableCredential.ts @@ -72,13 +72,13 @@ export function toCredentialIRI(rootHash: string): string { * * @param input The credential to transform. * @param attestation The attestation corresponding to the credential. - * @param ctype (optional) The full specification of the credential's CType. If specified, the CType will be included with the VC on its `credentialSchema` property. + * @param cType (optional) The full specification of the credential's CType. If specified, the CType will be included with the VC on its `credentialSchema` property. * @returns The VC representation of the KILT credential and optionally its CType. */ export function fromCredentialAndAttestation( input: ICredential | ICredentialPresentation, attestation: IAttestation, - ctype?: ICType + cType?: ICType ): VerifiableCredential { const { claimHashes, legitimations, delegationId, rootHash, claim } = input @@ -99,12 +99,12 @@ export function fromCredentialAndAttestation( // if ctype is given, add as credential schema let credentialSchema: CredentialSchema | undefined - if (ctype) { + if (cType) { credentialSchema = { - '@id': ctype.$id, + '@id': cType.$id, '@type': JSON_SCHEMA_TYPE, - name: ctype.title, - schema: ctype, + name: cType.title, + schema: cType, } } diff --git a/packages/vc-export/src/vc-js/suites/KiltAttestedSuite.spec.ts b/packages/vc-export/src/vc-js/suites/KiltAttestedSuite.spec.ts index b5a76b6f8..219f52dce 100644 --- a/packages/vc-export/src/vc-js/suites/KiltAttestedSuite.spec.ts +++ b/packages/vc-export/src/vc-js/suites/KiltAttestedSuite.spec.ts @@ -5,16 +5,12 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/vc-js - */ - -import { ApiMocks } from '@kiltprotocol/testing' import jsigs from 'jsonld-signatures' import { Attestation } from '@kiltprotocol/core' import type { IAttestation } from '@kiltprotocol/types' import vcjs from 'vc-js' import jsonld from 'jsonld' +import { ApiMocks } from '../../../../../tests/testUtils' import { KiltAttestedSuite as AttestationSuite } from './KiltAttestedSuite' import credential from '../examples/example-vc.json' import { documentLoader } from '../documentLoader' diff --git a/packages/vc-export/src/vc-js/suites/KiltIntegritySuite.spec.ts b/packages/vc-export/src/vc-js/suites/KiltIntegritySuite.spec.ts index cac0a288c..bf02c06f2 100644 --- a/packages/vc-export/src/vc-js/suites/KiltIntegritySuite.spec.ts +++ b/packages/vc-export/src/vc-js/suites/KiltIntegritySuite.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/vc-js - */ - import jsigs from 'jsonld-signatures' import vcjs from 'vc-js' import jsonld from 'jsonld' diff --git a/packages/vc-export/src/vc-js/suites/KiltSignatureSuite.spec.ts b/packages/vc-export/src/vc-js/suites/KiltSignatureSuite.spec.ts index 6522b1f4b..44475192e 100644 --- a/packages/vc-export/src/vc-js/suites/KiltSignatureSuite.spec.ts +++ b/packages/vc-export/src/vc-js/suites/KiltSignatureSuite.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group unit/vc-js - */ - import jsigs from 'jsonld-signatures' import type { DocumentLoader, purposes } from 'jsonld-signatures' import vcjs from 'vc-js' diff --git a/packages/testing/src/BreakingChanges.spec.ts b/tests/breakingChanges/BreakingChanges.spec.ts similarity index 98% rename from packages/testing/src/BreakingChanges.spec.ts rename to tests/breakingChanges/BreakingChanges.spec.ts index 6890ec11a..2c73a6772 100644 --- a/packages/testing/src/BreakingChanges.spec.ts +++ b/tests/breakingChanges/BreakingChanges.spec.ts @@ -5,10 +5,6 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group breaking - */ - import { Attestation, Claim, @@ -26,7 +22,8 @@ import { } from '@kiltprotocol/sdk-js' import nacl from 'tweetnacl' import { v4 } from 'uuid' -import { makeEncryptionKeyTool } from './TestUtils' + +import { makeEncryptionKeyTool } from '../testUtils/index.js' jest.mock('uuid') jest.mocked(v4).mockReturnValue('1ee1307c-9e65-475d-9061-0b5bfd86d2f7') diff --git a/packages/testing/src/__snapshots__/BreakingChanges.spec.ts.snap b/tests/breakingChanges/__snapshots__/BreakingChanges.spec.ts.snap similarity index 92% rename from packages/testing/src/__snapshots__/BreakingChanges.spec.ts.snap rename to tests/breakingChanges/__snapshots__/BreakingChanges.spec.ts.snap index 4fbd05fa3..aed34b2a8 100644 --- a/packages/testing/src/__snapshots__/BreakingChanges.spec.ts.snap +++ b/tests/breakingChanges/__snapshots__/BreakingChanges.spec.ts.snap @@ -1,9 +1,9 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`Breaking Changes Light DID does not break the light did uri generation 2`] = ` -Object { - "authentication": Array [ - Object { +{ + "authentication": [ + { "id": "#authentication", "publicKey": Uint8Array [ 132, @@ -42,8 +42,8 @@ Object { "type": "sr25519", }, ], - "keyAgreement": Array [ - Object { + "keyAgreement": [ + { "id": "#encryption", "publicKey": Uint8Array [ 179, @@ -82,13 +82,13 @@ Object { "type": "x25519", }, ], - "service": Array [ - Object { + "service": [ + { "id": "#1234", - "serviceEndpoint": Array [ + "serviceEndpoint": [ "https://ipfs.io/ipfs/QmNUAwg7JPK9nnuZiUri5nDaqLHqUFtNoZYtfD22Q6w3c8", ], - "type": Array [ + "type": [ "KiltPublishedCredentialCollectionV1", ], }, @@ -98,9 +98,9 @@ Object { `; exports[`Breaking Changes Messages does not break Message & EncryptedMessage structure 1`] = ` -Object { - "body": Object { - "content": Object { +{ + "body": { + "content": { "cTypeHash": "0x1234", }, "type": "request-terms", @@ -113,7 +113,7 @@ Object { `; exports[`Breaking Changes Messages does not break Message & EncryptedMessage structure 2`] = ` -Object { +{ "ciphertext": "0x8edac73d2230d66ba1a177db550773afa4f2d914786050424594c89f07ccbc2f643df95ba030281079a92215c66d76a74b39e6013cb8a5e1459a6853fdbfb522bff1295cbf9e5e2d6947de5974dafe6de32e6d42e2c349f07b5bb934a504d0a227d502e920cadfae44869ed041d86916cee71e0619650f15a1a04f27751f0839e8f3c629d626a54f489c4170b3ffefe118039925124acba91c097bf4d8c582f26c8a3b0f1dba93bf8da6b8f2a2a4303ac529c7028aec026f6baeb1ae95d90884f12890f4bc2d535247a170dd68a6828573e36502ef0d99fb4cdb0750b84902876009cca8662f952746cad88c9a8285b8be42ad349c67de540fb92e122d52c2ffa4c8e229076990ce60b13b64ddb6d769017262597bb33085cb8e09d5189f2077e48ece3c0100a1aa11935237a1ee3ef80200c4ccf92bb41d75c83238ac18360c6ce81df45ade968a59aff9fddf6a475fd976f581c267ddc377a1a239997ccdfd92f0e8d3a6b1b76f520e1c25ea7e3954ed555eb4ac02d68562cd1f031b724a063606c95d528c91b80ea49786303d0a6e7201e16f3e0d5571f205069da31874ed8e6c5d380cce070b2cb96961d2f594cc4a5dffc94e3782bf6a1da3bbc1af2f773e79250e09c3206b0e0c7a08a001393526220831f3735c07bf68c8ccca07260b8cb1acbb66163c73af0d783eb035a99add5d604f10916432846279524e8741b57961d52583ced5b79943c986a9f28d99be029b00e5688afcb3731152861a37ddf5e70c95dd64e2d765a4d0a662f93d16a3650c505dc2e4a048b0d585fadc8c4efa23360e81292c2ae88027068deed4ff3cd97d961b58afd95728aa4ce03340ebf13a4bc7d4b6f8b5e69a7a3ecb18c79a06946466d0b29ca0bd00c47d1256fe564b48eac37b389c246d9b556dc67921e27fb6a8aeb93953c1947834432e5ade8117bcad7173f9d8b43ebf4cce89789744d55215a8bbdfd9a7222cafccc02a3c62e5a26794ef21d1bba441f0aa9ca3e077f32e06daa22264345b66dbf34dbb9219434ad7c21b386de7587c3612fc36b63bdf650206a191fea82855a5181942c151c8a90741c8a930c570350f863ca448d908f7f1a098b0521a14c9c49bf99bd1715ebed5a93b3bc7e04fcd845efcc564448d0426e21496ca124ca8c96a1a598e90529d65fc33d64b937b16a077eaa052b10d34ef91a321a2c0476601318a7eaecc8308d618d82db10f8978c4310e1384bfb043d0a12c20325c4ceef36e144a9f2fb94d0dc546b5b4cbce162569e8e40454d219750eb85758555547c0900874bd2ca7c561aeab4e2b5e26130d91e22196fd138e8e73f6414c50c08a6f981e8a1ed244c2ee2f5c4d446d793e0039b5f75ea40215ebb2e2bcf8fae608173a00ccc24e016176417bbac0ce5682932341fc3a2a106a4f6d83dbf17a81fc7d0e5cbe52c92ece5789e8e8b3", "nonce": "0x2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a", "receivedAt": undefined, @@ -123,7 +123,7 @@ Object { `; exports[`Breaking Changes Messages does not break for attestation flow: attestation 1`] = ` -Object { +{ "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", "claimHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", "delegationId": null, @@ -133,9 +133,9 @@ Object { `; exports[`Breaking Changes Messages does not break for attestation flow: claim 1`] = ` -Object { +{ "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", - "contents": Object { + "contents": { "name": "Bob", }, "owner": "did:kilt:light:004rn1Xps9QSMiAb2aMoKQbAred94wh1iLjGmNBYy1FVCS81ry:z1msTRicERqs59nwMvp3yzMRBhRatQoZZaiSZfyN7TzqeEs1bHHTCH3RURC6zWk5B8HXGZThZos9PJFJrkiYchNGbAGQRKSKucBVDVoXBLDyEm4P1dsco9wyoaWa5kkFw6DZgnKrTJg8Y8iCy7k2yo8GeMXAuR8qoBFFXj7Up7DxKJrMoQudvFHTy2uk2HPNfqkzJX17Wqsny1MKHD82eC3TcjrGCkhMZy3NmzkySmLsDmmHnG2csZ5vvefFRFZ1hSKfUtcV8EnLd3zozsiZByaLrED2XVbuHqPVzqcnrCJF8fSm49NcGDgsQkwnQwbuKfMkov9WwJoxhDSYG6e7WP", @@ -143,77 +143,77 @@ Object { `; exports[`Breaking Changes Messages does not break for attestation flow: credential 1`] = ` -Object { - "claim": Object { +{ + "claim": { "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", - "contents": Object { + "contents": { "name": "Bob", }, "owner": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83", }, - "claimHashes": Array [ + "claimHashes": [ "0x901805bb5659ecf21cc79d50a98021d49eb83ee136a2609d4377dd615a271a78", "0xdaff2311c04ea4d2c16e9bd3dc4debba9822e5c4cfb53e36b48f090036169575", ], - "claimNonceMap": Object { + "claimNonceMap": { "0x499856031d06ddecbda0c1e0f1c0de4f53f614732f205190d81d0c76e793bdf0": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", "0x721cf4dd222afba0b79565332ac711cb634762052c3c2d45434f53f465d030f7": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", }, "delegationId": null, - "legitimations": Array [], + "legitimations": [], "rootHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", } `; exports[`Breaking Changes Messages does not break for attestation flow: presentation 1`] = ` -Object { - "claim": Object { +{ + "claim": { "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", - "contents": Object { + "contents": { "name": "Bob", }, "owner": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83", }, - "claimHashes": Array [ + "claimHashes": [ "0x901805bb5659ecf21cc79d50a98021d49eb83ee136a2609d4377dd615a271a78", "0xdaff2311c04ea4d2c16e9bd3dc4debba9822e5c4cfb53e36b48f090036169575", ], - "claimNonceMap": Object { + "claimNonceMap": { "0x499856031d06ddecbda0c1e0f1c0de4f53f614732f205190d81d0c76e793bdf0": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", "0x721cf4dd222afba0b79565332ac711cb634762052c3c2d45434f53f465d030f7": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", }, - "claimerSignature": Object { + "claimerSignature": { "challenge": "0xCAFE", "keyUri": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83#authentication", "signature": "0x0000000000000000000000000000000000000000000000000000000000000000", }, "delegationId": null, - "legitimations": Array [], + "legitimations": [], "rootHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", } `; exports[`Breaking Changes Messages does not break for attestation flow: request-attestation 1`] = ` -Object { - "content": Object { - "credential": Object { - "claim": Object { +{ + "content": { + "credential": { + "claim": { "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", - "contents": Object { + "contents": { "name": "Bob", }, "owner": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83", }, - "claimHashes": Array [ + "claimHashes": [ "0x901805bb5659ecf21cc79d50a98021d49eb83ee136a2609d4377dd615a271a78", "0xdaff2311c04ea4d2c16e9bd3dc4debba9822e5c4cfb53e36b48f090036169575", ], - "claimNonceMap": Object { + "claimNonceMap": { "0x499856031d06ddecbda0c1e0f1c0de4f53f614732f205190d81d0c76e793bdf0": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", "0x721cf4dd222afba0b79565332ac711cb634762052c3c2d45434f53f465d030f7": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", }, "delegationId": null, - "legitimations": Array [], + "legitimations": [], "rootHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", }, }, @@ -222,15 +222,15 @@ Object { `; exports[`Breaking Changes Messages does not break for attestation flow: request-credential 1`] = ` -Object { - "content": Object { - "cTypes": Array [ - Object { +{ + "content": { + "cTypes": [ + { "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", - "requiredProperties": Array [ + "requiredProperties": [ "name", ], - "trustedAttesters": Array [ + "trustedAttesters": [ "did:kilt:light:004rn1Xps9QSMiAb2aMoKQbAred94wh1iLjGmNBYy1FVCS81ry:z1msTRicERqs59nwMvp3yzMRBhRatQoZZaiSZfyN7TzqeEs1bHHTCH3RURC6zWk5B8HXGZThZos9PJFJrkiYchNGbAGQRKSKucBVDVoXBLDyEm4P1dsco9wyoaWa5kkFw6DZgnKrTJg8Y8iCy7k2yo8GeMXAuR8qoBFFXj7Up7DxKJrMoQudvFHTy2uk2HPNfqkzJX17Wqsny1MKHD82eC3TcjrGCkhMZy3NmzkySmLsDmmHnG2csZ5vvefFRFZ1hSKfUtcV8EnLd3zozsiZByaLrED2XVbuHqPVzqcnrCJF8fSm49NcGDgsQkwnQwbuKfMkov9WwJoxhDSYG6e7WP", ], }, @@ -242,8 +242,8 @@ Object { `; exports[`Breaking Changes Messages does not break for attestation flow: request-terms 1`] = ` -Object { - "content": Object { +{ + "content": { "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", }, "type": "request-terms", @@ -251,9 +251,9 @@ Object { `; exports[`Breaking Changes Messages does not break for attestation flow: submit-attestation 1`] = ` -Object { - "content": Object { - "attestation": Object { +{ + "content": { + "attestation": { "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", "claimHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", "delegationId": null, @@ -266,31 +266,31 @@ Object { `; exports[`Breaking Changes Messages does not break for attestation flow: submit-credential 1`] = ` -Object { - "content": Array [ - Object { - "claim": Object { +{ + "content": [ + { + "claim": { "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", - "contents": Object { + "contents": { "name": "Bob", }, "owner": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83", }, - "claimHashes": Array [ + "claimHashes": [ "0x901805bb5659ecf21cc79d50a98021d49eb83ee136a2609d4377dd615a271a78", "0xdaff2311c04ea4d2c16e9bd3dc4debba9822e5c4cfb53e36b48f090036169575", ], - "claimNonceMap": Object { + "claimNonceMap": { "0x499856031d06ddecbda0c1e0f1c0de4f53f614732f205190d81d0c76e793bdf0": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", "0x721cf4dd222afba0b79565332ac711cb634762052c3c2d45434f53f465d030f7": "1ee1307c-9e65-475d-9061-0b5bfd86d2f7", }, - "claimerSignature": Object { + "claimerSignature": { "challenge": "0xCAFE", "keyUri": "did:kilt:light:004rzcHqKvv6TbsA46VpG53JrvdzRr6ccyboUNeCGTvDw2AozU:z1msTRicERqs59nwMvp3yzMRBhQhYShb1vEhbpWo5ZbqVAgi2UFELJk7MbUSeEfBdAVsJhdqcEAhXxH4YrV5nwgTYjFYszWKLFnYvSUhgZ7teDiLt1FbAo484ihnagUKQkE46o3fqSv52WgM6VatrEqetD3ekokxFtz4yn2vFYPdDMPmKE3cVxdKqPMa3Ewh6k46SENeEDZFLg1L8Yi73ZVEA9AwDg2RDuBDnpjetxBC6U5qMKVfqbh1rjgxpubpSj6sppHDq8xZ4LDU2bs1a9g6qcWJjkrtS69t3PTFZv5Ey84epnvbXEm8hsVnzTKsY6LbQmCiVqwKWUPUwXpj83#authentication", "signature": "0x0000000000000000000000000000000000000000000000000000000000000000", }, "delegationId": null, - "legitimations": Array [], + "legitimations": [], "rootHash": "0x453559279a1816c20673194e21eb72f121e7b31f5b33ea3a8d3264d6f4d319ac", }, ], @@ -299,16 +299,16 @@ Object { `; exports[`Breaking Changes Messages does not break for attestation flow: submit-terms 1`] = ` -Object { - "content": Object { - "claim": Object { +{ + "content": { + "claim": { "cTypeHash": "0xd5301762c62114f6455e0b373cccce20631c2a717004a98f8953e738e17c5d3c", - "contents": Object { + "contents": { "name": "Bob", }, "owner": "did:kilt:light:004rn1Xps9QSMiAb2aMoKQbAred94wh1iLjGmNBYy1FVCS81ry:z1msTRicERqs59nwMvp3yzMRBhRatQoZZaiSZfyN7TzqeEs1bHHTCH3RURC6zWk5B8HXGZThZos9PJFJrkiYchNGbAGQRKSKucBVDVoXBLDyEm4P1dsco9wyoaWa5kkFw6DZgnKrTJg8Y8iCy7k2yo8GeMXAuR8qoBFFXj7Up7DxKJrMoQudvFHTy2uk2HPNfqkzJX17Wqsny1MKHD82eC3TcjrGCkhMZy3NmzkySmLsDmmHnG2csZ5vvefFRFZ1hSKfUtcV8EnLd3zozsiZByaLrED2XVbuHqPVzqcnrCJF8fSm49NcGDgsQkwnQwbuKfMkov9WwJoxhDSYG6e7WP", }, - "legitimations": Array [], + "legitimations": [], }, "type": "submit-terms", } diff --git a/tests/bundle-test.html b/tests/bundle/bundle-test.html similarity index 60% rename from tests/bundle-test.html rename to tests/bundle/bundle-test.html index 2ed21cbcb..ab8c4378e 100644 --- a/tests/bundle-test.html +++ b/tests/bundle/bundle-test.html @@ -1,13 +1,13 @@ - + Bundle tests - + diff --git a/tests/bundle-test.ts b/tests/bundle/bundle-test.ts similarity index 97% rename from tests/bundle-test.ts rename to tests/bundle/bundle-test.ts index 091ea0e0b..df39e0397 100644 --- a/tests/bundle-test.ts +++ b/tests/bundle/bundle-test.ts @@ -149,7 +149,9 @@ async function createFullDidFromKeypair( await Blockchain.signAndSubmitTx(storeTx, payer) const queryFunction = api.call.did?.query ?? api.call.didApi.queryDid - const encodedDidDetails = await queryFunction(Did.toChain(Did.getFullDidUriFromKey(keypair))) + const encodedDidDetails = await queryFunction( + Did.toChain(Did.getFullDidUriFromKey(keypair)) + ) return Did.linkedInfoFromChain(encodedDidDetails).document } @@ -223,7 +225,9 @@ async function runAll() { await Blockchain.signAndSubmitTx(didStoreTx, payer) const queryFunction = api.call.did?.query ?? api.call.didApi.queryDid - const encodedDidDetails = await queryFunction(Did.toChain(Did.getFullDidUriFromKey(keypair))) + const encodedDidDetails = await queryFunction( + Did.toChain(Did.getFullDidUriFromKey(keypair)) + ) const fullDid = Did.linkedInfoFromChain(encodedDidDetails).document const resolved = await Did.resolve(fullDid.uri) diff --git a/tests/bundle.spec.ts b/tests/bundle/bundle.spec.ts similarity index 75% rename from tests/bundle.spec.ts rename to tests/bundle/bundle.spec.ts index 88da2475f..eb541f350 100644 --- a/tests/bundle.spec.ts +++ b/tests/bundle/bundle.spec.ts @@ -7,10 +7,11 @@ /// -import { GenericContainer, Wait, StartedTestContainer } from 'testcontainers' +import type { StartedTestContainer } from 'testcontainers' import { test, expect } from '@playwright/test' import url from 'url' import path from 'path' +import { getStartedTestContainer } from '../integration/utils.js' declare global { interface Window { @@ -24,13 +25,7 @@ const WS_PORT = 9944 test.beforeAll(async () => { // start dev node with testcontainers - testcontainer = await new GenericContainer( - process.env.TESTCONTAINERS_NODE_IMG || 'kiltprotocol/mashnet-node:latest' - ) - .withCommand(['--dev', `--ws-port=${WS_PORT}`, '--ws-external']) - .withExposedPorts({ container: WS_PORT, host: WS_PORT }) - .withWaitStrategy(Wait.forLogMessage(`:${WS_PORT}`)) - .start() + testcontainer = await getStartedTestContainer(WS_PORT) }) test('html bundle integration test', async ({ page }) => { diff --git a/tests/playwright.config.ts b/tests/bundle/playwright.config.ts similarity index 100% rename from tests/playwright.config.ts rename to tests/bundle/playwright.config.ts diff --git a/tests/tsconfig.json b/tests/bundle/tsconfig.json similarity index 55% rename from tests/tsconfig.json rename to tests/bundle/tsconfig.json index 073b69d65..6ea1fa0bc 100644 --- a/tests/tsconfig.json +++ b/tests/bundle/tsconfig.json @@ -1,7 +1,8 @@ { - "extends": "../tsconfig.json", - "include": ["bundle-test.ts", "types.d.ts", "cbor-web.d.ts"], + "extends": "../../tsconfig.json", + "include": ["bundle-test.ts", "types.d.ts"], "compilerOptions": { + "baseUrl": "./", "module": "None", "resolveJsonModule": false, "sourceMap": false, diff --git a/tests/types.d.ts b/tests/bundle/types.d.ts similarity index 100% rename from tests/types.d.ts rename to tests/bundle/types.d.ts diff --git a/tests/cbor-web.d.ts b/tests/cbor-web.d.ts deleted file mode 100644 index 4def7650e..000000000 --- a/tests/cbor-web.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module 'cbor-web' diff --git a/packages/core/src/__integrationtests__/AccountLinking.spec.ts b/tests/integration/AccountLinking.spec.ts similarity index 98% rename from packages/core/src/__integrationtests__/AccountLinking.spec.ts rename to tests/integration/AccountLinking.spec.ts index 3f31ec64c..51b9da0ae 100644 --- a/packages/core/src/__integrationtests__/AccountLinking.spec.ts +++ b/tests/integration/AccountLinking.spec.ts @@ -5,33 +5,30 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group integration/accountLinking - */ +import type { ApiPromise } from '@polkadot/api' +import { Keyring } from '@polkadot/keyring' +import { BN } from '@polkadot/util' +import { mnemonicGenerate } from '@polkadot/util-crypto' +import { BalanceUtils, disconnect } from '@kiltprotocol/core' import * as Did from '@kiltprotocol/did' -import { - createFullDidFromSeed, - KeyTool, - makeSigningKeyTool, -} from '@kiltprotocol/testing' import type { DidDocument, KeyringPair, KiltKeyringPair, } from '@kiltprotocol/types' -import { Keyring } from '@polkadot/keyring' -import { BN } from '@polkadot/util' -import type { ApiPromise } from '@polkadot/api' -import { mnemonicGenerate } from '@polkadot/util-crypto' -import { convertToTxUnit } from '../balance/Balance.utils' + +import { + createFullDidFromSeed, + KeyTool, + makeSigningKeyTool, +} from '../testUtils/index.js' import { createEndowedTestAccount, fundAccount, initializeApi, submitTx, -} from './utils' -import { disconnect } from '../kilt' +} from './utils.js' let paymentAccount: KiltKeyringPair let linkDeposit: BN @@ -289,7 +286,10 @@ describe('When there is an on-chain DID', () => { genericAccount = new Keyring({ type: 'ecdsa' }).addFromMnemonic( mnemonicGenerate() ) - await fundAccount(genericAccount.address, convertToTxUnit(new BN(10), 1)) + await fundAccount( + genericAccount.address, + BalanceUtils.convertToTxUnit(new BN(10), 1) + ) didKey = makeSigningKeyTool() newDidKey = makeSigningKeyTool() did = await createFullDidFromSeed(paymentAccount, didKey.keypair) diff --git a/packages/core/src/__integrationtests__/Attestation.spec.ts b/tests/integration/Attestation.spec.ts similarity index 98% rename from packages/core/src/__integrationtests__/Attestation.spec.ts rename to tests/integration/Attestation.spec.ts index 46883e811..09f205af0 100644 --- a/packages/core/src/__integrationtests__/Attestation.spec.ts +++ b/tests/integration/Attestation.spec.ts @@ -5,36 +5,36 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group integration/attestation - */ +import type { ApiPromise } from '@polkadot/api' +import { + Attestation, + Claim, + Credential, + CType, + disconnect, +} from '@kiltprotocol/core' +import * as Did from '@kiltprotocol/did' import type { DidDocument, IAttestation, ICredential, KiltKeyringPair, } from '@kiltprotocol/types' +import { Crypto } from '@kiltprotocol/utils' + import { createFullDidFromSeed, KeyTool, makeSigningKeyTool, -} from '@kiltprotocol/testing' -import * as Did from '@kiltprotocol/did' -import { Crypto } from '@kiltprotocol/utils' -import { ApiPromise } from '@polkadot/api' -import * as Attestation from '../attestation' -import * as Credential from '../credential' -import { disconnect } from '../kilt' -import * as Claim from '../claim' -import * as CType from '../ctype' +} from '../testUtils/index.js' import { createEndowedTestAccount, driversLicenseCType, initializeApi, isCtypeOnChain, submitTx, -} from './utils' +} from './utils.js' let tokenHolder: KiltKeyringPair let attester: DidDocument diff --git a/packages/core/src/__integrationtests__/Balance.spec.ts b/tests/integration/Balance.spec.ts similarity index 95% rename from packages/core/src/__integrationtests__/Balance.spec.ts rename to tests/integration/Balance.spec.ts index 555d2fa19..c05d58cc0 100644 --- a/packages/core/src/__integrationtests__/Balance.spec.ts +++ b/tests/integration/Balance.spec.ts @@ -5,16 +5,15 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group integration/balance - */ +import { jest } from '@jest/globals' import { ApiPromise } from '@polkadot/api' import { BN } from '@polkadot/util' +import { disconnect } from '@kiltprotocol/core' import type { KeyringPair } from '@kiltprotocol/types' -import { makeSigningKeyTool } from '@kiltprotocol/testing' -import { disconnect } from '../kilt' + +import { makeSigningKeyTool } from '../testUtils/index.js' import { addressFromRandom, devAlice, @@ -23,7 +22,7 @@ import { EXISTENTIAL_DEPOSIT, initializeApi, submitTx, -} from './utils' +} from './utils.js' let api: ApiPromise beforeAll(async () => { @@ -66,7 +65,7 @@ describe('when there is a dev chain with a faucet', () => { // in the other test cases. it('should be able to faucet coins to a new address', async () => { const address = addressFromRandom() - const spy = jest.fn() + const spy = jest.fn() api.query.system.account(address, spy) const balanceBefore = (await api.query.system.account(faucet.address)).data const transferTx = api.tx.balances.transfer(address, EXISTENTIAL_DEPOSIT) @@ -140,7 +139,7 @@ describe('When there are haves and have-nots', () => { }, 30_000) it('should be able to make a new transaction once the last is ready', async () => { - const spy = jest.fn() + const spy = jest.fn() api.query.system.account(faucet.address, spy) const transferTx1 = api.tx.balances.transfer( @@ -158,7 +157,7 @@ describe('When there are haves and have-nots', () => { }, 30_000) it('should be able to make multiple transactions at once', async () => { - const listener = jest.fn() + const listener = jest.fn() api.query.system.account(faucet.address, listener) const batch = api.tx.utility.batchAll([ diff --git a/packages/core/src/__integrationtests__/Blockchain.spec.ts b/tests/integration/Blockchain.spec.ts similarity index 93% rename from packages/core/src/__integrationtests__/Blockchain.spec.ts rename to tests/integration/Blockchain.spec.ts index 74bfdbeda..d54729eb0 100644 --- a/packages/core/src/__integrationtests__/Blockchain.spec.ts +++ b/tests/integration/Blockchain.spec.ts @@ -5,20 +5,15 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group integration/blockchain - */ - -import { BN } from '@polkadot/util' import type { ApiPromise } from '@polkadot/api' +import { BN } from '@polkadot/util' -import type { KeyringPair } from '@kiltprotocol/types' import { Blockchain } from '@kiltprotocol/chain-helpers' -import { makeSigningKeyTool } from '@kiltprotocol/testing' +import { BalanceUtils, disconnect } from '@kiltprotocol/core' +import type { KeyringPair } from '@kiltprotocol/types' -import { toFemtoKilt } from '../balance/Balance.utils' -import { devCharlie, devFaucet, initializeApi, submitTx } from './utils' -import { disconnect } from '../kilt' +import { makeSigningKeyTool } from '../testUtils/index.js' +import { devCharlie, devFaucet, initializeApi, submitTx } from './utils.js' let api: ApiPromise beforeAll(async () => { @@ -36,7 +31,7 @@ describe('Chain returns specific errors, that we check for', () => { const transferTx = api.tx.balances.transfer( testIdentity.address, - toFemtoKilt(10000) + BalanceUtils.toFemtoKilt(10000) ) await submitTx(transferTx, faucet) }, 40000) @@ -143,7 +138,11 @@ describe('Chain returns specific errors, that we check for', () => { ) const promiseToFail = Blockchain.dispatchTx(tx) - const promiseToUsurp = Blockchain.dispatchTx(errorTx) + const promiseToUsurp = new Promise((resolve) => { + setTimeout(() => { + resolve(Blockchain.dispatchTx(errorTx)) + }, 50) + }) await Promise.all([ expect(promiseToFail).rejects.toHaveProperty('status.isUsurped', true), promiseToUsurp, diff --git a/packages/core/src/__integrationtests__/Ctypes.spec.ts b/tests/integration/Ctypes.spec.ts similarity index 77% rename from packages/core/src/__integrationtests__/Ctypes.spec.ts rename to tests/integration/Ctypes.spec.ts index 4fac16e74..253a76ef8 100644 --- a/packages/core/src/__integrationtests__/Ctypes.spec.ts +++ b/tests/integration/Ctypes.spec.ts @@ -5,22 +5,19 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group integration/ctype - */ +import type { ApiPromise } from '@polkadot/api' -import type { DidDocument, ICType, KiltKeyringPair } from '@kiltprotocol/types' +import { CType, disconnect } from '@kiltprotocol/core' import * as Did from '@kiltprotocol/did' +import type { DidDocument, ICType, KiltKeyringPair } from '@kiltprotocol/types' +import { Crypto, UUID } from '@kiltprotocol/utils' + import { - createFullDidFromSeed, KeyTool, + createFullDidFromSeed, makeSigningKeyTool, -} from '@kiltprotocol/testing' -import { Crypto, UUID } from '@kiltprotocol/utils' -import { ApiPromise } from '@polkadot/api' -import * as CType from '../ctype' -import { disconnect } from '../kilt' -import { createEndowedTestAccount, initializeApi, submitTx } from './utils' +} from '../testUtils/index.js' +import { createEndowedTestAccount, initializeApi, submitTx } from './utils.js' let api: ApiPromise // we skip fetching CTypes from chain for the old pallet version, where the necessary information was not yet on chain. @@ -54,9 +51,9 @@ describe('When there is an CtypeCreator and a verifier', () => { }, 60_000) it('should not be possible to create a claim type w/o tokens', async () => { - const ctype = makeCType() + const cType = makeCType() const { keypair, getSignCallback } = makeSigningKeyTool() - const storeTx = api.tx.ctype.add(CType.toChain(ctype)) + const storeTx = api.tx.ctype.add(CType.toChain(cType)) const authorizedStoreTx = await Did.authorizeTx( ctypeCreator.uri, storeTx, @@ -64,15 +61,15 @@ describe('When there is an CtypeCreator and a verifier', () => { keypair.address ) await expect(submitTx(authorizedStoreTx, keypair)).rejects.toThrowError() - await expect(CType.verifyStored(ctype)).rejects.toThrow() + await expect(CType.verifyStored(cType)).rejects.toThrow() if (hasBlockNumbers) { - await expect(CType.fetchFromChain(ctype.$id)).rejects.toThrow() + await expect(CType.fetchFromChain(cType.$id)).rejects.toThrow() } }, 20_000) it('should be possible to create a claim type', async () => { - const ctype = makeCType() - const storeTx = api.tx.ctype.add(CType.toChain(ctype)) + const cType = makeCType() + const storeTx = api.tx.ctype.add(CType.toChain(cType)) const authorizedStoreTx = await Did.authorizeTx( ctypeCreator.uri, storeTx, @@ -82,18 +79,18 @@ describe('When there is an CtypeCreator and a verifier', () => { await submitTx(authorizedStoreTx, paymentAccount) if (hasBlockNumbers) { - const retrievedCType = await CType.fetchFromChain(ctype.$id) - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const { createdAt, creator, ...originalCtype } = retrievedCType - expect(originalCtype).toStrictEqual(ctype) + const { cType: originalCtype, creator } = await CType.fetchFromChain( + cType.$id + ) + expect(originalCtype).toStrictEqual(cType) expect(creator).toBe(ctypeCreator.uri) - await expect(CType.verifyStored(retrievedCType)).resolves.not.toThrow() + await expect(CType.verifyStored(originalCtype)).resolves.not.toThrow() } }, 40_000) it('should not be possible to create a claim type that exists', async () => { - const ctype = makeCType() - const storeTx = api.tx.ctype.add(CType.toChain(ctype)) + const cType = makeCType() + const storeTx = api.tx.ctype.add(CType.toChain(cType)) const authorizedStoreTx = await Did.authorizeTx( ctypeCreator.uri, storeTx, @@ -102,7 +99,7 @@ describe('When there is an CtypeCreator and a verifier', () => { ) await submitTx(authorizedStoreTx, paymentAccount) - const storeTx2 = api.tx.ctype.add(CType.toChain(ctype)) + const storeTx2 = api.tx.ctype.add(CType.toChain(cType)) const authorizedStoreTx2 = await Did.authorizeTx( ctypeCreator.uri, storeTx2, @@ -117,7 +114,7 @@ describe('When there is an CtypeCreator and a verifier', () => { }) if (hasBlockNumbers) { - const retrievedCType = await CType.fetchFromChain(ctype.$id) + const retrievedCType = await CType.fetchFromChain(cType.$id) expect(retrievedCType.creator).toBe(ctypeCreator.uri) } }, 45_000) diff --git a/packages/core/src/__integrationtests__/Delegation.spec.ts b/tests/integration/Delegation.spec.ts similarity index 96% rename from packages/core/src/__integrationtests__/Delegation.spec.ts rename to tests/integration/Delegation.spec.ts index b2d56a31a..325ab53e0 100644 --- a/packages/core/src/__integrationtests__/Delegation.spec.ts +++ b/tests/integration/Delegation.spec.ts @@ -5,10 +5,18 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group integration/delegation - */ +import { ApiPromise } from '@polkadot/api' +import { randomAsHex } from '@polkadot/util-crypto' +import { + Attestation, + CType, + Claim, + Credential, + DelegationNode, + disconnect, +} from '@kiltprotocol/core' +import * as Did from '@kiltprotocol/did' import type { DidDocument, ICType, @@ -17,20 +25,12 @@ import type { SignCallback, } from '@kiltprotocol/types' import { Permission, PermissionType } from '@kiltprotocol/types' + import { - createFullDidFromSeed, KeyTool, + createFullDidFromSeed, makeSigningKeyTool, -} from '@kiltprotocol/testing' -import * as Did from '@kiltprotocol/did' -import { ApiPromise } from '@polkadot/api' -import { randomAsHex } from '@polkadot/util-crypto' -import * as Attestation from '../attestation' -import * as Claim from '../claim' -import * as CType from '../ctype' -import * as Credential from '../credential' -import { disconnect } from '../kilt' -import { DelegationNode } from '../delegation/DelegationNode' +} from '../testUtils/index.js' import { createEndowedTestAccount, devBob, @@ -38,8 +38,7 @@ import { initializeApi, isCtypeOnChain, submitTx, -} from './utils' -import { getAttestationHashes } from '../delegation/DelegationNode.chain' +} from './utils.js' let api: ApiPromise @@ -435,7 +434,14 @@ describe('handling queries to data not on chain', () => { }) it('getAttestationHashes on empty', async () => { - expect(await getAttestationHashes(randomAsHex(32))).toEqual([]) + expect( + await DelegationNode.newNode({ + permissions: [0], + hierarchyId: randomAsHex(32), + parentId: randomAsHex(32), + account: attester.uri, + }).getAttestationHashes() + ).toEqual([]) }) }) diff --git a/packages/core/src/__integrationtests__/Deposit.spec.ts b/tests/integration/Deposit.spec.ts similarity index 97% rename from packages/core/src/__integrationtests__/Deposit.spec.ts rename to tests/integration/Deposit.spec.ts index 65612e4fe..92f4f2da1 100644 --- a/packages/core/src/__integrationtests__/Deposit.spec.ts +++ b/tests/integration/Deposit.spec.ts @@ -5,18 +5,17 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group integration/deposit - */ +import type { ApiPromise } from '@polkadot/api' +import { BN } from '@polkadot/util' -import * as Did from '@kiltprotocol/did' import { - createFullDidFromLightDid, - createFullDidFromSeed, - createMinimalLightDidFromKeypair, - KeyTool, - makeSigningKeyTool, -} from '@kiltprotocol/testing' + Attestation, + Claim, + Credential, + CType, + disconnect, +} from '@kiltprotocol/core' +import * as Did from '@kiltprotocol/did' import type { DidDocument, IAttestation, @@ -26,8 +25,13 @@ import type { SignCallback, SubmittableExtrinsic, } from '@kiltprotocol/types' -import type { ApiPromise } from '@polkadot/api' -import { BN } from '@polkadot/util' +import { + createFullDidFromLightDid, + createFullDidFromSeed, + createMinimalLightDidFromKeypair, + KeyTool, + makeSigningKeyTool, +} from '../testUtils/index.js' import { devFaucet, driversLicenseCTypeForDeposit as driversLicenseCType, @@ -35,12 +39,7 @@ import { initializeApi, isCtypeOnChain, submitTx, -} from './utils' -import * as Attestation from '../attestation' -import * as Claim from '../claim' -import * as Credential from '../credential' -import { disconnect } from '../kilt' -import * as CType from '../ctype' +} from './utils.js' let api: ApiPromise let tx: SubmittableExtrinsic diff --git a/packages/core/src/__integrationtests__/Did.spec.ts b/tests/integration/Did.spec.ts similarity index 96% rename from packages/core/src/__integrationtests__/Did.spec.ts rename to tests/integration/Did.spec.ts index b86915244..c81635f47 100644 --- a/packages/core/src/__integrationtests__/Did.spec.ts +++ b/tests/integration/Did.spec.ts @@ -5,21 +5,11 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group integration/did - */ - import type { ApiPromise } from '@polkadot/api' import { BN } from '@polkadot/util' +import { CType, DelegationNode, disconnect } from '@kiltprotocol/core' import * as Did from '@kiltprotocol/did' -import { - createFullDidFromSeed, - createMinimalLightDidFromKeypair, - KeyTool, - makeEncryptionKeyTool, - makeSigningKeyTool, -} from '@kiltprotocol/testing' import { DidDocument, DidResolutionResult, @@ -33,15 +23,19 @@ import { } from '@kiltprotocol/types' import { UUID } from '@kiltprotocol/utils' -import * as CType from '../ctype' -import { disconnect } from '../kilt' +import { + createFullDidFromSeed, + createMinimalLightDidFromKeypair, + KeyTool, + makeEncryptionKeyTool, + makeSigningKeyTool, +} from '../testUtils/index.js' import { createEndowedTestAccount, devBob, initializeApi, submitTx, -} from './utils' -import { DelegationNode } from '../delegation' +} from './utils.js' let paymentAccount: KiltKeyringPair let api: ApiPromise @@ -54,11 +48,6 @@ beforeAll(async () => { paymentAccount = await createEndowedTestAccount() }, 30_000) -it('fetches the correct deposit amount', async () => { - const depositAmount = api.consts.did.deposit.toBn() - expect(depositAmount.toString()).toMatchInlineSnapshot('"2007900000000000"') -}) - describe('write and didDeleteTx', () => { let did: DidDocument let key: KeyTool @@ -520,8 +509,8 @@ describe('DID authorization', () => { }, 60_000) it('authorizes ctype creation with DID signature', async () => { - const ctype = CType.fromProperties(UUID.generate(), {}) - const call = api.tx.ctype.add(CType.toChain(ctype)) + const cType = CType.fromProperties(UUID.generate(), {}) + const call = api.tx.ctype.add(CType.toChain(cType)) const tx = await Did.authorizeTx( did.uri, call, @@ -530,7 +519,7 @@ describe('DID authorization', () => { ) await submitTx(tx, paymentAccount) - await expect(CType.verifyStored(ctype)).resolves.not.toThrow() + await expect(CType.verifyStored(cType)).resolves.not.toThrow() }, 60_000) it('no longer authorizes ctype creation after DID deletion', async () => { @@ -547,8 +536,8 @@ describe('DID authorization', () => { ) await submitTx(tx, paymentAccount) - const ctype = CType.fromProperties(UUID.generate(), {}) - const call = api.tx.ctype.add(CType.toChain(ctype)) + const cType = CType.fromProperties(UUID.generate(), {}) + const call = api.tx.ctype.add(CType.toChain(cType)) const tx2 = await Did.authorizeTx( did.uri, call, @@ -560,7 +549,7 @@ describe('DID authorization', () => { name: expect.stringMatching(/^(DidNotPresent|NotFound)$/), }) - await expect(CType.verifyStored(ctype)).rejects.toThrow() + await expect(CType.verifyStored(cType)).rejects.toThrow() }, 60_000) }) @@ -1018,12 +1007,12 @@ describe('DID extrinsics batching', () => { }, 50_000) it('simple batch succeeds despite failures of some extrinsics', async () => { - const ctype = CType.fromProperties(UUID.generate(), {}) - const ctypeStoreTx = api.tx.ctype.add(CType.toChain(ctype)) + const cType = CType.fromProperties(UUID.generate(), {}) + const ctypeStoreTx = api.tx.ctype.add(CType.toChain(cType)) const rootNode = DelegationNode.newRoot({ account: fullDid.uri, permissions: [Permission.DELEGATE], - cTypeHash: CType.idToHash(ctype.$id), + cTypeHash: CType.idToHash(cType.$id), }) const delegationStoreTx = await rootNode.getStoreTx() const delegationRevocationTx = await rootNode.getRevokeTx(fullDid.uri) @@ -1044,16 +1033,16 @@ describe('DID extrinsics batching', () => { await submitTx(tx, paymentAccount) // The ctype has been created, even though the delegation operations failed. - await expect(CType.verifyStored(ctype)).resolves.not.toThrow() + await expect(CType.verifyStored(cType)).resolves.not.toThrow() }) it('batchAll fails if any extrinsics fail', async () => { - const ctype = CType.fromProperties(UUID.generate(), {}) - const ctypeStoreTx = api.tx.ctype.add(CType.toChain(ctype)) + const cType = CType.fromProperties(UUID.generate(), {}) + const ctypeStoreTx = api.tx.ctype.add(CType.toChain(cType)) const rootNode = DelegationNode.newRoot({ account: fullDid.uri, permissions: [Permission.DELEGATE], - cTypeHash: CType.idToHash(ctype.$id), + cTypeHash: CType.idToHash(cType.$id), }) const delegationStoreTx = await rootNode.getStoreTx() const delegationRevocationTx = await rootNode.getRevokeTx(fullDid.uri) @@ -1077,7 +1066,7 @@ describe('DID extrinsics batching', () => { }) // The ctype has not been created, since atomicity ensures the whole batch is reverted in case of failure. - await expect(CType.verifyStored(ctype)).rejects.toThrow() + await expect(CType.verifyStored(cType)).rejects.toThrow() }) it('can batch extrinsics for the same required key type', async () => { @@ -1267,7 +1256,7 @@ describe('Runtime constraints', () => { }) it('should not be possible to create a DID with a service endpoint that has too many URIs', async () => { - const uris = ['x:url-1', 'x:url-2'] + const uris = ['x:url-1', 'x:url-2', 'x:url-3'] const limit = api.consts.did.maxNumberOfUrlsPerService.toNumber() expect(uris.length).toBeGreaterThan(limit) }) diff --git a/packages/core/src/__integrationtests__/ErrorHandler.spec.ts b/tests/integration/ErrorHandler.spec.ts similarity index 72% rename from packages/core/src/__integrationtests__/ErrorHandler.spec.ts rename to tests/integration/ErrorHandler.spec.ts index 497cc4139..26f7a6e9e 100644 --- a/packages/core/src/__integrationtests__/ErrorHandler.spec.ts +++ b/tests/integration/ErrorHandler.spec.ts @@ -5,30 +5,28 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group integration/errorhandler - */ - -import { BN } from '@polkadot/util' import { ApiPromise } from '@polkadot/api' + +import { disconnect } from '@kiltprotocol/core' +import * as Did from '@kiltprotocol/did' import type { DidDocument, IAttestation, KiltKeyringPair, } from '@kiltprotocol/types' + import { - createFullDidFromSeed, KeyTool, + createFullDidFromSeed, makeSigningKeyTool, -} from '@kiltprotocol/testing' -import * as Did from '@kiltprotocol/did' -import { disconnect } from '../kilt' +} from '../testUtils/index.js' + import { addressFromRandom, createEndowedTestAccount, initializeApi, submitTx, -} from './utils' +} from './utils.js' let paymentAccount: KiltKeyringPair let someDid: DidDocument @@ -46,11 +44,29 @@ beforeAll(async () => { }, 60_000) it('records an extrinsic error when transferring less than the existential amount to new identity', async () => { - const transferTx = api.tx.balances.transfer(addressFromRandom(), new BN(1)) - await expect(submitTx(transferTx, paymentAccount)).rejects.toMatchObject({ - section: 'balances', - name: 'ExistentialDeposit', - }) + const transferTx = api.tx.balances.transfer(addressFromRandom(), 1) + const promise = submitTx(transferTx, paymentAccount) + if (api.runtimeVersion.specVersion.toBigInt() >= 11_200n) { + await expect(promise).rejects.toMatchInlineSnapshot(` + { + "token": "BelowMinimum", + } + `) + } else { + await expect(promise).rejects.toMatchInlineSnapshot(` + { + "args": [], + "docs": [ + "Value too low to create account due to existential deposit", + ], + "fields": [], + "index": 3, + "method": "ExistentialDeposit", + "name": "ExistentialDeposit", + "section": "balances", + } + `) + } }, 30_000) it('records an extrinsic error when ctype does not exist', async () => { diff --git a/packages/core/src/__integrationtests__/PublicCredentials.spec.ts b/tests/integration/PublicCredentials.spec.ts similarity index 98% rename from packages/core/src/__integrationtests__/PublicCredentials.spec.ts rename to tests/integration/PublicCredentials.spec.ts index 0b4f221a5..f28799855 100644 --- a/packages/core/src/__integrationtests__/PublicCredentials.spec.ts +++ b/tests/integration/PublicCredentials.spec.ts @@ -5,31 +5,27 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group integration/publicCredentials - */ - -import type { ApiPromise } from '@polkadot/api' -import type { HexString } from '@polkadot/util/types' import type { AssetDidUri, DidDocument, + HexString, IPublicCredential, IPublicCredentialInput, KiltKeyringPair, } from '@kiltprotocol/types' - +import type { ApiPromise } from '@polkadot/api' import { BN } from '@polkadot/util' import { randomAsHex } from '@polkadot/util-crypto' + +import { CType, disconnect, PublicCredential } from '@kiltprotocol/core' import * as Did from '@kiltprotocol/did' +import { UUID } from '@kiltprotocol/utils' + import { createFullDidFromSeed, KeyTool, makeSigningKeyTool, -} from '@kiltprotocol/testing' -import { UUID } from '@kiltprotocol/utils' -import * as CType from '../ctype' -import * as PublicCredential from '../publicCredential' +} from '../testUtils/index.js' import { createEndowedTestAccount, devAlice, @@ -37,8 +33,7 @@ import { isCtypeOnChain, nftNameCType, submitTx, -} from './utils' -import { disconnect } from '../kilt' +} from './utils.js' let tokenHolder: KiltKeyringPair let attester: DidDocument diff --git a/packages/core/src/__integrationtests__/Web3Names.spec.ts b/tests/integration/Web3Names.spec.ts similarity index 98% rename from packages/core/src/__integrationtests__/Web3Names.spec.ts rename to tests/integration/Web3Names.spec.ts index da6b9bba9..1c00908e5 100644 --- a/packages/core/src/__integrationtests__/Web3Names.spec.ts +++ b/tests/integration/Web3Names.spec.ts @@ -5,26 +5,23 @@ * found in the LICENSE file in the root directory of this source tree. */ -/** - * @group integration/web3name - */ - +import type { ApiPromise } from '@polkadot/api' import { randomAsHex } from '@polkadot/util-crypto' +import { disconnect } from '@kiltprotocol/core' +import * as Did from '@kiltprotocol/did' import type { DidDocument, KeyringPair, KiltKeyringPair, } from '@kiltprotocol/types' + import { - createFullDidFromSeed, KeyTool, + createFullDidFromSeed, makeSigningKeyTool, -} from '@kiltprotocol/testing' -import * as Did from '@kiltprotocol/did' -import type { ApiPromise } from '@polkadot/api' -import { disconnect } from '../kilt' -import { createEndowedTestAccount, initializeApi, submitTx } from './utils' +} from '../testUtils/index.js' +import { createEndowedTestAccount, initializeApi, submitTx } from './utils.js' let api: ApiPromise diff --git a/tests/integration/jest.config.integration.esm.js b/tests/integration/jest.config.integration.esm.js new file mode 100644 index 000000000..d1278ccff --- /dev/null +++ b/tests/integration/jest.config.integration.esm.js @@ -0,0 +1,12 @@ +module.exports = { + testEnvironment: "node", + clearMocks: true, + // Parachain block time is 12s + testTimeout: 120_000, + maxWorkers: 3, + roots: ["dist"], + transform: {}, + moduleDirectories: [ + "node_modules", + ], +} diff --git a/tests/integration/jest.config.integration.js b/tests/integration/jest.config.integration.js new file mode 100644 index 000000000..7776ab565 --- /dev/null +++ b/tests/integration/jest.config.integration.js @@ -0,0 +1,13 @@ +module.exports = { + preset: "ts-jest", + testEnvironment: "node", + clearMocks: true, + // Parachain block time is 12s + testTimeout: 120_000, + maxWorkers: 3, + testPathIgnorePatterns: ["dist"], + resolver: "ts-jest-resolver", + moduleDirectories: [ + "node_modules", + ], +} diff --git a/tests/integration/tsconfig.esm.json b/tests/integration/tsconfig.esm.json new file mode 100644 index 000000000..fac8f2c04 --- /dev/null +++ b/tests/integration/tsconfig.esm.json @@ -0,0 +1,9 @@ +{ + "extends": "../../tsconfig.json", + "include": ["*.ts"], + "compilerOptions": { + "module": "ES6", + "baseUrl": "./", + "outDir": "dist" + } +} diff --git a/packages/core/src/__integrationtests__/utils.ts b/tests/integration/utils.ts similarity index 71% rename from packages/core/src/__integrationtests__/utils.ts rename to tests/integration/utils.ts index ee15e867f..93d888092 100644 --- a/packages/core/src/__integrationtests__/utils.ts +++ b/tests/integration/utils.ts @@ -8,13 +8,14 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion */ /* eslint-disable no-console */ +import type { ApiPromise } from '@polkadot/api' import { BN } from '@polkadot/util' -import { ApiPromise } from '@polkadot/api' + import { GenericContainer, StartedTestContainer, Wait } from 'testcontainers' -import { Crypto } from '@kiltprotocol/utils' -import { makeSigningKeyTool } from '@kiltprotocol/testing' import { Blockchain } from '@kiltprotocol/chain-helpers' +import { ConfigService } from '@kiltprotocol/config' +import { CType, connect, init } from '@kiltprotocol/core' import type { ICType, KeyringPair, @@ -23,33 +24,52 @@ import type { SubmittableExtrinsic, SubscriptionPromise, } from '@kiltprotocol/types' -import { ConfigService } from '@kiltprotocol/config' +import { Crypto } from '@kiltprotocol/utils' -import * as CType from '../ctype' -import { connect, init } from '../kilt' +import { makeSigningKeyTool } from '../testUtils/TestUtils.js' export const EXISTENTIAL_DEPOSIT = new BN(10 ** 13) const ENDOWMENT = EXISTENTIAL_DEPOSIT.muln(10000) const WS_PORT = 9944 -async function getStartedTestContainer(): Promise { - try { - const image = - process.env.TESTCONTAINERS_NODE_IMG || 'kiltprotocol/mashnet-node' - console.log(`using testcontainer with image ${image}`) - const testcontainer = new GenericContainer(image) - .withCommand(['--dev', `--ws-port=${WS_PORT}`, '--ws-external']) - .withExposedPorts(WS_PORT) - .withWaitStrategy(Wait.forLogMessage(`:${WS_PORT}`)) - const started = await testcontainer.start() - return started - } catch (error) { - console.error( - 'Could not start the docker container via testcontainers, run with DEBUG=testcontainers* to debug' - ) - throw error +export async function getStartedTestContainer( + hostPort?: number +): Promise { + const image = + process.env.TESTCONTAINERS_NODE_IMG || 'kiltprotocol/mashnet-node' + console.log(`using testcontainer with image ${image}`) + const strategies = [ + ['--dev', '--ws-external', `--ws-port=${WS_PORT}`], + ['--dev', '--rpc-external', `--rpc-port=${WS_PORT}`], + ] + // eslint-disable-next-line no-restricted-syntax + for (const args of strategies) { + console.log(`attempting to launch container with arguments ${args}`) + try { + const testcontainer = new GenericContainer(image) + .withCommand(args) + .withExposedPorts( + typeof hostPort === 'number' + ? { host: hostPort, container: WS_PORT } + : WS_PORT + ) + .withWaitStrategy(Wait.forLogMessage(`:${WS_PORT}`)) + // eslint-disable-next-line no-await-in-loop + const started = await testcontainer.start() + console.log('container started and ready') + return started + } catch (error) { + console.warn( + 'Failed to start container due to the following error:\n', + error + ) + } } + console.error( + 'Could not start the docker container via testcontainers, run with DEBUG=testcontainers* to debug' + ) + throw new Error('CONTAINER LAUNCH ERROR') } async function buildConnection(wsEndpoint: string): Promise { @@ -69,7 +89,7 @@ export async function initializeApi(): Promise { return buildConnection(TEST_WS_ADDRESS) } const started = await getStartedTestContainer() - const port = started.getMappedPort(9944) + const port = started.getMappedPort(WS_PORT) const host = started.getHost() const WS_ADDRESS = `ws://${host}:${port}` console.log(`connecting to test container at ${WS_ADDRESS}`) @@ -92,9 +112,9 @@ export function addressFromRandom(): KiltAddress { return makeSigningKeyTool('ed25519').keypair.address } -export async function isCtypeOnChain(ctype: ICType): Promise { +export async function isCtypeOnChain(cType: ICType): Promise { try { - await CType.verifyStored(ctype) + await CType.verifyStored(cType) return true } catch { return false diff --git a/tests/jest.setup.js b/tests/jest.setup.js new file mode 100644 index 000000000..0ce07364d --- /dev/null +++ b/tests/jest.setup.js @@ -0,0 +1,5 @@ +const { cryptoWaitReady } = require('@polkadot/util-crypto') + +beforeAll(async () => { + await cryptoWaitReady() +}) diff --git a/packages/testing/src/TestUtils.ts b/tests/testUtils/TestUtils.ts similarity index 100% rename from packages/testing/src/TestUtils.ts rename to tests/testUtils/TestUtils.ts diff --git a/packages/testing/src/index.ts b/tests/testUtils/index.ts similarity index 100% rename from packages/testing/src/index.ts rename to tests/testUtils/index.ts diff --git a/packages/testing/src/metadata/spiritnet.ts b/tests/testUtils/metadata/spiritnet.ts similarity index 66% rename from packages/testing/src/metadata/spiritnet.ts rename to tests/testUtils/metadata/spiritnet.ts index 341f1d6ea..26dba2867 100644 --- a/packages/testing/src/metadata/spiritnet.ts +++ b/tests/testUtils/metadata/spiritnet.ts @@ -7,11 +7,11 @@ import { readFileSync } from 'fs' import path from 'path' -import type { HexString } from '@polkadot/util/types' +import type { HexString } from '@kiltprotocol/types' -const META_PATH = '../../../../augment-api/metadata/spiritnet.json' +const META_PATH = 'packages/augment-api/metadata/spiritnet.json' const { result: metaHex } = JSON.parse( - readFileSync(path.join(__dirname, META_PATH), { encoding: 'utf-8' }) + readFileSync(path.resolve(META_PATH), { encoding: 'utf-8' }) ) /* eslint-disable import/no-default-export */ diff --git a/packages/testing/src/mocks/index.ts b/tests/testUtils/mocks/index.ts similarity index 100% rename from packages/testing/src/mocks/index.ts rename to tests/testUtils/mocks/index.ts diff --git a/packages/testing/src/mocks/mockedApi.ts b/tests/testUtils/mocks/mockedApi.ts similarity index 100% rename from packages/testing/src/mocks/mockedApi.ts rename to tests/testUtils/mocks/mockedApi.ts diff --git a/packages/testing/src/mocks/mockedApi.utils.ts b/tests/testUtils/mocks/mockedApi.utils.ts similarity index 100% rename from packages/testing/src/mocks/mockedApi.utils.ts rename to tests/testUtils/mocks/mockedApi.utils.ts diff --git a/packages/testing/src/mocks/typeRegistry.ts b/tests/testUtils/mocks/typeRegistry.ts similarity index 96% rename from packages/testing/src/mocks/typeRegistry.ts rename to tests/testUtils/mocks/typeRegistry.ts index 457bc8773..a2aa7f1ae 100644 --- a/packages/testing/src/mocks/typeRegistry.ts +++ b/tests/testUtils/mocks/typeRegistry.ts @@ -8,12 +8,12 @@ // This module is not part of the public-facing api. /* eslint-disable jsdoc/require-jsdoc */ -import type { HexString } from '@polkadot/util/types' - import { ApiPromise, WsProvider } from '@polkadot/api' import { Metadata, TypeRegistry } from '@polkadot/types' import { types } from '@kiltprotocol/type-definitions' +import type { HexString } from '@kiltprotocol/types' + import metaStatic from '../metadata/spiritnet.js' // adapted from https://github.com/polkadot-js/apps/blob/master/packages/test-support/src/api/createAugmentedApi.ts diff --git a/tsconfig.docs.json b/tsconfig.docs.json index 07250952d..1a9740e2f 100644 --- a/tsconfig.docs.json +++ b/tsconfig.docs.json @@ -1,6 +1,6 @@ { "extends": "./tsconfig.json", - "include": ["packages/**/*", "jest-setup/*"], + "include": ["packages/**/*"], "typedocOptions": { "entryPointStrategy": "resolve", "entryPoints": [ @@ -31,7 +31,6 @@ "excludePrivate": true, "hideGenerator": true, "name": "API Documentation", - "listInvalidSymbolLinks": true, "readme": "README.md" } } diff --git a/tsconfig.json b/tsconfig.json index cf928ba32..a447ff164 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "extends": "./tsconfig.build.json", - "include": ["packages/**/*", "jest-setup/*", "docs/*"], + "include": ["packages/**/*", "docs/*", "tests/**/*"], "compilerOptions": { "baseUrl": "./packages", "sourceMap": true, @@ -16,7 +16,6 @@ "@kiltprotocol/did": ["did/src"], "@kiltprotocol/asset-did": ["asset-did/src"], "@kiltprotocol/docs": ["docs/src"], - "@kiltprotocol/testing": ["testing/src"], "@kiltprotocol/augment-api": ["augment-api/src"], "@kiltprotocol/augment-api/extraDefs": ["augment-api/src/interfaces/extraDefs"], "@kiltprotocol/type-definitions": ["type-definitions/src"], diff --git a/yarn.lock b/yarn.lock index ef459b63e..cb93862ab 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,12 +5,13 @@ __metadata: version: 6 cacheKey: 8 -"@ampproject/remapping@npm:^2.1.0": - version: 2.1.2 - resolution: "@ampproject/remapping@npm:2.1.2" +"@ampproject/remapping@npm:^2.2.0": + version: 2.2.1 + resolution: "@ampproject/remapping@npm:2.2.1" dependencies: - "@jridgewell/trace-mapping": ^0.3.0 - checksum: e023f92cdd9723f3042cde3b4d922adfeef0e198aa73486b0b6c034ad36af5f96e5c0cc72b335b30b2eb9852d907efc92af6bfcd3f4b4d286177ee32a189cf92 + "@jridgewell/gen-mapping": ^0.3.0 + "@jridgewell/trace-mapping": ^0.3.9 + checksum: 03c04fd526acc64a1f4df22651186f3e5ef0a9d6d6530ce4482ec9841269cf7a11dbb8af79237c282d721c5312024ff17529cd72cc4768c11e999b58e2302079 languageName: node linkType: hard @@ -23,53 +24,54 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/code-frame@npm:7.18.6" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/code-frame@npm:7.22.5" dependencies: - "@babel/highlight": ^7.18.6 - checksum: 195e2be3172d7684bf95cff69ae3b7a15a9841ea9d27d3c843662d50cdd7d6470fd9c8e64be84d031117e4a4083486effba39f9aef6bbb2c89f7f21bcfba33ba + "@babel/highlight": ^7.22.5 + checksum: cfe804f518f53faaf9a1d3e0f9f74127ab9a004912c3a16fda07fb6a633393ecb9918a053cb71804204c1b7ec3d49e1699604715e2cfb0c9f7bc4933d324ebb6 languageName: node linkType: hard -"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.0, @babel/compat-data@npm:^7.20.1": - version: 7.20.1 - resolution: "@babel/compat-data@npm:7.20.1" - checksum: 989b9b7a6fe43c547bb8329241bd0ba6983488b83d29cc59de35536272ee6bb4cc7487ba6c8a4bceebb3a57f8c5fea1434f80bbbe75202bc79bc1110f955ff25 +"@babel/compat-data@npm:^7.17.7, @babel/compat-data@npm:^7.20.1, @babel/compat-data@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/compat-data@npm:7.22.9" + checksum: bed77d9044ce948b4327b30dd0de0779fa9f3a7ed1f2d31638714ed00229fa71fc4d1617ae0eb1fad419338d3658d0e9a5a083297451e09e73e078d0347ff808 languageName: node linkType: hard -"@babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.7.2, @babel/core@npm:^7.8.0": - version: 7.20.5 - resolution: "@babel/core@npm:7.20.5" +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3": + version: 7.22.9 + resolution: "@babel/core@npm:7.22.9" dependencies: - "@ampproject/remapping": ^2.1.0 - "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.20.5 - "@babel/helper-compilation-targets": ^7.20.0 - "@babel/helper-module-transforms": ^7.20.2 - "@babel/helpers": ^7.20.5 - "@babel/parser": ^7.20.5 - "@babel/template": ^7.18.10 - "@babel/traverse": ^7.20.5 - "@babel/types": ^7.20.5 + "@ampproject/remapping": ^2.2.0 + "@babel/code-frame": ^7.22.5 + "@babel/generator": ^7.22.9 + "@babel/helper-compilation-targets": ^7.22.9 + "@babel/helper-module-transforms": ^7.22.9 + "@babel/helpers": ^7.22.6 + "@babel/parser": ^7.22.7 + "@babel/template": ^7.22.5 + "@babel/traverse": ^7.22.8 + "@babel/types": ^7.22.5 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 - json5: ^2.2.1 - semver: ^6.3.0 - checksum: 9547f1e6364bc58c3621e3b17ec17f0d034ff159e5a520091d9381608d40af3be4042dd27c20ad7d3e938422d75850ac56a3758d6801d65df701557af4bd244b + json5: ^2.2.2 + semver: ^6.3.1 + checksum: 7bf069aeceb417902c4efdaefab1f7b94adb7dea694a9aed1bda2edf4135348a080820529b1a300c6f8605740a00ca00c19b2d5e74b5dd489d99d8c11d5e56d1 languageName: node linkType: hard -"@babel/generator@npm:^7.20.5, @babel/generator@npm:^7.7.2": - version: 7.20.5 - resolution: "@babel/generator@npm:7.20.5" +"@babel/generator@npm:^7.22.7, @babel/generator@npm:^7.22.9, @babel/generator@npm:^7.7.2": + version: 7.22.9 + resolution: "@babel/generator@npm:7.22.9" dependencies: - "@babel/types": ^7.20.5 + "@babel/types": ^7.22.5 "@jridgewell/gen-mapping": ^0.3.2 + "@jridgewell/trace-mapping": ^0.3.17 jsesc: ^2.5.1 - checksum: 31c10d1e122f08cf755a24bd6f5d197f47eceba03f1133759687d00ab72d210e60ba4011da42f368b6e9fa85cbfda7dc4adb9889c2c20cc5c34bb2d57c1deab7 + checksum: 7c9d2c58b8d5ac5e047421a6ab03ec2ff5d9a5ff2c2212130a0055e063ac349e0b19d435537d6886c999771aef394832e4f54cd9fc810100a7f23d982f6af06b languageName: node linkType: hard @@ -92,17 +94,18 @@ __metadata: languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.9, @babel/helper-compilation-targets@npm:^7.20.0": - version: 7.20.0 - resolution: "@babel/helper-compilation-targets@npm:7.20.0" +"@babel/helper-compilation-targets@npm:^7.17.7, @babel/helper-compilation-targets@npm:^7.18.9, @babel/helper-compilation-targets@npm:^7.20.0, @babel/helper-compilation-targets@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-compilation-targets@npm:7.22.9" dependencies: - "@babel/compat-data": ^7.20.0 - "@babel/helper-validator-option": ^7.18.6 - browserslist: ^4.21.3 - semver: ^6.3.0 + "@babel/compat-data": ^7.22.9 + "@babel/helper-validator-option": ^7.22.5 + browserslist: ^4.21.9 + lru-cache: ^5.1.1 + semver: ^6.3.1 peerDependencies: "@babel/core": ^7.0.0 - checksum: bc183f2109648849c8fde0b3c5cf08adf2f7ad6dc617b546fd20f34c8ef574ee5ee293c8d1bd0ed0221212e8f5907cdc2c42097870f1dcc769a654107d82c95b + checksum: ea0006c6a93759025f4a35a25228ae260538c9f15023e8aac2a6d45ca68aef4cf86cfc429b19af9a402cbdd54d5de74ad3fbcf6baa7e48184dc079f1a791e178 languageName: node linkType: hard @@ -151,10 +154,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-environment-visitor@npm:^7.18.9": - version: 7.18.9 - resolution: "@babel/helper-environment-visitor@npm:7.18.9" - checksum: b25101f6162ddca2d12da73942c08ad203d7668e06663df685634a8fde54a98bc015f6f62938e8554457a592a024108d45b8f3e651fd6dcdb877275b73cc4420 +"@babel/helper-environment-visitor@npm:^7.18.9, @babel/helper-environment-visitor@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-environment-visitor@npm:7.22.5" + checksum: 248532077d732a34cd0844eb7b078ff917c3a8ec81a7f133593f71a860a582f05b60f818dc5049c2212e5baa12289c27889a4b81d56ef409b4863db49646c4b1 languageName: node linkType: hard @@ -167,22 +170,22 @@ __metadata: languageName: node linkType: hard -"@babel/helper-function-name@npm:^7.18.9, @babel/helper-function-name@npm:^7.19.0": - version: 7.19.0 - resolution: "@babel/helper-function-name@npm:7.19.0" +"@babel/helper-function-name@npm:^7.18.9, @babel/helper-function-name@npm:^7.19.0, @babel/helper-function-name@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-function-name@npm:7.22.5" dependencies: - "@babel/template": ^7.18.10 - "@babel/types": ^7.19.0 - checksum: eac1f5db428ba546270c2b8d750c24eb528b8fcfe50c81de2e0bdebf0e20f24bec688d4331533b782e4a907fad435244621ca2193cfcf80a86731299840e0f6e + "@babel/template": ^7.22.5 + "@babel/types": ^7.22.5 + checksum: 6b1f6ce1b1f4e513bf2c8385a557ea0dd7fa37971b9002ad19268ca4384bbe90c09681fe4c076013f33deabc63a53b341ed91e792de741b4b35e01c00238177a languageName: node linkType: hard -"@babel/helper-hoist-variables@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-hoist-variables@npm:7.18.6" +"@babel/helper-hoist-variables@npm:^7.18.6, @babel/helper-hoist-variables@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-hoist-variables@npm:7.22.5" dependencies: - "@babel/types": ^7.18.6 - checksum: fd9c35bb435fda802bf9ff7b6f2df06308a21277c6dec2120a35b09f9de68f68a33972e2c15505c1a1a04b36ec64c9ace97d4a9e26d6097b76b4396b7c5fa20f + "@babel/types": ^7.22.5 + checksum: 394ca191b4ac908a76e7c50ab52102669efe3a1c277033e49467913c7ed6f7c64d7eacbeabf3bed39ea1f41731e22993f763b1edce0f74ff8563fd1f380d92cc languageName: node linkType: hard @@ -195,28 +198,27 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-module-imports@npm:7.18.6" +"@babel/helper-module-imports@npm:^7.18.6, @babel/helper-module-imports@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-module-imports@npm:7.22.5" dependencies: - "@babel/types": ^7.18.6 - checksum: f393f8a3b3304b1b7a288a38c10989de754f01d29caf62ce7c4e5835daf0a27b81f3ac687d9d2780d39685aae7b55267324b512150e7b2be967b0c493b6a1def + "@babel/types": ^7.22.5 + checksum: 9ac2b0404fa38b80bdf2653fbeaf8e8a43ccb41bd505f9741d820ed95d3c4e037c62a1bcdcb6c9527d7798d2e595924c4d025daed73283badc180ada2c9c49ad languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.19.6, @babel/helper-module-transforms@npm:^7.20.2": - version: 7.20.2 - resolution: "@babel/helper-module-transforms@npm:7.20.2" +"@babel/helper-module-transforms@npm:^7.18.6, @babel/helper-module-transforms@npm:^7.19.6, @babel/helper-module-transforms@npm:^7.22.9": + version: 7.22.9 + resolution: "@babel/helper-module-transforms@npm:7.22.9" dependencies: - "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-module-imports": ^7.18.6 - "@babel/helper-simple-access": ^7.20.2 - "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/helper-validator-identifier": ^7.19.1 - "@babel/template": ^7.18.10 - "@babel/traverse": ^7.20.1 - "@babel/types": ^7.20.2 - checksum: 33a60ca115f6fce2c9d98e2a2e5649498aa7b23e2ae3c18745d7a021487708fc311458c33542f299387a0da168afccba94116e077f2cce49ae9e5ab83399e8a2 + "@babel/helper-environment-visitor": ^7.22.5 + "@babel/helper-module-imports": ^7.22.5 + "@babel/helper-simple-access": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 + "@babel/helper-validator-identifier": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 2751f77660518cf4ff027514d6f4794f04598c6393be7b04b8e46c6e21606e11c19f3f57ab6129a9c21bacdf8b3ffe3af87bb401d972f34af2d0ffde02ac3001 languageName: node linkType: hard @@ -229,10 +231,10 @@ __metadata: languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": - version: 7.20.2 - resolution: "@babel/helper-plugin-utils@npm:7.20.2" - checksum: f6cae53b7fdb1bf3abd50fa61b10b4470985b400cc794d92635da1e7077bb19729f626adc0741b69403d9b6e411cddddb9c0157a709cc7c4eeb41e663be5d74b +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.16.7, @babel/helper-plugin-utils@npm:^7.18.6, @babel/helper-plugin-utils@npm:^7.18.9, @babel/helper-plugin-utils@npm:^7.19.0, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.22.5, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.22.5 + resolution: "@babel/helper-plugin-utils@npm:7.22.5" + checksum: c0fc7227076b6041acd2f0e818145d2e8c41968cc52fb5ca70eed48e21b8fe6dd88a0a91cbddf4951e33647336eb5ae184747ca706817ca3bef5e9e905151ff5 languageName: node linkType: hard @@ -263,12 +265,12 @@ __metadata: languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.19.4, @babel/helper-simple-access@npm:^7.20.2": - version: 7.20.2 - resolution: "@babel/helper-simple-access@npm:7.20.2" +"@babel/helper-simple-access@npm:^7.19.4, @babel/helper-simple-access@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-simple-access@npm:7.22.5" dependencies: - "@babel/types": ^7.20.2 - checksum: ad1e96ee2e5f654ffee2369a586e5e8d2722bf2d8b028a121b4c33ebae47253f64d420157b9f0a8927aea3a9e0f18c0103e74fdd531815cf3650a0a4adca11a1 + "@babel/types": ^7.22.5 + checksum: fe9686714caf7d70aedb46c3cce090f8b915b206e09225f1e4dbc416786c2fdbbee40b38b23c268b7ccef749dd2db35f255338fb4f2444429874d900dede5ad2 languageName: node linkType: hard @@ -281,33 +283,33 @@ __metadata: languageName: node linkType: hard -"@babel/helper-split-export-declaration@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-split-export-declaration@npm:7.18.6" +"@babel/helper-split-export-declaration@npm:^7.18.6, @babel/helper-split-export-declaration@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helper-split-export-declaration@npm:7.22.6" dependencies: - "@babel/types": ^7.18.6 - checksum: c6d3dede53878f6be1d869e03e9ffbbb36f4897c7cc1527dc96c56d127d834ffe4520a6f7e467f5b6f3c2843ea0e81a7819d66ae02f707f6ac057f3d57943a2b + "@babel/types": ^7.22.5 + checksum: e141cace583b19d9195f9c2b8e17a3ae913b7ee9b8120246d0f9ca349ca6f03cb2c001fd5ec57488c544347c0bb584afec66c936511e447fd20a360e591ac921 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.19.4": - version: 7.19.4 - resolution: "@babel/helper-string-parser@npm:7.19.4" - checksum: b2f8a3920b30dfac81ec282ac4ad9598ea170648f8254b10f475abe6d944808fb006aab325d3eb5a8ad3bea8dfa888cfa6ef471050dae5748497c110ec060943 +"@babel/helper-string-parser@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-string-parser@npm:7.22.5" + checksum: 836851ca5ec813077bbb303acc992d75a360267aa3b5de7134d220411c852a6f17de7c0d0b8c8dcc0f567f67874c00f4528672b2a4f1bc978a3ada64c8c78467 languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.18.6, @babel/helper-validator-identifier@npm:^7.19.1": - version: 7.19.1 - resolution: "@babel/helper-validator-identifier@npm:7.19.1" - checksum: 0eca5e86a729162af569b46c6c41a63e18b43dbe09fda1d2a3c8924f7d617116af39cac5e4cd5d431bb760b4dca3c0970e0c444789b1db42bcf1fa41fbad0a3a +"@babel/helper-validator-identifier@npm:^7.19.1, @babel/helper-validator-identifier@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-validator-identifier@npm:7.22.5" + checksum: 7f0f30113474a28298c12161763b49de5018732290ca4de13cdaefd4fd0d635a6fe3f6686c37a02905fb1e64f21a5ee2b55140cf7b070e729f1bd66866506aea languageName: node linkType: hard -"@babel/helper-validator-option@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/helper-validator-option@npm:7.18.6" - checksum: f9cc6eb7cc5d759c5abf006402180f8d5e4251e9198197428a97e05d65eb2f8ae5a0ce73b1dfd2d35af41d0eb780627a64edf98a4e71f064eeeacef8de58f2cf +"@babel/helper-validator-option@npm:^7.18.6, @babel/helper-validator-option@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/helper-validator-option@npm:7.22.5" + checksum: bbeca8a85ee86990215c0424997438b388b8d642d69b9f86c375a174d3cdeb270efafd1ff128bc7a1d370923d13b6e45829ba8581c027620e83e3a80c5c414b3 languageName: node linkType: hard @@ -323,34 +325,34 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.20.5": - version: 7.20.6 - resolution: "@babel/helpers@npm:7.20.6" +"@babel/helpers@npm:^7.22.6": + version: 7.22.6 + resolution: "@babel/helpers@npm:7.22.6" dependencies: - "@babel/template": ^7.18.10 - "@babel/traverse": ^7.20.5 - "@babel/types": ^7.20.5 - checksum: f03ec6eb2bf8dc7cdfe2569ee421fd9ba6c7bac6c862d90b608ccdd80281ebe858bc56ca175fc92b3ac50f63126b66bbd5ec86f9f361729289a20054518f1ac5 + "@babel/template": ^7.22.5 + "@babel/traverse": ^7.22.6 + "@babel/types": ^7.22.5 + checksum: 5c1f33241fe7bf7709868c2105134a0a86dca26a0fbd508af10a89312b1f77ca38ebae43e50be3b208613c5eacca1559618af4ca236f0abc55d294800faeff30 languageName: node linkType: hard -"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.18.6": - version: 7.18.6 - resolution: "@babel/highlight@npm:7.18.6" +"@babel/highlight@npm:^7.10.4, @babel/highlight@npm:^7.22.5": + version: 7.22.5 + resolution: "@babel/highlight@npm:7.22.5" dependencies: - "@babel/helper-validator-identifier": ^7.18.6 + "@babel/helper-validator-identifier": ^7.22.5 chalk: ^2.0.0 js-tokens: ^4.0.0 - checksum: 92d8ee61549de5ff5120e945e774728e5ccd57fd3b2ed6eace020ec744823d4a98e242be1453d21764a30a14769ecd62170fba28539b211799bbaf232bbb2789 + checksum: f61ae6de6ee0ea8d9b5bcf2a532faec5ab0a1dc0f7c640e5047fc61630a0edb88b18d8c92eb06566d30da7a27db841aca11820ecd3ebe9ce514c9350fbed39c4 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.18.10, @babel/parser@npm:^7.20.5": - version: 7.20.5 - resolution: "@babel/parser@npm:7.20.5" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.22.5, @babel/parser@npm:^7.22.7": + version: 7.22.7 + resolution: "@babel/parser@npm:7.22.7" bin: parser: ./bin/babel-parser.js - checksum: e8d514ce0aa74d56725bd102919a49fa367afef9cd8208cf52f670f54b061c4672f51b4b7980058ab1f5fe73615fe4dc90720ab47bbcebae07ad08d667eda318 + checksum: 02209ddbd445831ee8bf966fdf7c29d189ed4b14343a68eb2479d940e7e3846340d7cc6bd654a5f3d87d19dc84f49f50a58cf9363bee249dc5409ff3ba3dab54 languageName: node linkType: hard @@ -666,6 +668,17 @@ __metadata: languageName: node linkType: hard +"@babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.22.5 + resolution: "@babel/plugin-syntax-jsx@npm:7.22.5" + dependencies: + "@babel/helper-plugin-utils": ^7.22.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 8829d30c2617ab31393d99cec2978e41f014f4ac6f01a1cecf4c4dd8320c3ec12fdc3ce121126b2d8d32f6887e99ca1a0bad53dedb1e6ad165640b92b24980ce + languageName: node + linkType: hard + "@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4, @babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": version: 7.10.4 resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" @@ -1252,43 +1265,43 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.18.10, @babel/template@npm:^7.3.3": - version: 7.18.10 - resolution: "@babel/template@npm:7.18.10" +"@babel/template@npm:^7.18.10, @babel/template@npm:^7.22.5, @babel/template@npm:^7.3.3": + version: 7.22.5 + resolution: "@babel/template@npm:7.22.5" dependencies: - "@babel/code-frame": ^7.18.6 - "@babel/parser": ^7.18.10 - "@babel/types": ^7.18.10 - checksum: 93a6aa094af5f355a72bd55f67fa1828a046c70e46f01b1606e6118fa1802b6df535ca06be83cc5a5e834022be95c7b714f0a268b5f20af984465a71e28f1473 + "@babel/code-frame": ^7.22.5 + "@babel/parser": ^7.22.5 + "@babel/types": ^7.22.5 + checksum: c5746410164039aca61829cdb42e9a55410f43cace6f51ca443313f3d0bdfa9a5a330d0b0df73dc17ef885c72104234ae05efede37c1cc8a72dc9f93425977a3 languageName: node linkType: hard -"@babel/traverse@npm:^7.19.0, @babel/traverse@npm:^7.19.1, @babel/traverse@npm:^7.20.1, @babel/traverse@npm:^7.20.5, @babel/traverse@npm:^7.7.2": - version: 7.20.5 - resolution: "@babel/traverse@npm:7.20.5" +"@babel/traverse@npm:^7.19.0, @babel/traverse@npm:^7.19.1, @babel/traverse@npm:^7.22.6, @babel/traverse@npm:^7.22.8": + version: 7.22.8 + resolution: "@babel/traverse@npm:7.22.8" dependencies: - "@babel/code-frame": ^7.18.6 - "@babel/generator": ^7.20.5 - "@babel/helper-environment-visitor": ^7.18.9 - "@babel/helper-function-name": ^7.19.0 - "@babel/helper-hoist-variables": ^7.18.6 - "@babel/helper-split-export-declaration": ^7.18.6 - "@babel/parser": ^7.20.5 - "@babel/types": ^7.20.5 + "@babel/code-frame": ^7.22.5 + "@babel/generator": ^7.22.7 + "@babel/helper-environment-visitor": ^7.22.5 + "@babel/helper-function-name": ^7.22.5 + "@babel/helper-hoist-variables": ^7.22.5 + "@babel/helper-split-export-declaration": ^7.22.6 + "@babel/parser": ^7.22.7 + "@babel/types": ^7.22.5 debug: ^4.1.0 globals: ^11.1.0 - checksum: c7fed468614aab1cf762dda5df26e2cfcd2b1b448c9d3321ac44786c4ee773fb0e10357e6593c3c6a648ae2e0be6d90462d855998dc10e3abae84de99291e008 + checksum: a381369bc3eedfd13ed5fef7b884657f1c29024ea7388198149f0edc34bd69ce3966e9f40188d15f56490a5e12ba250ccc485f2882b53d41b054fccefb233e33 languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.10, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.20.5, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.20.5 - resolution: "@babel/types@npm:7.20.5" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.18.6, @babel/types@npm:^7.18.9, @babel/types@npm:^7.19.0, @babel/types@npm:^7.20.0, @babel/types@npm:^7.20.2, @babel/types@npm:^7.22.5, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": + version: 7.22.5 + resolution: "@babel/types@npm:7.22.5" dependencies: - "@babel/helper-string-parser": ^7.19.4 - "@babel/helper-validator-identifier": ^7.19.1 + "@babel/helper-string-parser": ^7.22.5 + "@babel/helper-validator-identifier": ^7.22.5 to-fast-properties: ^2.0.0 - checksum: 773f0a1ad9f6ca5c5beaf751d1d8d81b9130de87689d1321fc911d73c3b1167326d66f0ae086a27fb5bfc8b4ee3ffebf1339be50d3b4d8015719692468c31f2d + checksum: c13a9c1dc7d2d1a241a2f8363540cb9af1d66e978e8984b400a20c4f38ba38ca29f06e26a0f2d49a70bad9e57615dac09c35accfddf1bb90d23cd3e0a0bab892 languageName: node linkType: hard @@ -1565,50 +1578,50 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/console@npm:27.5.1" +"@jest/console@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/console@npm:29.6.1" dependencies: - "@jest/types": ^27.5.1 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^27.5.1 - jest-util: ^27.5.1 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 slash: ^3.0.0 - checksum: 7cb20f06a34b09734c0342685ec53aa4c401fe3757c13a9c58fce76b971a322eb884f6de1068ef96f746e5398e067371b89515a07c268d4440a867c87748a706 + checksum: d0ab23a00947bfb4bff8c0a7e5a7afd16519de16dde3fe7e77b9f13e794c6df7043ecf7fcdde66ac0d2b5fb3262e9cab3d92eaf61f89a12d3b8e3602e06a9902 languageName: node linkType: hard -"@jest/core@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/core@npm:27.5.1" +"@jest/core@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/core@npm:29.6.1" dependencies: - "@jest/console": ^27.5.1 - "@jest/reporters": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/console": ^29.6.1 + "@jest/reporters": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 - emittery: ^0.8.1 + ci-info: ^3.2.0 exit: ^0.1.2 graceful-fs: ^4.2.9 - jest-changed-files: ^27.5.1 - jest-config: ^27.5.1 - jest-haste-map: ^27.5.1 - jest-message-util: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-resolve-dependencies: ^27.5.1 - jest-runner: ^27.5.1 - jest-runtime: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 - jest-watcher: ^27.5.1 + jest-changed-files: ^29.5.0 + jest-config: ^29.6.1 + jest-haste-map: ^29.6.1 + jest-message-util: ^29.6.1 + jest-regex-util: ^29.4.3 + jest-resolve: ^29.6.1 + jest-resolve-dependencies: ^29.6.1 + jest-runner: ^29.6.1 + jest-runtime: ^29.6.1 + jest-snapshot: ^29.6.1 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 + jest-watcher: ^29.6.1 micromatch: ^4.0.4 - rimraf: ^3.0.0 + pretty-format: ^29.6.1 slash: ^3.0.0 strip-ansi: ^6.0.0 peerDependencies: @@ -1616,153 +1629,182 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 904a94ad8f1b43cd6b48de3b0226659bff3696150ff8cf7680fc2faffdc8a115203bb9ab6e817c1f79f9d6a81f67953053cbc64d8a4604f2e0c42a04c28cf126 + checksum: 736dcc90c6c58dd9e1d2da122103b851187719ce3b3d4167689c63e68252632cd817712955b52ddaa648eba9c6f98f86cd58677325f0db4185f76899c64d7dac languageName: node linkType: hard -"@jest/environment@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/environment@npm:27.5.1" +"@jest/environment@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/environment@npm:29.6.1" dependencies: - "@jest/fake-timers": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/fake-timers": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" - jest-mock: ^27.5.1 - checksum: 2a9e18c35a015508dbec5b90b21c150230fa6c1c8cb8fabe029d46ee2ca4c40eb832fb636157da14c66590d0a4c8a2c053226b041f54a44507d6f6a89abefd66 + jest-mock: ^29.6.1 + checksum: fb671f91f27e7aa1ba04983ef87a83f0794a597aba0a57d08cbb1fcb484c2aedc2201e99f85fafe27aec9be78af6f2d1d7e6ea88267938992a1d0f9d4615f5b2 languageName: node linkType: hard -"@jest/fake-timers@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/fake-timers@npm:27.5.1" +"@jest/expect-utils@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/expect-utils@npm:29.6.1" + dependencies: + jest-get-type: ^29.4.3 + checksum: 037ee017eca62f7b45e1465fb5c6f9e92d5709a9ac716b8bff0bd294240a54de734e8f968fb69309cc4aef6c83b9552d5a821f3b18371af394bf04783859d706 + languageName: node + linkType: hard + +"@jest/expect@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/expect@npm:29.6.1" + dependencies: + expect: ^29.6.1 + jest-snapshot: ^29.6.1 + checksum: 5c56977b3cc8489744d97d9dc2dcb196c1dfecc83a058a7ef0fd4f63d68cf120a23d27669272d1e1b184fb4337b85e4ac1fc7f886e3988fdf243d42d73973eac + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/fake-timers@npm:29.6.1" dependencies: - "@jest/types": ^27.5.1 - "@sinonjs/fake-timers": ^8.0.1 + "@jest/types": ^29.6.1 + "@sinonjs/fake-timers": ^10.0.2 "@types/node": "*" - jest-message-util: ^27.5.1 - jest-mock: ^27.5.1 - jest-util: ^27.5.1 - checksum: 02a0561ed2f4586093facd4ae500b74694f187ac24d4a00e949a39a1c5325bca8932b4fcb0388a2c5ed0656506fc1cf51fd3e32cdd48cea7497ad9c6e028aba8 + jest-message-util: ^29.6.1 + jest-mock: ^29.6.1 + jest-util: ^29.6.1 + checksum: 86991276944b7d6c2ada3703a272517f5f8f2f4e2af1fe26065f6db1dac4dc6299729a88c46bcb781dcc1b20504c1d4bbd8119fd8a0838ac81a9a4b5d2c8e429 languageName: node linkType: hard -"@jest/globals@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/globals@npm:27.5.1" +"@jest/globals@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/globals@npm:29.6.1" dependencies: - "@jest/environment": ^27.5.1 - "@jest/types": ^27.5.1 - expect: ^27.5.1 - checksum: 087f97047e9dcf555f76fe2ce54aee681e005eaa837a0c0c2d251df6b6412c892c9df54cb871b180342114389a5ff895a4e52e6e6d3d0015bf83c02a54f64c3c + "@jest/environment": ^29.6.1 + "@jest/expect": ^29.6.1 + "@jest/types": ^29.6.1 + jest-mock: ^29.6.1 + checksum: fcca0b970a8b4894a1cdff0f500a86b45609e72c0a4319875e9504237b839df1a46c44d2f1362c6d87fdc7a05928edcc4b5a3751c9e6648dd70a761cdab64c94 languageName: node linkType: hard -"@jest/reporters@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/reporters@npm:27.5.1" +"@jest/reporters@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/reporters@npm:29.6.1" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/console": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 + "@jridgewell/trace-mapping": ^0.3.18 "@types/node": "*" chalk: ^4.0.0 collect-v8-coverage: ^1.0.0 exit: ^0.1.2 - glob: ^7.1.2 + glob: ^7.1.3 graceful-fs: ^4.2.9 istanbul-lib-coverage: ^3.0.0 istanbul-lib-instrument: ^5.1.0 istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 istanbul-reports: ^3.1.3 - jest-haste-map: ^27.5.1 - jest-resolve: ^27.5.1 - jest-util: ^27.5.1 - jest-worker: ^27.5.1 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 + jest-worker: ^29.6.1 slash: ^3.0.0 - source-map: ^0.6.0 string-length: ^4.0.1 - terminal-link: ^2.0.0 - v8-to-istanbul: ^8.1.0 + strip-ansi: ^6.0.0 + v8-to-istanbul: ^9.0.1 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true - checksum: faba5eafb86e62b62e152cafc8812d56308f9d1e8b77f3a7dcae4a8803a20a60a0909cc43ed73363ef649bf558e4fb181c7a336d144c89f7998279d1882bb69e + checksum: b7dae415f3f6342b4db2671261bbee29af20a829f42135316c3dd548b9ef85290c9bb64a0e3aec4a55486596be1257ac8216a0f8d9794acd43f8b8fb686fc7e3 languageName: node linkType: hard -"@jest/source-map@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/source-map@npm:27.5.1" +"@jest/schemas@npm:^29.6.0": + version: 29.6.0 + resolution: "@jest/schemas@npm:29.6.0" + dependencies: + "@sinclair/typebox": ^0.27.8 + checksum: c00511c69cf89138a7d974404d3a5060af375b5a52b9c87215d91873129b382ca11c1ff25bd6d605951404bb381ddce5f8091004a61e76457da35db1f5c51365 + languageName: node + linkType: hard + +"@jest/source-map@npm:^29.6.0": + version: 29.6.0 + resolution: "@jest/source-map@npm:29.6.0" dependencies: + "@jridgewell/trace-mapping": ^0.3.18 callsites: ^3.0.0 graceful-fs: ^4.2.9 - source-map: ^0.6.0 - checksum: 4fb1e743b602841babf7e22bd84eca34676cb05d4eb3b604cae57fc59e406099f5ac759ac1a0d04d901237d143f0f4f234417306e823bde732a1d19982230862 + checksum: 9c6c40387410bb70b2fae8124287fc28f6bdd1b2d7f24348e8611e1bb638b404518228a4ce64a582365b589c536ae8e7ebab0126cef59a87874b71061d19783b languageName: node linkType: hard -"@jest/test-result@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/test-result@npm:27.5.1" +"@jest/test-result@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/test-result@npm:29.6.1" dependencies: - "@jest/console": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/console": ^29.6.1 + "@jest/types": ^29.6.1 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: 338f7c509d6a3bc6d7dd7388c8f6f548b87638e171dc1fddfedcacb4e8950583288832223ba688058cbcf874b937d22bdc0fa88f79f5fc666f77957e465c06a5 + checksum: 9397a3a3410c5df564e79297b1be4fe33807a6157a017a1f74b54a6ef14de1530f12b922299e822e66a82c53269da16661772bffde3d883a78c5eefd2cd6d1cc languageName: node linkType: hard -"@jest/test-sequencer@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/test-sequencer@npm:27.5.1" +"@jest/test-sequencer@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/test-sequencer@npm:29.6.1" dependencies: - "@jest/test-result": ^27.5.1 + "@jest/test-result": ^29.6.1 graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 - jest-runtime: ^27.5.1 - checksum: f21f9c8bb746847f7f89accfd29d6046eec1446f0b54e4694444feaa4df379791f76ef0f5a4360aafcbc73b50bc979f68b8a7620de404019d3de166be6720cb0 + jest-haste-map: ^29.6.1 + slash: ^3.0.0 + checksum: f3437178b5dca0401ed2e990d8b69161442351856d56f5725e009a487f5232b51039f8829673884b9bea61c861120d08a53a36432f4a4b8aab38915a68f7000d languageName: node linkType: hard -"@jest/transform@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/transform@npm:27.5.1" +"@jest/transform@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/transform@npm:29.6.1" dependencies: - "@babel/core": ^7.1.0 - "@jest/types": ^27.5.1 + "@babel/core": ^7.11.6 + "@jest/types": ^29.6.1 + "@jridgewell/trace-mapping": ^0.3.18 babel-plugin-istanbul: ^6.1.1 chalk: ^4.0.0 - convert-source-map: ^1.4.0 - fast-json-stable-stringify: ^2.0.0 + convert-source-map: ^2.0.0 + fast-json-stable-stringify: ^2.1.0 graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-util: ^27.5.1 + jest-haste-map: ^29.6.1 + jest-regex-util: ^29.4.3 + jest-util: ^29.6.1 micromatch: ^4.0.4 pirates: ^4.0.4 slash: ^3.0.0 - source-map: ^0.6.1 - write-file-atomic: ^3.0.0 - checksum: a22079121aedea0f20a03a9c026be971f7b92adbfb4d5fd1fb67be315741deac4f056936d7c72a53b24aa5a1071bc942c003925fd453bf3f6a0ae5da6384e137 + write-file-atomic: ^4.0.2 + checksum: 1635cd66e4b3dbba0689ecefabc6137301756c9c12d1d23e25124dd0dd9b4a6a38653d51e825e90f74faa022152ac1eaf200591fb50417aa7e1f7d1d1c2bc11d languageName: node linkType: hard -"@jest/types@npm:^27.5.1": - version: 27.5.1 - resolution: "@jest/types@npm:27.5.1" +"@jest/types@npm:^29.6.1": + version: 29.6.1 + resolution: "@jest/types@npm:29.6.1" dependencies: + "@jest/schemas": ^29.6.0 "@types/istanbul-lib-coverage": ^2.0.0 "@types/istanbul-reports": ^3.0.0 "@types/node": "*" - "@types/yargs": ^16.0.0 + "@types/yargs": ^17.0.8 chalk: ^4.0.0 - checksum: d1f43cc946d87543ddd79d49547aab2399481d34025d5c5f2025d3d99c573e1d9832fa83cef25e9d9b07a8583500229d15bbb07b8e233d127d911d133e2f14b1 + checksum: 89fc1ccf71a84fe0da643e0675b1cfe6a6f19ea72e935b2ab1dbdb56ec547e94433fb59b3536d3832a6e156c077865b7176fe9dae707dab9c3d2f9405ba6233c languageName: node linkType: hard @@ -1777,10 +1819,10 @@ __metadata: languageName: node linkType: hard -"@jridgewell/resolve-uri@npm:^3.0.3": - version: 3.0.5 - resolution: "@jridgewell/resolve-uri@npm:3.0.5" - checksum: 1ee652b693da7979ac4007926cc3f0a32b657ffeb913e111f44e5b67153d94a2f28a1d560101cc0cf8087625468293a69a00f634a2914e1a6d0817ba2039a913 +"@jridgewell/resolve-uri@npm:3.1.0, @jridgewell/resolve-uri@npm:^3.0.3": + version: 3.1.0 + resolution: "@jridgewell/resolve-uri@npm:3.1.0" + checksum: b5ceaaf9a110fcb2780d1d8f8d4a0bfd216702f31c988d8042e5f8fbe353c55d9b0f55a1733afdc64806f8e79c485d2464680ac48a0d9fcadb9548ee6b81d267 languageName: node linkType: hard @@ -1791,20 +1833,20 @@ __metadata: languageName: node linkType: hard -"@jridgewell/source-map@npm:^0.3.2": - version: 0.3.2 - resolution: "@jridgewell/source-map@npm:0.3.2" +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.3 + resolution: "@jridgewell/source-map@npm:0.3.3" dependencies: "@jridgewell/gen-mapping": ^0.3.0 "@jridgewell/trace-mapping": ^0.3.9 - checksum: 1b83f0eb944e77b70559a394d5d3b3f98a81fcc186946aceb3ef42d036762b52ef71493c6c0a3b7c1d2f08785f53ba2df1277fe629a06e6109588ff4cdcf7482 + checksum: ae1302146339667da5cd6541260ecbef46ae06819a60f88da8f58b3e64682f787c09359933d050dea5d2173ea7fa40f40dd4d4e7a8d325c5892cccd99aaf8959 languageName: node linkType: hard -"@jridgewell/sourcemap-codec@npm:^1.4.10": - version: 1.4.11 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.11" - checksum: 3b2afaf8400fb07a36db60e901fcce6a746cdec587310ee9035939d89878e57b2dec8173b0b8f63176f647efa352294049a53c49739098eb907ff81fec2547c8 +"@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10": + version: 1.4.14 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" + checksum: 61100637b6d173d3ba786a5dff019e1a74b1f394f323c1fee337ff390239f053b87266c7a948777f4b1ee68c01a8ad0ab61e5ff4abb5a012a0b091bec391ab97 languageName: node linkType: hard @@ -1818,13 +1860,13 @@ __metadata: languageName: node linkType: hard -"@jridgewell/trace-mapping@npm:^0.3.0, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.14 - resolution: "@jridgewell/trace-mapping@npm:0.3.14" +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.17, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.18 + resolution: "@jridgewell/trace-mapping@npm:0.3.18" dependencies: - "@jridgewell/resolve-uri": ^3.0.3 - "@jridgewell/sourcemap-codec": ^1.4.10 - checksum: b9537b9630ffb631aef9651a085fe361881cde1772cd482c257fe3c78c8fd5388d681f504a9c9fe1081b1c05e8f75edf55ee10fdb58d92bbaa8dbf6a7bd6b18c + "@jridgewell/resolve-uri": 3.1.0 + "@jridgewell/sourcemap-codec": 1.4.14 + checksum: 0572669f855260808c16fe8f78f5f1b4356463b11d3f2c7c0b5580c8ba1cbf4ae53efe9f627595830856e57dbac2325ac17eb0c3dd0ec42102e6f227cc289c02 languageName: node linkType: hard @@ -1857,7 +1899,6 @@ __metadata: resolution: "@kiltprotocol/chain-helpers@workspace:packages/chain-helpers" dependencies: "@kiltprotocol/config": "workspace:*" - "@kiltprotocol/testing": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" "@polkadot/api": ^10.4.0 @@ -1889,7 +1930,6 @@ __metadata: "@kiltprotocol/chain-helpers": "workspace:*" "@kiltprotocol/config": "workspace:*" "@kiltprotocol/did": "workspace:*" - "@kiltprotocol/testing": "workspace:*" "@kiltprotocol/type-definitions": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" @@ -1911,7 +1951,6 @@ __metadata: dependencies: "@kiltprotocol/augment-api": "workspace:*" "@kiltprotocol/config": "workspace:*" - "@kiltprotocol/testing": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" "@polkadot/api": ^10.4.0 @@ -1931,7 +1970,6 @@ __metadata: dependencies: "@kiltprotocol/core": "workspace:*" "@kiltprotocol/did": "workspace:*" - "@kiltprotocol/testing": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" "@polkadot/util": ^12.0.0 @@ -1940,7 +1978,7 @@ __metadata: languageName: unknown linkType: soft -"@kiltprotocol/sdk-js@workspace:*, @kiltprotocol/sdk-js@workspace:packages/sdk-js": +"@kiltprotocol/sdk-js@workspace:packages/sdk-js": version: 0.0.0-use.local resolution: "@kiltprotocol/sdk-js@workspace:packages/sdk-js" dependencies: @@ -1954,34 +1992,11 @@ __metadata: rimraf: ^3.0.2 terser-webpack-plugin: ^5.1.1 typescript: ^4.8.3 - webpack: ^5.70.0 + webpack: ^5.76.0 webpack-cli: ^4.9.2 languageName: unknown linkType: soft -"@kiltprotocol/testing@workspace:*, @kiltprotocol/testing@workspace:packages/testing": - version: 0.0.0-use.local - resolution: "@kiltprotocol/testing@workspace:packages/testing" - dependencies: - "@kiltprotocol/chain-helpers": "workspace:*" - "@kiltprotocol/config": "workspace:*" - "@kiltprotocol/did": "workspace:*" - "@kiltprotocol/sdk-js": "workspace:*" - "@kiltprotocol/type-definitions": "workspace:*" - "@kiltprotocol/types": "workspace:*" - "@kiltprotocol/utils": "workspace:*" - "@polkadot/api": ^10.4.0 - "@polkadot/keyring": ^12.0.0 - "@polkadot/types": ^10.4.0 - "@polkadot/util": ^12.0.0 - "@polkadot/util-crypto": ^12.0.0 - rimraf: ^3.0.2 - tweetnacl: ^1.0.3 - typescript: ^4.8.3 - uuid: ^9.0.0 - languageName: unknown - linkType: soft - "@kiltprotocol/type-definitions@workspace:*, @kiltprotocol/type-definitions@workspace:packages/type-definitions": version: 0.0.0-use.local resolution: "@kiltprotocol/type-definitions@workspace:packages/type-definitions" @@ -2014,7 +2029,7 @@ __metadata: "@polkadot/keyring": ^12.0.0 "@polkadot/util": ^12.0.0 "@polkadot/util-crypto": ^12.0.0 - cbor-web: ^8.0.0 + cbor-web: ^9.0.0 rimraf: ^3.0.2 tweetnacl: ^1.0.3 typescript: ^4.8.3 @@ -2029,7 +2044,6 @@ __metadata: "@kiltprotocol/config": "workspace:*" "@kiltprotocol/core": "workspace:*" "@kiltprotocol/did": "workspace:*" - "@kiltprotocol/testing": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" "@polkadot/api": ^10.4.0 @@ -2566,21 +2580,28 @@ __metadata: languageName: node linkType: hard -"@sinonjs/commons@npm:^1.7.0": - version: 1.8.3 - resolution: "@sinonjs/commons@npm:1.8.3" +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 00bd7362a3439021aa1ea51b0e0d0a0e8ca1351a3d54c606b115fdcc49b51b16db6e5f43b4fe7a28c38688523e22a94d49dd31168868b655f0d4d50f032d07a1 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.0 + resolution: "@sinonjs/commons@npm:3.0.0" dependencies: type-detect: 4.0.8 - checksum: 6159726db5ce6bf9f2297f8427f7ca5b3dff45b31e5cee23496f1fa6ef0bb4eab878b23fb2c5e6446381f6a66aba4968ef2fc255c1180d753d4b8c271636a2e5 + checksum: b4b5b73d4df4560fb8c0c7b38c7ad4aeabedd362f3373859d804c988c725889cde33550e4bcc7cd316a30f5152a2d1d43db71b6d0c38f5feef71fd8d016763f8 languageName: node linkType: hard -"@sinonjs/fake-timers@npm:^8.0.1": - version: 8.1.0 - resolution: "@sinonjs/fake-timers@npm:8.1.0" +"@sinonjs/fake-timers@npm:^10.0.2": + version: 10.3.0 + resolution: "@sinonjs/fake-timers@npm:10.3.0" dependencies: - "@sinonjs/commons": ^1.7.0 - checksum: 09b5a158ce013a6c37613258bad79ca4efeb99b1f59c41c73cca36cac00b258aefcf46eeea970fccf06b989414d86fe9f54c1102272c0c3bdd51a313cea80949 + "@sinonjs/commons": ^3.0.0 + checksum: 614d30cb4d5201550c940945d44c9e0b6d64a888ff2cd5b357f95ad6721070d6b8839cd10e15b76bf5e14af0bcc1d8f9ec00d49a46318f1f669a4bec1d7f3148 languageName: node linkType: hard @@ -2609,13 +2630,6 @@ __metadata: languageName: node linkType: hard -"@tootallnate/once@npm:1": - version: 1.1.2 - resolution: "@tootallnate/once@npm:1.1.2" - checksum: e1fb1bbbc12089a0cb9433dc290f97bddd062deadb6178ce9bcb93bb7c1aecde5e60184bc7065aec42fe1663622a213493c48bbd4972d931aae48315f18e1be9 - languageName: node - linkType: hard - "@tootallnate/once@npm:2": version: 2.0.0 resolution: "@tootallnate/once@npm:2.0.0" @@ -2660,7 +2674,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14": +"@types/babel__core@npm:^7.1.14": version: 7.1.19 resolution: "@types/babel__core@npm:7.1.19" dependencies: @@ -2692,7 +2706,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.4, @types/babel__traverse@npm:^7.0.6": +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": version: 7.14.2 resolution: "@types/babel__traverse@npm:7.14.2" dependencies: @@ -2750,10 +2764,10 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^0.0.51": - version: 0.0.51 - resolution: "@types/estree@npm:0.0.51" - checksum: e56a3bcf759fd9185e992e7fdb3c6a5f81e8ff120e871641607581fb3728d16c811702a7d40fa5f869b7f7b4437ab6a87eb8d98ffafeee51e85bbe955932a189 +"@types/estree@npm:*, @types/estree@npm:^1.0.0": + version: 1.0.1 + resolution: "@types/estree@npm:1.0.1" + checksum: e9aa175eacb797216fafce4d41e8202c7a75555bc55232dee0f9903d7171f8f19f0ae7d5191bb1a88cb90e65468be508c0df850a9fb81b4433b293a5a749899d languageName: node linkType: hard @@ -2767,12 +2781,12 @@ __metadata: languageName: node linkType: hard -"@types/graceful-fs@npm:^4.1.2": - version: 4.1.5 - resolution: "@types/graceful-fs@npm:4.1.5" +"@types/graceful-fs@npm:^4.1.3": + version: 4.1.6 + resolution: "@types/graceful-fs@npm:4.1.6" dependencies: "@types/node": "*" - checksum: d076bb61f45d0fc42dee496ef8b1c2f8742e15d5e47e90e20d0243386e426c04d4efd408a48875ab432f7960b4ce3414db20ed0fbbfc7bcc89d84e574f6e045a + checksum: c3070ccdc9ca0f40df747bced1c96c71a61992d6f7c767e8fd24bb6a3c2de26e8b84135ede000b7e79db530a23e7e88dcd9db60eee6395d0f4ce1dae91369dd4 languageName: node linkType: hard @@ -2801,13 +2815,13 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:^27.4.0": - version: 27.4.1 - resolution: "@types/jest@npm:27.4.1" +"@types/jest@npm:^29.5.3": + version: 29.5.3 + resolution: "@types/jest@npm:29.5.3" dependencies: - jest-matcher-utils: ^27.0.0 - pretty-format: ^27.0.0 - checksum: 5184f3eef4832d01ee8f59bed15eec45ccc8e29c724a5e6ce37bf74396b37bdf04f557000f45ba4fc38ae6075cf9cfcce3d7a75abc981023c61ceb27230a93e4 + expect: ^29.0.0 + pretty-format: ^29.0.0 + checksum: e36bb92e0b9e5ea7d6f8832baa42f087fc1697f6cd30ec309a07ea4c268e06ec460f1f0cfd2581daf5eff5763475190ec1ad8ac6520c49ccfe4f5c0a48bfa676 languageName: node linkType: hard @@ -2914,12 +2928,12 @@ __metadata: languageName: node linkType: hard -"@types/yargs@npm:^16.0.0": - version: 16.0.4 - resolution: "@types/yargs@npm:16.0.4" +"@types/yargs@npm:^17.0.8": + version: 17.0.24 + resolution: "@types/yargs@npm:17.0.24" dependencies: "@types/yargs-parser": "*" - checksum: caa21d2c957592fe2184a8368c8cbe5a82a6c2e2f2893722e489f842dc5963293d2f3120bc06fe3933d60a3a0d1e2eb269649fd6b1947fe1820f8841ba611dd9 + checksum: 5f3ac4dc4f6e211c1627340160fbe2fd247ceba002190da6cf9155af1798450501d628c9165a183f30a224fc68fa5e700490d740ff4c73e2cdef95bc4e8ba7bf languageName: node linkType: hard @@ -3040,154 +3054,154 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/ast@npm:1.11.1" +"@webassemblyjs/ast@npm:1.11.6, @webassemblyjs/ast@npm:^1.11.5": + version: 1.11.6 + resolution: "@webassemblyjs/ast@npm:1.11.6" dependencies: - "@webassemblyjs/helper-numbers": 1.11.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.1 - checksum: 1eee1534adebeece635362f8e834ae03e389281972611408d64be7895fc49f48f98fddbbb5339bf8a72cb101bcb066e8bca3ca1bf1ef47dadf89def0395a8d87 + "@webassemblyjs/helper-numbers": 1.11.6 + "@webassemblyjs/helper-wasm-bytecode": 1.11.6 + checksum: 38ef1b526ca47c210f30975b06df2faf1a8170b1636ce239fc5738fc231ce28389dd61ecedd1bacfc03cbe95b16d1af848c805652080cb60982836eb4ed2c6cf languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.1" - checksum: b8efc6fa08e4787b7f8e682182d84dfdf8da9d9c77cae5d293818bc4a55c1f419a87fa265ab85252b3e6c1fd323d799efea68d825d341a7c365c64bc14750e97 +"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" + checksum: 29b08758841fd8b299c7152eda36b9eb4921e9c584eb4594437b5cd90ed6b920523606eae7316175f89c20628da14326801090167cc7fbffc77af448ac84b7e2 languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.1" - checksum: 0792813f0ed4a0e5ee0750e8b5d0c631f08e927f4bdfdd9fe9105dc410c786850b8c61bff7f9f515fdfb149903bec3c976a1310573a4c6866a94d49bc7271959 +"@webassemblyjs/helper-api-error@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" + checksum: e8563df85161096343008f9161adb138a6e8f3c2cc338d6a36011aa55eabb32f2fd138ffe63bc278d009ada001cc41d263dadd1c0be01be6c2ed99076103689f languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-buffer@npm:1.11.1" - checksum: a337ee44b45590c3a30db5a8b7b68a717526cf967ada9f10253995294dbd70a58b2da2165222e0b9830cd4fc6e4c833bf441a721128d1fe2e9a7ab26b36003ce +"@webassemblyjs/helper-buffer@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-buffer@npm:1.11.6" + checksum: b14d0573bf680d22b2522e8a341ec451fddd645d1f9c6bd9012ccb7e587a2973b86ab7b89fe91e1c79939ba96095f503af04369a3b356c8023c13a5893221644 languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.1" +"@webassemblyjs/helper-numbers@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" dependencies: - "@webassemblyjs/floating-point-hex-parser": 1.11.1 - "@webassemblyjs/helper-api-error": 1.11.1 + "@webassemblyjs/floating-point-hex-parser": 1.11.6 + "@webassemblyjs/helper-api-error": 1.11.6 "@xtuc/long": 4.2.2 - checksum: 44d2905dac2f14d1e9b5765cf1063a0fa3d57295c6d8930f6c59a36462afecc6e763e8a110b97b342a0f13376166c5d41aa928e6ced92e2f06b071fd0db59d3a + checksum: f4b562fa219f84368528339e0f8d273ad44e047a07641ffcaaec6f93e5b76fd86490a009aa91a294584e1436d74b0a01fa9fde45e333a4c657b58168b04da424 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.1" - checksum: eac400113127832c88f5826bcc3ad1c0db9b3dbd4c51a723cfdb16af6bfcbceb608170fdaac0ab7731a7e18b291be7af68a47fcdb41cfe0260c10857e7413d97 +"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" + checksum: 3535ef4f1fba38de3475e383b3980f4bbf3de72bbb631c2b6584c7df45be4eccd62c6ff48b5edd3f1bcff275cfd605a37679ec199fc91fd0a7705d7f1e3972dc languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.1" +"@webassemblyjs/helper-wasm-section@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.6" dependencies: - "@webassemblyjs/ast": 1.11.1 - "@webassemblyjs/helper-buffer": 1.11.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.1 - "@webassemblyjs/wasm-gen": 1.11.1 - checksum: 617696cfe8ecaf0532763162aaf748eb69096fb27950219bb87686c6b2e66e11cd0614d95d319d0ab1904bc14ebe4e29068b12c3e7c5e020281379741fe4bedf + "@webassemblyjs/ast": 1.11.6 + "@webassemblyjs/helper-buffer": 1.11.6 + "@webassemblyjs/helper-wasm-bytecode": 1.11.6 + "@webassemblyjs/wasm-gen": 1.11.6 + checksum: b2cf751bf4552b5b9999d27bbb7692d0aca75260140195cb58ea6374d7b9c2dc69b61e10b211a0e773f66209c3ddd612137ed66097e3684d7816f854997682e9 languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/ieee754@npm:1.11.1" +"@webassemblyjs/ieee754@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/ieee754@npm:1.11.6" dependencies: "@xtuc/ieee754": ^1.2.0 - checksum: 23a0ac02a50f244471631802798a816524df17e56b1ef929f0c73e3cde70eaf105a24130105c60aff9d64a24ce3b640dad443d6f86e5967f922943a7115022ec + checksum: 13574b8e41f6ca39b700e292d7edf102577db5650fe8add7066a320aa4b7a7c09a5056feccac7a74eb68c10dea9546d4461412af351f13f6b24b5f32379b49de languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/leb128@npm:1.11.1" +"@webassemblyjs/leb128@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/leb128@npm:1.11.6" dependencies: "@xtuc/long": 4.2.2 - checksum: 33ccc4ade2f24de07bf31690844d0b1ad224304ee2062b0e464a610b0209c79e0b3009ac190efe0e6bd568b0d1578d7c3047fc1f9d0197c92fc061f56224ff4a + checksum: 7ea942dc9777d4b18a5ebfa3a937b30ae9e1d2ce1fee637583ed7f376334dd1d4274f813d2e250056cca803e0952def4b954913f1a3c9068bcd4ab4ee5143bf0 languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/utf8@npm:1.11.1" - checksum: 972c5cfc769d7af79313a6bfb96517253a270a4bf0c33ba486aa43cac43917184fb35e51dfc9e6b5601548cd5931479a42e42c89a13bb591ffabebf30c8a6a0b +"@webassemblyjs/utf8@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/utf8@npm:1.11.6" + checksum: 807fe5b5ce10c390cfdd93e0fb92abda8aebabb5199980681e7c3743ee3306a75729bcd1e56a3903980e96c885ee53ef901fcbaac8efdfa480f9c0dae1d08713 languageName: node linkType: hard -"@webassemblyjs/wasm-edit@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-edit@npm:1.11.1" +"@webassemblyjs/wasm-edit@npm:^1.11.5": + version: 1.11.6 + resolution: "@webassemblyjs/wasm-edit@npm:1.11.6" dependencies: - "@webassemblyjs/ast": 1.11.1 - "@webassemblyjs/helper-buffer": 1.11.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.1 - "@webassemblyjs/helper-wasm-section": 1.11.1 - "@webassemblyjs/wasm-gen": 1.11.1 - "@webassemblyjs/wasm-opt": 1.11.1 - "@webassemblyjs/wasm-parser": 1.11.1 - "@webassemblyjs/wast-printer": 1.11.1 - checksum: 6d7d9efaec1227e7ef7585a5d7ff0be5f329f7c1c6b6c0e906b18ed2e9a28792a5635e450aca2d136770d0207225f204eff70a4b8fd879d3ac79e1dcc26dbeb9 + "@webassemblyjs/ast": 1.11.6 + "@webassemblyjs/helper-buffer": 1.11.6 + "@webassemblyjs/helper-wasm-bytecode": 1.11.6 + "@webassemblyjs/helper-wasm-section": 1.11.6 + "@webassemblyjs/wasm-gen": 1.11.6 + "@webassemblyjs/wasm-opt": 1.11.6 + "@webassemblyjs/wasm-parser": 1.11.6 + "@webassemblyjs/wast-printer": 1.11.6 + checksum: 29ce75870496d6fad864d815ebb072395a8a3a04dc9c3f4e1ffdc63fc5fa58b1f34304a1117296d8240054cfdbc38aca88e71fb51483cf29ffab0a61ef27b481 languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-gen@npm:1.11.1" +"@webassemblyjs/wasm-gen@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/wasm-gen@npm:1.11.6" dependencies: - "@webassemblyjs/ast": 1.11.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.1 - "@webassemblyjs/ieee754": 1.11.1 - "@webassemblyjs/leb128": 1.11.1 - "@webassemblyjs/utf8": 1.11.1 - checksum: 1f6921e640293bf99fb16b21e09acb59b340a79f986c8f979853a0ae9f0b58557534b81e02ea2b4ef11e929d946708533fd0693c7f3712924128fdafd6465f5b + "@webassemblyjs/ast": 1.11.6 + "@webassemblyjs/helper-wasm-bytecode": 1.11.6 + "@webassemblyjs/ieee754": 1.11.6 + "@webassemblyjs/leb128": 1.11.6 + "@webassemblyjs/utf8": 1.11.6 + checksum: a645a2eecbea24833c3260a249704a7f554ef4a94c6000984728e94bb2bc9140a68dfd6fd21d5e0bbb09f6dfc98e083a45760a83ae0417b41a0196ff6d45a23a languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-opt@npm:1.11.1" +"@webassemblyjs/wasm-opt@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/wasm-opt@npm:1.11.6" dependencies: - "@webassemblyjs/ast": 1.11.1 - "@webassemblyjs/helper-buffer": 1.11.1 - "@webassemblyjs/wasm-gen": 1.11.1 - "@webassemblyjs/wasm-parser": 1.11.1 - checksum: 21586883a20009e2b20feb67bdc451bbc6942252e038aae4c3a08e6f67b6bae0f5f88f20bfc7bd0452db5000bacaf5ab42b98cf9aa034a6c70e9fc616142e1db + "@webassemblyjs/ast": 1.11.6 + "@webassemblyjs/helper-buffer": 1.11.6 + "@webassemblyjs/wasm-gen": 1.11.6 + "@webassemblyjs/wasm-parser": 1.11.6 + checksum: b4557f195487f8e97336ddf79f7bef40d788239169aac707f6eaa2fa5fe243557c2d74e550a8e57f2788e70c7ae4e7d32f7be16101afe183d597b747a3bdd528 languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wasm-parser@npm:1.11.1" +"@webassemblyjs/wasm-parser@npm:1.11.6, @webassemblyjs/wasm-parser@npm:^1.11.5": + version: 1.11.6 + resolution: "@webassemblyjs/wasm-parser@npm:1.11.6" dependencies: - "@webassemblyjs/ast": 1.11.1 - "@webassemblyjs/helper-api-error": 1.11.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.1 - "@webassemblyjs/ieee754": 1.11.1 - "@webassemblyjs/leb128": 1.11.1 - "@webassemblyjs/utf8": 1.11.1 - checksum: 1521644065c360e7b27fad9f4bb2df1802d134dd62937fa1f601a1975cde56bc31a57b6e26408b9ee0228626ff3ba1131ae6f74ffb7d718415b6528c5a6dbfc2 + "@webassemblyjs/ast": 1.11.6 + "@webassemblyjs/helper-api-error": 1.11.6 + "@webassemblyjs/helper-wasm-bytecode": 1.11.6 + "@webassemblyjs/ieee754": 1.11.6 + "@webassemblyjs/leb128": 1.11.6 + "@webassemblyjs/utf8": 1.11.6 + checksum: 8200a8d77c15621724a23fdabe58d5571415cda98a7058f542e670ea965dd75499f5e34a48675184947c66f3df23adf55df060312e6d72d57908e3f049620d8a languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.11.1": - version: 1.11.1 - resolution: "@webassemblyjs/wast-printer@npm:1.11.1" +"@webassemblyjs/wast-printer@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/wast-printer@npm:1.11.6" dependencies: - "@webassemblyjs/ast": 1.11.1 + "@webassemblyjs/ast": 1.11.6 "@xtuc/long": 4.2.2 - checksum: f15ae4c2441b979a3b4fce78f3d83472fb22350c6dc3fd34bfe7c3da108e0b2360718734d961bba20e7716cb8578e964b870da55b035e209e50ec9db0378a3f7 + checksum: d2fa6a4c427325ec81463e9c809aa6572af6d47f619f3091bf4c4a6fc34f1da3df7caddaac50b8e7a457f8784c62cd58c6311b6cb69b0162ccd8d4c072f79cf8 languageName: node linkType: hard @@ -3250,13 +3264,6 @@ __metadata: languageName: node linkType: hard -"abab@npm:^2.0.3, abab@npm:^2.0.5": - version: 2.0.5 - resolution: "abab@npm:2.0.5" - checksum: 0ec951b46d5418c2c2f923021ec193eaebdb4e802ffd5506286781b454be722a13a8430f98085cd3e204918401d9130ec6cc8f5ae19be315b3a0e857d83196e1 - languageName: node - linkType: hard - "abbrev@npm:1": version: 1.1.1 resolution: "abbrev@npm:1.1.1" @@ -3264,22 +3271,12 @@ __metadata: languageName: node linkType: hard -"acorn-globals@npm:^6.0.0": - version: 6.0.0 - resolution: "acorn-globals@npm:6.0.0" - dependencies: - acorn: ^7.1.1 - acorn-walk: ^7.1.1 - checksum: 72d95e5b5e585f9acd019b993ab8bbba68bb3cbc9d9b5c1ebb3c2f1fe5981f11deababfb4949f48e6262f9c57878837f5958c0cca396f81023814680ca878042 - languageName: node - linkType: hard - -"acorn-import-assertions@npm:^1.7.6": - version: 1.8.0 - resolution: "acorn-import-assertions@npm:1.8.0" +"acorn-import-assertions@npm:^1.9.0": + version: 1.9.0 + resolution: "acorn-import-assertions@npm:1.9.0" peerDependencies: acorn: ^8 - checksum: 5c4cf7c850102ba7ae0eeae0deb40fb3158c8ca5ff15c0bca43b5c47e307a1de3d8ef761788f881343680ea374631ae9e9615ba8876fee5268dbe068c98bcba6 + checksum: 944fb2659d0845c467066bdcda2e20c05abe3aaf11972116df457ce2627628a81764d800dd55031ba19de513ee0d43bb771bc679cc0eda66dc8b4fade143bc0c languageName: node linkType: hard @@ -3292,13 +3289,6 @@ __metadata: languageName: node linkType: hard -"acorn-walk@npm:^7.1.1": - version: 7.2.0 - resolution: "acorn-walk@npm:7.2.0" - checksum: 9252158a79b9d92f1bc0dd6acc0fcfb87a67339e84bcc301bb33d6078936d27e35d606b4d35626d2962cd43c256d6f27717e70cbe15c04fff999ab0b2260b21f - languageName: node - linkType: hard - "acorn-walk@npm:^8.1.1": version: 8.2.0 resolution: "acorn-walk@npm:8.2.0" @@ -3306,7 +3296,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^7.1.1, acorn@npm:^7.4.0": +"acorn@npm:^7.4.0": version: 7.4.1 resolution: "acorn@npm:7.4.1" bin: @@ -3315,12 +3305,12 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.2.4, acorn@npm:^8.4.1, acorn@npm:^8.5.0": - version: 8.7.0 - resolution: "acorn@npm:8.7.0" +"acorn@npm:^8.4.1, acorn@npm:^8.7.1, acorn@npm:^8.8.2": + version: 8.8.2 + resolution: "acorn@npm:8.8.2" bin: acorn: bin/acorn - checksum: e0f79409d68923fbf1aa6d4166f3eedc47955320d25c89a20cc822e6ba7c48c5963d5bc657bc242d68f7a4ac9faf96eef033e8f73656da6c640d4219935fdfd0 + checksum: f790b99a1bf63ef160c967e23c46feea7787e531292bb827126334612c234ed489a0dc2c7ba33156416f0ffa8d25bf2b0fdb7f35c2ba60eb3e960572bece4001 languageName: node linkType: hard @@ -3410,6 +3400,13 @@ __metadata: languageName: node linkType: hard +"ansi-sequence-parser@npm:^1.1.0": + version: 1.1.0 + resolution: "ansi-sequence-parser@npm:1.1.0" + checksum: 75f4d3a4c555655a698aec05b5763cbddcd16ccccdbfd178fb0aa471ab74fdf98e031b875ef26e64be6a95cf970c89238744b26de6e34af97f316d5186b1df53 + languageName: node + linkType: hard + "ansi-styles@npm:^3.2.1": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" @@ -3614,21 +3611,20 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:^27.5.1": - version: 27.5.1 - resolution: "babel-jest@npm:27.5.1" +"babel-jest@npm:^29.6.1": + version: 29.6.1 + resolution: "babel-jest@npm:29.6.1" dependencies: - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/transform": ^29.6.1 "@types/babel__core": ^7.1.14 babel-plugin-istanbul: ^6.1.1 - babel-preset-jest: ^27.5.1 + babel-preset-jest: ^29.5.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 slash: ^3.0.0 peerDependencies: "@babel/core": ^7.8.0 - checksum: 4e93e6e9fb996cc5f1505e924eb8e8cc7b25c294ba9629762a2715390f48af6a4c14dbb84cd9730013ac0e03267a5a9aa2fb6318c544489cda7f50f4e506def4 + checksum: bc46cfba468edde91f34a8292501d4448a39fab72d80d7d95f4349feb114fa21becb01def007d6166de7933ab9633bf5b5e1b72ba6ffeaa991f7abf014a2f61d languageName: node linkType: hard @@ -3645,15 +3641,15 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^27.5.1": - version: 27.5.1 - resolution: "babel-plugin-jest-hoist@npm:27.5.1" +"babel-plugin-jest-hoist@npm:^29.5.0": + version: 29.5.0 + resolution: "babel-plugin-jest-hoist@npm:29.5.0" dependencies: "@babel/template": ^7.3.3 "@babel/types": ^7.3.3 - "@types/babel__core": ^7.0.0 + "@types/babel__core": ^7.1.14 "@types/babel__traverse": ^7.0.6 - checksum: 709c17727aa8fd3be755d256fb514bf945a5c2ea6017f037d80280fc44ae5fe7dfeebf63d8412df53796455c2c216119d628d8cc90b099434fd819005943d058 + checksum: 099b5254073b6bc985b6d2d045ad26fb8ed30ff8ae6404c4fe8ee7cd0e98a820f69e3dfb871c7c65aae0f4b65af77046244c07bb92d49ef9005c90eedf681539 languageName: node linkType: hard @@ -3715,15 +3711,15 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^27.5.1": - version: 27.5.1 - resolution: "babel-preset-jest@npm:27.5.1" +"babel-preset-jest@npm:^29.5.0": + version: 29.5.0 + resolution: "babel-preset-jest@npm:29.5.0" dependencies: - babel-plugin-jest-hoist: ^27.5.1 + babel-plugin-jest-hoist: ^29.5.0 babel-preset-current-node-syntax: ^1.0.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 251bcea11c18fd9672fec104eadb45b43f117ceeb326fa7345ced778d4c1feab29343cd7a87a1dcfae4997d6c851a8b386d7f7213792da6e23b74f4443a8976d + checksum: 5566ca2762766c9319b4973d018d2fa08c0fcf6415c72cc54f4c8e7199e851ea8f5e6c6730f03ed7ed44fc8beefa959dd15911f2647dee47c615ff4faeddb1ad languageName: node linkType: hard @@ -3821,24 +3817,17 @@ __metadata: languageName: node linkType: hard -"browser-process-hrtime@npm:^1.0.0": - version: 1.0.0 - resolution: "browser-process-hrtime@npm:1.0.0" - checksum: e30f868cdb770b1201afb714ad1575dd86366b6e861900884665fb627109b3cc757c40067d3bfee1ff2a29c835257ea30725a8018a9afd02ac1c24b408b1e45f - languageName: node - linkType: hard - -"browserslist@npm:^4.14.5, browserslist@npm:^4.21.3, browserslist@npm:^4.21.4": - version: 4.21.4 - resolution: "browserslist@npm:4.21.4" +"browserslist@npm:^4.14.5, browserslist@npm:^4.21.4, browserslist@npm:^4.21.9": + version: 4.21.9 + resolution: "browserslist@npm:4.21.9" dependencies: - caniuse-lite: ^1.0.30001400 - electron-to-chromium: ^1.4.251 - node-releases: ^2.0.6 - update-browserslist-db: ^1.0.9 + caniuse-lite: ^1.0.30001503 + electron-to-chromium: ^1.4.431 + node-releases: ^2.0.12 + update-browserslist-db: ^1.0.11 bin: browserslist: cli.js - checksum: 4af3793704dbb4615bcd29059ab472344dc7961c8680aa6c4bb84f05340e14038d06a5aead58724eae69455b8fade8b8c69f1638016e87e5578969d74c078b79 + checksum: 80d3820584e211484ad1b1a5cfdeca1dd00442f47be87e117e1dda34b628c87e18b81ae7986fa5977b3e6a03154f6d13cd763baa6b8bf5dd9dd19f4926603698 languageName: node linkType: hard @@ -3975,10 +3964,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001400": - version: 1.0.30001407 - resolution: "caniuse-lite@npm:1.0.30001407" - checksum: e1c449d22f120a708accc956c1780f1da01af6c226cb6a324e531dc9f26f53075bff98e6c9cfce806157cdeede459aa8de03a3407b05f71d292a57b2910018b1 +"caniuse-lite@npm:^1.0.30001503": + version: 1.0.30001517 + resolution: "caniuse-lite@npm:1.0.30001517" + checksum: e4e87436ae1c4408cf4438aac22902b31eb03f3f5bad7f33bc518d12ffb35f3fd9395ccf7efc608ee046f90ce324ec6f7f26f8a8172b8c43c26a06ecee612a29 languageName: node linkType: hard @@ -3996,10 +3985,10 @@ __metadata: languageName: node linkType: hard -"cbor-web@npm:^8.0.0": - version: 8.1.0 - resolution: "cbor-web@npm:8.1.0" - checksum: 7898694ae4959a306f6e7dd2d042be8dab060a312d78dc8a2131d8ca641d5bcbcfe7e0691f1b6f0f95e5402b14ebf0ad797be14546712ab4682720b459c4836c +"cbor-web@npm:^9.0.0": + version: 9.0.1 + resolution: "cbor-web@npm:9.0.1" + checksum: fd5ffbb52490ec1d68607f9da8a207cf3b15ff7336556f9ffc34c34d7f26775dad6ff6e53b413bdaecaa75335d607d9d9170a17885e1d6640226fbcfa4c6453c languageName: node linkType: hard @@ -4196,7 +4185,7 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": +"combined-stream@npm:^1.0.6, combined-stream@npm:~1.0.6": version: 1.0.8 resolution: "combined-stream@npm:1.0.8" dependencies: @@ -4323,7 +4312,7 @@ __metadata: languageName: node linkType: hard -"convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": +"convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": version: 1.8.0 resolution: "convert-source-map@npm:1.8.0" dependencies: @@ -4332,6 +4321,13 @@ __metadata: languageName: node linkType: hard +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 63ae9933be5a2b8d4509daca5124e20c14d023c820258e484e32dc324d34c2754e71297c94a05784064ad27615037ef677e3f0c00469fb55f409d2bb21261035 + languageName: node + linkType: hard + "core-js-compat@npm:^3.25.1": version: 3.26.1 resolution: "core-js-compat@npm:3.26.1" @@ -4459,29 +4455,6 @@ __metadata: languageName: node linkType: hard -"cssom@npm:^0.4.4": - version: 0.4.4 - resolution: "cssom@npm:0.4.4" - checksum: e3bc1076e7ee4213d4fef05e7ae03bfa83dc05f32611d8edc341f4ecc3d9647b89c8245474c7dd2cdcdb797a27c462e99da7ad00a34399694559f763478ff53f - languageName: node - linkType: hard - -"cssom@npm:~0.3.6": - version: 0.3.8 - resolution: "cssom@npm:0.3.8" - checksum: 24beb3087c76c0d52dd458be9ee1fbc80ac771478a9baef35dd258cdeb527c68eb43204dd439692bb2b1ae5272fa5f2946d10946edab0d04f1078f85e06bc7f6 - languageName: node - linkType: hard - -"cssstyle@npm:^2.3.0": - version: 2.3.0 - resolution: "cssstyle@npm:2.3.0" - dependencies: - cssom: ~0.3.6 - checksum: 5f05e6fd2e3df0b44695c2f08b9ef38b011862b274e320665176467c0725e44a53e341bc4959a41176e83b66064ab786262e7380fd1cabeae6efee0d255bb4e3 - languageName: node - linkType: hard - "dargs@npm:^7.0.0": version: 7.0.0 resolution: "dargs@npm:7.0.0" @@ -4505,17 +4478,6 @@ __metadata: languageName: node linkType: hard -"data-urls@npm:^2.0.0": - version: 2.0.0 - resolution: "data-urls@npm:2.0.0" - dependencies: - abab: ^2.0.3 - whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.0.0 - checksum: 97caf828aac25e25e04ba6869db0f99c75e6859bb5b424ada28d3e7841941ebf08ddff3c1b1bb4585986bd507a5d54c2a716853ea6cb98af877400e637393e71 - languageName: node - linkType: hard - "debug@npm:4, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" @@ -4563,13 +4525,6 @@ __metadata: languageName: node linkType: hard -"decimal.js@npm:^10.2.1": - version: 10.3.1 - resolution: "decimal.js@npm:10.3.1" - checksum: 0351ac9f05fe050f23227aa6a4573bee2d58fa7378fcf28d969a8c789525032effb488a90320fd3fe86a66e17b4bc507d811b15eada5b7f0e7ec5d2af4c24a59 - languageName: node - linkType: hard - "dedent@npm:^0.7.0": version: 0.7.0 resolution: "dedent@npm:0.7.0" @@ -4577,7 +4532,7 @@ __metadata: languageName: node linkType: hard -"deep-is@npm:^0.1.3, deep-is@npm:~0.1.3": +"deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" checksum: edb65dd0d7d1b9c40b2f50219aef30e116cedd6fc79290e740972c132c09106d2e80aa0bc8826673dd5a00222d4179c84b36a790eef63a4c4bca75a37ef90804 @@ -4628,10 +4583,10 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^27.5.1": - version: 27.5.1 - resolution: "diff-sequences@npm:27.5.1" - checksum: a00db5554c9da7da225db2d2638d85f8e41124eccbd56cbaefb3b276dcbb1c1c2ad851c32defe2055a54a4806f030656cbf6638105fd6ce97bb87b90b32a33ca +"diff-sequences@npm:^29.4.3": + version: 29.4.3 + resolution: "diff-sequences@npm:29.4.3" + checksum: 28b265e04fdddcf7f9f814effe102cc95a9dec0564a579b5aed140edb24fc345c611ca52d76d725a3cab55d3888b915b5e8a4702e0f6058968a90fa5f41fcde7 languageName: node linkType: hard @@ -4701,15 +4656,6 @@ __metadata: languageName: node linkType: hard -"domexception@npm:^2.0.1": - version: 2.0.1 - resolution: "domexception@npm:2.0.1" - dependencies: - webidl-conversions: ^5.0.0 - checksum: d638e9cb05c52999f1b2eb87c374b03311ea5b1d69c2f875bc92da73e17db60c12142b45c950228642ff7f845c536b65305483350d080df59003a653da80b691 - languageName: node - linkType: hard - "dot-prop@npm:^3.0.0": version: 3.0.0 resolution: "dot-prop@npm:3.0.0" @@ -4738,17 +4684,17 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.4.251": - version: 1.4.255 - resolution: "electron-to-chromium@npm:1.4.255" - checksum: 9fd4e0b4a05b072e211b5a1ad2e20b099d7cd54a47b6cbf700dc9ef2020291b5b2d179af0dd0fc71be74b3c765a71ad14f7ff20afb637c0b58e7abc26ff3b68e +"electron-to-chromium@npm:^1.4.431": + version: 1.4.466 + resolution: "electron-to-chromium@npm:1.4.466" + checksum: 695af573f8642ed86db6e291b1c102083b1306fff7566b9d8e90bab04f7f330a9073a0487013fa21772625d60d9e2eb193a0518a6e80ef20ece20be8f3cd6e50 languageName: node linkType: hard -"emittery@npm:^0.8.1": - version: 0.8.1 - resolution: "emittery@npm:0.8.1" - checksum: 2457e8c7b0688bb006126f2c025b2655abe682f66b184954122a8a065b5277f9813d49d627896a10b076b81c513ec5f491fd9c14fbd42c04b95ca3c9f3c365ee +"emittery@npm:^0.13.1": + version: 0.13.1 + resolution: "emittery@npm:0.13.1" + checksum: 2b089ab6306f38feaabf4f6f02792f9ec85fc054fda79f44f6790e61bbf6bc4e1616afb9b232e0c5ec5289a8a452f79bfa6d905a6fd64e94b49981f0934001c6 languageName: node linkType: hard @@ -4777,13 +4723,13 @@ __metadata: languageName: node linkType: hard -"enhanced-resolve@npm:^5.9.2": - version: 5.9.2 - resolution: "enhanced-resolve@npm:5.9.2" +"enhanced-resolve@npm:^5.14.1": + version: 5.14.1 + resolution: "enhanced-resolve@npm:5.14.1" dependencies: graceful-fs: ^4.2.4 tapable: ^2.2.0 - checksum: 792b7a01abb4ee4433b658c71f92d5948675938e0c03cad1732abe843b87395f15cb880ace4f819f78ead94163278283afc79b8be63c0eddca8ab45f7d8c515d + checksum: ad2a31928b6649eed40d364838449587f731baa63863e83d2629bebaa8be1eabac18b90f89c1784bc805b0818363e99b22547159edd485d7e5ccf18cdc640642 languageName: node linkType: hard @@ -4865,10 +4811,10 @@ __metadata: languageName: node linkType: hard -"es-module-lexer@npm:^0.9.0": - version: 0.9.3 - resolution: "es-module-lexer@npm:0.9.3" - checksum: 84bbab23c396281db2c906c766af58b1ae2a1a2599844a504df10b9e8dc77ec800b3211fdaa133ff700f5703d791198807bba25d9667392d27a5e9feda344da8 +"es-module-lexer@npm:^1.2.1": + version: 1.3.0 + resolution: "es-module-lexer@npm:1.3.0" + checksum: 48fd9f504a9d2a894126f75c8b7ccc6273a289983e9b67255f165bfd9ae765d50100218251e94e702ca567826905ea2f7b3b4a0c4d74d3ce99cce3a2a606a238 languageName: node linkType: hard @@ -4911,25 +4857,6 @@ __metadata: languageName: node linkType: hard -"escodegen@npm:^2.0.0": - version: 2.0.0 - resolution: "escodegen@npm:2.0.0" - dependencies: - esprima: ^4.0.1 - estraverse: ^5.2.0 - esutils: ^2.0.2 - optionator: ^0.8.1 - source-map: ~0.6.1 - dependenciesMeta: - source-map: - optional: true - bin: - escodegen: bin/escodegen.js - esgenerate: bin/esgenerate.js - checksum: 5aa6b2966fafe0545e4e77936300cc94ad57cfe4dc4ebff9950492eaba83eef634503f12d7e3cbd644ecc1bab388ad0e92b06fd32222c9281a75d1cf02ec6cef - languageName: node - linkType: hard - "eslint-config-airbnb-base@npm:14.2.1": version: 14.2.1 resolution: "eslint-config-airbnb-base@npm:14.2.1" @@ -5154,7 +5081,7 @@ __metadata: languageName: node linkType: hard -"esprima@npm:^4.0.0, esprima@npm:^4.0.1": +"esprima@npm:^4.0.0": version: 4.0.1 resolution: "esprima@npm:4.0.1" bin: @@ -5248,15 +5175,17 @@ __metadata: languageName: node linkType: hard -"expect@npm:^27.5.1": - version: 27.5.1 - resolution: "expect@npm:27.5.1" +"expect@npm:^29.0.0, expect@npm:^29.6.1": + version: 29.6.1 + resolution: "expect@npm:29.6.1" dependencies: - "@jest/types": ^27.5.1 - jest-get-type: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - checksum: b2c66beb52de53ef1872165aace40224e722bca3c2274c54cfa74b6d617d55cf0ccdbf36783ccd64dbea501b280098ed33fd0b207d4f15bc03cd3c7a24364a6a + "@jest/expect-utils": ^29.6.1 + "@types/node": "*" + jest-get-type: ^29.4.3 + jest-matcher-utils: ^29.6.1 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 + checksum: 4e712e52c90f6c54e748fd2876be33c43ada6a59088ddf6a1acb08b18b3b97b3a672124684abe32599986d2f2a438d5afad148837ee06ea386d2a4bf0348de78 languageName: node linkType: hard @@ -5308,14 +5237,14 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0": +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: b191531e36c607977e5b1c47811158733c34ccb3bfde92c44798929e9b4154884378536d26ad90dfecd32e1ffc09c545d23535ad91b3161a27ddbb8ebe0cbecb languageName: node linkType: hard -"fast-levenshtein@npm:^2.0.6, fast-levenshtein@npm:~2.0.6": +"fast-levenshtein@npm:^2.0.6": version: 2.0.6 resolution: "fast-levenshtein@npm:2.0.6" checksum: 92cfec0a8dfafd9c7a15fba8f2cc29cd0b62b85f056d99ce448bbcd9f708e18ab2764bda4dd5158364f4145a7c72788538994f0d1787b956ef0d1062b0f7c24c @@ -5437,17 +5366,6 @@ __metadata: languageName: node linkType: hard -"form-data@npm:^3.0.0": - version: 3.0.1 - resolution: "form-data@npm:3.0.1" - dependencies: - asynckit: ^0.4.0 - combined-stream: ^1.0.8 - mime-types: ^2.1.12 - checksum: b019e8d35c8afc14a2bd8a7a92fa4f525a4726b6d5a9740e8d2623c30e308fbb58dc8469f90415a856698933c8479b01646a9dff33c87cc4e76d72aedbbf860d - languageName: node - linkType: hard - "form-data@npm:~2.3.2": version: 2.3.3 resolution: "form-data@npm:2.3.3" @@ -5661,7 +5579,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": +"glob@npm:^7.1.1, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.2.0": version: 7.2.0 resolution: "glob@npm:7.2.0" dependencies: @@ -5832,15 +5750,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"html-encoding-sniffer@npm:^2.0.1": - version: 2.0.1 - resolution: "html-encoding-sniffer@npm:2.0.1" - dependencies: - whatwg-encoding: ^1.0.5 - checksum: bf30cce461015ed7e365736fcd6a3063c7bc016a91f74398ef6158886970a96333938f7c02417ab3c12aa82e3e53b40822145facccb9ddfbcdc15a879ae4d7ba - languageName: node - linkType: hard - "html-escaper@npm:^2.0.0": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -5855,17 +5764,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"http-proxy-agent@npm:^4.0.1": - version: 4.0.1 - resolution: "http-proxy-agent@npm:4.0.1" - dependencies: - "@tootallnate/once": 1 - agent-base: 6 - debug: 4 - checksum: c6a5da5a1929416b6bbdf77b1aca13888013fe7eb9d59fc292e25d18e041bb154a8dfada58e223fc7b76b9b2d155a87e92e608235201f77d34aa258707963a82 - languageName: node - linkType: hard - "http-proxy-agent@npm:^5.0.0": version: 5.0.0 resolution: "http-proxy-agent@npm:5.0.0" @@ -5935,15 +5833,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"iconv-lite@npm:0.4.24": - version: 0.4.24 - resolution: "iconv-lite@npm:0.4.24" - dependencies: - safer-buffer: ">= 2.1.2 < 3" - checksum: bd9f120f5a5b306f0bc0b9ae1edeb1577161503f5f8252a20f1a9e56ef8775c9959fd01c55f2d3a39d9a8abaf3e30c1abeb1895f367dcbbe0a8fd1c9ca01c4f6 - languageName: node - linkType: hard - "iconv-lite@npm:^0.6.2": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" @@ -6207,13 +6096,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"is-potential-custom-element-name@npm:^1.0.1": - version: 1.0.1 - resolution: "is-potential-custom-element-name@npm:1.0.1" - checksum: ced7bbbb6433a5b684af581872afe0e1767e2d1146b2207ca0068a648fb5cab9d898495d1ac0583524faaf24ca98176a7d9876363097c2d14fee6dd324f3a1ab - languageName: node - linkType: hard - "is-regex@npm:^1.1.4": version: 1.1.4 resolution: "is-regex@npm:1.1.4" @@ -6265,7 +6147,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0": +"is-typedarray@npm:~1.0.0": version: 1.0.0 resolution: "is-typedarray@npm:1.0.0" checksum: 3508c6cd0a9ee2e0df2fa2e9baabcdc89e911c7bd5cf64604586697212feec525aa21050e48affb5ffc3df20f0f5d2e2cf79b08caa64e1ccc9578e251763aef7 @@ -6361,60 +6243,60 @@ fsevents@^2.3.2: languageName: node linkType: hard -"jest-changed-files@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-changed-files@npm:27.5.1" +"jest-changed-files@npm:^29.5.0": + version: 29.5.0 + resolution: "jest-changed-files@npm:29.5.0" dependencies: - "@jest/types": ^27.5.1 execa: ^5.0.0 - throat: ^6.0.1 - checksum: 95e9dc74c3ca688ef85cfeab270f43f8902721a6c8ade6ac2459459a77890c85977f537d6fb809056deaa6d9c3f075fa7d2699ff5f3bf7d3fda17c3760b79b15 + p-limit: ^3.1.0 + checksum: a67a7cb3c11f8f92bd1b7c79e84f724cbd11a9ad51f3cdadafe3ce7ee3c79ee50dbea128f920f5fddc807e9e4e83f5462143094391feedd959a77dd20ab96cf3 languageName: node linkType: hard -"jest-circus@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-circus@npm:27.5.1" +"jest-circus@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-circus@npm:29.6.1" dependencies: - "@jest/environment": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/environment": ^29.6.1 + "@jest/expect": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 dedent: ^0.7.0 - expect: ^27.5.1 is-generator-fn: ^2.0.0 - jest-each: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - jest-runtime: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 - pretty-format: ^27.5.1 + jest-each: ^29.6.1 + jest-matcher-utils: ^29.6.1 + jest-message-util: ^29.6.1 + jest-runtime: ^29.6.1 + jest-snapshot: ^29.6.1 + jest-util: ^29.6.1 + p-limit: ^3.1.0 + pretty-format: ^29.6.1 + pure-rand: ^6.0.0 slash: ^3.0.0 stack-utils: ^2.0.3 - throat: ^6.0.1 - checksum: 6192dccbccb3a6acfa361cbb97bdbabe94864ccf3d885932cfd41f19534329d40698078cf9be1489415e8234255d6ea9f9aff5396b79ad842a6fca6e6fc08fd0 + checksum: f3e39a74b601929448df92037f0599978d4d7a4b8f636f64e8020533d2d2b2f669d6729c80c6efed69341ca26753e5061e9787a0acd6c70af2127a94375ebb76 languageName: node linkType: hard -"jest-cli@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-cli@npm:27.5.1" +"jest-cli@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-cli@npm:29.6.1" dependencies: - "@jest/core": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/core": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/types": ^29.6.1 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.9 import-local: ^3.0.2 - jest-config: ^27.5.1 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 + jest-config: ^29.6.1 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 prompts: ^2.0.1 - yargs: ^16.2.0 + yargs: ^17.3.1 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -6422,212 +6304,173 @@ fsevents@^2.3.2: optional: true bin: jest: bin/jest.js - checksum: 6c0a69fb48e500241409e09ff743ed72bc6578d7769e2c994724e7ef1e5587f6c1f85dc429e93b98ae38a365222993ee70f0acc2199358992120900984f349e5 + checksum: f5854ffea977b9a12520ea71f8d0cc8a626cbb93d7e1e6eea18a2a1f2b25f70f1b6b08a89f11b4dc7dd36a1776a9ac2cf8ec5c7998086f913ee690c06c07c949 languageName: node linkType: hard -"jest-config@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-config@npm:27.5.1" +"jest-config@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-config@npm:29.6.1" dependencies: - "@babel/core": ^7.8.0 - "@jest/test-sequencer": ^27.5.1 - "@jest/types": ^27.5.1 - babel-jest: ^27.5.1 + "@babel/core": ^7.11.6 + "@jest/test-sequencer": ^29.6.1 + "@jest/types": ^29.6.1 + babel-jest: ^29.6.1 chalk: ^4.0.0 ci-info: ^3.2.0 deepmerge: ^4.2.2 - glob: ^7.1.1 + glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-circus: ^27.5.1 - jest-environment-jsdom: ^27.5.1 - jest-environment-node: ^27.5.1 - jest-get-type: ^27.5.1 - jest-jasmine2: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-runner: ^27.5.1 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 + jest-circus: ^29.6.1 + jest-environment-node: ^29.6.1 + jest-get-type: ^29.4.3 + jest-regex-util: ^29.4.3 + jest-resolve: ^29.6.1 + jest-runner: ^29.6.1 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 micromatch: ^4.0.4 parse-json: ^5.2.0 - pretty-format: ^27.5.1 + pretty-format: ^29.6.1 slash: ^3.0.0 strip-json-comments: ^3.1.1 peerDependencies: + "@types/node": "*" ts-node: ">=9.0.0" peerDependenciesMeta: + "@types/node": + optional: true ts-node: optional: true - checksum: 1188fd46c0ed78cbe3175eb9ad6712ccf74a74be33d9f0d748e147c107f0889f8b701fbff1567f31836ae18597dacdc43d6a8fc30dd34ade6c9229cc6c7cb82d + checksum: 3a30afeb28cc5658ef9cd95f2551ab8a29641bb6d377eb239cba8e7522eb4611c9a98cdcf173d87f5ad7b5e1ad242c3cd5434a260107bd3c7e8305d05023e05c languageName: node linkType: hard -"jest-diff@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-diff@npm:27.5.1" +"jest-diff@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-diff@npm:29.6.1" dependencies: chalk: ^4.0.0 - diff-sequences: ^27.5.1 - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: 8be27c1e1ee57b2bb2bef9c0b233c19621b4c43d53a3c26e2c00a4e805eb4ea11fe1694a06a9fb0e80ffdcfdc0d2b1cb0b85920b3f5c892327ecd1e7bd96b865 + diff-sequences: ^29.4.3 + jest-get-type: ^29.4.3 + pretty-format: ^29.6.1 + checksum: c6350178ca27d92c7fd879790fb2525470c1ff1c5d29b1834a240fecd26c6904fb470ebddb98dc96dd85389c56c3b50e6965a1f5203e9236d213886ed9806219 languageName: node linkType: hard -"jest-docblock@npm:^27.4.0, jest-docblock@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-docblock@npm:27.5.1" +"jest-docblock@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-docblock@npm:29.4.3" dependencies: detect-newline: ^3.0.0 - checksum: c0fed6d55b229d8bffdd8d03f121dd1a3be77c88f50552d374f9e1ea3bde57bf6bea017a0add04628d98abcb1bfb48b456438eeca8a74ef0053f4dae3b95d29c + checksum: e0e9df1485bb8926e5b33478cdf84b3387d9caf3658e7dc1eaa6dc34cb93dea0d2d74797f6e940f0233a88f3dadd60957f2288eb8f95506361f85b84bf8661df languageName: node linkType: hard -"jest-each@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-each@npm:27.5.1" +"jest-each@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-each@npm:29.6.1" dependencies: - "@jest/types": ^27.5.1 + "@jest/types": ^29.6.1 chalk: ^4.0.0 - jest-get-type: ^27.5.1 - jest-util: ^27.5.1 - pretty-format: ^27.5.1 - checksum: b5a6d8730fd938982569c9e0b42bdf3c242f97b957ed8155a6473b5f7b540970f8685524e7f53963dc1805319f4b6602abfc56605590ca19d55bd7a87e467e63 + jest-get-type: ^29.4.3 + jest-util: ^29.6.1 + pretty-format: ^29.6.1 + checksum: 9d2ea7ed5326ee8c22523b22c66c85fe73754ea39f9b389881956508ee441392c61072a5fbf673e39beddd31d011bb94acae3edc77053ba4f9aa5c060114a5c8 languageName: node linkType: hard -"jest-environment-jsdom@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-environment-jsdom@npm:27.5.1" +"jest-environment-node@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-environment-node@npm:29.6.1" dependencies: - "@jest/environment": ^27.5.1 - "@jest/fake-timers": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/environment": ^29.6.1 + "@jest/fake-timers": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" - jest-mock: ^27.5.1 - jest-util: ^27.5.1 - jsdom: ^16.6.0 - checksum: bc104aef7d7530d0740402aa84ac812138b6d1e51fe58adecce679f82b99340ddab73e5ec68fa079f33f50c9ddec9728fc9f0ddcca2ad6f0b351eed2762cc555 + jest-mock: ^29.6.1 + jest-util: ^29.6.1 + checksum: a50287e1ff29d131646bd09acc3222ac6ea0ad61e86bf73851d318ef2be0633a421b8558c4a15ddc67e0ffcfc32da7f6a0d8a2ddbfa85453837899dec88d256c languageName: node linkType: hard -"jest-environment-node@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-environment-node@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/fake-timers": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - jest-mock: ^27.5.1 - jest-util: ^27.5.1 - checksum: 0f988330c4f3eec092e3fb37ea753b0c6f702e83cd8f4d770af9c2bf964a70bc45fbd34ec6fdb6d71ce98a778d9f54afd673e63f222e4667fff289e8069dba39 - languageName: node - linkType: hard - -"jest-get-type@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-get-type@npm:27.5.1" - checksum: 63064ab70195c21007d897c1157bf88ff94a790824a10f8c890392e7d17eda9c3900513cb291ca1c8d5722cad79169764e9a1279f7c8a9c4cd6e9109ff04bbc0 +"jest-get-type@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-get-type@npm:29.4.3" + checksum: 6ac7f2dde1c65e292e4355b6c63b3a4897d7e92cb4c8afcf6d397f2682f8080e094c8b0b68205a74d269882ec06bf696a9de6cd3e1b7333531e5ed7b112605ce languageName: node linkType: hard -"jest-haste-map@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-haste-map@npm:27.5.1" +"jest-haste-map@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-haste-map@npm:29.6.1" dependencies: - "@jest/types": ^27.5.1 - "@types/graceful-fs": ^4.1.2 + "@jest/types": ^29.6.1 + "@types/graceful-fs": ^4.1.3 "@types/node": "*" anymatch: ^3.0.3 fb-watchman: ^2.0.0 fsevents: ^2.3.2 graceful-fs: ^4.2.9 - jest-regex-util: ^27.5.1 - jest-serializer: ^27.5.1 - jest-util: ^27.5.1 - jest-worker: ^27.5.1 + jest-regex-util: ^29.4.3 + jest-util: ^29.6.1 + jest-worker: ^29.6.1 micromatch: ^4.0.4 - walker: ^1.0.7 + walker: ^1.0.8 dependenciesMeta: fsevents: optional: true - checksum: e092a1412829a9254b4725531ee72926de530f77fda7b0d9ea18008fb7623c16f72e772d8e93be71cac9e591b2c6843a669610887dd2c89bd9eb528856e3ab47 + checksum: 7c74d5a0f6aafa9f4e60fae7949d4774770c0243fb529c24f2f4c81229db479fa318dc8b81e8d226865aef1d600af10bd8404dd208e802318434b46f75d5d869 languageName: node linkType: hard -"jest-jasmine2@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-jasmine2@npm:27.5.1" +"jest-leak-detector@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-leak-detector@npm:29.6.1" dependencies: - "@jest/environment": ^27.5.1 - "@jest/source-map": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/node": "*" - chalk: ^4.0.0 - co: ^4.6.0 - expect: ^27.5.1 - is-generator-fn: ^2.0.0 - jest-each: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - jest-runtime: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 - pretty-format: ^27.5.1 - throat: ^6.0.1 - checksum: b716adf253ceb73db661936153394ab90d7f3a8ba56d6189b7cd4df8e4e2a4153b4e63ebb5d36e29ceb0f4c211d5a6f36ab7048c6abbd881c8646567e2ab8e6d + jest-get-type: ^29.4.3 + pretty-format: ^29.6.1 + checksum: 5122d40c248effaede4c9ee3a99046a3f30088fef7bfc4af534678b432455161399357af46deb6423de7e05c6597920d6ee8cd570e26048886a90d541334f8c8 languageName: node linkType: hard -"jest-leak-detector@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-leak-detector@npm:27.5.1" - dependencies: - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: 5c9689060960567ddaf16c570d87afa760a461885765d2c71ef4f4857bbc3af1482c34e3cce88e50beefde1bf35e33530b020480752057a7e3dbb1ca0bae359f - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^27.0.0, jest-matcher-utils@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-matcher-utils@npm:27.5.1" +"jest-matcher-utils@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-matcher-utils@npm:29.6.1" dependencies: chalk: ^4.0.0 - jest-diff: ^27.5.1 - jest-get-type: ^27.5.1 - pretty-format: ^27.5.1 - checksum: bb2135fc48889ff3fe73888f6cc7168ddab9de28b51b3148f820c89fdfd2effdcad005f18be67d0b9be80eda208ad47290f62f03d0a33f848db2dd0273c8217a + jest-diff: ^29.6.1 + jest-get-type: ^29.4.3 + pretty-format: ^29.6.1 + checksum: d2efa6aed6e4820758b732b9fefd315c7fa4508ee690da656e1c5ac4c1a0f4cee5b04c9719ee1fda9aeb883b4209186c145089ced521e715b9fa70afdfa4a9c6 languageName: node linkType: hard -"jest-message-util@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-message-util@npm:27.5.1" +"jest-message-util@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-message-util@npm:29.6.1" dependencies: "@babel/code-frame": ^7.12.13 - "@jest/types": ^27.5.1 + "@jest/types": ^29.6.1 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 micromatch: ^4.0.4 - pretty-format: ^27.5.1 + pretty-format: ^29.6.1 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: eb6d637d1411c71646de578c49826b6da8e33dd293e501967011de9d1916d53d845afbfb52a5b661ff1c495be7c13f751c48c7f30781fd94fbd64842e8195796 + checksum: 3e7cb2ff087fe72255292e151d24e4fbb4cd6134885c0a67a4b302f233fe4110bf7580b176f427f05ad7550eb878ed94237209785d09d659a7d171ffa59c068f languageName: node linkType: hard -"jest-mock@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-mock@npm:27.5.1" +"jest-mock@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-mock@npm:29.6.1" dependencies: - "@jest/types": ^27.5.1 + "@jest/types": ^29.6.1 "@types/node": "*" - checksum: f5b5904bb1741b4a1687a5f492535b7b1758dc26534c72a5423305f8711292e96a601dec966df81bb313269fb52d47227e29f9c2e08324d79529172f67311be0 + jest-util: ^29.6.1 + checksum: 5e902f1a7eba1eb1a64eb6c19947fe1316834359d9869d0e2644d8979b9cad0465885dc4c9909c471888cddeea835c938cec6263d386d3d1aad720fc74e52ea1 languageName: node linkType: hard @@ -6643,195 +6486,173 @@ fsevents@^2.3.2: languageName: node linkType: hard -"jest-regex-util@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-regex-util@npm:27.5.1" - checksum: d45ca7a9543616a34f7f3079337439cf07566e677a096472baa2810e274b9808b76767c97b0a4029b8a5b82b9d256dee28ef9ad4138b2b9e5933f6fac106c418 +"jest-regex-util@npm:^29.4.3": + version: 29.4.3 + resolution: "jest-regex-util@npm:29.4.3" + checksum: 96fc7fc28cd4dd73a63c13a526202c4bd8b351d4e5b68b1a2a2c88da3308c2a16e26feaa593083eb0bac38cca1aa9dd05025412e7de013ba963fb8e66af22b8a languageName: node linkType: hard -"jest-resolve-dependencies@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-resolve-dependencies@npm:27.5.1" +"jest-resolve-dependencies@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-resolve-dependencies@npm:29.6.1" dependencies: - "@jest/types": ^27.5.1 - jest-regex-util: ^27.5.1 - jest-snapshot: ^27.5.1 - checksum: c67af97afad1da88f5530317c732bbd1262d1225f6cd7f4e4740a5db48f90ab0bd8564738ac70d1a43934894f9aef62205c1b8f8ee89e5c7a737e6a121ee4c25 + jest-regex-util: ^29.4.3 + jest-snapshot: ^29.6.1 + checksum: cee0a0fe53fd4531492a526b6ccd32377baad1eff6e6c124f04e9dc920219fd23fd39be88bb9551ee68d5fe92a3af627b423c9bc65a2aa0ac8a223c0e74dbbbb languageName: node linkType: hard -"jest-resolve@npm:^27.2.5, jest-resolve@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-resolve@npm:27.5.1" +"jest-resolve@npm:^29.5.0, jest-resolve@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-resolve@npm:29.6.1" dependencies: - "@jest/types": ^27.5.1 chalk: ^4.0.0 graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 + jest-haste-map: ^29.6.1 jest-pnp-resolver: ^1.2.2 - jest-util: ^27.5.1 - jest-validate: ^27.5.1 + jest-util: ^29.6.1 + jest-validate: ^29.6.1 resolve: ^1.20.0 - resolve.exports: ^1.1.0 + resolve.exports: ^2.0.0 slash: ^3.0.0 - checksum: 735830e7265b20a348029738680bb2f6e37f80ecea86cda869a4c318ba3a45d39c7a3a873a22f7f746d86258c50ead6e7f501de043e201c095d7ba628a1c440f - languageName: node - linkType: hard - -"jest-runner-groups@npm:^2.1.0": - version: 2.1.0 - resolution: "jest-runner-groups@npm:2.1.0" - peerDependencies: - jest-docblock: ">= 24" - jest-runner: ">= 24" - checksum: 760ae1b47e0d257441843508652bc09d6b9e09c35be2325d81bb14b082bc9c49974df0123c75a4b45a655c04e61d52dc3d4bf32279243fd86b5656fdb582573a + checksum: 9ce979a0f4a751bea58caea76415112df2a3f4d58e294019872244728aadd001f0ec20c873a3c805dd8f7c762143b3c14d00f87d124ed87c9981fbf8723090ef languageName: node linkType: hard -"jest-runner@npm:^27.4.6, jest-runner@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-runner@npm:27.5.1" +"jest-runner@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-runner@npm:29.6.1" dependencies: - "@jest/console": ^27.5.1 - "@jest/environment": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/console": ^29.6.1 + "@jest/environment": ^29.6.1 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 - emittery: ^0.8.1 + emittery: ^0.13.1 graceful-fs: ^4.2.9 - jest-docblock: ^27.5.1 - jest-environment-jsdom: ^27.5.1 - jest-environment-node: ^27.5.1 - jest-haste-map: ^27.5.1 - jest-leak-detector: ^27.5.1 - jest-message-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-runtime: ^27.5.1 - jest-util: ^27.5.1 - jest-worker: ^27.5.1 - source-map-support: ^0.5.6 - throat: ^6.0.1 - checksum: 5bbe6cf847dd322b3332ec9d6977b54f91bd5f72ff620bc1a0192f0f129deda8aa7ca74c98922187a7aa87d8e0ce4f6c50e99a7ccb2a310bf4d94be2e0c3ce8e - languageName: node - linkType: hard - -"jest-runtime@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-runtime@npm:27.5.1" - dependencies: - "@jest/environment": ^27.5.1 - "@jest/fake-timers": ^27.5.1 - "@jest/globals": ^27.5.1 - "@jest/source-map": ^27.5.1 - "@jest/test-result": ^27.5.1 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 + jest-docblock: ^29.4.3 + jest-environment-node: ^29.6.1 + jest-haste-map: ^29.6.1 + jest-leak-detector: ^29.6.1 + jest-message-util: ^29.6.1 + jest-resolve: ^29.6.1 + jest-runtime: ^29.6.1 + jest-util: ^29.6.1 + jest-watcher: ^29.6.1 + jest-worker: ^29.6.1 + p-limit: ^3.1.0 + source-map-support: 0.5.13 + checksum: 0e4dbda26669ae31fee32f8a62b3119bba510f2d17a098d6157b48a73ed2fc9842405bf893f3045c12b3632c7c0e3399fb22684b18ab5566aff4905b26c79a9a + languageName: node + linkType: hard + +"jest-runtime@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-runtime@npm:29.6.1" + dependencies: + "@jest/environment": ^29.6.1 + "@jest/fake-timers": ^29.6.1 + "@jest/globals": ^29.6.1 + "@jest/source-map": ^29.6.0 + "@jest/test-result": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 + "@types/node": "*" chalk: ^4.0.0 cjs-module-lexer: ^1.0.0 collect-v8-coverage: ^1.0.0 - execa: ^5.0.0 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-haste-map: ^27.5.1 - jest-message-util: ^27.5.1 - jest-mock: ^27.5.1 - jest-regex-util: ^27.5.1 - jest-resolve: ^27.5.1 - jest-snapshot: ^27.5.1 - jest-util: ^27.5.1 + jest-haste-map: ^29.6.1 + jest-message-util: ^29.6.1 + jest-mock: ^29.6.1 + jest-regex-util: ^29.4.3 + jest-resolve: ^29.6.1 + jest-snapshot: ^29.6.1 + jest-util: ^29.6.1 slash: ^3.0.0 strip-bom: ^4.0.0 - checksum: 929e3df0c53dab43f831f2af4e2996b22aa8cb2d6d483919d6b0426cbc100098fd5b777b998c6568b77f8c4d860b2e83127514292ff61416064f5ef926492386 + checksum: 7c360c9694467d996f3d6d914fefa0e7bda554adda8c2b9fba31546dba663d71a64eda103ff68120a2422f3c16db8f0bc2c445923fe8fb934f37e53ef74fb429 languageName: node linkType: hard -"jest-serializer@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-serializer@npm:27.5.1" - dependencies: - "@types/node": "*" - graceful-fs: ^4.2.9 - checksum: 803e03a552278610edc6753c0dd9fa5bb5cd3ca47414a7b2918106efb62b79fd5e9ae785d0a21f12a299fa599fea8acc1fa6dd41283328cee43962cf7df9bb44 - languageName: node - linkType: hard - -"jest-snapshot@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-snapshot@npm:27.5.1" +"jest-snapshot@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-snapshot@npm:29.6.1" dependencies: - "@babel/core": ^7.7.2 + "@babel/core": ^7.11.6 "@babel/generator": ^7.7.2 + "@babel/plugin-syntax-jsx": ^7.7.2 "@babel/plugin-syntax-typescript": ^7.7.2 - "@babel/traverse": ^7.7.2 - "@babel/types": ^7.0.0 - "@jest/transform": ^27.5.1 - "@jest/types": ^27.5.1 - "@types/babel__traverse": ^7.0.4 + "@babel/types": ^7.3.3 + "@jest/expect-utils": ^29.6.1 + "@jest/transform": ^29.6.1 + "@jest/types": ^29.6.1 "@types/prettier": ^2.1.5 babel-preset-current-node-syntax: ^1.0.0 chalk: ^4.0.0 - expect: ^27.5.1 + expect: ^29.6.1 graceful-fs: ^4.2.9 - jest-diff: ^27.5.1 - jest-get-type: ^27.5.1 - jest-haste-map: ^27.5.1 - jest-matcher-utils: ^27.5.1 - jest-message-util: ^27.5.1 - jest-util: ^27.5.1 + jest-diff: ^29.6.1 + jest-get-type: ^29.4.3 + jest-matcher-utils: ^29.6.1 + jest-message-util: ^29.6.1 + jest-util: ^29.6.1 natural-compare: ^1.4.0 - pretty-format: ^27.5.1 - semver: ^7.3.2 - checksum: a5cfadf0d21cd76063925d1434bc076443ed6d87847d0e248f0b245f11db3d98ff13e45cc03b15404027dabecd712d925f47b6eae4f64986f688640a7d362514 + pretty-format: ^29.6.1 + semver: ^7.5.3 + checksum: e8f69d1fd4a29d354d4dca9eb2a22674b300f8ef509e4f1e75337c880414a00d2bdc9d3849a6855dbb5a76bfbe74603f33435378a3877e69f0838e4cc2244350 languageName: node linkType: hard -"jest-util@npm:^27.0.0, jest-util@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-util@npm:27.5.1" +"jest-util@npm:^29.0.0, jest-util@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-util@npm:29.6.1" dependencies: - "@jest/types": ^27.5.1 + "@jest/types": ^29.6.1 "@types/node": "*" chalk: ^4.0.0 ci-info: ^3.2.0 graceful-fs: ^4.2.9 picomatch: ^2.2.3 - checksum: ac8d122f6daf7a035dcea156641fd3701aeba245417c40836a77e35b3341b9c02ddc5d904cfcd4ddbaa00ab854da76d3b911870cafdcdbaff90ea471de26c7d7 + checksum: fc553556c1350c443449cadaba5fb9d604628e8b5ceb6ceaf4e7e08975b24277d0a14bf2e0f956024e03c23e556fcb074659423422a06fbedf2ab52978697ac7 languageName: node linkType: hard -"jest-validate@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-validate@npm:27.5.1" +"jest-validate@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-validate@npm:29.6.1" dependencies: - "@jest/types": ^27.5.1 + "@jest/types": ^29.6.1 camelcase: ^6.2.0 chalk: ^4.0.0 - jest-get-type: ^27.5.1 + jest-get-type: ^29.4.3 leven: ^3.1.0 - pretty-format: ^27.5.1 - checksum: 82e870f8ee7e4fb949652711b1567f05ae31c54be346b0899e8353e5c20fad7692b511905b37966945e90af8dc0383eb41a74f3ffefb16140ea4f9164d841412 + pretty-format: ^29.6.1 + checksum: d2491f3f33d9bbc2dcaaa6acbff26f257b59c5eeceb65a52a9c1cec2f679b836ec2a4658b7004c0ef9d90cd0d9bd664e41d5ed6900f932bea742dd8e6b85e7f1 languageName: node linkType: hard -"jest-watcher@npm:^27.5.1": - version: 27.5.1 - resolution: "jest-watcher@npm:27.5.1" +"jest-watcher@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-watcher@npm:29.6.1" dependencies: - "@jest/test-result": ^27.5.1 - "@jest/types": ^27.5.1 + "@jest/test-result": ^29.6.1 + "@jest/types": ^29.6.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 - jest-util: ^27.5.1 + emittery: ^0.13.1 + jest-util: ^29.6.1 string-length: ^4.0.1 - checksum: 191c4e9c278c0902ade1a8a80883ac244963ba3e6e78607a3d5f729ccca9c6e71fb3b316f87883658132641c5d818aa84202585c76752e03c539e6cbecb820bd + checksum: 69bd5a602284fdce6eba5486c5c57aca6b511d91cb0907c34c104d6dd931e18ce67baa7f8e280fa473e5d81ea3e7b9e7d94f712c37ab0b3b8cc2aec30676955d languageName: node linkType: hard -"jest-worker@npm:^27.4.5, jest-worker@npm:^27.5.1": +"jest-worker@npm:^27.4.5": version: 27.5.1 resolution: "jest-worker@npm:27.5.1" dependencies: @@ -6842,13 +6663,26 @@ fsevents@^2.3.2: languageName: node linkType: hard -"jest@npm:^27.4.7": - version: 27.5.1 - resolution: "jest@npm:27.5.1" +"jest-worker@npm:^29.6.1": + version: 29.6.1 + resolution: "jest-worker@npm:29.6.1" + dependencies: + "@types/node": "*" + jest-util: ^29.6.1 + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: 0af309ea4db17c4c47e84a9246f907960a15577683c005fdeafc8f3c06bc455136f95a6f28fa2a3e924b767eb4dacd9b40915a7707305f88586f099af3ac27a8 + languageName: node + linkType: hard + +"jest@npm:^29.6.1": + version: 29.6.1 + resolution: "jest@npm:29.6.1" dependencies: - "@jest/core": ^27.5.1 + "@jest/core": ^29.6.1 + "@jest/types": ^29.6.1 import-local: ^3.0.2 - jest-cli: ^27.5.1 + jest-cli: ^29.6.1 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -6856,7 +6690,7 @@ fsevents@^2.3.2: optional: true bin: jest: bin/jest.js - checksum: 96f1d69042b3c6dfc695f2a4e4b0db38af6fb78582ad1a02beaa57cfcd77cbd31567d7d865c1c85709b7c3e176eefa3b2035ffecd646005f15d8ef528eccf205 + checksum: 7b8c0ca72f483e00ec19dcf9549f9a9af8ae468ab62925b148d714b58eb52d5fea9a082625193bc833d2d9b64cf65a11f3d37857636c5551af05c10aec4ce71b languageName: node linkType: hard @@ -6893,46 +6727,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"jsdom@npm:^16.6.0": - version: 16.7.0 - resolution: "jsdom@npm:16.7.0" - dependencies: - abab: ^2.0.5 - acorn: ^8.2.4 - acorn-globals: ^6.0.0 - cssom: ^0.4.4 - cssstyle: ^2.3.0 - data-urls: ^2.0.0 - decimal.js: ^10.2.1 - domexception: ^2.0.1 - escodegen: ^2.0.0 - form-data: ^3.0.0 - html-encoding-sniffer: ^2.0.1 - http-proxy-agent: ^4.0.1 - https-proxy-agent: ^5.0.0 - is-potential-custom-element-name: ^1.0.1 - nwsapi: ^2.2.0 - parse5: 6.0.1 - saxes: ^5.0.1 - symbol-tree: ^3.2.4 - tough-cookie: ^4.0.0 - w3c-hr-time: ^1.0.2 - w3c-xmlserializer: ^2.0.0 - webidl-conversions: ^6.1.0 - whatwg-encoding: ^1.0.5 - whatwg-mimetype: ^2.3.0 - whatwg-url: ^8.5.0 - ws: ^7.4.6 - xml-name-validator: ^3.0.0 - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - checksum: 454b83371857000763ed31130a049acd1b113e3b927e6dcd75c67ddc30cdd242d7ebcac5c2294b7a1a6428155cb1398709c573b3c6d809218692ea68edd93370 - languageName: node - linkType: hard - "jsesc@npm:^2.5.1": version: 2.5.2 resolution: "jsesc@npm:2.5.2" @@ -6951,14 +6745,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"json-parse-better-errors@npm:^1.0.2": - version: 1.0.2 - resolution: "json-parse-better-errors@npm:1.0.2" - checksum: ff2b5ba2a70e88fd97a3cb28c1840144c5ce8fae9cbeeddba15afa333a5c407cf0e42300cd0a2885dbb055227fe68d405070faad941beeffbfde9cf3b2c78c5d - languageName: node - linkType: hard - -"json-parse-even-better-errors@npm:^2.3.0": +"json-parse-even-better-errors@npm:^2.3.0, json-parse-even-better-errors@npm:^2.3.1": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" checksum: 798ed4cf3354a2d9ccd78e86d2169515a0097a5c133337807cdf7f1fc32e1391d207ccfc276518cc1d7d8d4db93288b8a50ba4293d212ad1336e52a8ec0a941f @@ -7000,15 +6787,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"json5@npm:2.x, json5@npm:^2.2.1": - version: 2.2.3 - resolution: "json5@npm:2.2.3" - bin: - json5: lib/cli.js - checksum: 2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349 - languageName: node - linkType: hard - "json5@npm:^1.0.1": version: 1.0.2 resolution: "json5@npm:1.0.2" @@ -7020,10 +6798,19 @@ fsevents@^2.3.2: languageName: node linkType: hard -"jsonc-parser@npm:^3.0.0": - version: 3.0.0 - resolution: "jsonc-parser@npm:3.0.0" - checksum: 1df2326f1f9688de30c70ff19c5b2a83ba3b89a1036160da79821d1361090775e9db502dc57a67c11b56e1186fc1ed70b887f25c5febf9a3ec4f91435836c99d +"json5@npm:^2.2.2, json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 2a7436a93393830bce797d4626275152e37e877b265e94ca69c99e3d20c2b9dab021279146a39cdb700e71b2dd32a4cebd1514cd57cee102b1af906ce5040349 + languageName: node + linkType: hard + +"jsonc-parser@npm:^3.2.0": + version: 3.2.0 + resolution: "jsonc-parser@npm:3.2.0" + checksum: 946dd9a5f326b745aa326d48a7257e3f4a4b62c5e98ec8e49fa2bdd8d96cef7e6febf1399f5c7016114fd1f68a1c62c6138826d5d90bc650448e3cf0951c53c7 languageName: node linkType: hard @@ -7126,16 +6913,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"levn@npm:~0.3.0": - version: 0.3.0 - resolution: "levn@npm:0.3.0" - dependencies: - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - checksum: 0d084a524231a8246bb10fec48cdbb35282099f6954838604f3c7fc66f2e16fa66fd9cc2f3f20a541a113c4dafdf181e822c887c8a319c9195444e6c64ac395e - languageName: node - linkType: hard - "lines-and-columns@npm:^1.1.6": version: 1.2.4 resolution: "lines-and-columns@npm:1.2.4" @@ -7241,7 +7018,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21, lodash@npm:^4.7.0": +"lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -7343,12 +7120,12 @@ fsevents@^2.3.2: languageName: node linkType: hard -"marked@npm:^4.0.12": - version: 4.0.12 - resolution: "marked@npm:4.0.12" +"marked@npm:^4.2.12": + version: 4.3.0 + resolution: "marked@npm:4.3.0" bin: marked: bin/marked.js - checksum: 7575117f85a8986652f3ac8b8a7b95056c4c5fce01a1fc76dc4c7960412cb4c9bd9da8133487159b6b3ff84f52b543dfe9a36f826a5f358892b5ec4b6824f192 + checksum: 0db6817893952c3ec710eb9ceafb8468bf5ae38cb0f92b7b083baa13d70b19774674be04db5b817681fa7c5c6a088f61300815e4dd75a59696f4716ad69f6260 languageName: node linkType: hard @@ -7434,12 +7211,12 @@ fsevents@^2.3.2: languageName: node linkType: hard -"minimatch@npm:^5.0.1": - version: 5.0.1 - resolution: "minimatch@npm:5.0.1" +"minimatch@npm:^7.1.3": + version: 7.4.6 + resolution: "minimatch@npm:7.4.6" dependencies: brace-expansion: ^2.0.1 - checksum: b34b98463da4754bc526b244d680c69d4d6089451ebe512edaf6dd9eeed0279399cfa3edb19233513b8f830bf4bfcad911dddcdf125e75074100d52f724774f0 + checksum: 1a6c8d22618df9d2a88aabeef1de5622eb7b558e9f8010be791cb6b0fa6e102d39b11c28d75b855a1e377b12edc7db8ff12a99c20353441caa6a05e78deb5da9 languageName: node linkType: hard @@ -7694,10 +7471,10 @@ fsevents@^2.3.2: languageName: node linkType: hard -"node-releases@npm:^2.0.6": - version: 2.0.6 - resolution: "node-releases@npm:2.0.6" - checksum: e86a926dc9fbb3b41b4c4a89d998afdf140e20a4e8dbe6c0a807f7b2948b42ea97d7fd3ad4868041487b6e9ee98409829c6e4d84a734a4215dff060a7fbeb4bf +"node-releases@npm:^2.0.12": + version: 2.0.13 + resolution: "node-releases@npm:2.0.13" + checksum: 17ec8f315dba62710cae71a8dad3cd0288ba943d2ece43504b3b1aa8625bf138637798ab470b1d9035b0545996f63000a8a926e0f6d35d0996424f8b6d36dda3 languageName: node linkType: hard @@ -7764,13 +7541,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"nwsapi@npm:^2.2.0": - version: 2.2.0 - resolution: "nwsapi@npm:2.2.0" - checksum: 5ef4a9bc0c1a5b7f2e014aa6a4b359a257503b796618ed1ef0eb852098f77e772305bb0e92856e4bbfa3e6c75da48c0113505c76f144555ff38867229c2400a7 - languageName: node - linkType: hard - "oauth-sign@npm:~0.9.0": version: 0.9.0 resolution: "oauth-sign@npm:0.9.0" @@ -7853,20 +7623,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"optionator@npm:^0.8.1": - version: 0.8.3 - resolution: "optionator@npm:0.8.3" - dependencies: - deep-is: ~0.1.3 - fast-levenshtein: ~2.0.6 - levn: ~0.3.0 - prelude-ls: ~1.1.2 - type-check: ~0.3.2 - word-wrap: ~1.2.3 - checksum: b8695ddf3d593203e25ab0900e265d860038486c943ff8b774f596a310f8ceebdb30c6832407a8198ba3ec9debe1abe1f51d4aad94843612db3b76d690c61d34 - languageName: node - linkType: hard - "optionator@npm:^0.9.1": version: 0.9.1 resolution: "optionator@npm:0.9.1" @@ -7899,7 +7655,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"p-limit@npm:^3.0.2": +"p-limit@npm:^3.0.2, p-limit@npm:^3.1.0": version: 3.1.0 resolution: "p-limit@npm:3.1.0" dependencies: @@ -7986,13 +7742,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"parse5@npm:6.0.1": - version: 6.0.1 - resolution: "parse5@npm:6.0.1" - checksum: 7d569a176c5460897f7c8f3377eff640d54132b9be51ae8a8fa4979af940830b2b0c296ce75e5bd8f4041520aadde13170dbdec44889975f906098ea0002f4bd - languageName: node - linkType: hard - "path-exists@npm:^3.0.0": version: 3.0.0 resolution: "path-exists@npm:3.0.0" @@ -8106,13 +7855,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"prelude-ls@npm:~1.1.2": - version: 1.1.2 - resolution: "prelude-ls@npm:1.1.2" - checksum: c4867c87488e4a0c233e158e4d0d5565b609b105d75e4c05dc760840475f06b731332eb93cc8c9cecb840aa8ec323ca3c9a56ad7820ad2e63f0261dadcb154e4 - languageName: node - linkType: hard - "prettier-linter-helpers@npm:^1.0.0": version: 1.0.0 resolution: "prettier-linter-helpers@npm:1.0.0" @@ -8131,14 +7873,14 @@ fsevents@^2.3.2: languageName: node linkType: hard -"pretty-format@npm:^27.0.0, pretty-format@npm:^27.5.1": - version: 27.5.1 - resolution: "pretty-format@npm:27.5.1" +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.6.1": + version: 29.6.1 + resolution: "pretty-format@npm:29.6.1" dependencies: - ansi-regex: ^5.0.1 + "@jest/schemas": ^29.6.0 ansi-styles: ^5.0.0 - react-is: ^17.0.1 - checksum: cf610cffcb793885d16f184a62162f2dd0df31642d9a18edf4ca298e909a8fe80bdbf556d5c9573992c102ce8bf948691da91bf9739bee0ffb6e79c8a8a6e088 + react-is: ^18.0.0 + checksum: 6f923a2379a37a425241dc223d76f671c73c4f37dba158050575a54095867d565c068b441843afdf3d7c37bed9df4bbadf46297976e60d4149972b779474203a languageName: node linkType: hard @@ -8199,7 +7941,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"psl@npm:^1.1.28, psl@npm:^1.1.33": +"psl@npm:^1.1.28": version: 1.9.0 resolution: "psl@npm:1.9.0" checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d @@ -8216,13 +7958,27 @@ fsevents@^2.3.2: languageName: node linkType: hard -"punycode@npm:^2.1.0, punycode@npm:^2.1.1": +"punycode@npm:^2.1.0": version: 2.1.1 resolution: "punycode@npm:2.1.1" checksum: 823bf443c6dd14f669984dea25757b37993f67e8d94698996064035edd43bed8a5a17a9f12e439c2b35df1078c6bec05a6c86e336209eb1061e8025c481168e8 languageName: node linkType: hard +"punycode@npm:^2.1.1": + version: 2.3.0 + resolution: "punycode@npm:2.3.0" + checksum: 39f760e09a2a3bbfe8f5287cf733ecdad69d6af2fe6f97ca95f24b8921858b91e9ea3c9eeec6e08cede96181b3bb33f95c6ffd8c77e63986508aa2e8159fa200 + languageName: node + linkType: hard + +"pure-rand@npm:^6.0.0": + version: 6.0.2 + resolution: "pure-rand@npm:6.0.2" + checksum: 79de33876a4f515d759c48e98d00756bbd916b4ea260cc572d7adfa4b62cace9952e89f0241d0410214554503d25061140fe325c66f845213d2b1728ba8d413e + languageName: node + linkType: hard + "q@npm:^1.5.1": version: 1.5.1 resolution: "q@npm:1.5.1" @@ -8270,10 +8026,10 @@ fsevents@^2.3.2: languageName: node linkType: hard -"react-is@npm:^17.0.1": - version: 17.0.2 - resolution: "react-is@npm:17.0.2" - checksum: 9d6d111d8990dc98bc5402c1266a808b0459b5d54830bbea24c12d908b536df7883f268a7868cfaedde3dd9d4e0d574db456f84d2e6df9c4526f99bb4b5344d8 +"react-is@npm:^18.0.0": + version: 18.2.0 + resolution: "react-is@npm:18.2.0" + checksum: e72d0ba81b5922759e4aff17e0252bd29988f9642ed817f56b25a3e217e13eea8a7f2322af99a06edb779da12d5d636e9fda473d620df9a3da0df2a74141d53e languageName: node linkType: hard @@ -8520,10 +8276,10 @@ fsevents@^2.3.2: languageName: node linkType: hard -"resolve.exports@npm:^1.1.0": - version: 1.1.0 - resolution: "resolve.exports@npm:1.1.0" - checksum: 52865af8edb088f6c7759a328584a5de6b226754f004b742523adcfe398cfbc4559515104bc2ae87b8e78b1e4de46c9baec400b3fb1f7d517b86d2d48a098a2d +"resolve.exports@npm:^2.0.0": + version: 2.0.2 + resolution: "resolve.exports@npm:2.0.2" + checksum: 1c7778ca1b86a94f8ab4055d196c7d87d1874b96df4d7c3e67bbf793140f0717fd506dcafd62785b079cd6086b9264424ad634fb904409764c3509c3df1653f2 languageName: node linkType: hard @@ -8567,7 +8323,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": +"rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" dependencies: @@ -8586,7 +8342,7 @@ fsevents@^2.3.2: "@commitlint/cli": ^9.0.1 "@commitlint/config-conventional": ^9.0.1 "@playwright/test": ^1.21.1 - "@types/jest": ^27.4.0 + "@types/jest": ^29.5.3 "@typescript-eslint/eslint-plugin": ^5.7.0 "@typescript-eslint/parser": ^5.7.0 eslint: ^7.32.0 @@ -8597,16 +8353,13 @@ fsevents@^2.3.2: eslint-plugin-license-header: ^0.2.1 eslint-plugin-prettier: ^3.4.1 husky: ^4.2.5 - jest: ^27.4.7 - jest-docblock: ^27.4.0 - jest-runner: ^27.4.6 - jest-runner-groups: ^2.1.0 + jest: ^29.6.1 prettier: ^2.4.1 rimraf: ^3.0.2 testcontainers: ^9.0.0 - ts-jest: ^27.1.2 - ts-jest-resolver: ^2.0.0 - typedoc: ^0.22.15 + ts-jest: ^29.1.1 + ts-jest-resolver: ^2.0.1 + typedoc: ^0.23.0 typescript: ^4.8.3 languageName: unknown linkType: soft @@ -8643,30 +8396,21 @@ fsevents@^2.3.2: languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": +"safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: cab8f25ae6f1434abee8d80023d7e72b598cf1327164ddab31003c51215526801e40b66c5e65d658a0af1e9d6478cadcb4c745f4bd6751f97d8644786c0978b0 languageName: node linkType: hard -"saxes@npm:^5.0.1": - version: 5.0.1 - resolution: "saxes@npm:5.0.1" - dependencies: - xmlchars: ^2.2.0 - checksum: 5636b55cf15f7cf0baa73f2797bf992bdcf75d1b39d82c0aa4608555c774368f6ac321cb641fd5f3d3ceb87805122cd47540da6a7b5960fe0dbdb8f8c263f000 - languageName: node - linkType: hard - -"schema-utils@npm:^3.1.0, schema-utils@npm:^3.1.1": - version: 3.1.1 - resolution: "schema-utils@npm:3.1.1" +"schema-utils@npm:^3.1.1, schema-utils@npm:^3.1.2": + version: 3.2.0 + resolution: "schema-utils@npm:3.2.0" dependencies: "@types/json-schema": ^7.0.8 ajv: ^6.12.5 ajv-keywords: ^3.5.2 - checksum: fb73f3d759d43ba033c877628fe9751620a26879f6301d3dbeeb48cf2a65baec5cdf99da65d1bf3b4ff5444b2e59cbe4f81c2456b5e0d2ba7d7fd4aed5da29ce + checksum: e8c590c525a58e135658dbe614c60e4821f98eb4c257c962ad61f72ad1e48b23148c7edd9295dbd5f9fc525ff8c6f448af0a932871fe9c9e1f523d1dbef917c8 languageName: node linkType: hard @@ -8685,9 +8429,9 @@ fsevents@^2.3.2: linkType: hard "semver-regex@npm:^3.1.2": - version: 3.1.3 - resolution: "semver-regex@npm:3.1.3" - checksum: a40c17716679f413994ba4723cf32cf94160a4a3db36e3f730f840cb36bbdbcfda2a34df051d1adb56ed2c67c2a00badfaa9e1e4b755ae6addc7d23ebf55c32b + version: 3.1.4 + resolution: "semver-regex@npm:3.1.4" + checksum: 3962105908e326aa2cd5c851a2f6d4cc7340d1b06560afc35cd5348d9fa5b1cc0ac0cad7e7cef2072bc12b992c5ae654d9e8d355c19d75d4216fced3b6c5d8a7 languageName: node linkType: hard @@ -8709,18 +8453,16 @@ fsevents@^2.3.2: languageName: node linkType: hard -"semver@npm:7.x, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5": - version: 7.3.5 - resolution: "semver@npm:7.3.5" - dependencies: - lru-cache: ^6.0.0 +"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.3.0, semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" bin: semver: bin/semver.js - checksum: 5eafe6102bea2a7439897c1856362e31cc348ccf96efd455c8b5bc2c61e6f7e7b8250dc26b8828c1d76a56f818a7ee907a36ae9fb37a599d3d24609207001d60 + checksum: ae47d06de28836adb9d3e25f22a92943477371292d9b665fb023fae278d345d508ca1958232af086d85e0155aee22e313e100971898bbb8d5d89b8b1d4054ca2 languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.1.1, semver@npm:^6.1.2, semver@npm:^6.2.0, semver@npm:^6.3.0": +"semver@npm:^6.2.0": version: 6.3.0 resolution: "semver@npm:6.3.0" bin: @@ -8729,6 +8471,17 @@ fsevents@^2.3.2: languageName: node linkType: hard +"semver@npm:^7.2.1, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.5.3": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: ^6.0.0 + bin: + semver: bin/semver.js + checksum: 12d8ad952fa353b0995bf180cdac205a4068b759a140e5d3c608317098b3575ac2f1e09182206bf2eb26120e1c0ed8fb92c48c592f6099680de56bb071423ca3 + languageName: node + linkType: hard + "serialize-error@npm:^5.0.0": version: 5.0.0 resolution: "serialize-error@npm:5.0.0" @@ -8738,12 +8491,12 @@ fsevents@^2.3.2: languageName: node linkType: hard -"serialize-javascript@npm:^6.0.0": - version: 6.0.0 - resolution: "serialize-javascript@npm:6.0.0" +"serialize-javascript@npm:^6.0.1": + version: 6.0.1 + resolution: "serialize-javascript@npm:6.0.1" dependencies: randombytes: ^2.1.0 - checksum: 56f90b562a1bdc92e55afb3e657c6397c01a902c588c0fe3d4c490efdcc97dcd2a3074ba12df9e94630f33a5ce5b76a74784a7041294628a6f4306e0ec84bf93 + checksum: 3c4f4cb61d0893b988415bdb67243637333f3f574e9e9cc9a006a2ced0b390b0b3b44aef8d51c951272a9002ec50885eefdc0298891bc27eb2fe7510ea87dc4f languageName: node linkType: hard @@ -8779,14 +8532,15 @@ fsevents@^2.3.2: languageName: node linkType: hard -"shiki@npm:^0.10.1": - version: 0.10.1 - resolution: "shiki@npm:0.10.1" +"shiki@npm:^0.14.1": + version: 0.14.2 + resolution: "shiki@npm:0.14.2" dependencies: - jsonc-parser: ^3.0.0 - vscode-oniguruma: ^1.6.1 - vscode-textmate: 5.2.0 - checksum: fb746f3cb3de7e545e3b10a6cb658d3938f840e4ccc9a3c90ceb7e69a8f89dbb432171faac1e9f02a03f103684dad88ee5e54b5c4964fa6b579fca6e8e26424d + ansi-sequence-parser: ^1.1.0 + jsonc-parser: ^3.2.0 + vscode-oniguruma: ^1.7.0 + vscode-textmate: ^8.0.0 + checksum: f2a14302b1803617e3ff1b751a5c87b4af4ad15214dc00e9215402e42940a84a0b956cf55d628f25dbf1296b18e277b8529571cd9359b971ac599a0ab11303e7 languageName: node linkType: hard @@ -8801,7 +8555,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"signal-exit@npm:^3.0.2, signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": +"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": version: 3.0.7 resolution: "signal-exit@npm:3.0.7" checksum: a2f098f247adc367dffc27845853e9959b9e88b01cb301658cfe4194352d8d2bb32e18467c786a7fe15f1d44b233ea35633d076d5e737870b7139949d1ab6318 @@ -8881,7 +8635,17 @@ fsevents@^2.3.2: languageName: node linkType: hard -"source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.20": +"source-map-support@npm:0.5.13": + version: 0.5.13 + resolution: "source-map-support@npm:0.5.13" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 933550047b6c1a2328599a21d8b7666507427c0f5ef5eaadd56b5da0fd9505e239053c66fe181bf1df469a3b7af9d775778eee283cbb7ae16b902ddc09e93a97 + languageName: node + linkType: hard + +"source-map-support@npm:~0.5.20": version: 0.5.21 resolution: "source-map-support@npm:0.5.21" dependencies: @@ -8898,20 +8662,13 @@ fsevents@^2.3.2: languageName: node linkType: hard -"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": +"source-map@npm:^0.6.0, source-map@npm:^0.6.1": version: 0.6.1 resolution: "source-map@npm:0.6.1" checksum: 59ce8640cf3f3124f64ac289012c2b8bd377c238e316fb323ea22fbfe83da07d81e000071d7242cad7a23cd91c7de98e4df8830ec3f133cb6133a5f6e9f67bc2 languageName: node linkType: hard -"source-map@npm:^0.7.3": - version: 0.7.3 - resolution: "source-map@npm:0.7.3" - checksum: cd24efb3b8fa69b64bf28e3c1b1a500de77e84260c5b7f2b873f88284df17974157cc88d386ee9b6d081f08fdd8242f3fc05c953685a6ad81aad94c7393dedea - languageName: node - linkType: hard - "spdx-correct@npm:^3.0.0": version: 3.1.1 resolution: "spdx-correct@npm:3.1.1" @@ -9193,7 +8950,7 @@ fsevents@^2.3.2: languageName: node linkType: hard -"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": +"supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" dependencies: @@ -9211,16 +8968,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"supports-hyperlinks@npm:^2.0.0": - version: 2.2.0 - resolution: "supports-hyperlinks@npm:2.2.0" - dependencies: - has-flag: ^4.0.0 - supports-color: ^7.0.0 - checksum: aef04fb41f4a67f1bc128f7c3e88a81b6cf2794c800fccf137006efe5bafde281da3e42e72bf9206c2fcf42e6438f37e3a820a389214d0a88613ca1f2d36076a - languageName: node - linkType: hard - "supports-preserve-symlinks-flag@npm:^1.0.0": version: 1.0.0 resolution: "supports-preserve-symlinks-flag@npm:1.0.0" @@ -9228,13 +8975,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"symbol-tree@npm:^3.2.4": - version: 3.2.4 - resolution: "symbol-tree@npm:3.2.4" - checksum: 6e8fc7e1486b8b54bea91199d9535bb72f10842e40c79e882fc94fb7b14b89866adf2fd79efa5ebb5b658bc07fb459ccce5ac0e99ef3d72f474e74aaf284029d - languageName: node - linkType: hard - "table@npm:^6.0.9": version: 6.8.0 resolution: "table@npm:6.8.0" @@ -9306,25 +9046,15 @@ fsevents@^2.3.2: languageName: node linkType: hard -"terminal-link@npm:^2.0.0": - version: 2.1.1 - resolution: "terminal-link@npm:2.1.1" - dependencies: - ansi-escapes: ^4.2.1 - supports-hyperlinks: ^2.0.0 - checksum: ce3d2cd3a438c4a9453947aa664581519173ea40e77e2534d08c088ee6dda449eabdbe0a76d2a516b8b73c33262fedd10d5270ccf7576ae316e3db170ce6562f - languageName: node - linkType: hard - -"terser-webpack-plugin@npm:^5.1.1, terser-webpack-plugin@npm:^5.1.3": - version: 5.3.1 - resolution: "terser-webpack-plugin@npm:5.3.1" +"terser-webpack-plugin@npm:^5.1.1, terser-webpack-plugin@npm:^5.3.7": + version: 5.3.9 + resolution: "terser-webpack-plugin@npm:5.3.9" dependencies: + "@jridgewell/trace-mapping": ^0.3.17 jest-worker: ^27.4.5 schema-utils: ^3.1.1 - serialize-javascript: ^6.0.0 - source-map: ^0.6.1 - terser: ^5.7.2 + serialize-javascript: ^6.0.1 + terser: ^5.16.8 peerDependencies: webpack: ^5.1.0 peerDependenciesMeta: @@ -9334,21 +9064,21 @@ fsevents@^2.3.2: optional: true uglify-js: optional: true - checksum: 1b808fd4f58ce0b532baacc50b9a850fc69ce0077a0e9e5076d4156c52fab3d40b02d5d9148a3eba64630cf7f40057de54f6a5a87fac1849b1f11d6bfdb42072 + checksum: 41705713d6f9cb83287936b21e27c658891c78c4392159f5148b5623f0e8c48559869779619b058382a4c9758e7820ea034695e57dc7c474b4962b79f553bc5f languageName: node linkType: hard -"terser@npm:^5.7.2": - version: 5.16.3 - resolution: "terser@npm:5.16.3" +"terser@npm:^5.16.8": + version: 5.17.7 + resolution: "terser@npm:5.17.7" dependencies: - "@jridgewell/source-map": ^0.3.2 - acorn: ^8.5.0 + "@jridgewell/source-map": ^0.3.3 + acorn: ^8.8.2 commander: ^2.20.0 source-map-support: ~0.5.20 bin: terser: bin/terser - checksum: d3c2ac1c2723c37b698b25b68d76fd315a1277fddde113983d5783d1f2a01dd7b8ed83ba3f54e5e65f0b59dd971ed7be2fdf8d4be94ec694b2d27832d2e7561f + checksum: b7b17b281febadf3bea9b9412d699fa24edf9b3e20fc7ad4e1a9cec276bdb65ddaa291c9663d5ab66b58834e433377477f73328574ccab2da1637a15b095811d languageName: node linkType: hard @@ -9399,13 +9129,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"throat@npm:^6.0.1": - version: 6.0.1 - resolution: "throat@npm:6.0.1" - checksum: 782d4171ee4e3cf947483ed2ff1af3e17cc4354c693b9d339284f61f99fbc401d171e0b0d2db3295bb7d447630333e9319c174ebd7ef315c6fb791db9675369c - languageName: node - linkType: hard - "through2@npm:^4.0.0": version: 4.0.2 resolution: "through2@npm:4.0.2" @@ -9445,17 +9168,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"tough-cookie@npm:^4.0.0": - version: 4.0.0 - resolution: "tough-cookie@npm:4.0.0" - dependencies: - psl: ^1.1.33 - punycode: ^2.1.1 - universalify: ^0.1.2 - checksum: 0891b37eb7d17faa3479d47f0dce2e3007f2583094ad272f2670d120fbcc3df3b0b0a631ba96ecad49f9e2297d93ff8995ce0d3292d08dd7eabe162f5b224d69 - languageName: node - linkType: hard - "tough-cookie@npm:~2.5.0": version: 2.5.0 resolution: "tough-cookie@npm:2.5.0" @@ -9466,15 +9178,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"tr46@npm:^2.1.0": - version: 2.1.0 - resolution: "tr46@npm:2.1.0" - dependencies: - punycode: ^2.1.1 - checksum: ffe6049b9dca3ae329b059aada7f515b0f0064c611b39b51ff6b53897e954650f6f63d9319c6c008d36ead477c7b55e5f64c9dc60588ddc91ff720d64eb710b3 - languageName: node - linkType: hard - "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -9489,38 +9192,37 @@ fsevents@^2.3.2: languageName: node linkType: hard -"ts-jest-resolver@npm:^2.0.0": - version: 2.0.0 - resolution: "ts-jest-resolver@npm:2.0.0" +"ts-jest-resolver@npm:^2.0.1": + version: 2.0.1 + resolution: "ts-jest-resolver@npm:2.0.1" dependencies: - jest-resolve: ^27.2.5 - checksum: 7208f45efd64b9e110e07fcb2ab1dcaf97c8a6f16daee8d188432857f7ffc128fdf0c4c8eee348803de603ca7805ea00554feec915b41b9320b2b4014625c607 + jest-resolve: ^29.5.0 + checksum: 0845b9ab6a7d5c7b872e7573550607e9da1a2281c4db7a9d900c52b518bf5237ca265d56356b2ebb6d5aad705613e55e406c0eb66cad60ab2a303d17e6b0844e languageName: node linkType: hard -"ts-jest@npm:^27.1.2": - version: 27.1.3 - resolution: "ts-jest@npm:27.1.3" +"ts-jest@npm:^29.1.1": + version: 29.1.1 + resolution: "ts-jest@npm:29.1.1" dependencies: bs-logger: 0.x fast-json-stable-stringify: 2.x - jest-util: ^27.0.0 - json5: 2.x + jest-util: ^29.0.0 + json5: ^2.2.3 lodash.memoize: 4.x make-error: 1.x - semver: 7.x - yargs-parser: 20.x + semver: ^7.5.3 + yargs-parser: ^21.0.1 peerDependencies: "@babel/core": ">=7.0.0-beta.0 <8" - "@types/jest": ^27.0.0 - babel-jest: ">=27.0.0 <28" - esbuild: ~0.14.0 - jest: ^27.0.0 - typescript: ">=3.8 <5.0" + "@jest/types": ^29.0.0 + babel-jest: ^29.0.0 + jest: ^29.0.0 + typescript: ">=4.3 <6" peerDependenciesMeta: "@babel/core": optional: true - "@types/jest": + "@jest/types": optional: true babel-jest: optional: true @@ -9528,7 +9230,7 @@ fsevents@^2.3.2: optional: true bin: ts-jest: cli.js - checksum: eb54e5b8fc5f06e4cc20ecec7891201ddc78a3537d5eb3775e29ffbc7e83fd2a68f91db801b6a8c820c872060b24dc41fb6decac800b76256d3cdda6520b5c4f + checksum: a8c9e284ed4f819526749f6e4dc6421ec666f20ab44d31b0f02b4ed979975f7580b18aea4813172d43e39b29464a71899f8893dd29b06b4a351a3af8ba47b402 languageName: node linkType: hard @@ -9639,15 +9341,6 @@ fsevents@^2.3.2: languageName: node linkType: hard -"type-check@npm:~0.3.2": - version: 0.3.2 - resolution: "type-check@npm:0.3.2" - dependencies: - prelude-ls: ~1.1.2 - checksum: dd3b1495642731bc0e1fc40abe5e977e0263005551ac83342ecb6f4f89551d106b368ec32ad3fb2da19b3bd7b2d1f64330da2ea9176d8ddbfe389fb286eb5124 - languageName: node - linkType: hard - "type-detect@npm:4.0.8": version: 4.0.8 resolution: "type-detect@npm:4.0.8" @@ -9690,29 +9383,19 @@ fsevents@^2.3.2: languageName: node linkType: hard -"typedarray-to-buffer@npm:^3.1.5": - version: 3.1.5 - resolution: "typedarray-to-buffer@npm:3.1.5" - dependencies: - is-typedarray: ^1.0.0 - checksum: 99c11aaa8f45189fcfba6b8a4825fd684a321caa9bd7a76a27cf0c7732c174d198b99f449c52c3818107430b5f41c0ccbbfb75cb2ee3ca4a9451710986d61a60 - languageName: node - linkType: hard - -"typedoc@npm:^0.22.15": - version: 0.22.15 - resolution: "typedoc@npm:0.22.15" +"typedoc@npm:^0.23.0": + version: 0.23.28 + resolution: "typedoc@npm:0.23.28" dependencies: - glob: ^7.2.0 lunr: ^2.3.9 - marked: ^4.0.12 - minimatch: ^5.0.1 - shiki: ^0.10.1 + marked: ^4.2.12 + minimatch: ^7.1.3 + shiki: ^0.14.1 peerDependencies: - typescript: 4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x bin: typedoc: bin/typedoc - checksum: 3f5f1cb9288bf811f42df59750c7062a026a23257b38dfe227515a30007a28e3d8139187949fcd19300fd6b2ef76bcdc4cf54549100bff3e000e61bb19958fb2 + checksum: 40eb4e207aac1b734e09400cf03f543642cc7b11000895198dd5a0d3166315759ccf4ac30a2915153597c5c186101c72bac2f1fc12b428184a9274d3a0e44c5e languageName: node linkType: hard @@ -9815,24 +9498,24 @@ typescript@^4.8.3: languageName: node linkType: hard -"universalify@npm:^0.1.0, universalify@npm:^0.1.2": +"universalify@npm:^0.1.0": version: 0.1.2 resolution: "universalify@npm:0.1.2" checksum: 40cdc60f6e61070fe658ca36016a8f4ec216b29bf04a55dce14e3710cc84c7448538ef4dad3728d0bfe29975ccd7bfb5f414c45e7b78883567fb31b246f02dff languageName: node linkType: hard -"update-browserslist-db@npm:^1.0.9": - version: 1.0.9 - resolution: "update-browserslist-db@npm:1.0.9" +"update-browserslist-db@npm:^1.0.11": + version: 1.0.11 + resolution: "update-browserslist-db@npm:1.0.11" dependencies: escalade: ^3.1.1 picocolors: ^1.0.0 peerDependencies: browserslist: ">= 4.21.0" bin: - browserslist-lint: cli.js - checksum: f625899b236f6a4d7f62b56be1b8da230c5563d1fef84d3ef148f2e1a3f11a5a4b3be4fd7e3703e51274c116194017775b10afb4de09eb2c0d09d36b90f1f578 + update-browserslist-db: cli.js + checksum: b98327518f9a345c7cad5437afae4d2ae7d865f9779554baf2a200fdf4bac4969076b679b1115434bd6557376bdd37ca7583d0f9b8f8e302d7d4cc1e91b5f231 languageName: node linkType: hard @@ -9884,14 +9567,14 @@ typescript@^4.8.3: languageName: node linkType: hard -"v8-to-istanbul@npm:^8.1.0": - version: 8.1.1 - resolution: "v8-to-istanbul@npm:8.1.1" +"v8-to-istanbul@npm:^9.0.1": + version: 9.1.0 + resolution: "v8-to-istanbul@npm:9.1.0" dependencies: + "@jridgewell/trace-mapping": ^0.3.12 "@types/istanbul-lib-coverage": ^2.0.1 convert-source-map: ^1.6.0 - source-map: ^0.7.3 - checksum: 54ce92bec2727879626f623d02c8d193f0c7e919941fa373ec135189a8382265117f5316ea317a1e12a5f9c13d84d8449052a731fe3306fa4beaafbfa4cab229 + checksum: 2069d59ee46cf8d83b4adfd8a5c1a90834caffa9f675e4360f1157ffc8578ef0f763c8f32d128334424159bb6b01f3876acd39cd13297b2769405a9da241f8d1 languageName: node linkType: hard @@ -9934,39 +9617,21 @@ typescript@^4.8.3: languageName: node linkType: hard -"vscode-oniguruma@npm:^1.6.1": - version: 1.6.2 - resolution: "vscode-oniguruma@npm:1.6.2" - checksum: 6b754acdafd5b68242ea5938bb00a32effc16c77f471d4f0f337d879d0e8e592622998e2441f42d9a7ff799c1593f31c11f26ca8d9bf9917e3ca881d3c1f3e19 +"vscode-oniguruma@npm:^1.7.0": + version: 1.7.0 + resolution: "vscode-oniguruma@npm:1.7.0" + checksum: 53519d91d90593e6fb080260892e87d447e9b200c4964d766772b5053f5699066539d92100f77f1302c91e8fc5d9c772fbe40fe4c90f3d411a96d5a9b1e63f42 languageName: node linkType: hard -"vscode-textmate@npm:5.2.0": - version: 5.2.0 - resolution: "vscode-textmate@npm:5.2.0" - checksum: 5449b42d451080f6f3649b66948f4b5ee4643c4e88cfe3558a3b31c84c78060cfdd288c4958c1690eaa5cd65d09992fa6b7c3bef9d4aa72b3651054a04624d20 - languageName: node - linkType: hard - -"w3c-hr-time@npm:^1.0.2": - version: 1.0.2 - resolution: "w3c-hr-time@npm:1.0.2" - dependencies: - browser-process-hrtime: ^1.0.0 - checksum: ec3c2dacbf8050d917bbf89537a101a08c2e333b4c19155f7d3bedde43529d4339db6b3d049d9610789cb915f9515f8be037e0c54c079e9d4735c50b37ed52b9 - languageName: node - linkType: hard - -"w3c-xmlserializer@npm:^2.0.0": - version: 2.0.0 - resolution: "w3c-xmlserializer@npm:2.0.0" - dependencies: - xml-name-validator: ^3.0.0 - checksum: ae25c51cf71f1fb2516df1ab33a481f83461a117565b95e3d0927432522323f93b1b2846cbb60196d337970c421adb604fc2d0d180c6a47a839da01db5b9973b +"vscode-textmate@npm:^8.0.0": + version: 8.0.0 + resolution: "vscode-textmate@npm:8.0.0" + checksum: 127780dfea89559d70b8326df6ec344cfd701312dd7f3f591a718693812b7852c30b6715e3cfc8b3200a4e2515b4c96f0843c0eacc0a3020969b5de262c2a4bb languageName: node linkType: hard -"walker@npm:^1.0.7": +"walker@npm:^1.0.8": version: 1.0.8 resolution: "walker@npm:1.0.8" dependencies: @@ -9975,13 +9640,13 @@ typescript@^4.8.3: languageName: node linkType: hard -"watchpack@npm:^2.3.1": - version: 2.3.1 - resolution: "watchpack@npm:2.3.1" +"watchpack@npm:^2.4.0": + version: 2.4.0 + resolution: "watchpack@npm:2.4.0" dependencies: glob-to-regexp: ^0.4.1 graceful-fs: ^4.1.2 - checksum: 70a34f92842d94b5d842980f866d568d7a467de667c96ae5759c759f46587e49265863171f4650bdbafc5f3870a28f2b4453e9e847098ec4b718b38926d47d22 + checksum: 23d4bc58634dbe13b86093e01c6a68d8096028b664ab7139d58f0c37d962d549a940e98f2f201cecdabd6f9c340338dc73ef8bf094a2249ef582f35183d1a131 languageName: node linkType: hard @@ -9999,20 +9664,6 @@ typescript@^4.8.3: languageName: node linkType: hard -"webidl-conversions@npm:^5.0.0": - version: 5.0.0 - resolution: "webidl-conversions@npm:5.0.0" - checksum: ccf1ec2ca7c0b5671e5440ace4a66806ae09c49016ab821481bec0c05b1b82695082dc0a27d1fe9d804d475a408ba0c691e6803fd21be608e710955d4589cd69 - languageName: node - linkType: hard - -"webidl-conversions@npm:^6.1.0": - version: 6.1.0 - resolution: "webidl-conversions@npm:6.1.0" - checksum: 1f526507aa491f972a0c1409d07f8444e1d28778dfa269a9971f2e157182f3d496dc33296e4ed45b157fdb3bf535bb90c90bf10c50dcf1dd6caacb2a34cc84fb - languageName: node - linkType: hard - "webpack-cli@npm:^4.9.2": version: 4.9.2 resolution: "webpack-cli@npm:4.9.2" @@ -10063,56 +9714,40 @@ typescript@^4.8.3: languageName: node linkType: hard -"webpack@npm:^5.70.0": - version: 5.70.0 - resolution: "webpack@npm:5.70.0" +"webpack@npm:^5.76.0": + version: 5.86.0 + resolution: "webpack@npm:5.86.0" dependencies: "@types/eslint-scope": ^3.7.3 - "@types/estree": ^0.0.51 - "@webassemblyjs/ast": 1.11.1 - "@webassemblyjs/wasm-edit": 1.11.1 - "@webassemblyjs/wasm-parser": 1.11.1 - acorn: ^8.4.1 - acorn-import-assertions: ^1.7.6 + "@types/estree": ^1.0.0 + "@webassemblyjs/ast": ^1.11.5 + "@webassemblyjs/wasm-edit": ^1.11.5 + "@webassemblyjs/wasm-parser": ^1.11.5 + acorn: ^8.7.1 + acorn-import-assertions: ^1.9.0 browserslist: ^4.14.5 chrome-trace-event: ^1.0.2 - enhanced-resolve: ^5.9.2 - es-module-lexer: ^0.9.0 + enhanced-resolve: ^5.14.1 + es-module-lexer: ^1.2.1 eslint-scope: 5.1.1 events: ^3.2.0 glob-to-regexp: ^0.4.1 graceful-fs: ^4.2.9 - json-parse-better-errors: ^1.0.2 + json-parse-even-better-errors: ^2.3.1 loader-runner: ^4.2.0 mime-types: ^2.1.27 neo-async: ^2.6.2 - schema-utils: ^3.1.0 + schema-utils: ^3.1.2 tapable: ^2.1.1 - terser-webpack-plugin: ^5.1.3 - watchpack: ^2.3.1 + terser-webpack-plugin: ^5.3.7 + watchpack: ^2.4.0 webpack-sources: ^3.2.3 peerDependenciesMeta: webpack-cli: optional: true bin: webpack: bin/webpack.js - checksum: 00439884a9cdd5305aed3ce93735635785a15c5464a6d2cfce87e17727a07585de02420913e82aa85ddd2ae7322175d2cfda6ac0878a17f061cb605e6a7db57a - languageName: node - linkType: hard - -"whatwg-encoding@npm:^1.0.5": - version: 1.0.5 - resolution: "whatwg-encoding@npm:1.0.5" - dependencies: - iconv-lite: 0.4.24 - checksum: 5be4efe111dce29ddee3448d3915477fcc3b28f991d9cf1300b4e50d6d189010d47bca2f51140a844cf9b726e8f066f4aee72a04d687bfe4f2ee2767b2f5b1e6 - languageName: node - linkType: hard - -"whatwg-mimetype@npm:^2.3.0": - version: 2.3.0 - resolution: "whatwg-mimetype@npm:2.3.0" - checksum: 23eb885940bcbcca4ff841c40a78e9cbb893ec42743993a42bf7aed16085b048b44b06f3402018931687153550f9a32d259dfa524e4f03577ab898b6965e5383 + checksum: 682b1aa8328bb9d52ae66a1d0a1078af88f9e3b3b3a9c9e1ce203e669581a8e61d522420ef253130eacd510d24d7275b840c1311d50bd048d6fd7c1af186ce55 languageName: node linkType: hard @@ -10126,17 +9761,6 @@ typescript@^4.8.3: languageName: node linkType: hard -"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": - version: 8.7.0 - resolution: "whatwg-url@npm:8.7.0" - dependencies: - lodash: ^4.7.0 - tr46: ^2.1.0 - webidl-conversions: ^6.1.0 - checksum: a87abcc6cefcece5311eb642858c8fdb234e51ec74196bfacf8def2edae1bfbffdf6acb251646ed6301f8cee44262642d8769c707256125a91387e33f405dd1e - languageName: node - linkType: hard - "which-boxed-primitive@npm:^1.0.2": version: 1.0.2 resolution: "which-boxed-primitive@npm:1.0.2" @@ -10191,7 +9815,7 @@ typescript@^4.8.3: languageName: node linkType: hard -"word-wrap@npm:^1.2.3, word-wrap@npm:~1.2.3": +"word-wrap@npm:^1.2.3": version: 1.2.3 resolution: "word-wrap@npm:1.2.3" checksum: 30b48f91fcf12106ed3186ae4fa86a6a1842416df425be7b60485de14bec665a54a68e4b5156647dec3a70f25e84d270ca8bc8cd23182ed095f5c7206a938c1f @@ -10234,30 +9858,13 @@ typescript@^4.8.3: languageName: node linkType: hard -"write-file-atomic@npm:^3.0.0": - version: 3.0.3 - resolution: "write-file-atomic@npm:3.0.3" +"write-file-atomic@npm:^4.0.2": + version: 4.0.2 + resolution: "write-file-atomic@npm:4.0.2" dependencies: imurmurhash: ^0.1.4 - is-typedarray: ^1.0.0 - signal-exit: ^3.0.2 - typedarray-to-buffer: ^3.1.5 - checksum: c55b24617cc61c3a4379f425fc62a386cc51916a9b9d993f39734d005a09d5a4bb748bc251f1304e7abd71d0a26d339996c275955f527a131b1dcded67878280 - languageName: node - linkType: hard - -"ws@npm:^7.4.6": - version: 7.5.7 - resolution: "ws@npm:7.5.7" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 5c1f669a166fb57560b4e07f201375137fa31d9186afde78b1508926345ce546332f109081574ddc4e38cc474c5406b5fc71c18d71eb75f6e2d2245576976cba + signal-exit: ^3.0.7 + checksum: 5da60bd4eeeb935eec97ead3df6e28e5917a6bd317478e4a85a5285e8480b8ed96032bbcc6ecd07b236142a24f3ca871c924ec4a6575e623ec1b11bf8c1c253c languageName: node linkType: hard @@ -10276,20 +9883,6 @@ typescript@^4.8.3: languageName: node linkType: hard -"xml-name-validator@npm:^3.0.0": - version: 3.0.0 - resolution: "xml-name-validator@npm:3.0.0" - checksum: b3ac459afed783c285bb98e4960bd1f3ba12754fd4f2320efa0f9181ca28928c53cc75ca660d15d205e81f92304419afe94c531c7cfb3e0649aa6d140d53ecb0 - languageName: node - linkType: hard - -"xmlchars@npm:^2.2.0": - version: 2.2.0 - resolution: "xmlchars@npm:2.2.0" - checksum: 8c70ac94070ccca03f47a81fcce3b271bd1f37a591bf5424e787ae313fcb9c212f5f6786e1fa82076a2c632c0141552babcd85698c437506dfa6ae2d58723062 - languageName: node - linkType: hard - "xmldom@npm:0.1.19": version: 0.1.19 resolution: "xmldom@npm:0.1.19" @@ -10332,13 +9925,6 @@ typescript@^4.8.3: languageName: node linkType: hard -"yargs-parser@npm:20.x, yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": - version: 20.2.9 - resolution: "yargs-parser@npm:20.2.9" - checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 - languageName: node - linkType: hard - "yargs-parser@npm:^18.1.2": version: 18.1.3 resolution: "yargs-parser@npm:18.1.3" @@ -10349,7 +9935,14 @@ typescript@^4.8.3: languageName: node linkType: hard -"yargs-parser@npm:^21.1.1": +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": + version: 20.2.9 + resolution: "yargs-parser@npm:20.2.9" + checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: ed2d96a616a9e3e1cc7d204c62ecc61f7aaab633dcbfab2c6df50f7f87b393993fe6640d017759fe112d0cb1e0119f2b4150a87305cc873fd90831c6a58ccf1c @@ -10390,7 +9983,7 @@ typescript@^4.8.3: languageName: node linkType: hard -"yargs@npm:^17.7.2": +"yargs@npm:^17.3.1, yargs@npm:^17.7.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: From 9d0ea9b0eb92604a09113697ef16613baa3564e9 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Wed, 7 Feb 2024 11:54:06 +0100 Subject: [PATCH 42/52] chore: augmentation for runtime 1.12.1 --- packages/augment-api/metadata/spiritnet.json | 2 +- .../src/interfaces/augment-api-consts.ts | 39 +- .../src/interfaces/augment-api-errors.ts | 31 +- .../src/interfaces/augment-api-events.ts | 169 +- .../src/interfaces/augment-api-query.ts | 90 +- .../src/interfaces/augment-api-runtime.ts | 12 +- .../src/interfaces/augment-api-tx.ts | 2606 ++--------------- packages/augment-api/src/interfaces/lookup.ts | 1110 ++++--- .../augment-api/src/interfaces/registry.ts | 32 +- .../src/interfaces/types-lookup.ts | 1033 ++++--- 10 files changed, 1978 insertions(+), 3146 deletions(-) diff --git a/packages/augment-api/metadata/spiritnet.json b/packages/augment-api/metadata/spiritnet.json index b46f6ba1b..111c53b6f 100644 --- a/packages/augment-api/metadata/spiritnet.json +++ b/packages/augment-api/metadata/spiritnet.json @@ -1 +1 @@ -{"result":"0x6d6574610eb507000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f0814496e64657801102c4163636f756e74446174610114001401146e6f6e6365100114496e646578000124636f6e73756d6572731c0120526566436f756e7400012470726f7669646572731c0120526566436f756e7400012c73756666696369656e74731c0120526566436f756e740001106461746114012c4163636f756e7444617461000010000005060014083c70616c6c65745f62616c616e6365732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500012c6d6973635f66726f7a656e18011c42616c616e63650001286665655f66726f7a656e18011c42616c616e636500001800000507001c0000050500200c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540124000c01186e6f726d616c2401045400012c6f7065726174696f6e616c240104540001246d616e6461746f7279240104540000240c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d6528010c75363400012870726f6f665f73697a6528010c75363400002800000610002c083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d000030000002080034102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f677338013c5665633c4469676573744974656d3e0000380000023c003c102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e00060024436f6e73656e7375730800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000400105365616c0800400144436f6e73656e737573456e67696e654964000030011c5665633c75383e000500144f74686572040030011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e745570646174656400080000400000030400000008004400000248004808306672616d655f73797374656d2c4576656e745265636f7264080445014c0454012c000c011470686173658902011450686173650001146576656e744c010445000118746f706963738d0201185665633c543e00004c08447370697269746e65745f72756e74696d653052756e74696d654576656e7400017c1853797374656d04005001706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c496e6469636573040074017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e0005002042616c616e636573040078017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404008001a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c53657373696f6e040084015470616c6c65745f73657373696f6e3a3a4576656e740016004050617261636861696e5374616b696e67040088018470617261636861696e5f7374616b696e673a3a4576656e743c52756e74696d653e0015002444656d6f6372616379040090018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e001e001c436f756e63696c0400a401fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400b401fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020004c546563686e6963616c4d656d626572736869700400b801fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365313e0022002054726561737572790400bc017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e0023001c5574696c6974790400c0015470616c6c65745f7574696c6974793a3a4576656e740028001c56657374696e670400c4017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e002900245363686564756c65720400c8018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e002a001450726f78790400d4017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002b0020507265696d6167650400e0017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e002c0038546970734d656d626572736869700400e401fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365323e002d0010546970730400e8016c70616c6c65745f746970733a3a4576656e743c52756e74696d653e002e00204d756c74697369670400ec017c70616c6c65745f6d756c74697369673a3a4576656e743c52756e74696d653e002f001443747970650400f4015463747970653a3a4576656e743c52756e74696d653e003d002c4174746573746174696f6e0400f8016c6174746573746174696f6e3a3a4576656e743c52756e74696d653e003e002844656c65676174696f6e04000501016864656c65676174696f6e3a3a4576656e743c52756e74696d653e003f000c44696404000d01014c6469643a3a4576656e743c52756e74696d653e004000244469644c6f6f6b757004001101018470616c6c65745f6469645f6c6f6f6b75703a3a4576656e743c52756e74696d653e00430024576562334e616d657304002101018470616c6c65745f776562335f6e616d65733a3a4576656e743c52756e74696d653e004400445075626c696343726564656e7469616c7304002d0101887075626c69635f63726564656e7469616c733a3a4576656e743c52756e74696d653e0045003c50617261636861696e53797374656d04009d0101bc63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e0050002458636d7051756575650400a10101a463756d756c75735f70616c6c65745f78636d705f71756575653a3a4576656e743c52756e74696d653e0052002c506f6c6b61646f7458636d0400ad01016870616c6c65745f78636d3a3a4576656e743c52756e74696d653e0053002843756d756c757358636d04008102018863756d756c75735f70616c6c65745f78636d3a3a4576656e743c52756e74696d653e00540020446d7051756575650400850201a063756d756c75735f70616c6c65745f646d705f71756575653a3a4576656e743c52756e74696d653e00550000500c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5401304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7260013444697370617463684572726f7200013464697370617463685f696e666f5401304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e744964000110686173682c011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e540c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874240118576569676874000114636c6173735801344469737061746368436c617373000120706179735f6665655c0110506179730000580c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f7279000200005c0c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000060082873705f72756e74696d653444697370617463684572726f72000134144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040064012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e0400680128546f6b656e4572726f720007002841726974686d6574696304006c013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007001485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c000064082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7240018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d000068082873705f72756e74696d6528546f6b656e4572726f7200011c1c4e6f46756e647300000020576f756c644469650001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f72746564000600006c083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000070082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000740c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909780c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001281c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e63655365740c010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e63650001207265736572766564180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475737c01185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909097c14346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e6365537461747573000108104672656500000020526573657276656400010000800c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909840c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e6465781c013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909880c4470617261636861696e5f7374616b696e671870616c6c6574144576656e74040454000154204e6577526f756e640800100138543a3a426c6f636b4e756d62657200001c013053657373696f6e496e6465780000088041206e6577207374616b696e6720726f756e642068617320737461727465642e785c5b626c6f636b206e756d6265722c20726f756e64206e756d6265725c5d50456e7465726564546f7043616e646964617465730400000130543a3a4163636f756e744964000108cc41206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d444c656674546f7043616e646964617465730400000130543a3a4163636f756e744964000208d8416e206163636f756e74207761732072656d6f7665642066726f6d2074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d604a6f696e6564436f6c6c61746f7243616e646964617465730800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000308e041206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620636f6c6c61746f722063616e646964617465732ebc5c5b6163636f756e742c20616d6f756e74207374616b656420627920746865206e65772063616e6469646174655c5d48436f6c6c61746f725374616b65644d6f72650c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00040801014120636f6c6c61746f722063616e6469646174652068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d48436f6c6c61746f725374616b65644c6573730c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00050801014120636f6c6c61746f722063616e64696461746520686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d54436f6c6c61746f725363686564756c6564457869740c001c013053657373696f6e496e6465780000000130543a3a4163636f756e74496400001c013053657373696f6e496e64657800061001014120636f6c6c61746f722063616e646964617465206861732073746172746564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e646964617465732e205c5b726f756e64206e756d6265722c20636f6c6c61746f722773206163636f756e742c20726f756e64206e756d626572207768656ee074686520636f6c6c61746f722077696c6c206265206566666563746976656c792072656d6f7665642066726f6d2074686520736574206f663063616e646964617465735c5d50436f6c6c61746f7243616e63656c6564457869740400000130543a3a4163636f756e74496400070c05014120636f6c6c61746f722063616e646964617465206861732063616e63656c6564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e6469646174657320616e6420776173206164646564206261636b20746f207468652063616e64696461746520706f6f6c2e205c5b636f6c6c61746f722773246163636f756e745c5d3443616e6469646174654c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000808cc416e206163636f756e7420686173206c6566742074686520736574206f6620636f6c6c61746f722063616e646964617465732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d3c436f6c6c61746f7252656d6f7665640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000908e4416e206163636f756e742077617320666f726365646c792072656d6f7665642066726f6d207468652020736574206f6620636f6c6c61746f72c863616e646964617465732e205c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d604d617843616e6469646174655374616b654368616e676564040018013042616c616e63654f663c543e000a08b4546865206d6178696d756d2063616e646964617465207374616b6520686173206265656e206368616e6765642e485c5b6e6577206d617820616d6f756e745c5d4c44656c656761746f725374616b65644d6f72651000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000b0cf0412064656c656761746f722068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d4c44656c656761746f725374616b65644c6573731000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000c0cf0412064656c656761746f7220686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d3444656c656761746f724c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000d08a8416e206163636f756e7420686173206c6566742074686520736574206f662064656c656761746f72732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d2844656c65676174696f6e1000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000e0cc8416e206163636f756e74206861732064656c6567617465642061206e657720636f6c6c61746f722063616e6469646174652e11015c5b6163636f756e742c20616d6f756e74206f662066756e6473207374616b65642c20746f74616c20616d6f756e74206f662064656c656761746f7273272066756e64738c7374616b656420666f722074686520636f6c6c61746f722063616e6469646174655c5d4844656c65676174696f6e5265706c616365641800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000f180d0141206e65772064656c65676174696f6e20686173207265706c6163656420616e206578697374696e67206f6e6520696e2074686520736574206f66206f6e676f696e67010164656c65676174696f6e7320666f72206120636f6c6c61746f722063616e6469646174652e205c5b6e65772064656c656761746f722773206163636f756e742c0901616d6f756e74206f662066756e6473207374616b656420696e20746865206e65772064656c65676174696f6e2c207265706c616365642064656c656761746f7227730d016163636f756e742c20616d6f756e74206f662066756e6473207374616b656420696e20746865207265706c6163652064656c65676174696f6e2c20636f6c6c61746f72050163616e6469646174652773206163636f756e742c206e657720746f74616c20616d6f756e74206f662064656c656761746f7273272066756e6473207374616b656470666f722074686520636f6c6c61746f722063616e6469646174655c5d5444656c656761746f724c656674436f6c6c61746f721000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00100cdc416e206163636f756e74206861732073746f707065642064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e09015c5b6163636f756e742c20636f6c6c61746f722063616e6469646174652773206163636f756e742c206f6c6420616d6f756e74206f662064656c656761746f727327d866756e6473207374616b65642c206e657720616d6f756e74206f662064656c656761746f7273272066756e6473207374616b65645c5d2052657761726465640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e001108c04120636f6c6c61746f72206f7220612064656c656761746f72206861732072656365697665642061207265776172642e745c5b6163636f756e742c20616d6f756e74206f66207265776172645c5d44526f756e64496e666c6174696f6e53657410008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00008c012c5065727175696e74696c6c00120c0501496e666c6174696f6e20636f6e66696775726174696f6e20666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e09015c5b6d6178696d756d20636f6c6c61746f722773207374616b696e6720726174652c206d6178696d756d20636f6c6c61746f7227732072657761726420726174652c0d016d6178696d756d2064656c656761746f722773207374616b696e6720726174652c206d6178696d756d2064656c656761746f7227732072657761726420726174655c5d604d617853656c656374656443616e6469646174657353657408001c010c75333200001c010c753332001308f0546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c656374656420696e20667574757265dc76616c69646174696f6e20726f756e647320686173206368616e6765642e205c5b6f6c642076616c75652c206e65772076616c75655c5d44426c6f636b73506572526f756e6453657410001c013053657373696f6e496e6465780000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d6265720000100138543a3a426c6f636b4e756d62657200140cf8546865206c656e67746820696e20626c6f636b7320666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e01015c5b726f756e64206e756d6265722c20666972737420626c6f636b20696e207468652063757272656e7420726f756e642c206f6c642076616c75652c206e65771c76616c75655c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a0909098c0c3473705f61726974686d65746963287065725f7468696e67732c5065727175696e74696c6c0000040010010c7536340000900c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001442050726f706f73656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c656408013870726f706f73616c5f696e6465781c012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e6465781c013c5265666572656e64756d496e6465780001247468726573686f6c64940134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e6465781c013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e6465781c013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000704dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000804e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011048323536000114756e74696c100138543a3a426c6f636b4e756d62657200090494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e2c426c61636b6c697374656404013470726f706f73616c5f686173682c011048323536000a04c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e6465781c013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e000b0490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e6465781c012450726f70496e646578000c048c416e206163636f756e742068617320736563636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e6465781c012450726f70496e646578000d0460412070726f706f73616c20676f742063616e63656c65642e2c4d657461646174615365740801146f776e6572a001344d657461646174614f776e6572043c4d65746164617461206f776e65722e0110686173682c0130507265696d616765486173680438507265696d61676520686173682e0e04d44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e207365742e3c4d65746164617461436c65617265640801146f776e6572a001344d657461646174614f776e6572043c4d65746164617461206f776e65722e0110686173682c0130507265696d616765486173680438507265696d61676520686173682e0f04e44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e20636c65617265642e4c4d657461646174615472616e736665727265640c0128707265765f6f776e6572a001344d657461646174614f776e6572046050726576696f7573206d65746164617461206f776e65722e01146f776e6572a001344d657461646174614f776e6572044c4e6577206d65746164617461206f776e65722e0110686173682c0130507265696d616765486173680438507265696d61676520686173682e1004ac4d6574616461746120686173206265656e207472616e7366657272656420746f206e6577206f776e65722e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909940c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f7269747900020000980c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f74659c0110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e6365000100009c0c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000a00c4070616c6c65745f64656d6f6372616379147479706573344d657461646174614f776e657200010c2045787465726e616c0000002050726f706f73616c04001c012450726f70496e646578000100285265666572656e64756d04001c013c5265666572656e64756d496e64657800020000a40c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a80110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74ac01384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74ac01384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a80000050000ac0418526573756c7408045401b0044501600108084f6b0400b0000000000c4572720400600000010000b00000040000b40c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800013470726f706f73616c5f686173682c011c543a3a486173680001247468726573686f6c641c012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f686173682c011c543a3a48617368000114766f746564a80110626f6f6c00010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f686173682c011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74ac01384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f686173682c011c543a3a48617368000118726573756c74ac01384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f686173682c011c543a3a4861736800010c7965731c012c4d656d626572436f756e740001086e6f1c012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b80c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909bc0c3c70616c6c65745f74726561737572791870616c6c6574144576656e740804540004490001242050726f706f73656404013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e6465781c013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e6465781c013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640007049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000804cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c00c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e6465781c010c7533320001146572726f7260013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7260013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c74ac01384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c40c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909c80c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000118245363686564756c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736bcc016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964d001404f7074696f6e3c5461736b4e616d653e000118726573756c74ac01384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736bcc016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964d001404f7074696f6e3c5461736b4e616d653e00030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736bcc016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964d001404f7074696f6e3c5461736b4e616d653e0004043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e545065726d616e656e746c794f7665727765696768740801107461736bcc016c5461736b416464726573733c543a3a426c6f636b4e756d6265723e0001086964d001404f7074696f6e3c5461736b4e616d653e000504f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652ecc00000408101c00d004184f7074696f6e04045401040108104e6f6e6500000010536f6d650400040000010000d40c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c74ac01384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065d80130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578dc010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f686173682c013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200040450412070726f7879207761732072656d6f7665642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909d808447370697269746e65745f72756e74696d652450726f7879547970650001180c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002004050617261636861696e5374616b696e670003002c43616e63656c50726f7879000400484e6f6e4465706f736974436c61696d696e6700050000dc0000050400e00c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f746564040110686173682c011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e24526571756573746564040110686173682c011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c6561726564040110686173682c011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e40c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909e80c2c70616c6c65745f746970731870616c6c6574144576656e74080454000449000114184e65775469700401207469705f686173682c011c543a3a486173680000049441206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e670401207469705f686173682c011c543a3a48617368000104d841207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c01207469705f686173682c011c543a3a4861736800010c77686f000130543a3a4163636f756e7449640001187061796f757418013c42616c616e63654f663c542c20493e0002048441207469702073756767657374696f6e20686173206265656e20636c6f7365642e305469705265747261637465640401207469705f686173682c011c543a3a486173680003049041207469702073756767657374696f6e20686173206265656e207265747261637465642e28546970536c61736865640c01207469705f686173682c011c543a3a4861736800011866696e646572000130543a3a4163636f756e74496400011c6465706f73697418013c42616c616e63654f663c542c20493e0004048841207469702073756767657374696f6e20686173206265656e20736c61736865642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909ec0c3c70616c6c65745f6d756c74697369671870616c6c6574144576656e740404540001102c4e65774d756c74697369670c0124617070726f76696e67000130543a3a4163636f756e7449640001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c486173680000048c41206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e404d756c7469736967417070726f76616c100124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e74f0016454696d65706f696e743c543a3a426c6f636b4e756d6265723e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000104c841206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e404d756c74697369674578656375746564140124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e74f0016454696d65706f696e743c543a3a426c6f636b4e756d6265723e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000118726573756c74ac01384469737061746368526573756c740002049c41206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e444d756c746973696743616e63656c6c656410012863616e63656c6c696e67000130543a3a4163636f756e74496400012474696d65706f696e74f0016454696d65706f696e743c543a3a426c6f636b4e756d6265723e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000304a041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909f0083c70616c6c65745f6d756c74697369672454696d65706f696e74042c426c6f636b4e756d62657201100008011868656967687410012c426c6f636b4e756d626572000114696e6465781c010c7533320000f40c1463747970651870616c6c6574144576656e74040454000108304354797065437265617465640800000144437479706543726561746f724f663c543e00002c01384374797065486173684f663c543e0000087441206e657720435479706520686173206265656e20637265617465642e885c5b63726561746f72206964656e7469666965722c20435479706520686173685c5d3043547970655570646174656404002c01384374797065486173684f663c543e000108ac496e666f726d6174696f6e2061626f7574206120435479706520686173206265656e20757064617465642e385c5b435479706520686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909f80c2c6174746573746174696f6e1870616c6c6574144576656e74040454000110484174746573746174696f6e43726561746564100000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00002c01384374797065486173684f663c543e0000fc01704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e0000088c41206e6577206174746573746174696f6e20686173206265656e20637265617465642e05015c5b61747465737465722049442c20636c61696d20686173682c20435479706520686173682c20286f7074696f6e616c292064656c65676174696f6e2049445c5d484174746573746174696f6e5265766f6b6564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00010880416e206174746573746174696f6e20686173206265656e207265766f6b65642e685c5b6163636f756e742069642c20636c61696d20686173685c5d484174746573746174696f6e52656d6f766564080000013441747465737465724f663c543e00002c0138436c61696d486173684f663c543e00020880416e206174746573746174696f6e20686173206265656e2072656d6f7665642e685c5b6163636f756e742069642c20636c61696d20686173685c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c0138436c61696d486173684f663c543e0003080501546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e2e685c5b6163636f756e742069642c20636c61696d20686173685c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909fc04184f7074696f6e0404540101010108104e6f6e6500000010536f6d6504000101000001000001010c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c417574686f72697a6174696f6e4964043044656c65676174696f6e4964012c01042844656c65676174696f6e04002c013044656c65676174696f6e49640000000005010c2864656c65676174696f6e1870616c6c6574144576656e7404045400011c40486965726172636879437265617465640c0000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c01384374797065486173684f663c543e0000088441206e65772068696572617263687920686173206265656e20637265617465642ea05c5b63726561746f722049442c20726f6f74206e6f64652049442c20435459504520686173685c5d404869657261726368795265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00010874412068696572617263687920686173206265656e207265766f6b65642e705c5b7265766f6b65722049442c20726f6f74206e6f64652049445c5d4048696572617263687952656d6f766564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000208dc412068696572617263687920686173206265656e2072656d6f7665642066726f6d207468652073746f72616765206f6e20636861696e2e705c5b72656d6f7665722049442c20726f6f74206e6f64652049445c5d4444656c65676174696f6e43726561746564180000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000000014044656c656761746f7249644f663c543e00000901012c5065726d697373696f6e7300030c8841206e65772064656c65676174696f6e20686173206265656e20637265617465642efc5c5b63726561746f722049442c20726f6f74206e6f64652049442c2064656c65676174696f6e206e6f64652049442c20706172656e74206e6f64652049442c6864656c65676174652049442c207065726d697373696f6e735c5d4444656c65676174696f6e5265766f6b6564080000014044656c656761746f7249644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00040878412064656c65676174696f6e20686173206265656e207265766f6b65642e885c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d4444656c65676174696f6e52656d6f76656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e00050878412064656c65676174696f6e20686173206265656e2072656d6f7665642e885c5b72656d6f7665722049442c2064656c65676174696f6e206e6f64652049445c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e00002c015444656c65676174696f6e4e6f646549644f663c543e000608f8546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720612064656c65676174696f6eac737562747265652e205c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090909010c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368792c5065726d697373696f6e730000040110626974731c010c75333200000d010c0c6469641870616c6c6574144576656e74040454000110284469644372656174656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e0000086c41206e65772044494420686173206265656e20637265617465642e985c5b7472616e73616374696f6e207369676e65722c20444944206964656e7469666965725c5d284469645570646174656404000001484469644964656e7469666965724f663c543e0001085c412044494420686173206265656e20757064617465642e485c5b444944206964656e7469666965725c5d2844696444656c6574656404000001484469644964656e7469666965724f663c543e0002085c412044494420686173206265656e2064656c657465642e485c5b444944206964656e7469666965725c5d4444696443616c6c4469737061746368656408000001484469644964656e7469666965724f663c543e0000ac01384469737061746368526573756c74000308a041204449442d617574686f72697365642063616c6c20686173206265656e2065786563757465642e7c5c5b4449442063616c6c65722c20646973706174636820726573756c745c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090911010c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144576656e74040454000110584173736f63696174696f6e45737461626c69736865640800150101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000004f841206e6577206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e742049442077617320637265617465642e484173736f63696174696f6e52656d6f7665640800150101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000104ec416e206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e74204944207761732072656d6f7665642e444d6967726174696f6e50726f6772657373000204c454686572652077617320736f6d652070726f677265737320696e20746865206d6967726174696f6e2070726f636573732e484d6967726174696f6e436f6d706c65746564000304dc416c6c204163636f756e744964732068617665206265656e206d6967726174656420746f204c696e6b61626c654163636f756e7449642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090915010c4470616c6c65745f6469645f6c6f6f6b7570406c696e6b61626c655f6163636f756e74444c696e6b61626c654163636f756e7449640001082c4163636f756e744964323004001901012c4163636f756e74496432300000002c4163636f756e7449643332040000012c4163636f756e74496433320001000019010c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e742c4163636f756e7449643230000004001d0101205b75383b2032305d00001d0100000314000000080021010c4470616c6c65745f776562335f6e616d65731870616c6c6574144576656e740404540001103c576562334e616d65436c61696d65640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6525010134576562334e616d654f663c543e0000047041206e6577206e616d6520686173206265656e20636c61696d65642e40576562334e616d6552656c65617365640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6525010134576562334e616d654f663c543e0001046441206e616d6520686173206265656e2072656c65617365642e38576562334e616d6542616e6e65640401106e616d6525010134576562334e616d654f663c543e0002045c41206e616d6520686173206265656e2062616e6e65642e40576562334e616d65556e62616e6e65640401106e616d6525010134576562334e616d654f663c543e0003046441206e616d6520686173206265656e20756e62616e6e65642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090925010c4470616c6c65745f776562335f6e616d657324776562335f6e616d65344173636969576562334e616d650404540000040029010180426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e000029010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00002d010c487075626c69635f63726564656e7469616c731870616c6c6574144576656e740404540001104043726564656e7469616c53746f7265640801287375626a6563745f696431010130543a3a5375626a65637449640488546865207375626a656374206f6620746865206e65772063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0474546865206964206f6620746865206e65772063726564656e7469616c2e0004a041206e6577207075626c69632063726564656e7469616c20686173206265656e206973737565642e4443726564656e7469616c52656d6f7665640801287375626a6563745f696431010130543a3a5375626a65637449640498546865207375626a656374206f66207468652072656d6f7665642063726564656e7469616c2e013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f66207468652072656d6f7665642063726564656e7469616c2e01049841207075626c69632063726564656e7469616c7320686173206265656e2072656d6f7665642e4443726564656e7469616c5265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e0484546865206964206f6620746865207265766f6b65642063726564656e7469616c2e02049441207075626c69632063726564656e7469616c20686173206265656e207265766f6b65642e4c43726564656e7469616c556e7265766f6b656404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e048c546865206964206f662074686520756e7265766f6b65642063726564656e7469616c2e03049c41207075626c69632063726564656e7469616c20686173206265656e20756e7265766f6b65642e0490546865206576656e74732067656e65726174656420627920746869732070616c6c65742e31010c3872756e74696d655f636f6d6d6f6e18617373657473204173736574446964000004003501013c41737365744964656e746966696572000035010c3c6b696c745f61737365745f646964730876312041737365744469640000080120636861696e5f69643901011c436861696e496400012061737365745f69646101011c4173736574496400003901103c6b696c745f61737365745f6469647314636861696e0876311c436861696e49640001141845697031353504003d01013c4569703135355265666572656e63650000001842697031323204004101016447656e657369734865784861736833325265666572656e63650001001c446f7473616d6104004101016447656e657369734865784861736833325265666572656e636500020018536f6c616e6104004901017047656e657369734261736535384861736833325265666572656e63650003001c47656e6572696304005101013847656e65726963436861696e4964000400003d01103c6b696c745f61737365745f6469647314636861696e0876313c4569703135355265666572656e6365000004001801107531323800004101103c6b696c745f61737365745f6469647314636861696e0876316447656e657369734865784861736833325265666572656e636500000400450101205b75383b2031365d000045010000031000000008004901103c6b696c745f61737365745f6469647314636861696e0876317047656e657369734261736535384861736833325265666572656e6365000004004d010170426f756e6465645665633c75382c20436f6e73745533323c33323e3e00004d010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00005101103c6b696c745f61737365745f6469647314636861696e0876313847656e65726963436861696e496400000801246e616d6573706163655501015447656e65726963436861696e4e616d6573706163650001247265666572656e63655d01015447656e65726963436861696e5265666572656e636500005501103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e4e616d65737061636500000400590101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f434841494e5f4e414d4553504143455f4c454e4754485f5533323e3e000059010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00005d01103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e5265666572656e6365000004004d0101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f434841494e5f5245464552454e43455f4c454e4754485f5533323e3e00006101103c6b696c745f61737365745f646964731461737365740876311c4173736574496400011418536c6970343404006501013c536c697034345265666572656e636500000014457263323004007101018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650001001845726337323104007501019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650002001c4572633131353504007501019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650003001c47656e6572696304008501013847656e6572696341737365744964000400006501103c6b696c745f61737365745f646964731461737365740876313c536c697034345265666572656e636500000400690101105532353600006901083c7072696d69746976655f74797065731055323536000004006d0101205b7536343b20345d00006d010000030400000010007101103c6b696c745f61737365745f646964731461737365740876318445766d536d617274436f6e747261637446756e6769626c655265666572656e6365000004001d0101205b75383b2032305d00007501103c6b696c745f61737365745f646964731461737365740876319045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e6365000008007101018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650000790101b44f7074696f6e3c45766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e7469666965723e0000790104184f7074696f6e040454017d010108104e6f6e6500000010536f6d6504007d0100000100007d01103c6b696c745f61737365745f646964731461737365740876319445766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e74696669657200000400810101f4426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4944454e5449464945525f4c454e4754485f5533323e3e000081010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e00008501103c6b696c745f61737365745f646964731461737365740876313847656e657269634173736574496400000c01246e616d6573706163658901015447656e6572696341737365744e616d6573706163650001247265666572656e63658d01015447656e6572696341737365745265666572656e63650001086964950101784f7074696f6e3c47656e6572696341737365744964656e7469666965723e00008901103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365744e616d65737061636500000400590101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4e414d4553504143455f4c454e4754485f5533323e3e00008d01103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365745265666572656e636500000400910101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f5245464552454e43455f4c454e4754485f5533323e3e000091010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000950104184f7074696f6e0404540199010108104e6f6e6500000010536f6d650400990100000100009901103c6b696c745f61737365745f646964731461737365740876315847656e6572696341737365744964656e74696669657200000400810101f4426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4944454e5449464945525f4c454e4754485f5533323e3e00009d010c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144576656e7404045400011c6056616c69646174696f6e46756e6374696f6e53746f726564000004d05468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e6456616c69646174696f6e46756e6374696f6e4170706c69656404015472656c61795f636861696e5f626c6f636b5f6e756d1c015452656c6179436861696e426c6f636b4e756d62657200010445015468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e6c56616c69646174696f6e46756e6374696f6e446973636172646564000204b05468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e4455706772616465417574686f72697a6564040124636f64655f686173682c011c543a3a486173680003047c416e207570677261646520686173206265656e20617574686f72697a65642e60446f776e776172644d657373616765735265636569766564040114636f756e741c010c7533320004040101536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e64446f776e776172644d6573736167657350726f63657373656408012c7765696768745f75736564240118576569676874000120646d715f686561642c014472656c61795f636861696e3a3a48617368000504e0446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e445570776172644d65737361676553656e740401306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e000604b8416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a1010c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144576656e7404045400011c1c537563636573730801306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e00011877656967687424011857656967687400000464536f6d652058434d20776173206578656375746564206f6b2e104661696c0c01306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e0001146572726f72a501012058636d4572726f7200011877656967687424011857656967687400010440536f6d652058434d206661696c65642e2842616456657273696f6e0401306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e000204544261642058434d2076657273696f6e20757365642e24426164466f726d61740401306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e000304504261642058434d20666f726d617420757365642e3c58636d704d65737361676553656e740401306d6573736167655f68617368d0013c4f7074696f6e3c58636d486173683e000404c0416e2048524d50206d657373616765207761732073656e7420746f2061207369626c696e672070617261636861696e2e484f766572776569676874456e71756575656410011873656e646572a901011850617261496400011c73656e745f61741c014052656c6179426c6f636b4e756d626572000114696e64657810013c4f766572776569676874496e6465780001207265717569726564240118576569676874000504d4416e2058434d2065786365656465642074686520696e646976696475616c206d65737361676520776569676874206275646765742e484f7665727765696768745365727669636564080114696e64657810013c4f766572776569676874496e646578000110757365642401185765696768740006044101416e2058434d2066726f6d20746865206f7665727765696768742071756575652077617320657865637574656420776974682074686520676976656e2061637475616c2077656967687420757365642e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909a501100c78636d08763318747261697473144572726f720001a0204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300304c6f636174696f6e46756c6c000400544c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c753634001500404578706563746174696f6e46616c73650016003850616c6c65744e6f74466f756e64001700304e616d654d69736d617463680018004c56657273696f6e496e636f6d70617469626c6500190050486f6c64696e67576f756c644f766572666c6f77001a002c4578706f72744572726f72001b00385265616e63686f724661696c6564001c00184e6f4465616c001d0028466565734e6f744d6574001e00244c6f636b4572726f72001f00304e6f5065726d697373696f6e00200028556e616e63686f726564002100384e6f744465706f73697461626c650022004c556e68616e646c656458636d56657273696f6e002300485765696768744c696d69745265616368656404002401185765696768740024001c426172726965720025004c5765696768744e6f74436f6d70757461626c650026004445786365656473537461636b4c696d697400270000a9010c48706f6c6b61646f745f70617261636861696e287072696d697469766573084964000004001c010c7533320000ad010c2870616c6c65745f78636d1870616c6c6574144576656e7404045400015c24417474656d707465640400b101015078636d3a3a6c61746573743a3a4f7574636f6d6500000ca8457865637574696f6e206f6620616e2058434d206d6573736167652077617320617474656d707465642e00345c5b206f7574636f6d65205c5d1053656e740c00b50101344d756c74694c6f636174696f6e0000b50101344d756c74694c6f636174696f6e0000d901011c58636d3c28293e00010c5c412058434d206d657373616765207761732073656e742e00885c5b206f726967696e2c2064657374696e6174696f6e2c206d657373616765205c5d48556e6578706563746564526573706f6e73650800b50101344d756c74694c6f636174696f6e000010011c517565727949640002145901517565727920726573706f6e736520726563656976656420776869636820646f6573206e6f74206d61746368206120726567697374657265642071756572792e2054686973206d61792062652062656361757365206155016d61746368696e6720717565727920776173206e6576657220726567697374657265642c206974206d617920626520626563617573652069742069732061206475706c696361746520726573706f6e73652c206f727062656361757365207468652071756572792074696d6564206f75742e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e73655265616479080010011c51756572794964000001020120526573706f6e73650003105d01517565727920726573706f6e736520686173206265656e20726563656976656420616e6420697320726561647920666f722074616b696e672077697468206074616b655f726573706f6e7365602e205468657265206973806e6f2072656769737465726564206e6f74696669636174696f6e2063616c6c2e00485c5b2069642c20726573706f6e7365205c5d204e6f7469666965640c0010011c5175657279496400000801087538000008010875380004105901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20686173a86265656e206469737061746368656420616e64206578656375746564207375636365737366756c6c792e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d404e6f746966794f766572776569676874140010011c517565727949640000080108753800000801087538000024011857656967687400002401185765696768740005146101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20636f756c6441016e6f742062652064697370617463686564206265636175736520746865206469737061746368207765696768742069732067726561746572207468616e20746865206d6178696d756d20776569676874e46f726967696e616c6c7920627564676574656420627920746869732072756e74696d6520666f722074686520717565727920726573756c742e0019015c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e6465782c2061637475616c207765696768742c206d617820627564676574656420776569676874205c5d4c4e6f7469667944697370617463684572726f720c0010011c5175657279496400000801087538000008010875380006105501517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e2054686572652077617320612067656e6572616c206572726f722077697468886469737061746368696e6720746865206e6f74696669636174696f6e2063616c6c2e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d484e6f746966794465636f64654661696c65640c0010011c5175657279496400000801087538000008010875380007145101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652064697370617463682077617320756e61626c6520746f20626559016465636f64656420696e746f2061206043616c6c603b2074686973206d696768742062652064756520746f2064697370617463682066756e6374696f6e20686176696e672061207369676e6174757265207768696368946973206e6f742060286f726967696e2c20517565727949642c20526573706f6e736529602e00885c5b2069642c2070616c6c657420696e6465782c2063616c6c20696e646578205c5d40496e76616c6964526573706f6e6465720c00b50101344d756c74694c6f636174696f6e000010011c517565727949640000250201544f7074696f6e3c4d756c74694c6f636174696f6e3e0008145901457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206f726967696e206c6f636174696f6e206f662074686520726573706f6e736520646f657355016e6f74206d6174636820746861742065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e00b05c5b206f726967696e206c6f636174696f6e2c2069642c206578706563746564206c6f636174696f6e205c5d5c496e76616c6964526573706f6e64657256657273696f6e0800b50101344d756c74694c6f636174696f6e000010011c517565727949640009245101457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206578706563746564206f726967696e206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d34526573706f6e736554616b656e040010011c51756572794964000a0cc8526563656976656420717565727920726573706f6e736520686173206265656e207265616420616e642072656d6f7665642e00205c5b206964205c5d34417373657473547261707065640c002c0110483235360000b50101344d756c74694c6f636174696f6e00004502015056657273696f6e65644d756c7469417373657473000b0cb8536f6d65206173736574732068617665206265656e20706c6163656420696e20616e20617373657420747261702e00685c5b20686173682c206f726967696e2c20617373657473205c5d5456657273696f6e4368616e67654e6f7469666965640c00b50101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e0000e501012c4d756c7469417373657473000c142501416e2058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e206d65737361676520686173206265656e20617474656d7074656420746f2062652073656e742e00e054686520636f7374206f662073656e64696e672069742028626f726e652062792074686520636861696e2920697320696e636c756465642e007c5c5b2064657374696e6174696f6e2c20726573756c742c20636f7374205c5d5c537570706f7274656456657273696f6e4368616e6765640800b50101344d756c74694c6f636174696f6e00001c012858636d56657273696f6e000d10390154686520737570706f727465642076657273696f6e206f662061206c6f636174696f6e20686173206265656e206368616e6765642e2054686973206d69676874206265207468726f75676820616ec06175746f6d61746963206e6f74696669636174696f6e206f722061206d616e75616c20696e74657276656e74696f6e2e006c5c5b206c6f636174696f6e2c2058434d2076657273696f6e205c5d504e6f7469667954617267657453656e644661696c0c00b50101344d756c74694c6f636174696f6e000010011c517565727949640000a501012058636d4572726f72000e1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f727c73656e64696e6720746865206e6f74696669636174696f6e20746f2069742e007c5c5b206c6f636174696f6e2c2071756572792049442c206572726f72205c5d644e6f746966795461726765744d6967726174696f6e4661696c08007d02015856657273696f6e65644d756c74694c6f636174696f6e000010011c51756572794964000f1059014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f72b46d6967726174696e6720746865206c6f636174696f6e20746f206f7572206e65772058434d20666f726d61742e00605c5b206c6f636174696f6e2c207175657279204944205c5d54496e76616c69645175657269657256657273696f6e0800b50101344d756c74694c6f636174696f6e000010011c517565727949640010245501457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652065787065637465642071756572696572206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e00645c5b206f726967696e206c6f636174696f6e2c206964205c5d38496e76616c6964517565726965721000b50101344d756c74694c6f636174696f6e000010011c517565727949640000b50101344d756c74694c6f636174696f6e0000250201544f7074696f6e3c4d756c74694c6f636174696f6e3e0011145d01457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652071756572696572206c6f636174696f6e206f662074686520726573706f6e736520646f657351016e6f74206d61746368207468652065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e0005015c5b206f726967696e206c6f636174696f6e2c2069642c20657870656374656420717565726965722c206d617962652061637475616c2071756572696572205c5d5056657273696f6e4e6f74696679537461727465640800b50101344d756c74694c6f636174696f6e0000e501012c4d756c74694173736574730012105901412072656d6f746520686173207265717565737465642058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e2066726f6d20757320616e64207765206861766520686f6e6f7265642069742e1d01412076657273696f6e20696e666f726d6174696f6e206d6573736167652069732073656e7420746f207468656d20616e642069747320636f737420697320696e636c756465642e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d5856657273696f6e4e6f746966795265717565737465640800b50101344d756c74694c6f636174696f6e0000e501012c4d756c746941737365747300130c41015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073656e64732075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d6056657273696f6e4e6f74696679556e7265717565737465640800b50101344d756c74694c6f636174696f6e0000e501012c4d756c746941737365747300140c61015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073746f70732073656e64696e672075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e00805c5b2064657374696e6174696f6e206c6f636174696f6e2c20636f7374205c5d2046656573506169640800b50101344d756c74694c6f636174696f6e0000e501012c4d756c746941737365747300150c310146656573207765726520706169642066726f6d2061206c6f636174696f6e20666f7220616e206f7065726174696f6e20286f6674656e20666f72207573696e67206053656e6458636d60292e006c5c5b20706179696e67206c6f636174696f6e2c2066656573205c5d34417373657473436c61696d65640c002c0110483235360000b50101344d756c74694c6f636174696f6e00004502015056657273696f6e65644d756c746941737365747300160cc0536f6d65206173736574732068617665206265656e20636c61696d65642066726f6d20616e206173736574207472617000685c5b20686173682c206f726967696e2c20617373657473205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909b101100c78636d087633187472616974731c4f7574636f6d6500010c20436f6d706c657465040024011857656967687400000028496e636f6d706c65746508002401185765696768740000a50101144572726f72000100144572726f720400a50101144572726f7200020000b501100c78636d087633346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72b90101244a756e6374696f6e730000b901100c78636d087633246a756e6374696f6e73244a756e6374696f6e7300012410486572650000000858310400bd0101204a756e6374696f6e0001000858320800bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0002000858330c00bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0003000858341000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0004000858351400bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0005000858361800bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0006000858371c00bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0007000858382000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e0000bd0101204a756e6374696f6e00080000bd01100c78636d087633206a756e6374696f6e204a756e6374696f6e0001282450617261636861696e0400c101010c7533320000002c4163636f756e744964333208011c6e6574776f726bc50101444f7074696f6e3c4e6574776f726b49643e00010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726bc50101444f7074696f6e3c4e6574776f726b49643e000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726bc50101444f7074696f6e3c4e6574776f726b49643e00010c6b65791d0101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400cd010110753132380005002847656e6572616c4b65790801186c656e6774680801087538000110646174610401205b75383b2033325d000600244f6e6c794368696c6400070024506c7572616c6974790801086964d1010118426f6479496400011070617274d5010120426f6479506172740008003c476c6f62616c436f6e73656e7375730400c90101244e6574776f726b496400090000c1010000061c00c50104184f7074696f6e04045401c9010108104e6f6e6500000010536f6d650400c9010000010000c901100c78636d087633206a756e6374696f6e244e6574776f726b496400012824427947656e6573697304000401205b75383b2033325d000000184279466f726b080130626c6f636b5f6e756d62657210010c753634000128626c6f636b5f686173680401205b75383b2033325d00010020506f6c6b61646f74000200184b7573616d610003001c57657374656e6400040018526f636f636f00050018576f636f636f00060020457468657265756d040120636861696e5f696428010c7536340007002c426974636f696e436f72650008002c426974636f696e4361736800090000cd010000061800d101100c78636d087633206a756e6374696f6e18426f6479496400012810556e69740000001c4d6f6e696b6572040040011c5b75383b20345d00010014496e6465780400c101010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e00080020547265617375727900090000d501100c78636d087633206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74c101010c753332000100204672616374696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c75333200040000d9010c0c78636d0876330c58636d041043616c6c00000400dd0101585665633c496e737472756374696f6e3c43616c6c3e3e0000dd01000002e10100e1010c0c78636d0876332c496e737472756374696f6e041043616c6c0001c034576974686472617741737365740400e501012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400e501012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400e501012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f696428011c51756572794964000120726573706f6e736501020120526573706f6e73650001286d61785f77656967687424011857656967687400011c71756572696572250201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e736665724173736574080118617373657473e501012c4d756c746941737365747300012c62656e6566696369617279b50101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473e501012c4d756c746941737365747300011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64290201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737424011857656967687400011063616c6c2d02014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572c101010c7533320001406d61785f6d6573736167655f73697a65c101010c7533320001306d61785f6361706163697479c101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74c101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72c101010c75333200011873656e646572c101010c753332000124726563697069656e74c101010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400b9010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720400310201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473350201404d756c7469417373657446696c74657200012c62656e6566696369617279b50101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473350201404d756c7469417373657446696c74657200011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000e003445786368616e676541737365740c011067697665350201404d756c7469417373657446696c74657200011077616e74e501012c4d756c746941737365747300011c6d6178696d616ca80110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473350201404d756c7469417373657446696c74657200011c72657365727665b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473350201404d756c7469417373657446696c74657200011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f310201445175657279526573706f6e7365496e666f000118617373657473350201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573ed0101284d756c746941737365740001307765696768745f6c696d69744102012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400d901012458636d3c43616c6c3e0015002c536574417070656e6469780400d901012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473e501012c4d756c74694173736574730001187469636b6574b50101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f776569676874240118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e41737365740400e501012c4d756c7469417373657473001c002c45787065637441737365740400e501012c4d756c7469417373657473001d00304578706563744f726967696e0400250201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400050201504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e7361637453746174757304001d0201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6530011c5665633c75383e000134726573706f6e73655f696e666f310201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578c101010c7533320001106e616d6530011c5665633c75383e00012c6d6f64756c655f6e616d6530011c5665633c75383e00012c63726174655f6d616a6f72c101010c75333200013c6d696e5f63726174655f6d696e6f72c101010c753332002200505265706f72745472616e736163745374617475730400310201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400bd0101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726bc90101244e6574776f726b496400012c64657374696e6174696f6eb9010154496e746572696f724d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e002600244c6f636b41737365740801146173736574ed0101284d756c74694173736574000120756e6c6f636b6572b50101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574ed0101284d756c74694173736574000118746172676574b50101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574ed0101284d756c746941737365740001146f776e6572b50101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574ed0101284d756c746941737365740001186c6f636b6572b50101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177a80110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400b50101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69744102012c5765696768744c696d6974000130636865636b5f6f726967696e250201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f0000e501100c78636d087633286d756c746961737365742c4d756c746941737365747300000400e901013c5665633c4d756c746941737365743e0000e901000002ed0100ed01100c78636d087633286d756c74696173736574284d756c7469417373657400000801086964f101011c4173736574496400010c66756ef501012c46756e676962696c6974790000f101100c78636d087633286d756c746961737365741c4173736574496400010820436f6e63726574650400b50101344d756c74694c6f636174696f6e00000020416273747261637404000401205b75383b2033325d00010000f501100c78636d087633286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400cd010110753132380000002c4e6f6e46756e6769626c650400f90101344173736574496e7374616e636500010000f901100c78636d087633286d756c74696173736574344173736574496e7374616e636500011824556e646566696e656400000014496e6465780400cd0101107531323800010018417272617934040040011c5b75383b20345d000200184172726179380400fd01011c5b75383b20385d0003001c417272617931360400450101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050000fd0100000308000000080001020c0c78636d08763320526573706f6e7365000118104e756c6c000000184173736574730400e501012c4d756c74694173736574730001003c457865637574696f6e526573756c740400050201504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e04001c013873757065723a3a56657273696f6e0003002c50616c6c657473496e666f04000d020198426f756e6465645665633c50616c6c6574496e666f2c204d617850616c6c657473496e666f3e000400384469737061746368526573756c7404001d0201384d617962654572726f72436f646500050000050204184f7074696f6e0404540109020108104e6f6e6500000010536f6d650400090200000100000902000004081ca501000d020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011102045300000400190201185665633c543e000011020c0c78636d0876332850616c6c6574496e666f0000180114696e646578c101010c7533320001106e616d6515020180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e00012c6d6f64756c655f6e616d6515020180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e0001146d616a6f72c101010c7533320001146d696e6f72c101010c7533320001147061746368c101010c753332000015020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000019020000021102001d020c0c78636d087633384d617962654572726f72436f646500010c1c53756363657373000000144572726f7204002102018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e000100385472756e63617465644572726f7204002102018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e0002000021020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000250204184f7074696f6e04045401b5010108104e6f6e6500000010536f6d650400b501000001000029020c0c78636d087632284f726967696e4b696e64000110184e617469766500000040536f7665726569676e4163636f756e74000100245375706572757365720002000c58636d000300002d020c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e000031020c0c78636d087633445175657279526573706f6e7365496e666f00000c012c64657374696e6174696f6eb50101344d756c74694c6f636174696f6e00012071756572795f696428011c517565727949640001286d61785f77656967687424011857656967687400003502100c78636d087633286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e6974650400e501012c4d756c74694173736574730000001057696c6404003902013857696c644d756c74694173736574000100003902100c78636d087633286d756c746961737365743857696c644d756c746941737365740001100c416c6c00000014416c6c4f660801086964f101011c4173736574496400010c66756e3d02013c57696c6446756e676962696c69747900010028416c6c436f756e7465640400c101010c75333200020030416c6c4f66436f756e7465640c01086964f101011c4173736574496400010c66756e3d02013c57696c6446756e676962696c697479000114636f756e74c101010c753332000300003d02100c78636d087633286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c650001000041020c0c78636d0876332c5765696768744c696d697400010824556e6c696d697465640000001c4c696d697465640400240118576569676874000100004502080c78636d5056657273696f6e65644d756c746941737365747300010808563204004902013c76323a3a4d756c74694173736574730001000856330400e501013c76333a3a4d756c7469417373657473000300004902100c78636d087632286d756c746961737365742c4d756c7469417373657473000004004d02013c5665633c4d756c746941737365743e00004d020000025102005102100c78636d087632286d756c74696173736574284d756c74694173736574000008010869645502011c4173736574496400010c66756e7502012c46756e676962696c69747900005502100c78636d087632286d756c746961737365741c4173736574496400010820436f6e63726574650400590201344d756c74694c6f636174696f6e000000204162737472616374040030011c5665633c75383e000100005902100c78636d087632346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f725d0201244a756e6374696f6e7300005d02100c78636d087632346d756c74696c6f636174696f6e244a756e6374696f6e7300012410486572650000000858310400610201204a756e6374696f6e0001000858320800610201204a756e6374696f6e0000610201204a756e6374696f6e0002000858330c00610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0003000858341000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0004000858351400610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0005000858361800610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0006000858371c00610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0007000858382000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e0000610201204a756e6374696f6e000800006102100c78636d087632206a756e6374696f6e204a756e6374696f6e0001242450617261636861696e0400c101010c7533320000002c4163636f756e744964333208011c6e6574776f726b650201244e6574776f726b496400010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726b650201244e6574776f726b4964000114696e64657828010c753634000200304163636f756e744b6579323008011c6e6574776f726b650201244e6574776f726b496400010c6b65791d0101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e6465780400cd010110753132380005002847656e6572616c4b65790400690201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000600244f6e6c794368696c6400070024506c7572616c69747908010869646d020118426f647949640001107061727471020120426f6479506172740008000065020c0c78636d087632244e6574776f726b49640001100c416e79000000144e616d65640400690201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010020506f6c6b61646f74000200184b7573616d610003000069020c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004003001185665633c543e00006d020c0c78636d08763218426f6479496400012810556e6974000000144e616d65640400690201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010014496e6465780400c101010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e0008002054726561737572790009000071020c0c78636d08763220426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74c101010c753332000100204672616374696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6dc101010c75333200011464656e6f6dc101010c753332000400007502100c78636d087632286d756c746961737365742c46756e676962696c6974790001082046756e6769626c650400cd010110753132380000002c4e6f6e46756e6769626c650400790201344173736574496e7374616e6365000100007902100c78636d087632286d756c74696173736574344173736574496e7374616e636500011c24556e646566696e656400000014496e6465780400cd0101107531323800010018417272617934040040011c5b75383b20345d000200184172726179380400fd01011c5b75383b20385d0003001c417272617931360400450101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050010426c6f62040030011c5665633c75383e000600007d02080c78636d5856657273696f6e65644d756c74694c6f636174696f6e00010808563204005902014476323a3a4d756c74694c6f636174696f6e0001000856330400b501014476333a3a4d756c74694c6f636174696f6e0003000081020c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144576656e7404045400010c34496e76616c6964466f726d617404000401205b75383b2033325d00000880446f776e77617264206d65737361676520697320696e76616c69642058434d2e205c5b206964205c5d48556e737570706f7274656456657273696f6e04000401205b75383b2033325d000108bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e205c5b206964205c5d404578656375746564446f776e7761726408000401205b75383b2033325d0000b101011c4f7574636f6d65000208c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e445c5b2069642c206f7574636f6d65205c5d04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a09090985020c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144576656e7404045400011c34496e76616c6964466f726d61740401286d6573736167655f69640401244d657373616765496400000480446f776e77617264206d65737361676520697320696e76616c69642058434d2e48556e737570706f7274656456657273696f6e0401286d6573736167655f69640401244d6573736167654964000104bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e404578656375746564446f776e776172640801286d6573736167655f69640401244d657373616765496400011c6f7574636f6d65b101011c4f7574636f6d65000204c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e3c5765696768744578686175737465640c01286d6573736167655f69640401244d657373616765496400014072656d61696e696e675f77656967687424011857656967687400013c72657175697265645f776569676874240118576569676874000304f054686520776569676874206c696d697420666f722068616e646c696e6720646f776e77617264206d657373616765732077617320726561636865642e484f766572776569676874456e7175657565640c01286d6573736167655f69640401244d65737361676549640001406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800013c72657175697265645f7765696768742401185765696768740004041901446f776e77617264206d657373616765206973206f76657277656967687420616e642077617320706c6163656420696e20746865206f7665727765696768742071756575652e484f76657277656967687453657276696365640801406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800012c7765696768745f75736564240118576569676874000504e0446f776e77617264206d6573736167652066726f6d20746865206f766572776569676874207175657565207761732065786563757465642e504d61784d657373616765734578686175737465640401286d6573736167655f69640401244d6573736167654964000604b0546865206d6178696d756d206e756d626572206f6620646f776e77617264206d65737361676573207761732e04a1010a090909546865205b6576656e745d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f2920656d69747465640a090909627920746869732070616c6c65742e0a090909890208306672616d655f73797374656d14506861736500010c384170706c7945787472696e73696304001c010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e000200008d020000022c009102000002cc00950208306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6ec101014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d659902016473705f72756e74696d653a3a52756e74696d65537472696e670000990200000502009d020c306672616d655f73797374656d1870616c6c65741043616c6c0404540001201872656d61726b04011872656d61726b30011c5665633c75383e000010684d616b6520736f6d65206f6e2d636861696e2072656d61726b2e0034232320436f6d706c6578697479202d20604f28312960387365745f686561705f7061676573040114706167657310010c753634000104f853657420746865206e756d626572206f6620706167657320696e2074686520576562417373656d626c7920656e7669726f6e6d656e74277320686561702e207365745f636f6465040110636f646530011c5665633c75383e0002106453657420746865206e65772072756e74696d6520636f64652e0034232320436f6d706c657869747931012d20604f2843202b2053296020776865726520604360206c656e677468206f662060636f64656020616e642060536020636f6d706c6578697479206f66206063616e5f7365745f636f6465605c7365745f636f64655f776974686f75745f636865636b73040110636f646530011c5665633c75383e000310190153657420746865206e65772072756e74696d6520636f646520776974686f757420646f696e6720616e7920636865636b73206f662074686520676976656e2060636f6465602e0034232320436f6d706c65786974798c2d20604f2843296020776865726520604360206c656e677468206f662060636f6465602c7365745f73746f726167650401146974656d73a10201345665633c4b657956616c75653e0004046853657420736f6d65206974656d73206f662073746f726167652e306b696c6c5f73746f726167650401106b657973a90201205665633c4b65793e000504744b696c6c20736f6d65206974656d732066726f6d2073746f726167652e2c6b696c6c5f70726566697808011870726566697830010c4b657900011c7375626b6579731c010c75333200061011014b696c6c20616c6c2073746f72616765206974656d7320776974682061206b657920746861742073746172747320776974682074686520676976656e207072656669782e0039012a2a4e4f54453a2a2a2057652072656c79206f6e2074686520526f6f74206f726967696e20746f2070726f7669646520757320746865206e756d626572206f66207375626b65797320756e6465723d0174686520707265666978207765206172652072656d6f76696e6720746f2061636375726174656c792063616c63756c6174652074686520776569676874206f6620746869732066756e6374696f6e2e4472656d61726b5f776974685f6576656e7404011872656d61726b30011c5665633c75383e000704a44d616b6520736f6d65206f6e2d636861696e2072656d61726b20616e6420656d6974206576656e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea102000002a50200a50200000408303000a9020000023000ad020c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2401185765696768740001246d61785f626c6f636b2401185765696768740001247065725f636c617373b10201845065724469737061746368436c6173733c57656967687473506572436c6173733e0000b1020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c61737304045401b502000c01186e6f726d616cb50201045400012c6f7065726174696f6e616cb5020104540001246d616e6461746f7279b5020104540000b5020c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632401185765696768740001346d61785f65787472696e736963b90201384f7074696f6e3c5765696768743e0001246d61785f746f74616cb90201384f7074696f6e3c5765696768743e0001207265736572766564b90201384f7074696f6e3c5765696768743e0000b90204184f7074696f6e04045401240108104e6f6e6500000010536f6d650400240000010000bd020c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178c10201545065724469737061746368436c6173733c7533323e0000c1020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c617373040454011c000c01186e6f726d616c1c01045400012c6f7065726174696f6e616c1c0104540001246d616e6461746f72791c0104540000c502082873705f776569676874733c52756e74696d65446257656967687400000801107265616410010c753634000114777269746510010c7536340000c902082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d659902013452756e74696d65537472696e67000124696d706c5f6e616d659902013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e1c010c753332000130737065635f76657273696f6e1c010c753332000130696d706c5f76657273696f6e1c010c75333200011061706973cd02011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e1c010c75333200013473746174655f76657273696f6e08010875380000cd02040c436f7704045401d102000400d102000000d102000002d50200d50200000408fd011c00d9020c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c6574dd020c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f77280124543a3a4d6f6d656e7400003c54536574207468652063757272656e742074696d652e005501546869732063616c6c2073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6ed470686173652c20696620746869732063616c6c206861736e2774206265656e20696e766f6b656420627920746861742074696d652e0041015468652074696d657374616d702073686f756c642062652067726561746572207468616e207468652070726576696f7573206f6e652062792074686520616d6f756e742073706563696669656420627940604d696e696d756d506572696f64602e00d4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e74602e0034232320436f6d706c657869747931012d20604f2831296020284e6f7465207468617420696d706c656d656e746174696f6e73206f6620604f6e54696d657374616d7053657460206d75737420616c736f20626520604f283129602961012d20312073746f72616765207265616420616e6420312073746f72616765206d75746174696f6e2028636f64656320604f28312960292e202862656361757365206f6620604469645570646174653a3a74616b656020696e402020606f6e5f66696e616c697a656029d42d2031206576656e742068616e646c657220606f6e5f74696d657374616d705f736574602e204d75737420626520604f283129602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee1020000040c0018a800e5020c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e6465780000309841737369676e20616e2070726576696f75736c7920756e61737369676e656420696e6465782e00dc5061796d656e743a20604465706f736974602069732072657365727665642066726f6d207468652073656e646572206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00f02d2060696e646578603a2074686520696e64657820746f20626520636c61696d65642e2054686973206d757374206e6f7420626520696e207573652e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e207472616e7366657208010c6e6577e90201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e6465780001305d0141737369676e20616e20696e64657820616c7265616479206f776e6564206279207468652073656e64657220746f20616e6f74686572206163636f756e742e205468652062616c616e6365207265736572766174696f6eb86973206566666563746976656c79207472616e7366657272656420746f20746865206e6577206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0025012d2060696e646578603a2074686520696e64657820746f2062652072652d61737369676e65642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e1066726565040114696e64657810013c543a3a4163636f756e74496e646578000230944672656520757020616e20696e646578206f776e6564206279207468652073656e6465722e005d015061796d656e743a20416e792070726576696f7573206465706f73697420706c6163656420666f722074686520696e64657820697320756e726573657276656420696e207468652073656e646572206163636f756e742e005501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d757374206f776e2074686520696e6465782e000d012d2060696e646578603a2074686520696e64657820746f2062652066726565642e2054686973206d757374206265206f776e6564206279207468652073656e6465722e0084456d6974732060496e646578467265656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e38666f7263655f7472616e736665720c010c6e6577e90201504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65a80110626f6f6c0003345501466f72636520616e20696e64657820746f20616e206163636f756e742e205468697320646f65736e277420726571756972652061206465706f7369742e2049662074686520696e64657820697320616c7265616479e868656c642c207468656e20616e79206465706f736974206973207265696d62757273656420746f206974732063757272656e74206f776e65722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00a42d2060696e646578603a2074686520696e64657820746f206265202872652d2961737369676e65642e5d012d20606e6577603a20746865206e6577206f776e6572206f662074686520696e6465782e20546869732066756e6374696f6e2069732061206e6f2d6f7020696620697420697320657175616c20746f2073656e6465722e41012d2060667265657a65603a2069662073657420746f206074727565602c2077696c6c20667265657a652074686520696e64657820736f2069742063616e6e6f74206265207472616e736665727265642e0090456d6974732060496e64657841737369676e656460206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004304101467265657a6520616e20696e64657820736f2069742077696c6c20616c7761797320706f696e7420746f207468652073656e646572206163636f756e742e205468697320636f6e73756d657320746865206465706f7369742e005901546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d757374206861766520616c6e6f6e2d66726f7a656e206163636f756e742060696e646578602e00ac2d2060696e646578603a2074686520696e64657820746f2062652066726f7a656e20696e20706c6163652e0088456d6974732060496e64657846726f7a656e60206966207375636365737366756c2e0034232320436f6d706c6578697479242d20604f283129602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee9020c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e64657801b0011408496404000001244163636f756e74496400000014496e6465780400ed0201304163636f756e74496e6465780001000c526177040030011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d0003002441646472657373323004001d0101205b75383b2032305d00040000ed02000006b000f1020c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909f5020c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401f902045300000400010301185665633c543e0000f902083c70616c6c65745f62616c616e6365732c42616c616e63654c6f636b041c42616c616e63650118000c01086964fd0101384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e73fd02011c526561736f6e730000fd02083c70616c6c65745f62616c616e6365731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c000200000103000002f9020005030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540109030453000004000d0301185665633c543e00000903083c70616c6c65745f62616c616e6365732c52657365727665446174610844526573657276654964656e74696669657201fd011c42616c616e63650118000801086964fd010144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e636500000d0300000209030011030c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000118207472616e7366657208011064657374e90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565cd010128543a3a42616c616e6365000058d45472616e7366657220736f6d65206c697175696420667265652062616c616e636520746f20616e6f74686572206163636f756e742e000501607472616e73666572602077696c6c207365742074686520604672656542616c616e636560206f66207468652073656e64657220616e642072656365697665722e11014966207468652073656e6465722773206163636f756e742069732062656c6f7720746865206578697374656e7469616c206465706f736974206173206120726573756c74b06f6620746865207472616e736665722c20746865206163636f756e742077696c6c206265207265617065642e001501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d75737420626520605369676e65646020627920746865207472616e736163746f722e0034232320436f6d706c657869747961012d20446570656e64656e74206f6e20617267756d656e747320627574206e6f7420637269746963616c2c20676976656e2070726f70657220696d706c656d656e746174696f6e7320666f7220696e70757420636f6e66696794202074797065732e205365652072656c617465642066756e6374696f6e732062656c6f772e31012d20497420636f6e7461696e732061206c696d69746564206e756d626572206f6620726561647320616e642077726974657320696e7465726e616c6c7920616e64206e6f20636f6d706c6578382020636f6d7075746174696f6e2e004852656c617465642066756e6374696f6e733a004d0120202d2060656e737572655f63616e5f77697468647261776020697320616c776179732063616c6c656420696e7465726e616c6c792062757420686173206120626f756e64656420636f6d706c65786974792e290120202d205472616e7366657272696e672062616c616e63657320746f206163636f756e7473207468617420646964206e6f74206578697374206265666f72652077696c6c206361757365cc2020202060543a3a4f6e4e65774163636f756e743a3a6f6e5f6e65775f6163636f756e746020746f2062652063616c6c65642e5d0120202d2052656d6f76696e6720656e6f7567682066756e64732066726f6d20616e206163636f756e742077696c6c20747269676765722060543a3a4475737452656d6f76616c3a3a6f6e5f756e62616c616e636564602e5d0120202d20607472616e736665725f6b6565705f616c6976656020776f726b73207468652073616d652077617920617320607472616e73666572602c206275742068617320616e206164646974696f6e616c20636865636bdc202020207468617420746865207472616e736665722077696c6c206e6f74206b696c6c20746865206f726967696e206163636f756e742e2c7365745f62616c616e63650c010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f66726565cd010128543a3a42616c616e63650001306e65775f7265736572766564cd010128543a3a42616c616e636500012090536574207468652062616c616e636573206f66206120676976656e206163636f756e742e001d01546869732077696c6c20616c74657220604672656542616c616e63656020616e642060526573657276656442616c616e63656020696e2073746f726167652e2069742077696c6c3101616c736f20616c7465722074686520746f74616c2069737375616e6365206f66207468652073797374656d202860546f74616c49737375616e6365602920617070726f7072696174656c792e1501496620746865206e65772066726565206f722072657365727665642062616c616e63652069732062656c6f7720746865206578697374656e7469616c206465706f7369742cfc69742077696c6c20726573657420746865206163636f756e74206e6f6e63652028606672616d655f73797374656d3a3a4163636f756e744e6f6e636560292e00b0546865206469737061746368206f726967696e20666f7220746869732063616c6c2069732060726f6f74602e38666f7263655f7472616e736665720c0118736f75726365e90201504163636f756e7449644c6f6f6b75704f663c543e00011064657374e90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565cd010128543a3a42616c616e63650002144d0145786163746c7920617320607472616e73666572602c2065786365707420746865206f726967696e206d75737420626520726f6f7420616e642074686520736f75726365206163636f756e74206d6179206265287370656369666965642e34232320436f6d706c65786974794d012d2053616d65206173207472616e736665722c20627574206164646974696f6e616c207265616420616e6420777269746520626563617573652074686520736f75726365206163636f756e74206973206e6f747c2020617373756d656420746f20626520696e20746865206f7665726c61792e4c7472616e736665725f6b6565705f616c69766508011064657374e90201504163636f756e7449644c6f6f6b75704f663c543e00011476616c7565cd010128543a3a42616c616e63650003184d0153616d6520617320746865205b607472616e73666572605d2063616c6c2c206275742077697468206120636865636b207468617420746865207472616e736665722077696c6c206e6f74206b696c6c207468653c6f726967696e206163636f756e742e00b8393925206f66207468652074696d6520796f752077616e74205b607472616e73666572605d20696e73746561642e00c05b607472616e73666572605d3a207374727563742e50616c6c65742e68746d6c236d6574686f642e7472616e73666572307472616e736665725f616c6c08011064657374e90201504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665a80110626f6f6c00044005015472616e736665722074686520656e74697265207472616e7366657261626c652062616c616e63652066726f6d207468652063616c6c6572206163636f756e742e0059014e4f54453a20546869732066756e6374696f6e206f6e6c7920617474656d70747320746f207472616e73666572205f7472616e7366657261626c655f2062616c616e6365732e2054686973206d65616e7320746861746101616e79206c6f636b65642c2072657365727665642c206f72206578697374656e7469616c206465706f7369747320287768656e20606b6565705f616c6976656020697320607472756560292c2077696c6c206e6f742062655d017472616e7366657272656420627920746869732066756e6374696f6e2e20546f20656e73757265207468617420746869732066756e6374696f6e20726573756c747320696e2061206b696c6c6564206163636f756e742c4501796f75206d69676874206e65656420746f207072657061726520746865206163636f756e742062792072656d6f76696e6720616e79207265666572656e636520636f756e746572732c2073746f72616765406465706f736974732c206574632e2e2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205369676e65642e00a02d206064657374603a2054686520726563697069656e74206f6620746865207472616e736665722e59012d20606b6565705f616c697665603a204120626f6f6c65616e20746f2064657465726d696e652069662074686520607472616e736665725f616c6c60206f7065726174696f6e2073686f756c642073656e6420616c6c4d0120206f66207468652066756e647320746865206163636f756e74206861732c2063617573696e67207468652073656e646572206163636f756e7420746f206265206b696c6c6564202866616c7365292c206f72590120207472616e736665722065766572797468696e6720657863657074206174206c6561737420746865206578697374656e7469616c206465706f7369742c2077686963682077696c6c2067756172616e74656520746fd420206b656570207468652073656e646572206163636f756e7420616c697665202874727565292e20232320436f6d706c657869747939012d204f2831292e204a757374206c696b65207472616e736665722c206275742072656164696e672074686520757365722773207472616e7366657261626c652062616c616e63652066697273742e3c666f7263655f756e7265736572766508010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050cb0556e7265736572766520736f6d652062616c616e63652066726f6d2061207573657220627920666f7263652e006c43616e206f6e6c792062652063616c6c656420627920524f4f542e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e15030c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001203856657374696e6742616c616e63650000049856657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c7565544c69717569646974795265737472696374696f6e73000104c44163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304e856616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f736974244b656570416c6976650004048c5472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e745c4578697374696e6756657374696e675363686564756c65000504c8412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742c446561644163636f756e740006048842656e6566696369617279206163636f756e74206d757374207072652d65786973743c546f6f4d616e795265736572766573000704ac4e756d626572206f66206e616d656420726573657276657320657863656564204d6178526573657276657304b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090919030c3473705f61726974686d657469632c66697865645f706f696e7424466978656455313238000004001801107531323800001d03086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e740000000856320001000021030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540125030453000004002d0301185665633c543e00002503104473705f636f6e73656e7375735f617572611c737232353531392c6170705f73723235353139185075626c6963000004002903013c737232353531393a3a5075626c6963000029030c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d00002d030000022503003103084873705f636f6e73656e7375735f736c6f747310536c6f740000040010010c75363400003503000002000039030000023d03003d030000040800410300410308447370697269746e65745f72756e74696d652c53657373696f6e4b657973000004011061757261250301c43c41757261206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c6963000045030000021c004903000004084d0330004d030c1c73705f636f72651863727970746f244b65795479706549640000040040011c5b75383b20345d000051030c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b6579734103011c543a3a4b65797300011470726f6f6630011c5665633c75383e000024e453657473207468652073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c657220746f20606b657973602e1d01416c6c6f777320616e206163636f756e7420746f20736574206974732073657373696f6e206b6579207072696f7220746f206265636f6d696e6720612076616c696461746f722ec05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e00d0546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265207369676e65642e0034232320436f6d706c657869747959012d20604f283129602e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f662060543a3a4b6579733a3a6b65795f69647328296020776869636820697320202066697865642e2870757267655f6b657973000130c852656d6f76657320616e792073657373696f6e206b6579287329206f66207468652066756e6374696f6e2063616c6c65722e00c05468697320646f65736e27742074616b652065666665637420756e74696c20746865206e6578742073657373696f6e2e005501546865206469737061746368206f726967696e206f6620746869732066756e6374696f6e206d757374206265205369676e656420616e6420746865206163636f756e74206d757374206265206569746865722062655d01636f6e7665727469626c6520746f20612076616c696461746f72204944207573696e672074686520636861696e2773207479706963616c2061646472657373696e672073797374656d20287468697320757375616c6c7951016d65616e73206265696e67206120636f6e74726f6c6c6572206163636f756e7429206f72206469726563746c7920636f6e7665727469626c6520696e746f20612076616c696461746f722049442028776869636894757375616c6c79206d65616e73206265696e672061207374617368206163636f756e74292e0034232320436f6d706c65786974793d012d20604f2831296020696e206e756d626572206f66206b65792074797065732e2041637475616c20636f737420646570656e6473206f6e20746865206e756d626572206f66206c656e677468206f6698202060543a3a4b6579733a3a6b65795f6964732829602077686963682069732066697865642e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e55030c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742e59030c4470617261636861696e5f7374616b696e6714747970657324526f756e64496e666f042c426c6f636b4e756d6265720110000c011c63757272656e741c013053657373696f6e496e646578000114666972737410012c426c6f636b4e756d6265720001186c656e67746810012c426c6f636b4e756d62657200005d030c4470617261636861696e5f7374616b696e671474797065734444656c65676174696f6e436f756e7465720000080114726f756e641c013053657373696f6e496e64657800011c636f756e7465721c010c753332000061030c4470617261636861696e5f7374616b696e67147479706573145374616b6508244163636f756e74496401001c42616c616e63650118000801146f776e65720001244163636f756e744964000118616d6f756e7418011c42616c616e6365000065030c4470617261636861696e5f7374616b696e671474797065732443616e6469646174650c244163636f756e74496401001c42616c616e63650118644d617844656c656761746f727350657243616e646964617465000014010869640001244163636f756e7449640001147374616b6518011c42616c616e636500012864656c656761746f727369030101014f7264657265645365743c5374616b653c4163636f756e7449642c2042616c616e63653e2c204d617844656c656761746f727350657243616e6469646174653e000114746f74616c18011c42616c616e63650001187374617475737503013c43616e646964617465537461747573000069030c4470617261636861696e5f7374616b696e670c736574284f7264657265645365740804540161030453000004006d030140426f756e6465645665633c542c20533e00006d030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454016103045300000400710301185665633c543e0000710300000261030075030c4470617261636861696e5f7374616b696e671474797065733c43616e646964617465537461747573000108184163746976650000001c4c656176696e6704001c013053657373696f6e496e6465780001000079030c4470617261636861696e5f7374616b696e6714747970657328546f74616c5374616b65041c42616c616e6365011800080124636f6c6c61746f727318011c42616c616e636500012864656c656761746f727318011c42616c616e636500007d030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401610304530000040081030140426f756e6465645665633c542c20533e000081030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454016103045300000400710301185665633c543e000085030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e34496e666c6174696f6e496e666f0000080120636f6c6c61746f728903012c5374616b696e67496e666f00012464656c656761746f728903012c5374616b696e67496e666f000089030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e2c5374616b696e67496e666f00000801206d61785f726174658c012c5065727175696e74696c6c00012c7265776172645f726174658d0301285265776172645261746500008d030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e28526577617264526174650000080118616e6e75616c8c012c5065727175696e74696c6c0001247065725f626c6f636b8c012c5065727175696e74696c6c000091030c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601180453000004009503013842547265654d61703c4b2c20563e00009503042042547265654d617008044b011004560118000400990300000099030000029d03009d0300000408101800a1030c4470617261636861696e5f7374616b696e671870616c6c65741043616c6c0404540001543c666f7263655f6e65775f726f756e64000018d0466f7263657320746865207374617274206f6620746865206e657720726f756e6420696e20746865206e65787420626c6f636b2e00a0546865206e657720726f756e642077696c6c20626520656e666f7263656420766961203c54206173a453686f756c64456e6453657373696f6e3c5f3e3e3a3a73686f756c645f656e645f73657373696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e347365745f696e666c6174696f6e100170636f6c6c61746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c000198636f6c6c61746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00017464656c656761746f725f6d61785f726174655f70657263656e746167658c012c5065727175696e74696c6c00019c64656c656761746f725f616e6e75616c5f7265776172645f726174655f70657263656e746167658c012c5065727175696e74696c6c00013cf05365742074686520616e6e75616c20696e666c6174696f6e207261746520746f20646572697665207065722d726f756e6420696e666c6174696f6e2e00110154686520696e666c6174696f6e2064657461696c732061726520636f6e736964657265642076616c69642069662074686520616e6e75616c207265776172642072617465f0697320617070726f78696d6174656c7920746865207065722d626c6f636b207265776172642072617465206d756c7469706c69656420627920746865ac657374696d617465642a20746f74616c206e756d626572206f6620626c6f636b732070657220796561722e00cc54686520657374696d61746564206176657261676520626c6f636b2074696d65206973207477656c7665207365636f6e64732e000d014e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20616e6420666f7220656163682063616e646964617465206f766572207468656972090164656c656761746f727320746f207570646174652074686569722072657761726473206265666f72652074686520726577617264207261746573206368616e67652ee04e6565647320746f20626520696d70726f766564207768656e207363616c696e6720757020604d6178546f7043616e64696461746573602e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060526f756e64496e666c6174696f6e536574602e6c7365745f6d61785f73656c65637465645f63616e6469646174657304010c6e65771c010c75333200022c090153657420746865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e6469646174657320746861742063616e2062652073656c6563746564a861742074686520626567696e6e696e67206f6620656163682076616c69646174696f6e20726f756e642e00e84368616e67657320617265206e6f74206170706c69656420756e74696c20746865207374617274206f6620746865206e65787420726f756e642e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617853656c656374656443616e64696461746573536574602e507365745f626c6f636b735f7065725f726f756e6404010c6e6577100138543a3a426c6f636b4e756d62657200032cd453657420746865206e756d626572206f6620626c6f636b7320656163682076616c69646174696f6e20726f756e64206c617374732e000901496620746865206e65772076616c7565206973206c657373207468616e20746865206c656e677468206f66207468652063757272656e7420726f756e642c20746865050173797374656d2077696c6c20696d6d6564696174656c79206d6f766520746f20746865206e65787420726f756e6420696e20746865206e65787420626c6f636b2e000d01546865206e65772076616c7565206d75737420626520686967686572207468616e20746865206d696e696d756d20616c6c6f7765642061732073657420696e207468655c70616c6c6574277320636f6e66696775726174696f6e2e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0068456d6974732060426c6f636b73506572526f756e64536574602e5c7365745f6d61785f63616e6469646174655f7374616b6504010c6e657718013042616c616e63654f663c543e000418110153657420746865206d6178696d616c20616d6f756e74206120636f6c6c61746f722063616e207374616b652e204578697374696e67207374616b657320617265206e6f74206368616e6765642e0084546865206469737061746368206f726967696e206d75737420626520526f6f742e0084456d69747320604d617843616e6469646174655374616b654368616e676564602e58666f7263655f72656d6f76655f63616e646964617465040120636f6c6c61746f72e902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650005300101466f726365646c792072656d6f766573206120636f6c6c61746f722063616e6469646174652066726f6d2074686520546f7043616e6469646174657320616e64e4636c6561727320616c6c206173736f6369617465642073746f7261676520666f72207468652063616e64696461746520616e642074686569722c64656c656761746f72732e00fc507265706172657320756e7374616b696e67206f66207468652063616e6469646174657320616e642074686569722064656c656761746f7273207374616b65f077686963682063616e20626520756e6c6f636b6564207669612060756e6c6f636b5f756e7374616b6564602061667465722077616974696e6720617409016c6561737420605374616b654475726174696f6e60206d616e7920626c6f636b732e20416c736f20696e6372656d656e7473207265776172647320666f722074686578636f6c6c61746f7220616e642074686569722064656c656761746f72732e00d4496e6372656d656e74732072657761726473206f662063616e64696461746520616e642074686569722064656c656761746f72732e0064456d697473206043616e64696461746552656d6f766564602e3c6a6f696e5f63616e646964617465730401147374616b6518013042616c616e63654f663c543e000644904a6f696e2074686520736574206f6620636f6c6c61746f722063616e646964617465732e00f8496e20746865206e65787420626c6f636b732c2069662074686520636f6c6c61746f722063616e6469646174652068617320656e6f7567682066756e6473fc7374616b656420746f20626520696e636c7564656420696e20616e79206f662074686520746f7020604d617853656c656374656443616e64696461746573600d01706f736974696f6e732c2069742077696c6c20626520696e636c7564656420696e2074686520736574206f6620706f74656e7469616c20617574686f72732074686174050177696c6c2062652073656c656374656420627920746865207374616b652d77656967687465642072616e646f6d2073656c656374696f6e2066756e6374696f6e2e00fc546865207374616b65642066756e6473206f6620746865206e657720636f6c6c61746f722063616e6469646174652061726520616464656420746f2074686568746f74616c207374616b65206f66207468652073797374656d2e00110154686520746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e2074686520616c6c6f7765642072616e67652061738873657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e00f0546865206469737061746368206f726967696e206d757374206e6f7420626520616c72656164792070617274206f662074686520636f6c6c61746f729463616e64696461746573206e6f72206f66207468652064656c656761746f7273207365742e0084456d69747320604a6f696e6564436f6c6c61746f7243616e64696461746573602e54696e69745f6c656176655f63616e6469646174657300076cc05265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e0005014f6e20737563636573732c20746865206163636f756e7420697320696d6d6564696174656c792072656d6f7665642066726f6d207468652063616e6469646174651101706f6f6c20746f2070726576656e742073656c656374696f6e206173206120636f6c6c61746f7220696e206675747572652076616c69646174696f6e20726f756e64732cd862757420756e7374616b696e67206f66207468652066756e6473206973206578656375746564207769746820612064656c6179206f665c605374616b654475726174696f6e6020626c6f636b732e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00f454686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e204974206973110175706461746564206576656e2074686f756768207468652066756e6473206f66207468652063616e6469646174652077686f207369676e616c656420746f206c65617665fc617265207374696c6c206c6f636b656420666f7220604578697444656c617960202b20605374616b654475726174696f6e60206d6f726520626c6f636b732e000d014e4f544520313a2055706f6e207374617274696e672061206e65772073657373696f6e5f6920696e20606e65775f73657373696f6e602c207468652063757272656e741101746f702063616e64696461746573206172652073656c656374656420746f20626520626c6f636b20617574686f727320666f722073657373696f6e5f692b312e20416e7905016368616e67657320746f2074686520746f702063616e64696461746573206166746572776172647320646f206e6f74206566666563742074686520736574206f6660617574686f727320666f722073657373696f6e5f692b312ed8546875732c207765206861766520746f206d616b652073757265206e6f6e65206f6620746865736520636f6c6c61746f72732063616ebc6c65617665206265666f72652073657373696f6e5f692b3120656e64732062792064656c6179696e67207468656972846578697420666f7220604578697444656c617960206d616e7920626c6f636b732e00f04e4f544520323a20576520646f206e6f7420696e6372656d656e74207265776172647320696e20746869732065787472696e73696320617320746865110163616e64696461746520636f756c64207374696c6c20617574686f7220626c6f636b732c20616e64207468757320626520656c696769626c6520746f2072656365697665ac726577617264732c20756e74696c2074686520656e64206f6620746865206e6578742073657373696f6e2e0078456d6974732060436f6c6c61746f725363686564756c656445786974602e60657865637574655f6c656176655f63616e64696461746573040120636f6c6c61746f72e902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500084405014578656375746520746865206e6574776f726b2065786974206f6620612063616e6469646174652077686f2072657175657374656420746f206c65617665206174f06c65617374206045786974517565756544656c61796020726f756e64732061676f2e20507265706172657320756e7374616b696e67206f6620746865fc63616e6469646174657320616e642074686569722064656c656761746f7273207374616b652077686963682063616e20626520756e6c6f636b656420766961f460756e6c6f636b5f756e7374616b6564602061667465722077616974696e67206174206c6561737420605374616b654475726174696f6e60206d616e791c626c6f636b732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e00ac546865206578697420726571756573742063616e2062652072657665727365642062792063616c6c696e67686063616e63656c5f6c656176655f63616e64696461746573602e00fc4e4f54453a204974657261746573206f7665722043616e646964617465506f6f6c20666f7220656163682063616e646964617465206f766572207468656972fc64656c656761746f727320746f2073657420726577617264732e204e6565647320746f20626520696d70726f766564207768656e207363616c696e672075704c604d6178546f7043616e64696461746573602e0054456d6974732060436f6c6c61746f724c656674602e5c63616e63656c5f6c656176655f63616e646964617465730009200501526576657274207468652070726576696f75736c79207265717565737465642065786974206f6620746865206e6574776f726b206f66206120636f6c6c61746f720d0163616e6469646174652e204f6e20737563636573732c2061646473206261636b207468652063616e64696461746520746f2074686520546f7043616e6469646174657368616e6420757064617465732074686520636f6c6c61746f72732e00c05265717569726573207468652063616e64696461746520746f2070726576696f75736c7920686176652063616c6c65646060696e69745f6c656176655f63616e64696461746573602e0074456d6974732060436f6c6c61746f7243616e63656c656445786974602e5063616e6469646174655f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000a30a85374616b65206d6f72652066756e647320666f72206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686505016163636f756e7420746f20626520616464656420746f2069742e20546865206c617267657220616d6f756e74206f662066756e64732c2074686520686967686572dc6368616e63657320746f2062652073656c65637465642061732074686520617574686f72206f6620746865206e65787420626c6f636b2e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644d6f7265602e5063616e6469646174655f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000b3ca85374616b65206c6573732066756e647320666f72206120636f6c6c61746f722063616e6469646174652e000501496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c20746865206163636f756e74fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00dc54686973206f7065726174696f6e2061666665637473207468652070616c6c6574277320746f74616c207374616b6520616d6f756e742e000d0154686520756e7374616b65642066756e647320617265206e6f742072656c656173656420696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e006c456d6974732060436f6c6c61746f725374616b65644c657373602e3c6a6f696e5f64656c656761746f7273080120636f6c6c61746f72e902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000118616d6f756e7418013042616c616e63654f663c543e000c5805014a6f696e2074686520736574206f662064656c656761746f72732062792064656c65676174696e6720746f206120636f6c6c61746f722063616e6469646174652e000501546865206163636f756e7420746861742077616e747320746f2064656c65676174652063616e6e6f742062652070617274206f662074686520636f6c6c61746f725c63616e64696461746573207365742061732077656c6c2e0009015468652063616c6c6572206d757374205f6e6f745f206861766520612064656c65676174696f6e2e20496620746861742069732074686520636173652c2074686579b061726520726571756972656420746f2066697273742072656d6f7665207468652064656c65676174696f6e2e00110154686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206d696e696d756d20726571756972656420746f206265636f6d65c4612064656c656761746f722061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0009014173206f6e6c7920604d617844656c656761746f7273506572436f6c6c61746f72602061726520616c6c6f77656420746f2064656c6567617465206120676976656e0501636f6c6c61746f722c2074686520616d6f756e74207374616b6564206d757374206265206c6172676572207468616e20746865206c6f77657374206f6e6520696e01017468652063757272656e7420736574206f662064656c656761746f7220666f7220746865206f7065726174696f6e20746f206265206d65616e696e6766756c2e00090154686520636f6c6c61746f72277320746f74616c207374616b652061732077656c6c206173207468652070616c6c6574277320746f74616c207374616b652061726558696e63726561736564206163636f7264696e676c792e004c456d697473206044656c65676174696f6e602ebc456d697473206044656c65676174696f6e5265706c6163656460206966207468652063616e64696461746520686173f8604d617844656c656761746f7273506572436f6c6c61746f7260206d616e792064656c65676174696f6e732062757420746869732064656c656761746f72fc7374616b6564206d6f7265207468616e206f6e65206f6620746865206f746865722064656c656761746f7273206f6620746869732063616e6469646174652e406c656176655f64656c656761746f7273000d400d014c656176652074686520736574206f662064656c656761746f727320616e642c20627920696d706c69636174696f6e2c207265766f6b6520746865206f6e676f696e672c64656c65676174696f6e2e001101416c6c207374616b65642066756e647320617265206e6f7420756e6c6f636b656420696d6d6564696174656c792c2062757420746865792061726520616464656420746f0101746865207175657565206f662070656e64696e6720756e7374616b696e672c20616e642077696c6c206566666563746976656c792062652072656c65617365640901616674657220605374616b654475726174696f6e6020626c6f636b732066726f6d20746865206d6f6d656e74207468652064656c656761746f72206c65617665732e000d0154686973206f7065726174696f6e20726564756365732074686520746f74616c207374616b65206f66207468652070616c6c65742061732077656c6c2061732074686509017374616b6573206f6620616c6c20636f6c6c61746f7273207468617420776572652064656c6567617465642c20706f74656e7469616c6c7920616666656374696e6705017468656972206368616e63657320746f20626520696e636c7564656420696e2074686520736574206f662063616e6469646174657320696e20746865206e6578741c726f756e64732e0005014175746f6d61746963616c6c7920696e6372656d656e74732074686520616363756d756c617465642072657761726473206f6620746865206f726967696e206f665c7468652063757272656e742064656c65676174696f6e2e0058456d697473206044656c656761746f724c656674602e5064656c656761746f725f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000e18dc496e63726561736520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e0001014966206e6f7420696e2074686520736574206f662063616e646964617465732c207374616b696e6720656e6f7567682066756e647320616c6c6f77732074686594636f6c6c61746f722063616e64696461746520746f20626520616464656420746f2069742e0070456d697473206044656c656761746f725374616b65644d6f7265602e5064656c656761746f725f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000f40d452656475636520746865207374616b6520666f722064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e000901496620746865206e657720616d6f756e74206f66207374616b65642066756e64206973206e6f74206c6172676520656e6f7567682c2074686520636f6c6c61746f72fc636f756c642062652072656d6f7665642066726f6d2074686520736574206f6620636f6c6c61746f722063616e6469646174657320616e64206e6f74206265a4636f6e7369646572656420666f7220617574686f72696e6720746865206e65787420626c6f636b732e00090154686520756e7374616b65642066756e647320617265206e6f742072656c6561736520696d6d6564696174656c7920746f20746865206163636f756e742c20627574d0746865792077696c6c20626520617661696c61626c6520616674657220605374616b654475726174696f6e6020626c6f636b732e0001015468652072656d61696e696e67207374616b65642066756e6473206d757374207374696c6c206265206c6172676572207468616e20746865206d696e696d756df0726571756972656420627920746869732070616c6c657420746f206d61696e7461696e2074686520737461747573206f662064656c656761746f722e00f454686520726573756c74696e6720746f74616c20616d6f756e74206f662066756e6473207374616b6564206d7573742062652077697468696e20746865cc616c6c6f7765642072616e67652061732073657420696e207468652070616c6c6574277320636f6e66696775726174696f6e2e0070456d697473206044656c656761746f725374616b65644c657373602e3c756e6c6f636b5f756e7374616b6564040118746172676574e902018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365001028f4556e6c6f636b20616c6c2070726576696f75736c79207374616b65642066756e6473207468617420617265206e6f7720617661696c61626c6520666f720501756e6c6f636b696e6720627920746865206f726967696e206163636f756e7420616674657220605374616b654475726174696f6e6020626c6f636b73206861766520656c61707365642e00fc5765696768743a204f285529207768657265205520697320746865206e756d626572206f66206c6f636b656420756e7374616b696e6720726571756573747380626f756e64656420627920604d6178556e7374616b655265717565737473602eac2d2052656164733a205b4f726967696e204163636f756e745d2c20556e7374616b696e672c204c6f636b73682d205772697465733a20556e7374616b696e672c204c6f636b73e82d204b696c6c733a20556e7374616b696e672026204c6f636b73206966206e6f2062616c616e6365206973206c6f636b656420616e796d6f72652c23203c2f7765696768743e34636c61696d5f7265776172647300113cd4436c61696d20626c6f636b20617574686f72696e67207265776172647320666f72207468652074617267657420616464726573732e00090152657175697265732060526577617264736020746f20626520736574206265666f726568616e642c2077686963682063616e2062792074726967676572656420627970616e79206f662074686520666f6c6c6f77696e67206f7074696f6e73e82a2043616c6c696e6720696e6372656d656e745f7b636f6c6c61746f722c2064656c656761746f727d5f72657761726473202861637469766529782a20416c746572696e6720796f7572207374616b65202861637469766529b02a204c656176696e6720746865206e6574776f726b206173206120636f6c6c61746f72202861637469766529bc2a205265766f6b696e6720612064656c65676174696f6e20617320612064656c656761746f7220286163746976652909012a204265696e6720612064656c656761746f722077686f736520636f6c6c61746f72206c65667420746865206e6574776f726b2c20616c7465726564207468656972a020207374616b65206f7220696e6372656d656e746564207265776172647320287061737369766529000501546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652c20652e672e2c20616e796f6e652063616e20636c61696d2c666f7220616e796f6e652e0044456d69747320605265776172646564602e68696e6372656d656e745f636f6c6c61746f725f72657761726473001218b44163746976656c7920696e6372656d656e74207468652072657761726473206f66206120636f6c6c61746f722e0005015468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72206c656176696e6720746865206e6574776f726b2e009c546865206469737061746368206f726967696e206d757374206265206120636f6c6c61746f722e6c696e6372656d656e745f64656c656761746f725f72657761726473001318b84163746976656c7920696e6372656d656e74207468652072657761726473206f6620612064656c656761746f722e00f85468652073616d652065666665637420697320747269676765726564206279206368616e67696e6720746865207374616b65206f72207265766f6b696e673064656c65676174696f6e732e00a0546865206469737061746368206f726967696e206d75737420626520612064656c656761746f722e7c657865637574655f7363686564756c65645f7265776172645f6368616e67650014280d0145786563757465732074686520616e6e75616c20726564756374696f6e206f66207468652072657761726420726174657320666f7220636f6c6c61746f727320616e642c64656c656761746f72732e00dc4d6f72656f7665722c2073657473207265776172647320666f7220616c6c20636f6c6c61746f727320616e642064656c656761746f72737c6265666f72652061646a757374696e672074686520696e666c6174696f6e2e000d01546865206469737061746368206f726967696e2063616e20626520616e79207369676e6564206f6e652062656361757365207765206261696c2069662063616c6c656428746f6f206561726c792e0068456d6974732060526f756e64496e666c6174696f6e536574602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ea5030c4470617261636861696e5f7374616b696e671870616c6c6574144572726f7204045400017c4444656c656761746f724e6f74466f756e64000004b8546865206163636f756e74206973206e6f742070617274206f66207468652064656c656761746f7273207365742e4443616e6469646174654e6f74466f756e64000104dc546865206163636f756e74206973206e6f742070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3c44656c656761746f72457869737473000204c8546865206163636f756e7420697320616c72656164792070617274206f66207468652064656c656761746f7273207365742e3c43616e646964617465457869737473000304ec546865206163636f756e7420697320616c72656164792070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3056616c5374616b655a65726f000404e4546865206163636f756e7420747269656420746f207374616b65206d6f7265206f72206c657373207769746820616d6f756e74207a65726f2e4056616c5374616b6542656c6f774d696e0005080d01546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f20626520616464656420746f2074686520636f6c6c61746f723c63616e64696461746573207365742e4056616c5374616b6541626f76654d61780006041101546865206163636f756e742068617320616c7265616479207374616b656420746865206d6178696d756d20616d6f756e74206f662066756e647320706f737369626c652e4844656c65676174696f6e42656c6f774d696e000708f8546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f2064656c6567617465206120636f6c6c61746f722863616e6469646174652e38416c72656164794c656176696e670008080d0154686520636f6c6c61746f722063616e6469646174652068617320616c72656164792074726967676572207468652070726f6365737320746f206c65617665207468656c736574206f6620636f6c6c61746f722063616e646964617465732e284e6f744c656176696e67000908f454686520636f6c6c61746f722063616e6469646174652077616e74656420746f20657865637574652074686520657869742062757420686173206e6f74f472657175657374656420746f206c65617665206265666f72652062792063616c6c696e672060696e69745f6c656176655f63616e64696461746573602e3843616e6e6f744c65617665596574000a08dc54686520636f6c6c61746f7220747269656420746f206c65617665206265666f72652077616974696e67206174206c6561737420666f72746045786974517565756544656c617960206d616e7920726f756e64732e6443616e6e6f744a6f696e4265666f7265556e6c6f636b696e67000b10f8546865206163636f756e742068617320612066756c6c206c697374206f6620756e7374616b696e6720726571756573747320616e64206e6565647320746ffc756e6c6f636b206174206c65617374206f6e65206f66207468657365206265666f7265206265696e672061626c6520746f206a6f696e2028616761696e292edc4e4f54453a2043616e206f6e6c792068617070656e20696620746865206163636f756e742077617320612063616e646964617465206f72f464656c656761746f72206265666f726520616e642065697468657220676f74206b69636b6564206f722065786974656420766f6c756e746172696c792e44416c726561647944656c65676174696e67000c04e4546865206163636f756e7420697320616c72656164792064656c65676174696e672074686520636f6c6c61746f722063616e6469646174652e404e6f7459657444656c65676174696e67000d080901546865206163636f756e7420686173206e6f742064656c65676174656420616e7920636f6c6c61746f722063616e646964617465207965742c2068656e6365206974806973206e6f7420696e2074686520736574206f662064656c656761746f72732e6c44656c65676174696f6e73506572526f756e644578636565646564000e1811015468652064656c656761746f722068617320657863656564656420746865206e756d626572206f662064656c65676174696f6e732070657220726f756e6420776869636894697320657175616c20746f204d617844656c656761746f7273506572436f6c6c61746f722e000901546869732070726f746563747320616761696e73742061747461636b7320696e20776869636820612064656c656761746f722063616e2072652d64656c6567617465010166726f6d206120636f6c6c61746f722077686f2068617320616c726561647920617574686f726564206120626c6f636b2c20746f20616e6f74686572206f6e6570776869636820686173206e6f7420696e207468697320726f756e642e44546f6f4d616e7944656c656761746f7273000f14010154686520636f6c6c61746f722063616e6469646174652068617320616c7265616479207265616368656420746865206d6178696d756d206e756d626572206f662c64656c656761746f72732e00050154686973206572726f722069732067656e65726174656420696e20636173652061206e65772064656c65676174696f6e207265717565737420646f6573206e6f74f47374616b6520656e6f7567682066756e647320746f207265706c61636520736f6d65206f74686572206578697374696e672064656c65676174696f6e2e60546f6f466577436f6c6c61746f7243616e64696461746573001008110154686520736574206f6620636f6c6c61746f722063616e6469646174657320776f756c642066616c6c2062656c6f7720746865207265717569726564206d696e696d756d5469662074686520636f6c6c61746f72206c6566742e5043616e6e6f745374616b6549664c656176696e67001108f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66010163616e6469646174657320616e642063616e6e6f7420706572666f726d20616e79206f7468657220616374696f6e7320696e20746865206d65616e74696d652e5c43616e6e6f7444656c656761746549664c656176696e67001208f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66ac63616e6469646174657320616e6420746875732063616e6e6f742062652064656c65676174656420746f2e804d6178436f6c6c61746f727350657244656c656761746f72457863656564656400130811015468652064656c656761746f722068617320616c72656164792064656c65676174656420746865206d6178696d756d206e756d626572206f662063616e6469646174657320616c6c6f7765642e60416c726561647944656c656761746564436f6c6c61746f72001408ec5468652064656c656761746f722068617320616c72656164792070726576696f75736c792064656c6567617465642074686520636f6c6c61746f722863616e6469646174652e4844656c65676174696f6e4e6f74466f756e64001504f854686520676976656e2064656c65676174696f6e20646f6573206e6f7420657869737420696e2074686520736574206f662064656c65676174696f6e732e24556e646572666c6f77001608050154686520636f6c6c61746f722064656c6567617465206f72207468652064656c656761746f7220697320747279696e6720746f20756e2d7374616b65206d6f72658066756e64732074686174206172652063757272656e746c79207374616b65642e4443616e6e6f7453657441626f76654d6178001708d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738061626f766520746865206d6178696d756d2076616c756520616c6c6f7765642e4443616e6e6f7453657442656c6f774d696e001808d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738062656c6f7720746865206d696e696d756d2076616c756520616c6c6f7765642e3c496e76616c69645363686564756c65001904dc416e20696e76616c696420696e666c6174696f6e20636f6e66696775726174696f6e20697320747279696e6720746f206265207365742e3c4e6f4d6f7265556e7374616b696e67001a08c4546865207374616b696e6720726577617264206265696e6720756e6c6f636b656420646f6573206e6f742065786973742e7c4d617820756e6c6f636b696e6720726571756573747320726561636865642e20546f6f4561726c79001b0801015468652072657761726420726174652063616e6e6f742062652061646a75737465642079657420617320616e20656e74697265207965617220686173206e6f741c7061737365642e345374616b654e6f74466f756e64001c04d850726f7669646564207374616b65642076616c7565206973207a65726f2e2053686f756c64206e65766572206265207468726f776e2e40556e7374616b696e674973456d707479001d049443616e6e6f7420756e6c6f636b207768656e20556e7374616b656420697320656d7074792e3c526577617264734e6f74466f756e64001e047843616e6e6f7420636c61696d207265776172647320696620656d7074792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909a9030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401ad03045300000400790501185665633c543e0000ad030000040c1cb1030000b10310346672616d655f737570706f72741874726169747324707265696d616765731c426f756e64656404045401b503010c184c6567616379040110686173682c01104861736800000018496e6c696e65040091010134426f756e646564496e6c696e65000100184c6f6f6b7570080110686173682c01104861736800010c6c656e1c010c75333200020000b50308447370697269746e65745f72756e74696d652c52756e74696d6543616c6c0001781853797374656d04009d0201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0000002454696d657374616d700400dd0201b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0002001c496e64696365730400e50201b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e0005002042616c616e6365730400110301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e0006001c53657373696f6e0400510301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0016004050617261636861696e5374616b696e670400a10301d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e5374616b696e672c2052756e74696d653e0015002444656d6f63726163790400b90301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e001e001c436f756e63696c0400c90301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e001f0048546563686e6963616c436f6d6d69747465650400d90301dd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c436f6d6d69747465652c2052756e74696d653e0020004c546563686e6963616c4d656d626572736869700400dd0301e10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c4d656d626572736869702c2052756e74696d653e0022002054726561737572790400e10301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e0023001c5574696c6974790400e50301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0028001c56657374696e6704000d0401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e002900245363686564756c65720400150401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e002a001450726f787904001d0401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002b0020507265696d6167650400250401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e002c0038546970734d656d626572736869700400290401cd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970734d656d626572736869702c2052756e74696d653e002d00105469707304002d0401a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970732c2052756e74696d653e002e00204d756c74697369670400310401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d756c74697369672c2052756e74696d653e002f001443747970650400390401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c43747970652c2052756e74696d653e003d002c4174746573746174696f6e04003d0401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4174746573746174696f6e2c2052756e74696d653e003e002844656c65676174696f6e0400510401bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656c65676174696f6e2c2052756e74696d653e003f000c44696404006d0401a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469642c2052756e74696d653e004000244469644c6f6f6b75700400c50401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469644c6f6f6b75702c2052756e74696d653e00430024576562334e616d65730400d50401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c576562334e616d65732c2052756e74696d653e004400445075626c696343726564656e7469616c730400d90401d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5075626c696343726564656e7469616c732c2052756e74696d653e0045003c50617261636861696e53797374656d0400e90401d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e0050002458636d70517565756504001d0501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c58636d7051756575652c2052756e74696d653e0052002c506f6c6b61646f7458636d0400210501c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506f6c6b61646f7458636d2c2052756e74696d653e00530020446d7051756575650400750501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c446d7051756575652c2052756e74696d653e00550000b9030c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c04045400014c1c70726f706f736508012070726f706f73616cb1030140426f756e64656443616c6c4f663c543e00011476616c7565cd01013042616c616e63654f663c543e0000249c50726f706f736520612073656e73697469766520616374696f6e20746f2062652074616b656e2e001501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737480686176652066756e647320746f20636f76657220746865206465706f7369742e00d42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20707265696d6167652e15012d206076616c7565603a2054686520616d6f756e74206f66206465706f73697420286d757374206265206174206c6561737420604d696e696d756d4465706f73697460292e0044456d697473206050726f706f736564602e187365636f6e6404012070726f706f73616cc101012450726f70496e646578000118b45369676e616c732061677265656d656e742077697468206120706172746963756c61722070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e64657211016d75737420686176652066756e647320746f20636f76657220746865206465706f7369742c20657175616c20746f20746865206f726967696e616c206465706f7369742e00c82d206070726f706f73616c603a2054686520696e646578206f66207468652070726f706f73616c20746f207365636f6e642e10766f74650801247265665f696e646578c101013c5265666572656e64756d496e646578000110766f74659801644163636f756e74566f74653c42616c616e63654f663c543e3e00021c3101566f746520696e2061207265666572656e64756d2e2049662060766f74652e69735f6179652829602c2074686520766f746520697320746f20656e616374207468652070726f706f73616c3bb86f7468657277697365206974206973206120766f746520746f206b65657020746865207374617475732071756f2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00dc2d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f20766f746520666f722e842d2060766f7465603a2054686520766f746520636f6e66696775726174696f6e2e40656d657267656e63795f63616e63656c0401247265665f696e6465781c013c5265666572656e64756d496e6465780003204d015363686564756c6520616e20656d657267656e63792063616e63656c6c6174696f6e206f662061207265666572656e64756d2e2043616e6e6f742068617070656e20747769636520746f207468652073616d652c7265666572656e64756d2e00f8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c6c6174696f6e4f726967696e602e00d02d607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e003c5765696768743a20604f283129602e4065787465726e616c5f70726f706f736504012070726f706f73616cb1030140426f756e64656443616c6c4f663c543e0004182d015363686564756c652061207265666572656e64756d20746f206265207461626c6564206f6e6365206974206973206c6567616c20746f207363686564756c6520616e2065787465726e616c2c7265666572656e64756d2e00e8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206045787465726e616c4f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e6465787465726e616c5f70726f706f73655f6d616a6f7269747904012070726f706f73616cb1030140426f756e64656443616c6c4f663c543e00052c55015363686564756c652061206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f207363686564756c655c616e2065787465726e616c207265666572656e64756d2e00ec546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c4d616a6f726974794f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f283129606065787465726e616c5f70726f706f73655f64656661756c7404012070726f706f73616cb1030140426f756e64656443616c6c4f663c543e00062c45015363686564756c652061206e656761746976652d7475726e6f75742d62696173207265666572656e64756d20746f206265207461626c6564206e657874206f6e6365206974206973206c6567616c20746f807363686564756c6520616e2065787465726e616c207265666572656e64756d2e00e8546865206469737061746368206f6620746869732063616c6c206d757374206265206045787465726e616c44656661756c744f726967696e602e00d42d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c2e004901556e6c696b65206065787465726e616c5f70726f706f7365602c20626c61636b6c697374696e6720686173206e6f20656666656374206f6e207468697320616e64206974206d6179207265706c6163652061987072652d7363686564756c6564206065787465726e616c5f70726f706f7365602063616c6c2e00385765696768743a20604f2831296028666173745f747261636b0c013470726f706f73616c5f686173682c011048323536000134766f74696e675f706572696f64100138543a3a426c6f636b4e756d62657200011464656c6179100138543a3a426c6f636b4e756d6265720007404d015363686564756c65207468652063757272656e746c792065787465726e616c6c792d70726f706f736564206d616a6f726974792d63617272696573207265666572656e64756d20746f206265207461626c65646101696d6d6564696174656c792e204966207468657265206973206e6f2065787465726e616c6c792d70726f706f736564207265666572656e64756d2063757272656e746c792c206f72206966207468657265206973206f6e65e8627574206974206973206e6f742061206d616a6f726974792d63617272696573207265666572656e64756d207468656e206974206661696c732e00d0546865206469737061746368206f6620746869732063616c6c206d757374206265206046617374547261636b4f726967696e602e00f42d206070726f706f73616c5f68617368603a205468652068617368206f66207468652063757272656e742065787465726e616c2070726f706f73616c2e5d012d2060766f74696e675f706572696f64603a2054686520706572696f64207468617420697320616c6c6f77656420666f7220766f74696e67206f6e20746869732070726f706f73616c2e20496e6372656173656420746f88094d75737420626520616c776179732067726561746572207468616e207a65726f2e350109466f72206046617374547261636b4f726967696e60206d75737420626520657175616c206f722067726561746572207468616e206046617374547261636b566f74696e67506572696f64602e51012d206064656c6179603a20546865206e756d626572206f6620626c6f636b20616674657220766f74696e672068617320656e64656420696e20617070726f76616c20616e6420746869732073686f756c64206265b82020656e61637465642e205468697320646f65736e277420686176652061206d696e696d756d20616d6f756e742e0040456d697473206053746172746564602e00385765696768743a20604f28312960347665746f5f65787465726e616c04013470726f706f73616c5f686173682c011048323536000824b85665746f20616e6420626c61636b6c697374207468652065787465726e616c2070726f706f73616c20686173682e00d8546865206469737061746368206f726967696e206f6620746869732063616c6c206d75737420626520605665746f4f726967696e602e002d012d206070726f706f73616c5f68617368603a2054686520707265696d6167652068617368206f66207468652070726f706f73616c20746f207665746f20616e6420626c61636b6c6973742e003c456d69747320605665746f6564602e00fc5765696768743a20604f2856202b206c6f6728562929602077686572652056206973206e756d626572206f6620606578697374696e67207665746f657273604463616e63656c5f7265666572656e64756d0401247265665f696e646578c101013c5265666572656e64756d496e64657800091c5052656d6f76652061207265666572656e64756d2e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e00d42d20607265665f696e646578603a2054686520696e646578206f6620746865207265666572656e64756d20746f2063616e63656c2e004423205765696768743a20604f283129602e2064656c65676174650c0108746fe90201504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6ebd030128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000a50390144656c65676174652074686520766f74696e6720706f77657220287769746820736f6d6520676976656e20636f6e76696374696f6e29206f66207468652073656e64696e67206163636f756e742e0055015468652062616c616e63652064656c656761746564206973206c6f636b656420666f72206173206c6f6e6720617320697427732064656c6567617465642c20616e64207468657265616674657220666f7220746865c874696d6520617070726f70726961746520666f722074686520636f6e76696374696f6e2773206c6f636b20706572696f642e005d01546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e696e67206163636f756e74206d757374206569746865723a7420202d2062652064656c65676174696e6720616c72656164793b206f72590120202d2068617665206e6f20766f74696e67206163746976697479202869662074686572652069732c207468656e2069742077696c6c206e65656420746f2062652072656d6f7665642f636f6e736f6c69646174656494202020207468726f7567682060726561705f766f746560206f722060756e766f746560292e0045012d2060746f603a20546865206163636f756e742077686f736520766f74696e6720746865206074617267657460206163636f756e74277320766f74696e6720706f7765722077696c6c20666f6c6c6f772e55012d2060636f6e76696374696f6e603a2054686520636f6e76696374696f6e20746861742077696c6c20626520617474616368656420746f207468652064656c65676174656420766f7465732e205768656e20746865410120206163636f756e7420697320756e64656c6567617465642c207468652066756e64732077696c6c206265206c6f636b656420666f722074686520636f72726573706f6e64696e6720706572696f642e61012d206062616c616e6365603a2054686520616d6f756e74206f6620746865206163636f756e7427732062616c616e636520746f206265207573656420696e2064656c65676174696e672e2054686973206d757374206e6f74b420206265206d6f7265207468616e20746865206163636f756e7427732063757272656e742062616c616e63652e0048456d697473206044656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e28756e64656c6567617465000b30cc556e64656c65676174652074686520766f74696e6720706f776572206f66207468652073656e64696e67206163636f756e742e005d01546f6b656e73206d617920626520756e6c6f636b656420666f6c6c6f77696e67206f6e636520616e20616d6f756e74206f662074696d6520636f6e73697374656e74207769746820746865206c6f636b20706572696f64dc6f662074686520636f6e76696374696f6e2077697468207768696368207468652064656c65676174696f6e20776173206973737565642e004501546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062655463757272656e746c792064656c65676174696e672e0050456d6974732060556e64656c656761746564602e003d015765696768743a20604f28522960207768657265205220697320746865206e756d626572206f66207265666572656e64756d732074686520766f7465722064656c65676174696e6720746f20686173c82020766f746564206f6e2e205765696768742069732063686172676564206173206966206d6178696d756d20766f7465732e58636c6561725f7075626c69635f70726f706f73616c73000c1470436c6561727320616c6c207075626c69632070726f706f73616c732e00c0546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f526f6f745f2e003c5765696768743a20604f283129602e18756e6c6f636b040118746172676574e90201504163636f756e7449644c6f6f6b75704f663c543e000d1ca0556e6c6f636b20746f6b656e732074686174206861766520616e2065787069726564206c6f636b2e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e00b82d2060746172676574603a20546865206163636f756e7420746f2072656d6f766520746865206c6f636b206f6e2e00bc5765696768743a20604f2852296020776974682052206e756d626572206f6620766f7465206f66207461726765742e2c72656d6f76655f766f7465040114696e6465781c013c5265666572656e64756d496e646578000e6c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e000c49663a882d20746865207265666572656e64756d207761732063616e63656c6c65642c206f727c2d20746865207265666572656e64756d206973206f6e676f696e672c206f72902d20746865207265666572656e64756d2068617320656e64656420737563682074686174fc20202d2074686520766f7465206f6620746865206163636f756e742077617320696e206f70706f736974696f6e20746f2074686520726573756c743b206f72d420202d20746865726520776173206e6f20636f6e76696374696f6e20746f20746865206163636f756e74277320766f74653b206f728420202d20746865206163636f756e74206d61646520612073706c697420766f74655d012e2e2e7468656e2074686520766f74652069732072656d6f76656420636c65616e6c7920616e64206120666f6c6c6f77696e672063616c6c20746f2060756e6c6f636b60206d617920726573756c7420696e206d6f72655866756e6473206265696e6720617661696c61626c652e00a849662c20686f77657665722c20746865207265666572656e64756d2068617320656e64656420616e643aec2d2069742066696e697368656420636f72726573706f6e64696e6720746f2074686520766f7465206f6620746865206163636f756e742c20616e64dc2d20746865206163636f756e74206d6164652061207374616e6461726420766f7465207769746820636f6e76696374696f6e2c20616e64bc2d20746865206c6f636b20706572696f64206f662074686520636f6e76696374696f6e206973206e6f74206f76657259012e2e2e7468656e20746865206c6f636b2077696c6c206265206167677265676174656420696e746f20746865206f766572616c6c206163636f756e742773206c6f636b2c207768696368206d617920696e766f6c766559012a6f7665726c6f636b696e672a20287768657265207468652074776f206c6f636b732061726520636f6d62696e656420696e746f20612073696e676c65206c6f636b207468617420697320746865206d6178696d756de46f6620626f74682074686520616d6f756e74206c6f636b656420616e64207468652074696d65206973206974206c6f636b656420666f72292e004901546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2c20616e6420746865207369676e6572206d7573742068617665206120766f7465887265676973746572656420666f72207265666572656e64756d2060696e646578602e00f42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e4472656d6f76655f6f746865725f766f7465080118746172676574e90201504163636f756e7449644c6f6f6b75704f663c543e000114696e6465781c013c5265666572656e64756d496e646578000f3c7c52656d6f7665206120766f746520666f722061207265666572656e64756d2e004d0149662074686520607461726765746020697320657175616c20746f20746865207369676e65722c207468656e20746869732066756e6374696f6e2069732065786163746c79206571756976616c656e7420746f2d016072656d6f76655f766f7465602e204966206e6f7420657175616c20746f20746865207369676e65722c207468656e2074686520766f7465206d757374206861766520657870697265642c5501656974686572206265636175736520746865207265666572656e64756d207761732063616e63656c6c65642c20626563617573652074686520766f746572206c6f737420746865207265666572656e64756d206f7298626563617573652074686520636f6e76696374696f6e20706572696f64206973206f7665722e00c8546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265205f5369676e65645f2e004d012d2060746172676574603a20546865206163636f756e74206f662074686520766f746520746f2062652072656d6f7665643b2074686973206163636f756e74206d757374206861766520766f74656420666f725420207265666572656e64756d2060696e646578602ef42d2060696e646578603a2054686520696e646578206f66207265666572656e64756d206f662074686520766f746520746f2062652072656d6f7665642e0055015765696768743a20604f2852202b206c6f6720522960207768657265205220697320746865206e756d626572206f66207265666572656e646120746861742060746172676574602068617320766f746564206f6e2ed820205765696768742069732063616c63756c6174656420666f7220746865206d6178696d756d206e756d626572206f6620766f74652e24626c61636b6c69737408013470726f706f73616c5f686173682c01104832353600013c6d617962655f7265665f696e646578c103015c4f7074696f6e3c5265666572656e64756d496e6465783e00103c45015065726d616e656e746c7920706c61636520612070726f706f73616c20696e746f2074686520626c61636b6c6973742e20546869732070726576656e74732069742066726f6d2065766572206265696e673c70726f706f73656420616761696e2e00510149662063616c6c6564206f6e206120717565756564207075626c6963206f722065787465726e616c2070726f706f73616c2c207468656e20746869732077696c6c20726573756c7420696e206974206265696e67510172656d6f7665642e2049662074686520607265665f696e6465786020737570706c69656420697320616e20616374697665207265666572656e64756d2077697468207468652070726f706f73616c20686173682c687468656e2069742077696c6c2062652063616e63656c6c65642e00ec546865206469737061746368206f726967696e206f6620746869732063616c6c206d7573742062652060426c61636b6c6973744f726967696e602e00f82d206070726f706f73616c5f68617368603a205468652070726f706f73616c206861736820746f20626c61636b6c697374207065726d616e656e746c792e45012d20607265665f696e646578603a20416e206f6e676f696e67207265666572656e64756d2077686f73652068617368206973206070726f706f73616c5f68617368602c2077686963682077696c6c2062652863616e63656c6c65642e0041015765696768743a20604f28702960202874686f756768206173207468697320697320616e20686967682d70726976696c6567652064697370617463682c20776520617373756d65206974206861732061502020726561736f6e61626c652076616c7565292e3c63616e63656c5f70726f706f73616c04012870726f705f696e646578c101012450726f70496e64657800111c4852656d6f766520612070726f706f73616c2e000101546865206469737061746368206f726967696e206f6620746869732063616c6c206d757374206265206043616e63656c50726f706f73616c4f726967696e602e00d02d206070726f705f696e646578603a2054686520696e646578206f66207468652070726f706f73616c20746f2063616e63656c2e00e45765696768743a20604f28702960207768657265206070203d205075626c696350726f70733a3a3c543e3a3a6465636f64655f6c656e282960307365745f6d657461646174610801146f776e6572a001344d657461646174614f776e65720001286d617962655f68617368c50301504f7074696f6e3c507265696d616765486173683e00123cd8536574206f7220636c6561722061206d65746164617461206f6620612070726f706f73616c206f722061207265666572656e64756d2e002c506172616d65746572733acc2d20606f726967696e603a204d75737420636f72726573706f6e6420746f2074686520604d657461646174614f776e6572602e3d01202020202d206045787465726e616c4f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053757065724d616a6f72697479417070726f766560402020202020207468726573686f6c642e5901202020202d206045787465726e616c44656661756c744f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053757065724d616a6f72697479416761696e737460402020202020207468726573686f6c642e4501202020202d206045787465726e616c4d616a6f726974794f726967696e6020666f7220616e2065787465726e616c2070726f706f73616c207769746820746865206053696d706c654d616a6f7269747960402020202020207468726573686f6c642ec8202020202d20605369676e65646020627920612063726561746f7220666f722061207075626c69632070726f706f73616c2ef4202020202d20605369676e65646020746f20636c6561722061206d6574616461746120666f7220612066696e6973686564207265666572656e64756d2ee4202020202d2060526f6f746020746f207365742061206d6574616461746120666f7220616e206f6e676f696e67207265666572656e64756d2eb42d20606f776e6572603a20616e206964656e746966696572206f662061206d65746164617461206f776e65722e51012d20606d617962655f68617368603a205468652068617368206f6620616e206f6e2d636861696e2073746f72656420707265696d6167652e20604e6f6e656020746f20636c6561722061206d657461646174612e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ebd030c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000c10304184f7074696f6e040454011c0108104e6f6e6500000010536f6d6504001c0000010000c50304184f7074696f6e040454012c0108104e6f6e6500000010536f6d6504002c0000010000c9030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273350301445665633c543a3a4163636f756e7449643e0001147072696d65cd0301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000060805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e00d4546865206469737061746368206f6620746869732063616c6c206d75737420626520605365744d656d626572734f726967696e602e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e0038232320436f6d706c65786974793a502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e646564291c6578656375746508012070726f706f73616cb503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64c101010c753332000124f0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e0038232320436f6d706c65786974793a5c2d20604f2842202b204d202b205029602077686572653ad82d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429882d20604d60206d656d626572732d636f756e742028636f64652d626f756e64656429a82d2060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c601c70726f706f73650c01247468726573686f6c64c101012c4d656d626572436f756e7400012070726f706f73616cb503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64c101010c753332000238f84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e0034232320436f6d706c6578697479ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602910766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800011c617070726f7665a80110626f6f6c000324f041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e34232320436f6d706c657869747909012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e6465642940636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64d10301244f6c645765696768740001306c656e6774685f626f756e64c101010c7533320004604d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e0034232320436f6d706c6578697479742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e646564294c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005285901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e0034232320436f6d706c6578697479ac4f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c7314636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64c101010c7533320006604d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e0034232320436f6d706c6578697479742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ecd0304184f7074696f6e04045401000108104e6f6e6500000010536f6d650400000000010000d103000006d50300d503082873705f77656967687473244f6c645765696768740000040010010c7536340000d9030c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c08045400044900011c2c7365745f6d656d626572730c012c6e65775f6d656d62657273350301445665633c543a3a4163636f756e7449643e0001147072696d65cd0301504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e741c012c4d656d626572436f756e74000060805365742074686520636f6c6c6563746976652773206d656d626572736869702e0045012d20606e65775f6d656d62657273603a20546865206e6577206d656d626572206c6973742e204265206e69636520746f2074686520636861696e20616e642070726f7669646520697420736f727465642ee02d20607072696d65603a20546865207072696d65206d656d6265722077686f736520766f74652073657473207468652064656661756c742e59012d20606f6c645f636f756e74603a2054686520757070657220626f756e6420666f72207468652070726576696f7573206e756d626572206f66206d656d6265727320696e2073746f726167652e205573656420666f7250202077656967687420657374696d6174696f6e2e00d4546865206469737061746368206f6620746869732063616c6c206d75737420626520605365744d656d626572734f726967696e602e0051014e4f54453a20446f6573206e6f7420656e666f7263652074686520657870656374656420604d61784d656d6265727360206c696d6974206f6e2074686520616d6f756e74206f66206d656d626572732c2062757421012020202020207468652077656967687420657374696d6174696f6e732072656c79206f6e20697420746f20657374696d61746520646973706174636861626c65207765696768742e002823205741524e494e473a005901546865206070616c6c65742d636f6c6c656374697665602063616e20616c736f206265206d616e61676564206279206c6f676963206f757473696465206f66207468652070616c6c6574207468726f75676820746865b8696d706c656d656e746174696f6e206f6620746865207472616974205b604368616e67654d656d62657273605d2e5501416e792063616c6c20746f20607365745f6d656d6265727360206d757374206265206361726566756c207468617420746865206d656d6265722073657420646f65736e277420676574206f7574206f662073796e63a477697468206f74686572206c6f676963206d616e6167696e6720746865206d656d626572207365742e0038232320436f6d706c65786974793a502d20604f284d50202b204e29602077686572653ae020202d20604d60206f6c642d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429e020202d20604e60206e65772d6d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e646564299820202d206050602070726f706f73616c732d636f756e742028636f64652d626f756e646564291c6578656375746508012070726f706f73616cb503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64c101010c753332000124f0446973706174636820612070726f706f73616c2066726f6d2061206d656d626572207573696e672074686520604d656d62657260206f726967696e2e00a84f726967696e206d7573742062652061206d656d626572206f662074686520636f6c6c6563746976652e0038232320436f6d706c65786974793a5c2d20604f2842202b204d202b205029602077686572653ad82d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429882d20604d60206d656d626572732d636f756e742028636f64652d626f756e64656429a82d2060506020636f6d706c6578697479206f66206469737061746368696e67206070726f706f73616c601c70726f706f73650c01247468726573686f6c64c101012c4d656d626572436f756e7400012070726f706f73616cb503017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64c101010c753332000238f84164642061206e65772070726f706f73616c20746f2065697468657220626520766f746564206f6e206f72206578656375746564206469726563746c792e00845265717569726573207468652073656e64657220746f206265206d656d6265722e004101607468726573686f6c64602064657465726d696e65732077686574686572206070726f706f73616c60206973206578656375746564206469726563746c792028607468726573686f6c64203c20326029546f722070757420757020666f7220766f74696e672e0034232320436f6d706c6578697479ac2d20604f2842202b204d202b2050312960206f7220604f2842202b204d202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c420202d206272616e6368696e6720697320696e666c75656e63656420627920607468726573686f6c64602077686572653af4202020202d20605031602069732070726f706f73616c20657865637574696f6e20636f6d706c65786974792028607468726573686f6c64203c20326029fc202020202d20605032602069732070726f706f73616c732d636f756e742028636f64652d626f756e646564292028607468726573686f6c64203e3d2032602910766f74650c012070726f706f73616c2c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800011c617070726f7665a80110626f6f6c000324f041646420616e20617965206f72206e617920766f746520666f72207468652073656e64657220746f2074686520676976656e2070726f706f73616c2e008c5265717569726573207468652073656e64657220746f2062652061206d656d6265722e0049015472616e73616374696f6e20666565732077696c6c2062652077616976656420696620746865206d656d62657220697320766f74696e67206f6e20616e7920706172746963756c61722070726f706f73616c5101666f72207468652066697273742074696d6520616e64207468652063616c6c206973207375636365737366756c2e2053756273657175656e7420766f7465206368616e6765732077696c6c206368617267652061106665652e34232320436f6d706c657869747909012d20604f284d296020776865726520604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e6465642940636c6f73655f6f6c645f77656967687410013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e64d10301244f6c645765696768740001306c656e6774685f626f756e64c101010c7533320004604d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e0034232320436f6d706c6578697479742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e646564294c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f686173682c011c543a3a486173680005285901446973617070726f766520612070726f706f73616c2c20636c6f73652c20616e642072656d6f76652069742066726f6d207468652073797374656d2c207265676172646c657373206f66206974732063757272656e741873746174652e00884d7573742062652063616c6c65642062792074686520526f6f74206f726967696e2e002c506172616d65746572733a1d012a206070726f706f73616c5f68617368603a205468652068617368206f66207468652070726f706f73616c20746861742073686f756c6420626520646973617070726f7665642e0034232320436f6d706c6578697479ac4f285029207768657265205020697320746865206e756d626572206f66206d61782070726f706f73616c7314636c6f736510013470726f706f73616c5f686173682c011c543a3a48617368000114696e646578c101013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642401185765696768740001306c656e6774685f626f756e64c101010c7533320006604d01436c6f7365206120766f746520746861742069732065697468657220617070726f7665642c20646973617070726f766564206f722077686f736520766f74696e6720706572696f642068617320656e6465642e0055014d61792062652063616c6c656420627920616e79207369676e6564206163636f756e7420696e206f7264657220746f2066696e69736820766f74696e6720616e6420636c6f7365207468652070726f706f73616c2e00490149662063616c6c6564206265666f72652074686520656e64206f662074686520766f74696e6720706572696f642069742077696c6c206f6e6c7920636c6f73652074686520766f7465206966206974206973bc68617320656e6f75676820766f74657320746f20626520617070726f766564206f7220646973617070726f7665642e00490149662063616c6c65642061667465722074686520656e64206f662074686520766f74696e6720706572696f642061627374656e74696f6e732061726520636f756e7465642061732072656a656374696f6e732501756e6c6573732074686572652069732061207072696d65206d656d6265722073657420616e6420746865207072696d65206d656d626572206361737420616e20617070726f76616c2e00610149662074686520636c6f7365206f7065726174696f6e20636f6d706c65746573207375636365737366756c6c79207769746820646973617070726f76616c2c20746865207472616e73616374696f6e206665652077696c6c5d016265207761697665642e204f746865727769736520657865637574696f6e206f662074686520617070726f766564206f7065726174696f6e2077696c6c206265206368617267656420746f207468652063616c6c65722e0061012b206070726f706f73616c5f7765696768745f626f756e64603a20546865206d6178696d756d20616d6f756e74206f662077656967687420636f6e73756d656420627920657865637574696e672074686520636c6f7365642470726f706f73616c2e61012b20606c656e6774685f626f756e64603a2054686520757070657220626f756e6420666f7220746865206c656e677468206f66207468652070726f706f73616c20696e2073746f726167652e20436865636b65642076696135016073746f726167653a3a726561646020736f206974206973206073697a655f6f663a3a3c7533323e2829203d3d203460206c6172676572207468616e207468652070757265206c656e6774682e0034232320436f6d706c6578697479742d20604f2842202b204d202b205031202b20503229602077686572653ae020202d20604260206973206070726f706f73616c602073697a6520696e20627974657320286c656e6774682d6665652d626f756e64656429dc20202d20604d60206973206d656d626572732d636f756e742028636f64652d20616e6420676f7665726e616e63652d626f756e64656429c820202d20605031602069732074686520636f6d706c6578697479206f66206070726f706f73616c6020707265696d6167652ea420202d20605032602069732070726f706f73616c2d636f756e742028636f64652d626f756e64656429042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632edd030c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665e90201504163636f756e7449644c6f6f6b75704f663c543e00010c616464e90201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273350301445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577e90201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee1030c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001143470726f706f73655f7370656e6408011476616c7565cd01013c42616c616e63654f663c542c20493e00012c62656e6566696369617279e90201504163636f756e7449644c6f6f6b75704f663c543e000018290150757420666f727761726420612073756767657374696f6e20666f72207370656e64696e672e2041206465706f7369742070726f706f7274696f6e616c20746f207468652076616c75653101697320726573657276656420616e6420736c6173686564206966207468652070726f706f73616c2069732072656a65637465642e2049742069732072657475726e6564206f6e6365207468655070726f706f73616c20697320617761726465642e0034232320436f6d706c6578697479182d204f2831293c72656a6563745f70726f706f73616c04012c70726f706f73616c5f6964c101013450726f706f73616c496e646578000118f852656a65637420612070726f706f736564207370656e642e20546865206f726967696e616c206465706f7369742077696c6c20626520736c61736865642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e0034232320436f6d706c6578697479182d204f28312940617070726f76655f70726f706f73616c04012c70726f706f73616c5f6964c101013450726f706f73616c496e64657800021c5901417070726f766520612070726f706f73616c2e2041742061206c617465722074696d652c207468652070726f706f73616c2077696c6c20626520616c6c6f636174656420746f207468652062656e6566696369617279a8616e6420746865206f726967696e616c206465706f7369742077696c6c2062652072657475726e65642e00ac4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a417070726f76654f726967696e602e0034232320436f6d706c657869747920202d204f2831292e147370656e64080118616d6f756e74cd01013c42616c616e63654f663c542c20493e00012c62656e6566696369617279e90201504163636f756e7449644c6f6f6b75704f663c543e000320b850726f706f736520616e6420617070726f76652061207370656e64206f662074726561737572792066756e64732e004d012d20606f726967696e603a204d75737420626520605370656e644f726967696e60207769746820746865206053756363657373602076616c7565206265696e67206174206c656173742060616d6f756e74602e41012d2060616d6f756e74603a2054686520616d6f756e7420746f206265207472616e736665727265642066726f6d2074686520747265617375727920746f20746865206062656e6566696369617279602ee82d206062656e6566696369617279603a205468652064657374696e6174696f6e206163636f756e7420666f7220746865207472616e736665722e0045014e4f54453a20466f72207265636f72642d6b656570696e6720707572706f7365732c207468652070726f706f736572206973206465656d656420746f206265206571756976616c656e7420746f207468653062656e65666963696172792e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f6964c101013450726f706f73616c496e6465780004342d01466f72636520612070726576696f75736c7920617070726f7665642070726f706f73616c20746f2062652072656d6f7665642066726f6d2074686520617070726f76616c2071756575652ec0546865206f726967696e616c206465706f7369742077696c6c206e6f206c6f6e6765722062652072657475726e65642e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602ea02d206070726f706f73616c5f6964603a2054686520696e646578206f6620612070726f706f73616c0034232320436f6d706c6578697479ac2d204f2841292077686572652060416020697320746865206e756d626572206f6620617070726f76616c73001c4572726f72733a61012d206050726f706f73616c4e6f74417070726f766564603a20546865206070726f706f73616c5f69646020737570706c69656420776173206e6f7420666f756e6420696e2074686520617070726f76616c2071756575652c5101692e652e2c207468652070726f706f73616c20686173206e6f74206265656e20617070726f7665642e205468697320636f756c6420616c736f206d65616e207468652070726f706f73616c20646f6573206e6f745901657869737420616c746f6765746865722c2074687573207468657265206973206e6f2077617920697420776f756c642068617665206265656e20617070726f76656420696e2074686520666972737420706c6163652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee5030c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c73e903017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000487c53656e642061206261746368206f662064697370617463682063616c6c732e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e005501546869732077696c6c2072657475726e20604f6b6020696e20616c6c2063697263756d7374616e6365732e20546f2064657465726d696e65207468652073756363657373206f66207468652062617463682c20616e31016576656e74206973206465706f73697465642e20496620612063616c6c206661696c656420616e64207468652062617463682077617320696e7465727275707465642c207468656e207468655501604261746368496e74657272757074656460206576656e74206973206465706f73697465642c20616c6f6e67207769746820746865206e756d626572206f66207375636365737366756c2063616c6c73206d6164654d01616e6420746865206572726f72206f6620746865206661696c65642063616c6c2e20496620616c6c2077657265207375636365737366756c2c207468656e2074686520604261746368436f6d706c65746564604c6576656e74206973206465706f73697465642e3461735f64657269766174697665080114696e646578dc010c75313600011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000134dc53656e6420612063616c6c207468726f75676820616e20696e64657865642070736575646f6e796d206f66207468652073656e6465722e00550146696c7465722066726f6d206f726967696e206172652070617373656420616c6f6e672e205468652063616c6c2077696c6c2062652064697370617463686564207769746820616e206f726967696e207768696368bc757365207468652073616d652066696c74657220617320746865206f726967696e206f6620746869732063616c6c2e0045014e4f54453a20496620796f75206e65656420746f20656e73757265207468617420616e79206163636f756e742d62617365642066696c746572696e67206973206e6f7420686f6e6f7265642028692e652e61016265636175736520796f7520657870656374206070726f78796020746f2068617665206265656e2075736564207072696f7220696e207468652063616c6c20737461636b20616e6420796f7520646f206e6f742077616e7451017468652063616c6c207265737472696374696f6e7320746f206170706c7920746f20616e79207375622d6163636f756e7473292c207468656e20757365206061735f6d756c74695f7468726573686f6c645f31607c696e20746865204d756c74697369672070616c6c657420696e73746561642e00f44e4f54453a205072696f7220746f2076657273696f6e202a31322c2074686973207761732063616c6c6564206061735f6c696d697465645f737562602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e2462617463685f616c6c04011463616c6c73e903017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000234ec53656e642061206261746368206f662064697370617463682063616c6c7320616e642061746f6d6963616c6c792065786563757465207468656d2e21015468652077686f6c65207472616e73616374696f6e2077696c6c20726f6c6c6261636b20616e64206661696c20696620616e79206f66207468652063616c6c73206661696c65642e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e0055014966206f726967696e20697320726f6f74207468656e207468652063616c6c7320617265206469737061746368656420776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c64697370617463685f617308012461735f6f726967696eed030154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000318c84469737061746368657320612066756e6374696f6e2063616c6c207769746820612070726f7669646564206f726967696e2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e0034232320436f6d706c65786974791c2d204f2831292e2c666f7263655f626174636804011463616c6c73e903017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004347c53656e642061206261746368206f662064697370617463682063616c6c732ed4556e6c696b6520606261746368602c20697420616c6c6f7773206572726f727320616e6420776f6e277420696e746572727570742e00b04d61792062652063616c6c65642066726f6d20616e79206f726967696e2065786365707420604e6f6e65602e005d012d206063616c6c73603a205468652063616c6c7320746f20626520646973706174636865642066726f6d207468652073616d65206f726967696e2e20546865206e756d626572206f662063616c6c206d757374206e6f74390120206578636565642074686520636f6e7374616e743a2060626174636865645f63616c6c735f6c696d6974602028617661696c61626c6520696e20636f6e7374616e74206d65746164617461292e004d014966206f726967696e20697320726f6f74207468656e207468652063616c6c732061726520646973706174636820776974686f757420636865636b696e67206f726967696e2066696c7465722e202854686973ec696e636c7564657320627970617373696e6720606672616d655f73797374656d3a3a436f6e6669673a3a4261736543616c6c46696c74657260292e0034232320436f6d706c6578697479d02d204f284329207768657265204320697320746865206e756d626572206f662063616c6c7320746f20626520626174636865642e2c776974685f77656967687408011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000118776569676874240118576569676874000518c4446973706174636820612066756e6374696f6e2063616c6c2077697468206120737065636966696564207765696768742e002d01546869732066756e6374696f6e20646f6573206e6f7420636865636b2074686520776569676874206f66207468652063616c6c2c20616e6420696e737465616420616c6c6f777320746865b8526f6f74206f726967696e20746f20737065636966792074686520776569676874206f66207468652063616c6c2e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ee903000002b50300ed0308447370697269746e65745f72756e74696d65304f726967696e43616c6c657200011c1873797374656d0400f10301746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0000001c436f756e63696c0400f50301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400f90301010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020000c4469640400fd0301506469643a3a4f726967696e3c52756e74696d653e0040002c506f6c6b61646f7458636d04000104014870616c6c65745f78636d3a3a4f726967696e0053002843756d756c757358636d04000504016863756d756c75735f70616c6c65745f78636d3a3a4f726967696e00540010566f69640400090401110173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a566f696400060000f1030c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e6500020000f503084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000f903084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d6265727308001c012c4d656d626572436f756e7400001c012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d00020000fd030c0c646964186f726967696e304469645261774f726967696e08344469644964656e7469666965720100244163636f756e74496401000008010869640001344469644964656e7469666965720001247375626d69747465720001244163636f756e744964000001040c2870616c6c65745f78636d1870616c6c6574184f726967696e0001080c58636d0400b50101344d756c74694c6f636174696f6e00000020526573706f6e73650400b50101344d756c74694c6f636174696f6e0001000005040c4863756d756c75735f70616c6c65745f78636d1870616c6c6574184f726967696e0001081452656c6179000000405369626c696e6750617261636861696e0400a9010118506172614964000100000904081c73705f636f726510566f6964000100000d040c3870616c6c65745f76657374696e671870616c6c65741043616c6c0404540001141076657374000024b8556e6c6f636b20616e79207665737465642066756e6473206f66207468652073656e646572206163636f756e742e005d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e64207468652073656e646572206d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e0034232320436f6d706c6578697479242d20604f283129602e28766573745f6f74686572040118746172676574e90201504163636f756e7449644c6f6f6b75704f663c543e00012cb8556e6c6f636b20616e79207665737465642066756e6473206f662061206074617267657460206163636f756e742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051012d2060746172676574603a20546865206163636f756e742077686f7365207665737465642066756e64732073686f756c6420626520756e6c6f636b65642e204d75737420686176652066756e6473207374696c6c646c6f636b656420756e64657220746869732070616c6c65742e00d0456d69747320656974686572206056657374696e67436f6d706c6574656460206f72206056657374696e6755706461746564602e0034232320436f6d706c6578697479242d20604f283129602e3c7665737465645f7472616e73666572080118746172676574e90201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65110401a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00023464437265617465206120766573746564207472616e736665722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00cc2d2060746172676574603a20546865206163636f756e7420726563656976696e6720746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e0034232320436f6d706c6578697479242d20604f283129602e54666f7263655f7665737465645f7472616e736665720c0118736f75726365e90201504163636f756e7449644c6f6f6b75704f663c543e000118746172676574e90201504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65110401a456657374696e67496e666f3c42616c616e63654f663c543e2c20543a3a426c6f636b4e756d6265723e00033860466f726365206120766573746564207472616e736665722e00c4546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f526f6f745f2e00e82d2060736f75726365603a20546865206163636f756e742077686f73652066756e64732073686f756c64206265207472616e736665727265642e11012d2060746172676574603a20546865206163636f756e7420746861742073686f756c64206265207472616e7366657272656420746865207665737465642066756e64732ef02d20607363686564756c65603a205468652076657374696e67207363686564756c6520617474616368656420746f20746865207472616e736665722e005c456d697473206056657374696e6743726561746564602e00fc4e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b2e0034232320436f6d706c6578697479242d20604f283129602e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e6465781c010c75333200013c7363686564756c65325f696e6465781c010c7533320004545d014d657267652074776f2076657374696e67207363686564756c657320746f6765746865722c206372656174696e672061206e65772076657374696e67207363686564756c65207468617420756e6c6f636b73206f7665725501746865206869676865737420706f737369626c6520737461727420616e6420656e6420626c6f636b732e20496620626f7468207363686564756c6573206861766520616c7265616479207374617274656420746865590163757272656e7420626c6f636b2077696c6c206265207573656420617320746865207363686564756c652073746172743b207769746820746865206361766561742074686174206966206f6e65207363686564756c655d0169732066696e6973686564206279207468652063757272656e7420626c6f636b2c20746865206f746865722077696c6c206265207472656174656420617320746865206e6577206d6572676564207363686564756c652c2c756e6d6f6469666965642e00f84e4f54453a20496620607363686564756c65315f696e646578203d3d207363686564756c65325f696e6465786020746869732069732061206e6f2d6f702e41014e4f54453a20546869732077696c6c20756e6c6f636b20616c6c207363686564756c6573207468726f756768207468652063757272656e7420626c6f636b207072696f7220746f206d657267696e672e61014e4f54453a20496620626f7468207363686564756c6573206861766520656e646564206279207468652063757272656e7420626c6f636b2c206e6f206e6577207363686564756c652077696c6c206265206372656174656464616e6420626f74682077696c6c2062652072656d6f7665642e006c4d6572676564207363686564756c6520617474726962757465733a35012d20607374617274696e675f626c6f636b603a20604d4158287363686564756c65312e7374617274696e675f626c6f636b2c207363686564756c6564322e7374617274696e675f626c6f636b2c48202063757272656e745f626c6f636b29602e21012d2060656e64696e675f626c6f636b603a20604d4158287363686564756c65312e656e64696e675f626c6f636b2c207363686564756c65322e656e64696e675f626c6f636b29602e59012d20606c6f636b6564603a20607363686564756c65312e6c6f636b65645f61742863757272656e745f626c6f636b29202b207363686564756c65322e6c6f636b65645f61742863757272656e745f626c6f636b29602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00e82d20607363686564756c65315f696e646578603a20696e646578206f6620746865206669727374207363686564756c6520746f206d657267652eec2d20607363686564756c65325f696e646578603a20696e646578206f6620746865207365636f6e64207363686564756c6520746f206d657267652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e11040c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720110000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b10012c426c6f636b4e756d626572000015040c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963190401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000470416e6f6e796d6f75736c79207363686564756c652061207461736b2e1863616e63656c0801107768656e100138543a3a426c6f636b4e756d626572000114696e6465781c010c7533320001049443616e63656c20616e20616e6f6e796d6f75736c79207363686564756c6564207461736b2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963190401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000204585363686564756c652061206e616d6564207461736b2e3063616e63656c5f6e616d656404010869640401205461736b4e616d650003047843616e63656c2061206e616d6564207363686564756c6564207461736b2e387363686564756c655f61667465721001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963190401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000404a8416e6f6e796d6f75736c79207363686564756c652061207461736b20616674657220612064656c61792e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572100138543a3a426c6f636b4e756d6265720001386d617962655f706572696f646963190401a04f7074696f6e3c7363686564756c653a3a506572696f643c543a3a426c6f636b4e756d6265723e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e000504905363686564756c652061206e616d6564207461736b20616674657220612064656c61792e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e190404184f7074696f6e04045401cc0108104e6f6e6500000010536f6d650400cc00000100001d040c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616ce90201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065210401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000244d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f726973656420666f72207468726f75676830606164645f70726f7879602e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e246164645f70726f78790c012064656c6567617465e90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d6265720001244501526567697374657220612070726f7879206163636f756e7420666f72207468652073656e64657220746861742069732061626c6520746f206d616b652063616c6c73206f6e2069747320626568616c662e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a11012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f206d616b6520612070726f78792efc2d206070726f78795f74797065603a20546865207065726d697373696f6e7320616c6c6f77656420666f7220746869732070726f7879206163636f756e742e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e3072656d6f76655f70726f78790c012064656c6567617465e90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d62657200021ca8556e726567697374657220612070726f7879206163636f756e7420666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a25012d206070726f7879603a20546865206163636f756e74207468617420746865206063616c6c65726020776f756c64206c696b6520746f2072656d6f766520617320612070726f78792e41012d206070726f78795f74797065603a20546865207065726d697373696f6e732063757272656e746c7920656e61626c656420666f72207468652072656d6f7665642070726f7879206163636f756e742e3872656d6f76655f70726f78696573000318b4556e726567697374657220616c6c2070726f7879206163636f756e747320666f72207468652073656e6465722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0041015741524e494e473a2054686973206d61792062652063616c6c6564206f6e206163636f756e74732063726561746564206279206070757265602c20686f776576657220696620646f6e652c207468656e590174686520756e726573657276656420666565732077696c6c20626520696e61636365737369626c652e202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a2c6372656174655f707572650c012870726f78795f74797065d80130543a3a50726f78795479706500011464656c6179100138543a3a426c6f636b4e756d626572000114696e646578dc010c7531360004483901537061776e2061206672657368206e6577206163636f756e7420746861742069732067756172616e7465656420746f206265206f746865727769736520696e61636365737369626c652c20616e64fc696e697469616c697a65206974207769746820612070726f7879206f66206070726f78795f747970656020666f7220606f726967696e602073656e6465722e006c5265717569726573206120605369676e656460206f726967696e2e0051012d206070726f78795f74797065603a205468652074797065206f66207468652070726f78792074686174207468652073656e6465722077696c6c2062652072656769737465726564206173206f766572207468654d016e6577206163636f756e742e20546869732077696c6c20616c6d6f737420616c7761797320626520746865206d6f7374207065726d697373697665206050726f7879547970656020706f737369626c6520746f78616c6c6f7720666f72206d6178696d756d20666c65786962696c6974792e51012d2060696e646578603a204120646973616d626967756174696f6e20696e6465782c20696e206361736520746869732069732063616c6c6564206d756c7469706c652074696d657320696e207468652073616d655d017472616e73616374696f6e2028652e672e207769746820607574696c6974793a3a626174636860292e20556e6c65737320796f75277265207573696e67206062617463686020796f752070726f6261626c79206a7573744077616e7420746f20757365206030602e4d012d206064656c6179603a2054686520616e6e6f756e63656d656e7420706572696f64207265717569726564206f662074686520696e697469616c2070726f78792e2057696c6c2067656e6572616c6c79206265147a65726f2e0051014661696c73207769746820604475706c69636174656020696620746869732068617320616c7265616479206265656e2063616c6c656420696e2074686973207472616e73616374696f6e2c2066726f6d207468659873616d652073656e6465722c2077697468207468652073616d6520706172616d65746572732e00e44661696c732069662074686572652061726520696e73756666696369656e742066756e647320746f2070617920666f72206465706f7369742e246b696c6c5f7075726514011c737061776e6572e90201504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065d80130543a3a50726f787954797065000114696e646578dc010c753136000118686569676874280138543a3a426c6f636b4e756d6265720001246578745f696e646578c101010c753332000540a052656d6f76657320612070726576696f75736c7920737061776e656420707572652070726f78792e0049015741524e494e473a202a2a416c6c2061636365737320746f2074686973206163636f756e742077696c6c206265206c6f73742e2a2a20416e792066756e64732068656c6420696e2069742077696c6c20626534696e61636365737369626c652e0059015265717569726573206120605369676e656460206f726967696e2c20616e64207468652073656e646572206163636f756e74206d7573742068617665206265656e206372656174656420627920612063616c6c20746f94607075726560207769746820636f72726573706f6e64696e6720706172616d65746572732e0039012d2060737061776e6572603a20546865206163636f756e742074686174206f726967696e616c6c792063616c6c65642060707572656020746f206372656174652074686973206163636f756e742e39012d2060696e646578603a2054686520646973616d626967756174696f6e20696e646578206f726967696e616c6c792070617373656420746f206070757265602e2050726f6261626c79206030602eec2d206070726f78795f74797065603a205468652070726f78792074797065206f726967696e616c6c792070617373656420746f206070757265602e29012d2060686569676874603a2054686520686569676874206f662074686520636861696e207768656e207468652063616c6c20746f20607075726560207761732070726f6365737365642e35012d20606578745f696e646578603a205468652065787472696e73696320696e64657820696e207768696368207468652063616c6c20746f20607075726560207761732070726f6365737365642e0035014661696c73207769746820604e6f5065726d697373696f6e6020696e2063617365207468652063616c6c6572206973206e6f7420612070726576696f75736c7920637265617465642070757265dc6163636f756e742077686f7365206070757265602063616c6c2068617320636f72726573706f6e64696e6720706172616d65746572732e20616e6e6f756e63650801107265616ce90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e00063c05015075626c697368207468652068617368206f6620612070726f78792d63616c6c20746861742077696c6c206265206d61646520696e20746865206675747572652e005d0154686973206d7573742062652063616c6c656420736f6d65206e756d626572206f6620626c6f636b73206265666f72652074686520636f72726573706f6e64696e67206070726f78796020697320617474656d7074656425016966207468652064656c6179206173736f6369617465642077697468207468652070726f78792072656c6174696f6e736869702069732067726561746572207468616e207a65726f2e0011014e6f206d6f7265207468616e20604d617850656e64696e676020616e6e6f756e63656d656e7473206d6179206265206d61646520617420616e79206f6e652074696d652e000901546869732077696c6c2074616b652061206465706f736974206f662060416e6e6f756e63656d656e744465706f736974466163746f72602061732077656c6c206173190160416e6e6f756e63656d656e744465706f736974426173656020696620746865726520617265206e6f206f746865722070656e64696e6720616e6e6f756e63656d656e74732e002501546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420612070726f7879206f6620607265616c602e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656d6f76655f616e6e6f756e63656d656e740801107265616ce90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e0007287052656d6f7665206120676976656e20616e6e6f756e63656d656e742e0059014d61792062652063616c6c656420627920612070726f7879206163636f756e7420746f2072656d6f766520612063616c6c20746865792070726576696f75736c7920616e6e6f756e63656420616e642072657475726e30746865206465706f7369742e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e15012d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465e90201504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f686173682c013443616c6c486173684f663c543e000828b052656d6f76652074686520676976656e20616e6e6f756e63656d656e74206f6620612064656c65676174652e0061014d61792062652063616c6c6564206279206120746172676574202870726f7869656429206163636f756e7420746f2072656d6f766520612063616c6c2074686174206f6e65206f662074686569722064656c6567617465732501286064656c656761746560292068617320616e6e6f756e63656420746865792077616e7420746f20657865637574652e20546865206465706f7369742069732072657475726e65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733af42d206064656c6567617465603a20546865206163636f756e7420746861742070726576696f75736c7920616e6e6f756e636564207468652063616c6c2ebc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f206265206d6164652e3c70726f78795f616e6e6f756e63656410012064656c6567617465e90201504163636f756e7449644c6f6f6b75704f663c543e0001107265616ce90201504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065210401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00092c4d0144697370617463682074686520676976656e206063616c6c602066726f6d20616e206163636f756e742074686174207468652073656e64657220697320617574686f72697a656420666f72207468726f75676830606164645f70726f7879602e00a852656d6f76657320616e7920636f72726573706f6e64696e6720616e6e6f756e63656d656e742873292e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e002c506172616d65746572733a0d012d20607265616c603a20546865206163636f756e742074686174207468652070726f78792077696c6c206d616b6520612063616c6c206f6e20626568616c66206f662e61012d2060666f7263655f70726f78795f74797065603a2053706563696679207468652065786163742070726f7879207479706520746f206265207573656420616e6420636865636b656420666f7220746869732063616c6c2ed02d206063616c6c603a205468652063616c6c20746f206265206d6164652062792074686520607265616c60206163636f756e742e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e210404184f7074696f6e04045401d80108104e6f6e6500000010536f6d650400d8000001000025040c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000110346e6f74655f707265696d616765040114627974657330011c5665633c75383e000010745265676973746572206120707265696d616765206f6e2d636861696e2e00550149662074686520707265696d616765207761732070726576696f75736c79207265717565737465642c206e6f2066656573206f72206465706f73697473206172652074616b656e20666f722070726f766964696e67550174686520707265696d6167652e204f74686572776973652c2061206465706f7369742069732074616b656e2070726f706f7274696f6e616c20746f207468652073697a65206f662074686520707265696d6167652e3c756e6e6f74655f707265696d616765040110686173682c011c543a3a48617368000118dc436c65617220616e20756e72657175657374656420707265696d6167652066726f6d207468652072756e74696d652073746f726167652e00fc496620606c656e602069732070726f76696465642c207468656e2069742077696c6c2062652061206d7563682063686561706572206f7065726174696f6e2e0001012d206068617368603a205468652068617368206f662074686520707265696d61676520746f2062652072656d6f7665642066726f6d207468652073746f72652eb82d20606c656e603a20546865206c656e677468206f662074686520707265696d616765206f66206068617368602e40726571756573745f707265696d616765040110686173682c011c543a3a48617368000210410152657175657374206120707265696d6167652062652075706c6f6164656420746f2074686520636861696e20776974686f757420706179696e6720616e792066656573206f72206465706f736974732e00550149662074686520707265696d6167652072657175657374732068617320616c7265616479206265656e2070726f7669646564206f6e2d636861696e2c20776520756e7265736572766520616e79206465706f7369743901612075736572206d6179206861766520706169642c20616e642074616b652074686520636f6e74726f6c206f662074686520707265696d616765206f7574206f662074686569722068616e64732e48756e726571756573745f707265696d616765040110686173682c011c543a3a4861736800030cbc436c65617220612070726576696f75736c79206d616465207265717565737420666f72206120707265696d6167652e002d014e4f54453a2054484953204d555354204e4f542042452043414c4c4544204f4e20606861736860204d4f52452054494d4553205448414e2060726571756573745f707265696d616765602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e29040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00000c784164642061206d656d626572206077686f6020746f20746865207365742e009c4d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a4164644f726967696e602e3472656d6f76655f6d656d62657204010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00010c8c52656d6f76652061206d656d626572206077686f602066726f6d20746865207365742e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656d6f76654f726967696e602e2c737761705f6d656d62657208011872656d6f7665e90201504163636f756e7449644c6f6f6b75704f663c543e00010c616464e90201504163636f756e7449644c6f6f6b75704f663c543e000214bc53776170206f7574206f6e65206d656d626572206072656d6f76656020666f7220616e6f746865722060616464602e00a04d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a537761704f726967696e602e000d015072696d65206d656d62657273686970206973202a6e6f742a207061737365642066726f6d206072656d6f76656020746f2060616464602c20696620657874616e742e3472657365745f6d656d6265727304011c6d656d62657273350301445665633c543a3a4163636f756e7449643e00031055014368616e676520746865206d656d6265727368697020746f2061206e6577207365742c20646973726567617264696e6720746865206578697374696e67206d656d626572736869702e204265206e69636520616e64687061737320606d656d6265727360207072652d736f727465642e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52657365744f726967696e602e286368616e67655f6b657904010c6e6577e90201504163636f756e7449644c6f6f6b75704f663c543e000414d453776170206f7574207468652073656e64696e67206d656d62657220666f7220736f6d65206f74686572206b657920606e6577602e00f04d6179206f6e6c792062652063616c6c65642066726f6d20605369676e656460206f726967696e206f6620612063757272656e74206d656d6265722e001d015072696d65206d656d62657273686970206973207061737365642066726f6d20746865206f726967696e206163636f756e7420746f20606e6577602c20696620657874616e742e247365745f7072696d6504010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00050cbc53657420746865207072696d65206d656d6265722e204d75737420626520612063757272656e74206d656d6265722e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e2c636c6561725f7072696d6500060c9452656d6f766520746865207072696d65206d656d626572206966206974206578697374732e00a44d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a5072696d654f726967696e602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e2d040c2c70616c6c65745f746970731870616c6c65741043616c6c080454000449000118387265706f72745f617765736f6d65080118726561736f6e30011c5665633c75383e00010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e00004059015265706f727420736f6d657468696e672060726561736f6e60207468617420646573657276657320612074697020616e6420636c61696d20616e79206576656e7475616c207468652066696e6465722773206665652e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0051015061796d656e743a20605469705265706f72744465706f73697442617365602077696c6c2062652072657365727665642066726f6d20746865206f726967696e206163636f756e742c2061732077656c6c206173bc60446174614465706f736974506572427974656020666f722065616368206279746520696e2060726561736f6e602e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e0074456d69747320604e657754697060206966207375636365737366756c2e0034232320436f6d706c6578697479982d20604f2852296020776865726520605260206c656e677468206f662060726561736f6e602e9020202d20656e636f64696e6720616e642068617368696e67206f662027726561736f6e272c726574726163745f746970040110686173682c011c543a3a486173680001405101526574726163742061207072696f72207469702d7265706f72742066726f6d20607265706f72745f617765736f6d65602c20616e642063616e63656c207468652070726f63657373206f662074697070696e672e00dc4966207375636365737366756c2c20746865206f726967696e616c206465706f7369742077696c6c20626520756e72657365727665642e004d01546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e642074686520746970206964656e7469666965642062792060686173686041016d7573742068617665206265656e207265706f7274656420627920746865207369676e696e67206163636f756e74207468726f75676820607265706f72745f617765736f6d65602028616e64206e6f744c7468726f75676820607469705f6e657760292e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e008c456d697473206054697052657472616374656460206966207375636365737366756c2e0034232320436f6d706c6578697479202d20604f28312960d820202d20446570656e6473206f6e20746865206c656e677468206f662060543a3a48617368602077686963682069732066697865642e1c7469705f6e65770c0118726561736f6e30011c5665633c75383e00010c77686fe90201504163636f756e7449644c6f6f6b75704f663c543e0001247469705f76616c7565cd01013c42616c616e63654f663c542c20493e00024cf04769766520612074697020666f7220736f6d657468696e67206e65773b206e6f2066696e6465722773206665652077696c6c2062652074616b656e2e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e005d012d2060726561736f6e603a2054686520726561736f6e20666f722c206f7220746865207468696e6720746861742064657365727665732c20746865207469703b2067656e6572616c6c7920746869732077696c6c20626558202061205554462d382d656e636f6465642055524c2ee82d206077686f603a20546865206163636f756e742077686963682073686f756c6420626520637265646974656420666f7220746865207469702e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e0074456d69747320604e657754697060206966207375636365737366756c2e0034232320436f6d706c657869747921012d20604f2852202b2054296020776865726520605260206c656e677468206f662060726561736f6e602c2060546020697320746865206e756d626572206f6620746970706572732e5d0120202d20604f285429603a206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792d012020202060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f66442020202060543a3a54697070657273602ee020202d20604f285229603a2068617368696e6720616e6420656e636f64696e67206f6620726561736f6e206f66206c656e677468206052600c746970080110686173682c011c543a3a486173680001247469705f76616c7565cd01013c42616c616e63654f663c542c20493e000354b04465636c6172652061207469702076616c756520666f7220616e20616c72656164792d6f70656e207469702e005101546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f20616e6420746865207369676e696e67206163636f756e74206d7573742062652061706d656d626572206f662074686520605469707065727360207365742e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f66207468652068617368206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e65666963696172793420206163636f756e742049442e4d012d20607469705f76616c7565603a2054686520616d6f756e74206f66207469702074686174207468652073656e64657220776f756c64206c696b6520746f20676976652e20546865206d656469616e20746970d4202076616c7565206f662061637469766520746970706572732077696c6c20626520676976656e20746f20746865206077686f602e006101456d6974732060546970436c6f73696e676020696620746865207468726573686f6c64206f66207469707065727320686173206265656e207265616368656420616e642074686520636f756e74646f776e20706572696f643068617320737461727465642e0034232320436f6d706c657869747961012d20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e677468206054602c20696e736572745901202074697020616e6420636865636b20636c6f73696e672c20605460206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e010120205468652061637475616c20636f737420646570656e6473206f6e2074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e005d01202041637475616c6c792077656967687420636f756c64206265206c6f77657220617320697420646570656e6473206f6e20686f77206d616e7920746970732061726520696e20604f70656e5469706020627574206974d02020697320776569676874656420617320696620616c6d6f73742066756c6c20692e65206f66206c656e6774682060542d31602e24636c6f73655f746970040110686173682c011c543a3a486173680004345c436c6f736520616e64207061796f75742061207469702e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e00150154686520746970206964656e74696669656420627920606861736860206d75737420686176652066696e69736865642069747320636f756e74646f776e20706572696f642e0061012d206068617368603a20546865206964656e74697479206f6620746865206f70656e2074697020666f722077686963682061207469702076616c7565206973206465636c617265642e205468697320697320666f726d65645d0120206173207468652068617368206f6620746865207475706c65206f6620746865206f726967696e616c207469702060726561736f6e6020616e64207468652062656e6566696369617279206163636f756e742049442e0034232320436f6d706c65786974795d012d203a20604f285429602077686572652060546020697320746865206e756d626572206f6620746970706572732e206465636f64696e6720605469707065726020766563206f66206c656e677468206054602e20605460590120206973206368617267656420617320757070657220626f756e6420676976656e2062792060436f6e7461696e734c656e677468426f756e64602e205468652061637475616c20636f737420646570656e6473206f6e94202074686520696d706c656d656e746174696f6e206f662060543a3a54697070657273602e24736c6173685f746970040110686173682c011c543a3a486173680005289452656d6f766520616e6420736c61736820616e20616c72656164792d6f70656e207469702e00a84d6179206f6e6c792062652063616c6c65642066726f6d2060543a3a52656a6563744f726967696e602e00f44173206120726573756c742c207468652066696e64657220697320736c617368656420616e6420746865206465706f7369747320617265206c6f73742e0084456d6974732060546970536c617368656460206966207375636365737366756c2e0034232320436f6d706c65786974791c2d204f2831292e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e31040c3c70616c6c65745f6d756c74697369671870616c6c65741043616c6c0404540001105061735f6d756c74695f7468726573686f6c645f310801446f746865725f7369676e61746f72696573350301445665633c543a3a4163636f756e7449643e00011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0000305101496d6d6564696174656c792064697370617463682061206d756c74692d7369676e61747572652063616c6c207573696e6720612073696e676c6520617070726f76616c2066726f6d207468652063616c6c65722e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e003d012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f206172652070617274206f662074686501016d756c74692d7369676e61747572652c2062757420646f206e6f7420706172746963697061746520696e2074686520617070726f76616c2070726f636573732e882d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e00b8526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c742e0034232320436f6d706c657869747919014f285a202b204329207768657265205a20697320746865206c656e677468206f66207468652063616c6c20616e6420432069747320657865637574696f6e207765696768742e2061735f6d756c74691401247468726573686f6c64dc010c7531360001446f746865725f7369676e61746f72696573350301445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74350401844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e00011063616c6cb503017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0001286d61785f77656967687424011857656967687400019c5501526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966f8617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e00b049662074686572652061726520656e6f7567682c207468656e206469737061746368207468652063616c6c2e002d015061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c75733d01607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f723469732063616e63656c6c65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e59012d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e20496620697420697351016e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d47472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2e882d206063616c6c603a205468652063616c6c20746f2062652065786563757465642e001d014e4f54453a20556e6c6573732074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2067656e6572616c6c792077616e7420746f20757365190160617070726f76655f61735f6d756c74696020696e73746561642c2073696e6365206974206f6e6c7920726571756972657320612068617368206f66207468652063616c6c2e005901526573756c74206973206571756976616c656e7420746f20746865206469737061746368656420726573756c7420696620607468726573686f6c64602069732065786163746c79206031602e204f746865727769736555016f6e20737563636573732c20726573756c7420697320604f6b6020616e642074686520726573756c742066726f6d2074686520696e746572696f722063616c6c2c206966206974207761732065786563757465642cdc6d617920626520666f756e6420696e20746865206465706f736974656420604d756c7469736967457865637574656460206576656e742e0034232320436f6d706c6578697479502d20604f2853202b205a202b2043616c6c29602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2e21012d204f6e652063616c6c20656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285a296020776865726520605a602069732074782d6c656e2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed42d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292ef82d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e302d204f6e65206576656e742e6c2d2054686520776569676874206f6620746865206063616c6c602e4d012d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061206465706f7369741901202074616b656e20666f7220697473206c69666574696d65206f6620604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e40617070726f76655f61735f6d756c74691401247468726573686f6c64dc010c7531360001446f746865725f7369676e61746f72696573350301445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74350401844f7074696f6e3c54696d65706f696e743c543a3a426c6f636b4e756d6265723e3e00012463616c6c5f686173680401205b75383b2033325d0001286d61785f7765696768742401185765696768740002785501526567697374657220617070726f76616c20666f72206120646973706174636820746f206265206d6164652066726f6d20612064657465726d696e697374696320636f6d706f73697465206163636f756e74206966f8617070726f766564206279206120746f74616c206f6620607468726573686f6c64202d203160206f6620606f746865725f7369676e61746f72696573602e002d015061796d656e743a20604465706f73697442617365602077696c6c20626520726573657276656420696620746869732069732074686520666972737420617070726f76616c2c20706c75733d01607468726573686f6c64602074696d657320604465706f736974466163746f72602e2049742069732072657475726e6564206f6e636520746869732064697370617463682068617070656e73206f723469732063616e63656c6c65642e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e59012d20606d617962655f74696d65706f696e74603a20496620746869732069732074686520666972737420617070726f76616c2c207468656e2074686973206d75737420626520604e6f6e65602e20496620697420697351016e6f742074686520666972737420617070726f76616c2c207468656e206974206d7573742062652060536f6d65602c2077697468207468652074696d65706f696e742028626c6f636b206e756d62657220616e64d47472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c207472616e73616374696f6e2ecc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e0035014e4f54453a2049662074686973206973207468652066696e616c20617070726f76616c2c20796f752077696c6c2077616e7420746f20757365206061735f6d756c74696020696e73746561642e0034232320436f6d706c6578697479242d20604f285329602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602ed42d20557020746f206f6e652062696e6172792073656172636820616e6420696e736572742028604f286c6f6753202b20532960292ef82d20492f4f3a2031207265616420604f285329602c20757020746f2031206d757461746520604f285329602e20557020746f206f6e652072656d6f76652e302d204f6e65206576656e742e4d012d2053746f726167653a20696e7365727473206f6e65206974656d2c2076616c75652073697a6520626f756e64656420627920604d61785369676e61746f72696573602c20776974682061206465706f7369741901202074616b656e20666f7220697473206c69666574696d65206f6620604465706f73697442617365202b207468726573686f6c64202a204465706f736974466163746f72602e3c63616e63656c5f61735f6d756c74691001247468726573686f6c64dc010c7531360001446f746865725f7369676e61746f72696573350301445665633c543a3a4163636f756e7449643e00012474696d65706f696e74f0016454696d65706f696e743c543a3a426c6f636b4e756d6265723e00012463616c6c5f686173680401205b75383b2033325d000354550143616e63656c2061207072652d6578697374696e672c206f6e2d676f696e67206d756c7469736967207472616e73616374696f6e2e20416e79206465706f7369742072657365727665642070726576696f75736c79c4666f722074686973206f7065726174696f6e2077696c6c20626520756e7265736572766564206f6e20737563636573732e00cc546865206469737061746368206f726967696e20666f7220746869732063616c6c206d757374206265205f5369676e65645f2e0055012d20607468726573686f6c64603a2054686520746f74616c206e756d626572206f6620617070726f76616c7320666f722074686973206469737061746368206265666f72652069742069732065786563757465642e41012d20606f746865725f7369676e61746f72696573603a20546865206163636f756e747320286f74686572207468616e207468652073656e646572292077686f2063616e20617070726f766520746869736c64697370617463682e204d6179206e6f7420626520656d7074792e5d012d206074696d65706f696e74603a205468652074696d65706f696e742028626c6f636b206e756d62657220616e64207472616e73616374696f6e20696e64657829206f662074686520666972737420617070726f76616c787472616e73616374696f6e20666f7220746869732064697370617463682ecc2d206063616c6c5f68617368603a205468652068617368206f66207468652063616c6c20746f2062652065786563757465642e0034232320436f6d706c6578697479242d20604f285329602ecc2d20557020746f206f6e652062616c616e63652d72657365727665206f7220756e72657365727665206f7065726174696f6e2e3d012d204f6e6520706173737468726f756768206f7065726174696f6e2c206f6e6520696e736572742c20626f746820604f285329602077686572652060536020697320746865206e756d626572206f66450120207369676e61746f726965732e206053602069732063617070656420627920604d61785369676e61746f72696573602c207769746820776569676874206265696e672070726f706f7274696f6e616c2ebc2d204f6e6520656e636f6465202620686173682c20626f7468206f6620636f6d706c657869747920604f285329602e302d204f6e65206576656e742e842d20492f4f3a2031207265616420604f285329602c206f6e652072656d6f76652e702d2053746f726167653a2072656d6f766573206f6e65206974656d2e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e350404184f7074696f6e04045401f00108104e6f6e6500000010536f6d650400f0000001000039040c1463747970651870616c6c65741043616c6c0404540001080c616464040114637479706530011c5665633c75383e00003009014372656174652061206e65772043547970652066726f6d2074686520676976656e20756e69717565204354797065206861736820616e64206173736f6369617465735069742077697468206974732063726561746f722e00dc412043547970652077697468207468652073616d652068617368206d757374206e6f742062652073746f726564206f6e20636861696e2e0054456d6974732060435479706543726561746564602e002823203c7765696768743e305765696768743a204f283129602d2052656164733a204374797065732c2042616c616e6365642d205772697465733a204374797065732c2042616c616e63652c23203c2f7765696768743e407365745f626c6f636b5f6e756d62657208012863747970655f686173682c01384374797065486173684f663c543e000130626c6f636b5f6e756d626572100144426c6f636b4e756d626572466f723c543e00010ce853657420746865206372656174696f6e20626c6f636b206e756d62657220666f72206120676976656e2043547970652c20696620666f756e642e0054456d6974732060435479706555706461746564602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e3d040c2c6174746573746174696f6e1870616c6c65741043616c6c0404540001180c6164640c0128636c61696d5f686173682c0138436c61696d486173684f663c543e00012863747970655f686173682c01384374797065486173684f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000054644372656174652061206e6577206174746573746174696f6e2e00f85468652061747465737465722063616e206f7074696f6e616c6c792070726f766964652061207265666572656e636520746f20616e206578697374696e67090164656c65676174696f6e20746861742077696c6c20626520736176656420616c6f6e67207769746820746865206174746573746174696f6e20697473656c6620696e8c74686520666f726d206f6620616e2061747465737465642064656c65676174696f6e2e00ec546865207265666572656e6365642043547970652068617368206d75737420616c72656164792062652070726573656e74206f6e20636861696e2e000901496620616e206f7074696f6e616c2064656c65676174696f6e2069642069732070726f76696465642c20746865206469737061746368206f726967696e206d757374e8626520746865206f776e6572206f66207468652064656c65676174696f6e2e204f74686572776973652c20697420636f756c6420626520616e79546044656c65676174696f6e456e746974794964602e006c456d69747320604174746573746174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b82d2052656164733a205b4f726967696e204163636f756e745d2c2043747970652c204174746573746174696f6e73e42d2052656164732069662064656c65676174696f6e2069642069732070726f76696465643a2044656c65676174696f6e732c20526f6f74732c5c202044656c6567617465644174746573746174696f6e73bc2d205772697465733a204174746573746174696f6e732c202844656c6567617465644174746573746174696f6e73292c23203c2f7765696768743e187265766f6b65080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001447c5265766f6b6520616e206578697374696e67206174746573746174696f6e2e00fc546865207265766f6b6572206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206265696e6709017265766f6b6564206f7220616e20656e74697479207468617420696e207468652064656c65676174696f6e207472656520697320616e20616e636573746f72206f6609017468652061747465737465722c20692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7250616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e5265766f6b6564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e1872656d6f7665080128636c61696d5f686173682c0138436c61696d486173684f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0002445852656d6f766520616e206174746573746174696f6e2e00f8546865206f726967696e206d75737420626520656974686572207468652063726561746f72206f6620746865206174746573746174696f6e206f7220616e0d01656e7469747920776869636820697320616e20616e636573746f72206f662074686520617474657374657220696e207468652064656c65676174696f6e20747265652c0101692e652e2c2069742077617320656974686572207468652064656c656761746f72206f6620746865206174746573746572206f7220616e20616e636573746f722074686572656f662e006c456d69747320604174746573746174696f6e52656d6f766564602e002823203c7765696768743e0d015765696768743a204f285029207768657265205020697320746865206e756d626572206f6620737465707320726571756972656420746f2076657269667920746861740901746865206469737061746368204f726967696e20636f6e74726f6c73207468652064656c65676174696f6e20656e7469746c656420746f207265766f6b6520746865c86174746573746174696f6e2e20497420697320626f756e64656420627920606d61785f706172656e745f636865636b73602ee82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2064656c65676174696f6e3a3a526f6f7473d82d205265616473207065722064656c65676174696f6e207374657020503a2064656c65676174696f6e3a3a44656c65676174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e000324d05265636c61696d20612073746f72616765206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e0064456d69747320604465706f7369745265636c61696d6564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e73b42d205772697465733a204174746573746174696f6e732c2044656c6567617465644174746573746174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572040128636c61696d5f686173682c0138436c61696d486173684f663c543e00041c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00ec546865207375626a656374206f66207468652063616c6c206d757374206265207468652061747465737465722077686f206973737565732074686509016174746573746174696f6e2e205468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f736974040128636c61696d5f686173682c0138436c61696d486173684f663c543e00050cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e410404184f7074696f6e0404540145040108104e6f6e6500000010536f6d6504004504000001000045040c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c50616c6c6574417574686f72697a65043044656c65676174696f6e416301490401042844656c65676174696f6e04004904013044656c65676174696f6e41630000000049040c2864656c65676174696f6e386163636573735f636f6e74726f6c3044656c65676174696f6e4163040454014d040008013c7375626a6563745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e0001286d61785f636865636b731c010c75333200004d0408447370697269746e65745f72756e74696d651c52756e74696d650000000051040c2864656c65676174696f6e1870616c6c65741043616c6c04045400011c406372656174655f686965726172636879080130726f6f745f6e6f64655f69642c015444656c65676174696f6e4e6f646549644f663c543e00012863747970655f686173682c01384374797065486173684f663c543e00006401014372656174652061206e65772064656c65676174696f6e20726f6f74206173736f6369617465642077697468206120676976656e20435479706520686173682e00f8546865206e657720726f6f742077696c6c20616c6c6f772061206e65772074727573742068696572617263687920746f2062652063726561746564206279a0616464696e67206368696c6472656e2064656c65676174696f6e7320746f2074686520726f6f742e000d015468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652049442073746f726564206f6e20636861696e2c207768696c65fc7468657265206d75737420626520616c7265616479206120435479706520776974682074686520676976656e20686173682073746f72656420696e207468653443547970652070616c6c65742e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0050456d6974732060526f6f7443726561746564602e002823203c7765696768743e305765696768743a204f283129a02d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c204354797065733c2d205772697465733a20526f6f74732c23203c2f7765696768743e386164645f64656c65676174696f6e14013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e000124706172656e745f69642c015444656c65676174696f6e4e6f646549644f663c543e00012064656c656761746500014044656c656761746f7249644f663c543e00012c7065726d697373696f6e730901012c5065726d697373696f6e7300014864656c65676174655f7369676e61747572655504016844656c65676174655369676e6174757265547970654f663c543e000180744372656174652061206e65772064656c65676174696f6e206e6f64652e00f4546865206e65772064656c65676174696f6e206e6f646520726570726573656e74732061206e65772074727573742068696572617263687920746861740d01636f6e73696465727320746865206e6577206e6f64652061732069747320726f6f742e20546865206f776e6572206f662074686973206e6f6465206861732066756c6ce0636f6e74726f6c206f76657220616e79206f66206974732064697265637420616e6420696e6469726563742064657363656e64616e74732e00fc466f7220746865206372656174696f6e20746f20737563636565642c207468652064656c656761746565206d7573742070726f7669646520612076616c696411017369676e6174757265206f766572207468652028626c616b65323536292068617368206f6620746865206372656174696f6e206f7065726174696f6e2064657461696c731101776869636820696e636c7564652028696e206f72646572292064656c65676174696f6e2069642c20726f6f74206e6f64652069642c20706172656e742069642c20616e64707065726d697373696f6e73206f6620746865206e6577206e6f64652e00f45468657265206d757374206265206e6f2064656c65676174696f6e2077697468207468652073616d652069642073746f726564206f6e20636861696e2e0501467572746865726d6f72652c20746865207265666572656e63656420726f6f7420616e6420706172656e74206e6f646573206d75737420616c7265616479206265050170726573656e74206f6e20636861696e20616e6420636f6e7461696e207468652076616c6964207065726d697373696f6e7320616e64207265766f636174696f6e6c7374617475732028692e652e2c206e6f74207265766f6b6564292e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e000d015265717569726573207468652073656e646572206f6620746865207472616e73616374696f6e20746f206861766520612072657365727661626c652062616c616e6365886f66206174206c6561737420604465706f73697460206d616e7920746f6b656e732e0068456d697473206044656c65676174696f6e43726561746564602e002823203c7765696768743e305765696768743a204f283129b42d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2044656c65676174696f6e73542d205772697465733a2044656c65676174696f6e732c23203c2f7765696768743e447265766f6b655f64656c65676174696f6e0c013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001446d61785f706172656e745f636865636b731c010c75333200013c6d61785f7265766f636174696f6e731c010c753332000274f85265766f6b6520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00fc446f6573206e6f7420726566756e64207468652064656c65676174696f6e206261636b20746f20746865206465706f736974206f776e657220617320746865f06e6f6465206973207374696c6c2073746f726564206f6e20636861696e2e20526571756972657320746f206164646974696f6e616c6c792063616c6cb46072656d6f76655f64656c65676174696f6e6020746f20756e7265736572766520746865206465706f7369742e0009015265766f6b696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67090166726f6d2074686520676976656e206e6f6465206265696e67207265766f6b65642e204e657665727468656c6573732c207265766f636174696f6e20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f6465206973207265766f6b65642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e73696465726564207265766f6b65642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e5265766f6b6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e802d205772697465733a20526f6f74732c2043202a2044656c65676174696f6e732c23203c2f7765696768743e4472656d6f76655f64656c65676174696f6e08013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000370f852656d6f766520612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74206e6f64652920616e6420616c6c20697473246368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e0098546865206469737061746368206f726967696e206d7573742062652073706c697420696e746f0d012a2061207375626d6974746572206f66207479706520604163636f756e744964602077686f20697320726573706f6e7369626c6520666f7220706179696e67207468655420207472616e73616374696f6e2066656520616e6409012a206120444944207375626a656374206f662074797065206044656c65676174696f6e456e746974794964602077686f20637265617465732c206f776e7320616e6470202063616e207265766f6b65207468652064656c65676174696f6e2e0078456d6974732043202a206044656c65676174696f6e52656d6f766564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f6368696c6472656e602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c731c010c753332000460f45265636c61696d20746865206465706f73697420666f7220612064656c65676174696f6e206e6f64652028706f74656e7469616c6c79206120726f6f74b86e6f6465292c2072656d6f76696e6720746865206e6f646520616e6420616c6c20697473206368696c6472656e2e00f052657475726e73207468652064656c65676174696f6e206465706f73697420746f20746865206465706f736974206f776e657220666f722065616368a472656d6f7665642044656c65676174696f6e4e6f646520627920756e726573657276696e672069742e00090152656d6f76696e6720612064656c65676174696f6e206e6f646520726573756c747320696e2074686520747275737420686965726172636879207374617274696e67fc66726f6d2074686520676976656e206e6f6465206265696e672072656d6f7665642e204e657665727468656c6573732c2072656d6f76616c20737461727473090166726f6d20746865206c65617665206e6f64657320757077617264732c20736f20696620746865206f7065726174696f6e20656e6473207072656d61747572656c791101626563617573652069742072756e73206f7574206f66206761732c207468652064656c65676174696f6e20737461746520776f756c6420626520636f6e73697374656e7401016173206e6f206368696c6420776f756c64202273757276697665222069747320706172656e742e204173206120636f6e73657175656e63652c206966207468650d01676976656e206e6f64652069732072656d6f7665642c2074686520747275737420686965726172636879207769746820746865206e6f646520617320726f6f7420697364746f20626520636f6e736964657265642072656d6f7665642e000d01546865206469737061746368206f726967696e206d757374206265207369676e6564206279207468652064656c65676174696f6e206465706f736974206f776e65722e004c604465706f7369745265636c61696d6564602e002823203c7765696768743e01015765696768743a204f284329207768657265204320697320746865206e756d626572206f66206368696c6472656e206f66207468652064656c65676174696f6ea06e6f646520776869636820697320626f756e64656420627920606d61785f72656d6f76616c73602e01012d2052656164733a205b4f726967696e204163636f756e745d2c20526f6f74732c2043202a2044656c65676174696f6e732c2043202a204368696c6472656e2e902d205772697465733a20526f6f74732c2032202a2043202a2044656c65676174696f6e732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e000501546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652064656c65676174696f6e206e6f64652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013464656c65676174696f6e5f69642c015444656c65676174696f6e4e6f646549644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e55040c0c6469642c6469645f64657461696c73304469645369676e617475726500010c1c45643235353139040059040148656432353531393a3a5369676e61747572650000001c53723235353139040061040148737232353531393a3a5369676e617475726500010014456364736104006504014065636473613a3a5369676e61747572650002000059040c1c73705f636f72651c65643235353139245369676e6174757265000004005d0401205b75383b2036345d00005d0400000340000000080061040c1c73705f636f72651c73723235353139245369676e6174757265000004005d0401205b75383b2036345d000065040c1c73705f636f7265146563647361245369676e617475726500000400690401205b75383b2036355d000069040000034100000008006d040c0c6469641870616c6c65741043616c6c04045400013c1863726561746508011c64657461696c7371040170426f783c4469644372656174696f6e44657461696c734f663c543e3e0001247369676e6174757265550401304469645369676e617475726500007cec53746f72652061206e657720444944206f6e20636861696e2c20616674657220766572696679696e67207468617420746865206372656174696f6e05016f7065726174696f6e20686173206265656e207369676e656420627920746865204b494c54206163636f756e74206173736f63696174656420776974682074686501016964656e746966696572206f662074686520444944206265696e67206372656174656420616e6420746861742061204449442077697468207468652073616d6511016964656e74696669657220686173206e6f742070726576696f75736c792065786973746564206f6e2028616e64207468656e2064656c657465642066726f6d292074686518636861696e2e000d015468657265206d757374206265206e6f2044494420696e666f726d6174696f6e2073746f726564206f6e20636861696e20756e646572207468652073616d65204449442c6964656e7469666965722e00fc546865206e6577206b65797320616464656420776974682074686973206f7065726174696f6e206172652073746f72656420756e646572207468652044494405016964656e74696669657220616c6f6e6720776974682074686520626c6f636b206e756d62657220696e20776869636820746865206f7065726174696f6e207761732465786563757465642e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e004c456d697473206044696443726561746564602e002823203c7765696768743e0d012d20546865207472616e73616374696f6e277320636f6d706c6578697479206973206d61696e6c7920646570656e64656e74206f6e20746865206e756d626572206f66010120206e6577206b65792061677265656d656e74206b65797320616e6420746865206e756d626572206f66206e6577207365727669636520656e64706f696e7473702020696e636c7564656420696e20746865206f7065726174696f6e2e242d2d2d2d2d2d2d2d2df85765696768743a204f284b29202b204f284e29207768657265204b20697320746865206e756d626572206f66206e6577206b65792061677265656d656e7409016b65797320626f756e64656420627920604d61784e65774b657941677265656d656e744b657973602c207768696c65204e20697320746865206e756d626572206f66f46e6577207365727669636520656e64706f696e747320626f756e64656420627920604d61784e756d6265724f665365727669636573506572446964602eb02d2052656164733a205b4f726967696e204163636f756e745d2c204469642c20446964426c61636b6c697374fc2d205772697465733a20446964202877697468204b206e6577206b65792061677265656d656e74206b657973292c2053657276696365456e64706f696e7473cc20202877697468204e206e6577207365727669636520656e64706f696e7473292c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e587365745f61757468656e7469636174696f6e5f6b657904011c6e65775f6b6579ad040148446964566572696669636174696f6e4b65790001408855706461746520746865204449442061757468656e7469636174696f6e206b65792e00ec546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696620697420697309016e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f207468654c736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e487365745f64656c65676174696f6e5f6b657904011c6e65775f6b6579ad040148446964566572696669636174696f6e4b657900024094536574206f722075706461746520746865204449442064656c65676174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5472656d6f76655f64656c65676174696f6e5f6b657900033c7852656d6f766520746865204449442064656c65676174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e4c7365745f6174746573746174696f6e5f6b657904011c6e65775f6b6579ad040148446964566572696669636174696f6e4b657900044098536574206f72207570646174652074686520444944206174746573746174696f6e206b65792e000d01496620616e206f6c64206b657920657869737465642c2069742069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b65797320696611016974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e20546865206e6577206b657920697320616464656420746f5c74686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e5872656d6f76655f6174746573746174696f6e5f6b657900053c7c52656d6f76652074686520444944206174746573746174696f6e206b65792e00d4546865206f6c64206b65792069732064656c657465642066726f6d2074686520736574206f66207075626c6963206b657973206966b06974206973206e6f74207573656420696e20616e79206f746865722070617274206f6620746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e546164645f6b65795f61677265656d656e745f6b657904011c6e65775f6b65799d040140446964456e6372797074696f6e4b6579000638b841646420612073696e676c65206e6577206b65792061677265656d656e74206b657920746f20746865204449442e00bc546865206e6577206b657920697320616464656420746f2074686520736574206f66207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e6072656d6f76655f6b65795f61677265656d656e745f6b65790401186b65795f69642c01284b657949644f663c543e000734050152656d6f7665206120444944206b65792061677265656d656e74206b65792066726f6d20626f74682069747320736574206f66206b65792061677265656d656e74906b65797320616e642061732077656c6c20617320697473207075626c6963206b6579732e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506164645f736572766963655f656e64706f696e74040140736572766963655f656e64706f696e7479040138446964456e64706f696e743c543e000830bc4164642061206e6577207365727669636520656e64706f696e7420756e6465722074686520676976656e204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f2831290d012d2052656164733a205b4f726967696e204163636f756e745d2c204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e5c72656d6f76655f736572766963655f656e64706f696e74040128736572766963655f69647d04015053657276696365456e64706f696e7449643c543e000930d452656d6f76652074686520736572766963652077697468207468652070726f76696465642049442066726f6d20746865204449442e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696455706461746564602e002823203c7765696768743e305765696768743a204f283129f82d2052656164733a205b4f726967696e204163636f756e745d2c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e74c82d205772697465733a204469642c2053657276696365456e64706f696e74732c20446964456e64706f696e7473436f756e742c23203c2f7765696768743e1864656c65746504014c656e64706f696e74735f746f5f72656d6f76651c010c753332000a600d0144656c6574652061204449442066726f6d2074686520636861696e20616e6420616c6c20696e666f726d6174696f6e206173736f63696174656420776974682069742c1101616674657220766572696679696e672074686174207468652064656c657465206f7065726174696f6e20686173206265656e207369676e65642062792074686520444944fc7375626a656374207573696e67207468652061757468656e7469636174696f6e206b65792063757272656e746c792073746f726564206f6e20636861696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e00e0546865206469737061746368206f726967696e206d757374206265206120444944206f726967696e2070726f78696564207669612074686570607375626d69745f6469645f63616c6c602065787472696e7369632e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7265636c61696d5f6465706f73697408012c6469645f7375626a6563740001484469644964656e7469666965724f663c543e00014c656e64706f696e74735f746f5f72656d6f76651c010c753332000b54f45265636c61696d2061206465706f73697420666f722061204449442e20546869732077696c6c2064656c657465207468652044494420616e6420616c6c0901696e666f726d6174696f6e206173736f63696174656420776974682069742c20616674657220766572696679696e672074686174207468652063616c6c657220697364746865206f776e6572206f6620746865206465706f7369742e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f7265207468657864656c657465206f7065726174696f6e206973206576616c75617465642e00f441667465722069742069732064656c657465642c2061204449442077697468207468652073616d65206964656e7469666965722063616e6e6f742062655872652d63726561746564206576657220616761696e2e00010141732074686520726573756c74206f66207468652064656c6574696f6e2c20616c6c20747261636573206f662074686520444944206172652072656d6f766564e866726f6d207468652073746f726167652c20776869636820726573756c747320696e2074686520696e76616c69646174696f6e206f6620616c6c9c6174746573746174696f6e73206973737565642062792074686520444944207375626a6563742e004c456d697473206044696444656c65746564602e002823203c7765696768743e305765696768743a204f283129782d2052656164733a205b4f726967696e204163636f756e745d2c20446964cc2d204b696c6c733a2044696420656e747279206173736f63696174656420746f2074686520444944206964656e7469666965722c23203c2f7765696768743e3c7375626d69745f6469645f63616c6c0801206469645f63616c6cc1040190426f783c446964417574686f72697a656443616c6c4f7065726174696f6e4f663c543e3e0001247369676e6174757265550401304469645369676e6174757265000c8cec50726f7879206120646973706174636861626c652063616c6c206f6620616e6f746865722072756e74696d652065787472696e736963207468617458737570706f727473206120444944206f726967696e2e000501546865207265666572656e63656420444944206964656e746966696572206d7573742062652070726573656e74206f6e20636861696e206265666f726520746865606f7065726174696f6e20697320646973706174636865642e00fc412063616c6c207375626d6974746564207468726f75676820746869732065787472696e736963206d757374206265207369676e65642077697468207468650901726967687420444944206b65792c20646570656e64696e67206f6e207468652063616c6c2e205468697320696e666f726d6174696f6e2069732070726f766964656409016279207468652060446964417574686f72697a656443616c6c4f7065726174696f6e6020706172616d657465722c20776869636820737065636966696573207468650901444944207375626a65637420616374696e6720617320746865206f726967696e206f66207468652063616c6c2c2074686520444944277320747820636f756e7465720101286e6f6e6365292c2074686520646973706174636861626c6520746f2063616c6c20696e2063617365207369676e617475726520766572696669636174696f6ef073756363656564732c207468652074797065206f6620444944206b657920746f2075736520746f2076657269667920746865206f7065726174696f6efc7369676e61747572652c20616e642074686520626c6f636b206e756d62657220746865206f7065726174696f6e2077617320746172676574696e6720666f72a8696e636c7573696f6e2c207768656e20697420776173206372656174656420616e64207369676e65642e00fc496e206361736520746865207369676e617475726520697320696e636f72726563742c20746865206e6f6e6365206973206e6f742076616c69642c20746865fc7265717569726564206b6579206973206e6f742070726573656e7420666f722074686520737065636966696564204449442c206f722074686520626c6f636bfc73706563696669656420697320746f6f206f6c642074686520766572696669636174696f6e206661696c7320616e64207468652063616c6c206973206e6f74f4646973706174636865642e204f74686572776973652c207468652063616c6c2069732070726f7065726c79206469737061746368656420776974682061b8604469644f726967696e60206f726967696e20696e6469636174696e672074686520444944207375626a6563742e00110141207375636365737366756c206469737061746368206f7065726174696f6e20726573756c747320696e2074686520747820636f756e746572206173736f6369617465640501776974682074686520676976656e2044494420746f20626520696e6372656d656e7465642c20746f206d69746967617465207265706c61792061747461636b732e000101546865206469737061746368206f726967696e2063616e20626520616e79204b494c54206163636f756e74207769746820656e6f7567682066756e647320746f0d0165786563757465207468652065787472696e73696320616e6420697420646f6573206e6f74206861766520746f206265207469656420696e20616e792077617920746fb4746865204b494c54206163636f756e74206964656e74696679696e672074686520444944207375626a6563742e0068456d697473206044696443616c6c44697370617463686564602e002823203c7765696768743eb05765696768743a204f283129202b20776569676874206f662074686520646973706174636865642063616c6c782d2052656164733a205b4f726967696e204163636f756e745d2c20446964342d205772697465733a204469642c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e6572000d1c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00b8546865207375626a656374206f66207468652063616c6c206d7573742062652074686520646964206f776e65722ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404010c6469640001484469644964656e7469666965724f663c543e000e0cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e71040c0c6469642c6469645f64657461696c73484469644372656174696f6e44657461696c7310344469644964656e7469666965720100244163636f756e7449640100584d61784e65774b657941677265656d656e744b6579730175042c446964456e64706f696e740179040018010c6469640001344469644964656e7469666965720001247375626d69747465720001244163636f756e7449640001586e65775f6b65795f61677265656d656e745f6b657973990401c04469644e65774b657941677265656d656e744b65795365743c4d61784e65774b657941677265656d656e744b6579733e00014c6e65775f6174746573746174696f6e5f6b6579a90401684f7074696f6e3c446964566572696669636174696f6e4b65793e0001486e65775f64656c65676174696f6e5f6b6579a90401684f7074696f6e3c446964566572696669636174696f6e4b65793e00014c6e65775f736572766963655f64657461696c73bd0401405665633c446964456e64706f696e743e00007504103872756e74696d655f636f6d6d6f6e24636f6e7374616e74730c646964584d61784e65774b657941677265656d656e744b6579730000000079040c0c64696444736572766963655f656e64706f696e74732c446964456e64706f696e7404045400000c010869647d04015053657276696365456e64706f696e7449643c543e000134736572766963655f74797065738104017453657276696365456e64706f696e7454797065456e74726965733c543e00011075726c738d04017053657276696365456e64706f696e7455726c456e74726965733c543e00007d040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000081040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454018504045300000400890401185665633c543e000085040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000089040000028504008d040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454019104045300000400950401185665633c543e000091040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000950400000291040099040c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454019d04045300000400a104012c42547265655365743c543e00009d040c0c6469642c6469645f64657461696c7340446964456e6372797074696f6e4b65790001041858323535313904000401205b75383b2033325d00000000a10404204254726565536574040454019d04000400a504000000a5040000029d0400a90404184f7074696f6e04045401ad040108104e6f6e6500000010536f6d650400ad040000010000ad040c0c6469642c6469645f64657461696c7348446964566572696669636174696f6e4b657900010c1c456432353531390400b104013c656432353531393a3a5075626c69630000001c5372323535313904002903013c737232353531393a3a5075626c69630001001445636473610400b504013465636473613a3a5075626c696300020000b1040c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d0000b5040c1c73705f636f7265146563647361185075626c696300000400b90401205b75383b2033335d0000b904000003210000000800bd04000002790400c1040c0c6469642c6469645f64657461696c7368446964417574686f72697a656443616c6c4f7065726174696f6e14344469644964656e74696669657201002c44696443616c6c61626c6501b5032c426c6f636b4e756d6265720110244163636f756e7449640100245478436f756e74657201100014010c6469640001344469644964656e74696669657200012874785f636f756e7465721001245478436f756e74657200011063616c6cb503012c44696443616c6c61626c65000130626c6f636b5f6e756d62657210012c426c6f636b4e756d6265720001247375626d69747465720001244163636f756e7449640000c5040c4470616c6c65745f6469645f6c6f6f6b75701870616c6c65741043616c6c04045400011c446173736f63696174655f6163636f756e7408010c726571c904015c4173736f63696174654163636f756e745265717565737400012865787069726174696f6e1001a03c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a426c6f636b4e756d62657200004405014173736f63696174652074686520676976656e206163636f756e7420746f2074686520444944207468617420617574686f72697a656420746869732063616c6c2e000501546865206163636f756e742068617320746f207369676e207468652044494420616e64206120626c6f636b6e756d62657220616674657220776869636820746865e07369676e6174757265206578706972657320696e206f7264657220746f20617574686f72697a6520746865206173736f63696174696f6e2e001101546865207369676e61747572652077696c6c20626520636865636b656420616761696e737420746865207363616c6520656e636f646564207475706c65206f66207468650d016d6574686f64207370656369666963206964206f662074686520646964206964656e74696669657220616e642074686520626c6f636b206e756d626572206166746572bc776869636820746865207369676e61747572652073686f756c6420626520726567617264656420696e76616c69642e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e406173736f63696174655f73656e64657200012c01014173736f6369617465207468652073656e646572206f66207468652063616c6c20746f2074686520444944207468617420617574686f72697a656420746869731463616c6c2e001101456d69747320604173736f63696174696f6e45737461626c69736865646020616e642c206f7074696f6e616c6c792c20604173736f63696174696f6e52656d6f76656460d069662074686572652077617320612070726576696f7573206173736f63696174696f6e20666f7220746865206163636f756e742e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6472656d6f76655f73656e6465725f6173736f63696174696f6e000228fc52656d6f766520746865206173736f63696174696f6e206f66207468652073656e646572206163636f756e742e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865204449442c206275742072657175697265732061207369676e6564206f726967696e2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e6872656d6f76655f6163636f756e745f6173736f63696174696f6e04011c6163636f756e74150101444c696e6b61626c654163636f756e74496400032c110152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742049442e20546869732063616c6c20646f65736e27740d01726571756972652074686520617574686f72697a6174696f6e206f6620746865206163636f756e742049442c2062757420746865206173736f63696174656420444944c46e6565647320746f206d617463682074686520444944207468617420617574686f72697a656420746869732063616c6c2e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129f42d2052656164733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e7473202b20444944204f726967696e20436865636bac2d205772697465733a20436f6e6e656374656444696473202b20436f6e6e65637465644163636f756e74732c23203c2f7765696768743e3c7265636c61696d5f6465706f73697404011c6163636f756e74150101444c696e6b61626c654163636f756e74496400042c090152656d6f766520746865206173736f63696174696f6e206f66207468652070726f7669646564206163636f756e742e20546869732063616c6c2063616e206f6e6c79f862652063616c6c65642066726f6d20746865206465706f736974206f776e65722e20546865207265736572766564206465706f7369742077696c6c2062651866726565642e006c456d69747320604173736f63696174696f6e52656d6f766564602e002823203c7765696768743e305765696768743a204f283129582d2052656164733a20436f6e6e6563746564446964735c2d205772697465733a20436f6e6e6563746564446964732c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657204011c6163636f756e74150101444c696e6b61626c654163636f756e74496400051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00d8546865207375626a656374206f66207468652063616c6c206d757374206265206c696e6b656420746f20746865206163636f756e742ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404011c6163636f756e74150101444c696e6b61626c654163636f756e74496400060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ec9040c4470616c6c65745f6469645f6c6f6f6b7570646173736f63696174655f6163636f756e745f726571756573745c4173736f63696174654163636f756e745265717565737400010820506f6c6b61646f74080000012c4163636f756e74496433320000cd0401384d756c74695369676e617475726500000020457468657265756d08001901012c4163636f756e74496432300000d1040144457468657265756d5369676e617475726500010000cd04082873705f72756e74696d65384d756c74695369676e617475726500010c1c45643235353139040059040148656432353531393a3a5369676e61747572650000001c53723235353139040061040148737232353531393a3a5369676e617475726500010014456364736104006504014065636473613a3a5369676e617475726500020000d1040c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e7444457468657265756d5369676e6174757265000004006504014065636473613a3a5369676e61747572650000d5040c4470616c6c65745f776562335f6e616d65731870616c6c65741043616c6c04045400011c14636c61696d0401106e616d6529010140576562334e616d65496e7075743c543e00003ce841737369676e2074686520737065636966696564206e616d6520746f20746865206f776e65722061732073706563696669656420696e207468651c6f726967696e2e000d01546865206e616d65206d757374206e6f74206861766520616c7265616479206265656e20636c61696d656420627920736f6d656f6e6520656c736520616e6420746865a06f776e6572206d757374206e6f7420616c7265616479206f776e20616e6f74686572206e616d652e00dc456d6974732060576562334e616d65436c61696d65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f28312909012d2052656164733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b20617661696c61626c652063757272656e6379582020636865636b202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f73697420726573657276652c23203c2f7765696768743e4072656c656173655f62795f6f776e6572000130a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e00cc546865206f726967696e206d75737420626520746865206f776e6572206f662074686520737065636966696564206e616d652e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204e616d65732073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e3c7265636c61696d5f6465706f7369740401106e616d6529010140576562334e616d65496e7075743c543e000230a452656c65617365207468652070726f7669646564206e616d652066726f6d20697473206f776e65722e000101546865206f726967696e206d75737420626520746865206163636f756e742074686174207061696420666f7220746865206e616d652773206465706f7369742e00e0456d6974732060576562334e616d6552656c65617365646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129ac2d2052656164733a204f776e65722073746f7261676520656e747279202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722073746f7261676520656e7472696573202b2063757272656e6379206465706f7369742072656c656173652c23203c2f7765696768743e0c62616e0401106e616d6529010140576562334e616d65496e7075743c543e0003402c42616e2061206e616d652e00f4412062616e6e6564206e616d652063616e6e6f7420626520636c61696d656420627920616e796f6e652e20546865206e616d652773206465706f7369748869732072657475726e656420746f20746865206f726967696e616c2070617965722e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00d8456d6974732060576562334e616d6542616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129f02d2052656164733a2042616e6e65642c204f776e65722c204e616d65732073746f7261676520656e7472696573202b206f726967696e20636865636b05012d205772697465733a204e616d65732c204f776e65722c2042616e6e65642073746f7261676520656e7472696573202b2063757272656e6379206465706f73697424202072656c656173652c23203c2f7765696768743e14756e62616e0401106e616d6529010140576562334e616d65496e7075743c543e00043834556e62616e2061206e616d652e00704d616b652061206e616d6520636c61696d61626c6520616761696e2e0088546865206f726967696e206d757374206265207468652062616e206f726967696e2e00e0456d6974732060576562334e616d65556e62616e6e65646020696620746865206f7065726174696f6e2069732063617272696564206f7574347375636365737366756c6c792e002823203c7765696768743e305765696768743a204f283129b02d2052656164733a2042616e6e65642073746f7261676520656e747279202b206f726967696e20636865636bb82d205772697465733a2042616e6e65642073746f7261676520656e747279206465706f7369742072656c656173652c23203c2f7765696768743e506368616e67655f6465706f7369745f6f776e657200051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00e8546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f662074686520776562336e616d652ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f7369740401286e616d655f696e70757429010140576562334e616d65496e7075743c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632ed9040c487075626c69635f63726564656e7469616c731870616c6c65741043616c6c04045400011c0c61646404012863726564656e7469616cdd040164426f783c496e70757443726564656e7469616c4f663c543e3e000018a852656769737465722061206e6577207075626c69632063726564656e7469616c206f6e20636861696e2e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c2077697468207468652073616d65206964656e74696669657220616c72656164798465786973747320666f722074686520737065636966696564207375626a6563742e0064456d697473206043726564656e7469616c53746f726564602e187265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000120705265766f6b65732061207075626c69632063726564656e7469616c2e001101496620612063726564656e7469616c2077617320616c7265616479207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f207265766f6b65207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c5265766f6b6564602e20756e7265766f6b6508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00022478556e7265766f6b65732061207075626c69632063726564656e7469616c2e000101496620612063726564656e7469616c20776173206e6f74207265766f6b65642c20746869732066756e6374696f6e20646f6573206e6f74206661696c206275746473696d706c7920726573756c747320696e2061206e6f6f702e00d8546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f20756e7265766f6b65207468652c63726564656e7469616c2e0070456d697473206043726564656e7469616c556e7265766f6b6564602e1872656d6f766508013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6e410401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e000344fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d2074686518636861696e2e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000101546865206469737061746368206f726967696e206d75737420626520617574686f72697a656420746f2072656d6f7665207468652063726564656e7469616c2e0068456d697473206043726564656e7469616c52656d6f766564602e3c7265636c61696d5f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e000448fc52656d6f7665732074686520696e666f726d6174696f6e207065727461696e696e672061207075626c69632063726564656e7469616c2066726f6d20746865ac636861696e20616e642072657475726e7320746865206465706f73697420746f206974732070617965722e0009015468652072656d6f76616c206f66207468652063726564656e7469616c20646f6573206e6f742064656c65746520697420656e746972656c792066726f6d207468650501626c6f636b636861696e20686973746f72792c20627574206f6e6c7920697473206c696e6b202a66726f6d2a2074686520626c6f636b636861696e2073746174659c2a746f2a2074686520626c6f636b636861696e20686973746f72792069732072656d6f7665642e00cc436c69656e74732070617273696e67207075626c69632063726564656e7469616c732073686f756c6420696e746572707265740101746865206c61636b206f6620737563682061206c696e6b2061732074686520666163742074686174207468652063726564656e7469616c20686173206265656eb872656d6f7665642062792069747320617474657374657220736f6d652074696d6520696e2074686520706173742e001101546869732066756e6374696f6e206661696c7320696620612063726564656e7469616c20616c72656164792065786973747320666f722074686520737065636966696564207375626a6563742e000d01546865206469737061746368206f726967696e206d75737420626520746865206f776e6572206f6620746865206465706f7369742c2068656e6365206e6f74207468655863726564656e7469616c27732061747465737465722e0068456d697473206043726564656e7469616c52656d6f766564602e506368616e67655f6465706f7369745f6f776e657204013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00051c684368616e67657320746865206465706f736974206f776e65722e0005015468652062616c616e63652074686174206973207265736572766564206279207468652063757272656e74206465706f736974206f776e65722077696c6c206265f4667265656420616e642062616c616e6365206f6620746865206e6577206465706f736974206f776e65722077696c6c206765742072657365727665642e00f0546865207375626a656374206f66207468652063616c6c206d75737420626520746865206f776e6572206f66207468652063726564656e7469616c2ed45468652073656e646572206f66207468652063616c6c2077696c6c20626520746865206e6577206465706f736974206f776e65722e387570646174655f6465706f73697404013463726564656e7469616c5f69642c014443726564656e7469616c49644f663c543e00060cdc5570646174657320746865206465706f73697420616d6f756e7420746f207468652063757272656e74206465706f73697420726174652e00945468652073656e646572206d75737420626520746865206465706f736974206f776e65722e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632edd040c487075626c69635f63726564656e7469616c732c63726564656e7469616c732843726564656e7469616c1024437479706548617368012c445375626a6563744964656e74696669657201e10418436c61696d7301e50434416363657373436f6e74726f6c0145040010012863747970655f686173682c012443747970654861736800011c7375626a656374e10401445375626a6563744964656e746966696572000118636c61696d73e5040118436c61696d73000134617574686f72697a6174696f6e410401544f7074696f6e3c416363657373436f6e74726f6c3e0000e1040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000e5040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e0000e9040c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c65741043616c6c0404540001104c7365745f76616c69646174696f6e5f6461746104011064617461ed04015450617261636861696e496e686572656e744461746100002480536574207468652063757272656e742076616c69646174696f6e20646174612e004101546869732073686f756c6420626520696e766f6b65642065786163746c79206f6e63652070657220626c6f636b2e2049742077696c6c2070616e6963206174207468652066696e616c697a6174696f6e887068617365206966207468652063616c6c20776173206e6f7420696e766f6b65642e00d0546865206469737061746368206f726967696e20666f7220746869732063616c6c206d7573742062652060496e686572656e7460002101417320612073696465206566666563742c20746869732066756e6374696f6e207570677261646573207468652063757272656e742076616c69646174696f6e2066756e6374696f6e8469662074686520617070726f7072696174652074696d652068617320636f6d652e607375646f5f73656e645f7570776172645f6d65737361676504011c6d6573736167653001345570776172644d65737361676500010044617574686f72697a655f75706772616465080124636f64655f686173682c011c543a3a48617368000134636865636b5f76657273696f6ea80110626f6f6c0002206101417574686f72697a6520616e207570677261646520746f206120676976656e2060636f64655f686173686020666f72207468652072756e74696d652e205468652072756e74696d652063616e20626520737570706c696564186c617465722e005d015468652060636865636b5f76657273696f6e6020706172616d657465722073657473206120626f6f6c65616e20666c616720666f722077686574686572206f72206e6f74207468652072756e74696d6527732073706563610176657273696f6e20616e64206e616d652073686f756c64206265207665726966696564206f6e20757067726164652e2053696e63652074686520617574686f72697a6174696f6e206f6e6c7920686173206120686173682cb069742063616e6e6f742061637475616c6c7920706572666f726d2074686520766572696669636174696f6e2e007c546869732063616c6c20726571756972657320526f6f74206f726967696e2e60656e6163745f617574686f72697a65645f75706772616465040110636f646530011c5665633c75383e000324550150726f766964652074686520707265696d616765202872756e74696d652062696e617279292060636f64656020666f7220616e2075706772616465207468617420686173206265656e20617574686f72697a65642e00490149662074686520617574686f72697a6174696f6e20726571756972656420612076657273696f6e20636865636b2c20746869732063616c6c2077696c6c20656e73757265207468652073706563206e616d65e872656d61696e7320756e6368616e67656420616e6420746861742074686520737065632076657273696f6e2068617320696e637265617365642e005d014e6f7465207468617420746869732066756e6374696f6e2077696c6c206e6f74206170706c7920746865206e65772060636f6465602c20627574206f6e6c7920617474656d707420746f207363686564756c652074686574757067726164652077697468207468652052656c617920436861696e2e0060416c6c206f726967696e732061726520616c6c6f7765642e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632eed04089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e745450617261636861696e496e686572656e7444617461000010013c76616c69646174696f6e5f64617461f104015c50657273697374656456616c69646174696f6e4461746100014472656c61795f636861696e5f7374617465f904015473705f747269653a3a53746f7261676550726f6f66000144646f776e776172645f6d657373616765730105016c5665633c496e626f756e64446f776e776172644d6573736167653e00014c686f72697a6f6e74616c5f6d65737361676573090501a442547265654d61703c5061726149642c205665633c496e626f756e6448726d704d6573736167653e3e0000f1040c4c706f6c6b61646f745f7072696d6974697665730876325c50657273697374656456616c69646174696f6e44617461080448012c044e011c0010012c706172656e745f68656164f5040120486561644461746100014c72656c61795f706172656e745f6e756d6265721c01044e00016472656c61795f706172656e745f73746f726167655f726f6f742c0104480001306d61785f706f765f73697a651c010c7533320000f5040c48706f6c6b61646f745f70617261636861696e287072696d6974697665732048656164446174610000040030011c5665633c75383e0000f9040c1c73705f747269653473746f726167655f70726f6f663053746f7261676550726f6f660000040128747269655f6e6f646573fd04014442547265655365743c5665633c75383e3e0000fd04042042547265655365740404540130000400a902000000010500000205050005050860706f6c6b61646f745f636f72655f7072696d69746976657358496e626f756e64446f776e776172644d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d62657200010c6d736730013c446f776e776172644d65737361676500000905042042547265654d617008044b01a9010456010d0500040015050000000d0500000211050011050860706f6c6b61646f745f636f72655f7072696d69746976657348496e626f756e6448726d704d657373616765042c426c6f636b4e756d626572011c0008011c73656e745f61741c012c426c6f636b4e756d6265720001106461746130015073705f7374643a3a7665633a3a5665633c75383e00001505000002190500190500000408a9010d05001d050c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c65741043616c6c04045400012448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d697424011857656967687400003484536572766963657320612073696e676c65206f7665727765696768742058434d2e00c02d20606f726967696e603a204d75737420706173732060457865637574654f7665727765696768744f726967696e602ed42d2060696e646578603a2054686520696e646578206f6620746865206f7665727765696768742058434d20746f20736572766963650d012d20607765696768745f6c696d6974603a2054686520616d6f756e74206f662077656967687420746861742058434d20657865637574696f6e206d61792074616b652e001c4572726f72733a5d012d20604261644f766572776569676874496e646578603a2058434d20756e6465722060696e64657860206973206e6f7420666f756e6420696e2074686520604f766572776569676874602073746f72616765206d61702e45012d206042616458636d603a2058434d20756e6465722060696e646578602063616e6e6f742062652070726f7065726c79206465636f64656420696e746f20612076616c69642058434d20666f726d61742e09012d20605765696768744f7665724c696d6974603a2058434d20657865637574696f6e206d617920757365206772656174657220607765696768745f6c696d6974602e001c4576656e74733a8c2d20604f7665727765696768745365727669636564603a204f6e20737563636573732e5473757370656e645f78636d5f657865637574696f6e00010c490153757370656e647320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652c207265676172646c657373206f66207468652073656e6465722773206f726967696e2e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e50726573756d655f78636d5f657865637574696f6e000214b8526573756d657320616c6c2058434d20657865637574696f6e7320666f72207468652058434d502071756575652e003d014e6f7465207468617420746869732066756e6374696f6e20646f65736e2774206368616e67652074686520737461747573206f662074686520696e2f6f757420626f756e64206368616e6e656c732e00a42d20606f726967696e603a204d75737420706173732060436f6e74726f6c6c65724f726967696e602e607570646174655f73757370656e645f7468726573686f6c6404010c6e65771c010c75333200031499014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e2074686520717565756520666f7220746865206f74686572207369646520746f20626520746f6c6420746f5873757370656e642074686569722073656e64696e672e00742d20606f726967696e603a204d75737420706173732060526f6f74602ee82d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e73757370656e645f76616c756560547570646174655f64726f705f7468726573686f6c6404010c6e65771c010c75333200041495014f76657277726974657320746865206e756d626572206f66207061676573206f66206d65737361676573207768696368206d75737420626520696e207468652071756575652061667465722077686963682077652064726f7020616e792066757274686572686d657373616765732066726f6d20746865206368616e6e656c2e00742d20606f726967696e603a204d75737420706173732060526f6f74602eec2d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e64726f705f7468726573686f6c64605c7570646174655f726573756d655f7468726573686f6c6404010c6e65771c010c75333200051491014f76657277726974657320746865206e756d626572206f66207061676573206f66206d6573736167657320776869636820746865207175657565206d757374206265207265647563656420746f206265666f7265206974207369676e616c732074686174ec6d6573736167652073656e64696e67206d6179207265636f6d6d656e636520616674657220697420686173206265656e2073757370656e6465642e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e726573756d655f7468726573686f6c64605c7570646174655f7468726573686f6c645f77656967687404010c6e657724011857656967687400061049014f7665727772697465732074686520616d6f756e74206f662072656d61696e696e672077656967687420756e6465722077686963682077652073746f702070726f63657373696e67206d657373616765732e00742d20606f726967696e603a204d75737420706173732060526f6f74602ef42d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7468726573686f6c645f77656967687460707570646174655f7765696768745f72657374726963745f646563617904010c6e657724011857656967687400071445014f7665727772697465732074686520737065656420746f2077686963682074686520617661696c61626c652077656967687420617070726f616368657320746865206d6178696d756d207765696768742ea50141206c6f776572206e756d62657220726573756c747320696e2061206661737465722070726f6772657373696f6e2e20412076616c7565206f662031206d616b65732074686520656e746972652077656967687420617661696c61626c6520696e697469616c6c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e0d012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e7765696768745f72657374726963745f6465636179602e847570646174655f78636d705f6d61785f696e646976696475616c5f77656967687404010c6e657724011857656967687400081429014f766572777269746520746865206d6178696d756d20616d6f756e74206f662077656967687420616e7920696e646976696475616c206d657373616765206d617920636f6e73756d652e71014d657373616765732061626f766520746869732077656967687420676f20696e746f20746865206f76657277656967687420717565756520616e64206d6179206f6e6c79206265207365727669636564206578706c696369746c792e00742d20606f726967696e603a204d75737420706173732060526f6f74602e21012d20606e6577603a20446573697265642076616c756520666f7220605175657565436f6e666967446174612e78636d705f6d61785f696e646976696475616c5f776569676874602e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e21050c2870616c6c65745f78636d1870616c6c65741043616c6c0404540001281073656e64080110646573747d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011c6d65737361676525050154426f783c56657273696f6e656458636d3c28293e3e0000003c74656c65706f72745f617373657473100110646573747d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172797d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747345020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c75333200013c110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e5c726573657276655f7472616e736665725f617373657473100110646573747d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172797d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747345020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320002404d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602e2054686520776569676874206c696d697420666f722066656573206973206e6f742070726f766964656420616e64207468757320697320756e6c696d697465642cb47769746820616c6c20666565732074616b656e206173206e65656465642066726f6d207468652061737365742e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e1c6578656375746508011c6d657373616765550501c0426f783c56657273696f6e656458636d3c3c5420617320537973436f6e6669673e3a3a52756e74696d6543616c6c3e3e0001286d61785f77656967687424011857656967687400032cd04578656375746520616e2058434d206d6573736167652066726f6d2061206c6f63616c2c207369676e65642c206f726967696e2e004d01416e206576656e74206973206465706f736974656420696e6469636174696e67207768657468657220606d73676020636f756c6420626520657865637574656420636f6d706c6574656c79206f72206f6e6c79287061727469616c6c792e006d014e6f206d6f7265207468616e20606d61785f776569676874602077696c6c206265207573656420696e2069747320617474656d7074656420657865637574696f6e2e2049662074686973206973206c657373207468616e2074686559016d6178696d756d20616d6f756e74206f6620776569676874207468617420746865206d65737361676520636f756c642074616b6520746f2062652065786563757465642c207468656e206e6f20657865637574696f6e54617474656d70742077696c6c206265206d6164652e006d014e4f54453a2041207375636365737366756c2072657475726e20746f207468697320646f6573202a6e6f742a20696d706c7920746861742074686520606d73676020776173206578656375746564207375636365737366756c6c79cc746f20636f6d706c6574696f6e3b206f6e6c792074686174202a736f6d652a206f66206974207761732065786563757465642e44666f7263655f78636d5f76657273696f6e0801206c6f636174696f6eb5010148426f783c4d756c74694c6f636174696f6e3e00012c78636d5f76657273696f6e1c012858636d56657273696f6e00041849014578746f6c6c2074686174206120706172746963756c61722064657374696e6174696f6e2063616e20626520636f6d6d756e6963617465642077697468207468726f756768206120706172746963756c61723c76657273696f6e206f662058434d2e00642d20606f726967696e603a204d75737420626520526f6f742ed82d20606c6f636174696f6e603a205468652064657374696e6174696f6e2074686174206973206265696e67206465736372696265642e11012d206078636d5f76657273696f6e603a20546865206c61746573742076657273696f6e206f662058434d207468617420606c6f636174696f6e6020737570706f7274732e64666f7263655f64656661756c745f78636d5f76657273696f6e0401446d617962655f78636d5f76657273696f6ec10301484f7074696f6e3c58636d56657273696f6e3e0005145901536574206120736166652058434d2076657273696f6e20287468652076657273696f6e20746861742058434d2073686f756c6420626520656e636f646564207769746820696620746865206d6f737420726563656e74b476657273696f6e20612064657374696e6174696f6e2063616e2061636365707420697320756e6b6e6f776e292e00642d20606f726967696e603a204d75737420626520526f6f742e39012d20606d617962655f78636d5f76657273696f6e603a205468652064656661756c742058434d20656e636f64696e672076657273696f6e2c206f7220604e6f6e656020746f2064697361626c652e78666f7263655f7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e7d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000610390141736b2061206c6f636174696f6e20746f206e6f7469667920757320726567617264696e672074686569722058434d2076657273696f6e20616e6420616e79206368616e67657320746f2069742e00642d20606f726967696e603a204d75737420626520526f6f742e59012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f2077686963682077652073686f756c642073756273637269626520666f722058434d2076657273696f6e206e6f74696669636174696f6e732e80666f7263655f756e7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6e7d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e0007184901526571756972652074686174206120706172746963756c61722064657374696e6174696f6e2073686f756c64206e6f206c6f6e676572206e6f7469667920757320726567617264696e6720616e792058434d4076657273696f6e206368616e6765732e00642d20606f726967696e603a204d75737420626520526f6f742e3d012d20606c6f636174696f6e603a20546865206c6f636174696f6e20746f207768696368207765206172652063757272656e746c79207375627363726962656420666f722058434d2076657273696f6ea820206e6f74696669636174696f6e73207768696368207765206e6f206c6f6e676572206465736972652e7c6c696d697465645f726573657276655f7472616e736665725f617373657473140110646573747d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172797d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747345020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69744102012c5765696768744c696d69740008484d015472616e7366657220736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f2074686520736f7665726569676e206163636f756e74206f6620612064657374696e6174696f6e94636861696e20616e6420666f72776172642061206e6f74696669636174696f6e2058434d2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652e85012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546869732073686f756c6420696e636c7564652074686520617373657473207573656420746f207061792074686520666565206f6e2074686538202060646573746020736964652e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e5c6c696d697465645f74656c65706f72745f617373657473140110646573747d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e65666963696172797d02016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747345020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d1c010c7533320001307765696768745f6c696d69744102012c5765696768744c696d6974000944110154656c65706f727420736f6d65206173736574732066726f6d20746865206c6f63616c20636861696e20746f20736f6d652064657374696e6174696f6e20636861696e2e005101466565207061796d656e74206f6e207468652064657374696e6174696f6e2073696465206973206d6164652066726f6d2074686520617373657420696e2074686520606173736574736020766563746f72206f666101696e64657820606665655f61737365745f6974656d602c20757020746f20656e6f75676820746f2070617920666f7220607765696768745f6c696d697460206f66207765696768742e204966206d6f72652077656967687459016973206e6565646564207468616e20607765696768745f6c696d6974602c207468656e20746865206f7065726174696f6e2077696c6c206661696c20616e6420746865206173736574732073656e64206d6179206265206174207269736b2e0029012d20606f726967696e603a204d7573742062652063617061626c65206f66207769746864726177696e672074686520606173736574736020616e6420657865637574696e672058434d2e8d012d206064657374603a2044657374696e6174696f6e20636f6e7465787420666f7220746865206173736574732e2057696c6c207479706963616c6c792062652060583228506172656e742c2050617261636861696e282e2e29296020746f2073656e645901202066726f6d2070617261636861696e20746f2070617261636861696e2c206f72206058312850617261636861696e282e2e29296020746f2073656e642066726f6d2072656c617920746f2070617261636861696e2e89012d206062656e6566696369617279603a20412062656e6566696369617279206c6f636174696f6e20666f72207468652061737365747320696e2074686520636f6e74657874206f66206064657374602e2057696c6c2067656e6572616c6c79206265642020616e20604163636f756e7449643332602076616c75652ead012d2060617373657473603a205468652061737365747320746f2062652077697468647261776e2e20546865206669727374206974656d2073686f756c64206265207468652063757272656e6379207573656420746f20746f207061792074686520666565206f6e2074686580202060646573746020736964652e204d6179206e6f7420626520656d7074792e4d012d20606665655f61737365745f6974656d603a2054686520696e64657820696e746f206061737365747360206f6620746865206974656d2077686963682073686f756c64206265207573656420746f207061791c2020666565732e45012d20607765696768745f6c696d6974603a205468652072656d6f74652d7369646520776569676874206c696d69742c20696620616e792c20666f72207468652058434d206665652070757263686173652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e2505080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010808563204002905015076323a3a58636d3c52756e74696d6543616c6c3e0002000856330400d901015076333a3a58636d3c52756e74696d6543616c6c3e0003000029050c0c78636d0876320c58636d042c52756e74696d6543616c6c000004002d0501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e00002d0500000231050031050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404004902012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404004902012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404004902012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e736535050120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e7366657241737365740801186173736574734902012c4d756c746941737365747300012c62656e6566696369617279590201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574734902012c4d756c746941737365747300011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065290201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c2d020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572c101010c7533320001406d61785f6d6573736167655f73697a65c101010c7533320001306d61785f6361706163697479c101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74c101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72c101010c75333200011873656e646572c101010c753332000124726563697069656e74c101010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e04005d020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374590201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473450501404d756c7469417373657446696c7465720001286d61785f617373657473c101010c75333200012c62656e6566696369617279590201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473450501404d756c7469417373657446696c7465720001286d61785f617373657473c101010c75333200011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e000e003445786368616e6765417373657408011067697665450501404d756c7469417373657446696c74657200011c726563656976654902012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473450501404d756c7469417373657446696c74657200011c72657365727665590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473450501404d756c7469417373657446696c74657200011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374590201344d756c74694c6f636174696f6e000118617373657473450501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e08011066656573510201284d756c746941737365740001307765696768745f6c696d69745105012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204002905014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804002905014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574734902012c4d756c74694173736574730001187469636b6574590201344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b000035050c0c78636d08763220526573706f6e7365000110104e756c6c0000001841737365747304004902012c4d756c74694173736574730001003c457865637574696f6e526573756c740400390501504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e04001c013873757065723a3a56657273696f6e00030000390504184f7074696f6e040454013d050108104e6f6e6500000010536f6d6504003d0500000100003d05000004081c4105004105100c78636d08763218747261697473144572726f72000168204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300444d756c74694c6f636174696f6e46756c6c000400684d756c74694c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c7536340015004c556e68616e646c656458636d56657273696f6e001600485765696768744c696d69745265616368656404001001185765696768740017001c426172726965720018004c5765696768744e6f74436f6d70757461626c65001900004505100c78636d087632286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e69746504004902012c4d756c74694173736574730000001057696c6404004905013857696c644d756c74694173736574000100004905100c78636d087632286d756c746961737365743857696c644d756c746941737365740001080c416c6c00000014416c6c4f6608010869645502011c4173736574496400010c66756e4d05013c57696c6446756e676962696c697479000100004d05100c78636d087632286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c650001000051050c0c78636d0876322c5765696768744c696d697400010824556e6c696d697465640000001c4c696d69746564040028010c753634000100005505080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010808563204005905015076323a3a58636d3c52756e74696d6543616c6c3e00020008563304006905015076333a3a58636d3c52756e74696d6543616c6c3e0003000059050c0c78636d0876320c58636d042c52756e74696d6543616c6c000004005d0501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e00005d0500000261050061050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404004902012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404004902012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404004902012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f696428011c51756572794964000120726573706f6e736535050120526573706f6e73650001286d61785f77656967687428010c753634000300345472616e7366657241737365740801186173736574734902012c4d756c746941737365747300012c62656e6566696369617279590201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574734902012c4d756c746941737365747300011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065290201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428010c75363400011063616c6c65050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572c101010c7533320001406d61785f6d6573736167655f73697a65c101010c7533320001306d61785f6361706163697479c101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74c101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72c101010c75333200011873656e646572c101010c753332000124726563697069656e74c101010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e04005d020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f696428011c5175657279496400011064657374590201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f77656967687428010c753634000c00304465706f73697441737365740c0118617373657473450501404d756c7469417373657446696c7465720001286d61785f617373657473c101010c75333200012c62656e6566696369617279590201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473450501404d756c7469417373657446696c7465720001286d61785f617373657473c101010c75333200011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e000e003445786368616e6765417373657408011067697665450501404d756c7469417373657446696c74657200011c726563656976654902012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473450501404d756c7469417373657446696c74657200011c72657365727665590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473450501404d756c7469417373657446696c74657200011064657374590201344d756c74694c6f636174696f6e00010c78636d2905011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f696428011c5175657279496400011064657374590201344d756c74694c6f636174696f6e000118617373657473450501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f77656967687428010c75363400120030427579457865637574696f6e08011066656573510201284d756c746941737365740001307765696768745f6c696d69745105012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204005905014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804005905014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574734902012c4d756c74694173736574730001187469636b6574590201344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f77656967687428010c753634001a0048556e73756273637269626556657273696f6e001b000065050c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656430011c5665633c75383e000069050c0c78636d0876330c58636d041043616c6c000004006d0501585665633c496e737472756374696f6e3c43616c6c3e3e00006d0500000271050071050c0c78636d0876332c496e737472756374696f6e041043616c6c0001c034576974686472617741737365740400e501012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400e501012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400e501012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f696428011c51756572794964000120726573706f6e736501020120526573706f6e73650001286d61785f77656967687424011857656967687400011c71756572696572250201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e736665724173736574080118617373657473e501012c4d756c746941737365747300012c62656e6566696369617279b50101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473e501012c4d756c746941737365747300011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64290201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737424011857656967687400011063616c6c6505014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572c101010c7533320001406d61785f6d6573736167655f73697a65c101010c7533320001306d61785f6361706163697479c101010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74c101010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72c101010c75333200011873656e646572c101010c753332000124726563697069656e74c101010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400b9010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720400310201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473350201404d756c7469417373657446696c74657200012c62656e6566696369617279b50101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473350201404d756c7469417373657446696c74657200011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e000e003445786368616e676541737365740c011067697665350201404d756c7469417373657446696c74657200011077616e74e501012c4d756c746941737365747300011c6d6178696d616ca80110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473350201404d756c7469417373657446696c74657200011c72657365727665b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473350201404d756c7469417373657446696c74657200011064657374b50101344d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f310201445175657279526573706f6e7365496e666f000118617373657473350201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573ed0101284d756c746941737365740001307765696768745f6c696d69744102012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204006905012458636d3c43616c6c3e0015002c536574417070656e64697804006905012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473e501012c4d756c74694173736574730001187469636b6574b50101344d756c74694c6f636174696f6e0018001054726170040028010c7536340019004053756273637269626556657273696f6e08012071756572795f696428011c5175657279496400014c6d61785f726573706f6e73655f776569676874240118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e41737365740400e501012c4d756c7469417373657473001c002c45787065637441737365740400e501012c4d756c7469417373657473001d00304578706563744f726967696e0400250201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400050201504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e7361637453746174757304001d0201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6530011c5665633c75383e000134726573706f6e73655f696e666f310201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578c101010c7533320001106e616d6530011c5665633c75383e00012c6d6f64756c655f6e616d6530011c5665633c75383e00012c63726174655f6d616a6f72c101010c75333200013c6d696e5f63726174655f6d696e6f72c101010c753332002200505265706f72745472616e736163745374617475730400310201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400bd0101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726bc90101244e6574776f726b496400012c64657374696e6174696f6eb9010154496e746572696f724d756c74694c6f636174696f6e00010c78636dd901011c58636d3c28293e002600244c6f636b41737365740801146173736574ed0101284d756c74694173736574000120756e6c6f636b6572b50101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574ed0101284d756c74694173736574000118746172676574b50101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574ed0101284d756c746941737365740001146f776e6572b50101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574ed0101284d756c746941737365740001186c6f636b6572b50101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177a80110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400b50101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69744102012c5765696768744c696d6974000130636865636b5f6f726967696e250201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f000075050c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c65741043616c6c04045400010448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d6974240118576569676874000004905365727669636520612073696e676c65206f766572776569676874206d6573736167652e042501436f6e7461696e73206f6e652076617269616e742070657220646973706174636861626c6520746861742063616e2062652063616c6c656420627920616e2065787472696e7369632e7905000002ad03007d05000004088105180081050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400350301185665633c543e000085050c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d62657201102050726f706f73616c01b1031c42616c616e6365011801081c4f6e676f696e670400890501c05265666572656e64756d5374617475733c426c6f636b4e756d6265722c2050726f706f73616c2c2042616c616e63653e0000002046696e6973686564080120617070726f766564a80110626f6f6c00010c656e6410012c426c6f636b4e756d6265720001000089050c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d62657201102050726f706f73616c01b1031c42616c616e636501180014010c656e6410012c426c6f636b4e756d62657200012070726f706f73616cb103012050726f706f73616c0001247468726573686f6c64940134566f74655468726573686f6c6400011464656c617910012c426c6f636b4e756d62657200011474616c6c798d05013854616c6c793c42616c616e63653e00008d050c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e6365000091050c4070616c6c65745f64656d6f637261637910766f746518566f74696e67101c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d6265720110204d6178566f746573000108184469726563740c0114766f746573950501f4426f756e6465645665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e73a105015044656c65676174696f6e733c42616c616e63653e0001147072696f72a505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6ebd030128436f6e76696374696f6e00012c64656c65676174696f6e73a105015044656c65676174696f6e733c42616c616e63653e0001147072696f72a505017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0001000095050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540199050453000004009d0501185665633c543e00009905000004081c98009d05000002990500a1050c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e63650000a5050c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201101c42616c616e6365011800080010012c426c6f636b4e756d626572000018011c42616c616e63650000a90500000408b1039400ad050000040810810500b1050c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f720404540001602056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365445265666572656e64756d496e76616c696400090484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d2c4e6f6e6557616974696e67000a04504e6f2070726f706f73616c732077616974696e67204e6f74566f746572000b04c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e000c04c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67000d0488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473000e04fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000f04a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740010085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001104d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650012049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400130450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001404804d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c546f6f4d616e79001504804d6178696d756d206e756d626572206f66206974656d7320726561636865642e3c566f74696e67506572696f644c6f7700160454566f74696e6720706572696f6420746f6f206c6f7740507265696d6167654e6f7445786973740017047054686520707265696d61676520646f6573206e6f742065786973742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909b5050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012c0453000004008d0201185665633c543e0000b905084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572011000140114696e6465781c013450726f706f73616c496e6465780001247468726573686f6c641c012c4d656d626572436f756e7400011061796573350301385665633c4163636f756e7449643e0001106e617973350301385665633c4163636f756e7449643e00010c656e6410012c426c6f636b4e756d6265720000bd050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909c1050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012c0453000004008d0201185665633c543e0000c5050c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909c9050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400350301185665633c543e0000cd050c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909d105083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e63650000d5050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011c045300000400450301185665633c543e0000d9050c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c000004001c010c7533320000dd0504184f7074696f6e04045401180108104e6f6e6500000010536f6d650400180000010000e10508346672616d655f737570706f72742050616c6c6574496400000400fd01011c5b75383b20385d0000e5050c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900011470496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0003084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640004047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e04784572726f7220666f72207468652074726561737572792070616c6c65742ee9050c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909ed050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011104045300000400f10501185665633c543e0000f105000002110400f505083870616c6c65745f76657374696e672052656c656173657300010808563000000008563100010000f9050c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742efd050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010106045300000400090601185665633c543e0000010604184f7074696f6e0404540105060108104e6f6e6500000010536f6d650400050600000100000506084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c01b1032c426c6f636b4e756d62657201103450616c6c6574734f726967696e01ed03244163636f756e7449640100001401206d617962655f6964d001304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6cb103011043616c6c0001386d617962655f706572696f646963190401944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696eed03013450616c6c6574734f726967696e000009060000020106000d060c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909091106000004081506180015060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540119060453000004001d0601185665633c543e00001906083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501d82c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065d8012450726f78795479706500011464656c617910012c426c6f636b4e756d62657200001d060000021906002106000004082506180025060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540129060453000004002d0601185665633c543e00002906083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e74496401001048617368012c2c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173682c01104861736800011868656967687410012c426c6f636b4e756d62657200002d0600000229060031060c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909093506083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f73697439060150284163636f756e7449642c2042616c616e63652900010c6c656e1c010c753332000000245265717565737465640c011c6465706f7369743d0601704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e741c010c75333200010c6c656ec103012c4f7074696f6e3c7533323e000100003906000004080018003d0604184f7074696f6e0404540139060108104e6f6e6500000010536f6d650400390600000100004106000004082c1c0045060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003001185665633c543e000049060c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400011818546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909094d060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400350301185665633c543e000051060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909095506082c70616c6c65745f746970731c4f70656e54697010244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d62657201101048617368012c001c0118726561736f6e2c01104861736800010c77686f0001244163636f756e74496400011866696e6465720001244163636f756e74496400011c6465706f73697418011c42616c616e6365000118636c6f7365735906014c4f7074696f6e3c426c6f636b4e756d6265723e000110746970735d0601645665633c284163636f756e7449642c2042616c616e6365293e00012c66696e646572735f666565a80110626f6f6c0000590604184f7074696f6e04045401100108104e6f6e6500000010536f6d6504001000000100005d0600000239060061060c3473705f61726974686d65746963287065725f7468696e67731c50657263656e74000004000801087538000065060c2c70616c6c65745f746970731870616c6c6574144572726f7208045400044900011830526561736f6e546f6f4269670000048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e00010488546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e5469700002046054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e6465720003041d01546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e0004042901546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d61747572650005043101546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909096906000004080004006d06083c70616c6c65745f6d756c7469736967204d756c7469736967102c426c6f636b4e756d62657201101c42616c616e63650118244163636f756e7449640100304d6178417070726f76616c7300001001107768656ef0015854696d65706f696e743c426c6f636b4e756d6265723e00011c6465706f73697418011c42616c616e63650001246465706f7369746f720001244163636f756e744964000124617070726f76616c737106018c426f756e6465645665633c4163636f756e7449642c204d6178417070726f76616c733e000071060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400350301185665633c543e000075060c3c70616c6c65745f6d756c74697369671870616c6c6574144572726f72040454000138404d696e696d756d5468726573686f6c640000047c5468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f766564000104ac43616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e65656465640002049c43616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f72696573000304a854686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f72696573000404ac54686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f726465720005040d01546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f726965730006040d015468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e64000704dc4d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e65720008042d014f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e740009041d014e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74000a042d014120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e74000b04f4412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e3c4d6178576569676874546f6f4c6f77000c04d0546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f726564000d04a0546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090979060c1463747970652c63747970655f656e747279284374797065456e747279081c43726561746f7201002c426c6f636b4e756d62657201100008011c63726561746f7200011c43726561746f72000128637265617465645f617410012c426c6f636b4e756d62657200007d060c1463747970651870616c6c6574144572726f7204045400010c204e6f74466f756e64000004985468657265206973206e6f20435479706520776974682074686520676976656e20686173682e34416c72656164794578697374730001046454686520435479706520616c7265616479206578697374732e3c556e61626c65546f506179466565730002040d0154686520706179696e67206163636f756e742077617320756e61626c6520746f2070617920746865206665657320666f72206372656174696e6720612063747970652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090981060c2c6174746573746174696f6e306174746573746174696f6e73484174746573746174696f6e44657461696c731424437479706548617368012c284174746573746572496401003c417574686f72697a6174696f6e4964010101244163636f756e74496401001c42616c616e636501180014012863747970655f686173682c0124437479706548617368000120617474657374657200012841747465737465724964000140617574686f72697a6174696f6e5f6964fc015c4f7074696f6e3c417574686f72697a6174696f6e49643e00011c7265766f6b6564a80110626f6f6c00011c6465706f7369748506016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000085060c306b696c745f737570706f72741c6465706f7369741c4465706f736974081c4163636f756e7401001c42616c616e63650118000801146f776e657200011c4163636f756e74000118616d6f756e7418011c42616c616e6365000089060000040801012c008d060c2c6174746573746174696f6e1870616c6c6574144572726f720404540001183c416c726561647941747465737465640000080901546865726520697320616c726561647920616e206174746573746174696f6e2077697468207468652073616d6520636c61696d20686173682073746f726564206f6e18636861696e2e38416c72656164795265766f6b6564000104a4546865206174746573746174696f6e2068617320616c7265616479206265656e207265766f6b65642e204e6f74466f756e64000204c04e6f206174746573746174696f6e206f6e20636861696e206d61746368696e672074686520636c61696d20686173682e3443547970654d69736d61746368000308fc546865206174746573746174696f6e20435479706520646f6573206e6f74206d61746368207468652043547970652073706563696669656420696e207468656864656c65676174696f6e2068696572617263687920726f6f742e344e6f74417574686f72697a6564000404f05468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f206368616e676520746865206174746573746174696f6e2e804d617844656c6567617465644174746573746174696f6e73457863656564656400050cf4546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732068617320616c7265616479206265656e05017265616368656420666f722074686520636f72726573706f6e64696e672064656c65676174696f6e2069642073756368207468617420616e6f74686572206f6e654063616e6e6f742062652061646465642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090991060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368793844656c65676174696f6e4e6f6465144044656c65676174696f6e4e6f64654964012c2c4d61784368696c6472656e0195064444656c65676174696f6e44657461696c73019906244163636f756e74496401001c42616c616e63650118001401446869657261726368795f726f6f745f69642c014044656c65676174696f6e4e6f64654964000118706172656e74c50301604f7074696f6e3c44656c65676174696f6e4e6f646549643e0001206368696c6472656e9d0601b8426f756e64656442547265655365743c44656c65676174696f6e4e6f646549642c204d61784368696c6472656e3e00011c64657461696c739906014444656c65676174696f6e44657461696c7300011c6465706f7369748506016c4465706f7369743c4163636f756e7449642c2042616c616e63653e00009506103872756e74696d655f636f6d6d6f6e24636f6e7374616e74732864656c65676174696f6e2c4d61784368696c6472656e0000000099060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368794444656c65676174696f6e44657461696c73042c44656c656761746f7249640100000c01146f776e657200012c44656c656761746f72496400011c7265766f6b6564a80110626f6f6c00012c7065726d697373696f6e730901012c5065726d697373696f6e7300009d060c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c045300000400a106012c42547265655365743c543e0000a10604204254726565536574040454012c0004008d02000000a5060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368796844656c65676174696f6e48696572617263687944657461696c730424437479706548617368012c0004012863747970655f686173682c01244374797065486173680000a9060c2864656c65676174696f6e1870616c6c6574144572726f720404540001585c44656c65676174696f6e416c72656164794578697374730000041101546865726520697320616c726561647920612064656c65676174696f6e206e6f64652077697468207468652073616d652049442073746f726564206f6e20636861696e2e60496e76616c696444656c65676174655369676e617475726500010805015468652064656c65676174652773207369676e617475726520666f72207468652064656c65676174696f6e206372656174696f6e206f7065726174696f6e20697320696e76616c69642e4844656c65676174696f6e4e6f74466f756e64000204c04e6f2064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e4044656c65676174654e6f74466f756e64000304b84e6f2064656c656761746520776974682074686520676976656e2049442073746f726564206f6e20636861696e2e58486965726172636879416c7265616479457869737473000404f8546865726520697320616c72656164792061206869657261726368792077697468207468652073616d652049442073746f726564206f6e20636861696e2e444869657261726368794e6f74466f756e64000504bc4e6f2068696572617263687920776974682074686520676976656e2049442073746f726564206f6e20636861696e2e544d617853656172636844657074685265616368656400060409014d6178206e756d626572206f66206e6f64657320636865636b656420776974686f757420766572696679696e672074686520676976656e20636f6e646974696f6e2e684e6f744f776e65724f66506172656e7444656c65676174696f6e000708f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6ef462656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20706172656e74206e6f64652e744e6f744f776e65724f6644656c65676174696f6e486965726172636879000808f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6eec62656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20726f6f74206e6f64652e60506172656e7444656c65676174696f6e4e6f74466f756e64000904dc4e6f20706172656e742064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e5c506172656e7444656c65676174696f6e5265766f6b6564000a04c854686520706172656e742064656c65676174696f6e206861732070726576696f75736c79206265656e207265766f6b65642e58556e617574686f72697a65645265766f636174696f6e000b04fc5468652064656c65676174696f6e207265766f6b6572206973206e6f7420616c6c6f77656420746f207265766f6b65207468652064656c65676174696f6e2e4c556e617574686f72697a656452656d6f76616c000c04ec5468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f2072656d6f7665207468652064656c65676174696f6e2e58556e617574686f72697a656444656c65676174696f6e000d04fc5468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f20637265617465207468652064656c65676174696f6e2e3041636365737344656e696564000e04f0546865206f7065726174696f6e207761736e277420616c6c6f7765642062656361757365206f6620696e73756666696369656e74207269676874732e6045786365656465645265766f636174696f6e426f756e6473000f080d014d6178206e756d626572206f66207265766f636174696f6e7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7238746865206f7065726174696f6e2e54457863656564656452656d6f76616c426f756e647300100811014d6178206e756d626572206f662072656d6f76616c7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7220746865286f7065726174696f6e2e584d61785265766f636174696f6e73546f6f4c61726765001104f8546865206d6178206e756d626572206f66207265766f636174696f6e206578636565647320746865206c696d697420666f72207468652070616c6c65742e4c4d617852656d6f76616c73546f6f4c61726765001204f0546865206d6178206e756d626572206f662072656d6f76616c73206578636565647320746865206c696d697420666f72207468652070616c6c65742e5c4d6178506172656e74436865636b73546f6f4c617267650013040501546865206d6178206e756d626572206f6620706172656e7420636865636b73206578636565647320746865206c696d697420666f72207468652070616c6c65742e20496e7465726e616c001404f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e4c4d61784368696c6472656e4578636565646564001508dc546865206d6178206e756d626572206f6620616c6c206368696c6472656e20686173206265656e207265616368656420666f722074686578636f72726573706f6e64696e672064656c65676174696f6e206e6f64652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909ad060c0c6469642c6469645f64657461696c732844696444657461696c7304045400001c014861757468656e7469636174696f6e5f6b65792c01284b657949644f663c543e0001486b65795f61677265656d656e745f6b657973b10601684469644b657941677265656d656e744b65795365744f663c543e00013864656c65676174696f6e5f6b6579c50301484f7074696f6e3c4b657949644f663c543e3e00013c6174746573746174696f6e5f6b6579c50301484f7074696f6e3c4b657949644f663c543e3e00012c7075626c69635f6b657973b50601504469645075626c69634b65794d61704f663c543e00013c6c6173745f74785f636f756e74657210010c75363400011c6465706f736974850601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e0000b1060c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454012c045300000400a106012c42547265655365743c543e0000b5060c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b012c045601b906045300000400c106013842547265654d61703c4b2c20563e0000b9060c0c6469642c6469645f64657461696c734c4469645075626c69634b657944657461696c73042c426c6f636b4e756d62657201100008010c6b6579bd0601304469645075626c69634b6579000130626c6f636b5f6e756d62657210012c426c6f636b4e756d6265720000bd060c0c6469642c6469645f64657461696c73304469645075626c69634b6579000108545075626c6963566572696669636174696f6e4b65790400ad040148446964566572696669636174696f6e4b65790000004c5075626c6963456e6372797074696f6e4b657904009d040140446964456e6372797074696f6e4b657900010000c106042042547265654d617008044b012c045601b906000400c506000000c506000002c90600c906000004082cb90600cd0600000408007d0400d1060c0c6469641870616c6c6574144572726f7204045400016c58496e76616c69645369676e6174757265466f726d6174000008050154686520444944206f7065726174696f6e207369676e6174757265206973206e6f7420696e2074686520666f726d61742074686520766572696669636174696f6e306b657920657870656374732e40496e76616c69645369676e6174757265000108f854686520444944206f7065726174696f6e207369676e617475726520697320696e76616c696420666f7220746865207061796c6f616420616e642074686568766572696669636174696f6e206b65792070726f76696465642e34416c7265616479457869737473000204f85468652044494420776974682074686520676976656e206964656e74696669657220697320616c72656164792070726573656e74206f6e20636861696e2e204e6f74466f756e64000304d44e6f2044494420776974682074686520676976656e206964656e7469666965722069732070726573656e74206f6e20636861696e2e5c566572696669636174696f6e4b65794e6f74466f756e6400040809014f6e65206f72206d6f726520766572696669636174696f6e206b657973207265666572656e63656420617265206e6f742073746f72656420696e2074686520736574546f6620766572696669636174696f6e206b6579732e30496e76616c69644e6f6e6365000504090154686520444944206f7065726174696f6e206e6f6e6365206973206e6f7420657175616c20746f207468652063757272656e7420444944206e6f6e6365202b20312e7c556e737570706f72746564446964417574686f72697a6174696f6e43616c6c000604e05468652063616c6c65642065787472696e73696320646f6573206e6f7420737570706f72742044494420617574686f7269736174696f6e2e6c496e76616c6964446964417574686f72697a6174696f6e43616c6c000708dc5468652063616c6c2068616420706172616d6574657273207468617420636f6e666c696374656420776974682065616368206f74686572406f72207765726520696e76616c69642e8c4d61784e65774b657941677265656d656e744b6579734c696d697445786365656465640008080d0141206e756d626572206f66206e6577206b65792061677265656d656e74206b6579732067726561746572207468616e20746865206d6178696d756d20616c6c6f77656448686173206265656e2070726f76696465642e544d61785075626c69634b65797345786365656465640009080501546865206d6178696d756d206e756d626572206f66207075626c6963206b65797320666f72207468697320444944206b6579206964656e74696669657220686173346265656e20726561636865642e6c4d61784b657941677265656d656e744b6579734578636565646564000a080501546865206d6178696d756d206e756d626572206f66206b65792061677265656d656e747320686173206265656e207265616368656420666f722074686520444944207375626a6563742e304261644469644f726967696e000b04bc546865204449442063616c6c20776173207375626d6974746564206279207468652077726f6e67206163636f756e74485472616e73616374696f6e45787069726564000c040d0154686520626c6f636b206e756d6265722070726f766964656420696e2061204449442d617574686f72697a6564206f7065726174696f6e20697320696e76616c69642e38416c726561647944656c65746564000d04b0546865204449442068617320616c7265616479206265656e2070726576696f75736c792064656c657465642e444e6f744f776e65724f664465706f736974000e04fc4f6e6c7920746865206f776e6572206f6620746865206465706f7369742063616e207265636c61696d206974732072657365727665642062616c616e63652e3c556e61626c65546f50617946656573000f04f0546865206f726967696e20697320756e61626c6520746f207265736572766520746865206465706f73697420616e642070617920746865206665652e6c4d61784e756d6265724f66536572766963657345786365656465640010041101546865206d6178696d756d206e756d626572206f66207365727669636520656e64706f696e747320666f7220612044494420686173206265656e2065786365656465642e684d61785365727669636549644c656e6774684578636565646564001104f0546865207365727669636520656e64706f696e7420494420657863656564656420746865206d6178696d756d20616c6c6f776564206c656e6774682e704d617853657276696365547970654c656e6774684578636565646564001208f84f6e65206f6620746865207365727669636520656e64706f696e7420747970657320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e884d61784e756d6265724f665479706573506572536572766963654578636565646564001308ec546865206d6178696d756d206e756d626572206f6620747970657320666f722061207365727669636520656e64706f696e7420686173206265656e2465786365656465642e6c4d61785365727669636555726c4c656e6774684578636565646564001408f44f6e65206f6620746865207365727669636520656e64706f696e742055524c7320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e844d61784e756d6265724f6655726c735065725365727669636545786365656465640015041101546865206d6178696d756d206e756d626572206f662055524c7320666f722061207365727669636520656e64706f696e7420686173206265656e2065786365656465642e5053657276696365416c726561647945786973747300160411014120736572766963652077697468207468652070726f766964656420494420697320616c72656164792070726573656e7420666f722074686520676976656e204449442e3c536572766963654e6f74466f756e6400170409014120736572766963652077697468207468652070726f7669646564204944206973206e6f742070726573656e7420756e6465722074686520676976656e204449442e58496e76616c696453657276696365456e636f64696e6700180409014f6e65206f6620746865207365727669636520656e64706f696e742064657461696c7320636f6e7461696e73206e6f6e2d415343494920636861726163746572732e7c4d617853746f726564456e64706f696e7473436f756e7445786365656465640019080d01546865206e756d626572206f66207365727669636520656e64706f696e74732073746f72656420756e6465722074686520444944206973206c6172676572207468616e88746865206e756d626572206f6620656e64706f696e747320746f2064656c6574652e20496e7465726e616c001a04f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909d5060c4470616c6c65745f6469645f6c6f6f6b757044636f6e6e656374696f6e5f7265636f726440436f6e6e656374696f6e5265636f72640c344469644964656e74696669657201001c4163636f756e7401001c42616c616e636501180008010c6469640001344469644964656e74696669657200011c6465706f736974850601644465706f7369743c4163636f756e742c2042616c616e63653e0000d9060000040800150100dd060c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144572726f72040454000114204e6f74466f756e640000047c546865206173736f63696174696f6e20646f6573206e6f742065786973742e344e6f74417574686f72697a65640001081101546865206f726967696e20776173206e6f7420616c6c6f77656420746f206d616e61676520746865206173736f63696174696f6e206265747765656e20746865204449444c616e6420746865206163636f756e742049442e344f7574646174656450726f6f66000204b454686520737570706c6965642070726f6f66206f66206f776e65727368697020776173206f757464617465642e44496e73756666696369656e7446756e64730003081101546865206163636f756e742068617320696e73756666696369656e742066756e647320616e642063616e277420706179207468652066656573206f72207265736572766530746865206465706f7369742e244d6967726174696f6e00040c010154686520436f6e6e65637465644163636f756e747320616e6420436f6e6e6563746564446964732073746f7261676520617265206f7574206f662073796e632e0011014e4f54453a20746869732077696c6c206f6e6c792062652072657475726e6564206966207468652073746f726167652068617320696e636f6e73697374656e636965732e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909e1060c4470616c6c65745f776562335f6e616d657324776562335f6e616d6544576562334e616d654f776e6572736869700c144f776e657201001c4465706f7369740185062c426c6f636b4e756d6265720110000c01146f776e65720001144f776e6572000128636c61696d65645f617410012c426c6f636b4e756d62657200011c6465706f7369748506011c4465706f7369740000e5060c4470616c6c65745f776562335f6e616d65731870616c6c6574144572726f7204045400013044496e73756666696369656e7446756e64730000040d01546865207478207375626d697474657220646f6573206e6f74206861766520656e6f7567682066756e647320746f2070617920666f7220746865206465706f7369742e34416c7265616479457869737473000104dc54686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c7920636c61696d65642e204e6f74466f756e640002048854686520737065636966696564206e616d6520646f6573206e6f742065786973742e484f776e6572416c7265616479457869737473000304a054686520737065636966696564206f776e657220616c7265616479206f776e732061206e616d652e344f776e65724e6f74466f756e64000404ac54686520737065636966696564206f776e657220646f6573206e6f74206f776e20616e79206e616d65732e1842616e6e6564000508ec54686520737065636966696564206e616d6520686173206265656e2062616e6e656420616e642063616e6e6f7420626520696e746572616374656414776974682e244e6f7442616e6e6564000604ac54686520737065636966696564206e616d65206973206e6f742063757272656e746c792062616e6e65642e34416c726561647942616e6e6564000704d854686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c792062616e6e65642e344e6f74417574686f72697a6564000804cc546865206163746f722063616e6e6f7420706572666f726d65642074686520737065636966696564206f7065726174696f6e2e20546f6f53686f7274000904a841206e616d65207468617420697320746f6f2073686f7274206973206265696e6720636c61696d65642e1c546f6f4c6f6e67000a04a441206e616d65207468617420697320746f6f206c6f6e67206973206265696e6720636c61696d65642e40496e76616c6964436861726163746572000b04f441206e616d65207468617420636f6e7461696e73206e6f7420616c6c6f7765642063686172616374657273206973206265696e6720636c61696d65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909e9060000040831012c00ed060c487075626c69635f63726564656e7469616c732c63726564656e7469616c733c43726564656e7469616c456e7472791824435479706548617368012c20417474657374657201002c426c6f636b4e756d6265720110244163636f756e74496401001c42616c616e636501183c417574686f72697a6174696f6e49640101010018012863747970655f686173682c01244354797065486173680001206174746573746572000120417474657374657200011c7265766f6b6564a80110626f6f6c000130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200011c6465706f7369748506016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000140617574686f72697a6174696f6e5f6964fc015c4f7074696f6e3c417574686f72697a6174696f6e49643e0000f1060c487075626c69635f63726564656e7469616c731870616c6c6574144572726f720404540001183c416c72656164794174746573746564000008f8412063726564656e7469616c2077697468207468652073616d6520726f6f7420686173682068617320616c72656164792069737375656420746f2074686548737065636966696564207375626a6563742e204e6f74466f756e6400010805014e6f2063726564656e7469616c2077697468207468652073706563696669656420726f6f74206861736820686173206265656e2069737375656420746f2074686548737065636966696564207375626a6563742e3c556e61626c65546f50617946656573000204d44e6f7420656e6f75676820746f6b656e7320746f2070617920666f72207468652066656573206f7220746865206465706f7369742e30496e76616c6964496e707574000304805468652063726564656e7469616c20696e70757420697320696e76616c69642e344e6f74417574686f72697a6564000404e05468652063616c6c6572206973206e6f7420617574686f72697a656420746f20706572666f726d656420746865206f7065726174696f6e2e20496e7465726e616c000508f443617463682d616c6c20666f7220616e79206f74686572206572726f727320746861742073686f756c64206e6f742068617070656e2c207965742069742468617070656e65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a090909f50604184f7074696f6e04045401f9060108104e6f6e6500000010536f6d650400f9060000010000f9060c4c706f6c6b61646f745f7072696d69746976657308763248557067726164655265737472696374696f6e0001041c50726573656e7400000000fd060c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f74584d6573736167696e675374617465536e617073686f740000100130646d715f6d71635f686561642c014472656c61795f636861696e3a3a4861736800016472656c61795f64697370617463685f71756575655f73697a6501070128287533322c2075333229000140696e67726573735f6368616e6e656c73050701885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00013c6567726573735f6368616e6e656c73050701885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00000107000004081c1c000507000002090700090700000408a9010d07000d070c4c706f6c6b61646f745f7072696d6974697665730876324c416272696467656448726d704368616e6e656c00001801306d61785f63617061636974791c010c7533320001386d61785f746f74616c5f73697a651c010c7533320001406d61785f6d6573736167655f73697a651c010c7533320001246d73675f636f756e741c010c753332000128746f74616c5f73697a651c010c7533320001206d71635f68656164c50301304f7074696f6e3c486173683e000011070c4c706f6c6b61646f745f7072696d697469766573087632644162726964676564486f7374436f6e66696775726174696f6e00002401346d61785f636f64655f73697a651c010c7533320001486d61785f686561645f646174615f73697a651c010c7533320001586d61785f7570776172645f71756575655f636f756e741c010c7533320001546d61785f7570776172645f71756575655f73697a651c010c75333200015c6d61785f7570776172645f6d6573736167655f73697a651c010c7533320001906d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200018868726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e6469646174651c010c75333200016c76616c69646174696f6e5f757067726164655f636f6f6c646f776e1c012c426c6f636b4e756d62657200016076616c69646174696f6e5f757067726164655f64656c61791c012c426c6f636b4e756d62657200001507089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74444d6573736167655175657565436861696e000004002c012452656c61794861736800001907042042547265654d617008044b01a90104560115070004001d070000001d07000002210700210700000408a901150700250700000229070029070860706f6c6b61646f745f636f72655f7072696d6974697665734c4f7574626f756e6448726d704d6573736167650408496401a90100080124726563697069656e74a901010849640001106461746130015073705f7374643a3a7665633a3a5665633c75383e00002d07087c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d60436f646555706772616465417574686f72697a6174696f6e0404540000080124636f64655f686173682c011c543a3a48617368000134636865636b5f76657273696f6ea80110626f6f6c000031070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144572726f720404540001204c4f7665726c617070696e6755706772616465730000041901417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e672e5050726f686962697465644279506f6c6b61646f740001044d01506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e2e18546f6f426967000208450154686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f742069733c77696c6c696e6720746f2072756e2e6856616c69646174696f6e446174614e6f74417661696c61626c650003041d0154686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b2e74486f7374436f6e66696775726174696f6e4e6f74417661696c61626c65000404290154686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b2e304e6f745363686564756c6564000504d84e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642e444e6f7468696e67417574686f72697a6564000604904e6f20636f6465207570677261646520686173206265656e20617574686f72697a65642e30556e617574686f72697a6564000704bc54686520676976656e20636f6465207570677261646520686173206e6f74206265656e20617574686f72697a65642e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090935070000023907003907086463756d756c75735f70616c6c65745f78636d705f717565756554496e626f756e644368616e6e656c44657461696c7300000c011873656e646572a901011850617261496400011473746174653d070130496e626f756e6453746174650001406d6573736167655f6d65746164617461410701a85665633c2852656c6179426c6f636b4e756d6265722c2058636d704d657373616765466f726d6174293e00003d07086463756d756c75735f70616c6c65745f78636d705f717565756530496e626f756e645374617465000108084f6b0000002453757370656e6465640001000041070000024507004507000004081c49070049070c48706f6c6b61646f745f70617261636861696e287072696d6974697665734458636d704d657373616765466f726d617400010c60436f6e636174656e6174656456657273696f6e656458636d0000005c436f6e636174656e61746564456e636f646564426c6f620001001c5369676e616c73000200004d0700000408a9011c0051070000025507005507086463756d756c75735f70616c6c65745f78636d705f7175657565584f7574626f756e644368616e6e656c44657461696c730000140124726563697069656e74a90101185061726149640001147374617465590701344f7574626f756e6453746174650001347369676e616c735f6578697374a80110626f6f6c00012c66697273745f696e646578dc010c7531360001286c6173745f696e646578dc010c75313600005907086463756d756c75735f70616c6c65745f78636d705f7175657565344f7574626f756e645374617465000108084f6b0000002453757370656e646564000100005d0700000408a901dc006107086463756d756c75735f70616c6c65745f78636d705f71756575653c5175657565436f6e66696744617461000018014473757370656e645f7468726573686f6c641c010c75333200013864726f705f7468726573686f6c641c010c753332000140726573756d655f7468726573686f6c641c010c7533320001407468726573686f6c645f7765696768742401185765696768740001547765696768745f72657374726963745f646563617924011857656967687400016878636d705f6d61785f696e646976696475616c5f776569676874240118576569676874000065070000040ca9011c300069070c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144572726f72040454000114304661696c6564546f53656e640000046c4661696c656420746f2073656e642058434d206d6573736167652e3042616458636d4f726967696e0001043c4261642058434d206f726967696e2e1842616458636d000204344261642058434d20646174612e484261644f766572776569676874496e64657800030454426164206f76657277656967687420696e6465782e3c5765696768744f7665724c696d6974000404f850726f76696465642077656967687420697320706f737369626c79206e6f7420656e6f75676820746f206578656375746520746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909096d070c2870616c6c65745f78636d1870616c6c6574144572726f720404540001502c556e726561636861626c650000085d0154686520646573697265642064657374696e6174696f6e2077617320756e726561636861626c652c2067656e6572616c6c7920626563617573652074686572652069732061206e6f20776179206f6620726f7574696e6718746f2069742e2c53656e644661696c757265000108610154686572652077617320736f6d65206f746865722069737375652028692e652e206e6f7420746f20646f207769746820726f7574696e672920696e2073656e64696e6720746865206d6573736167652e2050657268617073a861206c61636b206f6620737061636520666f7220627566666572696e6720746865206d6573736167652e2046696c74657265640002049c546865206d65737361676520657865637574696f6e206661696c73207468652066696c7465722e48556e776569676861626c654d657373616765000304b4546865206d65737361676527732077656967687420636f756c64206e6f742062652064657465726d696e65642e6044657374696e6174696f6e4e6f74496e7665727469626c65000404f05468652064657374696e6174696f6e20604d756c74694c6f636174696f6e602070726f76696465642063616e6e6f7420626520696e7665727465642e14456d707479000504805468652061737365747320746f2062652073656e742061726520656d7074792e3843616e6e6f745265616e63686f720006043501436f756c64206e6f742072652d616e63686f72207468652061737365747320746f206465636c61726520746865206665657320666f72207468652064657374696e6174696f6e20636861696e2e34546f6f4d616e79417373657473000704c4546f6f206d616e79206173736574732068617665206265656e20617474656d7074656420666f72207472616e736665722e34496e76616c69644f726967696e000804784f726967696e20697320696e76616c696420666f722073656e64696e672e2842616456657273696f6e00090421015468652076657273696f6e206f6620746865206056657273696f6e6564602076616c75652075736564206973206e6f742061626c6520746f20626520696e7465727072657465642e2c4261644c6f636174696f6e000a08410154686520676976656e206c6f636174696f6e20636f756c64206e6f7420626520757365642028652e672e20626563617573652069742063616e6e6f742062652065787072657373656420696e2074686560646573697265642076657273696f6e206f662058434d292e384e6f537562736372697074696f6e000b04bc546865207265666572656e63656420737562736372697074696f6e20636f756c64206e6f7420626520666f756e642e44416c726561647953756273637269626564000c041101546865206c6f636174696f6e20697320696e76616c69642073696e636520697420616c726561647920686173206120737562736372697074696f6e2066726f6d2075732e30496e76616c69644173736574000d0480496e76616c696420617373657420666f7220746865206f7065726174696f6e2e284c6f7742616c616e6365000e044101546865206f776e657220646f6573206e6f74206f776e2028616c6c29206f662074686520617373657420746861742074686579207769736820746f20646f20746865206f7065726174696f6e206f6e2e30546f6f4d616e794c6f636b73000f04c0546865206173736574206f776e65722068617320746f6f206d616e79206c6f636b73206f6e207468652061737365742e4c4163636f756e744e6f74536f7665726569676e001004310154686520676976656e206163636f756e74206973206e6f7420616e206964656e7469666961626c6520736f7665726569676e206163636f756e7420666f7220616e79206c6f636174696f6e2e28466565734e6f744d65740011042901546865206f7065726174696f6e207265717569726564206665657320746f20626520706169642077686963682074686520696e69746961746f7220636f756c64206e6f74206d6565742e304c6f636b4e6f74466f756e64001204f4412072656d6f7465206c6f636b20776974682074686520636f72726573706f6e64696e67206461746120636f756c64206e6f7420626520666f756e642e14496e557365001304390154686520756e6c6f636b206f7065726174696f6e2063616e6e6f742073756363656564206265636175736520746865726520617265207374696c6c207573657273206f6620746865206c6f636b2e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a09090971070c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144572726f7204045400010004b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909097507086063756d756c75735f70616c6c65745f646d705f717565756528436f6e6669674461746100000401386d61785f696e646976696475616c24011857656967687400007907086063756d756c75735f70616c6c65745f646d705f71756575653450616765496e6465784461746100000c0128626567696e5f757365641c012c50616765436f756e746572000120656e645f757365641c012c50616765436f756e7465720001406f7665727765696768745f636f756e7410013c4f766572776569676874496e64657800007d070000028107008107000004081c300085070c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144572726f720404540001081c556e6b6e6f776e0000048c546865206d65737361676520696e64657820676976656e20697320756e6b6e6f776e2e244f7665724c696d6974000104310154686520616d6f756e74206f662077656967687420676976656e20697320706f737369626c79206e6f7420656e6f75676820666f7220657865637574696e6720746865206d6573736167652e04b5010a090909437573746f6d205b6469737061746368206572726f72735d2868747470733a2f2f646f63732e7375627374726174652e696f2f6d61696e2d646f63732f6275696c642f6576656e74732d6572726f72732f290a0909096f6620746869732070616c6c65742e0a0909098907102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c4164647265737301e9021043616c6c01b503245369676e617475726501cd04144578747261018d07000400300000008d07000004209107950799079d07a107a907ad07b10700910710306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000950710306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000990710306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e040454000000009d0710306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000a10710306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c69747904045400000400a507010c4572610000a507102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000a90710306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e636504045400000400280120543a3a496e6465780000ad0710306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b57656967687404045400000000b107086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e7404045400000400cd01013042616c616e63654f663c543e0000941853797374656d011853797374656d401c4163636f756e7401010402000c510100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e7400001c040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010020180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e00001c040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b4861736801010405102c8000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e73696344617461010104051c300400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010010200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801002c80000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010034040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004404001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e7401001c100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f70696373010104022c91020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e004d01205468652076616c756520686173207468652074797065206028543a3a426c6f636b4e756d6265722c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000950204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100a80400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100a80400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e506861736500008902040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e019d0201501830426c6f636b57656967687473ad026d01624fd75a00070088526a740200400102c0cd1700010700028fa54b0200d000010700e6bd4f570200f00001000002c0cd1700010700a423c0680200200101070088526a7402004001010700a2941a1d0200500002c0cd170000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e677468bd023000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7410206009000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e204462576569676874c50240089d26020000000000dce704000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6ec9026103386b696c742d7370697269746e6574386b696c742d7370697269746e6574010000005c2b00000000000038df6acb689907609b0400000037e397fc7c91f5e401000000bc9d89904f5b923f0100000037c8bb1350a9a2a803000000f3ff14d5ab5270590300000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d69620200000026609555c065660302000000a47b7d544994c99b0100000045bfba51a310b2230100000007000000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978dc08260014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e01d902002454696d657374616d70012454696d657374616d70080c4e6f7701001020000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100a8040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f01dd020004344d696e696d756d506572696f6410207017000000000000104d0120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a5d0120706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c5d012067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c206265a020646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e00021c496e6469636573011c496e646963657304204163636f756e74730001040210e1020400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e01e5020174041c4465706f736974184000b47cf328350000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e01f102052042616c616e636573012042616c616e6365731434546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b730101040200f502040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20526573657276657301010402000503040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e01110301780c484578697374656e7469616c4465706f736974184000a0724e18090000000000000000000004d420546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d61784c6f636b731c103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d617852657365727665731c1032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e01150306485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100190340000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e01001d0304000000018004604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e00071041757261011041757261082c417574686f726974696573010021030400046c205468652063757272656e7420617574686f72697479207365742e2c43757272656e74536c6f74010031032000000000000000000c80205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e009420546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e00000000171c53657373696f6e011c53657373696f6e1c2856616c696461746f7273010035030400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e64657801001c100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100a8040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b657973010039030400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f7273010045030400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b657973000104050041030400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405490300040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e015103018400015503164050617261636861696e5374616b696e67014050617261636861696e5374616b696e6740544d617853656c656374656443616e6469646174657301001c100000000004090120546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c6563746564206174206561636820726f756e642e14526f756e640100590350000000000000000000000000140000000000000004e82043757272656e7420726f756e64206e756d62657220616e64206e65787420726f756e64207363686564756c6564207472616e736974696f6e2e384c61737444656c65676174696f6e01010405005d03200000000000000000140d012044656c65676174696f6e20696e666f726d6174696f6e20666f7220746865206c61746573742073657373696f6e20696e20776869636820612064656c656761746f722c2064656c6567617465642e000501204974206d6170732066726f6d20616e206163636f756e7420746f20746865206e756d626572206f662064656c65676174696f6e7320696e20746865206c617374982073657373696f6e20696e2077686963682074686579202872652d2964656c6567617465642e3844656c656761746f7253746174650001040500610304000c802044656c65676174696f6e207374616b696e6720696e666f726d6174696f6e2e00cc204974206d6170732066726f6d20616e206163636f756e7420746f206974732064656c65676174696f6e2064657461696c732e3443616e646964617465506f6f6c00010405006503040010a420546865207374616b696e6720696e666f726d6174696f6e20666f7220612063616e6469646174652e00b0204974206d6170732066726f6d20616e206163636f756e7420746f2069747320696e666f726d6174696f6e2eb8204d6f72656f7665722c20697420636f756e747320746865206e756d626572206f662063616e646964617465732e5c436f756e746572466f7243616e646964617465506f6f6c01001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617048546f74616c436f6c6c61746f725374616b650100790380000000000000000000000000000000000000000000000000000000000000000014f420546f74616c2066756e6473206c6f636b656420746f206261636b207468652063757272656e746c792073656c656374656420636f6c6c61746f72732ed0205468652073756d206f6620616c6c20636f6c6c61746f7220616e642074686569722064656c656761746f72207374616b65732e002101204e6f74653a20546865726520617265206d6f72652066756e6473206c6f636b656420627920746869732070616c6c65742c2073696e636520746865206261636b696e6720666f720901206e6f6e20636f6c6c6174696e672063616e64696461746573206973206e6f7420696e636c7564656420696e205b546f74616c436f6c6c61746f725374616b655d2e34546f7043616e6469646174657301007d03040028e82054686520636f6c6c61746f722063616e64696461746573207769746820746865206869676865737420616d6f756e74206f66207374616b652e00190120456163682074696d6520746865207374616b65206f66206120636f6c6c61746f7220697320696e637265617365642c20697420697320636865636b65642077686574686572050120746869732070757368657320616e6f746865722063616e646964617465206f7574206f6620746865206c6973742e205768656e20746865207374616b652069732101207265647563656420686f77657665722c206974206973206e6f7420636865636b656420696620616e6f746865722063616e64696461746520686173206d6f7265207374616b652c11012073696e6365207468697320776f756c64207265717569726520697465726174696e67206f7665722074686520656e74697265205b43616e646964617465506f6f6c5d2e001501205468657265206d75737420616c77617973206265206d6f72652063616e64696461746573207468616e205b4d617853656c656374656443616e646964617465735d20736f0d012074686174206120636f6c6c61746f722063616e2064726f70206f7574206f662074686520636f6c6c61746f7220736574206279207265647563696e672074686569721c207374616b652e3c496e666c6174696f6e436f6e66696701008503c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046420496e666c6174696f6e20636f6e66696775726174696f6e2e24556e7374616b696e670101040500910304001088205468652066756e64732077616974696e6720746f20626520756e7374616b65642e001d01204974206d6170732066726f6d206163636f756e747320746f20616c6c207468652066756e64732061646472657373656420746f207468656d20696e20746865206675747572652020626c6f636b732e644d6178436f6c6c61746f7243616e6469646174655374616b65010018400000000000000000000000000000000004cc20546865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e6469646174652063616e207374616b652e4c4c617374526577617264526564756374696f6e010010200000000000000000140d0120546865207965617220696e20776869636820746865206c617374206175746f6d6174696320726564756374696f6e206f66207468652072657761726420726174657328206f636375727265642e00250120497420737461727473206174207a65726f2061742067656e6573697320616e6420696e6372656d656e7473206279206f6e6520657665727920424c4f434b535f5045525f5945415234206d616e7920626c6f636b732e38426c6f636b73417574686f726564010104050010200000000000000000080d0120546865206e756d626572206f6620617574686f72656420626c6f636b7320666f7220636f6c6c61746f72732e20497420697320757064617465642076696120746865b020606e6f74655f617574686f726020686f6f6b207768656e20617574686f72696e67206120626c6f636b202e38426c6f636b73526577617264656401010405001020000000000000000024210120546865206e756d626572206f6620626c6f636b7320666f7220776869636820726577617264732068617665206265656e20636c61696d656420627920616e20616464726573732e00190120466f7220636f6c6c61746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f7265642e2049742069732075706461746564207768656ecc20696e6372656d656e74696e6720636f6c6c61746f7220726577617264732c20656974686572207768656e2063616c6c696e67e02060696e635f636f6c6c61746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e00250120466f722064656c656761746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f726564206f662074686520636f6c6c61746f722e497420697305012075706461746564207768656e20696e6372656d656e74696e672064656c656761746f7220726577617264732c20656974686572207768656e2063616c6c696e67e42060696e635f64656c656761746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e1c5265776172647301010405001840000000000000000000000000000000000c01012054686520616363756d756c61746564207265776172647320666f7220636f6c6c61746f722063616e6469646174657320616e642064656c656761746f72732e001101204974206d6170732066726f6d206163636f756e747320746f20746865697220746f74616c20726577617264732073696e636520746865206c617374207061796f75742e34466f7263654e6577526f756e640100a804000001a10301883c444d696e426c6f636b73506572526f756e6410202c0100000000000004d4204d696e696d756d206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e64732063616e206c6173742e5444656661756c74426c6f636b73506572526f756e641020580200000000000008fc2044656661756c74206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e6473206c6173742c2061732073657420696e207468655c2067656e6573697320636f6e66696775726174696f6e2e345374616b654475726174696f6e1020e0c40000000000000c0501204e756d626572206f6620626c6f636b7320666f7220776869636820756e7374616b65642062616c616e63652077696c6c207374696c6c206265206c6f636b6564f0206265666f72652069742063616e20626520756e6c6f636b6564206279206163746976656c792063616c6c696e67207468652065787472696e7369634c2060756e6c6f636b5f756e7374616b6564602e3845786974517565756544656c61791c1002000000080901204e756d626572206f6620726f756e6473206120636f6c6c61746f722068617320746f207374617920616374697665206166746572207375626d697474696e672061c4207265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e304d696e436f6c6c61746f72731c1010000000080d01204d696e696d756d206e756d626572206f6620636f6c6c61746f72732073656c65637465642066726f6d2074686520736574206f662063616e64696461746573206174602065766572792076616c69646174696f6e20726f756e642e504d696e5265717569726564436f6c6c61746f72731c1004000000081101204d696e696d756d206e756d626572206f6620636f6c6c61746f72732077686963682063616e6e6f74206c6561766520746865206e6574776f726b2069662074686572653c20617265206e6f206f74686572732e584d617844656c65676174696f6e73506572526f756e641c1001000000140101204d6178696d756d206e756d626572206f662064656c65676174696f6e732077686963682063616e206265206d6164652077697468696e207468652073616d651c20726f756e642e000d01204e4f54453a20546f2070726576656e742072652d64656c65676174696f6e2d7265776172642061747461636b732c2077652073686f756c64206b65657020746869732c20746f206265206f6e652e604d617844656c656761746f7273506572436f6c6c61746f721c102300000004e4204d6178696d756d206e756d626572206f662064656c656761746f727320612073696e676c6520636f6c6c61746f722063616e20686176652e404d6178546f7043616e646964617465731c104b00000004a0204d6178696d756d2073697a65206f662074686520746f702063616e64696461746573207365742e404d696e436f6c6c61746f725374616b6518400000e8890423c78a0000000000000000080901204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520656c65637465642061732076616c696461746f723420666f72206120726f756e642e644d696e436f6c6c61746f7243616e6469646174655374616b6518400000e8890423c78a0000000000000000080501204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520616464656420746f2074686520736574206f66302063616e646964617465732e444d696e44656c656761746f725374616b651840000082dfe40d4700000000000000000004f8204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f206265636f6d6520612064656c656761746f722e484d6178556e7374616b6552657175657374731c100a00000028e8204d6178206e756d626572206f6620636f6e63757272656e742061637469766520756e7374616b696e67207265717565737473206265666f72652c20756e6c6f636b696e672e001501204e4f54453a20546f2070726f7465637420616761696e737420697272656d6f766162696c697479206f6620612063616e646964617465206f722064656c656761746f722cf4207765206f6e6c7920616c6c6f7720666f72204d6178556e7374616b655265717565737473202d2031206d616e79206d616e75616c20756e7374616b6501012072657175657374732e20546865206c617374206f6e6520736572766573206173206120706c616365686f6c64657220666f7220746865206361736573206f66f02063616c6c696e672065697468657220606b69636b5f64656c656761746f72602c20666f7263655f72656d6f76655f63616e64696461746560206f7209012060657865637574655f6c656176655f63616e64696461746573602e204f74686572776973652c2061207573657220636f756c64206d6178206f75742074686569720d0120756e7374616b6520726571756573747320616e642070726576656e74207468656d73656c7665732066726f6d206265696e67206b69636b65642066726f6d20746865f020736574206f662063616e646964617465732f64656c656761746f727320756e74696c207468657920756e6c6f636b2074686569722066756e64732e484e6574776f726b5265776172645374617274102048a3c800000000000c110120546865207374617274696e6720626c6f636b206e756d62657220666f7220746865206e6574776f726b20726577617264732e204f6e6365207468652063757272656e74090120626c6f636b206e756d626572206578636565647320746869732073746172742c207468652062656e65666963696172792077696c6c2072656365697665207468658420636f6e666967757265642072657761726420696e206561636820626c6f636b2e444e6574776f726b526577617264526174658c2000008a5d784563010c0d0120546865207261746520696e2070657263656e7420666f7220746865206e6574776f726b207265776172647320776869636820617265206261736564206f6e207468650901206d6178696d756d206e756d626572206f6620636f6c6c61746f727320616e6420746865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e1c207374616b652e01a5031528417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e00000000141c41757261457874011c41757261457874042c417574686f72697469657301002103040014942053657276657320617320636163686520666f722074686520617574686f7269746965732e0071012054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c790120627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973f0206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e00000000182444656d6f6372616379012444656d6f6372616379303c5075626c696350726f70436f756e7401001c100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f70730100a903040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f66000104051c7d0504000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e7401001c100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b656401001c100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f66000104051c850504000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010405009105e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100a80400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c0000a905040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c697374000104062cad0504000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e73010104062ca80400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e284d657461646174614f6600010402a02c040018ec2047656e6572616c20696e666f726d6174696f6e20636f6e6365726e696e6720616e792070726f706f73616c206f72207265666572656e64756d2e6901205468652060507265696d61676548617368602072656665727320746f2074686520707265696d616765206f66207468652060507265696d61676573602070726f76696465722077686963682063616e2062652061204a534f4e882064756d70206f7220495046532068617368206f662061204a534f4e2066696c652e00750120436f6e73696465722061206761726261676520636f6c6c656374696f6e20666f722061206d65746164617461206f662066696e6973686564207265666572656e64756d7320746f2060756e7265717565737460202872656d6f76652944206c6172676520707265696d616765732e01b9030190303c456e6163746d656e74506572696f641020201c00000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f641020e0c400000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f641020e0c400000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f641020e0c4000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400080c6a47e8d0300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f776564a804010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f641020840300000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f641020e0c400000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f7465731c106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c731c1064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f736974731c1064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c69737465641c106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e01b1051e1c436f756e63696c011c436f756e63696c182450726f706f73616c730100b505040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062cb503040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062cb905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d62657273010035030400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01c90301a40001bd051f48546563686e6963616c436f6d6d69747465650148546563686e6963616c436f6d6d6974746565182450726f706f73616c730100c105040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f66000104062cb503040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e67000104062cb905040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e7401001c100000000004482050726f706f73616c7320736f206661722e1c4d656d62657273010035030400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01d90301b40001c505204c546563686e6963616c4d656d62657273686970014c546563686e6963616c4d656d62657273686970081c4d656d626572730100c905040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01dd0301b80001cd052220547265617375727901205472656173757279103450726f706f73616c436f756e7401001c100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c73000104051cd1050400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c730100d505040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e01e10301bc1c3050726f706f73616c426f6e64d9051050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d1840000082dfe40d47000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756ddd050400044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f641020c0a8000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726ed90510000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c65744964e105206b696c742f7473790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c731c10640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e01e505231c5574696c6974790001e50301c0044c626174636865645f63616c6c735f6c696d69741c10aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e01e905281c56657374696e67011c56657374696e67081c56657374696e670001040200ed05040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100f50504000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e010d0401c408444d696e5665737465645472616e73666572184000407a10f35a0000000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c65731c101c0000000001f90529245363686564756c657201245363686564756c65720c3c496e636f6d706c65746553696e6365000010040000184167656e64610101040510fd050400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001040504cc040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e01150401c808344d6178696d756d57656967687424280700a0db215d0200000104290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b1c1032000000041d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e010d062a1450726f7879011450726f7879081c50726f78696573010104050011064400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e74730101040500210644000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e011d0401d4184050726f78794465706f7369744261736518400020f7a54b330000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f72184000f4a92b80010000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f786965731c100a00000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e671c100a00000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518400020f7a54b330000000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000e8535700030000000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e0131062b20507265696d6167650120507265696d6167650824537461747573466f72000104062c35060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f72000104064106450604000001250401e0000149062c38546970734d656d626572736869700138546970734d656d62657273686970081c4d656d6265727301004d06040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01290401e4000151062d1054697073011054697073081054697073000104052c550604000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e73000104062c3004000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e012d0401e8144c4d6178696d756d526561736f6e4c656e6774681c10004000000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756548446174614465706f73697450657242797465184000743ba40b00000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e30546970436f756e74646f776e1020201c0000000000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e6465727346656561060400043501205468652070657263656e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f73697442617365184000f45628fa320000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e0165062e204d756c746973696701204d756c746973696704244d756c746973696773000108050269066d06040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e01310401ec0c2c4465706f73697442617365184000801b84ee320000000000000000000018590120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f842073746f726520612064697370617463682063616c6c20666f72206c617465722e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069733101206034202b2073697a656f662828426c6f636b4e756d6265722c2042616c616e63652c204163636f756e74496429296020627974657320616e642077686f7365206b65792073697a652069738020603332202b2073697a656f66284163636f756e74496429602062797465732e344465706f736974466163746f72184000743ba40b00000000000000000000000c55012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e00250120546869732069732068656c6420666f7220616464696e67203332206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e384d61785369676e61746f726965731c104000000004ec20546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420696e20746865206d756c74697369672e0175062f144374797065011443747970650418437479706573000104022c790604001060204354797065732073746f726564206f6e20636861696e2e001901204974206d6170732066726f6d2061204354797065206861736820746f206974732063726561746f7220616e6420626c6f636b206e756d62657220696e207768696368206974342077617320637265617465642e01390401f400017d063d2c4174746573746174696f6e012c4174746573746174696f6e08304174746573746174696f6e73000104022c810604000c78204174746573746174696f6e732073746f726564206f6e20636861696e2e00cc204974206d6170732066726f6d206120636c61696d206861736820746f207468652066756c6c206174746573746174696f6e2e5045787465726e616c4174746573746174696f6e7301010805028906a804000ca02044656c656761746564206174746573746174696f6e732073746f726564206f6e20636861696e2e00e8204974206d6170732066726f6d20612064656c65676174696f6e20494420746f206120766563746f72206f6620636c61696d206861736865732e013d0401f8081c4465706f7369741840001cc9dd006e0000000000000000000004e420546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720616e206174746573746174696f6e2e604d617844656c6567617465644174746573746174696f6e731c10e803000008090120546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732077686963682063616e206265206d61646520627954207468652073616d652064656c65676174696f6e2e018d063e2844656c65676174696f6e012844656c65676174696f6e083c44656c65676174696f6e4e6f646573000104022c910604000c882044656c65676174696f6e206e6f6465732073746f726564206f6e20636861696e2e00b0204974206d6170732066726f6d2061206e6f646520494420746f20746865206e6f64652064657461696c732e5444656c65676174696f6e4869657261726368696573000104022ca50604000ca02044656c65676174696f6e2068696572617263686965732073746f726564206f6e20636861696e2e00dc204974206d61707320666f7220612028726f6f7429206e6f646520494420746f20746865206869657261726368792064657461696c732e015104010501181c4465706f73697418400080c6a47e8d0300000000000000000004dc20546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720612064656c65676174696f6e2e584d61785369676e6174757265427974654c656e677468dc08400000384d61785265766f636174696f6e731c1005000000047c204d6178696d756d206e756d626572206f66207265766f636174696f6e732e2c4d617852656d6f76616c731c100500000004f4204d6178696d756d206e756d626572206f662072656d6f76616c732e2053686f756c642062652073616d65206173204d61785265766f636174696f6e733c4d6178506172656e74436865636b731c1005000000080d01204d6178696d756d206e756d626572206f6620757077617264732074726176657273616c73206f66207468652064656c65676174696f6e20747265652066726f6d2061f0206e6f646520746f2074686520726f6f7420616e64207468757320746865206465707468206f66207468652064656c65676174696f6e20747265652e2c4d61784368696c6472656e1c10e80300000c0d01204d6178696d756d206e756d626572206f6620616c6c206368696c6472656e20666f7220612064656c65676174696f6e206e6f64652e20466f7220612062696e617279fc20747265652c20746869732073686f756c6420626520747769636520746865206d6178696d756d206465707468206f662074686520747265652c20692e652e5c206032205e204d6178506172656e74436865636b73602e01a9063f0c446964010c446964100c4469640001040200ad0604000c5820444944732073746f726564206f6e20636861696e2e00c8204974206d6170732066726f6d206120444944206964656e74696669657220746f20746865204449442064657461696c732e4053657276696365456e64706f696e74730001080502cd06790404000ca0205365727669636520656e64706f696e7473206173736f636961746564207769746820444944732e000901204974206d6170732066726f6d2028444944206964656e7469666965722c20736572766963652049442920746f2074686520736572766963652064657461696c732e44446964456e64706f696e7473436f756e7401010402001c10000000000cac20436f756e746572206f66207365727669636520656e64706f696e747320666f722065616368204449442e00cc204974206d6170732066726f6d2028444944206964656e7469666965722920746f20612033322d62697420636f756e7465722e30446964426c61636b6c6973740001040200b00400141d012054686520736574206f66204449447320746861742068617665206265656e2064656c6574656420616e642063616e6e6f74207468657265666f726520626520637265617465647020616761696e20666f7220736563757269747920726561736f6e732e002101204974206d6170732066726f6d206120444944206964656e74696669657220746f206120756e6974207475706c652c20666f72207468652073616b65206f6620747261636b696e674420444944206964656e746966696572732e016d04010d01382c426173654465706f736974184000008d49fd1a07000000000000000000100d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974f820746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f73697473fc20696e6372656173652062792074686520616d6f756e74206f662075736564206b65797320616e64207365727669636520656e64706f696e74732e20546865c8206465706f7369742063616e206265207265636c61696d6564207768656e20746865204449442069732064656c657465642e5853657276696365456e64706f696e744465706f736974184000b0156a084a00000000000000000000100d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368207365727669636520656e64706f696e7409012061732061206465706f73697420746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e205468651501206465706f7369742063616e206265207265636c61696d6564207768656e20746865207365727669636520656e64706f696e742069732072656d6f766564206f722074686534204449442064656c657465642e284b65794465706f736974184000dc20749701000000000000000000000805012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368206164646564206b65792061732061e4206465706f73697420746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e0c466565184000203d88792d000000000000000000000c09012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f7220656163682044494420617320612066656520746f0d0120696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206665652077696c6c206e6f74206765748820726566756e646564207768656e20746865204449442069732064656c657465642e4c4d61785075626c69634b6579735065724469641c10140000000c1101204d6178696d756d206e756d626572206f6620746f74616c207075626c6963206b6579732077686963682063616e2062652073746f7265642070657220444944206b6579d8206964656e7469666965722e205468697320696e636c7564657320746865206f6e65732063757272656e746c79207573656420666f72f02061757468656e7469636174696f6e2c206b65792061677265656d656e742c206174746573746174696f6e2c20616e642064656c65676174696f6e2e584d61784e65774b657941677265656d656e744b6579731c100a000000081501204d6178696d756d206e756d626572206f66206b65792061677265656d656e74206b65797320746861742063616e20626520616464656420696e2061206372656174696f6e2c206f7065726174696f6e2e604d6178546f74616c4b657941677265656d656e744b6579731c1013000000101101204d6178696d756d206e756d626572206f6620746f74616c206b65792061677265656d656e74206b65797320746861742063616e2062652073746f72656420666f7220613420444944207375626a6563742e00c42053686f756c642062652067726561746572207468616e20604d61784e65774b657941677265656d656e744b657973602e4c4d6178426c6f636b73547856616c696469747910202c0100000000000008ec20546865206d6178696d756d206e756d626572206f6620626c6f636b732061204449442d617574686f72697a6564206f7065726174696f6e2069739420636f6e736964657265642076616c696420616674657220697473206372656174696f6e2e644d61784e756d6265724f6653657276696365735065724469641c101900000004fc20546865206d6178696d756d206e756d626572206f6620736572766963657320746861742063616e2062652073746f72656420756e6465722061204449442e484d61785365727669636549644c656e6774681c1032000000049020546865206d6178696d756d206c656e677468206f66206120736572766963652049442e504d617853657276696365547970654c656e6774681c103200000004c820546865206d6178696d756d206c656e677468206f66206120736572766963652074797065206465736372697074696f6e2e684d61784e756d6265724f665479706573506572536572766963651c100100000004090120546865206d6178696d756d206e756d626572206f662061207479706573206465736372697074696f6e20666f722061207365727669636520656e64706f696e742e4c4d61785365727669636555726c4c656e6774681c10c8000000049420546865206d6178696d756d206c656e677468206f66206120736572766963652055524c2e644d61784e756d6265724f6655726c73506572536572766963651c100200000004d420546865206d6178696d756d206e756d626572206f6620612055524c7320666f722061207365727669636520656e64706f696e742e01d1064024496e666c6174696f6e000000084c496e697469616c506572696f644c656e677468102048a3c800000000000c050120546865206c656e677468206f662074686520696e697469616c20706572696f6420696e2077686963682074686520636f6e7374616e74207265776172642069731101206d696e7465642e204f6e6365207468652063757272656e7420626c6f636b206578636565647320746869732c207265776172647320617265206e6f206675727468657220206973737565642e4c496e697469616c506572696f64526577617264184036f539fdaeb30200000000000000000008fc2054686520616d6f756e74206f66206e65776c792069737375656420746f6b656e732070657220626c6f636b20647572696e672074686520696e697469616c2020706572696f642e0042244469644c6f6f6b757001244469644c6f6f6b75700834436f6e6e656374656444696473000104021501d506040004a8204d617070696e672066726f6d206163636f756e74206964656e7469666965727320746f20444944732e44436f6e6e65637465644163636f756e74730001080202d906b004000cbc204d617070696e672066726f6d2028444944202b206163636f756e74206964656e74696669657229202d3e2028292e0d012054686520656d707479207475706c65206973207573656420617320612073656e74696e656c2076616c756520746f2073696d706c7920696e64696361746520746865982070726573656e6365206f66206120676976656e207475706c6520696e20746865206d61702e01c504011101041c4465706f736974184000c0afd69136000000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e01dd064324576562334e616d65730124576562334e616d65730c144f776e6572000104022501e10604000488204d6170206f66206e616d65202d3e206f776e6572736869702064657461696c732e144e616d65730001040200250104000458204d6170206f66206f776e6572202d3e206e616d652e1842616e6e6564000104022501b004000c4c204d6170206f66206e616d65202d3e2028292e00e02049662061206e616d65206b65792069732070726573656e742c20746865206e616d652069732063757272656e746c792062616e6e65642e01d5040121010c1c4465706f736974184000d450a85d6b0000000000000000000004bc2054686520616d6f756e74206f66204b494c5420746f206465706f73697420746f20636c61696d2061206e616d652e344d696e4e616d654c656e6774681c1003000000048820546865206d696e20656e636f646564206c656e677468206f662061206e616d652e344d61784e616d654c656e6774681c1020000000048820546865206d617820656e636f646564206c656e677468206f662061206e616d652e01e50644445075626c696343726564656e7469616c7301445075626c696343726564656e7469616c73082c43726564656e7469616c730001080502e906ed0604000cc020546865206d6170206f66207075626c69632063726564656e7469616c7320616c72656164792061747465737465642ef0204974206d6170732066726f6d206120287375626a656374206964202b2063726564656e7469616c20696429202d3e20746865206372656174696f6e6c2064657461696c73206f66207468652063726564656e7469616c2e4843726564656e7469616c5375626a65637473000104022c310104001025012041207265766572736520696e646578206d617070696e672066726f6d2063726564656e7469616c20494420746f20746865207375626a656374207468652063726564656e7469616c3c207761732069737375656420746f2e001901204974206974207573656420746f20706572666f726d20656666696369656e74206c6f6f6b7570206f662063726564656e7469616c7320676976656e2074686569722049442e01d904012d010c1c4465706f7369741840005c6a51fc45000000000000000000000411012054686520616d6f756e74206f6620746f6b656e7320746f2072657365727665207768656e20617474657374696e672061207075626c69632063726564656e7469616c2e584d6178456e636f646564436c61696d734c656e6774681c10a0860100040d0120546865206d6178696d756d206c656e67746820696e206279746573206f662074686520656e636f64656420636c61696d73206f6620612063726564656e7469616c2e484d61785375626a65637449644c656e6774681c100c01000008e820546865206d6178696d756d206c656e67746820696e206279746573206f6620746865207261772063726564656e7469616c207375626a65637430206964656e7469666965722e01f106453c50617261636861696e53797374656d013c50617261636861696e53797374656d545450656e64696e6756616c69646174696f6e436f64650100300400187d0120496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e00c10120417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455dad012077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e000501205b77656c6c5f6b6e6f776e5f6b6579733a3a434f44455d3a2073705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f4445444e657756616c69646174696f6e436f64650000300400145d012056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e647820636f6e73657175656e746c79207468652072656c61792d636861696e2e00650120546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c7265616479207365742c207468652076616c75652e3856616c69646174696f6e446174610000f10404000cd020546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e2d0120546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f7265643420696e2074686520747269652e5044696453657456616c69646174696f6e436f64650100a8040004e02057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f644c61737452656c6179436861696e426c6f636b4e756d62657201001c1000000000041d01205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e60557067726164655265737472696374696f6e5369676e616c0100f50604001c750120416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e610120496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365646c2063616e6469646174652077696c6c20626520696e76616c69642e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3c52656c6179537461746550726f6f660000f904040018c4205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e5852656c6576616e744d6573736167696e6753746174650000fd0604001c65012054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e2061732070657248207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e44486f7374436f6e66696775726174696f6e000011070400182901205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e384c617374446d714d7163486561640100150780000000000000000000000000000000000000000000000000000000000000000010f420546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e404c61737448726d704d7163486561647301001907040010490120546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e6450726f636573736564446f776e776172644d6573736167657301001c10000000000cc8204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e3448726d7057617465726d61726b01001c10000000000ca02048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5048726d704f7574626f756e644d657373616765730100250704000ca42048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e385570776172644d657373616765730100a90204000cac20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5450656e64696e675570776172644d657373616765730100a902040004310120557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e84416e6e6f756e63656448726d704d6573736167657350657243616e64696461746501001c100000000008650120546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f72f020616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e68526573657276656458636d705765696768744f766572726964650000240400085d01205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e645265736572766564446d705765696768744f766572726964650000240400085901205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e44417574686f72697a65645570677261646500002d07040004b820546865206e65787420617574686f72697a656420757067726164652c206966207468657265206973206f6e652e60437573746f6d56616c69646174696f6e486561644461746100003004000c2901204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e00190120536565205b6050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f64617461605d20666f72206d6f726520696e666f726d6174696f6e2e01e904019d0100013107503450617261636861696e496e666f013450617261636861696e496e666f042c50617261636861696e49640100a90110640000000000000000512458636d705175657565012458636d7051756575652844496e626f756e6458636d70537461747573010035070400049420537461747573206f662074686520696e626f756e642058434d50206368616e6e656c732e4c496e626f756e6458636d704d6573736167657301010802054d0730040004190120496e626f756e64206167677265676174652058434d50206d657373616765732e2049742063616e206f6e6c79206265206f6e6520706572205061726149642f626c6f636b2e484f7574626f756e6458636d70537461747573010051070400185d0120546865206e6f6e2d656d7074792058434d50206368616e6e656c7320696e206f72646572206f66206265636f6d696e67206e6f6e2d656d7074792c20616e642074686520696e646578206f6620746865206669727374510120616e64206c617374206f7574626f756e64206d6573736167652e204966207468652074776f20696e64696365732061726520657175616c2c207468656e20697420696e6469636174657320616e20656d707479590120717565756520616e64207468657265206d7573742062652061206e6f6e2d604f6b6020604f7574626f756e64537461747573602e20576520617373756d65207175657565732067726f77206e6f20677265617465725901207468616e203635353335206974656d732e20517565756520696e646963657320666f72206e6f726d616c206d6573736167657320626567696e206174206f6e653b207a65726f20697320726573657276656420696e11012063617365206f6620746865206e65656420746f2073656e64206120686967682d7072696f72697479207369676e616c206d657373616765207468697320626c6f636b2e09012054686520626f6f6c20697320747275652069662074686572652069732061207369676e616c206d6573736167652077616974696e6720746f2062652073656e742e504f7574626f756e6458636d704d6573736167657301010802055d0730040004bc20546865206d65737361676573206f7574626f756e6420696e206120676976656e2058434d50206368616e6e656c2e385369676e616c4d6573736167657301010402a90130040004a020416e79207369676e616c206d657373616765732077616974696e6720746f2062652073656e742e2c5175657565436f6e6669670100610774020000000500000001000000821a06000008000700c817a804020004000415012054686520636f6e66696775726174696f6e20776869636820636f6e74726f6c73207468652064796e616d696373206f6620746865206f7574626f756e642071756575652e284f76657277656967687400010405106507040010050120546865206d657373616765732074686174206578636565646564206d617820696e646976696475616c206d65737361676520776569676874206275646765742e003901205468657365206d657373616765207374617920696e20746869732073746f72616765206d617020756e74696c207468657920617265206d616e75616c6c79206469737061746368656420766961582060736572766963655f6f766572776569676874602e50436f756e746572466f724f76657277656967687401001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c4f766572776569676874436f756e7401001020000000000000000008690120546865206e756d626572206f66206f766572776569676874206d657373616765732065766572207265636f7264656420696e20604f766572776569676874602e20416c736f20646f75626c657320617320746865206e6578748420617661696c61626c652066726565206f76657277656967687420696e6465782e38517565756553757370656e6465640100a804000441012057686574686572206f72206e6f74207468652058434d502071756575652069732073757370656e6465642066726f6d20657865637574696e6720696e636f6d696e672058434d73206f72206e6f742e011d0501a10100016907522c506f6c6b61646f7458636d0001210501ad0100016d07532843756d756c757358636d0000018102000171075420446d7051756575650120446d7051756575651434436f6e66696775726174696f6e01007507280700e40b540202000400044c2054686520636f6e66696775726174696f6e2e2450616765496e646578010079074000000000000000000000000000000000044020546865207061676520696e6465782e145061676573010104021c7d0704000444205468652071756575652070616765732e284f766572776569676874000104021081070400046420546865206f766572776569676874206d657373616765732e50436f756e746572466f724f76657277656967687401001c100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617001750501850200018507558907042048436865636b4e6f6e5a65726f53656e6465729107b040436865636b5370656356657273696f6e95071c38436865636b547856657273696f6e99071c30436865636b47656e657369739d072c38436865636b4d6f7274616c697479a1072c28436865636b4e6f6e6365a907b02c436865636b576569676874ad07b0604368617267655472616e73616374696f6e5061796d656e74b107b04d04"} \ No newline at end of file +{"result":"0x6d6574610e7508000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f08144e6f6e636501102c4163636f756e74446174610114001401146e6f6e63651001144e6f6e6365000124636f6e73756d657273200120526566436f756e7400012470726f766964657273200120526566436f756e7400012c73756666696369656e7473200120526566436f756e740001106461746114012c4163636f756e74446174610000100000050600140c3c70616c6c65745f62616c616e6365731474797065732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500011866726f7a656e18011c42616c616e6365000114666c6167731c01284578747261466c61677300001800000507001c0c3c70616c6c65745f62616c616e636573147479706573284578747261466c61677300000400180110753132380000200000050500240c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540128000c01186e6f726d616c2801045400012c6f7065726174696f6e616c280104540001246d616e6461746f7279280104540000280c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d652c010c75363400012870726f6f665f73697a652c010c75363400002c000006100030083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d000034000002080038102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f67733c013c5665633c4469676573744974656d3e00003c000002400040102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e00060024436f6e73656e7375730800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e000400105365616c0800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e000500144f74686572040034011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e74557064617465640008000044000003040000000800480000024c004c08306672616d655f73797374656d2c4576656e745265636f7264080445015004540130000c01147068617365c502011450686173650001146576656e7450010445000118746f70696373b10101185665633c543e00005008447370697269746e65745f72756e74696d653052756e74696d654576656e740001801853797374656d04005401706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c496e6469636573040078017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e0005002042616c616e63657304007c017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404008401a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c53657373696f6e040088015470616c6c65745f73657373696f6e3a3a4576656e740016004050617261636861696e5374616b696e6704008c018470617261636861696e5f7374616b696e673a3a4576656e743c52756e74696d653e0015002444656d6f6372616379040094018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e001e001c436f756e63696c0400a801fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400b801fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020004c546563686e6963616c4d656d626572736869700400bc01fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365313e0022002054726561737572790400c0017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e0023001c5574696c6974790400c4015470616c6c65745f7574696c6974793a3a4576656e740028001c56657374696e670400c8017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e002900245363686564756c65720400cc018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e002a001450726f78790400d8017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002b0020507265696d6167650400e4017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e002c0038546970734d656d626572736869700400e801fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365323e002d0010546970730400ec016c70616c6c65745f746970733a3a4576656e743c52756e74696d653e002e00204d756c74697369670400f0017c70616c6c65745f6d756c74697369673a3a4576656e743c52756e74696d653e002f001443747970650400f8015463747970653a3a4576656e743c52756e74696d653e003d002c4174746573746174696f6e0400fc016c6174746573746174696f6e3a3a4576656e743c52756e74696d653e003e002844656c65676174696f6e04000901016864656c65676174696f6e3a3a4576656e743c52756e74696d653e003f000c44696404001101014c6469643a3a4576656e743c52756e74696d653e004000244469644c6f6f6b757004001501018470616c6c65745f6469645f6c6f6f6b75703a3a4576656e743c52756e74696d653e00430024576562334e616d657304002501018470616c6c65745f776562335f6e616d65733a3a4576656e743c52756e74696d653e004400445075626c696343726564656e7469616c730400310101887075626c69635f63726564656e7469616c733a3a4576656e743c52756e74696d653e004500244d6967726174696f6e0400a101018070616c6c65745f6d6967726174696f6e3a3a4576656e743c52756e74696d653e0046003c50617261636861696e53797374656d0400d90101bc63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e0050002458636d7051756575650400dd0101a463756d756c75735f70616c6c65745f78636d705f71756575653a3a4576656e743c52756e74696d653e0052002c506f6c6b61646f7458636d0400e901016870616c6c65745f78636d3a3a4576656e743c52756e74696d653e0053002843756d756c757358636d0400bd02018863756d756c75735f70616c6c65745f78636d3a3a4576656e743c52756e74696d653e00540020446d7051756575650400c10201a063756d756c75735f70616c6c65745f646d705f71756575653a3a4576656e743c52756e74696d653e00550000540c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5801304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7264013444697370617463684572726f7200013464697370617463685f696e666f5801304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e7449640001106861736830011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e580c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874280118576569676874000114636c6173735c01344469737061746368436c617373000120706179735f6665656001105061797300005c0c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f727900020000600c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000064082873705f72756e74696d653444697370617463684572726f72000138144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040068012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e04006c0128546f6b656e4572726f720007002841726974686d65746963040070013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007401485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c0038526f6f744e6f74416c6c6f776564000d000068082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7244018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d00006c082873705f72756e74696d6528546f6b656e4572726f720001284046756e6473556e617661696c61626c65000000304f6e6c7950726f76696465720001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f727465640006004043616e6e6f74437265617465486f6c64000700344e6f74457870656e6461626c650008001c426c6f636b65640009000070083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000074082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000780c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e047c54686520604576656e746020656e756d206f6620746869732070616c6c65747c0c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001541c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e636553657408010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475738001185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e184d696e74656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000a049c536f6d6520616d6f756e7420776173206d696e74656420696e746f20616e206163636f756e742e184275726e656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000b049c536f6d6520616d6f756e7420776173206275726e65642066726f6d20616e206163636f756e742e2453757370656e64656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000c041501536f6d6520616d6f756e74207761732073757370656e6465642066726f6d20616e206163636f756e74202869742063616e20626520726573746f726564206c61746572292e20526573746f72656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000d04a4536f6d6520616d6f756e742077617320726573746f72656420696e746f20616e206163636f756e742e20557067726164656404010c77686f000130543a3a4163636f756e744964000e0460416e206163636f756e74207761732075706772616465642e18497373756564040118616d6f756e74180128543a3a42616c616e6365000f042d01546f74616c2069737375616e63652077617320696e637265617365642062792060616d6f756e74602c206372656174696e6720612063726564697420746f2062652062616c616e6365642e2452657363696e646564040118616d6f756e74180128543a3a42616c616e63650010042501546f74616c2069737375616e636520776173206465637265617365642062792060616d6f756e74602c206372656174696e672061206465627420746f2062652062616c616e6365642e184c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500110460536f6d652062616c616e636520776173206c6f636b65642e20556e6c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500120468536f6d652062616c616e63652077617320756e6c6f636b65642e1846726f7a656e08010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500130460536f6d652062616c616e6365207761732066726f7a656e2e1854686177656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500140460536f6d652062616c616e636520776173207468617765642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65748014346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e6365537461747573000108104672656500000020526573657276656400010000840c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574880c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e64657820013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e047c54686520604576656e746020656e756d206f6620746869732070616c6c65748c0c4470617261636861696e5f7374616b696e671870616c6c6574144576656e74040454000154204e6577526f756e640800100144426c6f636b4e756d626572466f723c543e000020013053657373696f6e496e6465780000088041206e6577207374616b696e6720726f756e642068617320737461727465642e785c5b626c6f636b206e756d6265722c20726f756e64206e756d6265725c5d50456e7465726564546f7043616e646964617465730400000130543a3a4163636f756e744964000108cc41206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d444c656674546f7043616e646964617465730400000130543a3a4163636f756e744964000208d8416e206163636f756e74207761732072656d6f7665642066726f6d2074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d604a6f696e6564436f6c6c61746f7243616e646964617465730800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000308e041206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620636f6c6c61746f722063616e646964617465732ebc5c5b6163636f756e742c20616d6f756e74207374616b656420627920746865206e65772063616e6469646174655c5d48436f6c6c61746f725374616b65644d6f72650c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00040801014120636f6c6c61746f722063616e6469646174652068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d48436f6c6c61746f725374616b65644c6573730c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00050801014120636f6c6c61746f722063616e64696461746520686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d54436f6c6c61746f725363686564756c6564457869740c0020013053657373696f6e496e6465780000000130543a3a4163636f756e744964000020013053657373696f6e496e64657800061001014120636f6c6c61746f722063616e646964617465206861732073746172746564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e646964617465732e205c5b726f756e64206e756d6265722c20636f6c6c61746f722773206163636f756e742c20726f756e64206e756d626572207768656ee074686520636f6c6c61746f722077696c6c206265206566666563746976656c792072656d6f7665642066726f6d2074686520736574206f663063616e646964617465735c5d50436f6c6c61746f7243616e63656c6564457869740400000130543a3a4163636f756e74496400070c05014120636f6c6c61746f722063616e646964617465206861732063616e63656c6564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e6469646174657320616e6420776173206164646564206261636b20746f207468652063616e64696461746520706f6f6c2e205c5b636f6c6c61746f722773246163636f756e745c5d3443616e6469646174654c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000808cc416e206163636f756e7420686173206c6566742074686520736574206f6620636f6c6c61746f722063616e646964617465732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d3c436f6c6c61746f7252656d6f7665640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000908e4416e206163636f756e742077617320666f726365646c792072656d6f7665642066726f6d207468652020736574206f6620636f6c6c61746f72c863616e646964617465732e205c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d604d617843616e6469646174655374616b654368616e676564040018013042616c616e63654f663c543e000a08b4546865206d6178696d756d2063616e646964617465207374616b6520686173206265656e206368616e6765642e485c5b6e6577206d617820616d6f756e745c5d4c44656c656761746f725374616b65644d6f72651000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000b0cf0412064656c656761746f722068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d4c44656c656761746f725374616b65644c6573731000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000c0cf0412064656c656761746f7220686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d3444656c656761746f724c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000d08a8416e206163636f756e7420686173206c6566742074686520736574206f662064656c656761746f72732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d2844656c65676174696f6e1000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000e0cc8416e206163636f756e74206861732064656c6567617465642061206e657720636f6c6c61746f722063616e6469646174652e11015c5b6163636f756e742c20616d6f756e74206f662066756e6473207374616b65642c20746f74616c20616d6f756e74206f662064656c656761746f7273272066756e64738c7374616b656420666f722074686520636f6c6c61746f722063616e6469646174655c5d4844656c65676174696f6e5265706c616365641800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000f180d0141206e65772064656c65676174696f6e20686173207265706c6163656420616e206578697374696e67206f6e6520696e2074686520736574206f66206f6e676f696e67010164656c65676174696f6e7320666f72206120636f6c6c61746f722063616e6469646174652e205c5b6e65772064656c656761746f722773206163636f756e742c0901616d6f756e74206f662066756e6473207374616b656420696e20746865206e65772064656c65676174696f6e2c207265706c616365642064656c656761746f7227730d016163636f756e742c20616d6f756e74206f662066756e6473207374616b656420696e20746865207265706c6163652064656c65676174696f6e2c20636f6c6c61746f72050163616e6469646174652773206163636f756e742c206e657720746f74616c20616d6f756e74206f662064656c656761746f7273272066756e6473207374616b656470666f722074686520636f6c6c61746f722063616e6469646174655c5d5444656c656761746f724c656674436f6c6c61746f721000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00100cdc416e206163636f756e74206861732073746f707065642064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e09015c5b6163636f756e742c20636f6c6c61746f722063616e6469646174652773206163636f756e742c206f6c6420616d6f756e74206f662064656c656761746f727327d866756e6473207374616b65642c206e657720616d6f756e74206f662064656c656761746f7273272066756e6473207374616b65645c5d2052657761726465640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e001108c04120636f6c6c61746f72206f7220612064656c656761746f72206861732072656365697665642061207265776172642e745c5b6163636f756e742c20616d6f756e74206f66207265776172645c5d44526f756e64496e666c6174696f6e536574100090012c5065727175696e74696c6c000090012c5065727175696e74696c6c000090012c5065727175696e74696c6c000090012c5065727175696e74696c6c00120c0501496e666c6174696f6e20636f6e66696775726174696f6e20666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e09015c5b6d6178696d756d20636f6c6c61746f722773207374616b696e6720726174652c206d6178696d756d20636f6c6c61746f7227732072657761726420726174652c0d016d6178696d756d2064656c656761746f722773207374616b696e6720726174652c206d6178696d756d2064656c656761746f7227732072657761726420726174655c5d604d617853656c656374656443616e64696461746573536574080020010c753332000020010c753332001308f0546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c656374656420696e20667574757265dc76616c69646174696f6e20726f756e647320686173206368616e6765642e205c5b6f6c642076616c75652c206e65772076616c75655c5d44426c6f636b73506572526f756e64536574100020013053657373696f6e496e6465780000100144426c6f636b4e756d626572466f723c543e0000100144426c6f636b4e756d626572466f723c543e0000100144426c6f636b4e756d626572466f723c543e00140cf8546865206c656e67746820696e20626c6f636b7320666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e01015c5b726f756e64206e756d6265722c20666972737420626c6f636b20696e207468652063757272656e7420726f756e642c206f6c642076616c75652c206e65771c76616c75655c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574900c3473705f61726974686d65746963287065725f7468696e67732c5065727175696e74696c6c0000040010010c7536340000940c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001442050726f706f73656408013870726f706f73616c5f696e64657820012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c656408013870726f706f73616c5f696e64657820012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e64657820013c5265666572656e64756d496e6465780001247468726573686f6c64980134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e64657820013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e64657820013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e64657820013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000704dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000804e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f6861736830011048323536000114756e74696c100144426c6f636b4e756d626572466f723c543e00090494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e2c426c61636b6c697374656404013470726f706f73616c5f6861736830011048323536000a04c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e64657820013c5265666572656e64756d496e646578000110766f74659c01644163636f756e74566f74653c42616c616e63654f663c543e3e000b0490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e64657820012450726f70496e646578000c048c416e206163636f756e742068617320736563636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e64657820012450726f70496e646578000d0460412070726f706f73616c20676f742063616e63656c65642e2c4d657461646174615365740801146f776e6572a401344d657461646174614f776e6572043c4d65746164617461206f776e65722e011068617368300130507265696d616765486173680438507265696d61676520686173682e0e04d44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e207365742e3c4d65746164617461436c65617265640801146f776e6572a401344d657461646174614f776e6572043c4d65746164617461206f776e65722e011068617368300130507265696d616765486173680438507265696d61676520686173682e0f04e44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e20636c65617265642e4c4d657461646174615472616e736665727265640c0128707265765f6f776e6572a401344d657461646174614f776e6572046050726576696f7573206d65746164617461206f776e65722e01146f776e6572a401344d657461646174614f776e6572044c4e6577206d65746164617461206f776e65722e011068617368300130507265696d616765486173680438507265696d61676520686173682e1004ac4d6574616461746120686173206265656e207472616e7366657272656420746f206e6577206f776e65722e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574980c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f72697479000200009c0c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f7465a00110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e636500010000a00c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000a40c4070616c6c65745f64656d6f6372616379147479706573344d657461646174614f776e657200010c2045787465726e616c0000002050726f706f73616c040020012450726f70496e646578000100285265666572656e64756d040020013c5265666572656e64756d496e64657800020000a80c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e64657820013450726f706f73616c496e64657800013470726f706f73616c5f6861736830011c543a3a486173680001247468726573686f6c6420012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f6861736830011c543a3a48617368000114766f746564ac0110626f6f6c00010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f6861736830011c543a3a4861736800010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574ac0000050000b00418526573756c7408045401b4044501640108084f6b0400b4000000000c4572720400640000010000b40000040000b80c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e64657820013450726f706f73616c496e64657800013470726f706f73616c5f6861736830011c543a3a486173680001247468726573686f6c6420012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f6861736830011c543a3a48617368000114766f746564ac0110626f6f6c00010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f6861736830011c543a3a4861736800010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574bc0c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c00c3c70616c6c65745f74726561737572791870616c6c6574144576656e740804540004490001242050726f706f73656404013870726f706f73616c5f696e64657820013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e64657820013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e64657820013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e64657820013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640007049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000804cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c40c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e64657820010c7533320001146572726f7264013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7264013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c74b001384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c80c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574cc0c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000118245363686564756c65640801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657820010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657820010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e000118726573756c74b001384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e00030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e0004043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e545065726d616e656e746c794f7665727765696768740801107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e000504f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652ed000000408102000d404184f7074696f6e04045401040108104e6f6e6500000010536f6d650400040000010000d80c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c74b001384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065dc0130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578e0010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f6861736830013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00040450412070726f7879207761732072656d6f7665642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574dc08447370697269746e65745f72756e74696d652450726f7879547970650001180c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002004050617261636861696e5374616b696e670003002c43616e63656c50726f7879000400484e6f6e4465706f736974436c61696d696e6700050000e00000050400e40c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f7465640401106861736830011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e245265717565737465640401106861736830011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c65617265640401106861736830011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e80c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574ec0c2c70616c6c65745f746970731870616c6c6574144576656e74080454000449000114184e65775469700401207469705f6861736830011c543a3a486173680000049441206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e670401207469705f6861736830011c543a3a48617368000104d841207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c01207469705f6861736830011c543a3a4861736800010c77686f000130543a3a4163636f756e7449640001187061796f757418013c42616c616e63654f663c542c20493e0002048441207469702073756767657374696f6e20686173206265656e20636c6f7365642e305469705265747261637465640401207469705f6861736830011c543a3a486173680003049041207469702073756767657374696f6e20686173206265656e207265747261637465642e28546970536c61736865640c01207469705f6861736830011c543a3a4861736800011866696e646572000130543a3a4163636f756e74496400011c6465706f73697418013c42616c616e63654f663c542c20493e0004048841207469702073756767657374696f6e20686173206265656e20736c61736865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f00c3c70616c6c65745f6d756c74697369671870616c6c6574144576656e740404540001102c4e65774d756c74697369670c0124617070726f76696e67000130543a3a4163636f756e7449640001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c486173680000048c41206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e404d756c7469736967417070726f76616c100124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000104c841206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e404d756c74697369674578656375746564140124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000118726573756c74b001384469737061746368526573756c740002049c41206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e444d756c746973696743616e63656c6c656410012863616e63656c6c696e67000130543a3a4163636f756e74496400012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000304a041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f4083c70616c6c65745f6d756c74697369672454696d65706f696e74042c426c6f636b4e756d62657201100008011868656967687410012c426c6f636b4e756d626572000114696e64657820010c7533320000f80c1463747970651870616c6c6574144576656e74040454000108304354797065437265617465640800000144437479706543726561746f724f663c543e00003001384374797065486173684f663c543e0000087441206e657720435479706520686173206265656e20637265617465642e885c5b63726561746f72206964656e7469666965722c20435479706520686173685c5d3043547970655570646174656404003001384374797065486173684f663c543e000108ac496e666f726d6174696f6e2061626f7574206120435479706520686173206265656e20757064617465642e385c5b435479706520686173685c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574fc0c2c6174746573746174696f6e1870616c6c6574144576656e74040454000110484174746573746174696f6e43726561746564100000013441747465737465724f663c543e0000300138436c61696d486173684f663c543e00003001384374797065486173684f663c543e0000010101704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e0000088c41206e6577206174746573746174696f6e20686173206265656e20637265617465642e05015c5b61747465737465722049442c20636c61696d20686173682c20435479706520686173682c20286f7074696f6e616c292064656c65676174696f6e2049445c5d484174746573746174696f6e5265766f6b6564080000013441747465737465724f663c543e0000300138436c61696d486173684f663c543e00010880416e206174746573746174696f6e20686173206265656e207265766f6b65642e685c5b6163636f756e742069642c20636c61696d20686173685c5d484174746573746174696f6e52656d6f766564080000013441747465737465724f663c543e0000300138436c61696d486173684f663c543e00020880416e206174746573746174696f6e20686173206265656e2072656d6f7665642e685c5b6163636f756e742069642c20636c61696d20686173685c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e0000300138436c61696d486173684f663c543e0003080501546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e2e685c5b6163636f756e742069642c20636c61696d20686173685c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574010104184f7074696f6e0404540105010108104e6f6e6500000010536f6d6504000501000001000005010c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c417574686f72697a6174696f6e4964043044656c65676174696f6e4964013001042844656c65676174696f6e040030013044656c65676174696f6e49640000000009010c2864656c65676174696f6e1870616c6c6574144576656e7404045400011c40486965726172636879437265617465640c0000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00003001384374797065486173684f663c543e0000088441206e65772068696572617263687920686173206265656e20637265617465642ea05c5b63726561746f722049442c20726f6f74206e6f64652049442c20435459504520686173685c5d404869657261726368795265766f6b6564080000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00010874412068696572617263687920686173206265656e207265766f6b65642e705c5b7265766f6b65722049442c20726f6f74206e6f64652049445c5d4048696572617263687952656d6f766564080000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000208dc412068696572617263687920686173206265656e2072656d6f7665642066726f6d207468652073746f72616765206f6e20636861696e2e705c5b72656d6f7665722049442c20726f6f74206e6f64652049445c5d4444656c65676174696f6e43726561746564180000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000000014044656c656761746f7249644f663c543e00000d01012c5065726d697373696f6e7300030c8841206e65772064656c65676174696f6e20686173206265656e20637265617465642efc5c5b63726561746f722049442c20726f6f74206e6f64652049442c2064656c65676174696f6e206e6f64652049442c20706172656e74206e6f64652049442c6864656c65676174652049442c207065726d697373696f6e735c5d4444656c65676174696f6e5265766f6b6564080000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00040878412064656c65676174696f6e20686173206265656e207265766f6b65642e885c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d4444656c65676174696f6e52656d6f76656408000001384163636f756e7449644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00050878412064656c65676174696f6e20686173206265656e2072656d6f7665642e885c5b72656d6f7665722049442c2064656c65676174696f6e206e6f64652049445c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000608f8546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720612064656c65676174696f6eac737562747265652e205c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c65740d010c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368792c5065726d697373696f6e7300000401106269747320010c753332000011010c0c6469641870616c6c6574144576656e74040454000110284469644372656174656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e0000086c41206e65772044494420686173206265656e20637265617465642e985c5b7472616e73616374696f6e207369676e65722c20444944206964656e7469666965725c5d284469645570646174656404000001484469644964656e7469666965724f663c543e0001085c412044494420686173206265656e20757064617465642e485c5b444944206964656e7469666965725c5d2844696444656c6574656404000001484469644964656e7469666965724f663c543e0002085c412044494420686173206265656e2064656c657465642e485c5b444944206964656e7469666965725c5d4444696443616c6c4469737061746368656408000001484469644964656e7469666965724f663c543e0000b001384469737061746368526573756c74000308a041204449442d617574686f72697365642063616c6c20686173206265656e2065786563757465642e7c5c5b4449442063616c6c65722c20646973706174636820726573756c745c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c657415010c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144576656e74040454000110584173736f63696174696f6e45737461626c69736865640800190101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000004f841206e6577206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e742049442077617320637265617465642e484173736f63696174696f6e52656d6f7665640800190101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000104ec416e206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e74204944207761732072656d6f7665642e444d6967726174696f6e50726f6772657373000204c454686572652077617320736f6d652070726f677265737320696e20746865206d6967726174696f6e2070726f636573732e484d6967726174696f6e436f6d706c65746564000304dc416c6c204163636f756e744964732068617665206265656e206d6967726174656420746f204c696e6b61626c654163636f756e7449642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657419010c4470616c6c65745f6469645f6c6f6f6b7570406c696e6b61626c655f6163636f756e74444c696e6b61626c654163636f756e7449640001082c4163636f756e744964323004001d01012c4163636f756e74496432300000002c4163636f756e7449643332040000012c4163636f756e7449643332000100001d010c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e742c4163636f756e744964323000000400210101205b75383b2032305d0000210100000314000000080025010c4470616c6c65745f776562335f6e616d65731870616c6c6574144576656e740404540001103c576562334e616d65436c61696d65640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6529010134576562334e616d654f663c543e0000047041206e6577206e616d6520686173206265656e20636c61696d65642e40576562334e616d6552656c65617365640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6529010134576562334e616d654f663c543e0001046441206e616d6520686173206265656e2072656c65617365642e38576562334e616d6542616e6e65640401106e616d6529010134576562334e616d654f663c543e0002045c41206e616d6520686173206265656e2062616e6e65642e40576562334e616d65556e62616e6e65640401106e616d6529010134576562334e616d654f663c543e0003046441206e616d6520686173206265656e20756e62616e6e65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657429010c4470616c6c65745f776562335f6e616d657324776562335f6e616d65344173636969576562334e616d65040454000004002d010180426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e00002d010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000031010c487075626c69635f63726564656e7469616c731870616c6c6574144576656e740404540001104043726564656e7469616c53746f7265640801287375626a6563745f696435010130543a3a5375626a65637449640488546865207375626a656374206f6620746865206e65772063726564656e7469616c2e013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0474546865206964206f6620746865206e65772063726564656e7469616c2e0004a041206e6577207075626c69632063726564656e7469616c20686173206265656e206973737565642e4443726564656e7469616c52656d6f7665640801287375626a6563745f696435010130543a3a5375626a65637449640498546865207375626a656374206f66207468652072656d6f7665642063726564656e7469616c2e013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0484546865206964206f66207468652072656d6f7665642063726564656e7469616c2e01049841207075626c69632063726564656e7469616c7320686173206265656e2072656d6f7665642e4443726564656e7469616c5265766f6b656404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0484546865206964206f6620746865207265766f6b65642063726564656e7469616c2e02049441207075626c69632063726564656e7469616c20686173206265656e207265766f6b65642e4c43726564656e7469616c556e7265766f6b656404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e048c546865206964206f662074686520756e7265766f6b65642063726564656e7469616c2e03049c41207075626c69632063726564656e7469616c20686173206265656e20756e7265766f6b65642e0490546865206576656e74732067656e65726174656420627920746869732070616c6c65742e35010c3872756e74696d655f636f6d6d6f6e18617373657473204173736574446964000004003901013c41737365744964656e746966696572000039010c3c6b696c745f61737365745f646964730876312041737365744469640000080120636861696e5f69643d01011c436861696e496400012061737365745f69646501011c4173736574496400003d01103c6b696c745f61737365745f6469647314636861696e0876311c436861696e49640001141845697031353504004101013c4569703135355265666572656e63650000001842697031323204004501016447656e657369734865784861736833325265666572656e63650001001c446f7473616d6104004501016447656e657369734865784861736833325265666572656e636500020018536f6c616e6104004d01017047656e657369734261736535384861736833325265666572656e63650003001c47656e6572696304005501013847656e65726963436861696e4964000400004101103c6b696c745f61737365745f6469647314636861696e0876313c4569703135355265666572656e6365000004001801107531323800004501103c6b696c745f61737365745f6469647314636861696e0876316447656e657369734865784861736833325265666572656e636500000400490101205b75383b2031365d000049010000031000000008004d01103c6b696c745f61737365745f6469647314636861696e0876317047656e657369734261736535384861736833325265666572656e63650000040051010170426f756e6465645665633c75382c20436f6e73745533323c33323e3e000051010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00005501103c6b696c745f61737365745f6469647314636861696e0876313847656e65726963436861696e496400000801246e616d6573706163655901015447656e65726963436861696e4e616d6573706163650001247265666572656e63656101015447656e65726963436861696e5265666572656e636500005901103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e4e616d657370616365000004005d0101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f434841494e5f4e414d4553504143455f4c454e4754485f5533323e3e00005d010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00006101103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e5265666572656e636500000400510101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f434841494e5f5245464552454e43455f4c454e4754485f5533323e3e00006501103c6b696c745f61737365745f646964731461737365740876311c4173736574496400011418536c6970343404006901013c536c697034345265666572656e636500000014457263323004007501018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650001001845726337323104007901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650002001c4572633131353504007901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650003001c47656e6572696304008901013847656e6572696341737365744964000400006901103c6b696c745f61737365745f646964731461737365740876313c536c697034345265666572656e6365000004006d0101105532353600006d01083c7072696d69746976655f7479706573105532353600000400710101205b7536343b20345d000071010000030400000010007501103c6b696c745f61737365745f646964731461737365740876318445766d536d617274436f6e747261637446756e6769626c655265666572656e636500000400210101205b75383b2032305d00007901103c6b696c745f61737365745f646964731461737365740876319045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e6365000008007501018445766d536d617274436f6e747261637446756e6769626c655265666572656e636500007d0101b44f7074696f6e3c45766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e7469666965723e00007d0104184f7074696f6e0404540181010108104e6f6e6500000010536f6d650400810100000100008101103c6b696c745f61737365745f646964731461737365740876319445766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e74696669657200000400850101f4426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4944454e5449464945525f4c454e4754485f5533323e3e000085010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00008901103c6b696c745f61737365745f646964731461737365740876313847656e657269634173736574496400000c01246e616d6573706163658d01015447656e6572696341737365744e616d6573706163650001247265666572656e63659101015447656e6572696341737365745265666572656e63650001086964990101784f7074696f6e3c47656e6572696341737365744964656e7469666965723e00008d01103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365744e616d657370616365000004005d0101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4e414d4553504143455f4c454e4754485f5533323e3e00009101103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365745265666572656e636500000400950101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f5245464552454e43455f4c454e4754485f5533323e3e000095010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000990104184f7074696f6e040454019d010108104e6f6e6500000010536f6d6504009d0100000100009d01103c6b696c745f61737365745f646964731461737365740876315847656e6572696341737365744964656e74696669657200000400850101f4426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4944454e5449464945525f4c454e4754485f5533323e3e0000a1010c4070616c6c65745f6d6967726174696f6e1870616c6c6574144576656e7404045400010438456e7472696573557064617465640400a501014c456e7472696573546f4d6967726174653c543e000000047c54686520604576656e746020656e756d206f6620746869732070616c6c6574a5010c4070616c6c65745f6d6967726174696f6e1870616c6c657440456e7472696573546f4d69677261746504045401a9010018012c6174746573746174696f6ead01010101426f756e6465645665633c436c61696d486173684f663c543e2c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65743e00012864656c65676174696f6ead01012101426f756e6465645665633c44656c65676174696f6e4e6f646549644f663c543e2c3c5420617320436f6e6669673e3a3a0a4d61784d6967726174696f6e7350657250616c6c65743e00010c646964b501011501426f756e6465645665633c4469644964656e7469666965724f663c543e2c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65740a3e0001186c6f6f6b7570bd01010d01426f756e6465645665633c4c696e6b61626c654163636f756e7449642c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65743e00010c77336ec50101fc426f756e6465645665633c576562334e616d654f663c543e2c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65743e0001487075626c69635f63726564656e7469616c73cd01015901426f756e6465645665633c285375626a65637449644f663c543e2c2043726564656e7469616c49644f663c543e292c3c5420617320436f6e6669673e3a3a0a4d61784d6967726174696f6e7350657250616c6c65743e0000a90108447370697269746e65745f72756e74696d651c52756e74696d6500000000ad010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540130045300000400b10101185665633c543e0000b1010000023000b5010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e0000b9010000020000bd010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011901045300000400c10101185665633c543e0000c101000002190100c5010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012901045300000400c90101185665633c543e0000c901000002290100cd010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d101045300000400d50101185665633c543e0000d1010000040835013000d501000002d10100d9010c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144576656e7404045400011c6056616c69646174696f6e46756e6374696f6e53746f726564000004d05468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e6456616c69646174696f6e46756e6374696f6e4170706c69656404015472656c61795f636861696e5f626c6f636b5f6e756d20015452656c6179436861696e426c6f636b4e756d62657200010445015468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e6c56616c69646174696f6e46756e6374696f6e446973636172646564000204b05468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e4455706772616465417574686f72697a6564040124636f64655f6861736830011c543a3a486173680003047c416e207570677261646520686173206265656e20617574686f72697a65642e60446f776e776172644d657373616765735265636569766564040114636f756e7420010c7533320004040101536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e64446f776e776172644d6573736167657350726f63657373656408012c7765696768745f75736564280118576569676874000120646d715f6865616430014472656c61795f636861696e3a3a48617368000504e0446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e445570776172644d65737361676553656e740401306d6573736167655f68617368d4013c4f7074696f6e3c58636d486173683e000604b8416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574dd010c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144576656e7404045400011c1c537563636573730c01306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d4861736800011877656967687428011857656967687400000464536f6d652058434d20776173206578656375746564206f6b2e104661696c1001306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d486173680001146572726f72e101012058636d4572726f7200011877656967687428011857656967687400010440536f6d652058434d206661696c65642e2842616456657273696f6e0401306d6573736167655f6861736804011c58636d48617368000204544261642058434d2076657273696f6e20757365642e24426164466f726d61740401306d6573736167655f6861736804011c58636d48617368000304504261642058434d20666f726d617420757365642e3c58636d704d65737361676553656e740401306d6573736167655f6861736804011c58636d48617368000404c0416e2048524d50206d657373616765207761732073656e7420746f2061207369626c696e672070617261636861696e2e484f766572776569676874456e71756575656410011873656e646572e501011850617261496400011c73656e745f617420014052656c6179426c6f636b4e756d626572000114696e64657810013c4f766572776569676874496e6465780001207265717569726564280118576569676874000504d4416e2058434d2065786365656465642074686520696e646976696475616c206d65737361676520776569676874206275646765742e484f7665727765696768745365727669636564080114696e64657810013c4f766572776569676874496e646578000110757365642801185765696768740006044101416e2058434d2066726f6d20746865206f7665727765696768742071756575652077617320657865637574656420776974682074686520676976656e2061637475616c2077656967687420757365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e101100c78636d08763318747261697473144572726f720001a0204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300304c6f636174696f6e46756c6c000400544c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c753634001500404578706563746174696f6e46616c73650016003850616c6c65744e6f74466f756e64001700304e616d654d69736d617463680018004c56657273696f6e496e636f6d70617469626c6500190050486f6c64696e67576f756c644f766572666c6f77001a002c4578706f72744572726f72001b00385265616e63686f724661696c6564001c00184e6f4465616c001d0028466565734e6f744d6574001e00244c6f636b4572726f72001f00304e6f5065726d697373696f6e00200028556e616e63686f726564002100384e6f744465706f73697461626c650022004c556e68616e646c656458636d56657273696f6e002300485765696768744c696d69745265616368656404002801185765696768740024001c426172726965720025004c5765696768744e6f74436f6d70757461626c650026004445786365656473537461636b4c696d697400270000e5010c48706f6c6b61646f745f70617261636861696e287072696d6974697665730849640000040020010c7533320000e9010c2870616c6c65745f78636d1870616c6c6574144576656e7404045400015c24417474656d7074656404011c6f7574636f6d65ed01015078636d3a3a6c61746573743a3a4f7574636f6d65000004a8457865637574696f6e206f6620616e2058434d206d6573736167652077617320617474656d707465642e1053656e741001186f726967696ef10101344d756c74694c6f636174696f6e00012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e00011c6d6573736167651502011c58636d3c28293e0001286d6573736167655f696404011c58636d486173680001045c412058434d206d657373616765207761732073656e742e48556e6578706563746564526573706f6e73650801186f726967696ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400020c5901517565727920726573706f6e736520726563656976656420776869636820646f6573206e6f74206d61746368206120726567697374657265642071756572792e2054686973206d61792062652062656361757365206155016d61746368696e6720717565727920776173206e6576657220726567697374657265642c206974206d617920626520626563617573652069742069732061206475706c696361746520726573706f6e73652c206f727062656361757365207468652071756572792074696d6564206f75742e34526573706f6e7365526561647908012071756572795f696410011c51756572794964000120726573706f6e73653d020120526573706f6e73650003085d01517565727920726573706f6e736520686173206265656e20726563656976656420616e6420697320726561647920666f722074616b696e672077697468206074616b655f726573706f6e7365602e205468657265206973806e6f2072656769737465726564206e6f74696669636174696f6e2063616c6c2e204e6f7469666965640c012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e64657808010875380004085901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20686173a86265656e206469737061746368656420616e64206578656375746564207375636365737366756c6c792e404e6f746966794f76657277656967687414012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e646578080108753800013461637475616c5f77656967687428011857656967687400014c6d61785f62756467657465645f77656967687428011857656967687400050c6101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20636f756c6441016e6f742062652064697370617463686564206265636175736520746865206469737061746368207765696768742069732067726561746572207468616e20746865206d6178696d756d20776569676874e46f726967696e616c6c7920627564676574656420627920746869732072756e74696d6520666f722074686520717565727920726573756c742e4c4e6f7469667944697370617463684572726f720c012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e64657808010875380006085501517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e2054686572652077617320612067656e6572616c206572726f722077697468886469737061746368696e6720746865206e6f74696669636174696f6e2063616c6c2e484e6f746966794465636f64654661696c65640c012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e646578080108753800070c5101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652064697370617463682077617320756e61626c6520746f20626559016465636f64656420696e746f2061206043616c6c603b2074686973206d696768742062652064756520746f2064697370617463682066756e6374696f6e20686176696e672061207369676e6174757265207768696368946973206e6f742060286f726967696e2c20517565727949642c20526573706f6e736529602e40496e76616c6964526573706f6e6465720c01186f726967696ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400014465787065637465645f6c6f636174696f6e610201544f7074696f6e3c4d756c74694c6f636174696f6e3e00080c5901457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206f726967696e206c6f636174696f6e206f662074686520726573706f6e736520646f657355016e6f74206d6174636820746861742065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e5c496e76616c6964526573706f6e64657256657273696f6e0801186f726967696ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400091c5101457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206578706563746564206f726967696e206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e34526573706f6e736554616b656e04012071756572795f696410011c51756572794964000a04c8526563656976656420717565727920726573706f6e736520686173206265656e207265616420616e642072656d6f7665642e34417373657473547261707065640c011068617368300110483235360001186f726967696ef10101344d756c74694c6f636174696f6e0001186173736574738102015056657273696f6e65644d756c7469417373657473000b04b8536f6d65206173736574732068617665206265656e20706c6163656420696e20616e20617373657420747261702e5456657273696f6e4368616e67654e6f74696669656410012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e000118726573756c7420012858636d56657273696f6e000110636f73742102012c4d756c74694173736574730001286d6573736167655f696404011c58636d48617368000c0c2501416e2058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e206d65737361676520686173206265656e20617474656d7074656420746f2062652073656e742e00e054686520636f7374206f662073656e64696e672069742028626f726e652062792074686520636861696e2920697320696e636c756465642e5c537570706f7274656456657273696f6e4368616e6765640801206c6f636174696f6ef10101344d756c74694c6f636174696f6e00011c76657273696f6e20012858636d56657273696f6e000d08390154686520737570706f727465642076657273696f6e206f662061206c6f636174696f6e20686173206265656e206368616e6765642e2054686973206d69676874206265207468726f75676820616ec06175746f6d61746963206e6f74696669636174696f6e206f722061206d616e75616c20696e74657276656e74696f6e2e504e6f7469667954617267657453656e644661696c0c01206c6f636174696f6ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c517565727949640001146572726f72e101012058636d4572726f72000e0859014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f727c73656e64696e6720746865206e6f74696669636174696f6e20746f2069742e644e6f746966795461726765744d6967726174696f6e4661696c0801206c6f636174696f6eb902015856657273696f6e65644d756c74694c6f636174696f6e00012071756572795f696410011c51756572794964000f0859014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f72b46d6967726174696e6720746865206c6f636174696f6e20746f206f7572206e65772058434d20666f726d61742e54496e76616c69645175657269657256657273696f6e0801186f726967696ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400101c5501457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652065787065637465642071756572696572206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e38496e76616c6964517565726965721001186f726967696ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400014065787065637465645f71756572696572f10101344d756c74694c6f636174696f6e0001506d617962655f61637475616c5f71756572696572610201544f7074696f6e3c4d756c74694c6f636174696f6e3e00110c5d01457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652071756572696572206c6f636174696f6e206f662074686520726573706f6e736520646f657351016e6f74206d61746368207468652065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e5056657273696f6e4e6f74696679537461727465640c012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e000110636f73742102012c4d756c74694173736574730001286d6573736167655f696404011c58636d486173680012085901412072656d6f746520686173207265717565737465642058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e2066726f6d20757320616e64207765206861766520686f6e6f7265642069742e1d01412076657273696f6e20696e666f726d6174696f6e206d6573736167652069732073656e7420746f207468656d20616e642069747320636f737420697320696e636c756465642e5856657273696f6e4e6f746966795265717565737465640c012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e000110636f73742102012c4d756c74694173736574730001286d6573736167655f696404011c58636d486173680013043d015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073656e642075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e6056657273696f6e4e6f74696679556e7265717565737465640c012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e000110636f73742102012c4d756c74694173736574730001286d6573736167655f696404011c58636d4861736800140461015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073746f70732073656e64696e672075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e204665657350616964080118706179696e67f10101344d756c74694c6f636174696f6e000110666565732102012c4d756c7469417373657473001504310146656573207765726520706169642066726f6d2061206c6f636174696f6e20666f7220616e206f7065726174696f6e20286f6674656e20666f72207573696e67206053656e6458636d60292e34417373657473436c61696d65640c011068617368300110483235360001186f726967696ef10101344d756c74694c6f636174696f6e0001186173736574738102015056657273696f6e65644d756c7469417373657473001604c0536f6d65206173736574732068617665206265656e20636c61696d65642066726f6d20616e2061737365742074726170047c54686520604576656e746020656e756d206f6620746869732070616c6c6574ed01100c78636d087633187472616974731c4f7574636f6d6500010c20436f6d706c657465040028011857656967687400000028496e636f6d706c65746508002801185765696768740000e10101144572726f72000100144572726f720400e10101144572726f7200020000f101100c78636d087633346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72f50101244a756e6374696f6e730000f501100c78636d087633246a756e6374696f6e73244a756e6374696f6e7300012410486572650000000858310400f90101204a756e6374696f6e0001000858320800f90101204a756e6374696f6e0000f90101204a756e6374696f6e0002000858330c00f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0003000858341000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0004000858351400f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0005000858361800f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0006000858371c00f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0007000858382000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e00080000f901100c78636d087633206a756e6374696f6e204a756e6374696f6e0001282450617261636861696e0400fd01010c7533320000002c4163636f756e744964333208011c6e6574776f726b010201444f7074696f6e3c4e6574776f726b49643e00010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726b010201444f7074696f6e3c4e6574776f726b49643e000114696e6465782c010c753634000200304163636f756e744b6579323008011c6e6574776f726b010201444f7074696f6e3c4e6574776f726b49643e00010c6b6579210101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e646578040009020110753132380005002847656e6572616c4b65790801186c656e6774680801087538000110646174610401205b75383b2033325d000600244f6e6c794368696c6400070024506c7572616c69747908010869640d020118426f647949640001107061727411020120426f6479506172740008003c476c6f62616c436f6e73656e7375730400050201244e6574776f726b496400090000fd010000062000010204184f7074696f6e0404540105020108104e6f6e6500000010536f6d650400050200000100000502100c78636d087633206a756e6374696f6e244e6574776f726b496400012824427947656e6573697304000401205b75383b2033325d000000184279466f726b080130626c6f636b5f6e756d62657210010c753634000128626c6f636b5f686173680401205b75383b2033325d00010020506f6c6b61646f74000200184b7573616d610003001c57657374656e6400040018526f636f636f00050018576f636f636f00060020457468657265756d040120636861696e5f69642c010c7536340007002c426974636f696e436f72650008002c426974636f696e4361736800090000090200000618000d02100c78636d087633206a756e6374696f6e18426f6479496400012810556e69740000001c4d6f6e696b6572040044011c5b75383b20345d00010014496e6465780400fd01010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e000800205472656173757279000900001102100c78636d087633206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74fd01010c753332000100204672616374696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c7533320004000015020c0c78636d0876330c58636d041043616c6c00000400190201585665633c496e737472756374696f6e3c43616c6c3e3e000019020000021d02001d020c0c78636d0876332c496e737472756374696f6e041043616c6c0001c0345769746864726177417373657404002102012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404002102012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404002102012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f69642c011c51756572794964000120726573706f6e73653d020120526573706f6e73650001286d61785f77656967687428011857656967687400011c71756572696572610201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e7366657241737365740801186173736574732102012c4d756c746941737365747300012c62656e6566696369617279f10101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574732102012c4d756c746941737365747300011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64650201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428011857656967687400011063616c6c6902014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572fd01010c7533320001406d61785f6d6573736167655f73697a65fd01010c7533320001306d61785f6361706163697479fd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74fd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72fd01010c75333200011873656e646572fd01010c753332000124726563697069656e74fd01010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400f5010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f7204006d0201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473710201404d756c7469417373657446696c74657200012c62656e6566696369617279f10101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473710201404d756c7469417373657446696c74657200011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e000e003445786368616e676541737365740c011067697665710201404d756c7469417373657446696c74657200011077616e742102012c4d756c746941737365747300011c6d6178696d616cac0110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473710201404d756c7469417373657446696c74657200011c72657365727665f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473710201404d756c7469417373657446696c74657200011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f6d0201445175657279526573706f6e7365496e666f000118617373657473710201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573290201284d756c746941737365740001307765696768745f6c696d69747d02012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204001502012458636d3c43616c6c3e0015002c536574417070656e64697804001502012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574732102012c4d756c74694173736574730001187469636b6574f10101344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f776569676874280118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e417373657404002102012c4d756c7469417373657473001c002c457870656374417373657404002102012c4d756c7469417373657473001d00304578706563744f726967696e0400610201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400410201504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e736163745374617475730400590201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6534011c5665633c75383e000134726573706f6e73655f696e666f6d0201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578fd01010c7533320001106e616d6534011c5665633c75383e00012c6d6f64756c655f6e616d6534011c5665633c75383e00012c63726174655f6d616a6f72fd01010c75333200013c6d696e5f63726174655f6d696e6f72fd01010c753332002200505265706f72745472616e7361637453746174757304006d0201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400f90101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726b050201244e6574776f726b496400012c64657374696e6174696f6ef5010154496e746572696f724d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e002600244c6f636b41737365740801146173736574290201284d756c74694173736574000120756e6c6f636b6572f10101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574290201284d756c74694173736574000118746172676574f10101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574290201284d756c746941737365740001146f776e6572f10101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574290201284d756c746941737365740001186c6f636b6572f10101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177ac0110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400f10101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69747d02012c5765696768744c696d6974000130636865636b5f6f726967696e610201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f00002102100c78636d087633286d756c746961737365742c4d756c7469417373657473000004002502013c5665633c4d756c746941737365743e000025020000022902002902100c78636d087633286d756c74696173736574284d756c74694173736574000008010869642d02011c4173736574496400010c66756e3102012c46756e676962696c69747900002d02100c78636d087633286d756c746961737365741c4173736574496400010820436f6e63726574650400f10101344d756c74694c6f636174696f6e00000020416273747261637404000401205b75383b2033325d000100003102100c78636d087633286d756c746961737365742c46756e676962696c6974790001082046756e6769626c65040009020110753132380000002c4e6f6e46756e6769626c650400350201344173736574496e7374616e6365000100003502100c78636d087633286d756c74696173736574344173736574496e7374616e636500011824556e646566696e656400000014496e6465780400090201107531323800010018417272617934040044011c5b75383b20345d0002001841727261793804003902011c5b75383b20385d0003001c417272617931360400490101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d0005000039020000030800000008003d020c0c78636d08763320526573706f6e7365000118104e756c6c0000001841737365747304002102012c4d756c74694173736574730001003c457865637574696f6e526573756c740400410201504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e040020013873757065723a3a56657273696f6e0003002c50616c6c657473496e666f040049020198426f756e6465645665633c50616c6c6574496e666f2c204d617850616c6c657473496e666f3e000400384469737061746368526573756c740400590201384d617962654572726f72436f646500050000410204184f7074696f6e0404540145020108104e6f6e6500000010536f6d6504004502000001000045020000040820e1010049020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014d02045300000400550201185665633c543e00004d020c0c78636d0876332850616c6c6574496e666f0000180114696e646578fd01010c7533320001106e616d6551020180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e00012c6d6f64756c655f6e616d6551020180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e0001146d616a6f72fd01010c7533320001146d696e6f72fd01010c7533320001147061746368fd01010c753332000051020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000055020000024d020059020c0c78636d087633384d617962654572726f72436f646500010c1c53756363657373000000144572726f7204005d02018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e000100385472756e63617465644572726f7204005d02018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e000200005d020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000610204184f7074696f6e04045401f1010108104e6f6e6500000010536f6d650400f101000001000065020c0c78636d087632284f726967696e4b696e64000110184e617469766500000040536f7665726569676e4163636f756e74000100245375706572757365720002000c58636d0003000069020c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656434011c5665633c75383e00006d020c0c78636d087633445175657279526573706f6e7365496e666f00000c012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e00012071756572795f69642c011c517565727949640001286d61785f77656967687428011857656967687400007102100c78636d087633286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e69746504002102012c4d756c74694173736574730000001057696c6404007502013857696c644d756c74694173736574000100007502100c78636d087633286d756c746961737365743857696c644d756c746941737365740001100c416c6c00000014416c6c4f6608010869642d02011c4173736574496400010c66756e7902013c57696c6446756e676962696c69747900010028416c6c436f756e7465640400fd01010c75333200020030416c6c4f66436f756e7465640c010869642d02011c4173736574496400010c66756e7902013c57696c6446756e676962696c697479000114636f756e74fd01010c753332000300007902100c78636d087633286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c65000100007d020c0c78636d0876332c5765696768744c696d697400010824556e6c696d697465640000001c4c696d697465640400280118576569676874000100008102080c78636d5056657273696f6e65644d756c746941737365747300010808563204008502013c76323a3a4d756c746941737365747300010008563304002102013c76333a3a4d756c7469417373657473000300008502100c78636d087632286d756c746961737365742c4d756c7469417373657473000004008902013c5665633c4d756c746941737365743e000089020000028d02008d02100c78636d087632286d756c74696173736574284d756c74694173736574000008010869649102011c4173736574496400010c66756eb102012c46756e676962696c69747900009102100c78636d087632286d756c746961737365741c4173736574496400010820436f6e63726574650400950201344d756c74694c6f636174696f6e000000204162737472616374040034011c5665633c75383e000100009502100c78636d087632346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72990201244a756e6374696f6e7300009902100c78636d087632346d756c74696c6f636174696f6e244a756e6374696f6e73000124104865726500000008583104009d0201204a756e6374696f6e00010008583208009d0201204a756e6374696f6e00009d0201204a756e6374696f6e0002000858330c009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00030008583410009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00040008583514009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00050008583618009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e0006000858371c009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00070008583820009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e000800009d02100c78636d087632206a756e6374696f6e204a756e6374696f6e0001242450617261636861696e0400fd01010c7533320000002c4163636f756e744964333208011c6e6574776f726ba10201244e6574776f726b496400010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726ba10201244e6574776f726b4964000114696e6465782c010c753634000200304163636f756e744b6579323008011c6e6574776f726ba10201244e6574776f726b496400010c6b6579210101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e646578040009020110753132380005002847656e6572616c4b65790400a50201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000600244f6e6c794368696c6400070024506c7572616c6974790801086964a9020118426f6479496400011070617274ad020120426f64795061727400080000a1020c0c78636d087632244e6574776f726b49640001100c416e79000000144e616d65640400a50201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010020506f6c6b61646f74000200184b7573616d6100030000a5020c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004003401185665633c543e0000a9020c0c78636d08763218426f6479496400012810556e6974000000144e616d65640400a50201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010014496e6465780400fd01010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e00080020547265617375727900090000ad020c0c78636d08763220426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74fd01010c753332000100204672616374696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c75333200040000b102100c78636d087632286d756c746961737365742c46756e676962696c6974790001082046756e6769626c65040009020110753132380000002c4e6f6e46756e6769626c650400b50201344173736574496e7374616e636500010000b502100c78636d087632286d756c74696173736574344173736574496e7374616e636500011c24556e646566696e656400000014496e6465780400090201107531323800010018417272617934040044011c5b75383b20345d0002001841727261793804003902011c5b75383b20385d0003001c417272617931360400490101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050010426c6f62040034011c5665633c75383e00060000b902080c78636d5856657273696f6e65644d756c74694c6f636174696f6e00010808563204009502014476323a3a4d756c74694c6f636174696f6e0001000856330400f101014476333a3a4d756c74694c6f636174696f6e00030000bd020c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144576656e7404045400010c34496e76616c6964466f726d617404000401205b75383b2033325d00000880446f776e77617264206d65737361676520697320696e76616c69642058434d2e205c5b206964205c5d48556e737570706f7274656456657273696f6e04000401205b75383b2033325d000108bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e205c5b206964205c5d404578656375746564446f776e7761726408000401205b75383b2033325d0000ed01011c4f7574636f6d65000208c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e445c5b2069642c206f7574636f6d65205c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c1020c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144576656e7404045400011c34496e76616c6964466f726d61740401306d6573736167655f6861736804011c58636d4861736800000480446f776e77617264206d65737361676520697320696e76616c69642058434d2e48556e737570706f7274656456657273696f6e0401306d6573736167655f6861736804011c58636d48617368000104bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e404578656375746564446f776e776172640c01306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d4861736800011c6f7574636f6d65ed01011c4f7574636f6d65000204c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e3c5765696768744578686175737465641001306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d4861736800014072656d61696e696e675f77656967687428011857656967687400013c72657175697265645f776569676874280118576569676874000304f054686520776569676874206c696d697420666f722068616e646c696e6720646f776e77617264206d657373616765732077617320726561636865642e484f766572776569676874456e7175657565641001306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d486173680001406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800013c72657175697265645f7765696768742801185765696768740004041901446f776e77617264206d657373616765206973206f76657277656967687420616e642077617320706c6163656420696e20746865206f7665727765696768742071756575652e484f76657277656967687453657276696365640801406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800012c7765696768745f75736564280118576569676874000504e0446f776e77617264206d6573736167652066726f6d20746865206f766572776569676874207175657565207761732065786563757465642e504d61784d657373616765734578686175737465640401306d6573736167655f6861736804011c58636d48617368000604d0546865206d6178696d756d206e756d626572206f6620646f776e77617264206d657373616765732077617320726561636865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c50208306672616d655f73797374656d14506861736500010c384170706c7945787472696e736963040020010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e00020000c902000002d000cd0208306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6efd01014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d65d102016473705f72756e74696d653a3a52756e74696d65537472696e670000d1020000050200d5020c306672616d655f73797374656d1870616c6c65741043616c6c0404540001201872656d61726b04011872656d61726b34011c5665633c75383e0000045c536565205b6050616c6c65743a3a72656d61726b605d2e387365745f686561705f7061676573040114706167657310010c7536340001047c536565205b6050616c6c65743a3a7365745f686561705f7061676573605d2e207365745f636f6465040110636f646534011c5665633c75383e00020464536565205b6050616c6c65743a3a7365745f636f6465605d2e5c7365745f636f64655f776974686f75745f636865636b73040110636f646534011c5665633c75383e000304a0536565205b6050616c6c65743a3a7365745f636f64655f776974686f75745f636865636b73605d2e2c7365745f73746f726167650401146974656d73d90201345665633c4b657956616c75653e00040470536565205b6050616c6c65743a3a7365745f73746f72616765605d2e306b696c6c5f73746f726167650401106b657973e10201205665633c4b65793e00050474536565205b6050616c6c65743a3a6b696c6c5f73746f72616765605d2e2c6b696c6c5f70726566697808011870726566697834010c4b657900011c7375626b65797320010c75333200060470536565205b6050616c6c65743a3a6b696c6c5f707265666978605d2e4472656d61726b5f776974685f6576656e7404011872656d61726b34011c5665633c75383e00070488536565205b6050616c6c65743a3a72656d61726b5f776974685f6576656e74605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed902000002dd0200dd0200000408343400e1020000023400e5020c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2801185765696768740001246d61785f626c6f636b2801185765696768740001247065725f636c617373e90201845065724469737061746368436c6173733c57656967687473506572436c6173733e0000e9020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c61737304045401ed02000c01186e6f726d616ced0201045400012c6f7065726174696f6e616ced020104540001246d616e6461746f7279ed020104540000ed020c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632801185765696768740001346d61785f65787472696e736963f10201384f7074696f6e3c5765696768743e0001246d61785f746f74616cf10201384f7074696f6e3c5765696768743e0001207265736572766564f10201384f7074696f6e3c5765696768743e0000f10204184f7074696f6e04045401280108104e6f6e6500000010536f6d650400280000010000f5020c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178f90201545065724469737061746368436c6173733c7533323e0000f9020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540120000c01186e6f726d616c2001045400012c6f7065726174696f6e616c200104540001246d616e6461746f7279200104540000fd02082873705f776569676874733c52756e74696d65446257656967687400000801107265616410010c753634000114777269746510010c75363400000103082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d65d102013452756e74696d65537472696e67000124696d706c5f6e616d65d102013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e20010c753332000130737065635f76657273696f6e20010c753332000130696d706c5f76657273696f6e20010c753332000110617069730503011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e20010c75333200013473746174655f76657273696f6e080108753800000503040c436f77040454010903000400090300000009030000020d03000d03000004083902200011030c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c657415030c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f772c0124543a3a4d6f6d656e7400000450536565205b6050616c6c65743a3a736574605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e19030000040c0018ac001d030c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e64657800000458536565205b6050616c6c65743a3a636c61696d605d2e207472616e7366657208010c6e6577210301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e64657800010464536565205b6050616c6c65743a3a7472616e73666572605d2e1066726565040114696e64657810013c543a3a4163636f756e74496e64657800020454536565205b6050616c6c65743a3a66726565605d2e38666f7263655f7472616e736665720c010c6e6577210301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65ac0110626f6f6c0003047c536565205b6050616c6c65743a3a666f7263655f7472616e73666572605d2e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004045c536565205b6050616c6c65743a3a667265657a65605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e21030c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e64657801b4011408496404000001244163636f756e74496400000014496e6465780400250301304163636f756e74496e6465780001000c526177040034011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400210101205b75383b2032305d000400002503000006b40029030c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e2d030c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e646564566563080454013103045300000400390301185665633c543e000031030c3c70616c6c65745f62616c616e6365731474797065732c42616c616e63654c6f636b041c42616c616e63650118000c01086964390201384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e733503011c526561736f6e73000035030c3c70616c6c65745f62616c616e6365731474797065731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c0002000039030000023103003d030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014103045300000400450301185665633c543e000041030c3c70616c6c65745f62616c616e6365731474797065732c52657365727665446174610844526573657276654964656e7469666965720139021c42616c616e6365011800080108696439020144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e63650000450300000241030049030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014d030453000004006d0301185665633c543e00004d030c3c70616c6c65745f62616c616e636573147479706573204964416d6f756e74080849640151031c42616c616e63650118000801086964510301084964000118616d6f756e7418011c42616c616e63650000510308447370697269746e65745f72756e74696d654452756e74696d65486f6c64526561736f6e0001182c4174746573746174696f6e04005503015c6174746573746174696f6e3a3a486f6c64526561736f6e003e002844656c65676174696f6e04005903015864656c65676174696f6e3a3a486f6c64526561736f6e003f000c44696404005d03013c6469643a3a486f6c64526561736f6e004000244469644c6f6f6b757004006103017470616c6c65745f6469645f6c6f6f6b75703a3a486f6c64526561736f6e00430024576562334e616d657304006503017470616c6c65745f776562335f6e616d65733a3a486f6c64526561736f6e004400445075626c696343726564656e7469616c730400690301787075626c69635f63726564656e7469616c733a3a486f6c64526561736f6e0045000055030c2c6174746573746174696f6e1870616c6c657428486f6c64526561736f6e0001041c4465706f7369740000000059030c2864656c65676174696f6e1870616c6c657428486f6c64526561736f6e0001041c4465706f736974000000005d030c0c6469641870616c6c657428486f6c64526561736f6e0001041c4465706f7369740000000061030c4470616c6c65745f6469645f6c6f6f6b75701870616c6c657428486f6c64526561736f6e0001041c4465706f7369740000000065030c4470616c6c65745f776562335f6e616d65731870616c6c657428486f6c64526561736f6e0001041c4465706f7369740000000069030c487075626c69635f63726564656e7469616c731870616c6c657428486f6c64526561736f6e0001041c4465706f736974000000006d030000024d030071030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454017503045300000400810301185665633c543e000075030c3c70616c6c65745f62616c616e636573147479706573204964416d6f756e74080849640179031c42616c616e63650118000801086964790301084964000118616d6f756e7418011c42616c616e63650000790308447370697269746e65745f72756e74696d654c52756e74696d65467265657a65526561736f6e0001044050617261636861696e5374616b696e6704007d03017c70617261636861696e5f7374616b696e673a3a467265657a65526561736f6e001500007d030c4470617261636861696e5f7374616b696e671870616c6c657430467265657a65526561736f6e0001041c5374616b696e6700000000810300000275030085030c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000124507472616e736665725f616c6c6f775f646561746808011064657374210301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756509020128543a3a42616c616e636500000494536565205b6050616c6c65743a3a7472616e736665725f616c6c6f775f6465617468605d2e587365745f62616c616e63655f646570726563617465640c010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f6672656509020128543a3a42616c616e63650001306f6c645f726573657276656409020128543a3a42616c616e63650001049c536565205b6050616c6c65743a3a7365745f62616c616e63655f64657072656361746564605d2e38666f7263655f7472616e736665720c0118736f75726365210301504163636f756e7449644c6f6f6b75704f663c543e00011064657374210301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756509020128543a3a42616c616e63650002047c536565205b6050616c6c65743a3a666f7263655f7472616e73666572605d2e4c7472616e736665725f6b6565705f616c69766508011064657374210301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756509020128543a3a42616c616e636500030490536565205b6050616c6c65743a3a7472616e736665725f6b6565705f616c697665605d2e307472616e736665725f616c6c08011064657374210301504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665ac0110626f6f6c00040474536565205b6050616c6c65743a3a7472616e736665725f616c6c605d2e3c666f7263655f756e7265736572766508010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050480536565205b6050616c6c65743a3a666f7263655f756e72657365727665605d2e40757067726164655f6163636f756e747304010c77686fb90101445665633c543a3a4163636f756e7449643e00060484536565205b6050616c6c65743a3a757067726164655f6163636f756e7473605d2e207472616e7366657208011064657374210301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756509020128543a3a42616c616e636500070464536565205b6050616c6c65743a3a7472616e73666572605d2e44666f7263655f7365745f62616c616e636508010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f6672656509020128543a3a42616c616e636500080488536565205b6050616c6c65743a3a666f7263655f7365745f62616c616e6365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e89030c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001283856657374696e6742616c616e63650000049c56657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c75652e544c69717569646974795265737472696374696f6e73000104c84163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304ec56616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f7369742e34457870656e646162696c697479000404905472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e742e5c4578697374696e6756657374696e675363686564756c65000504cc412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742e2c446561644163636f756e740006048c42656e6566696369617279206163636f756e74206d757374207072652d65786973742e3c546f6f4d616e795265736572766573000704b84e756d626572206f66206e616d65642072657365727665732065786365656420604d61785265736572766573602e30546f6f4d616e79486f6c6473000804884e756d626572206f6620686f6c64732065786365656420604d6178486f6c6473602e38546f6f4d616e79467265657a6573000904984e756d626572206f6620667265657a65732065786365656420604d6178467265657a6573602e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e8d030c3473705f61726974686d657469632c66697865645f706f696e7424466978656455313238000004001801107531323800009103086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e740000000856320001000095030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454019903045300000400a10301185665633c543e00009903104473705f636f6e73656e7375735f617572611c737232353531392c6170705f73723235353139185075626c6963000004009d03013c737232353531393a3a5075626c696300009d030c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d0000a103000002990300a503084873705f636f6e73656e7375735f736c6f747310536c6f740000040010010c7536340000a903000002ad0300ad030000040800b10300b10308447370697269746e65745f72756e74696d652c53657373696f6e4b657973000004011061757261990301c43c41757261206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c69630000b5030000022000b90300000408bd033400bd030c1c73705f636f72651863727970746f244b65795479706549640000040044011c5b75383b20345d0000c1030c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b657973b103011c543a3a4b65797300011470726f6f6634011c5665633c75383e00000464536565205b6050616c6c65743a3a7365745f6b657973605d2e2870757267655f6b6579730001046c536565205b6050616c6c65743a3a70757267655f6b657973605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ec5030c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742ec9030c4470617261636861696e5f7374616b696e6714747970657324526f756e64496e666f042c426c6f636b4e756d6265720110000c011c63757272656e7420013053657373696f6e496e646578000114666972737410012c426c6f636b4e756d6265720001186c656e67746810012c426c6f636b4e756d6265720000cd030c4470617261636861696e5f7374616b696e671474797065734444656c65676174696f6e436f756e7465720000080114726f756e6420013053657373696f6e496e64657800011c636f756e74657220010c7533320000d1030c4470617261636861696e5f7374616b696e67147479706573145374616b6508244163636f756e74496401001c42616c616e63650118000801146f776e65720001244163636f756e744964000118616d6f756e7418011c42616c616e63650000d5030c4470617261636861696e5f7374616b696e671474797065732443616e6469646174650c244163636f756e74496401001c42616c616e63650118644d617844656c656761746f727350657243616e646964617465000014010869640001244163636f756e7449640001147374616b6518011c42616c616e636500012864656c656761746f7273d9030101014f7264657265645365743c5374616b653c4163636f756e7449642c2042616c616e63653e2c204d617844656c656761746f727350657243616e6469646174653e000114746f74616c18011c42616c616e6365000118737461747573e503013c43616e6469646174655374617475730000d9030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401d103045300000400dd030140426f756e6465645665633c542c20533e0000dd030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d103045300000400e10301185665633c543e0000e103000002d10300e5030c4470617261636861696e5f7374616b696e671474797065733c43616e646964617465537461747573000108184163746976650000001c4c656176696e67040020013053657373696f6e496e64657800010000e9030c4470617261636861696e5f7374616b696e6714747970657328546f74616c5374616b65041c42616c616e6365011800080124636f6c6c61746f727318011c42616c616e636500012864656c656761746f727318011c42616c616e63650000ed030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401d103045300000400f1030140426f756e6465645665633c542c20533e0000f1030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d103045300000400e10301185665633c543e0000f5030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e34496e666c6174696f6e496e666f0000080120636f6c6c61746f72f903012c5374616b696e67496e666f00012464656c656761746f72f903012c5374616b696e67496e666f0000f9030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e2c5374616b696e67496e666f00000801206d61785f7261746590012c5065727175696e74696c6c00012c7265776172645f72617465fd030128526577617264526174650000fd030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e28526577617264526174650000080118616e6e75616c90012c5065727175696e74696c6c0001247065725f626c6f636b90012c5065727175696e74696c6c000001040c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601180453000004000504013842547265654d61703c4b2c20563e00000504042042547265654d617008044b011004560118000400090400000009040000020d04000d040000040810180011040c4470617261636861696e5f7374616b696e671870616c6c65741043616c6c0404540001543c666f7263655f6e65775f726f756e6400000480536565205b6050616c6c65743a3a666f7263655f6e65775f726f756e64605d2e347365745f696e666c6174696f6e100170636f6c6c61746f725f6d61785f726174655f70657263656e7461676590012c5065727175696e74696c6c000198636f6c6c61746f725f616e6e75616c5f7265776172645f726174655f70657263656e7461676590012c5065727175696e74696c6c00017464656c656761746f725f6d61785f726174655f70657263656e7461676590012c5065727175696e74696c6c00019c64656c656761746f725f616e6e75616c5f7265776172645f726174655f70657263656e7461676590012c5065727175696e74696c6c00010478536565205b6050616c6c65743a3a7365745f696e666c6174696f6e605d2e6c7365745f6d61785f73656c65637465645f63616e6469646174657304010c6e657720010c753332000204b0536565205b6050616c6c65743a3a7365745f6d61785f73656c65637465645f63616e64696461746573605d2e507365745f626c6f636b735f7065725f726f756e6404010c6e6577100144426c6f636b4e756d626572466f723c543e00030494536565205b6050616c6c65743a3a7365745f626c6f636b735f7065725f726f756e64605d2e5c7365745f6d61785f63616e6469646174655f7374616b6504010c6e657718013042616c616e63654f663c543e000404a0536565205b6050616c6c65743a3a7365745f6d61785f63616e6469646174655f7374616b65605d2e58666f7263655f72656d6f76655f63616e646964617465040120636f6c6c61746f722103018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650005049c536565205b6050616c6c65743a3a666f7263655f72656d6f76655f63616e646964617465605d2e3c6a6f696e5f63616e646964617465730401147374616b6518013042616c616e63654f663c543e00060480536565205b6050616c6c65743a3a6a6f696e5f63616e64696461746573605d2e54696e69745f6c656176655f63616e6469646174657300070498536565205b6050616c6c65743a3a696e69745f6c656176655f63616e64696461746573605d2e60657865637574655f6c656176655f63616e64696461746573040120636f6c6c61746f722103018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000804a4536565205b6050616c6c65743a3a657865637574655f6c656176655f63616e64696461746573605d2e5c63616e63656c5f6c656176655f63616e64696461746573000904a0536565205b6050616c6c65743a3a63616e63656c5f6c656176655f63616e64696461746573605d2e5063616e6469646174655f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000a0494536565205b6050616c6c65743a3a63616e6469646174655f7374616b655f6d6f7265605d2e5063616e6469646174655f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000b0494536565205b6050616c6c65743a3a63616e6469646174655f7374616b655f6c657373605d2e3c6a6f696e5f64656c656761746f7273080120636f6c6c61746f722103018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000118616d6f756e7418013042616c616e63654f663c543e000c0480536565205b6050616c6c65743a3a6a6f696e5f64656c656761746f7273605d2e406c656176655f64656c656761746f7273000d0484536565205b6050616c6c65743a3a6c656176655f64656c656761746f7273605d2e5064656c656761746f725f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000e0494536565205b6050616c6c65743a3a64656c656761746f725f7374616b655f6d6f7265605d2e5064656c656761746f725f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000f0494536565205b6050616c6c65743a3a64656c656761746f725f7374616b655f6c657373605d2e3c756e6c6f636b5f756e7374616b65640401187461726765742103018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500100480536565205b6050616c6c65743a3a756e6c6f636b5f756e7374616b6564605d2e34636c61696d5f7265776172647300110478536565205b6050616c6c65743a3a636c61696d5f72657761726473605d2e68696e6372656d656e745f636f6c6c61746f725f72657761726473001204ac536565205b6050616c6c65743a3a696e6372656d656e745f636f6c6c61746f725f72657761726473605d2e6c696e6372656d656e745f64656c656761746f725f72657761726473001304b0536565205b6050616c6c65743a3a696e6372656d656e745f64656c656761746f725f72657761726473605d2e7c657865637574655f7363686564756c65645f7265776172645f6368616e6765001404c0536565205b6050616c6c65743a3a657865637574655f7363686564756c65645f7265776172645f6368616e6765605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e15040c4470617261636861696e5f7374616b696e671870616c6c6574144572726f7204045400017c4444656c656761746f724e6f74466f756e64000004b8546865206163636f756e74206973206e6f742070617274206f66207468652064656c656761746f7273207365742e4443616e6469646174654e6f74466f756e64000104dc546865206163636f756e74206973206e6f742070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3c44656c656761746f72457869737473000204c8546865206163636f756e7420697320616c72656164792070617274206f66207468652064656c656761746f7273207365742e3c43616e646964617465457869737473000304ec546865206163636f756e7420697320616c72656164792070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3056616c5374616b655a65726f000404e4546865206163636f756e7420747269656420746f207374616b65206d6f7265206f72206c657373207769746820616d6f756e74207a65726f2e4056616c5374616b6542656c6f774d696e0005080d01546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f20626520616464656420746f2074686520636f6c6c61746f723c63616e64696461746573207365742e4056616c5374616b6541626f76654d61780006041101546865206163636f756e742068617320616c7265616479207374616b656420746865206d6178696d756d20616d6f756e74206f662066756e647320706f737369626c652e4844656c65676174696f6e42656c6f774d696e000708f8546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f2064656c6567617465206120636f6c6c61746f722863616e6469646174652e38416c72656164794c656176696e670008080d0154686520636f6c6c61746f722063616e6469646174652068617320616c72656164792074726967676572207468652070726f6365737320746f206c65617665207468656c736574206f6620636f6c6c61746f722063616e646964617465732e284e6f744c656176696e67000908f454686520636f6c6c61746f722063616e6469646174652077616e74656420746f20657865637574652074686520657869742062757420686173206e6f74f472657175657374656420746f206c65617665206265666f72652062792063616c6c696e672060696e69745f6c656176655f63616e64696461746573602e3843616e6e6f744c65617665596574000a08dc54686520636f6c6c61746f7220747269656420746f206c65617665206265666f72652077616974696e67206174206c6561737420666f72746045786974517565756544656c617960206d616e7920726f756e64732e6443616e6e6f744a6f696e4265666f7265556e6c6f636b696e67000b10f8546865206163636f756e742068617320612066756c6c206c697374206f6620756e7374616b696e6720726571756573747320616e64206e6565647320746ffc756e6c6f636b206174206c65617374206f6e65206f66207468657365206265666f7265206265696e672061626c6520746f206a6f696e2028616761696e292edc4e4f54453a2043616e206f6e6c792068617070656e20696620746865206163636f756e742077617320612063616e646964617465206f72f464656c656761746f72206265666f726520616e642065697468657220676f74206b69636b6564206f722065786974656420766f6c756e746172696c792e44416c726561647944656c65676174696e67000c04e4546865206163636f756e7420697320616c72656164792064656c65676174696e672074686520636f6c6c61746f722063616e6469646174652e404e6f7459657444656c65676174696e67000d080901546865206163636f756e7420686173206e6f742064656c65676174656420616e7920636f6c6c61746f722063616e646964617465207965742c2068656e6365206974806973206e6f7420696e2074686520736574206f662064656c656761746f72732e6c44656c65676174696f6e73506572526f756e644578636565646564000e1811015468652064656c656761746f722068617320657863656564656420746865206e756d626572206f662064656c65676174696f6e732070657220726f756e6420776869636894697320657175616c20746f204d617844656c656761746f7273506572436f6c6c61746f722e000901546869732070726f746563747320616761696e73742061747461636b7320696e20776869636820612064656c656761746f722063616e2072652d64656c6567617465010166726f6d206120636f6c6c61746f722077686f2068617320616c726561647920617574686f726564206120626c6f636b2c20746f20616e6f74686572206f6e6570776869636820686173206e6f7420696e207468697320726f756e642e44546f6f4d616e7944656c656761746f7273000f14010154686520636f6c6c61746f722063616e6469646174652068617320616c7265616479207265616368656420746865206d6178696d756d206e756d626572206f662c64656c656761746f72732e00050154686973206572726f722069732067656e65726174656420696e20636173652061206e65772064656c65676174696f6e207265717565737420646f6573206e6f74f47374616b6520656e6f7567682066756e647320746f207265706c61636520736f6d65206f74686572206578697374696e672064656c65676174696f6e2e60546f6f466577436f6c6c61746f7243616e64696461746573001008110154686520736574206f6620636f6c6c61746f722063616e6469646174657320776f756c642066616c6c2062656c6f7720746865207265717569726564206d696e696d756d5469662074686520636f6c6c61746f72206c6566742e5043616e6e6f745374616b6549664c656176696e67001108f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66010163616e6469646174657320616e642063616e6e6f7420706572666f726d20616e79206f7468657220616374696f6e7320696e20746865206d65616e74696d652e5c43616e6e6f7444656c656761746549664c656176696e67001208f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66ac63616e6469646174657320616e6420746875732063616e6e6f742062652064656c65676174656420746f2e804d6178436f6c6c61746f727350657244656c656761746f72457863656564656400130811015468652064656c656761746f722068617320616c72656164792064656c65676174656420746865206d6178696d756d206e756d626572206f662063616e6469646174657320616c6c6f7765642e60416c726561647944656c656761746564436f6c6c61746f72001408ec5468652064656c656761746f722068617320616c72656164792070726576696f75736c792064656c6567617465642074686520636f6c6c61746f722863616e6469646174652e4844656c65676174696f6e4e6f74466f756e64001504f854686520676976656e2064656c65676174696f6e20646f6573206e6f7420657869737420696e2074686520736574206f662064656c65676174696f6e732e24556e646572666c6f77001608050154686520636f6c6c61746f722064656c6567617465206f72207468652064656c656761746f7220697320747279696e6720746f20756e2d7374616b65206d6f72658066756e64732074686174206172652063757272656e746c79207374616b65642e4443616e6e6f7453657441626f76654d6178001708d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738061626f766520746865206d6178696d756d2076616c756520616c6c6f7765642e4443616e6e6f7453657442656c6f774d696e001808d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738062656c6f7720746865206d696e696d756d2076616c756520616c6c6f7765642e3c496e76616c69645363686564756c65001904dc416e20696e76616c696420696e666c6174696f6e20636f6e66696775726174696f6e20697320747279696e6720746f206265207365742e3c4e6f4d6f7265556e7374616b696e67001a08c4546865207374616b696e6720726577617264206265696e6720756e6c6f636b656420646f6573206e6f742065786973742e7c4d617820756e6c6f636b696e6720726571756573747320726561636865642e20546f6f4561726c79001b0801015468652072657761726420726174652063616e6e6f742062652061646a75737465642079657420617320616e20656e74697265207965617220686173206e6f741c7061737365642e345374616b654e6f74466f756e64001c04d850726f7669646564207374616b65642076616c7565206973207a65726f2e2053686f756c64206e65766572206265207468726f776e2e40556e7374616b696e674973456d707479001d049443616e6e6f7420756e6c6f636b207768656e20556e7374616b656420697320656d7074792e3c526577617264734e6f74466f756e64001e047843616e6e6f7420636c61696d207265776172647320696620656d7074792e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e19040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011d04045300000400e50501185665633c543e00001d040000040c2021040000210410346672616d655f737570706f72741874726169747324707265696d616765731c426f756e646564040454012504010c184c6567616379040110686173683001104861736800000018496e6c696e65040095010134426f756e646564496e6c696e65000100184c6f6f6b7570080110686173683001104861736800010c6c656e20010c75333200020000250408447370697269746e65745f72756e74696d652c52756e74696d6543616c6c0001801853797374656d0400d50201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0000002454696d657374616d700400150301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0002001c496e646963657304001d0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e0005002042616c616e6365730400850301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e0006001c53657373696f6e0400c10301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0016004050617261636861696e5374616b696e670400110401d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e5374616b696e672c2052756e74696d653e0015002444656d6f63726163790400290401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e001e001c436f756e63696c0400390401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e001f0048546563686e6963616c436f6d6d69747465650400410401dd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c436f6d6d69747465652c2052756e74696d653e0020004c546563686e6963616c4d656d626572736869700400450401e10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c4d656d626572736869702c2052756e74696d653e0022002054726561737572790400490401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e0023001c5574696c69747904004d0401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0028001c56657374696e670400750401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e002900245363686564756c657204007d0401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e002a001450726f78790400850401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002b0020507265696d61676504008d0401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e002c0038546970734d656d626572736869700400910401cd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970734d656d626572736869702c2052756e74696d653e002d0010546970730400950401a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970732c2052756e74696d653e002e00204d756c74697369670400990401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d756c74697369672c2052756e74696d653e002f001443747970650400a10401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c43747970652c2052756e74696d653e003d002c4174746573746174696f6e0400a50401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4174746573746174696f6e2c2052756e74696d653e003e002844656c65676174696f6e0400b50401bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656c65676174696f6e2c2052756e74696d653e003f000c4469640400d10401a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469642c2052756e74696d653e004000244469644c6f6f6b75700400290501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469644c6f6f6b75702c2052756e74696d653e00430024576562334e616d65730400390501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c576562334e616d65732c2052756e74696d653e004400445075626c696343726564656e7469616c7304003d0501d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5075626c696343726564656e7469616c732c2052756e74696d653e004500244d6967726174696f6e04004d0501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d6967726174696f6e2c2052756e74696d653e0046003c50617261636861696e53797374656d0400510501d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e0050003450617261636861696e496e666f0400850501c90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e496e666f2c2052756e74696d653e0051002458636d7051756575650400890501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c58636d7051756575652c2052756e74696d653e0052002c506f6c6b61646f7458636d04008d0501c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506f6c6b61646f7458636d2c2052756e74696d653e00530020446d7051756575650400e10501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c446d7051756575652c2052756e74696d653e0055000029040c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c04045400014c1c70726f706f736508012070726f706f73616c21040140426f756e64656443616c6c4f663c543e00011476616c75650902013042616c616e63654f663c543e00000460536565205b6050616c6c65743a3a70726f706f7365605d2e187365636f6e6404012070726f706f73616cfd01012450726f70496e6465780001045c536565205b6050616c6c65743a3a7365636f6e64605d2e10766f74650801247265665f696e646578fd01013c5265666572656e64756d496e646578000110766f74659c01644163636f756e74566f74653c42616c616e63654f663c543e3e00020454536565205b6050616c6c65743a3a766f7465605d2e40656d657267656e63795f63616e63656c0401247265665f696e64657820013c5265666572656e64756d496e64657800030484536565205b6050616c6c65743a3a656d657267656e63795f63616e63656c605d2e4065787465726e616c5f70726f706f736504012070726f706f73616c21040140426f756e64656443616c6c4f663c543e00040484536565205b6050616c6c65743a3a65787465726e616c5f70726f706f7365605d2e6465787465726e616c5f70726f706f73655f6d616a6f7269747904012070726f706f73616c21040140426f756e64656443616c6c4f663c543e000504a8536565205b6050616c6c65743a3a65787465726e616c5f70726f706f73655f6d616a6f72697479605d2e6065787465726e616c5f70726f706f73655f64656661756c7404012070726f706f73616c21040140426f756e64656443616c6c4f663c543e000604a4536565205b6050616c6c65743a3a65787465726e616c5f70726f706f73655f64656661756c74605d2e28666173745f747261636b0c013470726f706f73616c5f6861736830011048323536000134766f74696e675f706572696f64100144426c6f636b4e756d626572466f723c543e00011464656c6179100144426c6f636b4e756d626572466f723c543e0007046c536565205b6050616c6c65743a3a666173745f747261636b605d2e347665746f5f65787465726e616c04013470726f706f73616c5f686173683001104832353600080478536565205b6050616c6c65743a3a7665746f5f65787465726e616c605d2e4463616e63656c5f7265666572656e64756d0401247265665f696e646578fd01013c5265666572656e64756d496e64657800090488536565205b6050616c6c65743a3a63616e63656c5f7265666572656e64756d605d2e2064656c65676174650c0108746f210301504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6e2d040128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000a0464536565205b6050616c6c65743a3a64656c6567617465605d2e28756e64656c6567617465000b046c536565205b6050616c6c65743a3a756e64656c6567617465605d2e58636c6561725f7075626c69635f70726f706f73616c73000c049c536565205b6050616c6c65743a3a636c6561725f7075626c69635f70726f706f73616c73605d2e18756e6c6f636b040118746172676574210301504163636f756e7449644c6f6f6b75704f663c543e000d045c536565205b6050616c6c65743a3a756e6c6f636b605d2e2c72656d6f76655f766f7465040114696e64657820013c5265666572656e64756d496e646578000e0470536565205b6050616c6c65743a3a72656d6f76655f766f7465605d2e4472656d6f76655f6f746865725f766f7465080118746172676574210301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657820013c5265666572656e64756d496e646578000f0488536565205b6050616c6c65743a3a72656d6f76655f6f746865725f766f7465605d2e24626c61636b6c69737408013470726f706f73616c5f686173683001104832353600013c6d617962655f7265665f696e6465783104015c4f7074696f6e3c5265666572656e64756d496e6465783e00100468536565205b6050616c6c65743a3a626c61636b6c697374605d2e3c63616e63656c5f70726f706f73616c04012870726f705f696e646578fd01012450726f70496e64657800110480536565205b6050616c6c65743a3a63616e63656c5f70726f706f73616c605d2e307365745f6d657461646174610801146f776e6572a401344d657461646174614f776e65720001286d617962655f68617368350401504f7074696f6e3c507265696d616765486173683e00120474536565205b6050616c6c65743a3a7365745f6d65746164617461605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e2d040c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000310404184f7074696f6e04045401200108104e6f6e6500000010536f6d650400200000010000350404184f7074696f6e04045401300108104e6f6e6500000010536f6d65040030000001000039040c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c0804540004490001182c7365745f6d656d626572730c012c6e65775f6d656d62657273b90101445665633c543a3a4163636f756e7449643e0001147072696d653d0401504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e7420012c4d656d626572436f756e7400000470536565205b6050616c6c65743a3a7365745f6d656d62657273605d2e1c6578656375746508012070726f706f73616c2504017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64fd01010c75333200010460536565205b6050616c6c65743a3a65786563757465605d2e1c70726f706f73650c01247468726573686f6c64fd01012c4d656d626572436f756e7400012070726f706f73616c2504017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64fd01010c75333200020460536565205b6050616c6c65743a3a70726f706f7365605d2e10766f74650c012070726f706f73616c30011c543a3a48617368000114696e646578fd01013450726f706f73616c496e64657800011c617070726f7665ac0110626f6f6c00030454536565205b6050616c6c65743a3a766f7465605d2e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f6861736830011c543a3a4861736800050490536565205b6050616c6c65743a3a646973617070726f76655f70726f706f73616c605d2e14636c6f736510013470726f706f73616c5f6861736830011c543a3a48617368000114696e646578fd01013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642801185765696768740001306c656e6774685f626f756e64fd01010c75333200060458536565205b6050616c6c65743a3a636c6f7365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e3d0404184f7074696f6e04045401000108104e6f6e6500000010536f6d65040000000001000041040c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c0804540004490001182c7365745f6d656d626572730c012c6e65775f6d656d62657273b90101445665633c543a3a4163636f756e7449643e0001147072696d653d0401504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e7420012c4d656d626572436f756e7400000470536565205b6050616c6c65743a3a7365745f6d656d62657273605d2e1c6578656375746508012070726f706f73616c2504017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64fd01010c75333200010460536565205b6050616c6c65743a3a65786563757465605d2e1c70726f706f73650c01247468726573686f6c64fd01012c4d656d626572436f756e7400012070726f706f73616c2504017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64fd01010c75333200020460536565205b6050616c6c65743a3a70726f706f7365605d2e10766f74650c012070726f706f73616c30011c543a3a48617368000114696e646578fd01013450726f706f73616c496e64657800011c617070726f7665ac0110626f6f6c00030454536565205b6050616c6c65743a3a766f7465605d2e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f6861736830011c543a3a4861736800050490536565205b6050616c6c65743a3a646973617070726f76655f70726f706f73616c605d2e14636c6f736510013470726f706f73616c5f6861736830011c543a3a48617368000114696e646578fd01013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642801185765696768740001306c656e6774685f626f756e64fd01010c75333200060458536565205b6050616c6c65743a3a636c6f7365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e45040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0000046c536565205b6050616c6c65743a3a6164645f6d656d626572605d2e3472656d6f76655f6d656d62657204010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e00010478536565205b6050616c6c65743a3a72656d6f76655f6d656d626572605d2e2c737761705f6d656d62657208011872656d6f7665210301504163636f756e7449644c6f6f6b75704f663c543e00010c616464210301504163636f756e7449644c6f6f6b75704f663c543e00020470536565205b6050616c6c65743a3a737761705f6d656d626572605d2e3472657365745f6d656d6265727304011c6d656d62657273b90101445665633c543a3a4163636f756e7449643e00030478536565205b6050616c6c65743a3a72657365745f6d656d62657273605d2e286368616e67655f6b657904010c6e6577210301504163636f756e7449644c6f6f6b75704f663c543e0004046c536565205b6050616c6c65743a3a6368616e67655f6b6579605d2e247365745f7072696d6504010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e00050468536565205b6050616c6c65743a3a7365745f7072696d65605d2e2c636c6561725f7072696d6500060470536565205b6050616c6c65743a3a636c6561725f7072696d65605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e49040c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001143470726f706f73655f7370656e6408011476616c75650902013c42616c616e63654f663c542c20493e00012c62656e6566696369617279210301504163636f756e7449644c6f6f6b75704f663c543e00000478536565205b6050616c6c65743a3a70726f706f73655f7370656e64605d2e3c72656a6563745f70726f706f73616c04012c70726f706f73616c5f6964fd01013450726f706f73616c496e64657800010480536565205b6050616c6c65743a3a72656a6563745f70726f706f73616c605d2e40617070726f76655f70726f706f73616c04012c70726f706f73616c5f6964fd01013450726f706f73616c496e64657800020484536565205b6050616c6c65743a3a617070726f76655f70726f706f73616c605d2e147370656e64080118616d6f756e740902013c42616c616e63654f663c542c20493e00012c62656e6566696369617279210301504163636f756e7449644c6f6f6b75704f663c543e00030458536565205b6050616c6c65743a3a7370656e64605d2e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f6964fd01013450726f706f73616c496e64657800040480536565205b6050616c6c65743a3a72656d6f76655f617070726f76616c605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e4d040c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c735104017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000458536565205b6050616c6c65743a3a6261746368605d2e3461735f64657269766174697665080114696e646578e0010c75313600011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00010478536565205b6050616c6c65743a3a61735f64657269766174697665605d2e2462617463685f616c6c04011463616c6c735104017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00020468536565205b6050616c6c65743a3a62617463685f616c6c605d2e2c64697370617463685f617308012461735f6f726967696e55040154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00030470536565205b6050616c6c65743a3a64697370617463685f6173605d2e2c666f7263655f626174636804011463616c6c735104017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00040470536565205b6050616c6c65743a3a666f7263655f6261746368605d2e2c776974685f77656967687408011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00011877656967687428011857656967687400050470536565205b6050616c6c65743a3a776974685f776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e5104000002250400550408447370697269746e65745f72756e74696d65304f726967696e43616c6c657200011c1873797374656d0400590401746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0000001c436f756e63696c04005d0401010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400610401010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020000c4469640400650401506469643a3a4f726967696e3c52756e74696d653e0040002c506f6c6b61646f7458636d04006904014870616c6c65745f78636d3a3a4f726967696e0053002843756d756c757358636d04006d04016863756d756c75735f70616c6c65745f78636d3a3a4f726967696e00540010566f69640400710401110173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a566f69640006000059040c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e65000200005d04084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d62657273080020012c4d656d626572436f756e74000020012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d000200006104084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d62657273080020012c4d656d626572436f756e74000020012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d0002000065040c0c646964186f726967696e304469645261774f726967696e08344469644964656e7469666965720100244163636f756e74496401000008010869640001344469644964656e7469666965720001247375626d69747465720001244163636f756e744964000069040c2870616c6c65745f78636d1870616c6c6574184f726967696e0001080c58636d0400f10101344d756c74694c6f636174696f6e00000020526573706f6e73650400f10101344d756c74694c6f636174696f6e000100006d040c4863756d756c75735f70616c6c65745f78636d1870616c6c6574184f726967696e0001081452656c6179000000405369626c696e6750617261636861696e0400e5010118506172614964000100007104081c73705f636f726510566f69640001000075040c3870616c6c65745f76657374696e671870616c6c65741043616c6c040454000114107665737400000454536565205b6050616c6c65743a3a76657374605d2e28766573745f6f74686572040118746172676574210301504163636f756e7449644c6f6f6b75704f663c543e0001046c536565205b6050616c6c65743a3a766573745f6f74686572605d2e3c7665737465645f7472616e73666572080118746172676574210301504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65790401b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00020480536565205b6050616c6c65743a3a7665737465645f7472616e73666572605d2e54666f7263655f7665737465645f7472616e736665720c0118736f75726365210301504163636f756e7449644c6f6f6b75704f663c543e000118746172676574210301504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65790401b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00030498536565205b6050616c6c65743a3a666f7263655f7665737465645f7472616e73666572605d2e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e64657820010c75333200013c7363686564756c65325f696e64657820010c75333200040480536565205b6050616c6c65743a3a6d657267655f7363686564756c6573605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e79040c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720110000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b10012c426c6f636b4e756d62657200007d040c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963810401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000464536565205b6050616c6c65743a3a7363686564756c65605d2e1863616e63656c0801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657820010c7533320001045c536565205b6050616c6c65743a3a63616e63656c605d2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963810401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0002047c536565205b6050616c6c65743a3a7363686564756c655f6e616d6564605d2e3063616e63656c5f6e616d656404010869640401205461736b4e616d6500030474536565205b6050616c6c65743a3a63616e63656c5f6e616d6564605d2e387363686564756c655f61667465721001146166746572100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963810401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004047c536565205b6050616c6c65743a3a7363686564756c655f6166746572605d2e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963810401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00050494536565205b6050616c6c65743a3a7363686564756c655f6e616d65645f6166746572605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e810404184f7074696f6e04045401d00108104e6f6e6500000010536f6d650400d0000001000085040c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616c210301504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065890401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000458536565205b6050616c6c65743a3a70726f7879605d2e246164645f70726f78790c012064656c6567617465210301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00010468536565205b6050616c6c65743a3a6164645f70726f7879605d2e3072656d6f76655f70726f78790c012064656c6567617465210301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00020474536565205b6050616c6c65743a3a72656d6f76655f70726f7879605d2e3872656d6f76655f70726f786965730003047c536565205b6050616c6c65743a3a72656d6f76655f70726f78696573605d2e2c6372656174655f707572650c012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e000114696e646578e0010c75313600040470536565205b6050616c6c65743a3a6372656174655f70757265605d2e246b696c6c5f7075726514011c737061776e6572210301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065dc0130543a3a50726f787954797065000114696e646578e0010c7531360001186865696768742c0144426c6f636b4e756d626572466f723c543e0001246578745f696e646578fd01010c75333200050468536565205b6050616c6c65743a3a6b696c6c5f70757265605d2e20616e6e6f756e63650801107265616c210301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00060464536565205b6050616c6c65743a3a616e6e6f756e6365605d2e4c72656d6f76655f616e6e6f756e63656d656e740801107265616c210301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00070490536565205b6050616c6c65743a3a72656d6f76655f616e6e6f756e63656d656e74605d2e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465210301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00080490536565205b6050616c6c65743a3a72656a6563745f616e6e6f756e63656d656e74605d2e3c70726f78795f616e6e6f756e63656410012064656c6567617465210301504163636f756e7449644c6f6f6b75704f663c543e0001107265616c210301504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065890401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00090480536565205b6050616c6c65743a3a70726f78795f616e6e6f756e636564605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e890404184f7074696f6e04045401dc0108104e6f6e6500000010536f6d650400dc00000100008d040c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000110346e6f74655f707265696d616765040114627974657334011c5665633c75383e00000478536565205b6050616c6c65743a3a6e6f74655f707265696d616765605d2e3c756e6e6f74655f707265696d6167650401106861736830011c543a3a4861736800010480536565205b6050616c6c65743a3a756e6e6f74655f707265696d616765605d2e40726571756573745f707265696d6167650401106861736830011c543a3a4861736800020484536565205b6050616c6c65743a3a726571756573745f707265696d616765605d2e48756e726571756573745f707265696d6167650401106861736830011c543a3a486173680003048c536565205b6050616c6c65743a3a756e726571756573745f707265696d616765605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e91040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0000046c536565205b6050616c6c65743a3a6164645f6d656d626572605d2e3472656d6f76655f6d656d62657204010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e00010478536565205b6050616c6c65743a3a72656d6f76655f6d656d626572605d2e2c737761705f6d656d62657208011872656d6f7665210301504163636f756e7449644c6f6f6b75704f663c543e00010c616464210301504163636f756e7449644c6f6f6b75704f663c543e00020470536565205b6050616c6c65743a3a737761705f6d656d626572605d2e3472657365745f6d656d6265727304011c6d656d62657273b90101445665633c543a3a4163636f756e7449643e00030478536565205b6050616c6c65743a3a72657365745f6d656d62657273605d2e286368616e67655f6b657904010c6e6577210301504163636f756e7449644c6f6f6b75704f663c543e0004046c536565205b6050616c6c65743a3a6368616e67655f6b6579605d2e247365745f7072696d6504010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e00050468536565205b6050616c6c65743a3a7365745f7072696d65605d2e2c636c6561725f7072696d6500060470536565205b6050616c6c65743a3a636c6561725f7072696d65605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e95040c2c70616c6c65745f746970731870616c6c65741043616c6c080454000449000118387265706f72745f617765736f6d65080118726561736f6e34011c5665633c75383e00010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0000047c536565205b6050616c6c65743a3a7265706f72745f617765736f6d65605d2e2c726574726163745f7469700401106861736830011c543a3a4861736800010470536565205b6050616c6c65743a3a726574726163745f746970605d2e1c7469705f6e65770c0118726561736f6e34011c5665633c75383e00010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0001247469705f76616c75650902013c42616c616e63654f663c542c20493e00020460536565205b6050616c6c65743a3a7469705f6e6577605d2e0c7469700801106861736830011c543a3a486173680001247469705f76616c75650902013c42616c616e63654f663c542c20493e00030450536565205b6050616c6c65743a3a746970605d2e24636c6f73655f7469700401106861736830011c543a3a4861736800040468536565205b6050616c6c65743a3a636c6f73655f746970605d2e24736c6173685f7469700401106861736830011c543a3a4861736800050468536565205b6050616c6c65743a3a736c6173685f746970605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e99040c3c70616c6c65745f6d756c74697369671870616c6c65741043616c6c0404540001105061735f6d756c74695f7468726573686f6c645f310801446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000494536565205b6050616c6c65743a3a61735f6d756c74695f7468726573686f6c645f31605d2e2061735f6d756c74691401247468726573686f6c64e0010c7531360001446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e749d0401904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0001286d61785f77656967687428011857656967687400010464536565205b6050616c6c65743a3a61735f6d756c7469605d2e40617070726f76655f61735f6d756c74691401247468726573686f6c64e0010c7531360001446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e749d0401904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00012463616c6c5f686173680401205b75383b2033325d0001286d61785f77656967687428011857656967687400020484536565205b6050616c6c65743a3a617070726f76655f61735f6d756c7469605d2e3c63616e63656c5f61735f6d756c74691001247468726573686f6c64e0010c7531360001446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e00012463616c6c5f686173680401205b75383b2033325d00030480536565205b6050616c6c65743a3a63616e63656c5f61735f6d756c7469605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e9d0404184f7074696f6e04045401f40108104e6f6e6500000010536f6d650400f40000010000a1040c1463747970651870616c6c65741043616c6c0404540001080c616464040114637479706534011c5665633c75383e00000450536565205b6050616c6c65743a3a616464605d2e407365745f626c6f636b5f6e756d62657208012863747970655f686173683001384374797065486173684f663c543e000130626c6f636b5f6e756d626572100144426c6f636b4e756d626572466f723c543e00010484536565205b6050616c6c65743a3a7365745f626c6f636b5f6e756d626572605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ea5040c2c6174746573746174696f6e1870616c6c65741043616c6c0404540001180c6164640c0128636c61696d5f68617368300138436c61696d486173684f663c543e00012863747970655f686173683001384374797065486173684f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00000450536565205b6050616c6c65743a3a616464605d2e187265766f6b65080128636c61696d5f68617368300138436c61696d486173684f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001045c536565205b6050616c6c65743a3a7265766f6b65605d2e1872656d6f7665080128636c61696d5f68617368300138436c61696d486173684f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0002045c536565205b6050616c6c65743a3a72656d6f7665605d2e3c7265636c61696d5f6465706f736974040128636c61696d5f68617368300138436c61696d486173684f663c543e00030480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e6572040128636c61696d5f68617368300138436c61696d486173684f663c543e00040494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f736974040128636c61696d5f68617368300138436c61696d486173684f663c543e0005047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ea90404184f7074696f6e04045401ad040108104e6f6e6500000010536f6d650400ad040000010000ad040c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c50616c6c6574417574686f72697a65043044656c65676174696f6e416301b10401042844656c65676174696f6e0400b104013044656c65676174696f6e416300000000b1040c2864656c65676174696f6e386163636573735f636f6e74726f6c3044656c65676174696f6e416304045401a9010008013c7375626a6563745f6e6f64655f696430015444656c65676174696f6e4e6f646549644f663c543e0001286d61785f636865636b7320010c7533320000b5040c2864656c65676174696f6e1870616c6c65741043616c6c04045400011c406372656174655f686965726172636879080130726f6f745f6e6f64655f696430015444656c65676174696f6e4e6f646549644f663c543e00012863747970655f686173683001384374797065486173684f663c543e00000484536565205b6050616c6c65743a3a6372656174655f686965726172636879605d2e386164645f64656c65676174696f6e14013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e000124706172656e745f696430015444656c65676174696f6e4e6f646549644f663c543e00012064656c656761746500014044656c656761746f7249644f663c543e00012c7065726d697373696f6e730d01012c5065726d697373696f6e7300014864656c65676174655f7369676e6174757265b904016844656c65676174655369676e6174757265547970654f663c543e0001047c536565205b6050616c6c65743a3a6164645f64656c65676174696f6e605d2e447265766f6b655f64656c65676174696f6e0c013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0001446d61785f706172656e745f636865636b7320010c75333200013c6d61785f7265766f636174696f6e7320010c75333200020488536565205b6050616c6c65743a3a7265766f6b655f64656c65676174696f6e605d2e4472656d6f76655f64656c65676174696f6e08013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c7320010c75333200030488536565205b6050616c6c65743a3a72656d6f76655f64656c65676174696f6e605d2e3c7265636c61696d5f6465706f73697408013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c7320010c75333200040480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e657204013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e00050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb9040c0c6469642c6469645f64657461696c73304469645369676e617475726500010c1c456432353531390400bd040148656432353531393a3a5369676e61747572650000001c537232353531390400c5040148737232353531393a3a5369676e61747572650001001445636473610400c904014065636473613a3a5369676e617475726500020000bd040c1c73705f636f72651c65643235353139245369676e617475726500000400c10401205b75383b2036345d0000c104000003400000000800c5040c1c73705f636f72651c73723235353139245369676e617475726500000400c10401205b75383b2036345d0000c9040c1c73705f636f7265146563647361245369676e617475726500000400cd0401205b75383b2036355d0000cd04000003410000000800d1040c0c6469641870616c6c65741043616c6c0404540001441863726561746508011c64657461696c73d5040170426f783c4469644372656174696f6e44657461696c734f663c543e3e0001247369676e6174757265b90401304469645369676e61747572650000045c536565205b6050616c6c65743a3a637265617465605d2e587365745f61757468656e7469636174696f6e5f6b657904011c6e65775f6b657911050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e0001049c536565205b6050616c6c65743a3a7365745f61757468656e7469636174696f6e5f6b6579605d2e487365745f64656c65676174696f6e5f6b657904011c6e65775f6b657911050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e0002048c536565205b6050616c6c65743a3a7365745f64656c65676174696f6e5f6b6579605d2e5472656d6f76655f64656c65676174696f6e5f6b657900030498536565205b6050616c6c65743a3a72656d6f76655f64656c65676174696f6e5f6b6579605d2e4c7365745f6174746573746174696f6e5f6b657904011c6e65775f6b657911050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e00040490536565205b6050616c6c65743a3a7365745f6174746573746174696f6e5f6b6579605d2e5872656d6f76655f6174746573746174696f6e5f6b65790005049c536565205b6050616c6c65743a3a72656d6f76655f6174746573746174696f6e5f6b6579605d2e546164645f6b65795f61677265656d656e745f6b657904011c6e65775f6b657901050140446964456e6372797074696f6e4b657900060498536565205b6050616c6c65743a3a6164645f6b65795f61677265656d656e745f6b6579605d2e6072656d6f76655f6b65795f61677265656d656e745f6b65790401186b65795f69643001284b657949644f663c543e000704a4536565205b6050616c6c65743a3a72656d6f76655f6b65795f61677265656d656e745f6b6579605d2e506164645f736572766963655f656e64706f696e74040140736572766963655f656e64706f696e74dd040138446964456e64706f696e743c543e00080494536565205b6050616c6c65743a3a6164645f736572766963655f656e64706f696e74605d2e5c72656d6f76655f736572766963655f656e64706f696e74040128736572766963655f6964e104015053657276696365456e64706f696e7449643c543e000904a0536565205b6050616c6c65743a3a72656d6f76655f736572766963655f656e64706f696e74605d2e1864656c65746504014c656e64706f696e74735f746f5f72656d6f766520010c753332000a045c536565205b6050616c6c65743a3a64656c657465605d2e3c7265636c61696d5f6465706f73697408012c6469645f7375626a6563740001484469644964656e7469666965724f663c543e00014c656e64706f696e74735f746f5f72656d6f766520010c753332000b0480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e3c7375626d69745f6469645f63616c6c0801206469645f63616c6c25050190426f783c446964417574686f72697a656443616c6c4f7065726174696f6e4f663c543e3e0001247369676e6174757265b90401304469645369676e6174757265000c0480536565205b6050616c6c65743a3a7375626d69745f6469645f63616c6c605d2e506368616e67655f6465706f7369745f6f776e6572000d0494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404010c6469640001484469644964656e7469666965724f663c543e000e047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e2c64697370617463685f61730801386469645f6964656e7469666965720001484469644964656e7469666965724f663c543e00011063616c6c25040154426f783c44696443616c6c61626c654f663c543e3e000f0470536565205b6050616c6c65743a3a64697370617463685f6173605d2e4c6372656174655f66726f6d5f6163636f756e7404014861757468656e7469636174696f6e5f6b657911050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e00100490536565205b6050616c6c65743a3a6372656174655f66726f6d5f6163636f756e74605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed5040c0c6469642c6469645f64657461696c73484469644372656174696f6e44657461696c7310344469644964656e7469666965720100244163636f756e7449640100584d61784e65774b657941677265656d656e744b65797301d9042c446964456e64706f696e7401dd040018010c6469640001344469644964656e7469666965720001247375626d69747465720001244163636f756e7449640001586e65775f6b65795f61677265656d656e745f6b657973fd0401c04469644e65774b657941677265656d656e744b65795365743c4d61784e65774b657941677265656d656e744b6579733e00014c6e65775f6174746573746174696f6e5f6b65790d0501944f7074696f6e3c446964566572696669636174696f6e4b65793c4163636f756e7449643e3e0001486e65775f64656c65676174696f6e5f6b65790d0501944f7074696f6e3c446964566572696669636174696f6e4b65793c4163636f756e7449643e3e00014c6e65775f736572766963655f64657461696c73210501405665633c446964456e64706f696e743e0000d904103872756e74696d655f636f6d6d6f6e24636f6e7374616e74730c646964584d61784e65774b657941677265656d656e744b65797300000000dd040c0c64696444736572766963655f656e64706f696e74732c446964456e64706f696e7404045400000c01086964e104015053657276696365456e64706f696e7449643c543e000134736572766963655f7479706573e504017453657276696365456e64706f696e7454797065456e74726965733c543e00011075726c73f104017053657276696365456e64706f696e7455726c456e74726965733c543e0000e1040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000e5040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401e904045300000400ed0401185665633c543e0000e9040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000ed04000002e90400f1040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401f504045300000400f90401185665633c543e0000f5040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000f904000002f50400fd040c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e64656442547265655365740804540101050453000004000505012c42547265655365743c543e000001050c0c6469642c6469645f64657461696c7340446964456e6372797074696f6e4b65790001041858323535313904000401205b75383b2033325d00000000050504204254726565536574040454010105000400090500000009050000020105000d0504184f7074696f6e0404540111050108104e6f6e6500000010536f6d6504001105000001000011050c0c6469642c6469645f64657461696c7348446964566572696669636174696f6e4b657904244163636f756e744964010001101c4564323535313904001505013c656432353531393a3a5075626c69630000001c5372323535313904009d03013c737232353531393a3a5075626c696300010014456364736104001905013465636473613a3a5075626c69630002001c4163636f756e7404000001244163636f756e7449640003000015050c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d000019050c1c73705f636f7265146563647361185075626c6963000004001d0501205b75383b2033335d00001d050000032100000008002105000002dd040025050c0c6469642c6469645f64657461696c7368446964417574686f72697a656443616c6c4f7065726174696f6e14344469644964656e74696669657201002c44696443616c6c61626c650125042c426c6f636b4e756d6265720110244163636f756e7449640100245478436f756e74657201100014010c6469640001344469644964656e74696669657200012874785f636f756e7465721001245478436f756e74657200011063616c6c2504012c44696443616c6c61626c65000130626c6f636b5f6e756d62657210012c426c6f636b4e756d6265720001247375626d69747465720001244163636f756e744964000029050c4470616c6c65745f6469645f6c6f6f6b75701870616c6c65741043616c6c04045400011c446173736f63696174655f6163636f756e7408010c7265712d05015c4173736f63696174654163636f756e745265717565737400012865787069726174696f6e100144426c6f636b4e756d626572466f723c543e00000488536565205b6050616c6c65743a3a6173736f63696174655f6163636f756e74605d2e406173736f63696174655f73656e64657200010484536565205b6050616c6c65743a3a6173736f63696174655f73656e646572605d2e6472656d6f76655f73656e6465725f6173736f63696174696f6e000204a8536565205b6050616c6c65743a3a72656d6f76655f73656e6465725f6173736f63696174696f6e605d2e6872656d6f76655f6163636f756e745f6173736f63696174696f6e04011c6163636f756e74190101444c696e6b61626c654163636f756e744964000304ac536565205b6050616c6c65743a3a72656d6f76655f6163636f756e745f6173736f63696174696f6e605d2e3c7265636c61696d5f6465706f73697404011c6163636f756e74190101444c696e6b61626c654163636f756e74496400040480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e657204011c6163636f756e74190101444c696e6b61626c654163636f756e74496400050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404011c6163636f756e74190101444c696e6b61626c654163636f756e7449640006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e2d050c4470616c6c65745f6469645f6c6f6f6b7570646173736f63696174655f6163636f756e745f726571756573745c4173736f63696174654163636f756e745265717565737400010820506f6c6b61646f74080000012c4163636f756e74496433320000310501384d756c74695369676e617475726500000020457468657265756d08001d01012c4163636f756e7449643230000035050144457468657265756d5369676e6174757265000100003105082873705f72756e74696d65384d756c74695369676e617475726500010c1c456432353531390400bd040148656432353531393a3a5369676e61747572650000001c537232353531390400c5040148737232353531393a3a5369676e61747572650001001445636473610400c904014065636473613a3a5369676e61747572650002000035050c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e7444457468657265756d5369676e617475726500000400c904014065636473613a3a5369676e6174757265000039050c4470616c6c65745f776562335f6e616d65731870616c6c65741043616c6c04045400011c14636c61696d0401106e616d652d010140576562334e616d65496e7075743c543e00000458536565205b6050616c6c65743a3a636c61696d605d2e4072656c656173655f62795f6f776e657200010484536565205b6050616c6c65743a3a72656c656173655f62795f6f776e6572605d2e3c7265636c61696d5f6465706f7369740401106e616d652d010140576562334e616d65496e7075743c543e00020480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e0c62616e0401106e616d652d010140576562334e616d65496e7075743c543e00030450536565205b6050616c6c65743a3a62616e605d2e14756e62616e0401106e616d652d010140576562334e616d65496e7075743c543e00040458536565205b6050616c6c65743a3a756e62616e605d2e506368616e67655f6465706f7369745f6f776e657200050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f7369740401286e616d655f696e7075742d010140576562334e616d65496e7075743c543e0006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e3d050c487075626c69635f63726564656e7469616c731870616c6c65741043616c6c04045400011c0c61646404012863726564656e7469616c41050164426f783c496e70757443726564656e7469616c4f663c543e3e00000450536565205b6050616c6c65743a3a616464605d2e187265766f6b6508013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001045c536565205b6050616c6c65743a3a7265766f6b65605d2e20756e7265766f6b6508013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00020464536565205b6050616c6c65743a3a756e7265766f6b65605d2e1872656d6f766508013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0003045c536565205b6050616c6c65743a3a72656d6f7665605d2e3c7265636c61696d5f6465706f73697404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e00040480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e657204013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e00050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e41050c487075626c69635f63726564656e7469616c732c63726564656e7469616c732843726564656e7469616c10244374797065486173680130445375626a6563744964656e74696669657201450518436c61696d7301490534416363657373436f6e74726f6c01ad040010012863747970655f6861736830012443747970654861736800011c7375626a656374450501445375626a6563744964656e746966696572000118636c61696d7349050118436c61696d73000134617574686f72697a6174696f6ea90401544f7074696f6e3c416363657373436f6e74726f6c3e000045050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000049050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00004d050c4070616c6c65745f6d6967726174696f6e1870616c6c65741043616c6c040454000104387570646174655f62616c616e63650401507265717565737465645f6d6967726174696f6e73a501014c456e7472696573546f4d6967726174653c543e0000047c536565205b6050616c6c65743a3a7570646174655f62616c616e6365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e51050c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c65741043616c6c0404540001104c7365745f76616c69646174696f6e5f64617461040110646174615505015450617261636861696e496e686572656e744461746100000490536565205b6050616c6c65743a3a7365745f76616c69646174696f6e5f64617461605d2e607375646f5f73656e645f7570776172645f6d65737361676504011c6d6573736167653401345570776172644d657373616765000104a4536565205b6050616c6c65743a3a7375646f5f73656e645f7570776172645f6d657373616765605d2e44617574686f72697a655f75706772616465080124636f64655f6861736830011c543a3a48617368000134636865636b5f76657273696f6eac0110626f6f6c00020488536565205b6050616c6c65743a3a617574686f72697a655f75706772616465605d2e60656e6163745f617574686f72697a65645f75706772616465040110636f646534011c5665633c75383e000304a4536565205b6050616c6c65743a3a656e6163745f617574686f72697a65645f75706772616465605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e5505089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e745450617261636861696e496e686572656e7444617461000010013c76616c69646174696f6e5f646174615905015c50657273697374656456616c69646174696f6e4461746100014472656c61795f636861696e5f73746174656105015473705f747269653a3a53746f7261676550726f6f66000144646f776e776172645f6d657373616765736905016c5665633c496e626f756e64446f776e776172644d6573736167653e00014c686f72697a6f6e74616c5f6d65737361676573710501a442547265654d61703c5061726149642c205665633c496e626f756e6448726d704d6573736167653e3e000059050c4c706f6c6b61646f745f7072696d6974697665730876355c50657273697374656456616c69646174696f6e446174610804480130044e01200010012c706172656e745f686561645d050120486561644461746100014c72656c61795f706172656e745f6e756d6265722001044e00016472656c61795f706172656e745f73746f726167655f726f6f74300104480001306d61785f706f765f73697a6520010c75333200005d050c48706f6c6b61646f745f70617261636861696e287072696d6974697665732048656164446174610000040034011c5665633c75383e000061050c1c73705f747269653473746f726167655f70726f6f663053746f7261676550726f6f660000040128747269655f6e6f6465736505014442547265655365743c5665633c75383e3e00006505042042547265655365740404540134000400e10200000069050000026d05006d050860706f6c6b61646f745f636f72655f7072696d69746976657358496e626f756e64446f776e776172644d657373616765042c426c6f636b4e756d62657201200008011c73656e745f617420012c426c6f636b4e756d62657200010c6d736734013c446f776e776172644d65737361676500007105042042547265654d617008044b01e50104560175050004007d05000000750500000279050079050860706f6c6b61646f745f636f72655f7072696d69746976657348496e626f756e6448726d704d657373616765042c426c6f636b4e756d62657201200008011c73656e745f617420012c426c6f636b4e756d6265720001106461746134015073705f7374643a3a7665633a3a5665633c75383e00007d05000002810500810500000408e50175050085050c3870617261636861696e5f696e666f1870616c6c65741043616c6c040454000100040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e89050c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c65741043616c6c04045400012448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d69742801185765696768740000048c536565205b6050616c6c65743a3a736572766963655f6f766572776569676874605d2e5473757370656e645f78636d5f657865637574696f6e00010498536565205b6050616c6c65743a3a73757370656e645f78636d5f657865637574696f6e605d2e50726573756d655f78636d5f657865637574696f6e00020494536565205b6050616c6c65743a3a726573756d655f78636d5f657865637574696f6e605d2e607570646174655f73757370656e645f7468726573686f6c6404010c6e657720010c753332000304a4536565205b6050616c6c65743a3a7570646174655f73757370656e645f7468726573686f6c64605d2e547570646174655f64726f705f7468726573686f6c6404010c6e657720010c75333200040498536565205b6050616c6c65743a3a7570646174655f64726f705f7468726573686f6c64605d2e5c7570646174655f726573756d655f7468726573686f6c6404010c6e657720010c753332000504a0536565205b6050616c6c65743a3a7570646174655f726573756d655f7468726573686f6c64605d2e5c7570646174655f7468726573686f6c645f77656967687404010c6e6577280118576569676874000604a0536565205b6050616c6c65743a3a7570646174655f7468726573686f6c645f776569676874605d2e707570646174655f7765696768745f72657374726963745f646563617904010c6e6577280118576569676874000704b4536565205b6050616c6c65743a3a7570646174655f7765696768745f72657374726963745f6465636179605d2e847570646174655f78636d705f6d61785f696e646976696475616c5f77656967687404010c6e6577280118576569676874000804c8536565205b6050616c6c65743a3a7570646174655f78636d705f6d61785f696e646976696475616c5f776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8d050c2870616c6c65745f78636d1870616c6c65741043616c6c04045400012c1073656e6408011064657374b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011c6d65737361676591050154426f783c56657273696f6e656458636d3c28293e3e00000454536565205b6050616c6c65743a3a73656e64605d2e3c74656c65706f72745f61737365747310011064657374b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747381020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c75333200010480536565205b6050616c6c65743a3a74656c65706f72745f617373657473605d2e5c726573657276655f7472616e736665725f61737365747310011064657374b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747381020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c753332000204a0536565205b6050616c6c65743a3a726573657276655f7472616e736665725f617373657473605d2e1c6578656375746508011c6d657373616765c10501c0426f783c56657273696f6e656458636d3c3c5420617320537973436f6e6669673e3a3a52756e74696d6543616c6c3e3e0001286d61785f77656967687428011857656967687400030460536565205b6050616c6c65743a3a65786563757465605d2e44666f7263655f78636d5f76657273696f6e0801206c6f636174696f6ef1010148426f783c4d756c74694c6f636174696f6e3e00011c76657273696f6e20012858636d56657273696f6e00040488536565205b6050616c6c65743a3a666f7263655f78636d5f76657273696f6e605d2e64666f7263655f64656661756c745f78636d5f76657273696f6e0401446d617962655f78636d5f76657273696f6e310401484f7074696f6e3c58636d56657273696f6e3e000504a8536565205b6050616c6c65743a3a666f7263655f64656661756c745f78636d5f76657273696f6e605d2e78666f7263655f7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6eb902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000604bc536565205b6050616c6c65743a3a666f7263655f7375627363726962655f76657273696f6e5f6e6f74696679605d2e80666f7263655f756e7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6eb902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000704c4536565205b6050616c6c65743a3a666f7263655f756e7375627363726962655f76657273696f6e5f6e6f74696679605d2e7c6c696d697465645f726573657276655f7472616e736665725f61737365747314011064657374b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747381020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c7533320001307765696768745f6c696d69747d02012c5765696768744c696d6974000804c0536565205b6050616c6c65743a3a6c696d697465645f726573657276655f7472616e736665725f617373657473605d2e5c6c696d697465645f74656c65706f72745f61737365747314011064657374b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747381020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c7533320001307765696768745f6c696d69747d02012c5765696768744c696d6974000904a0536565205b6050616c6c65743a3a6c696d697465645f74656c65706f72745f617373657473605d2e40666f7263655f73757370656e73696f6e04012473757370656e646564ac0110626f6f6c000a0484536565205b6050616c6c65743a3a666f7263655f73757370656e73696f6e605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e9105080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010808563204009505015076323a3a58636d3c52756e74696d6543616c6c3e00020008563304001502015076333a3a58636d3c52756e74696d6543616c6c3e0003000095050c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400990501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e000099050000029d05009d050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404008502012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404008502012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404008502012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f69642c011c51756572794964000120726573706f6e7365a1050120526573706f6e73650001286d61785f7765696768742c010c753634000300345472616e7366657241737365740801186173736574738502012c4d756c746941737365747300012c62656e6566696369617279950201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574738502012c4d756c746941737365747300011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065650201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f73742c010c75363400011063616c6c69020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572fd01010c7533320001406d61785f6d6573736167655f73697a65fd01010c7533320001306d61785f6361706163697479fd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74fd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72fd01010c75333200011873656e646572fd01010c753332000124726563697069656e74fd01010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e040099020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f69642c011c5175657279496400011064657374950201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f7765696768742c010c753634000c00304465706f73697441737365740c0118617373657473b10501404d756c7469417373657446696c7465720001286d61785f617373657473fd01010c75333200012c62656e6566696369617279950201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473b10501404d756c7469417373657446696c7465720001286d61785f617373657473fd01010c75333200011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e000e003445786368616e6765417373657408011067697665b10501404d756c7469417373657446696c74657200011c726563656976658502012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473b10501404d756c7469417373657446696c74657200011c72657365727665950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473b10501404d756c7469417373657446696c74657200011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f69642c011c5175657279496400011064657374950201344d756c74694c6f636174696f6e000118617373657473b10501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f7765696768742c010c75363400120030427579457865637574696f6e080110666565738d0201284d756c746941737365740001307765696768745f6c696d6974bd05012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204009505014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804009505014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574738502012c4d756c74694173736574730001187469636b6574950201344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f7765696768742c010c753634001a0048556e73756273637269626556657273696f6e001b0000a1050c0c78636d08763220526573706f6e7365000110104e756c6c0000001841737365747304008502012c4d756c74694173736574730001003c457865637574696f6e526573756c740400a50501504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e040020013873757065723a3a56657273696f6e00030000a50504184f7074696f6e04045401a9050108104e6f6e6500000010536f6d650400a9050000010000a9050000040820ad0500ad05100c78636d08763218747261697473144572726f72000168204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300444d756c74694c6f636174696f6e46756c6c000400684d756c74694c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c7536340015004c556e68616e646c656458636d56657273696f6e001600485765696768744c696d69745265616368656404001001185765696768740017001c426172726965720018004c5765696768744e6f74436f6d70757461626c6500190000b105100c78636d087632286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e69746504008502012c4d756c74694173736574730000001057696c640400b505013857696c644d756c7469417373657400010000b505100c78636d087632286d756c746961737365743857696c644d756c746941737365740001080c416c6c00000014416c6c4f6608010869649102011c4173736574496400010c66756eb905013c57696c6446756e676962696c69747900010000b905100c78636d087632286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c6500010000bd050c0c78636d0876322c5765696768744c696d697400010824556e6c696d697465640000001c4c696d6974656404002c010c75363400010000c105080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c0001080856320400c505015076323a3a58636d3c52756e74696d6543616c6c3e0002000856330400d505015076333a3a58636d3c52756e74696d6543616c6c3e00030000c5050c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400c90501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e0000c905000002cd0500cd050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404008502012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404008502012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404008502012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f69642c011c51756572794964000120726573706f6e7365a1050120526573706f6e73650001286d61785f7765696768742c010c753634000300345472616e7366657241737365740801186173736574738502012c4d756c746941737365747300012c62656e6566696369617279950201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574738502012c4d756c746941737365747300011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065650201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f73742c010c75363400011063616c6cd1050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572fd01010c7533320001406d61785f6d6573736167655f73697a65fd01010c7533320001306d61785f6361706163697479fd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74fd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72fd01010c75333200011873656e646572fd01010c753332000124726563697069656e74fd01010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e040099020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f69642c011c5175657279496400011064657374950201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f7765696768742c010c753634000c00304465706f73697441737365740c0118617373657473b10501404d756c7469417373657446696c7465720001286d61785f617373657473fd01010c75333200012c62656e6566696369617279950201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473b10501404d756c7469417373657446696c7465720001286d61785f617373657473fd01010c75333200011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e000e003445786368616e6765417373657408011067697665b10501404d756c7469417373657446696c74657200011c726563656976658502012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473b10501404d756c7469417373657446696c74657200011c72657365727665950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473b10501404d756c7469417373657446696c74657200011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f69642c011c5175657279496400011064657374950201344d756c74694c6f636174696f6e000118617373657473b10501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f7765696768742c010c75363400120030427579457865637574696f6e080110666565738d0201284d756c746941737365740001307765696768745f6c696d6974bd05012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400c505014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e6469780400c505014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574738502012c4d756c74694173736574730001187469636b6574950201344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f7765696768742c010c753634001a0048556e73756273637269626556657273696f6e001b0000d1050c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656434011c5665633c75383e0000d5050c0c78636d0876330c58636d041043616c6c00000400d90501585665633c496e737472756374696f6e3c43616c6c3e3e0000d905000002dd0500dd050c0c78636d0876332c496e737472756374696f6e041043616c6c0001c0345769746864726177417373657404002102012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404002102012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404002102012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f69642c011c51756572794964000120726573706f6e73653d020120526573706f6e73650001286d61785f77656967687428011857656967687400011c71756572696572610201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e7366657241737365740801186173736574732102012c4d756c746941737365747300012c62656e6566696369617279f10101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574732102012c4d756c746941737365747300011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64650201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428011857656967687400011063616c6cd105014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572fd01010c7533320001406d61785f6d6573736167655f73697a65fd01010c7533320001306d61785f6361706163697479fd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74fd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72fd01010c75333200011873656e646572fd01010c753332000124726563697069656e74fd01010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400f5010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f7204006d0201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473710201404d756c7469417373657446696c74657200012c62656e6566696369617279f10101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473710201404d756c7469417373657446696c74657200011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e000e003445786368616e676541737365740c011067697665710201404d756c7469417373657446696c74657200011077616e742102012c4d756c746941737365747300011c6d6178696d616cac0110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473710201404d756c7469417373657446696c74657200011c72657365727665f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473710201404d756c7469417373657446696c74657200011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f6d0201445175657279526573706f6e7365496e666f000118617373657473710201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573290201284d756c746941737365740001307765696768745f6c696d69747d02012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400d505012458636d3c43616c6c3e0015002c536574417070656e6469780400d505012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574732102012c4d756c74694173736574730001187469636b6574f10101344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f776569676874280118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e417373657404002102012c4d756c7469417373657473001c002c457870656374417373657404002102012c4d756c7469417373657473001d00304578706563744f726967696e0400610201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400410201504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e736163745374617475730400590201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6534011c5665633c75383e000134726573706f6e73655f696e666f6d0201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578fd01010c7533320001106e616d6534011c5665633c75383e00012c6d6f64756c655f6e616d6534011c5665633c75383e00012c63726174655f6d616a6f72fd01010c75333200013c6d696e5f63726174655f6d696e6f72fd01010c753332002200505265706f72745472616e7361637453746174757304006d0201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400f90101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726b050201244e6574776f726b496400012c64657374696e6174696f6ef5010154496e746572696f724d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e002600244c6f636b41737365740801146173736574290201284d756c74694173736574000120756e6c6f636b6572f10101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574290201284d756c74694173736574000118746172676574f10101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574290201284d756c746941737365740001146f776e6572f10101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574290201284d756c746941737365740001186c6f636b6572f10101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177ac0110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400f10101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69747d02012c5765696768744c696d6974000130636865636b5f6f726967696e610201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f0000e1050c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c65741043616c6c04045400010448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d69742801185765696768740000048c536565205b6050616c6c65743a3a736572766963655f6f766572776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ee5050000021d0400e90500000408ed051800ed050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e0000f1050c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d62657201102050726f706f73616c0121041c42616c616e6365011801081c4f6e676f696e670400f50501c05265666572656e64756d5374617475733c426c6f636b4e756d6265722c2050726f706f73616c2c2042616c616e63653e0000002046696e6973686564080120617070726f766564ac0110626f6f6c00010c656e6410012c426c6f636b4e756d62657200010000f5050c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d62657201102050726f706f73616c0121041c42616c616e636501180014010c656e6410012c426c6f636b4e756d62657200012070726f706f73616c2104012050726f706f73616c0001247468726573686f6c64980134566f74655468726573686f6c6400011464656c617910012c426c6f636b4e756d62657200011474616c6c79f905013854616c6c793c42616c616e63653e0000f9050c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e63650000fd050c4070616c6c65745f64656d6f637261637910766f746518566f74696e67101c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d6265720110204d6178566f746573000108184469726563740c0114766f746573010601f4426f756e6465645665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e730d06015044656c65676174696f6e733c42616c616e63653e0001147072696f721106017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6e2d040128436f6e76696374696f6e00012c64656c65676174696f6e730d06015044656c65676174696f6e733c42616c616e63653e0001147072696f721106017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0001000001060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010506045300000400090601185665633c543e0000050600000408209c0009060000020506000d060c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e6365000011060c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201101c42616c616e6365011800080010012c426c6f636b4e756d626572000018011c42616c616e636500001506000004082104980019060000040810ed05001d060c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f720404540001602056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365445265666572656e64756d496e76616c696400090484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d2c4e6f6e6557616974696e67000a04504e6f2070726f706f73616c732077616974696e67204e6f74566f746572000b04c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e000c04c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67000d0488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473000e04fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000f04a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740010085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001104d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650012049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400130450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001404804d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c546f6f4d616e79001504804d6178696d756d206e756d626572206f66206974656d7320726561636865642e3c566f74696e67506572696f644c6f7700160454566f74696e6720706572696f6420746f6f206c6f7740507265696d6167654e6f7445786973740017047054686520707265696d61676520646f6573206e6f742065786973742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e21060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540130045300000400b10101185665633c543e00002506084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572011000140114696e64657820013450726f706f73616c496e6465780001247468726573686f6c6420012c4d656d626572436f756e7400011061796573b90101385665633c4163636f756e7449643e0001106e617973b90101385665633c4163636f756e7449643e00010c656e6410012c426c6f636b4e756d626572000029060c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e2d060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540130045300000400b10101185665633c543e000031060c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e35060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e000039060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e3d06083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e6365000041060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540120045300000400b50301185665633c543e000045060c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c0000040020010c7533320000490604184f7074696f6e04045401180108104e6f6e6500000010536f6d6504001800000100004d0608346672616d655f737570706f72742050616c6c65744964000004003902011c5b75383b20385d000051060c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900011470496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0003084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640004047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e04784572726f7220666f72207468652074726561737572792070616c6c65742e55060c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e59060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540179040453000004005d0601185665633c543e00005d060000027904006106083870616c6c65745f76657374696e672052656c65617365730001080856300000000856310001000065060c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742e69060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454016d06045300000400750601185665633c543e00006d0604184f7074696f6e0404540171060108104e6f6e6500000010536f6d650400710600000100007106084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c0121042c426c6f636b4e756d62657201103450616c6c6574734f726967696e015504244163636f756e7449640100001401206d617962655f6964d401304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c2104011043616c6c0001386d617962655f706572696f646963810401944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696e5504013450616c6c6574734f726967696e000075060000026d060079060c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e7d06000004088106180081060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454018506045300000400890601185665633c543e00008506083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501dc2c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065dc012450726f78795479706500011464656c617910012c426c6f636b4e756d626572000089060000028506008d06000004089106180091060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454019506045300000400990601185665633c543e00009506083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e7449640100104861736801302c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173683001104861736800011868656967687410012c426c6f636b4e756d626572000099060000029506009d060c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea106083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f736974a5060150284163636f756e7449642c2042616c616e63652900010c6c656e20010c753332000000245265717565737465640c011c6465706f736974a90601704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e7420010c75333200010c6c656e3104012c4f7074696f6e3c7533323e00010000a50600000408001800a90604184f7074696f6e04045401a5060108104e6f6e6500000010536f6d650400a5060000010000ad0600000408302000b1060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000b5060c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400011818546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742eb9060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e0000bd060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ec106082c70616c6c65745f746970731c4f70656e54697010244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d626572011010486173680130001c0118726561736f6e3001104861736800010c77686f0001244163636f756e74496400011866696e6465720001244163636f756e74496400011c6465706f73697418011c42616c616e6365000118636c6f736573c506014c4f7074696f6e3c426c6f636b4e756d6265723e00011074697073c90601645665633c284163636f756e7449642c2042616c616e6365293e00012c66696e646572735f666565ac0110626f6f6c0000c50604184f7074696f6e04045401100108104e6f6e6500000010536f6d650400100000010000c906000002a50600cd060c3473705f61726974686d65746963287065725f7468696e67731c50657263656e740000040008010875380000d1060c2c70616c6c65745f746970731870616c6c6574144572726f7208045400044900011830526561736f6e546f6f4269670000048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e00010488546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e5469700002046054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e6465720003041d01546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e0004042901546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d61747572650005043101546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ed50600000408000400d906083c70616c6c65745f6d756c7469736967204d756c7469736967102c426c6f636b4e756d62657201101c42616c616e63650118244163636f756e7449640100304d6178417070726f76616c7300001001107768656ef4015854696d65706f696e743c426c6f636b4e756d6265723e00011c6465706f73697418011c42616c616e63650001246465706f7369746f720001244163636f756e744964000124617070726f76616c73dd06018c426f756e6465645665633c4163636f756e7449642c204d6178417070726f76616c733e0000dd060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e0000e1060c3c70616c6c65745f6d756c74697369671870616c6c6574144572726f72040454000138404d696e696d756d5468726573686f6c640000047c5468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f766564000104ac43616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e65656465640002049c43616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f72696573000304a854686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f72696573000404ac54686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f726465720005040d01546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f726965730006040d015468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e64000704dc4d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e65720008042d014f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e740009041d014e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74000a042d014120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e74000b04f4412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e3c4d6178576569676874546f6f4c6f77000c04d0546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f726564000d04a0546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ee5060c1463747970652c63747970655f656e747279284374797065456e747279081c43726561746f7201002c426c6f636b4e756d62657201100008011c63726561746f7200011c43726561746f72000128637265617465645f617410012c426c6f636b4e756d6265720000e9060c1463747970651870616c6c6574144572726f7204045400010c204e6f74466f756e64000004985468657265206973206e6f20435479706520776974682074686520676976656e20686173682e34416c72656164794578697374730001046454686520435479706520616c7265616479206578697374732e3c556e61626c65546f506179466565730002040d0154686520706179696e67206163636f756e742077617320756e61626c6520746f2070617920746865206665657320666f72206372656174696e6720612063747970652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742eed060c2c6174746573746174696f6e306174746573746174696f6e73484174746573746174696f6e44657461696c7314244374797065486173680130284174746573746572496401003c417574686f72697a6174696f6e4964010501244163636f756e74496401001c42616c616e636501180014012863747970655f68617368300124437479706548617368000120617474657374657200012841747465737465724964000140617574686f72697a6174696f6e5f69640101015c4f7074696f6e3c417574686f72697a6174696f6e49643e00011c7265766f6b6564ac0110626f6f6c00011c6465706f736974f106016c4465706f7369743c4163636f756e7449642c2042616c616e63653e0000f1060c306b696c745f737570706f72741c6465706f7369741c4465706f736974081c4163636f756e7401001c42616c616e63650118000801146f776e657200011c4163636f756e74000118616d6f756e7418011c42616c616e63650000f5060000040805013000f9060c2c6174746573746174696f6e1870616c6c6574144572726f720404540001183c416c726561647941747465737465640000080901546865726520697320616c726561647920616e206174746573746174696f6e2077697468207468652073616d6520636c61696d20686173682073746f726564206f6e18636861696e2e38416c72656164795265766f6b6564000104a4546865206174746573746174696f6e2068617320616c7265616479206265656e207265766f6b65642e204e6f74466f756e64000204c04e6f206174746573746174696f6e206f6e20636861696e206d61746368696e672074686520636c61696d20686173682e3443547970654d69736d61746368000308fc546865206174746573746174696f6e20435479706520646f6573206e6f74206d61746368207468652043547970652073706563696669656420696e207468656864656c65676174696f6e2068696572617263687920726f6f742e344e6f74417574686f72697a6564000404f05468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f206368616e676520746865206174746573746174696f6e2e804d617844656c6567617465644174746573746174696f6e73457863656564656400050cf4546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732068617320616c7265616479206265656e05017265616368656420666f722074686520636f72726573706f6e64696e672064656c65676174696f6e2069642073756368207468617420616e6f74686572206f6e654063616e6e6f742062652061646465642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742efd060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368793844656c65676174696f6e4e6f6465144044656c65676174696f6e4e6f6465496401302c4d61784368696c6472656e0101074444656c65676174696f6e44657461696c73010507244163636f756e74496401001c42616c616e63650118001401446869657261726368795f726f6f745f696430014044656c65676174696f6e4e6f64654964000118706172656e74350401604f7074696f6e3c44656c65676174696f6e4e6f646549643e0001206368696c6472656e090701b8426f756e64656442547265655365743c44656c65676174696f6e4e6f646549642c204d61784368696c6472656e3e00011c64657461696c730507014444656c65676174696f6e44657461696c7300011c6465706f736974f106016c4465706f7369743c4163636f756e7449642c2042616c616e63653e00000107103872756e74696d655f636f6d6d6f6e24636f6e7374616e74732864656c65676174696f6e2c4d61784368696c6472656e0000000005070c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368794444656c65676174696f6e44657461696c73042c44656c656761746f7249640100000c01146f776e657200012c44656c656761746f72496400011c7265766f6b6564ac0110626f6f6c00012c7065726d697373696f6e730d01012c5065726d697373696f6e73000009070c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e646564425472656553657408045401300453000004000d07012c42547265655365743c543e00000d07042042547265655365740404540130000400b10100000011070c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368796844656c65676174696f6e48696572617263687944657461696c73042443747970654861736801300004012863747970655f68617368300124437479706548617368000015070c2864656c65676174696f6e1870616c6c6574144572726f720404540001585c44656c65676174696f6e416c72656164794578697374730000041101546865726520697320616c726561647920612064656c65676174696f6e206e6f64652077697468207468652073616d652049442073746f726564206f6e20636861696e2e60496e76616c696444656c65676174655369676e617475726500010805015468652064656c65676174652773207369676e617475726520666f72207468652064656c65676174696f6e206372656174696f6e206f7065726174696f6e20697320696e76616c69642e4844656c65676174696f6e4e6f74466f756e64000204c04e6f2064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e4044656c65676174654e6f74466f756e64000304b84e6f2064656c656761746520776974682074686520676976656e2049442073746f726564206f6e20636861696e2e58486965726172636879416c7265616479457869737473000404f8546865726520697320616c72656164792061206869657261726368792077697468207468652073616d652049442073746f726564206f6e20636861696e2e444869657261726368794e6f74466f756e64000504bc4e6f2068696572617263687920776974682074686520676976656e2049442073746f726564206f6e20636861696e2e544d617853656172636844657074685265616368656400060409014d6178206e756d626572206f66206e6f64657320636865636b656420776974686f757420766572696679696e672074686520676976656e20636f6e646974696f6e2e684e6f744f776e65724f66506172656e7444656c65676174696f6e000708f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6ef462656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20706172656e74206e6f64652e744e6f744f776e65724f6644656c65676174696f6e486965726172636879000808f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6eec62656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20726f6f74206e6f64652e60506172656e7444656c65676174696f6e4e6f74466f756e64000904dc4e6f20706172656e742064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e5c506172656e7444656c65676174696f6e5265766f6b6564000a04c854686520706172656e742064656c65676174696f6e206861732070726576696f75736c79206265656e207265766f6b65642e58556e617574686f72697a65645265766f636174696f6e000b04fc5468652064656c65676174696f6e207265766f6b6572206973206e6f7420616c6c6f77656420746f207265766f6b65207468652064656c65676174696f6e2e4c556e617574686f72697a656452656d6f76616c000c04ec5468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f2072656d6f7665207468652064656c65676174696f6e2e58556e617574686f72697a656444656c65676174696f6e000d04fc5468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f20637265617465207468652064656c65676174696f6e2e3041636365737344656e696564000e04f0546865206f7065726174696f6e207761736e277420616c6c6f7765642062656361757365206f6620696e73756666696369656e74207269676874732e6045786365656465645265766f636174696f6e426f756e6473000f080d014d6178206e756d626572206f66207265766f636174696f6e7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7238746865206f7065726174696f6e2e54457863656564656452656d6f76616c426f756e647300100811014d6178206e756d626572206f662072656d6f76616c7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7220746865286f7065726174696f6e2e584d61785265766f636174696f6e73546f6f4c61726765001104f8546865206d6178206e756d626572206f66207265766f636174696f6e206578636565647320746865206c696d697420666f72207468652070616c6c65742e4c4d617852656d6f76616c73546f6f4c61726765001204f0546865206d6178206e756d626572206f662072656d6f76616c73206578636565647320746865206c696d697420666f72207468652070616c6c65742e5c4d6178506172656e74436865636b73546f6f4c617267650013040501546865206d6178206e756d626572206f6620706172656e7420636865636b73206578636565647320746865206c696d697420666f72207468652070616c6c65742e20496e7465726e616c001404f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e4c4d61784368696c6472656e4578636565646564001508dc546865206d6178206e756d626572206f6620616c6c206368696c6472656e20686173206265656e207265616368656420666f722074686578636f72726573706f6e64696e672064656c65676174696f6e206e6f64652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e19070c0c6469642c6469645f64657461696c732844696444657461696c7304045400001c014861757468656e7469636174696f6e5f6b65793001284b657949644f663c543e0001486b65795f61677265656d656e745f6b6579731d0701684469644b657941677265656d656e744b65795365744f663c543e00013864656c65676174696f6e5f6b6579350401484f7074696f6e3c4b657949644f663c543e3e00013c6174746573746174696f6e5f6b6579350401484f7074696f6e3c4b657949644f663c543e3e00012c7075626c69635f6b657973210701504469645075626c69634b65794d61704f663c543e00013c6c6173745f74785f636f756e74657210010c75363400011c6465706f736974f10601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e00001d070c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e646564425472656553657408045401300453000004000d07012c42547265655365743c543e000021070c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b013004560125070453000004002d07013842547265654d61703c4b2c20563e000025070c0c6469642c6469645f64657461696c734c4469645075626c69634b657944657461696c73082c426c6f636b4e756d6265720110244163636f756e74496401000008010c6b65792907015c4469645075626c69634b65793c4163636f756e7449643e000130626c6f636b5f6e756d62657210012c426c6f636b4e756d626572000029070c0c6469642c6469645f64657461696c73304469645075626c69634b657904244163636f756e74496401000108545075626c6963566572696669636174696f6e4b6579040011050174446964566572696669636174696f6e4b65793c4163636f756e7449643e0000004c5075626c6963456e6372797074696f6e4b6579040001050140446964456e6372797074696f6e4b6579000100002d07042042547265654d617008044b01300456012507000400310700000031070000023507003507000004083025070039070000040800e104003d070c0c6469641870616c6c6574144572726f7204045400016c58496e76616c69645369676e6174757265466f726d6174000008050154686520444944206f7065726174696f6e207369676e6174757265206973206e6f7420696e2074686520666f726d61742074686520766572696669636174696f6e306b657920657870656374732e40496e76616c69645369676e6174757265000108f854686520444944206f7065726174696f6e207369676e617475726520697320696e76616c696420666f7220746865207061796c6f616420616e642074686568766572696669636174696f6e206b65792070726f76696465642e34416c7265616479457869737473000204f85468652044494420776974682074686520676976656e206964656e74696669657220697320616c72656164792070726573656e74206f6e20636861696e2e204e6f74466f756e64000304d44e6f2044494420776974682074686520676976656e206964656e7469666965722069732070726573656e74206f6e20636861696e2e5c566572696669636174696f6e4b65794e6f74466f756e6400040809014f6e65206f72206d6f726520766572696669636174696f6e206b657973207265666572656e63656420617265206e6f742073746f72656420696e2074686520736574546f6620766572696669636174696f6e206b6579732e30496e76616c69644e6f6e6365000504090154686520444944206f7065726174696f6e206e6f6e6365206973206e6f7420657175616c20746f207468652063757272656e7420444944206e6f6e6365202b20312e7c556e737570706f72746564446964417574686f72697a6174696f6e43616c6c000604e05468652063616c6c65642065787472696e73696320646f6573206e6f7420737570706f72742044494420617574686f7269736174696f6e2e6c496e76616c6964446964417574686f72697a6174696f6e43616c6c000708dc5468652063616c6c2068616420706172616d6574657273207468617420636f6e666c696374656420776974682065616368206f74686572406f72207765726520696e76616c69642e8c4d61784e65774b657941677265656d656e744b6579734c696d697445786365656465640008080d0141206e756d626572206f66206e6577206b65792061677265656d656e74206b6579732067726561746572207468616e20746865206d6178696d756d20616c6c6f77656448686173206265656e2070726f76696465642e544d61785075626c69634b65797345786365656465640009080501546865206d6178696d756d206e756d626572206f66207075626c6963206b65797320666f72207468697320444944206b6579206964656e74696669657220686173346265656e20726561636865642e6c4d61784b657941677265656d656e744b6579734578636565646564000a080501546865206d6178696d756d206e756d626572206f66206b65792061677265656d656e747320686173206265656e207265616368656420666f722074686520444944207375626a6563742e304261644469644f726967696e000b04bc546865204449442063616c6c20776173207375626d6974746564206279207468652077726f6e67206163636f756e74485472616e73616374696f6e45787069726564000c040d0154686520626c6f636b206e756d6265722070726f766964656420696e2061204449442d617574686f72697a6564206f7065726174696f6e20697320696e76616c69642e38416c726561647944656c65746564000d04b0546865204449442068617320616c7265616479206265656e2070726576696f75736c792064656c657465642e444e6f744f776e65724f664465706f736974000e04fc4f6e6c7920746865206f776e6572206f6620746865206465706f7369742063616e207265636c61696d206974732072657365727665642062616c616e63652e3c556e61626c65546f50617946656573000f04f0546865206f726967696e20697320756e61626c6520746f207265736572766520746865206465706f73697420616e642070617920746865206665652e6c4d61784e756d6265724f66536572766963657345786365656465640010041101546865206d6178696d756d206e756d626572206f66207365727669636520656e64706f696e747320666f7220612044494420686173206265656e2065786365656465642e684d61785365727669636549644c656e6774684578636565646564001104f0546865207365727669636520656e64706f696e7420494420657863656564656420746865206d6178696d756d20616c6c6f776564206c656e6774682e704d617853657276696365547970654c656e6774684578636565646564001208f84f6e65206f6620746865207365727669636520656e64706f696e7420747970657320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e884d61784e756d6265724f665479706573506572536572766963654578636565646564001308ec546865206d6178696d756d206e756d626572206f6620747970657320666f722061207365727669636520656e64706f696e7420686173206265656e2465786365656465642e6c4d61785365727669636555726c4c656e6774684578636565646564001408f44f6e65206f6620746865207365727669636520656e64706f696e742055524c7320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e844d61784e756d6265724f6655726c735065725365727669636545786365656465640015041101546865206d6178696d756d206e756d626572206f662055524c7320666f722061207365727669636520656e64706f696e7420686173206265656e2065786365656465642e5053657276696365416c726561647945786973747300160411014120736572766963652077697468207468652070726f766964656420494420697320616c72656164792070726573656e7420666f722074686520676976656e204449442e3c536572766963654e6f74466f756e6400170409014120736572766963652077697468207468652070726f7669646564204944206973206e6f742070726573656e7420756e6465722074686520676976656e204449442e58496e76616c696453657276696365456e636f64696e6700180409014f6e65206f6620746865207365727669636520656e64706f696e742064657461696c7320636f6e7461696e73206e6f6e2d415343494920636861726163746572732e7c4d617853746f726564456e64706f696e7473436f756e7445786365656465640019080d01546865206e756d626572206f66207365727669636520656e64706f696e74732073746f72656420756e6465722074686520444944206973206c6172676572207468616e88746865206e756d626572206f6620656e64706f696e747320746f2064656c6574652e20496e7465726e616c001a04f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e41070c4470616c6c65745f6469645f6c6f6f6b757044636f6e6e656374696f6e5f7265636f726440436f6e6e656374696f6e5265636f72640c344469644964656e74696669657201001c4163636f756e7401001c42616c616e636501180008010c6469640001344469644964656e74696669657200011c6465706f736974f10601644465706f7369743c4163636f756e742c2042616c616e63653e00004507000004080019010049070c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144572726f72040454000114204e6f74466f756e640000047c546865206173736f63696174696f6e20646f6573206e6f742065786973742e344e6f74417574686f72697a65640001081101546865206f726967696e20776173206e6f7420616c6c6f77656420746f206d616e61676520746865206173736f63696174696f6e206265747765656e20746865204449444c616e6420746865206163636f756e742049442e344f7574646174656450726f6f66000204b454686520737570706c6965642070726f6f66206f66206f776e65727368697020776173206f757464617465642e44496e73756666696369656e7446756e64730003081101546865206163636f756e742068617320696e73756666696369656e742066756e647320616e642063616e277420706179207468652066656573206f72207265736572766530746865206465706f7369742e244d6967726174696f6e00040c010154686520436f6e6e65637465644163636f756e747320616e6420436f6e6e6563746564446964732073746f7261676520617265206f7574206f662073796e632e0011014e4f54453a20746869732077696c6c206f6e6c792062652072657475726e6564206966207468652073746f726167652068617320696e636f6e73697374656e636965732e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e4d070c4470616c6c65745f776562335f6e616d657324776562335f6e616d6544576562334e616d654f776e6572736869700c144f776e657201001c4465706f73697401f1062c426c6f636b4e756d6265720110000c01146f776e65720001144f776e6572000128636c61696d65645f617410012c426c6f636b4e756d62657200011c6465706f736974f106011c4465706f736974000051070c4470616c6c65745f776562335f6e616d65731870616c6c6574144572726f7204045400013044496e73756666696369656e7446756e64730000040d01546865207478207375626d697474657220646f6573206e6f74206861766520656e6f7567682066756e647320746f2070617920666f7220746865206465706f7369742e34416c7265616479457869737473000104dc54686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c7920636c61696d65642e204e6f74466f756e640002048854686520737065636966696564206e616d6520646f6573206e6f742065786973742e484f776e6572416c7265616479457869737473000304a054686520737065636966696564206f776e657220616c7265616479206f776e732061206e616d652e344f776e65724e6f74466f756e64000404ac54686520737065636966696564206f776e657220646f6573206e6f74206f776e20616e79206e616d65732e1842616e6e6564000508ec54686520737065636966696564206e616d6520686173206265656e2062616e6e656420616e642063616e6e6f7420626520696e746572616374656414776974682e244e6f7442616e6e6564000604ac54686520737065636966696564206e616d65206973206e6f742063757272656e746c792062616e6e65642e34416c726561647942616e6e6564000704d854686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c792062616e6e65642e344e6f74417574686f72697a6564000804cc546865206163746f722063616e6e6f7420706572666f726d65642074686520737065636966696564206f7065726174696f6e2e20546f6f53686f7274000904a841206e616d65207468617420697320746f6f2073686f7274206973206265696e6720636c61696d65642e1c546f6f4c6f6e67000a04a441206e616d65207468617420697320746f6f206c6f6e67206973206265696e6720636c61696d65642e40496e76616c6964436861726163746572000b04f441206e616d65207468617420636f6e7461696e73206e6f7420616c6c6f7765642063686172616374657273206973206265696e6720636c61696d65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e55070c487075626c69635f63726564656e7469616c732c63726564656e7469616c733c43726564656e7469616c456e7472791824435479706548617368013020417474657374657201002c426c6f636b4e756d6265720110244163636f756e74496401001c42616c616e636501183c417574686f72697a6174696f6e49640105010018012863747970655f686173683001244354797065486173680001206174746573746572000120417474657374657200011c7265766f6b6564ac0110626f6f6c000130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200011c6465706f736974f106016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000140617574686f72697a6174696f6e5f69640101015c4f7074696f6e3c417574686f72697a6174696f6e49643e000059070c487075626c69635f63726564656e7469616c731870616c6c6574144572726f720404540001183c416c72656164794174746573746564000008f8412063726564656e7469616c2077697468207468652073616d6520726f6f7420686173682068617320616c72656164792069737375656420746f2074686548737065636966696564207375626a6563742e204e6f74466f756e6400010805014e6f2063726564656e7469616c2077697468207468652073706563696669656420726f6f74206861736820686173206265656e2069737375656420746f2074686548737065636966696564207375626a6563742e3c556e61626c65546f50617946656573000204d44e6f7420656e6f75676820746f6b656e7320746f2070617920666f72207468652066656573206f7220746865206465706f7369742e30496e76616c6964496e707574000304805468652063726564656e7469616c20696e70757420697320696e76616c69642e344e6f74417574686f72697a6564000404e05468652063616c6c6572206973206e6f7420617574686f72697a656420746f20706572666f726d656420746865206f7065726174696f6e2e20496e7465726e616c000508f443617463682d616c6c20666f7220616e79206f74686572206572726f727320746861742073686f756c64206e6f742068617070656e2c207965742069742468617070656e65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e5d070c4070616c6c65745f6d6967726174696f6e1870616c6c6574144572726f72040454000104204b65795061727365000000048054686520604572726f726020656e756d206f6620746869732070616c6c65742e610704184f7074696f6e0404540165070108104e6f6e6500000010536f6d6504006507000001000065070c4c706f6c6b61646f745f7072696d69746976657308763548557067726164655265737472696374696f6e0001041c50726573656e740000000069070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f74584d6573736167696e675374617465536e617073686f740000100130646d715f6d71635f6865616430014472656c61795f636861696e3a3a4861736800016472656c61795f64697370617463685f71756575655f73697a656d07015452656c617944697370616368517565756553697a65000140696e67726573735f6368616e6e656c73710701885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00013c6567726573735f6368616e6e656c73710701885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00006d070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f745452656c617944697370616368517565756553697a65000008013c72656d61696e696e675f636f756e7420010c75333200013872656d61696e696e675f73697a6520010c75333200007107000002750700750700000408e50179070079070c4c706f6c6b61646f745f7072696d6974697665730876354c416272696467656448726d704368616e6e656c00001801306d61785f636170616369747920010c7533320001386d61785f746f74616c5f73697a6520010c7533320001406d61785f6d6573736167655f73697a6520010c7533320001246d73675f636f756e7420010c753332000128746f74616c5f73697a6520010c7533320001206d71635f68656164350401304f7074696f6e3c486173683e00007d070c4c706f6c6b61646f745f7072696d697469766573087635644162726964676564486f7374436f6e66696775726174696f6e00002401346d61785f636f64655f73697a6520010c7533320001486d61785f686561645f646174615f73697a6520010c7533320001586d61785f7570776172645f71756575655f636f756e7420010c7533320001546d61785f7570776172645f71756575655f73697a6520010c75333200015c6d61785f7570776172645f6d6573736167655f73697a6520010c7533320001906d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e64696461746520010c75333200018868726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e64696461746520010c75333200016c76616c69646174696f6e5f757067726164655f636f6f6c646f776e20012c426c6f636b4e756d62657200016076616c69646174696f6e5f757067726164655f64656c617920012c426c6f636b4e756d62657200008107089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74444d6573736167655175657565436861696e0000040030012452656c61794861736800008507042042547265654d617008044b01e5010456018107000400890700000089070000028d07008d0700000408e501810700910700000295070095070860706f6c6b61646f745f636f72655f7072696d6974697665734c4f7574626f756e6448726d704d6573736167650408496401e50100080124726563697069656e74e501010849640001106461746134015073705f7374643a3a7665633a3a5665633c75383e00009907087c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d60436f646555706772616465417574686f72697a6174696f6e0404540000080124636f64655f6861736830011c543a3a48617368000134636865636b5f76657273696f6eac0110626f6f6c00009d070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144572726f720404540001204c4f7665726c617070696e6755706772616465730000041901417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e672e5050726f686962697465644279506f6c6b61646f740001044d01506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e2e18546f6f426967000208450154686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f742069733c77696c6c696e6720746f2072756e2e6856616c69646174696f6e446174614e6f74417661696c61626c650003041d0154686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b2e74486f7374436f6e66696775726174696f6e4e6f74417661696c61626c65000404290154686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b2e304e6f745363686564756c6564000504d84e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642e444e6f7468696e67417574686f72697a6564000604904e6f20636f6465207570677261646520686173206265656e20617574686f72697a65642e30556e617574686f72697a6564000704bc54686520676976656e20636f6465207570677261646520686173206e6f74206265656e20617574686f72697a65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea107000002a50700a507086463756d756c75735f70616c6c65745f78636d705f717565756554496e626f756e644368616e6e656c44657461696c7300000c011873656e646572e50101185061726149640001147374617465a9070130496e626f756e6453746174650001406d6573736167655f6d65746164617461ad0701a85665633c2852656c6179426c6f636b4e756d6265722c2058636d704d657373616765466f726d6174293e0000a907086463756d756c75735f70616c6c65745f78636d705f717565756530496e626f756e645374617465000108084f6b0000002453757370656e64656400010000ad07000002b10700b1070000040820b50700b5070c48706f6c6b61646f745f70617261636861696e287072696d6974697665734458636d704d657373616765466f726d617400010c60436f6e636174656e6174656456657273696f6e656458636d0000005c436f6e636174656e61746564456e636f646564426c6f620001001c5369676e616c7300020000b90700000408e5012000bd07000002c10700c107086463756d756c75735f70616c6c65745f78636d705f7175657565584f7574626f756e644368616e6e656c44657461696c730000140124726563697069656e74e50101185061726149640001147374617465c50701344f7574626f756e6453746174650001347369676e616c735f6578697374ac0110626f6f6c00012c66697273745f696e646578e0010c7531360001286c6173745f696e646578e0010c7531360000c507086463756d756c75735f70616c6c65745f78636d705f7175657565344f7574626f756e645374617465000108084f6b0000002453757370656e64656400010000c90700000408e501e000cd07086463756d756c75735f70616c6c65745f78636d705f71756575653c5175657565436f6e66696744617461000018014473757370656e645f7468726573686f6c6420010c75333200013864726f705f7468726573686f6c6420010c753332000140726573756d655f7468726573686f6c6420010c7533320001407468726573686f6c645f7765696768742801185765696768740001547765696768745f72657374726963745f646563617928011857656967687400016878636d705f6d61785f696e646976696475616c5f7765696768742801185765696768740000d1070000040ce501203400d5070c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144572726f72040454000114304661696c6564546f53656e640000046c4661696c656420746f2073656e642058434d206d6573736167652e3042616458636d4f726967696e0001043c4261642058434d206f726967696e2e1842616458636d000204344261642058434d20646174612e484261644f766572776569676874496e64657800030454426164206f76657277656967687420696e6465782e3c5765696768744f7665724c696d6974000404f850726f76696465642077656967687420697320706f737369626c79206e6f7420656e6f75676820746f206578656375746520746865206d6573736167652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ed9070c2870616c6c65745f78636d1870616c6c65742c5175657279537461747573042c426c6f636b4e756d6265720110010c1c50656e64696e67100124726573706f6e646572b902015856657273696f6e65644d756c74694c6f636174696f6e00014c6d617962655f6d617463685f71756572696572dd0701784f7074696f6e3c56657273696f6e65644d756c74694c6f636174696f6e3e0001306d617962655f6e6f74696679e10701404f7074696f6e3c2875382c207538293e00011c74696d656f757410012c426c6f636b4e756d6265720000003c56657273696f6e4e6f7469666965720801186f726967696eb902015856657273696f6e65644d756c74694c6f636174696f6e00012469735f616374697665ac0110626f6f6c000100145265616479080120726573706f6e7365e907014456657273696f6e6564526573706f6e7365000108617410012c426c6f636b4e756d62657200020000dd0704184f7074696f6e04045401b9020108104e6f6e6500000010536f6d650400b9020000010000e10704184f7074696f6e04045401e5070108104e6f6e6500000010536f6d650400e5070000010000e50700000408080800e907080c78636d4456657273696f6e6564526573706f6e73650001080856320400a105013076323a3a526573706f6e736500020008563304003d02013076333a3a526573706f6e736500030000ed070000040820b90200f1070000040c10282000f5070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401f907045300000400fd0701185665633c543e0000f90700000408b9022000fd07000002f9070001080c2870616c6c65745f78636d1870616c6c65745456657273696f6e4d6967726174696f6e53746167650001105c4d696772617465537570706f7274656456657273696f6e0000005c4d69677261746556657273696f6e4e6f74696669657273000100504e6f7469667943757272656e745461726765747304000508013c4f7074696f6e3c5665633c75383e3e000200684d696772617465416e644e6f746966794f6c645461726765747300030000050804184f7074696f6e04045401340108104e6f6e6500000010536f6d65040034000001000009080000040c20000d08000d08080c78636d4056657273696f6e65644173736574496400010408563304002d02012c76333a3a417373657449640003000011080c2870616c6c65745f78636d1870616c6c65746852656d6f74654c6f636b656446756e6769626c655265636f72640848436f6e73756d65724964656e746966696572013902304d6178436f6e73756d6572730000100118616d6f756e74180110753132380001146f776e6572b902015856657273696f6e65644d756c74694c6f636174696f6e0001186c6f636b6572b902015856657273696f6e65644d756c74694c6f636174696f6e000124636f6e73756d657273150801d0426f756e6465645665633c28436f6e73756d65724964656e7469666965722c2075313238292c204d6178436f6e73756d6572733e000015080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540119080453000004001d0801185665633c543e0000190800000408390218001d0800000219080021080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012508045300000400290801185665633c543e000025080000040818b9020029080000022508002d080c2870616c6c65745f78636d1870616c6c6574144572726f720404540001502c556e726561636861626c650000085d0154686520646573697265642064657374696e6174696f6e2077617320756e726561636861626c652c2067656e6572616c6c7920626563617573652074686572652069732061206e6f20776179206f6620726f7574696e6718746f2069742e2c53656e644661696c757265000108610154686572652077617320736f6d65206f746865722069737375652028692e652e206e6f7420746f20646f207769746820726f7574696e672920696e2073656e64696e6720746865206d6573736167652e2050657268617073a861206c61636b206f6620737061636520666f7220627566666572696e6720746865206d6573736167652e2046696c74657265640002049c546865206d65737361676520657865637574696f6e206661696c73207468652066696c7465722e48556e776569676861626c654d657373616765000304b4546865206d65737361676527732077656967687420636f756c64206e6f742062652064657465726d696e65642e6044657374696e6174696f6e4e6f74496e7665727469626c65000404f05468652064657374696e6174696f6e20604d756c74694c6f636174696f6e602070726f76696465642063616e6e6f7420626520696e7665727465642e14456d707479000504805468652061737365747320746f2062652073656e742061726520656d7074792e3843616e6e6f745265616e63686f720006043501436f756c64206e6f742072652d616e63686f72207468652061737365747320746f206465636c61726520746865206665657320666f72207468652064657374696e6174696f6e20636861696e2e34546f6f4d616e79417373657473000704c4546f6f206d616e79206173736574732068617665206265656e20617474656d7074656420666f72207472616e736665722e34496e76616c69644f726967696e000804784f726967696e20697320696e76616c696420666f722073656e64696e672e2842616456657273696f6e00090421015468652076657273696f6e206f6620746865206056657273696f6e6564602076616c75652075736564206973206e6f742061626c6520746f20626520696e7465727072657465642e2c4261644c6f636174696f6e000a08410154686520676976656e206c6f636174696f6e20636f756c64206e6f7420626520757365642028652e672e20626563617573652069742063616e6e6f742062652065787072657373656420696e2074686560646573697265642076657273696f6e206f662058434d292e384e6f537562736372697074696f6e000b04bc546865207265666572656e63656420737562736372697074696f6e20636f756c64206e6f7420626520666f756e642e44416c726561647953756273637269626564000c041101546865206c6f636174696f6e20697320696e76616c69642073696e636520697420616c726561647920686173206120737562736372697074696f6e2066726f6d2075732e30496e76616c69644173736574000d0480496e76616c696420617373657420666f7220746865206f7065726174696f6e2e284c6f7742616c616e6365000e044101546865206f776e657220646f6573206e6f74206f776e2028616c6c29206f662074686520617373657420746861742074686579207769736820746f20646f20746865206f7065726174696f6e206f6e2e30546f6f4d616e794c6f636b73000f04c0546865206173736574206f776e65722068617320746f6f206d616e79206c6f636b73206f6e207468652061737365742e4c4163636f756e744e6f74536f7665726569676e001004310154686520676976656e206163636f756e74206973206e6f7420616e206964656e7469666961626c6520736f7665726569676e206163636f756e7420666f7220616e79206c6f636174696f6e2e28466565734e6f744d65740011042901546865206f7065726174696f6e207265717569726564206665657320746f20626520706169642077686963682074686520696e69746961746f7220636f756c64206e6f74206d6565742e304c6f636b4e6f74466f756e64001204f4412072656d6f7465206c6f636b20776974682074686520636f72726573706f6e64696e67206461746120636f756c64206e6f7420626520666f756e642e14496e557365001304490154686520756e6c6f636b206f7065726174696f6e2063616e6e6f742073756363656564206265636175736520746865726520617265207374696c6c20636f6e73756d657273206f6620746865206c6f636b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e31080c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144572726f72040454000100048054686520604572726f726020656e756d206f6620746869732070616c6c65742e3508086063756d756c75735f70616c6c65745f646d705f717565756528436f6e6669674461746100000401386d61785f696e646976696475616c28011857656967687400003908086063756d756c75735f70616c6c65745f646d705f71756575653450616765496e6465784461746100000c0128626567696e5f7573656420012c50616765436f756e746572000120656e645f7573656420012c50616765436f756e7465720001406f7665727765696768745f636f756e7410013c4f766572776569676874496e64657800003d0800000241080041080000040820340045080c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144572726f720404540001081c556e6b6e6f776e0000048c546865206d65737361676520696e64657820676976656e20697320756e6b6e6f776e2e244f7665724c696d6974000104310154686520616d6f756e74206f662077656967687420676976656e20697320706f737369626c79206e6f7420656e6f75676820666f7220657865637574696e6720746865206d6573736167652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e4908102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c416464726573730121031043616c6c012504245369676e6174757265013105144578747261014d08000400340000004d08000004205108550859085d08610869086d08710800510810306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000550810306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000590810306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e040454000000005d0810306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000610810306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c697479040454000004006508010c45726100006508102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000690810306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e6365040454000004002c0120543a3a4e6f6e636500006d0810306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b576569676874040454000000007108086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e74040454000004000902013042616c616e63654f663c543e0000981853797374656d011853797374656d401c4163636f756e7401010402000c510100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e74000020040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010024180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e000020040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b486173680101040510308000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101040520340400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010010200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801003080000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010038040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004804001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e74010020100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101040230c9020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e005901205468652076616c756520686173207468652074797065206028426c6f636b4e756d626572466f723c543e2c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000cd0204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100ac0400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100ac0400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e50686173650000c502040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01d50201541830426c6f636b57656967687473e5026d01025b1f5d00070088526a7402004001c2a0a91d000107d00918a44b0200d000010700e6bd4f570200f000010000c2a0a91d000107d0abacbe680200200101070088526a7402004001010700a2941a1d02005000c2a0a91d0000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e677468f5023000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7410206009000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e204462576569676874fd0240089d26020000000000dce704000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6e01036103386b696c742d7370697269746e6574386b696c742d7370697269746e657401000000ca2b00000000000038df6acb689907609b0400000037e397fc7c91f5e402000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab5270590300000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d69620200000026609555c065660302000000a47b7d544994c99b0100000045bfba51a310b2230100000008000000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978e008260014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e011103002454696d657374616d70012454696d657374616d70080c4e6f7701001020000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100ac040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f0115030004344d696e696d756d506572696f6410207017000000000000104d0120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a5d0120706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c5d012067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c206265a020646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e00021c496e6469636573011c496e646963657304204163636f756e7473000104021019030400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e011d030178041c4465706f736974184000b47cf328350000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e012903052042616c616e636573012042616c616e6365731c34546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b7301010402002d03040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20526573657276657301010402003d03040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e14486f6c6473010104020049030400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a6573010104020071030400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e018503017c14484578697374656e7469616c4465706f736974184000a0724e18090000000000000000000020410120546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d5553542042452047524541544552205448414e205a45524f2100590120496620796f75202a7265616c6c792a206e65656420697420746f206265207a65726f2c20796f752063616e20656e61626c652074686520666561747572652060696e7365637572655f7a65726f5f65646020666f72610120746869732070616c6c65742e20486f77657665722c20796f7520646f20736f20617420796f7572206f776e207269736b3a20746869732077696c6c206f70656e2075702061206d616a6f7220446f5320766563746f722e590120496e206361736520796f752068617665206d756c7469706c6520736f7572636573206f662070726f7669646572207265666572656e6365732c20796f75206d617920616c736f2067657420756e65787065637465648c206265686176696f757220696620796f7520736574207468697320746f207a65726f2e00f020426f74746f6d206c696e653a20446f20796f757273656c662061206661766f757220616e64206d616b65206974206174206c65617374206f6e6521204d61784c6f636b7320103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d61785265736572766573201032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e204d6178486f6c647320103200000004190120546865206d6178696d756d206e756d626572206f6620686f6c647320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e284d6178467265657a657320103200000004610120546865206d6178696d756d206e756d626572206f6620696e646976696475616c20667265657a65206c6f636b7320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e01890306485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c69657201008d0340000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100910304000000018404604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e00071041757261011041757261082c417574686f726974696573010095030400046c205468652063757272656e7420617574686f72697479207365742e2c43757272656e74536c6f740100a5032000000000000000000c80205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e009420546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e00000000171c53657373696f6e011c53657373696f6e1c2856616c696461746f72730100b9010400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e646578010020100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100ac040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100a9030400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100b5030400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b6579730001040500b1030400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405b90300040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e01c10301880001c503164050617261636861696e5374616b696e67014050617261636861696e5374616b696e6740544d617853656c656374656443616e64696461746573010020100000000004090120546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c6563746564206174206561636820726f756e642e14526f756e640100c90350000000000000000000000000140000000000000004e82043757272656e7420726f756e64206e756d62657220616e64206e65787420726f756e64207363686564756c6564207472616e736974696f6e2e384c61737444656c65676174696f6e0101040500cd03200000000000000000140d012044656c65676174696f6e20696e666f726d6174696f6e20666f7220746865206c61746573742073657373696f6e20696e20776869636820612064656c656761746f722c2064656c6567617465642e000501204974206d6170732066726f6d20616e206163636f756e7420746f20746865206e756d626572206f662064656c65676174696f6e7320696e20746865206c617374982073657373696f6e20696e2077686963682074686579202872652d2964656c6567617465642e3844656c656761746f7253746174650001040500d10304000c802044656c65676174696f6e207374616b696e6720696e666f726d6174696f6e2e00cc204974206d6170732066726f6d20616e206163636f756e7420746f206974732064656c65676174696f6e2064657461696c732e3443616e646964617465506f6f6c0001040500d503040010a420546865207374616b696e6720696e666f726d6174696f6e20666f7220612063616e6469646174652e00b0204974206d6170732066726f6d20616e206163636f756e7420746f2069747320696e666f726d6174696f6e2eb8204d6f72656f7665722c20697420636f756e747320746865206e756d626572206f662063616e646964617465732e5c436f756e746572466f7243616e646964617465506f6f6c010020100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617048546f74616c436f6c6c61746f725374616b650100e90380000000000000000000000000000000000000000000000000000000000000000014f420546f74616c2066756e6473206c6f636b656420746f206261636b207468652063757272656e746c792073656c656374656420636f6c6c61746f72732ed0205468652073756d206f6620616c6c20636f6c6c61746f7220616e642074686569722064656c656761746f72207374616b65732e002101204e6f74653a20546865726520617265206d6f72652066756e6473206c6f636b656420627920746869732070616c6c65742c2073696e636520746865206261636b696e6720666f720901206e6f6e20636f6c6c6174696e672063616e64696461746573206973206e6f7420696e636c7564656420696e2060546f74616c436f6c6c61746f725374616b65602e34546f7043616e646964617465730100ed03040028e82054686520636f6c6c61746f722063616e64696461746573207769746820746865206869676865737420616d6f756e74206f66207374616b652e00190120456163682074696d6520746865207374616b65206f66206120636f6c6c61746f7220697320696e637265617365642c20697420697320636865636b65642077686574686572050120746869732070757368657320616e6f746865722063616e646964617465206f7574206f6620746865206c6973742e205768656e20746865207374616b652069732101207265647563656420686f77657665722c206974206973206e6f7420636865636b656420696620616e6f746865722063616e64696461746520686173206d6f7265207374616b652c11012073696e6365207468697320776f756c64207265717569726520697465726174696e67206f7665722074686520656e74697265206043616e646964617465506f6f6c602e001501205468657265206d75737420616c77617973206265206d6f72652063616e64696461746573207468616e20604d617853656c656374656443616e646964617465736020736f0d012074686174206120636f6c6c61746f722063616e2064726f70206f7574206f662074686520636f6c6c61746f7220736574206279207265647563696e672074686569721c207374616b652e3c496e666c6174696f6e436f6e6669670100f503c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046420496e666c6174696f6e20636f6e66696775726174696f6e2e24556e7374616b696e670101040500010404001088205468652066756e64732077616974696e6720746f20626520756e7374616b65642e001d01204974206d6170732066726f6d206163636f756e747320746f20616c6c207468652066756e64732061646472657373656420746f207468656d20696e20746865206675747572652020626c6f636b732e644d6178436f6c6c61746f7243616e6469646174655374616b65010018400000000000000000000000000000000004cc20546865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e6469646174652063616e207374616b652e4c4c617374526577617264526564756374696f6e010010200000000000000000140d0120546865207965617220696e20776869636820746865206c617374206175746f6d6174696320726564756374696f6e206f66207468652072657761726420726174657328206f636375727265642e00250120497420737461727473206174207a65726f2061742067656e6573697320616e6420696e6372656d656e7473206279206f6e6520657665727920424c4f434b535f5045525f5945415234206d616e7920626c6f636b732e38426c6f636b73417574686f726564010104050010200000000000000000080d0120546865206e756d626572206f6620617574686f72656420626c6f636b7320666f7220636f6c6c61746f72732e20497420697320757064617465642076696120746865b020606e6f74655f617574686f726020686f6f6b207768656e20617574686f72696e67206120626c6f636b202e38426c6f636b73526577617264656401010405001020000000000000000024210120546865206e756d626572206f6620626c6f636b7320666f7220776869636820726577617264732068617665206265656e20636c61696d656420627920616e20616464726573732e00190120466f7220636f6c6c61746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f7265642e2049742069732075706461746564207768656ecc20696e6372656d656e74696e6720636f6c6c61746f7220726577617264732c20656974686572207768656e2063616c6c696e67e02060696e635f636f6c6c61746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e00250120466f722064656c656761746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f726564206f662074686520636f6c6c61746f722e497420697305012075706461746564207768656e20696e6372656d656e74696e672064656c656761746f7220726577617264732c20656974686572207768656e2063616c6c696e67e42060696e635f64656c656761746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e1c5265776172647301010405001840000000000000000000000000000000000c01012054686520616363756d756c61746564207265776172647320666f7220636f6c6c61746f722063616e6469646174657320616e642064656c656761746f72732e001101204974206d6170732066726f6d206163636f756e747320746f20746865697220746f74616c20726577617264732073696e636520746865206c617374207061796f75742e34466f7263654e6577526f756e640100ac040000011104018c3c444d696e426c6f636b73506572526f756e6410202c0100000000000004d4204d696e696d756d206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e64732063616e206c6173742e5444656661756c74426c6f636b73506572526f756e641020580200000000000008fc2044656661756c74206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e6473206c6173742c2061732073657420696e207468655c2067656e6573697320636f6e66696775726174696f6e2e345374616b654475726174696f6e1020e0c40000000000000c0501204e756d626572206f6620626c6f636b7320666f7220776869636820756e7374616b65642062616c616e63652077696c6c207374696c6c206265206c6f636b6564f0206265666f72652069742063616e20626520756e6c6f636b6564206279206163746976656c792063616c6c696e67207468652065787472696e7369634c2060756e6c6f636b5f756e7374616b6564602e3845786974517565756544656c6179201002000000080901204e756d626572206f6620726f756e6473206120636f6c6c61746f722068617320746f207374617920616374697665206166746572207375626d697474696e672061c4207265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e304d696e436f6c6c61746f7273201010000000080d01204d696e696d756d206e756d626572206f6620636f6c6c61746f72732073656c65637465642066726f6d2074686520736574206f662063616e64696461746573206174602065766572792076616c69646174696f6e20726f756e642e504d696e5265717569726564436f6c6c61746f7273201004000000081101204d696e696d756d206e756d626572206f6620636f6c6c61746f72732077686963682063616e6e6f74206c6561766520746865206e6574776f726b2069662074686572653c20617265206e6f206f74686572732e584d617844656c65676174696f6e73506572526f756e64201001000000140101204d6178696d756d206e756d626572206f662064656c65676174696f6e732077686963682063616e206265206d6164652077697468696e207468652073616d651c20726f756e642e000d01204e4f54453a20546f2070726576656e742072652d64656c65676174696f6e2d7265776172642061747461636b732c2077652073686f756c64206b65657020746869732c20746f206265206f6e652e604d617844656c656761746f7273506572436f6c6c61746f7220102300000004e4204d6178696d756d206e756d626572206f662064656c656761746f727320612073696e676c6520636f6c6c61746f722063616e20686176652e404d6178546f7043616e6469646174657320104b00000004a0204d6178696d756d2073697a65206f662074686520746f702063616e64696461746573207365742e404d696e436f6c6c61746f725374616b6518400000e8890423c78a0000000000000000080901204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520656c65637465642061732076616c696461746f723420666f72206120726f756e642e644d696e436f6c6c61746f7243616e6469646174655374616b6518400000e8890423c78a0000000000000000080501204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520616464656420746f2074686520736574206f66302063616e646964617465732e444d696e44656c656761746f725374616b651840000082dfe40d4700000000000000000004f8204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f206265636f6d6520612064656c656761746f722e484d6178556e7374616b65526571756573747320100a00000028e8204d6178206e756d626572206f6620636f6e63757272656e742061637469766520756e7374616b696e67207265717565737473206265666f72652c20756e6c6f636b696e672e001501204e4f54453a20546f2070726f7465637420616761696e737420697272656d6f766162696c697479206f6620612063616e646964617465206f722064656c656761746f722cf4207765206f6e6c7920616c6c6f7720666f72204d6178556e7374616b655265717565737473202d2031206d616e79206d616e75616c20756e7374616b6501012072657175657374732e20546865206c617374206f6e6520736572766573206173206120706c616365686f6c64657220666f7220746865206361736573206f66f02063616c6c696e672065697468657220606b69636b5f64656c656761746f72602c20666f7263655f72656d6f76655f63616e64696461746560206f7209012060657865637574655f6c656176655f63616e64696461746573602e204f74686572776973652c2061207573657220636f756c64206d6178206f75742074686569720d0120756e7374616b6520726571756573747320616e642070726576656e74207468656d73656c7665732066726f6d206265696e67206b69636b65642066726f6d20746865f020736574206f662063616e646964617465732f64656c656761746f727320756e74696c207468657920756e6c6f636b2074686569722066756e64732e484e6574776f726b5265776172645374617274102048a3c800000000000c110120546865207374617274696e6720626c6f636b206e756d62657220666f7220746865206e6574776f726b20726577617264732e204f6e6365207468652063757272656e74090120626c6f636b206e756d626572206578636565647320746869732073746172742c207468652062656e65666963696172792077696c6c2072656365697665207468658420636f6e666967757265642072657761726420696e206561636820626c6f636b2e444e6574776f726b52657761726452617465902000008a5d784563010c0d0120546865207261746520696e2070657263656e7420666f7220746865206e6574776f726b207265776172647320776869636820617265206261736564206f6e207468650901206d6178696d756d206e756d626572206f6620636f6c6c61746f727320616e6420746865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e1c207374616b652e0115041528417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e00000000141c41757261457874011c41757261457874042c417574686f72697469657301009503040014942053657276657320617320636163686520666f722074686520617574686f7269746965732e0071012054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c790120627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973f0206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e00000000182444656d6f6372616379012444656d6f6372616379303c5075626c696350726f70436f756e74010020100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301001904040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f660001040520e90504000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e74010020100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b6564010020100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f660001040520f10504000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f660101040500fd05e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100ac0400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00001506040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001040630190604000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101040630ac0400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e284d657461646174614f6600010402a430040018ec2047656e6572616c20696e666f726d6174696f6e20636f6e6365726e696e6720616e792070726f706f73616c206f72207265666572656e64756d2e6901205468652060507265696d61676548617368602072656665727320746f2074686520707265696d616765206f66207468652060507265696d61676573602070726f76696465722077686963682063616e2062652061204a534f4e882064756d70206f7220495046532068617368206f662061204a534f4e2066696c652e00750120436f6e73696465722061206761726261676520636f6c6c656374696f6e20666f722061206d65746164617461206f662066696e6973686564207265666572656e64756d7320746f2060756e7265717565737460202872656d6f76652944206c6172676520707265696d616765732e0129040194303c456e6163746d656e74506572696f641020201c00000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f641020e0c400000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f641020e0c400000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f641020e0c4000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400080c6a47e8d0300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f776564ac04010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f641020840300000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f641020e0c400000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f74657320106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c73201064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f73697473201064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c697374656420106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e011d061e1c436f756e63696c011c436f756e63696c182450726f706f73616c7301002106040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f6600010406302504040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700010406302506040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e74010020100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100b9010400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01390401a804444d617850726f706f73616c576569676874282807004429353a0200a00004250120546865206d6178696d756d20776569676874206f6620612064697370617463682063616c6c20746861742063616e2062652070726f706f73656420616e642065786563757465642e0129061f48546563686e6963616c436f6d6d69747465650148546563686e6963616c436f6d6d6974746565182450726f706f73616c7301002d06040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f6600010406302504040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700010406302506040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e74010020100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100b9010400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01410401b804444d617850726f706f73616c576569676874282807004429353a0200a00004250120546865206d6178696d756d20776569676874206f6620612064697370617463682063616c6c20746861742063616e2062652070726f706f73656420616e642065786563757465642e013106204c546563686e6963616c4d656d62657273686970014c546563686e6963616c4d656d62657273686970081c4d656d6265727301003506040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01450401bc000139062220547265617375727901205472656173757279103450726f706f73616c436f756e74010020100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c7300010405203d060400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c7301004106040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e01490401c01c3050726f706f73616c426f6e6445061050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d1840000082dfe40d47000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756d49060400044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f641020c0a8000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e450610000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c657449644d06206b696c742f7473790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c732010640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e015106231c5574696c69747900014d0401c4044c626174636865645f63616c6c735f6c696d69742010aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e015506281c56657374696e67011c56657374696e67081c56657374696e6700010402005906040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100610604000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e01750401c808444d696e5665737465645472616e73666572184000407a10f35a0000000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c657320101c0000000001650629245363686564756c657201245363686564756c65720c3c496e636f6d706c65746553696e6365000010040000184167656e6461010104051069060400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001040504d0040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e017d0401cc08344d6178696d756d57656967687428280700a0db215d0200000104290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b201032000000141d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e0018204e4f54453a5101202b20446570656e64656e742070616c6c657473272062656e63686d61726b73206d696768742072657175697265206120686967686572206c696d697420666f72207468652073657474696e672e205365742061c420686967686572206c696d697420756e646572206072756e74696d652d62656e63686d61726b736020666561747572652e0179062a1450726f7879011450726f7879081c50726f7869657301010405007d064400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e747301010405008d0644000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01850401d8184050726f78794465706f7369744261736518400020f7a54b330000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f72184000f4a92b80010000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f7869657320100a00000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e6720100a00000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518400020f7a54b330000000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000e8535700030000000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e019d062b20507265696d6167650120507265696d6167650824537461747573466f720001040630a1060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f7200010406ad06b106040000018d0401e40001b5062c38546970734d656d626572736869700138546970734d656d62657273686970081c4d656d626572730100b906040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01910401e80001bd062d10546970730110546970730810546970730001040530c10604000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e7300010406303404000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01950401ec144c4d6178696d756d526561736f6e4c656e6774682010004000000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756548446174614465706f73697450657242797465184000743ba40b00000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e30546970436f756e74646f776e1020201c0000000000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e64657273466565cd060400043501205468652070657263656e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f73697442617365184000f45628fa320000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e01d1062e204d756c746973696701204d756c746973696704244d756c7469736967730001080502d506d906040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e01990401f00c2c4465706f73697442617365184000801b84ee320000000000000000000018590120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f842073746f726520612064697370617463682063616c6c20666f72206c617465722e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069733101206034202b2073697a656f662828426c6f636b4e756d6265722c2042616c616e63652c204163636f756e74496429296020627974657320616e642077686f7365206b65792073697a652069738020603332202b2073697a656f66284163636f756e74496429602062797465732e344465706f736974466163746f72184000743ba40b00000000000000000000000c55012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e00250120546869732069732068656c6420666f7220616464696e67203332206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e384d61785369676e61746f7269657320104000000004ec20546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420696e20746865206d756c74697369672e01e1062f1443747970650114437479706504184374797065730001040230e50604001060204354797065732073746f726564206f6e20636861696e2e001901204974206d6170732066726f6d2061204354797065206861736820746f206974732063726561746f7220616e6420626c6f636b206e756d62657220696e207768696368206974342077617320637265617465642e01a10401f80001e9063d2c4174746573746174696f6e012c4174746573746174696f6e08304174746573746174696f6e730001040230ed0604000c78204174746573746174696f6e732073746f726564206f6e20636861696e2e00cc204974206d6170732066726f6d206120636c61696d206861736820746f207468652066756c6c206174746573746174696f6e2e5045787465726e616c4174746573746174696f6e730101080502f506ac04000ca02044656c656761746564206174746573746174696f6e732073746f726564206f6e20636861696e2e00e8204974206d6170732066726f6d20612064656c65676174696f6e20494420746f206120766563746f72206f6620636c61696d206861736865732e01a50401fc081c4465706f7369741840001cc9dd006e0000000000000000000004e420546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720616e206174746573746174696f6e2e604d617844656c6567617465644174746573746174696f6e732010e803000008090120546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732077686963682063616e206265206d61646520627954207468652073616d652064656c65676174696f6e2e01f9063e2844656c65676174696f6e012844656c65676174696f6e083c44656c65676174696f6e4e6f6465730001040230fd0604000c882044656c65676174696f6e206e6f6465732073746f726564206f6e20636861696e2e00b0204974206d6170732066726f6d2061206e6f646520494420746f20746865206e6f64652064657461696c732e5444656c65676174696f6e48696572617263686965730001040230110704000ca02044656c65676174696f6e2068696572617263686965732073746f726564206f6e20636861696e2e00dc204974206d61707320666f7220612028726f6f7429206e6f646520494420746f20746865206869657261726368792064657461696c732e01b504010901181c4465706f73697418400080c6a47e8d0300000000000000000004dc20546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720612064656c65676174696f6e2e584d61785369676e6174757265427974654c656e677468e008400000384d61785265766f636174696f6e73201005000000047c204d6178696d756d206e756d626572206f66207265766f636174696f6e732e2c4d617852656d6f76616c7320100500000004f4204d6178696d756d206e756d626572206f662072656d6f76616c732e2053686f756c642062652073616d65206173204d61785265766f636174696f6e733c4d6178506172656e74436865636b73201005000000080d01204d6178696d756d206e756d626572206f6620757077617264732074726176657273616c73206f66207468652064656c65676174696f6e20747265652066726f6d2061f0206e6f646520746f2074686520726f6f7420616e64207468757320746865206465707468206f66207468652064656c65676174696f6e20747265652e2c4d61784368696c6472656e2010e80300000c0d01204d6178696d756d206e756d626572206f6620616c6c206368696c6472656e20666f7220612064656c65676174696f6e206e6f64652e20466f7220612062696e617279fc20747265652c20746869732073686f756c6420626520747769636520746865206d6178696d756d206465707468206f662074686520747265652c20692e652e5c206032205e204d6178506172656e74436865636b73602e0115073f0c446964010c446964100c4469640001040200190704000c5820444944732073746f726564206f6e20636861696e2e00c8204974206d6170732066726f6d206120444944206964656e74696669657220746f20746865204449442064657461696c732e4053657276696365456e64706f696e747300010805023907dd0404000ca0205365727669636520656e64706f696e7473206173736f636961746564207769746820444944732e000901204974206d6170732066726f6d2028444944206964656e7469666965722c20736572766963652049442920746f2074686520736572766963652064657461696c732e44446964456e64706f696e7473436f756e7401010402002010000000000cac20436f756e746572206f66207365727669636520656e64706f696e747320666f722065616368204449442e00cc204974206d6170732066726f6d2028444944206964656e7469666965722920746f20612033322d62697420636f756e7465722e30446964426c61636b6c6973740001040200b40400141d012054686520736574206f66204449447320746861742068617665206265656e2064656c6574656420616e642063616e6e6f74207468657265666f726520626520637265617465647020616761696e20666f7220736563757269747920726561736f6e732e002101204974206d6170732066726f6d206120444944206964656e74696669657220746f206120756e6974207475706c652c20666f72207468652073616b65206f6620747261636b696e674420444944206964656e746966696572732e01d104011101382c426173654465706f736974184000008d49fd1a07000000000000000000100d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974f820746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f73697473fc20696e6372656173652062792074686520616d6f756e74206f662075736564206b65797320616e64207365727669636520656e64706f696e74732e20546865c8206465706f7369742063616e206265207265636c61696d6564207768656e20746865204449442069732064656c657465642e5853657276696365456e64706f696e744465706f736974184000b0156a084a00000000000000000000100d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368207365727669636520656e64706f696e7409012061732061206465706f73697420746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e205468651501206465706f7369742063616e206265207265636c61696d6564207768656e20746865207365727669636520656e64706f696e742069732072656d6f766564206f722074686534204449442064656c657465642e284b65794465706f736974184000dc20749701000000000000000000000805012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368206164646564206b65792061732061e4206465706f73697420746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e0c466565184000203d88792d000000000000000000000c09012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f7220656163682044494420617320612066656520746f0d0120696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206665652077696c6c206e6f74206765748820726566756e646564207768656e20746865204449442069732064656c657465642e4c4d61785075626c69634b6579735065724469642010140000000c1101204d6178696d756d206e756d626572206f6620746f74616c207075626c6963206b6579732077686963682063616e2062652073746f7265642070657220444944206b6579d8206964656e7469666965722e205468697320696e636c7564657320746865206f6e65732063757272656e746c79207573656420666f72f02061757468656e7469636174696f6e2c206b65792061677265656d656e742c206174746573746174696f6e2c20616e642064656c65676174696f6e2e584d61784e65774b657941677265656d656e744b65797320100a000000081501204d6178696d756d206e756d626572206f66206b65792061677265656d656e74206b65797320746861742063616e20626520616464656420696e2061206372656174696f6e2c206f7065726174696f6e2e604d6178546f74616c4b657941677265656d656e744b657973201013000000101101204d6178696d756d206e756d626572206f6620746f74616c206b65792061677265656d656e74206b65797320746861742063616e2062652073746f72656420666f7220613420444944207375626a6563742e00c42053686f756c642062652067726561746572207468616e20604d61784e65774b657941677265656d656e744b657973602e4c4d6178426c6f636b73547856616c696469747910202c0100000000000008ec20546865206d6178696d756d206e756d626572206f6620626c6f636b732061204449442d617574686f72697a6564206f7065726174696f6e2069739420636f6e736964657265642076616c696420616674657220697473206372656174696f6e2e644d61784e756d6265724f66536572766963657350657244696420101900000004fc20546865206d6178696d756d206e756d626572206f6620736572766963657320746861742063616e2062652073746f72656420756e6465722061204449442e484d61785365727669636549644c656e677468201032000000049020546865206d6178696d756d206c656e677468206f66206120736572766963652049442e504d617853657276696365547970654c656e67746820103200000004c820546865206d6178696d756d206c656e677468206f66206120736572766963652074797065206465736372697074696f6e2e684d61784e756d6265724f6654797065735065725365727669636520100100000004090120546865206d6178696d756d206e756d626572206f662061207479706573206465736372697074696f6e20666f722061207365727669636520656e64706f696e742e4c4d61785365727669636555726c4c656e6774682010c8000000049420546865206d6178696d756d206c656e677468206f66206120736572766963652055524c2e644d61784e756d6265724f6655726c735065725365727669636520100200000004d420546865206d6178696d756d206e756d626572206f6620612055524c7320666f722061207365727669636520656e64706f696e742e013d074024496e666c6174696f6e000000084c496e697469616c506572696f644c656e677468102048a3c800000000000c050120546865206c656e677468206f662074686520696e697469616c20706572696f6420696e2077686963682074686520636f6e7374616e74207265776172642069731101206d696e7465642e204f6e6365207468652063757272656e7420626c6f636b206578636565647320746869732c207265776172647320617265206e6f206675727468657220206973737565642e4c496e697469616c506572696f64526577617264184036f539fdaeb30200000000000000000008fc2054686520616d6f756e74206f66206e65776c792069737375656420746f6b656e732070657220626c6f636b20647572696e672074686520696e697469616c2020706572696f642e0042244469644c6f6f6b757001244469644c6f6f6b75700834436f6e6e6563746564446964730001040219014107040004a8204d617070696e672066726f6d206163636f756e74206964656e7469666965727320746f20444944732e44436f6e6e65637465644163636f756e747300010802024507b404000cbc204d617070696e672066726f6d2028444944202b206163636f756e74206964656e74696669657229202d3e2028292e0d012054686520656d707479207475706c65206973207573656420617320612073656e74696e656c2076616c756520746f2073696d706c7920696e64696361746520746865982070726573656e6365206f66206120676976656e207475706c6520696e20746865206d61702e012905011501041c4465706f736974184000c0afd69136000000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e0149074324576562334e616d65730124576562334e616d65730c144f776e65720001040229014d0704000488204d6170206f66206e616d65202d3e206f776e6572736869702064657461696c732e144e616d65730001040200290104000458204d6170206f66206f776e6572202d3e206e616d652e1842616e6e6564000104022901b404000c4c204d6170206f66206e616d65202d3e2028292e00e02049662061206e616d65206b65792069732070726573656e742c20746865206e616d652069732063757272656e746c792062616e6e65642e0139050125010c1c4465706f736974184000d450a85d6b0000000000000000000004bc2054686520616d6f756e74206f66204b494c5420746f206465706f73697420746f20636c61696d2061206e616d652e344d696e4e616d654c656e677468201003000000048820546865206d696e20656e636f646564206c656e677468206f662061206e616d652e344d61784e616d654c656e677468201020000000048820546865206d617820656e636f646564206c656e677468206f662061206e616d652e01510744445075626c696343726564656e7469616c7301445075626c696343726564656e7469616c73082c43726564656e7469616c730001080502d101550704000cc020546865206d6170206f66207075626c69632063726564656e7469616c7320616c72656164792061747465737465642ef0204974206d6170732066726f6d206120287375626a656374206964202b2063726564656e7469616c20696429202d3e20746865206372656174696f6e6c2064657461696c73206f66207468652063726564656e7469616c2e4843726564656e7469616c5375626a656374730001040230350104001025012041207265766572736520696e646578206d617070696e672066726f6d2063726564656e7469616c20494420746f20746865207375626a656374207468652063726564656e7469616c3c207761732069737375656420746f2e001901204974206974207573656420746f20706572666f726d20656666696369656e74206c6f6f6b7570206f662063726564656e7469616c7320676976656e2074686569722049442e013d050131010c1c4465706f7369741840005c6a51fc45000000000000000000000411012054686520616d6f756e74206f6620746f6b656e7320746f2072657365727665207768656e20617474657374696e672061207075626c69632063726564656e7469616c2e584d6178456e636f646564436c61696d734c656e6774682010a0860100040d0120546865206d6178696d756d206c656e67746820696e206279746573206f662074686520656e636f64656420636c61696d73206f6620612063726564656e7469616c2e484d61785375626a65637449644c656e67746820100c01000008e820546865206d6178696d756d206c656e67746820696e206279746573206f6620746865207261772063726564656e7469616c207375626a65637430206964656e7469666965722e01590745244d6967726174696f6e01244d6967726174696f6e04304d696772617465644b6579730001040230b4040000014d0501a10104584d61784d6967726174696f6e7350657250616c6c657420106400000004b420546865206d617820616d6f756e74206f6e206d6967726174696f6e7320666f7220656163682070616c6c6574015d07463c50617261636861696e53797374656d013c50617261636861696e53797374656d545450656e64696e6756616c69646174696f6e436f64650100340400107d0120496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e00090220417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b73705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f44455dad012077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e444e657756616c69646174696f6e436f64650000340400145d012056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e647820636f6e73657175656e746c79207468652072656c61792d636861696e2e00650120546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c7265616479207365742c207468652076616c75652e3856616c69646174696f6e446174610000590504000cd020546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e2d0120546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f7265643420696e2074686520747269652e5044696453657456616c69646174696f6e436f64650100ac040004e02057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f644c61737452656c6179436861696e426c6f636b4e756d6265720100201000000000041d01205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e60557067726164655265737472696374696f6e5369676e616c0100610704001c750120416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e610120496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365646c2063616e6469646174652077696c6c20626520696e76616c69642e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3c52656c6179537461746550726f6f6600006105040018c4205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e5852656c6576616e744d6573736167696e6753746174650000690704001c65012054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e2061732070657248207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e44486f7374436f6e66696775726174696f6e00007d070400182901205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e384c617374446d714d7163486561640100810780000000000000000000000000000000000000000000000000000000000000000010f420546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e404c61737448726d704d7163486561647301008507040010490120546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e6450726f636573736564446f776e776172644d6573736167657301002010000000000cc8204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e3448726d7057617465726d61726b01002010000000000ca02048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5048726d704f7574626f756e644d657373616765730100910704000ca42048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e385570776172644d657373616765730100e10204000cac20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5450656e64696e675570776172644d657373616765730100e102040004310120557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e84416e6e6f756e63656448726d704d6573736167657350657243616e646964617465010020100000000008650120546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f72f020616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e68526573657276656458636d705765696768744f766572726964650000280400085d01205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e645265736572766564446d705765696768744f766572726964650000280400085901205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e44417574686f72697a65645570677261646500009907040004b820546865206e65787420617574686f72697a656420757067726164652c206966207468657265206973206f6e652e60437573746f6d56616c69646174696f6e486561644461746100003404000c2901204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e00110120536565206050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f646174616020666f72206d6f726520696e666f726d6174696f6e2e01510501d90100019d07503450617261636861696e496e666f013450617261636861696e496e666f042c50617261636861696e49640100e501106400000000018505000000512458636d705175657565012458636d7051756575652844496e626f756e6458636d705374617475730100a1070400049420537461747573206f662074686520696e626f756e642058434d50206368616e6e656c732e4c496e626f756e6458636d704d657373616765730101080205b90734040004190120496e626f756e64206167677265676174652058434d50206d657373616765732e2049742063616e206f6e6c79206265206f6e6520706572205061726149642f626c6f636b2e484f7574626f756e6458636d705374617475730100bd070400185d0120546865206e6f6e2d656d7074792058434d50206368616e6e656c7320696e206f72646572206f66206265636f6d696e67206e6f6e2d656d7074792c20616e642074686520696e646578206f6620746865206669727374510120616e64206c617374206f7574626f756e64206d6573736167652e204966207468652074776f20696e64696365732061726520657175616c2c207468656e20697420696e6469636174657320616e20656d707479590120717565756520616e64207468657265206d7573742062652061206e6f6e2d604f6b6020604f7574626f756e64537461747573602e20576520617373756d65207175657565732067726f77206e6f20677265617465725901207468616e203635353335206974656d732e20517565756520696e646963657320666f72206e6f726d616c206d6573736167657320626567696e206174206f6e653b207a65726f20697320726573657276656420696e11012063617365206f6620746865206e65656420746f2073656e64206120686967682d7072696f72697479207369676e616c206d657373616765207468697320626c6f636b2e09012054686520626f6f6c20697320747275652069662074686572652069732061207369676e616c206d6573736167652077616974696e6720746f2062652073656e742e504f7574626f756e6458636d704d657373616765730101080205c90734040004bc20546865206d65737361676573206f7574626f756e6420696e206120676976656e2058434d50206368616e6e656c2e385369676e616c4d6573736167657301010402e50134040004a020416e79207369676e616c206d657373616765732077616974696e6720746f2062652073656e742e2c5175657565436f6e6669670100cd0774020000000500000001000000821a06000008000700c817a804020004000415012054686520636f6e66696775726174696f6e20776869636820636f6e74726f6c73207468652064796e616d696373206f6620746865206f7574626f756e642071756575652e284f7665727765696768740001040510d107040010050120546865206d657373616765732074686174206578636565646564206d617820696e646976696475616c206d65737361676520776569676874206275646765742e003901205468657365206d657373616765207374617920696e20746869732073746f72616765206d617020756e74696c207468657920617265206d616e75616c6c79206469737061746368656420766961582060736572766963655f6f766572776569676874602e50436f756e746572466f724f766572776569676874010020100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c4f766572776569676874436f756e7401001020000000000000000008690120546865206e756d626572206f66206f766572776569676874206d657373616765732065766572207265636f7264656420696e20604f766572776569676874602e20416c736f20646f75626c657320617320746865206e6578748420617661696c61626c652066726565206f76657277656967687420696e6465782e38517565756553757370656e6465640100ac04000441012057686574686572206f72206e6f74207468652058434d502071756575652069732073757370656e6465642066726f6d20657865637574696e6720696e636f6d696e672058434d73206f72206e6f742e01890501dd010001d507522c506f6c6b61646f7458636d012c506f6c6b61646f7458636d30305175657279436f756e746572010010200000000000000000048820546865206c617465737420617661696c61626c6520717565727920696e6465782e1c517565726965730001040210d9070400045420546865206f6e676f696e6720717565726965732e28417373657454726170730101040630201000000000106820546865206578697374696e672061737365742074726170732e007501204b65792069732074686520626c616b6532203235362068617368206f6620286f726967696e2c2076657273696f6e656420604d756c7469417373657473602920706169722e2056616c756520697320746865206e756d626572206f661d012074696d65732074686973207061697220686173206265656e20747261707065642028757375616c6c79206a75737420312069662069742065786973747320617420616c6c292e385361666558636d56657273696f6e00002004000861012044656661756c742076657273696f6e20746f20656e636f64652058434d207768656e206c61746573742076657273696f6e206f662064657374696e6174696f6e20697320756e6b6e6f776e2e20496620604e6f6e65602c3d01207468656e207468652064657374696e6174696f6e732077686f73652058434d2076657273696f6e20697320756e6b6e6f776e2061726520636f6e7369646572656420756e726561636861626c652e40537570706f7274656456657273696f6e0001080502ed0720040004f020546865204c61746573742076657273696f6e732074686174207765206b6e6f7720766172696f7573206c6f636174696f6e7320737570706f72742e4056657273696f6e4e6f746966696572730001080502ed0710040004050120416c6c206c6f636174696f6e7320746861742077652068617665207265717565737465642076657273696f6e206e6f74696669636174696f6e732066726f6d2e5056657273696f6e4e6f74696679546172676574730001080502ed07f10704000871012054686520746172676574206c6f636174696f6e73207468617420617265207375627363726962656420746f206f75722076657273696f6e206368616e6765732c2061732077656c6c20617320746865206d6f737420726563656e7494206f66206f75722076657273696f6e7320776520696e666f726d6564207468656d206f662e5456657273696f6e446973636f7665727951756575650100f50704000c65012044657374696e6174696f6e732077686f7365206c61746573742058434d2076657273696f6e20776520776f756c64206c696b6520746f206b6e6f772e204475706c696361746573206e6f7420616c6c6f7765642c20616e6471012074686520607533326020636f756e74657220697320746865206e756d626572206f662074696d6573207468617420612073656e6420746f207468652064657374696e6174696f6e20686173206265656e20617474656d707465642c8c20776869636820697320757365642061732061207072696f726974697a6174696f6e2e4043757272656e744d6967726174696f6e000001080400049c205468652063757272656e74206d6967726174696f6e27732073746167652c20696620616e792e5452656d6f74654c6f636b656446756e6769626c657300010c05020209081108040004f02046756e6769626c6520617373657473207768696368207765206b6e6f7720617265206c6f636b6564206f6e20612072656d6f746520636861696e2e3c4c6f636b656446756e6769626c657300010402002108040004e02046756e6769626c6520617373657473207768696368207765206b6e6f7720617265206c6f636b6564206f6e207468697320636861696e2e5458636d457865637574696f6e53757370656e6465640100ac040004b420476c6f62616c2073757370656e73696f6e207374617465206f66207468652058434d206578656375746f722e018d0501e90100012d08532843756d756c757358636d000001bd02000131085420446d7051756575650120446d7051756575651434436f6e66696775726174696f6e01003508280700e40b540202000400044c2054686520636f6e66696775726174696f6e2e2450616765496e646578010039084000000000000000000000000000000000044020546865207061676520696e6465782e14506167657301010402203d0804000444205468652071756575652070616765732e284f766572776569676874000104021041080400046420546865206f766572776569676874206d657373616765732e50436f756e746572466f724f766572776569676874010020100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617001e10501c10200014508554908042048436865636b4e6f6e5a65726f53656e6465725108b440436865636b5370656356657273696f6e55082038436865636b547856657273696f6e59082030436865636b47656e657369735d083038436865636b4d6f7274616c69747961083028436865636b4e6f6e63656908b42c436865636b5765696768746d08b4604368617267655472616e73616374696f6e5061796d656e747108b4a901"} \ No newline at end of file diff --git a/packages/augment-api/src/interfaces/augment-api-consts.ts b/packages/augment-api/src/interfaces/augment-api-consts.ts index 499d4e269..88b816900 100644 --- a/packages/augment-api/src/interfaces/augment-api-consts.ts +++ b/packages/augment-api/src/interfaces/augment-api-consts.ts @@ -27,9 +27,24 @@ declare module '@polkadot/api-base/types/consts' { }; balances: { /** - * The minimum amount required to keep an account open. + * The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO! + * + * If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for + * this pallet. However, you do so at your own risk: this will open up a major DoS vector. + * In case you have multiple sources of provider references, you may also get unexpected + * behaviour if you set this to zero. + * + * Bottom line: Do yourself a favour and make it at least one! **/ existentialDeposit: u128 & AugmentedConst; + /** + * The maximum number of individual freeze locks that can exist on an account at any time. + **/ + maxFreezes: u32 & AugmentedConst; + /** + * The maximum number of holds that can exist on an account at any time. + **/ + maxHolds: u32 & AugmentedConst; /** * The maximum number of locks that should exist on an account. * Not strictly enforced, but used for weight estimation. @@ -40,6 +55,12 @@ declare module '@polkadot/api-base/types/consts' { **/ maxReserves: u32 & AugmentedConst; }; + council: { + /** + * The maximum weight of a dispatch call that can be proposed and executed. + **/ + maxProposalWeight: SpWeightsWeightV2Weight & AugmentedConst; + }; delegation: { /** * The deposit that is required for storing a delegation. @@ -229,6 +250,12 @@ declare module '@polkadot/api-base/types/consts' { **/ initialPeriodReward: u128 & AugmentedConst; }; + migration: { + /** + * The max amount on migrations for each pallet + **/ + maxMigrationsPerPallet: u32 & AugmentedConst; + }; multisig: { /** * The base amount of currency needed to reserve for creating a multisig execution or to @@ -398,6 +425,10 @@ declare module '@polkadot/api-base/types/consts' { maximumWeight: SpWeightsWeightV2Weight & AugmentedConst; /** * The maximum number of scheduled calls in the queue for a single block. + * + * NOTE: + * + Dependent pallets' benchmarks might require a higher limit for the setting. Set a + * higher limit under `runtime-benchmarks` feature. **/ maxScheduledPerBlock: u32 & AugmentedConst; }; @@ -431,6 +462,12 @@ declare module '@polkadot/api-base/types/consts' { **/ version: SpVersionRuntimeVersion & AugmentedConst; }; + technicalCommittee: { + /** + * The maximum weight of a dispatch call that can be proposed and executed. + **/ + maxProposalWeight: SpWeightsWeightV2Weight & AugmentedConst; + }; timestamp: { /** * The minimum period between blocks. Beware that this is different to the *expected* diff --git a/packages/augment-api/src/interfaces/augment-api-errors.ts b/packages/augment-api/src/interfaces/augment-api-errors.ts index e61f6f75f..1e5e6e5ac 100644 --- a/packages/augment-api/src/interfaces/augment-api-errors.ts +++ b/packages/augment-api/src/interfaces/augment-api-errors.ts @@ -43,35 +43,43 @@ declare module '@polkadot/api-base/types/errors' { }; balances: { /** - * Beneficiary account must pre-exist + * Beneficiary account must pre-exist. **/ DeadAccount: AugmentedError; /** - * Value too low to create account due to existential deposit + * Value too low to create account due to existential deposit. **/ ExistentialDeposit: AugmentedError; /** - * A vesting schedule already exists for this account + * A vesting schedule already exists for this account. **/ ExistingVestingSchedule: AugmentedError; + /** + * Transfer/payment would kill account. + **/ + Expendability: AugmentedError; /** * Balance too low to send value. **/ InsufficientBalance: AugmentedError; /** - * Transfer/payment would kill account + * Account liquidity restrictions prevent withdrawal. **/ - KeepAlive: AugmentedError; + LiquidityRestrictions: AugmentedError; /** - * Account liquidity restrictions prevent withdrawal + * Number of freezes exceed `MaxFreezes`. **/ - LiquidityRestrictions: AugmentedError; + TooManyFreezes: AugmentedError; /** - * Number of named reserves exceed MaxReserves + * Number of holds exceed `MaxHolds`. + **/ + TooManyHolds: AugmentedError; + /** + * Number of named reserves exceed `MaxReserves`. **/ TooManyReserves: AugmentedError; /** - * Vesting balance too high to send value + * Vesting balance too high to send value. **/ VestingBalance: AugmentedError; }; @@ -507,6 +515,9 @@ declare module '@polkadot/api-base/types/errors' { **/ Permanent: AugmentedError; }; + migration: { + KeyParse: AugmentedError; + }; multisig: { /** * Call is already approved by this signatory. @@ -793,7 +804,7 @@ declare module '@polkadot/api-base/types/errors' { **/ Filtered: AugmentedError; /** - * The unlock operation cannot succeed because there are still users of the lock. + * The unlock operation cannot succeed because there are still consumers of the lock. **/ InUse: AugmentedError; /** diff --git a/packages/augment-api/src/interfaces/augment-api-events.ts b/packages/augment-api/src/interfaces/augment-api-events.ts index 99a192737..2acd5b245 100644 --- a/packages/augment-api/src/interfaces/augment-api-events.ts +++ b/packages/augment-api/src/interfaces/augment-api-events.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types'; import type { Bytes, Null, Option, Result, U8aFixed, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, H256, Perquintill } from '@polkadot/types/interfaces/runtime'; -import type { DelegationDelegationHierarchyPermissions, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletDidLookupLinkableAccountLinkableAccountId, PalletMultisigTimepoint, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpRuntimeDispatchError, SpWeightsWeightV2Weight, SpiritnetRuntimeProxyType, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; +import type { DelegationDelegationHierarchyPermissions, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletDidLookupLinkableAccountLinkableAccountId, PalletMigrationEntriesToMigrate, PalletMultisigTimepoint, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpRuntimeDispatchError, SpWeightsWeightV2Weight, SpiritnetRuntimeProxyType, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; export type __AugmentedEvent = AugmentedEvent; @@ -41,7 +41,11 @@ declare module '@polkadot/api-base/types/events' { /** * A balance was set by root. **/ - BalanceSet: AugmentedEvent; + BalanceSet: AugmentedEvent; + /** + * Some amount was burned from an account. + **/ + Burned: AugmentedEvent; /** * Some amount was deposited (e.g. for transaction fees). **/ @@ -55,6 +59,26 @@ declare module '@polkadot/api-base/types/events' { * An account was created with some free balance. **/ Endowed: AugmentedEvent; + /** + * Some balance was frozen. + **/ + Frozen: AugmentedEvent; + /** + * Total issuance was increased by `amount`, creating a credit to be balanced. + **/ + Issued: AugmentedEvent; + /** + * Some balance was locked. + **/ + Locked: AugmentedEvent; + /** + * Some amount was minted into an account. + **/ + Minted: AugmentedEvent; + /** + * Total issuance was decreased by `amount`, creating a debt to be balanced. + **/ + Rescinded: AugmentedEvent; /** * Some balance was reserved (moved from free to reserved). **/ @@ -64,18 +88,38 @@ declare module '@polkadot/api-base/types/events' { * Final argument indicates the destination balance type. **/ ReserveRepatriated: AugmentedEvent; + /** + * Some amount was restored into an account. + **/ + Restored: AugmentedEvent; /** * Some amount was removed from the account (e.g. for misbehavior). **/ Slashed: AugmentedEvent; + /** + * Some amount was suspended from an account (it can be restored later). + **/ + Suspended: AugmentedEvent; + /** + * Some balance was thawed. + **/ + Thawed: AugmentedEvent; /** * Transfer succeeded. **/ Transfer: AugmentedEvent; + /** + * Some balance was unlocked. + **/ + Unlocked: AugmentedEvent; /** * Some balance was unreserved (moved from reserved to free). **/ Unreserved: AugmentedEvent; + /** + * An account was upgraded. + **/ + Upgraded: AugmentedEvent; /** * Some amount was withdrawn from the account (e.g. for transaction fees). **/ @@ -294,19 +338,19 @@ declare module '@polkadot/api-base/types/events' { /** * Downward message executed with the given outcome. **/ - ExecutedDownward: AugmentedEvent; + ExecutedDownward: AugmentedEvent; /** * Downward message is invalid XCM. **/ - InvalidFormat: AugmentedEvent; + InvalidFormat: AugmentedEvent; /** - * The maximum number of downward messages was. + * The maximum number of downward messages was reached. **/ - MaxMessagesExhausted: AugmentedEvent; + MaxMessagesExhausted: AugmentedEvent; /** * Downward message is overweight and was placed in the overweight queue. **/ - OverweightEnqueued: AugmentedEvent; + OverweightEnqueued: AugmentedEvent; /** * Downward message from the overweight queue was executed. **/ @@ -314,11 +358,11 @@ declare module '@polkadot/api-base/types/events' { /** * Downward message is unsupported version of XCM. **/ - UnsupportedVersion: AugmentedEvent; + UnsupportedVersion: AugmentedEvent; /** * The weight limit for handling downward messages was reached. **/ - WeightExhausted: AugmentedEvent; + WeightExhausted: AugmentedEvent; }; indices: { /** @@ -334,6 +378,9 @@ declare module '@polkadot/api-base/types/events' { **/ IndexFrozen: AugmentedEvent; }; + migration: { + EntriesUpdated: AugmentedEvent; + }; multisig: { /** * A multisig operation has been approved by someone. @@ -505,36 +552,26 @@ declare module '@polkadot/api-base/types/events' { polkadotXcm: { /** * Some assets have been claimed from an asset trap - * - * \[ hash, origin, assets \] **/ - AssetsClaimed: AugmentedEvent; + AssetsClaimed: AugmentedEvent; /** * Some assets have been placed in an asset trap. - * - * \[ hash, origin, assets \] **/ - AssetsTrapped: AugmentedEvent; + AssetsTrapped: AugmentedEvent; /** * Execution of an XCM message was attempted. - * - * \[ outcome \] **/ - Attempted: AugmentedEvent; + Attempted: AugmentedEvent; /** * Fees were paid from a location for an operation (often for using `SendXcm`). - * - * \[ paying location, fees \] **/ - FeesPaid: AugmentedEvent; + FeesPaid: AugmentedEvent; /** * Expected query response has been received but the querier location of the response does * not match the expected. The query remains registered for a later, valid, response to * be received and acted upon. - * - * \[ origin location, id, expected querier, maybe actual querier \] **/ - InvalidQuerier: AugmentedEvent]>; + InvalidQuerier: AugmentedEvent], { origin: XcmV3MultiLocation, queryId: u64, expectedQuerier: XcmV3MultiLocation, maybeActualQuerier: Option }>; /** * Expected query response has been received but the expected querier location placed in * storage by this runtime previously cannot be decoded. The query remains registered. @@ -543,18 +580,14 @@ declare module '@polkadot/api-base/types/events' { * runtime should be readable prior to query timeout) and dangerous since the possibly * valid response will be dropped. Manual governance intervention is probably going to be * needed. - * - * \[ origin location, id \] **/ - InvalidQuerierVersion: AugmentedEvent; + InvalidQuerierVersion: AugmentedEvent; /** * Expected query response has been received but the origin location of the response does * not match that expected. The query remains registered for a later, valid, response to * be received and acted upon. - * - * \[ origin location, id, expected location \] **/ - InvalidResponder: AugmentedEvent]>; + InvalidResponder: AugmentedEvent], { origin: XcmV3MultiLocation, queryId: u64, expectedLocation: Option }>; /** * Expected query response has been received but the expected origin location placed in * storage by this runtime previously cannot be decoded. The query remains registered. @@ -563,115 +596,83 @@ declare module '@polkadot/api-base/types/events' { * runtime should be readable prior to query timeout) and dangerous since the possibly * valid response will be dropped. Manual governance intervention is probably going to be * needed. - * - * \[ origin location, id \] **/ - InvalidResponderVersion: AugmentedEvent; + InvalidResponderVersion: AugmentedEvent; /** * Query response has been received and query is removed. The registered notification has * been dispatched and executed successfully. - * - * \[ id, pallet index, call index \] **/ - Notified: AugmentedEvent; + Notified: AugmentedEvent; /** * Query response has been received and query is removed. The dispatch was unable to be * decoded into a `Call`; this might be due to dispatch function having a signature which * is not `(origin, QueryId, Response)`. - * - * \[ id, pallet index, call index \] **/ - NotifyDecodeFailed: AugmentedEvent; + NotifyDecodeFailed: AugmentedEvent; /** * Query response has been received and query is removed. There was a general error with * dispatching the notification call. - * - * \[ id, pallet index, call index \] **/ - NotifyDispatchError: AugmentedEvent; + NotifyDispatchError: AugmentedEvent; /** * Query response has been received and query is removed. The registered notification could * not be dispatched because the dispatch weight is greater than the maximum weight * originally budgeted by this runtime for the query result. - * - * \[ id, pallet index, call index, actual weight, max budgeted weight \] **/ - NotifyOverweight: AugmentedEvent; + NotifyOverweight: AugmentedEvent; /** * A given location which had a version change subscription was dropped owing to an error * migrating the location to our new XCM format. - * - * \[ location, query ID \] **/ - NotifyTargetMigrationFail: AugmentedEvent; + NotifyTargetMigrationFail: AugmentedEvent; /** * A given location which had a version change subscription was dropped owing to an error * sending the notification to it. - * - * \[ location, query ID, error \] **/ - NotifyTargetSendFail: AugmentedEvent; + NotifyTargetSendFail: AugmentedEvent; /** * Query response has been received and is ready for taking with `take_response`. There is * no registered notification call. - * - * \[ id, response \] **/ - ResponseReady: AugmentedEvent; + ResponseReady: AugmentedEvent; /** * Received query response has been read and removed. - * - * \[ id \] **/ - ResponseTaken: AugmentedEvent; + ResponseTaken: AugmentedEvent; /** * A XCM message was sent. - * - * \[ origin, destination, message \] **/ - Sent: AugmentedEvent; + Sent: AugmentedEvent; /** * The supported version of a location has been changed. This might be through an * automatic notification or a manual intervention. - * - * \[ location, XCM version \] **/ - SupportedVersionChanged: AugmentedEvent; + SupportedVersionChanged: AugmentedEvent; /** * Query response received which does not match a registered query. This may be because a * matching query was never registered, it may be because it is a duplicate response, or * because the query timed out. - * - * \[ origin location, id \] **/ - UnexpectedResponse: AugmentedEvent; + UnexpectedResponse: AugmentedEvent; /** * An XCM version change notification message has been attempted to be sent. * * The cost of sending it (borne by the chain) is included. - * - * \[ destination, result, cost \] **/ - VersionChangeNotified: AugmentedEvent; + VersionChangeNotified: AugmentedEvent; /** - * We have requested that a remote chain sends us XCM version change notifications. - * - * \[ destination location, cost \] + * We have requested that a remote chain send us XCM version change notifications. **/ - VersionNotifyRequested: AugmentedEvent; + VersionNotifyRequested: AugmentedEvent; /** * A remote has requested XCM version change notification from us and we have honored it. * A version information message is sent to them and its cost is included. - * - * \[ destination location, cost \] **/ - VersionNotifyStarted: AugmentedEvent; + VersionNotifyStarted: AugmentedEvent; /** * We have requested that a remote chain stops sending us XCM version change notifications. - * - * \[ destination location, cost \] **/ - VersionNotifyUnrequested: AugmentedEvent; + VersionNotifyUnrequested: AugmentedEvent; }; preimage: { /** @@ -998,15 +999,15 @@ declare module '@polkadot/api-base/types/events' { /** * Bad XCM format used. **/ - BadFormat: AugmentedEvent], { messageHash: Option }>; + BadFormat: AugmentedEvent; /** * Bad XCM version used. **/ - BadVersion: AugmentedEvent], { messageHash: Option }>; + BadVersion: AugmentedEvent; /** * Some XCM failed. **/ - Fail: AugmentedEvent, error: XcmV3TraitsError, weight: SpWeightsWeightV2Weight], { messageHash: Option, error: XcmV3TraitsError, weight: SpWeightsWeightV2Weight }>; + Fail: AugmentedEvent; /** * An XCM exceeded the individual message weight budget. **/ @@ -1018,11 +1019,11 @@ declare module '@polkadot/api-base/types/events' { /** * Some XCM was executed ok. **/ - Success: AugmentedEvent, weight: SpWeightsWeightV2Weight], { messageHash: Option, weight: SpWeightsWeightV2Weight }>; + Success: AugmentedEvent; /** * An HRMP message was sent to a sibling parachain. **/ - XcmpMessageSent: AugmentedEvent], { messageHash: Option }>; + XcmpMessageSent: AugmentedEvent; }; } // AugmentedEvents } // declare module diff --git a/packages/augment-api/src/interfaces/augment-api-query.ts b/packages/augment-api/src/interfaces/augment-api-query.ts index 2c3b2e9cc..e591421e8 100644 --- a/packages/augment-api/src/interfaces/augment-api-query.ts +++ b/packages/augment-api/src/interfaces/augment-api-query.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/ import type { BTreeMap, Bytes, Null, Option, U8aFixed, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec'; import type { AnyNumber, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H256 } from '@polkadot/types/interfaces/runtime'; -import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupConnectionRecord, PalletDidLookupLinkableAccountLinkableAccountId, PalletMultisigMultisig, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, SpiritnetRuntimeSessionKeys } from '@polkadot/types/lookup'; +import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesIdAmountRuntimeFreezeReason, PalletBalancesIdAmountRuntimeHoldReason, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupConnectionRecord, PalletDidLookupLinkableAccountLinkableAccountId, PalletMultisigMultisig, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV5AbridgedHostConfiguration, PolkadotPrimitivesV5PersistedValidationData, PolkadotPrimitivesV5UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, SpiritnetRuntimeSessionKeys, XcmVersionedAssetId, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; import type { Observable } from '@polkadot/types/types'; export type __AugmentedQuery = AugmentedQuery unknown>; @@ -87,6 +87,14 @@ declare module '@polkadot/api-base/types/storage' { * NOTE: This is only used in the case that this pallet is used to store balances. **/ account: AugmentedQuery Observable, [AccountId32]>; + /** + * Freeze locks on account balances. + **/ + freezes: AugmentedQuery Observable>, [AccountId32]>; + /** + * Holds on account balances. + **/ + holds: AugmentedQuery Observable>, [AccountId32]>; /** * The total units of outstanding deactivated balance in the system. **/ @@ -290,6 +298,9 @@ declare module '@polkadot/api-base/types/storage' { **/ accounts: AugmentedQuery Observable>>, [u64]>; }; + migration: { + migratedKeys: AugmentedQuery Observable>, [H256]>; + }; multisig: { /** * The set of open multisig operations. @@ -379,9 +390,9 @@ declare module '@polkadot/api-base/types/storage' { * Each time the stake of a collator is increased, it is checked whether * this pushes another candidate out of the list. When the stake is * reduced however, it is not checked if another candidate has more stake, - * since this would require iterating over the entire [CandidatePool]. + * since this would require iterating over the entire `CandidatePool`. * - * There must always be more candidates than [MaxSelectedCandidates] so + * There must always be more candidates than `MaxSelectedCandidates` so * that a collator can drop out of the collator set by reducing their * stake. **/ @@ -391,7 +402,7 @@ declare module '@polkadot/api-base/types/storage' { * The sum of all collator and their delegator stakes. * * Note: There are more funds locked by this pallet, since the backing for - * non collating candidates is not included in [TotalCollatorStake]. + * non collating candidates is not included in `TotalCollatorStake`. **/ totalCollatorStake: AugmentedQuery Observable, []>; /** @@ -415,7 +426,7 @@ declare module '@polkadot/api-base/types/storage' { /** * A custom head data that should be returned as result of `validate_block`. * - * See [`Pallet::set_custom_validation_head_data`] for more information. + * See `Pallet::set_custom_validation_head_data` for more information. **/ customValidationHeadData: AugmentedQuery Observable>, []>; /** @@ -430,7 +441,7 @@ declare module '@polkadot/api-base/types/storage' { * * This data is also absent from the genesis. **/ - hostConfiguration: AugmentedQuery Observable>, []>; + hostConfiguration: AugmentedQuery Observable>, []>; /** * HRMP messages that were sent in a block. * @@ -476,10 +487,8 @@ declare module '@polkadot/api-base/types/storage' { /** * In case of a scheduled upgrade, this storage field contains the validation code to be applied. * - * As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE] + * As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][sp_core::storage::well_known_keys::CODE] * which will result the next block process with the new validation code. This concludes the upgrade process. - * - * [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE **/ pendingValidationCode: AugmentedQuery Observable, []>; /** @@ -526,7 +535,7 @@ declare module '@polkadot/api-base/types/storage' { * relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is * set after the inherent. **/ - upgradeRestrictionSignal: AugmentedQuery Observable>, []>; + upgradeRestrictionSignal: AugmentedQuery Observable>, []>; /** * Upward messages that were sent in a block. * @@ -538,7 +547,64 @@ declare module '@polkadot/api-base/types/storage' { * This value is expected to be set only once per block and it's never stored * in the trie. **/ - validationData: AugmentedQuery Observable>, []>; + validationData: AugmentedQuery Observable>, []>; + }; + polkadotXcm: { + /** + * The existing asset traps. + * + * Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of + * times this pair has been trapped (usually just 1 if it exists at all). + **/ + assetTraps: AugmentedQuery Observable, [H256]>; + /** + * The current migration's stage, if any. + **/ + currentMigration: AugmentedQuery Observable>, []>; + /** + * Fungible assets which we know are locked on this chain. + **/ + lockedFungibles: AugmentedQuery Observable>>>, [AccountId32]>; + /** + * The ongoing queries. + **/ + queries: AugmentedQuery Observable>, [u64]>; + /** + * The latest available query index. + **/ + queryCounter: AugmentedQuery Observable, []>; + /** + * Fungible assets which we know are locked on a remote chain. + **/ + remoteLockedFungibles: AugmentedQuery Observable>, [u32, AccountId32, XcmVersionedAssetId]>; + /** + * Default version to encode XCM when latest version of destination is unknown. If `None`, + * then the destinations whose XCM version is unknown are considered unreachable. + **/ + safeXcmVersion: AugmentedQuery Observable>, []>; + /** + * The Latest versions that we know various locations support. + **/ + supportedVersion: AugmentedQuery Observable>, [u32, XcmVersionedMultiLocation]>; + /** + * Destinations whose latest XCM version we would like to know. Duplicates not allowed, and + * the `u32` counter is the number of times that a send to the destination has been attempted, + * which is used as a prioritization. + **/ + versionDiscoveryQueue: AugmentedQuery Observable>>, []>; + /** + * All locations that we have requested version notifications from. + **/ + versionNotifiers: AugmentedQuery Observable>, [u32, XcmVersionedMultiLocation]>; + /** + * The target locations that are subscribed to our version changes, as well as the most recent + * of our versions we informed them of. + **/ + versionNotifyTargets: AugmentedQuery Observable>>, [u32, XcmVersionedMultiLocation]>; + /** + * Global suspension state of the XCM executor. + **/ + xcmExecutionSuspended: AugmentedQuery Observable, []>; }; preimage: { preimageFor: AugmentedQuery | [H256 | string | Uint8Array, u32 | AnyNumber | Uint8Array]) => Observable>, [ITuple<[H256, u32]>]>; @@ -666,7 +732,7 @@ declare module '@polkadot/api-base/types/storage' { * allows light-clients to leverage the changes trie storage tracking mechanism and * in case of changes fetch the list of events of interest. * - * The value has the type `(T::BlockNumber, EventIndex)` because if we used only just + * The value has the type `(BlockNumberFor, EventIndex)` because if we used only just * the `EventIndex` then in case if the topic has the same contents on the next block * no notification will be triggered thus the event might be lost. **/ diff --git a/packages/augment-api/src/interfaces/augment-api-runtime.ts b/packages/augment-api/src/interfaces/augment-api-runtime.ts index 8dd92c730..9c5d8d675 100644 --- a/packages/augment-api/src/interfaces/augment-api-runtime.ts +++ b/packages/augment-api/src/interfaces/augment-api-runtime.ts @@ -102,12 +102,20 @@ declare module '@polkadot/api-base/types/calls' { **/ queryByWeb3Name: AugmentedCall Observable>>; }; - /** 0x37e397fc7c91f5e4/1 */ + /** 0x37e397fc7c91f5e4/2 */ metadata: { /** * Returns the metadata of a runtime **/ metadata: AugmentedCall Observable>; + /** + * Returns the metadata at a given version. + **/ + metadataAtVersion: AugmentedCall Observable>>; + /** + * Returns the supported metadata versions. + **/ + metadataVersions: AugmentedCall Observable>>; }; /** 0xf78b278be53f454c/2 */ offchainWorkerApi: { @@ -158,7 +166,7 @@ declare module '@polkadot/api-base/types/calls' { **/ validateTransaction: AugmentedCall Observable>; }; - /** 0x37c8bb1350a9a2a8/3 */ + /** 0x37c8bb1350a9a2a8/4 */ transactionPaymentApi: { /** * The transaction fee details diff --git a/packages/augment-api/src/interfaces/augment-api-tx.ts b/packages/augment-api/src/interfaces/augment-api-tx.ts index ebf3f6961..27b9bb1d4 100644 --- a/packages/augment-api/src/interfaces/augment-api-tx.ts +++ b/packages/augment-api/src/interfaces/augment-api-tx.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableE import type { Bytes, Compact, Option, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H256, MultiAddress, Perquintill } from '@polkadot/types/interfaces/runtime'; -import type { CumulusPrimitivesParachainInherentParachainInherentData, DelegationDelegationHierarchyPermissions, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidServiceEndpointsDidEndpoint, FrameSupportPreimagesBounded, PalletDemocracyConviction, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDidLookupAssociateAccountRequest, PalletDidLookupLinkableAccountLinkableAccountId, PalletMultisigTimepoint, PalletVestingVestingInfo, PublicCredentialsCredentialsCredential, RuntimeCommonAuthorizationPalletAuthorize, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeSessionKeys, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { CumulusPrimitivesParachainInherentParachainInherentData, DelegationDelegationHierarchyPermissions, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidServiceEndpointsDidEndpoint, FrameSupportPreimagesBounded, PalletDemocracyConviction, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDidLookupAssociateAccountRequest, PalletDidLookupLinkableAccountLinkableAccountId, PalletMigrationEntriesToMigrate, PalletMultisigTimepoint, PalletVestingVestingInfo, PublicCredentialsCredentialsCredential, RuntimeCommonAuthorizationPalletAuthorize, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeSessionKeys, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>; export type __SubmittableExtrinsic = SubmittableExtrinsic; @@ -19,3013 +19,929 @@ declare module '@polkadot/api-base/types/submittable' { interface AugmentedSubmittables { attestation: { /** - * Create a new attestation. - * - * The attester can optionally provide a reference to an existing - * delegation that will be saved along with the attestation itself in - * the form of an attested delegation. - * - * The referenced CType hash must already be present on chain. - * - * If an optional delegation id is provided, the dispatch origin must - * be the owner of the delegation. Otherwise, it could be any - * `DelegationEntityId`. - * - * Emits `AttestationCreated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Ctype, Attestations - * - Reads if delegation id is provided: Delegations, Roots, - * DelegatedAttestations - * - Writes: Attestations, (DelegatedAttestations) - * # + * See [`Pallet::add`]. **/ add: AugmentedSubmittable<(claimHash: H256 | string | Uint8Array, ctypeHash: H256 | string | Uint8Array, authorization: Option | null | Uint8Array | RuntimeCommonAuthorizationPalletAuthorize | { Delegation: any } | string) => SubmittableExtrinsic, [H256, H256, Option]>; /** - * Changes the deposit owner. - * - * The balance that is reserved by the current deposit owner will be - * freed and balance of the new deposit owner will get reserved. - * - * The subject of the call must be the attester who issues the - * attestation. The sender of the call will be the new deposit owner. + * See [`Pallet::change_deposit_owner`]. **/ changeDepositOwner: AugmentedSubmittable<(claimHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Reclaim a storage deposit by removing an attestation - * - * Emits `DepositReclaimed`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Attestations, DelegatedAttestations - * - Writes: Attestations, DelegatedAttestations - * # + * See [`Pallet::reclaim_deposit`]. **/ reclaimDeposit: AugmentedSubmittable<(claimHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Remove an attestation. - * - * The origin must be either the creator of the attestation or an - * entity which is an ancestor of the attester in the delegation tree, - * i.e., it was either the delegator of the attester or an ancestor - * thereof. - * - * Emits `AttestationRemoved`. - * - * # - * Weight: O(P) where P is the number of steps required to verify that - * the dispatch Origin controls the delegation entitled to revoke the - * attestation. It is bounded by `max_parent_checks`. - * - Reads: [Origin Account], Attestations, delegation::Roots - * - Reads per delegation step P: delegation::Delegations - * - Writes: Attestations, DelegatedAttestations - * # + * See [`Pallet::remove`]. **/ remove: AugmentedSubmittable<(claimHash: H256 | string | Uint8Array, authorization: Option | null | Uint8Array | RuntimeCommonAuthorizationPalletAuthorize | { Delegation: any } | string) => SubmittableExtrinsic, [H256, Option]>; /** - * Revoke an existing attestation. - * - * The revoker must be either the creator of the attestation being - * revoked or an entity that in the delegation tree is an ancestor of - * the attester, i.e., it was either the delegator of the attester or - * an ancestor thereof. - * - * Emits `AttestationRevoked`. - * - * # - * Weight: O(P) where P is the number of steps required to verify that - * the dispatch Origin controls the delegation entitled to revoke the - * attestation. It is bounded by `max_parent_checks`. - * - Reads: [Origin Account], Attestations, delegation::Roots - * - Reads per delegation step P: delegation::Delegations - * - Writes: Attestations, DelegatedAttestations - * # + * See [`Pallet::revoke`]. **/ revoke: AugmentedSubmittable<(claimHash: H256 | string | Uint8Array, authorization: Option | null | Uint8Array | RuntimeCommonAuthorizationPalletAuthorize | { Delegation: any } | string) => SubmittableExtrinsic, [H256, Option]>; /** - * Updates the deposit amount to the current deposit rate. - * - * The sender must be the deposit owner. + * See [`Pallet::update_deposit`]. **/ updateDeposit: AugmentedSubmittable<(claimHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; }; balances: { /** - * Exactly as `transfer`, except the origin must be root and the source account may be - * specified. - * ## Complexity - * - Same as transfer, but additional read and write because the source account is not - * assumed to be in the overlay. + * See [`Pallet::force_set_balance`]. + **/ + forceSetBalance: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, newFree: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Compact]>; + /** + * See [`Pallet::force_transfer`]. **/ forceTransfer: AugmentedSubmittable<(source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress, Compact]>; /** - * Unreserve some balance from a user by force. - * - * Can only be called by ROOT. + * See [`Pallet::force_unreserve`]. **/ forceUnreserve: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, u128]>; /** - * Set the balances of a given account. - * - * This will alter `FreeBalance` and `ReservedBalance` in storage. it will - * also alter the total issuance of the system (`TotalIssuance`) appropriately. - * If the new free or reserved balance is below the existential deposit, - * it will reset the account nonce (`frame_system::AccountNonce`). - * - * The dispatch origin for this call is `root`. - **/ - setBalance: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, newFree: Compact | AnyNumber | Uint8Array, newReserved: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Compact, Compact]>; - /** - * Transfer some liquid free balance to another account. - * - * `transfer` will set the `FreeBalance` of the sender and receiver. - * If the sender's account is below the existential deposit as a result - * of the transfer, the account will be reaped. - * - * The dispatch origin for this call must be `Signed` by the transactor. - * - * ## Complexity - * - Dependent on arguments but not critical, given proper implementations for input config - * types. See related functions below. - * - It contains a limited number of reads and writes internally and no complex - * computation. - * - * Related functions: - * - * - `ensure_can_withdraw` is always called internally but has a bounded complexity. - * - Transferring balances to accounts that did not exist before will cause - * `T::OnNewAccount::on_new_account` to be called. - * - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`. - * - `transfer_keep_alive` works the same way as `transfer`, but has an additional check - * that the transfer will not kill the origin account. + * See [`Pallet::set_balance_deprecated`]. + **/ + setBalanceDeprecated: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, newFree: Compact | AnyNumber | Uint8Array, oldReserved: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Compact, Compact]>; + /** + * See [`Pallet::transfer`]. **/ transfer: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Compact]>; /** - * Transfer the entire transferable balance from the caller account. - * - * NOTE: This function only attempts to transfer _transferable_ balances. This means that - * any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be - * transferred by this function. To ensure that this function results in a killed account, - * you might need to prepare the account by removing any reference counters, storage - * deposits, etc... - * - * The dispatch origin of this call must be Signed. - * - * - `dest`: The recipient of the transfer. - * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all - * of the funds the account has, causing the sender account to be killed (false), or - * transfer everything except at least the existential deposit, which will guarantee to - * keep the sender account alive (true). - * - * ## Complexity - * - O(1). Just like transfer, but reading the user's transferable balance first. + * See [`Pallet::transfer_all`]. **/ transferAll: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, keepAlive: bool | boolean | Uint8Array) => SubmittableExtrinsic, [MultiAddress, bool]>; /** - * Same as the [`transfer`] call, but with a check that the transfer will not kill the - * origin account. - * - * 99% of the time you want [`transfer`] instead. - * - * [`transfer`]: struct.Pallet.html#method.transfer + * See [`Pallet::transfer_allow_death`]. + **/ + transferAllowDeath: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Compact]>; + /** + * See [`Pallet::transfer_keep_alive`]. **/ transferKeepAlive: AugmentedSubmittable<(dest: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Compact]>; + /** + * See [`Pallet::upgrade_accounts`]. + **/ + upgradeAccounts: AugmentedSubmittable<(who: Vec | (AccountId32 | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; }; council: { /** - * Close a vote that is either approved, disapproved or whose voting period has ended. - * - * May be called by any signed account in order to finish voting and close the proposal. - * - * If called before the end of the voting period it will only close the vote if it is - * has enough votes to be approved or disapproved. - * - * If called after the end of the voting period abstentions are counted as rejections - * unless there is a prime member set and the prime member cast an approval. - * - * If the close operation completes successfully with disapproval, the transaction fee will - * be waived. Otherwise execution of the approved operation will be charged to the caller. - * - * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed - * proposal. - * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via - * `storage::read` so it is `size_of::() == 4` larger than the pure length. - * - * ## Complexity - * - `O(B + M + P1 + P2)` where: - * - `B` is `proposal` size in bytes (length-fee-bounded) - * - `M` is members-count (code- and governance-bounded) - * - `P1` is the complexity of `proposal` preimage. - * - `P2` is proposal-count (code-bounded) + * See [`Pallet::close`]. **/ close: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, SpWeightsWeightV2Weight, Compact]>; /** - * Close a vote that is either approved, disapproved or whose voting period has ended. - * - * May be called by any signed account in order to finish voting and close the proposal. - * - * If called before the end of the voting period it will only close the vote if it is - * has enough votes to be approved or disapproved. - * - * If called after the end of the voting period abstentions are counted as rejections - * unless there is a prime member set and the prime member cast an approval. - * - * If the close operation completes successfully with disapproval, the transaction fee will - * be waived. Otherwise execution of the approved operation will be charged to the caller. - * - * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed - * proposal. - * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via - * `storage::read` so it is `size_of::() == 4` larger than the pure length. - * - * ## Complexity - * - `O(B + M + P1 + P2)` where: - * - `B` is `proposal` size in bytes (length-fee-bounded) - * - `M` is members-count (code- and governance-bounded) - * - `P1` is the complexity of `proposal` preimage. - * - `P2` is proposal-count (code-bounded) - **/ - closeOldWeight: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, Compact, Compact]>; - /** - * Disapprove a proposal, close, and remove it from the system, regardless of its current - * state. - * - * Must be called by the Root origin. - * - * Parameters: - * * `proposal_hash`: The hash of the proposal that should be disapproved. - * - * ## Complexity - * O(P) where P is the number of max proposals + * See [`Pallet::disapprove_proposal`]. **/ disapproveProposal: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Dispatch a proposal from a member using the `Member` origin. - * - * Origin must be a member of the collective. - * - * ## Complexity: - * - `O(B + M + P)` where: - * - `B` is `proposal` size in bytes (length-fee-bounded) - * - `M` members-count (code-bounded) - * - `P` complexity of dispatching `proposal` + * See [`Pallet::execute`]. **/ execute: AugmentedSubmittable<(proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Call, Compact]>; /** - * Add a new proposal to either be voted on or executed directly. - * - * Requires the sender to be member. - * - * `threshold` determines whether `proposal` is executed directly (`threshold < 2`) - * or put up for voting. - * - * ## Complexity - * - `O(B + M + P1)` or `O(B + M + P2)` where: - * - `B` is `proposal` size in bytes (length-fee-bounded) - * - `M` is members-count (code- and governance-bounded) - * - branching is influenced by `threshold` where: - * - `P1` is proposal execution complexity (`threshold < 2`) - * - `P2` is proposals-count (code-bounded) (`threshold >= 2`) + * See [`Pallet::propose`]. **/ propose: AugmentedSubmittable<(threshold: Compact | AnyNumber | Uint8Array, proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Call, Compact]>; /** - * Set the collective's membership. - * - * - `new_members`: The new member list. Be nice to the chain and provide it sorted. - * - `prime`: The prime member whose vote sets the default. - * - `old_count`: The upper bound for the previous number of members in storage. Used for - * weight estimation. - * - * The dispatch of this call must be `SetMembersOrigin`. - * - * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but - * the weight estimations rely on it to estimate dispatchable weight. - * - * # WARNING: - * - * The `pallet-collective` can also be managed by logic outside of the pallet through the - * implementation of the trait [`ChangeMembers`]. - * Any call to `set_members` must be careful that the member set doesn't get out of sync - * with other logic managing the member set. - * - * ## Complexity: - * - `O(MP + N)` where: - * - `M` old-members-count (code- and governance-bounded) - * - `N` new-members-count (code- and governance-bounded) - * - `P` proposals-count (code-bounded) + * See [`Pallet::set_members`]. **/ setMembers: AugmentedSubmittable<(newMembers: Vec | (AccountId32 | string | Uint8Array)[], prime: Option | null | Uint8Array | AccountId32 | string, oldCount: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Vec, Option, u32]>; /** - * Add an aye or nay vote for the sender to the given proposal. - * - * Requires the sender to be a member. - * - * Transaction fees will be waived if the member is voting on any particular proposal - * for the first time and the call is successful. Subsequent vote changes will charge a - * fee. - * ## Complexity - * - `O(M)` where `M` is members-count (code- and governance-bounded) + * See [`Pallet::vote`]. **/ vote: AugmentedSubmittable<(proposal: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic, [H256, Compact, bool]>; }; ctype: { /** - * Create a new CType from the given unique CType hash and associates - * it with its creator. - * - * A CType with the same hash must not be stored on chain. - * - * Emits `CTypeCreated`. - * - * # - * Weight: O(1) - * - Reads: Ctypes, Balance - * - Writes: Ctypes, Balance - * # + * See [`Pallet::add`]. **/ add: AugmentedSubmittable<(ctype: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Set the creation block number for a given CType, if found. - * - * Emits `CTypeUpdated`. + * See [`Pallet::set_block_number`]. **/ setBlockNumber: AugmentedSubmittable<(ctypeHash: H256 | string | Uint8Array, blockNumber: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, u64]>; }; delegation: { /** - * Create a new delegation node. - * - * The new delegation node represents a new trust hierarchy that - * considers the new node as its root. The owner of this node has full - * control over any of its direct and indirect descendants. - * - * For the creation to succeed, the delegatee must provide a valid - * signature over the (blake256) hash of the creation operation details - * which include (in order) delegation id, root node id, parent id, and - * permissions of the new node. - * - * There must be no delegation with the same id stored on chain. - * Furthermore, the referenced root and parent nodes must already be - * present on chain and contain the valid permissions and revocation - * status (i.e., not revoked). - * - * The dispatch origin must be split into - * * a submitter of type `AccountId` who is responsible for paying the - * transaction fee and - * * a DID subject of type `DelegationEntityId` who creates, owns and - * can revoke the delegation. - * - * Requires the sender of the transaction to have a reservable balance - * of at least `Deposit` many tokens. - * - * Emits `DelegationCreated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Roots, Delegations - * - Writes: Delegations - * # + * See [`Pallet::add_delegation`]. **/ addDelegation: AugmentedSubmittable<(delegationId: H256 | string | Uint8Array, parentId: H256 | string | Uint8Array, delegate: AccountId32 | string | Uint8Array, permissions: DelegationDelegationHierarchyPermissions | { bits?: any } | string | Uint8Array, delegateSignature: DidDidDetailsDidSignature | { ed25519: any } | { sr25519: any } | { ecdsa: any } | string | Uint8Array) => SubmittableExtrinsic, [H256, H256, AccountId32, DelegationDelegationHierarchyPermissions, DidDidDetailsDidSignature]>; /** - * Changes the deposit owner. - * - * The balance that is reserved by the current deposit owner will be - * freed and balance of the new deposit owner will get reserved. - * - * The subject of the call must be the owner of the delegation node. - * The sender of the call will be the new deposit owner. + * See [`Pallet::change_deposit_owner`]. **/ changeDepositOwner: AugmentedSubmittable<(delegationId: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Create a new delegation root associated with a given CType hash. - * - * The new root will allow a new trust hierarchy to be created by - * adding children delegations to the root. - * - * There must be no delegation with the same ID stored on chain, while - * there must be already a CType with the given hash stored in the - * CType pallet. - * - * The dispatch origin must be split into - * * a submitter of type `AccountId` who is responsible for paying the - * transaction fee and - * * a DID subject of type `DelegationEntityId` who creates, owns and - * can revoke the delegation. - * - * Requires the sender of the transaction to have a reservable balance - * of at least `Deposit` many tokens. - * - * Emits `RootCreated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Roots, CTypes - * - Writes: Roots - * # + * See [`Pallet::create_hierarchy`]. **/ createHierarchy: AugmentedSubmittable<(rootNodeId: H256 | string | Uint8Array, ctypeHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256, H256]>; /** - * Reclaim the deposit for a delegation node (potentially a root - * node), removing the node and all its children. - * - * Returns the delegation deposit to the deposit owner for each - * removed DelegationNode by unreserving it. - * - * Removing a delegation node results in the trust hierarchy starting - * from the given node being removed. Nevertheless, removal starts - * from the leave nodes upwards, so if the operation ends prematurely - * because it runs out of gas, the delegation state would be consistent - * as no child would "survive" its parent. As a consequence, if the - * given node is removed, the trust hierarchy with the node as root is - * to be considered removed. - * - * The dispatch origin must be signed by the delegation deposit owner. - * - * `DepositReclaimed`. - * - * # - * Weight: O(C) where C is the number of children of the delegation - * node which is bounded by `max_removals`. - * - Reads: [Origin Account], Roots, C * Delegations, C * Children. - * - Writes: Roots, 2 * C * Delegations - * # + * See [`Pallet::reclaim_deposit`]. **/ reclaimDeposit: AugmentedSubmittable<(delegationId: H256 | string | Uint8Array, maxRemovals: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, u32]>; /** - * Remove a delegation node (potentially a root node) and all its - * children. - * - * Returns the delegation deposit to the deposit owner for each - * removed DelegationNode by unreserving it. - * - * Removing a delegation node results in the trust hierarchy starting - * from the given node being removed. Nevertheless, removal starts - * from the leave nodes upwards, so if the operation ends prematurely - * because it runs out of gas, the delegation state would be consistent - * as no child would "survive" its parent. As a consequence, if the - * given node is removed, the trust hierarchy with the node as root is - * to be considered removed. - * - * The dispatch origin must be split into - * * a submitter of type `AccountId` who is responsible for paying the - * transaction fee and - * * a DID subject of type `DelegationEntityId` who creates, owns and - * can revoke the delegation. - * - * Emits C * `DelegationRemoved`. - * - * # - * Weight: O(C) where C is the number of children of the delegation - * node which is bounded by `max_children`. - * - Reads: [Origin Account], Roots, C * Delegations, C * Children. - * - Writes: Roots, 2 * C * Delegations - * # + * See [`Pallet::remove_delegation`]. **/ removeDelegation: AugmentedSubmittable<(delegationId: H256 | string | Uint8Array, maxRemovals: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, u32]>; /** - * Revoke a delegation node (potentially a root node) and all its - * children. - * - * Does not refund the delegation back to the deposit owner as the - * node is still stored on chain. Requires to additionally call - * `remove_delegation` to unreserve the deposit. - * - * Revoking a delegation node results in the trust hierarchy starting - * from the given node being revoked. Nevertheless, revocation starts - * from the leave nodes upwards, so if the operation ends prematurely - * because it runs out of gas, the delegation state would be consistent - * as no child would "survive" its parent. As a consequence, if the - * given node is revoked, the trust hierarchy with the node as root is - * to be considered revoked. - * - * The dispatch origin must be split into - * * a submitter of type `AccountId` who is responsible for paying the - * transaction fee and - * * a DID subject of type `DelegationEntityId` who creates, owns and - * can revoke the delegation. - * - * Emits C * `DelegationRevoked`. - * - * # - * Weight: O(C) where C is the number of children of the delegation - * node which is bounded by `max_children`. - * - Reads: [Origin Account], Roots, C * Delegations, C * Children. - * - Writes: Roots, C * Delegations - * # + * See [`Pallet::revoke_delegation`]. **/ revokeDelegation: AugmentedSubmittable<(delegationId: H256 | string | Uint8Array, maxParentChecks: u32 | AnyNumber | Uint8Array, maxRevocations: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, u32, u32]>; /** - * Updates the deposit amount to the current deposit rate. - * - * The sender must be the deposit owner. + * See [`Pallet::update_deposit`]. **/ updateDeposit: AugmentedSubmittable<(delegationId: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; }; democracy: { /** - * Permanently place a proposal into the blacklist. This prevents it from ever being - * proposed again. - * - * If called on a queued public or external proposal, then this will result in it being - * removed. If the `ref_index` supplied is an active referendum with the proposal hash, - * then it will be cancelled. - * - * The dispatch origin of this call must be `BlacklistOrigin`. - * - * - `proposal_hash`: The proposal hash to blacklist permanently. - * - `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be - * cancelled. - * - * Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a - * reasonable value). + * See [`Pallet::blacklist`]. **/ blacklist: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, maybeRefIndex: Option | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic, [H256, Option]>; /** - * Remove a proposal. - * - * The dispatch origin of this call must be `CancelProposalOrigin`. - * - * - `prop_index`: The index of the proposal to cancel. - * - * Weight: `O(p)` where `p = PublicProps::::decode_len()` + * See [`Pallet::cancel_proposal`]. **/ cancelProposal: AugmentedSubmittable<(propIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** - * Remove a referendum. - * - * The dispatch origin of this call must be _Root_. - * - * - `ref_index`: The index of the referendum to cancel. - * - * # Weight: `O(1)`. + * See [`Pallet::cancel_referendum`]. **/ cancelReferendum: AugmentedSubmittable<(refIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** - * Clears all public proposals. - * - * The dispatch origin of this call must be _Root_. - * - * Weight: `O(1)`. + * See [`Pallet::clear_public_proposals`]. **/ clearPublicProposals: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Delegate the voting power (with some given conviction) of the sending account. - * - * The balance delegated is locked for as long as it's delegated, and thereafter for the - * time appropriate for the conviction's lock period. - * - * The dispatch origin of this call must be _Signed_, and the signing account must either: - * - be delegating already; or - * - have no voting activity (if there is, then it will need to be removed/consolidated - * through `reap_vote` or `unvote`). - * - * - `to`: The account whose voting the `target` account's voting power will follow. - * - `conviction`: The conviction that will be attached to the delegated votes. When the - * account is undelegated, the funds will be locked for the corresponding period. - * - `balance`: The amount of the account's balance to be used in delegating. This must not - * be more than the account's current balance. - * - * Emits `Delegated`. - * - * Weight: `O(R)` where R is the number of referendums the voter delegating to has - * voted on. Weight is charged as if maximum votes. + * See [`Pallet::delegate`]. **/ delegate: AugmentedSubmittable<(to: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, conviction: PalletDemocracyConviction | 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x' | number | Uint8Array, balance: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, PalletDemocracyConviction, u128]>; /** - * Schedule an emergency cancellation of a referendum. Cannot happen twice to the same - * referendum. - * - * The dispatch origin of this call must be `CancellationOrigin`. - * - * -`ref_index`: The index of the referendum to cancel. - * - * Weight: `O(1)`. + * See [`Pallet::emergency_cancel`]. **/ emergencyCancel: AugmentedSubmittable<(refIndex: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** - * Schedule a referendum to be tabled once it is legal to schedule an external - * referendum. - * - * The dispatch origin of this call must be `ExternalOrigin`. - * - * - `proposal_hash`: The preimage hash of the proposal. + * See [`Pallet::external_propose`]. **/ externalPropose: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded]>; /** - * Schedule a negative-turnout-bias referendum to be tabled next once it is legal to - * schedule an external referendum. - * - * The dispatch of this call must be `ExternalDefaultOrigin`. - * - * - `proposal_hash`: The preimage hash of the proposal. - * - * Unlike `external_propose`, blacklisting has no effect on this and it may replace a - * pre-scheduled `external_propose` call. - * - * Weight: `O(1)` + * See [`Pallet::external_propose_default`]. **/ externalProposeDefault: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded]>; /** - * Schedule a majority-carries referendum to be tabled next once it is legal to schedule - * an external referendum. - * - * The dispatch of this call must be `ExternalMajorityOrigin`. - * - * - `proposal_hash`: The preimage hash of the proposal. - * - * Unlike `external_propose`, blacklisting has no effect on this and it may replace a - * pre-scheduled `external_propose` call. - * - * Weight: `O(1)` + * See [`Pallet::external_propose_majority`]. **/ externalProposeMajority: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded]>; /** - * Schedule the currently externally-proposed majority-carries referendum to be tabled - * immediately. If there is no externally-proposed referendum currently, or if there is one - * but it is not a majority-carries referendum then it fails. - * - * The dispatch of this call must be `FastTrackOrigin`. - * - * - `proposal_hash`: The hash of the current external proposal. - * - `voting_period`: The period that is allowed for voting on this proposal. Increased to - * Must be always greater than zero. - * For `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`. - * - `delay`: The number of block after voting has ended in approval and this should be - * enacted. This doesn't have a minimum amount. - * - * Emits `Started`. - * - * Weight: `O(1)` + * See [`Pallet::fast_track`]. **/ fastTrack: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, votingPeriod: u64 | AnyNumber | Uint8Array, delay: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, u64, u64]>; /** - * Propose a sensitive action to be taken. - * - * The dispatch origin of this call must be _Signed_ and the sender must - * have funds to cover the deposit. - * - * - `proposal_hash`: The hash of the proposal preimage. - * - `value`: The amount of deposit (must be at least `MinimumDeposit`). - * - * Emits `Proposed`. + * See [`Pallet::propose`]. **/ propose: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded, Compact]>; /** - * Remove a vote for a referendum. - * - * If the `target` is equal to the signer, then this function is exactly equivalent to - * `remove_vote`. If not equal to the signer, then the vote must have expired, - * either because the referendum was cancelled, because the voter lost the referendum or - * because the conviction period is over. - * - * The dispatch origin of this call must be _Signed_. - * - * - `target`: The account of the vote to be removed; this account must have voted for - * referendum `index`. - * - `index`: The index of referendum of the vote to be removed. - * - * Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on. - * Weight is calculated for the maximum number of vote. + * See [`Pallet::remove_other_vote`]. **/ removeOtherVote: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, u32]>; /** - * Remove a vote for a referendum. - * - * If: - * - the referendum was cancelled, or - * - the referendum is ongoing, or - * - the referendum has ended such that - * - the vote of the account was in opposition to the result; or - * - there was no conviction to the account's vote; or - * - the account made a split vote - * ...then the vote is removed cleanly and a following call to `unlock` may result in more - * funds being available. - * - * If, however, the referendum has ended and: - * - it finished corresponding to the vote of the account, and - * - the account made a standard vote with conviction, and - * - the lock period of the conviction is not over - * ...then the lock will be aggregated into the overall account's lock, which may involve - * *overlocking* (where the two locks are combined into a single lock that is the maximum - * of both the amount locked and the time is it locked for). - * - * The dispatch origin of this call must be _Signed_, and the signer must have a vote - * registered for referendum `index`. - * - * - `index`: The index of referendum of the vote to be removed. - * - * Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on. - * Weight is calculated for the maximum number of vote. + * See [`Pallet::remove_vote`]. **/ removeVote: AugmentedSubmittable<(index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** - * Signals agreement with a particular proposal. - * - * The dispatch origin of this call must be _Signed_ and the sender - * must have funds to cover the deposit, equal to the original deposit. - * - * - `proposal`: The index of the proposal to second. + * See [`Pallet::second`]. **/ second: AugmentedSubmittable<(proposal: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** - * Set or clear a metadata of a proposal or a referendum. - * - * Parameters: - * - `origin`: Must correspond to the `MetadataOwner`. - * - `ExternalOrigin` for an external proposal with the `SuperMajorityApprove` - * threshold. - * - `ExternalDefaultOrigin` for an external proposal with the `SuperMajorityAgainst` - * threshold. - * - `ExternalMajorityOrigin` for an external proposal with the `SimpleMajority` - * threshold. - * - `Signed` by a creator for a public proposal. - * - `Signed` to clear a metadata for a finished referendum. - * - `Root` to set a metadata for an ongoing referendum. - * - `owner`: an identifier of a metadata owner. - * - `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata. + * See [`Pallet::set_metadata`]. **/ setMetadata: AugmentedSubmittable<(owner: PalletDemocracyMetadataOwner | { External: any } | { Proposal: any } | { Referendum: any } | string | Uint8Array, maybeHash: Option | null | Uint8Array | H256 | string) => SubmittableExtrinsic, [PalletDemocracyMetadataOwner, Option]>; /** - * Undelegate the voting power of the sending account. - * - * Tokens may be unlocked following once an amount of time consistent with the lock period - * of the conviction with which the delegation was issued. - * - * The dispatch origin of this call must be _Signed_ and the signing account must be - * currently delegating. - * - * Emits `Undelegated`. - * - * Weight: `O(R)` where R is the number of referendums the voter delegating to has - * voted on. Weight is charged as if maximum votes. + * See [`Pallet::undelegate`]. **/ undelegate: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Unlock tokens that have an expired lock. - * - * The dispatch origin of this call must be _Signed_. - * - * - `target`: The account to remove the lock on. - * - * Weight: `O(R)` with R number of vote of target. + * See [`Pallet::unlock`]. **/ unlock: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; /** - * Veto and blacklist the external proposal hash. - * - * The dispatch origin of this call must be `VetoOrigin`. - * - * - `proposal_hash`: The preimage hash of the proposal to veto and blacklist. - * - * Emits `Vetoed`. - * - * Weight: `O(V + log(V))` where V is number of `existing vetoers` + * See [`Pallet::veto_external`]. **/ vetoExternal: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal; - * otherwise it is a vote to keep the status quo. - * - * The dispatch origin of this call must be _Signed_. - * - * - `ref_index`: The index of the referendum to vote for. - * - `vote`: The vote configuration. + * See [`Pallet::vote`]. **/ vote: AugmentedSubmittable<(refIndex: Compact | AnyNumber | Uint8Array, vote: PalletDemocracyVoteAccountVote | { Standard: any } | { Split: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, PalletDemocracyVoteAccountVote]>; }; did: { /** - * Add a single new key agreement key to the DID. - * - * The new key is added to the set of public keys. - * - * The dispatch origin must be a DID origin proxied via the - * `submit_did_call` extrinsic. - * - * Emits `DidUpdated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Did - * - Writes: Did - * # + * See [`Pallet::add_key_agreement_key`]. **/ addKeyAgreementKey: AugmentedSubmittable<(newKey: DidDidDetailsDidEncryptionKey | { x25519: any } | string | Uint8Array) => SubmittableExtrinsic, [DidDidDetailsDidEncryptionKey]>; /** - * Add a new service endpoint under the given DID. - * - * The dispatch origin must be a DID origin proxied via the - * `submit_did_call` extrinsic. - * - * Emits `DidUpdated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Did, ServiceEndpoints, DidEndpointsCount - * - Writes: Did, ServiceEndpoints, DidEndpointsCount - * # + * See [`Pallet::add_service_endpoint`]. **/ addServiceEndpoint: AugmentedSubmittable<(serviceEndpoint: DidServiceEndpointsDidEndpoint | { id?: any; serviceTypes?: any; urls?: any } | string | Uint8Array) => SubmittableExtrinsic, [DidServiceEndpointsDidEndpoint]>; /** - * Changes the deposit owner. - * - * The balance that is reserved by the current deposit owner will be - * freed and balance of the new deposit owner will get reserved. - * - * The subject of the call must be the did owner. - * The sender of the call will be the new deposit owner. + * See [`Pallet::change_deposit_owner`]. **/ changeDepositOwner: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Store a new DID on chain, after verifying that the creation - * operation has been signed by the KILT account associated with the - * identifier of the DID being created and that a DID with the same - * identifier has not previously existed on (and then deleted from) the - * chain. - * - * There must be no DID information stored on chain under the same DID - * identifier. - * - * The new keys added with this operation are stored under the DID - * identifier along with the block number in which the operation was - * executed. - * - * The dispatch origin can be any KILT account with enough funds to - * execute the extrinsic and it does not have to be tied in any way to - * the KILT account identifying the DID subject. - * - * Emits `DidCreated`. - * - * # - * - The transaction's complexity is mainly dependent on the number of - * new key agreement keys and the number of new service endpoints - * included in the operation. - * --------- - * Weight: O(K) + O(N) where K is the number of new key agreement - * keys bounded by `MaxNewKeyAgreementKeys`, while N is the number of - * new service endpoints bounded by `MaxNumberOfServicesPerDid`. - * - Reads: [Origin Account], Did, DidBlacklist - * - Writes: Did (with K new key agreement keys), ServiceEndpoints - * (with N new service endpoints), DidEndpointsCount - * # + * See [`Pallet::create`]. **/ create: AugmentedSubmittable<(details: DidDidDetailsDidCreationDetails | { did?: any; submitter?: any; newKeyAgreementKeys?: any; newAttestationKey?: any; newDelegationKey?: any; newServiceDetails?: any } | string | Uint8Array, signature: DidDidDetailsDidSignature | { ed25519: any } | { sr25519: any } | { ecdsa: any } | string | Uint8Array) => SubmittableExtrinsic, [DidDidDetailsDidCreationDetails, DidDidDetailsDidSignature]>; /** - * Delete a DID from the chain and all information associated with it, - * after verifying that the delete operation has been signed by the DID - * subject using the authentication key currently stored on chain. - * - * The referenced DID identifier must be present on chain before the - * delete operation is evaluated. - * - * After it is deleted, a DID with the same identifier cannot be - * re-created ever again. - * - * As the result of the deletion, all traces of the DID are removed - * from the storage, which results in the invalidation of all - * attestations issued by the DID subject. - * - * The dispatch origin must be a DID origin proxied via the - * `submit_did_call` extrinsic. - * - * Emits `DidDeleted`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Did - * - Kills: Did entry associated to the DID identifier - * # + * See [`Pallet::create_from_account`]. + **/ + createFromAccount: AugmentedSubmittable<(authenticationKey: DidDidDetailsDidVerificationKey | { ed25519: any } | { sr25519: any } | { ecdsa: any } | { Account: any } | string | Uint8Array) => SubmittableExtrinsic, [DidDidDetailsDidVerificationKey]>; + /** + * See [`Pallet::delete`]. **/ delete: AugmentedSubmittable<(endpointsToRemove: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** - * Reclaim a deposit for a DID. This will delete the DID and all - * information associated with it, after verifying that the caller is - * the owner of the deposit. - * - * The referenced DID identifier must be present on chain before the - * delete operation is evaluated. - * - * After it is deleted, a DID with the same identifier cannot be - * re-created ever again. - * - * As the result of the deletion, all traces of the DID are removed - * from the storage, which results in the invalidation of all - * attestations issued by the DID subject. - * - * Emits `DidDeleted`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Did - * - Kills: Did entry associated to the DID identifier - * # + * See [`Pallet::dispatch_as`]. + **/ + dispatchAs: AugmentedSubmittable<(didIdentifier: AccountId32 | string | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [AccountId32, Call]>; + /** + * See [`Pallet::reclaim_deposit`]. **/ reclaimDeposit: AugmentedSubmittable<(didSubject: AccountId32 | string | Uint8Array, endpointsToRemove: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [AccountId32, u32]>; /** - * Remove the DID attestation key. - * - * The old key is deleted from the set of public keys if - * it is not used in any other part of the DID. - * - * The dispatch origin must be a DID origin proxied via the - * `submit_did_call` extrinsic. - * - * Emits `DidUpdated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Did - * - Writes: Did - * # + * See [`Pallet::remove_attestation_key`]. **/ removeAttestationKey: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Remove the DID delegation key. - * - * The old key is deleted from the set of public keys if - * it is not used in any other part of the DID. - * - * The dispatch origin must be a DID origin proxied via the - * `submit_did_call` extrinsic. - * - * Emits `DidUpdated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Did - * - Writes: Did - * # + * See [`Pallet::remove_delegation_key`]. **/ removeDelegationKey: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Remove a DID key agreement key from both its set of key agreement - * keys and as well as its public keys. - * - * The dispatch origin must be a DID origin proxied via the - * `submit_did_call` extrinsic. - * - * Emits `DidUpdated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Did - * - Writes: Did - * # + * See [`Pallet::remove_key_agreement_key`]. **/ removeKeyAgreementKey: AugmentedSubmittable<(keyId: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Remove the service with the provided ID from the DID. - * - * The dispatch origin must be a DID origin proxied via the - * `submit_did_call` extrinsic. - * - * Emits `DidUpdated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], ServiceEndpoints, DidEndpointsCount - * - Writes: Did, ServiceEndpoints, DidEndpointsCount - * # + * See [`Pallet::remove_service_endpoint`]. **/ removeServiceEndpoint: AugmentedSubmittable<(serviceId: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Set or update the DID attestation key. - * - * If an old key existed, it is deleted from the set of public keys if - * it is not used in any other part of the DID. The new key is added to - * the set of public keys. - * - * The dispatch origin must be a DID origin proxied via the - * `submit_did_call` extrinsic. - * - * Emits `DidUpdated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Did - * - Writes: Did - * # - **/ - setAttestationKey: AugmentedSubmittable<(newKey: DidDidDetailsDidVerificationKey | { ed25519: any } | { sr25519: any } | { ecdsa: any } | string | Uint8Array) => SubmittableExtrinsic, [DidDidDetailsDidVerificationKey]>; - /** - * Update the DID authentication key. - * - * The old key is deleted from the set of public keys if it is - * not used in any other part of the DID. The new key is added to the - * set of public keys. - * - * The dispatch origin must be a DID origin proxied via the - * `submit_did_call` extrinsic. - * - * Emits `DidUpdated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Did - * - Writes: Did - * # - **/ - setAuthenticationKey: AugmentedSubmittable<(newKey: DidDidDetailsDidVerificationKey | { ed25519: any } | { sr25519: any } | { ecdsa: any } | string | Uint8Array) => SubmittableExtrinsic, [DidDidDetailsDidVerificationKey]>; - /** - * Set or update the DID delegation key. - * - * If an old key existed, it is deleted from the set of public keys if - * it is not used in any other part of the DID. The new key is added to - * the set of public keys. - * - * The dispatch origin must be a DID origin proxied via the - * `submit_did_call` extrinsic. - * - * Emits `DidUpdated`. - * - * # - * Weight: O(1) - * - Reads: [Origin Account], Did - * - Writes: Did - * # - **/ - setDelegationKey: AugmentedSubmittable<(newKey: DidDidDetailsDidVerificationKey | { ed25519: any } | { sr25519: any } | { ecdsa: any } | string | Uint8Array) => SubmittableExtrinsic, [DidDidDetailsDidVerificationKey]>; - /** - * Proxy a dispatchable call of another runtime extrinsic that - * supports a DID origin. - * - * The referenced DID identifier must be present on chain before the - * operation is dispatched. - * - * A call submitted through this extrinsic must be signed with the - * right DID key, depending on the call. This information is provided - * by the `DidAuthorizedCallOperation` parameter, which specifies the - * DID subject acting as the origin of the call, the DID's tx counter - * (nonce), the dispatchable to call in case signature verification - * succeeds, the type of DID key to use to verify the operation - * signature, and the block number the operation was targeting for - * inclusion, when it was created and signed. - * - * In case the signature is incorrect, the nonce is not valid, the - * required key is not present for the specified DID, or the block - * specified is too old the verification fails and the call is not - * dispatched. Otherwise, the call is properly dispatched with a - * `DidOrigin` origin indicating the DID subject. - * - * A successful dispatch operation results in the tx counter associated - * with the given DID to be incremented, to mitigate replay attacks. - * - * The dispatch origin can be any KILT account with enough funds to - * execute the extrinsic and it does not have to be tied in any way to - * the KILT account identifying the DID subject. - * - * Emits `DidCallDispatched`. - * - * # - * Weight: O(1) + weight of the dispatched call - * - Reads: [Origin Account], Did - * - Writes: Did - * # + * See [`Pallet::set_attestation_key`]. + **/ + setAttestationKey: AugmentedSubmittable<(newKey: DidDidDetailsDidVerificationKey | { ed25519: any } | { sr25519: any } | { ecdsa: any } | { Account: any } | string | Uint8Array) => SubmittableExtrinsic, [DidDidDetailsDidVerificationKey]>; + /** + * See [`Pallet::set_authentication_key`]. + **/ + setAuthenticationKey: AugmentedSubmittable<(newKey: DidDidDetailsDidVerificationKey | { ed25519: any } | { sr25519: any } | { ecdsa: any } | { Account: any } | string | Uint8Array) => SubmittableExtrinsic, [DidDidDetailsDidVerificationKey]>; + /** + * See [`Pallet::set_delegation_key`]. + **/ + setDelegationKey: AugmentedSubmittable<(newKey: DidDidDetailsDidVerificationKey | { ed25519: any } | { sr25519: any } | { ecdsa: any } | { Account: any } | string | Uint8Array) => SubmittableExtrinsic, [DidDidDetailsDidVerificationKey]>; + /** + * See [`Pallet::submit_did_call`]. **/ submitDidCall: AugmentedSubmittable<(didCall: DidDidDetailsDidAuthorizedCallOperation | { did?: any; txCounter?: any; call?: any; blockNumber?: any; submitter?: any } | string | Uint8Array, signature: DidDidDetailsDidSignature | { ed25519: any } | { sr25519: any } | { ecdsa: any } | string | Uint8Array) => SubmittableExtrinsic, [DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidSignature]>; /** - * Updates the deposit amount to the current deposit rate. - * - * The sender must be the deposit owner. + * See [`Pallet::update_deposit`]. **/ updateDeposit: AugmentedSubmittable<(did: AccountId32 | string | Uint8Array) => SubmittableExtrinsic, [AccountId32]>; }; didLookup: { /** - * Associate the given account to the DID that authorized this call. - * - * The account has to sign the DID and a blocknumber after which the - * signature expires in order to authorize the association. - * - * The signature will be checked against the scale encoded tuple of the - * method specific id of the did identifier and the block number after - * which the signature should be regarded invalid. - * - * Emits `AssociationEstablished` and, optionally, `AssociationRemoved` - * if there was a previous association for the account. - * - * # - * Weight: O(1) - * - Reads: ConnectedDids + ConnectedAccounts + DID Origin Check - * - Writes: ConnectedDids + ConnectedAccounts - * # + * See [`Pallet::associate_account`]. **/ associateAccount: AugmentedSubmittable<(req: PalletDidLookupAssociateAccountRequest | { Polkadot: any } | { Ethereum: any } | string | Uint8Array, expiration: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupAssociateAccountRequest, u64]>; /** - * Associate the sender of the call to the DID that authorized this - * call. - * - * Emits `AssociationEstablished` and, optionally, `AssociationRemoved` - * if there was a previous association for the account. - * - * # - * Weight: O(1) - * - Reads: ConnectedDids + ConnectedAccounts + DID Origin Check - * - Writes: ConnectedDids + ConnectedAccounts - * # + * See [`Pallet::associate_sender`]. **/ associateSender: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Changes the deposit owner. - * - * The balance that is reserved by the current deposit owner will be - * freed and balance of the new deposit owner will get reserved. - * - * The subject of the call must be linked to the account. - * The sender of the call will be the new deposit owner. + * See [`Pallet::change_deposit_owner`]. **/ changeDepositOwner: AugmentedSubmittable<(account: PalletDidLookupLinkableAccountLinkableAccountId | { AccountId20: any } | { AccountId32: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupLinkableAccountLinkableAccountId]>; /** - * Remove the association of the provided account. This call can only - * be called from the deposit owner. The reserved deposit will be - * freed. - * - * Emits `AssociationRemoved`. - * - * # - * Weight: O(1) - * - Reads: ConnectedDids - * - Writes: ConnectedDids - * # + * See [`Pallet::reclaim_deposit`]. **/ reclaimDeposit: AugmentedSubmittable<(account: PalletDidLookupLinkableAccountLinkableAccountId | { AccountId20: any } | { AccountId32: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupLinkableAccountLinkableAccountId]>; /** - * Remove the association of the provided account ID. This call doesn't - * require the authorization of the account ID, but the associated DID - * needs to match the DID that authorized this call. - * - * Emits `AssociationRemoved`. - * - * # - * Weight: O(1) - * - Reads: ConnectedDids + ConnectedAccounts + DID Origin Check - * - Writes: ConnectedDids + ConnectedAccounts - * # + * See [`Pallet::remove_account_association`]. **/ removeAccountAssociation: AugmentedSubmittable<(account: PalletDidLookupLinkableAccountLinkableAccountId | { AccountId20: any } | { AccountId32: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupLinkableAccountLinkableAccountId]>; /** - * Remove the association of the sender account. This call doesn't - * require the authorization of the DID, but requires a signed origin. - * - * Emits `AssociationRemoved`. - * - * # - * Weight: O(1) - * - Reads: ConnectedDids + ConnectedAccounts + DID Origin Check - * - Writes: ConnectedDids + ConnectedAccounts - * # + * See [`Pallet::remove_sender_association`]. **/ removeSenderAssociation: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Updates the deposit amount to the current deposit rate. - * - * The sender must be the deposit owner. + * See [`Pallet::update_deposit`]. **/ updateDeposit: AugmentedSubmittable<(account: PalletDidLookupLinkableAccountLinkableAccountId | { AccountId20: any } | { AccountId32: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupLinkableAccountLinkableAccountId]>; }; dmpQueue: { /** - * Service a single overweight message. + * See [`Pallet::service_overweight`]. **/ serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [u64, SpWeightsWeightV2Weight]>; }; indices: { /** - * Assign an previously unassigned index. - * - * Payment: `Deposit` is reserved from the sender account. - * - * The dispatch origin for this call must be _Signed_. - * - * - `index`: the index to be claimed. This must not be in use. - * - * Emits `IndexAssigned` if successful. - * - * ## Complexity - * - `O(1)`. + * See [`Pallet::claim`]. **/ claim: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; /** - * Force an index to an account. This doesn't require a deposit. If the index is already - * held, then any deposit is reimbursed to its current owner. - * - * The dispatch origin for this call must be _Root_. - * - * - `index`: the index to be (re-)assigned. - * - `new`: the new owner of the index. This function is a no-op if it is equal to sender. - * - `freeze`: if set to `true`, will freeze the index so it cannot be transferred. - * - * Emits `IndexAssigned` if successful. - * - * ## Complexity - * - `O(1)`. + * See [`Pallet::force_transfer`]. **/ forceTransfer: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, index: u64 | AnyNumber | Uint8Array, freeze: bool | boolean | Uint8Array) => SubmittableExtrinsic, [MultiAddress, u64, bool]>; /** - * Free up an index owned by the sender. - * - * Payment: Any previous deposit placed for the index is unreserved in the sender account. - * - * The dispatch origin for this call must be _Signed_ and the sender must own the index. - * - * - `index`: the index to be freed. This must be owned by the sender. - * - * Emits `IndexFreed` if successful. - * - * ## Complexity - * - `O(1)`. + * See [`Pallet::free`]. **/ free: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; /** - * Freeze an index so it will always point to the sender account. This consumes the - * deposit. - * - * The dispatch origin for this call must be _Signed_ and the signing account must have a - * non-frozen account `index`. - * - * - `index`: the index to be frozen in place. - * - * Emits `IndexFrozen` if successful. - * - * ## Complexity - * - `O(1)`. + * See [`Pallet::freeze`]. **/ freeze: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; /** - * Assign an index already owned by the sender to another account. The balance reservation - * is effectively transferred to the new account. - * - * The dispatch origin for this call must be _Signed_. - * - * - `index`: the index to be re-assigned. This must be owned by the sender. - * - `new`: the new owner of the index. This function is a no-op if it is equal to sender. - * - * Emits `IndexAssigned` if successful. - * - * ## Complexity - * - `O(1)`. + * See [`Pallet::transfer`]. **/ transfer: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, index: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, u64]>; }; + migration: { + /** + * See [`Pallet::update_balance`]. + **/ + updateBalance: AugmentedSubmittable<(requestedMigrations: PalletMigrationEntriesToMigrate | { attestation?: any; delegation?: any; did?: any; lookup?: any; w3n?: any; publicCredentials?: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletMigrationEntriesToMigrate]>; + }; multisig: { /** - * Register approval for a dispatch to be made from a deterministic composite account if - * approved by a total of `threshold - 1` of `other_signatories`. - * - * Payment: `DepositBase` will be reserved if this is the first approval, plus - * `threshold` times `DepositFactor`. It is returned once this dispatch happens or - * is cancelled. - * - * The dispatch origin for this call must be _Signed_. - * - * - `threshold`: The total number of approvals for this dispatch before it is executed. - * - `other_signatories`: The accounts (other than the sender) who can approve this - * dispatch. May not be empty. - * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is - * not the first approval, then it must be `Some`, with the timepoint (block number and - * transaction index) of the first approval transaction. - * - `call_hash`: The hash of the call to be executed. - * - * NOTE: If this is the final approval, you will want to use `as_multi` instead. - * - * ## Complexity - * - `O(S)`. - * - Up to one balance-reserve or unreserve operation. - * - One passthrough operation, one insert, both `O(S)` where `S` is the number of - * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. - * - One encode & hash, both of complexity `O(S)`. - * - Up to one binary search and insert (`O(logS + S)`). - * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. - * - One event. - * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit - * taken for its lifetime of `DepositBase + threshold * DepositFactor`. + * See [`Pallet::approve_as_multi`]. **/ approveAsMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec | (AccountId32 | string | Uint8Array)[], maybeTimepoint: Option | null | Uint8Array | PalletMultisigTimepoint | { height?: any; index?: any } | string, callHash: U8aFixed | string | Uint8Array, maxWeight: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [u16, Vec, Option, U8aFixed, SpWeightsWeightV2Weight]>; /** - * Register approval for a dispatch to be made from a deterministic composite account if - * approved by a total of `threshold - 1` of `other_signatories`. - * - * If there are enough, then dispatch the call. - * - * Payment: `DepositBase` will be reserved if this is the first approval, plus - * `threshold` times `DepositFactor`. It is returned once this dispatch happens or - * is cancelled. - * - * The dispatch origin for this call must be _Signed_. - * - * - `threshold`: The total number of approvals for this dispatch before it is executed. - * - `other_signatories`: The accounts (other than the sender) who can approve this - * dispatch. May not be empty. - * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is - * not the first approval, then it must be `Some`, with the timepoint (block number and - * transaction index) of the first approval transaction. - * - `call`: The call to be executed. - * - * NOTE: Unless this is the final approval, you will generally want to use - * `approve_as_multi` instead, since it only requires a hash of the call. - * - * Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise - * on success, result is `Ok` and the result from the interior call, if it was executed, - * may be found in the deposited `MultisigExecuted` event. - * - * ## Complexity - * - `O(S + Z + Call)`. - * - Up to one balance-reserve or unreserve operation. - * - One passthrough operation, one insert, both `O(S)` where `S` is the number of - * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. - * - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len. - * - One encode & hash, both of complexity `O(S)`. - * - Up to one binary search and insert (`O(logS + S)`). - * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove. - * - One event. - * - The weight of the `call`. - * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit - * taken for its lifetime of `DepositBase + threshold * DepositFactor`. + * See [`Pallet::as_multi`]. **/ asMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec | (AccountId32 | string | Uint8Array)[], maybeTimepoint: Option | null | Uint8Array | PalletMultisigTimepoint | { height?: any; index?: any } | string, call: Call | IMethod | string | Uint8Array, maxWeight: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [u16, Vec, Option, Call, SpWeightsWeightV2Weight]>; /** - * Immediately dispatch a multi-signature call using a single approval from the caller. - * - * The dispatch origin for this call must be _Signed_. - * - * - `other_signatories`: The accounts (other than the sender) who are part of the - * multi-signature, but do not participate in the approval process. - * - `call`: The call to be executed. - * - * Result is equivalent to the dispatched result. - * - * ## Complexity - * O(Z + C) where Z is the length of the call and C its execution weight. + * See [`Pallet::as_multi_threshold_1`]. **/ asMultiThreshold1: AugmentedSubmittable<(otherSignatories: Vec | (AccountId32 | string | Uint8Array)[], call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [Vec, Call]>; /** - * Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously - * for this operation will be unreserved on success. - * - * The dispatch origin for this call must be _Signed_. - * - * - `threshold`: The total number of approvals for this dispatch before it is executed. - * - `other_signatories`: The accounts (other than the sender) who can approve this - * dispatch. May not be empty. - * - `timepoint`: The timepoint (block number and transaction index) of the first approval - * transaction for this dispatch. - * - `call_hash`: The hash of the call to be executed. - * - * ## Complexity - * - `O(S)`. - * - Up to one balance-reserve or unreserve operation. - * - One passthrough operation, one insert, both `O(S)` where `S` is the number of - * signatories. `S` is capped by `MaxSignatories`, with weight being proportional. - * - One encode & hash, both of complexity `O(S)`. - * - One event. - * - I/O: 1 read `O(S)`, one remove. - * - Storage: removes one item. + * See [`Pallet::cancel_as_multi`]. **/ cancelAsMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec | (AccountId32 | string | Uint8Array)[], timepoint: PalletMultisigTimepoint | { height?: any; index?: any } | string | Uint8Array, callHash: U8aFixed | string | Uint8Array) => SubmittableExtrinsic, [u16, Vec, PalletMultisigTimepoint, U8aFixed]>; }; + parachainInfo: { + }; parachainStaking: { /** - * Revert the previously requested exit of the network of a collator - * candidate. On success, adds back the candidate to the TopCandidates - * and updates the collators. - * - * Requires the candidate to previously have called - * `init_leave_candidates`. - * - * Emits `CollatorCanceledExit`. + * See [`Pallet::cancel_leave_candidates`]. **/ cancelLeaveCandidates: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Stake less funds for a collator candidate. - * - * If the new amount of staked fund is not large enough, the account - * could be removed from the set of collator candidates and not be - * considered for authoring the next blocks. - * - * This operation affects the pallet's total stake amount. - * - * The unstaked funds are not released immediately to the account, but - * they will be available after `StakeDuration` blocks. - * - * The resulting total amount of funds staked must be within the - * allowed range as set in the pallet's configuration. - * - * Emits `CollatorStakedLess`. + * See [`Pallet::candidate_stake_less`]. **/ candidateStakeLess: AugmentedSubmittable<(less: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u128]>; /** - * Stake more funds for a collator candidate. - * - * If not in the set of candidates, staking enough funds allows the - * account to be added to it. The larger amount of funds, the higher - * chances to be selected as the author of the next block. - * - * This operation affects the pallet's total stake amount. - * - * The resulting total amount of funds staked must be within the - * allowed range as set in the pallet's configuration. - * - * Emits `CollatorStakedMore`. + * See [`Pallet::candidate_stake_more`]. **/ candidateStakeMore: AugmentedSubmittable<(more: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u128]>; /** - * Claim block authoring rewards for the target address. - * - * Requires `Rewards` to be set beforehand, which can by triggered by - * any of the following options - * * Calling increment_{collator, delegator}_rewards (active) - * * Altering your stake (active) - * * Leaving the network as a collator (active) - * * Revoking a delegation as a delegator (active) - * * Being a delegator whose collator left the network, altered their - * stake or incremented rewards (passive) - * - * The dispatch origin can be any signed one, e.g., anyone can claim - * for anyone. - * - * Emits `Rewarded`. + * See [`Pallet::claim_rewards`]. **/ claimRewards: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Reduce the stake for delegating a collator candidate. - * - * If the new amount of staked fund is not large enough, the collator - * could be removed from the set of collator candidates and not be - * considered for authoring the next blocks. - * - * The unstaked funds are not release immediately to the account, but - * they will be available after `StakeDuration` blocks. - * - * The remaining staked funds must still be larger than the minimum - * required by this pallet to maintain the status of delegator. - * - * The resulting total amount of funds staked must be within the - * allowed range as set in the pallet's configuration. - * - * Emits `DelegatorStakedLess`. + * See [`Pallet::delegator_stake_less`]. **/ delegatorStakeLess: AugmentedSubmittable<(less: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u128]>; /** - * Increase the stake for delegating a collator candidate. - * - * If not in the set of candidates, staking enough funds allows the - * collator candidate to be added to it. - * - * Emits `DelegatorStakedMore`. + * See [`Pallet::delegator_stake_more`]. **/ delegatorStakeMore: AugmentedSubmittable<(more: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u128]>; /** - * Execute the network exit of a candidate who requested to leave at - * least `ExitQueueDelay` rounds ago. Prepares unstaking of the - * candidates and their delegators stake which can be unlocked via - * `unlock_unstaked` after waiting at least `StakeDuration` many - * blocks. - * - * Requires the candidate to previously have called - * `init_leave_candidates`. - * - * The exit request can be reversed by calling - * `cancel_leave_candidates`. - * - * NOTE: Iterates over CandidatePool for each candidate over their - * delegators to set rewards. Needs to be improved when scaling up - * `MaxTopCandidates`. - * - * Emits `CollatorLeft`. + * See [`Pallet::execute_leave_candidates`]. **/ executeLeaveCandidates: AugmentedSubmittable<(collator: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; /** - * Executes the annual reduction of the reward rates for collators and - * delegators. - * - * Moreover, sets rewards for all collators and delegators - * before adjusting the inflation. - * - * The dispatch origin can be any signed one because we bail if called - * too early. - * - * Emits `RoundInflationSet`. + * See [`Pallet::execute_scheduled_reward_change`]. **/ executeScheduledRewardChange: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Forces the start of the new round in the next block. - * - * The new round will be enforced via >::should_end_session. - * - * The dispatch origin must be Root. + * See [`Pallet::force_new_round`]. **/ forceNewRound: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Forcedly removes a collator candidate from the TopCandidates and - * clears all associated storage for the candidate and their - * delegators. - * - * Prepares unstaking of the candidates and their delegators stake - * which can be unlocked via `unlock_unstaked` after waiting at - * least `StakeDuration` many blocks. Also increments rewards for the - * collator and their delegators. - * - * Increments rewards of candidate and their delegators. - * - * Emits `CandidateRemoved`. + * See [`Pallet::force_remove_candidate`]. **/ forceRemoveCandidate: AugmentedSubmittable<(collator: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; /** - * Actively increment the rewards of a collator. - * - * The same effect is triggered by changing the stake or leaving the - * network. - * - * The dispatch origin must be a collator. + * See [`Pallet::increment_collator_rewards`]. **/ incrementCollatorRewards: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Actively increment the rewards of a delegator. - * - * The same effect is triggered by changing the stake or revoking - * delegations. - * - * The dispatch origin must be a delegator. + * See [`Pallet::increment_delegator_rewards`]. **/ incrementDelegatorRewards: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Request to leave the set of collator candidates. - * - * On success, the account is immediately removed from the candidate - * pool to prevent selection as a collator in future validation rounds, - * but unstaking of the funds is executed with a delay of - * `StakeDuration` blocks. - * - * The exit request can be reversed by calling - * `cancel_leave_candidates`. - * - * This operation affects the pallet's total stake amount. It is - * updated even though the funds of the candidate who signaled to leave - * are still locked for `ExitDelay` + `StakeDuration` more blocks. - * - * NOTE 1: Upon starting a new session_i in `new_session`, the current - * top candidates are selected to be block authors for session_i+1. Any - * changes to the top candidates afterwards do not effect the set of - * authors for session_i+1. - * Thus, we have to make sure none of these collators can - * leave before session_i+1 ends by delaying their - * exit for `ExitDelay` many blocks. - * - * NOTE 2: We do not increment rewards in this extrinsic as the - * candidate could still author blocks, and thus be eligible to receive - * rewards, until the end of the next session. - * - * Emits `CollatorScheduledExit`. + * See [`Pallet::init_leave_candidates`]. **/ initLeaveCandidates: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Join the set of collator candidates. - * - * In the next blocks, if the collator candidate has enough funds - * staked to be included in any of the top `MaxSelectedCandidates` - * positions, it will be included in the set of potential authors that - * will be selected by the stake-weighted random selection function. - * - * The staked funds of the new collator candidate are added to the - * total stake of the system. - * - * The total amount of funds staked must be within the allowed range as - * set in the pallet's configuration. - * - * The dispatch origin must not be already part of the collator - * candidates nor of the delegators set. - * - * Emits `JoinedCollatorCandidates`. + * See [`Pallet::join_candidates`]. **/ joinCandidates: AugmentedSubmittable<(stake: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u128]>; /** - * Join the set of delegators by delegating to a collator candidate. - * - * The account that wants to delegate cannot be part of the collator - * candidates set as well. - * - * The caller must _not_ have a delegation. If that is the case, they - * are required to first remove the delegation. - * - * The amount staked must be larger than the minimum required to become - * a delegator as set in the pallet's configuration. - * - * As only `MaxDelegatorsPerCollator` are allowed to delegate a given - * collator, the amount staked must be larger than the lowest one in - * the current set of delegator for the operation to be meaningful. - * - * The collator's total stake as well as the pallet's total stake are - * increased accordingly. - * - * Emits `Delegation`. - * Emits `DelegationReplaced` if the candidate has - * `MaxDelegatorsPerCollator` many delegations but this delegator - * staked more than one of the other delegators of this candidate. + * See [`Pallet::join_delegators`]. **/ joinDelegators: AugmentedSubmittable<(collator: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, u128]>; /** - * Leave the set of delegators and, by implication, revoke the ongoing - * delegation. - * - * All staked funds are not unlocked immediately, but they are added to - * the queue of pending unstaking, and will effectively be released - * after `StakeDuration` blocks from the moment the delegator leaves. - * - * This operation reduces the total stake of the pallet as well as the - * stakes of all collators that were delegated, potentially affecting - * their chances to be included in the set of candidates in the next - * rounds. - * - * Automatically increments the accumulated rewards of the origin of - * the current delegation. - * - * Emits `DelegatorLeft`. + * See [`Pallet::leave_delegators`]. **/ leaveDelegators: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Set the number of blocks each validation round lasts. - * - * If the new value is less than the length of the current round, the - * system will immediately move to the next round in the next block. - * - * The new value must be higher than the minimum allowed as set in the - * pallet's configuration. - * - * The dispatch origin must be Root. - * - * Emits `BlocksPerRoundSet`. + * See [`Pallet::set_blocks_per_round`]. **/ setBlocksPerRound: AugmentedSubmittable<(updated: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; /** - * Set the annual inflation rate to derive per-round inflation. - * - * The inflation details are considered valid if the annual reward rate - * is approximately the per-block reward rate multiplied by the - * estimated* total number of blocks per year. - * - * The estimated average block time is twelve seconds. - * - * NOTE: Iterates over CandidatePool and for each candidate over their - * delegators to update their rewards before the reward rates change. - * Needs to be improved when scaling up `MaxTopCandidates`. - * - * The dispatch origin must be Root. - * - * Emits `RoundInflationSet`. + * See [`Pallet::set_inflation`]. **/ setInflation: AugmentedSubmittable<(collatorMaxRatePercentage: Perquintill | AnyNumber | Uint8Array, collatorAnnualRewardRatePercentage: Perquintill | AnyNumber | Uint8Array, delegatorMaxRatePercentage: Perquintill | AnyNumber | Uint8Array, delegatorAnnualRewardRatePercentage: Perquintill | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Perquintill, Perquintill, Perquintill, Perquintill]>; /** - * Set the maximal amount a collator can stake. Existing stakes are not - * changed. - * - * The dispatch origin must be Root. - * - * Emits `MaxCandidateStakeChanged`. + * See [`Pallet::set_max_candidate_stake`]. **/ setMaxCandidateStake: AugmentedSubmittable<(updated: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u128]>; /** - * Set the maximum number of collator candidates that can be selected - * at the beginning of each validation round. - * - * Changes are not applied until the start of the next round. - * - * The new value must be higher than the minimum allowed as set in the - * pallet's configuration. - * - * The dispatch origin must be Root. - * - * Emits `MaxSelectedCandidatesSet`. + * See [`Pallet::set_max_selected_candidates`]. **/ setMaxSelectedCandidates: AugmentedSubmittable<(updated: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** - * Unlock all previously staked funds that are now available for - * unlocking by the origin account after `StakeDuration` blocks have - * elapsed. - * - * Weight: O(U) where U is the number of locked unstaking requests - * bounded by `MaxUnstakeRequests`. - * - Reads: [Origin Account], Unstaking, Locks - * - Writes: Unstaking, Locks - * - Kills: Unstaking & Locks if no balance is locked anymore - * # + * See [`Pallet::unlock_unstaked`]. **/ unlockUnstaked: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; }; parachainSystem: { /** - * Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied - * later. - * - * The `check_version` parameter sets a boolean flag for whether or not the runtime's spec - * version and name should be verified on upgrade. Since the authorization only has a hash, - * it cannot actually perform the verification. - * - * This call requires Root origin. + * See [`Pallet::authorize_upgrade`]. **/ authorizeUpgrade: AugmentedSubmittable<(codeHash: H256 | string | Uint8Array, checkVersion: bool | boolean | Uint8Array) => SubmittableExtrinsic, [H256, bool]>; /** - * Provide the preimage (runtime binary) `code` for an upgrade that has been authorized. - * - * If the authorization required a version check, this call will ensure the spec name - * remains unchanged and that the spec version has increased. - * - * Note that this function will not apply the new `code`, but only attempt to schedule the - * upgrade with the Relay Chain. - * - * All origins are allowed. + * See [`Pallet::enact_authorized_upgrade`]. **/ enactAuthorizedUpgrade: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Set the current validation data. - * - * This should be invoked exactly once per block. It will panic at the finalization - * phase if the call was not invoked. - * - * The dispatch origin for this call must be `Inherent` - * - * As a side effect, this function upgrades the current validation function - * if the appropriate time has come. + * See [`Pallet::set_validation_data`]. **/ setValidationData: AugmentedSubmittable<(data: CumulusPrimitivesParachainInherentParachainInherentData | { validationData?: any; relayChainState?: any; downwardMessages?: any; horizontalMessages?: any } | string | Uint8Array) => SubmittableExtrinsic, [CumulusPrimitivesParachainInherentParachainInherentData]>; + /** + * See [`Pallet::sudo_send_upward_message`]. + **/ sudoSendUpwardMessage: AugmentedSubmittable<(message: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; }; polkadotXcm: { /** - * Execute an XCM message from a local, signed, origin. - * - * An event is deposited indicating whether `msg` could be executed completely or only - * partially. - * - * No more than `max_weight` will be used in its attempted execution. If this is less than the - * maximum amount of weight that the message could take to be executed, then no execution - * attempt will be made. - * - * NOTE: A successful return to this does *not* imply that the `msg` was executed successfully - * to completion; only that *some* of it was executed. + * See [`Pallet::execute`]. **/ execute: AugmentedSubmittable<(message: XcmVersionedXcm | { V2: any } | { V3: any } | string | Uint8Array, maxWeight: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedXcm, SpWeightsWeightV2Weight]>; /** - * Set a safe XCM version (the version that XCM should be encoded with if the most recent - * version a destination can accept is unknown). - * - * - `origin`: Must be Root. - * - `maybe_xcm_version`: The default XCM encoding version, or `None` to disable. + * See [`Pallet::force_default_xcm_version`]. **/ forceDefaultXcmVersion: AugmentedSubmittable<(maybeXcmVersion: Option | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic, [Option]>; /** - * Ask a location to notify us regarding their XCM version and any changes to it. - * - * - `origin`: Must be Root. - * - `location`: The location to which we should subscribe for XCM version notifications. + * See [`Pallet::force_subscribe_version_notify`]. **/ forceSubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation]>; /** - * Require that a particular destination should no longer notify us regarding any XCM - * version changes. - * - * - `origin`: Must be Root. - * - `location`: The location to which we are currently subscribed for XCM version - * notifications which we no longer desire. + * See [`Pallet::force_suspension`]. + **/ + forceSuspension: AugmentedSubmittable<(suspended: bool | boolean | Uint8Array) => SubmittableExtrinsic, [bool]>; + /** + * See [`Pallet::force_unsubscribe_version_notify`]. **/ forceUnsubscribeVersionNotify: AugmentedSubmittable<(location: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation]>; /** - * Extoll that a particular destination can be communicated with through a particular - * version of XCM. - * - * - `origin`: Must be Root. - * - `location`: The destination that is being described. - * - `xcm_version`: The latest version of XCM that `location` supports. - **/ - forceXcmVersion: AugmentedSubmittable<(location: XcmV3MultiLocation | { parents?: any; interior?: any } | string | Uint8Array, xcmVersion: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmV3MultiLocation, u32]>; - /** - * Transfer some assets from the local chain to the sovereign account of a destination - * chain and forward a notification XCM. - * - * Fee payment on the destination side is made from the asset in the `assets` vector of - * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight - * is needed than `weight_limit`, then the operation will fail and the assets send may be - * at risk. - * - * - `origin`: Must be capable of withdrawing the `assets` and executing XCM. - * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send - * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain. - * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be - * an `AccountId32` value. - * - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the - * `dest` side. - * - `fee_asset_item`: The index into `assets` of the item which should be used to pay - * fees. - * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase. + * See [`Pallet::force_xcm_version`]. + **/ + forceXcmVersion: AugmentedSubmittable<(location: XcmV3MultiLocation | { parents?: any; interior?: any } | string | Uint8Array, version: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmV3MultiLocation, u32]>; + /** + * See [`Pallet::limited_reserve_transfer_assets`]. **/ limitedReserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V2: any } | { V3: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV3WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV3WeightLimit]>; /** - * Teleport some assets from the local chain to some destination chain. - * - * Fee payment on the destination side is made from the asset in the `assets` vector of - * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight - * is needed than `weight_limit`, then the operation will fail and the assets send may be - * at risk. - * - * - `origin`: Must be capable of withdrawing the `assets` and executing XCM. - * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send - * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain. - * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be - * an `AccountId32` value. - * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the - * `dest` side. May not be empty. - * - `fee_asset_item`: The index into `assets` of the item which should be used to pay - * fees. - * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase. + * See [`Pallet::limited_teleport_assets`]. **/ limitedTeleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V2: any } | { V3: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array, weightLimit: XcmV3WeightLimit | { Unlimited: any } | { Limited: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32, XcmV3WeightLimit]>; /** - * Transfer some assets from the local chain to the sovereign account of a destination - * chain and forward a notification XCM. - * - * Fee payment on the destination side is made from the asset in the `assets` vector of - * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited, - * with all fees taken as needed from the asset. - * - * - `origin`: Must be capable of withdrawing the `assets` and executing XCM. - * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send - * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain. - * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be - * an `AccountId32` value. - * - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the - * `dest` side. - * - `fee_asset_item`: The index into `assets` of the item which should be used to pay - * fees. + * See [`Pallet::reserve_transfer_assets`]. **/ reserveTransferAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V2: any } | { V3: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>; + /** + * See [`Pallet::send`]. + **/ send: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, message: XcmVersionedXcm | { V2: any } | { V3: any } | string | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedXcm]>; /** - * Teleport some assets from the local chain to some destination chain. - * - * Fee payment on the destination side is made from the asset in the `assets` vector of - * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited, - * with all fees taken as needed from the asset. - * - * - `origin`: Must be capable of withdrawing the `assets` and executing XCM. - * - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send - * from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain. - * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be - * an `AccountId32` value. - * - `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the - * `dest` side. May not be empty. - * - `fee_asset_item`: The index into `assets` of the item which should be used to pay - * fees. + * See [`Pallet::teleport_assets`]. **/ teleportAssets: AugmentedSubmittable<(dest: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, beneficiary: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, assets: XcmVersionedMultiAssets | { V2: any } | { V3: any } | string | Uint8Array, feeAssetItem: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [XcmVersionedMultiLocation, XcmVersionedMultiLocation, XcmVersionedMultiAssets, u32]>; }; preimage: { /** - * Register a preimage on-chain. - * - * If the preimage was previously requested, no fees or deposits are taken for providing - * the preimage. Otherwise, a deposit is taken proportional to the size of the preimage. + * See [`Pallet::note_preimage`]. **/ notePreimage: AugmentedSubmittable<(bytes: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Request a preimage be uploaded to the chain without paying any fees or deposits. - * - * If the preimage requests has already been provided on-chain, we unreserve any deposit - * a user may have paid, and take the control of the preimage out of their hands. + * See [`Pallet::request_preimage`]. **/ requestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Clear an unrequested preimage from the runtime storage. - * - * If `len` is provided, then it will be a much cheaper operation. - * - * - `hash`: The hash of the preimage to be removed from the store. - * - `len`: The length of the preimage of `hash`. + * See [`Pallet::unnote_preimage`]. **/ unnotePreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Clear a previously made request for a preimage. - * - * NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`. + * See [`Pallet::unrequest_preimage`]. **/ unrequestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; }; proxy: { /** - * Register a proxy account for the sender that is able to make calls on its behalf. - * - * The dispatch origin for this call must be _Signed_. - * - * Parameters: - * - `proxy`: The account that the `caller` would like to make a proxy. - * - `proxy_type`: The permissions allowed for this proxy account. - * - `delay`: The announcement period required of the initial proxy. Will generally be - * zero. + * See [`Pallet::add_proxy`]. **/ addProxy: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, proxyType: SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number | Uint8Array, delay: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, SpiritnetRuntimeProxyType, u64]>; /** - * Publish the hash of a proxy-call that will be made in the future. - * - * This must be called some number of blocks before the corresponding `proxy` is attempted - * if the delay associated with the proxy relationship is greater than zero. - * - * No more than `MaxPending` announcements may be made at any one time. - * - * This will take a deposit of `AnnouncementDepositFactor` as well as - * `AnnouncementDepositBase` if there are no other pending announcements. - * - * The dispatch origin for this call must be _Signed_ and a proxy of `real`. - * - * Parameters: - * - `real`: The account that the proxy will make a call on behalf of. - * - `call_hash`: The hash of the call to be made by the `real` account. + * See [`Pallet::announce`]. **/ announce: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; /** - * Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and - * initialize it with a proxy of `proxy_type` for `origin` sender. - * - * Requires a `Signed` origin. - * - * - `proxy_type`: The type of the proxy that the sender will be registered as over the - * new account. This will almost always be the most permissive `ProxyType` possible to - * allow for maximum flexibility. - * - `index`: A disambiguation index, in case this is called multiple times in the same - * transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just - * want to use `0`. - * - `delay`: The announcement period required of the initial proxy. Will generally be - * zero. - * - * Fails with `Duplicate` if this has already been called in this transaction, from the - * same sender, with the same parameters. - * - * Fails if there are insufficient funds to pay for deposit. + * See [`Pallet::create_pure`]. **/ createPure: AugmentedSubmittable<(proxyType: SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number | Uint8Array, delay: u64 | AnyNumber | Uint8Array, index: u16 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [SpiritnetRuntimeProxyType, u64, u16]>; /** - * Removes a previously spawned pure proxy. - * - * WARNING: **All access to this account will be lost.** Any funds held in it will be - * inaccessible. - * - * Requires a `Signed` origin, and the sender account must have been created by a call to - * `pure` with corresponding parameters. - * - * - `spawner`: The account that originally called `pure` to create this account. - * - `index`: The disambiguation index originally passed to `pure`. Probably `0`. - * - `proxy_type`: The proxy type originally passed to `pure`. - * - `height`: The height of the chain when the call to `pure` was processed. - * - `ext_index`: The extrinsic index in which the call to `pure` was processed. - * - * Fails with `NoPermission` in case the caller is not a previously created pure - * account whose `pure` call has corresponding parameters. + * See [`Pallet::kill_pure`]. **/ killPure: AugmentedSubmittable<(spawner: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, proxyType: SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number | Uint8Array, index: u16 | AnyNumber | Uint8Array, height: Compact | AnyNumber | Uint8Array, extIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, SpiritnetRuntimeProxyType, u16, Compact, Compact]>; /** - * Dispatch the given `call` from an account that the sender is authorised for through - * `add_proxy`. - * - * The dispatch origin for this call must be _Signed_. - * - * Parameters: - * - `real`: The account that the proxy will make a call on behalf of. - * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. - * - `call`: The call to be made by the `real` account. + * See [`Pallet::proxy`]. **/ proxy: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, forceProxyType: Option | null | Uint8Array | SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, Option, Call]>; /** - * Dispatch the given `call` from an account that the sender is authorized for through - * `add_proxy`. - * - * Removes any corresponding announcement(s). - * - * The dispatch origin for this call must be _Signed_. - * - * Parameters: - * - `real`: The account that the proxy will make a call on behalf of. - * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. - * - `call`: The call to be made by the `real` account. + * See [`Pallet::proxy_announced`]. **/ proxyAnnounced: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, forceProxyType: Option | null | Uint8Array | SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress, Option, Call]>; /** - * Remove the given announcement of a delegate. - * - * May be called by a target (proxied) account to remove a call that one of their delegates - * (`delegate`) has announced they want to execute. The deposit is returned. - * - * The dispatch origin for this call must be _Signed_. - * - * Parameters: - * - `delegate`: The account that previously announced the call. - * - `call_hash`: The hash of the call to be made. + * See [`Pallet::reject_announcement`]. **/ rejectAnnouncement: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; /** - * Remove a given announcement. - * - * May be called by a proxy account to remove a call they previously announced and return - * the deposit. - * - * The dispatch origin for this call must be _Signed_. - * - * Parameters: - * - `real`: The account that the proxy will make a call on behalf of. - * - `call_hash`: The hash of the call to be made by the `real` account. + * See [`Pallet::remove_announcement`]. **/ removeAnnouncement: AugmentedSubmittable<(real: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, callHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, H256]>; /** - * Unregister all proxy accounts for the sender. - * - * The dispatch origin for this call must be _Signed_. - * - * WARNING: This may be called on accounts created by `pure`, however if done, then - * the unreserved fees will be inaccessible. **All access to this account will be lost.** + * See [`Pallet::remove_proxies`]. **/ removeProxies: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Unregister a proxy account for the sender. - * - * The dispatch origin for this call must be _Signed_. - * - * Parameters: - * - `proxy`: The account that the `caller` would like to remove as a proxy. - * - `proxy_type`: The permissions currently enabled for the removed proxy account. + * See [`Pallet::remove_proxy`]. **/ removeProxy: AugmentedSubmittable<(delegate: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, proxyType: SpiritnetRuntimeProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming' | number | Uint8Array, delay: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, SpiritnetRuntimeProxyType, u64]>; }; publicCredentials: { /** - * Register a new public credential on chain. - * - * This function fails if a credential with the same identifier already - * exists for the specified subject. - * - * Emits `CredentialStored`. + * See [`Pallet::add`]. **/ add: AugmentedSubmittable<(credential: PublicCredentialsCredentialsCredential | { ctypeHash?: any; subject?: any; claims?: any; authorization?: any } | string | Uint8Array) => SubmittableExtrinsic, [PublicCredentialsCredentialsCredential]>; /** - * Changes the deposit owner. - * - * The balance that is reserved by the current deposit owner will be - * freed and balance of the new deposit owner will get reserved. - * - * The subject of the call must be the owner of the credential. - * The sender of the call will be the new deposit owner. + * See [`Pallet::change_deposit_owner`]. **/ changeDepositOwner: AugmentedSubmittable<(credentialId: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Removes the information pertaining a public credential from the - * chain and returns the deposit to its payer. - * - * The removal of the credential does not delete it entirely from the - * blockchain history, but only its link *from* the blockchain state - * *to* the blockchain history is removed. - * - * Clients parsing public credentials should interpret - * the lack of such a link as the fact that the credential has been - * removed by its attester some time in the past. - * - * This function fails if a credential already exists for the specified - * subject. - * - * The dispatch origin must be the owner of the deposit, hence not the - * credential's attester. - * - * Emits `CredentialRemoved`. + * See [`Pallet::reclaim_deposit`]. **/ reclaimDeposit: AugmentedSubmittable<(credentialId: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Removes the information pertaining a public credential from the - * chain. - * - * The removal of the credential does not delete it entirely from the - * blockchain history, but only its link *from* the blockchain state - * *to* the blockchain history is removed. - * - * Clients parsing public credentials should interpret - * the lack of such a link as the fact that the credential has been - * removed by its attester some time in the past. - * - * This function fails if a credential already exists for the specified - * subject. - * - * The dispatch origin must be authorized to remove the credential. - * - * Emits `CredentialRemoved`. + * See [`Pallet::remove`]. **/ remove: AugmentedSubmittable<(credentialId: H256 | string | Uint8Array, authorization: Option | null | Uint8Array | RuntimeCommonAuthorizationPalletAuthorize | { Delegation: any } | string) => SubmittableExtrinsic, [H256, Option]>; /** - * Revokes a public credential. - * - * If a credential was already revoked, this function does not fail but - * simply results in a noop. - * - * The dispatch origin must be authorized to revoke the credential. - * - * Emits `CredentialRevoked`. + * See [`Pallet::revoke`]. **/ revoke: AugmentedSubmittable<(credentialId: H256 | string | Uint8Array, authorization: Option | null | Uint8Array | RuntimeCommonAuthorizationPalletAuthorize | { Delegation: any } | string) => SubmittableExtrinsic, [H256, Option]>; /** - * Unrevokes a public credential. - * - * If a credential was not revoked, this function does not fail but - * simply results in a noop. - * - * The dispatch origin must be authorized to unrevoke the - * credential. - * - * Emits `CredentialUnrevoked`. + * See [`Pallet::unrevoke`]. **/ unrevoke: AugmentedSubmittable<(credentialId: H256 | string | Uint8Array, authorization: Option | null | Uint8Array | RuntimeCommonAuthorizationPalletAuthorize | { Delegation: any } | string) => SubmittableExtrinsic, [H256, Option]>; /** - * Updates the deposit amount to the current deposit rate. - * - * The sender must be the deposit owner. + * See [`Pallet::update_deposit`]. **/ updateDeposit: AugmentedSubmittable<(credentialId: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; }; scheduler: { /** - * Cancel an anonymously scheduled task. + * See [`Pallet::cancel`]. **/ cancel: AugmentedSubmittable<(when: u64 | AnyNumber | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64, u32]>; /** - * Cancel a named scheduled task. + * See [`Pallet::cancel_named`]. **/ cancelNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array) => SubmittableExtrinsic, [U8aFixed]>; /** - * Anonymously schedule a task. + * See [`Pallet::schedule`]. **/ schedule: AugmentedSubmittable<(when: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [u64, Option>, u8, Call]>; /** - * Anonymously schedule a task after a delay. + * See [`Pallet::schedule_after`]. **/ scheduleAfter: AugmentedSubmittable<(after: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [u64, Option>, u8, Call]>; /** - * Schedule a named task. + * See [`Pallet::schedule_named`]. **/ scheduleNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, when: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [U8aFixed, u64, Option>, u8, Call]>; /** - * Schedule a named task after a delay. + * See [`Pallet::schedule_named_after`]. **/ scheduleNamedAfter: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, after: u64 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u64, u32]> | [u64 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [U8aFixed, u64, Option>, u8, Call]>; }; session: { /** - * Removes any session key(s) of the function caller. - * - * This doesn't take effect until the next session. - * - * The dispatch origin of this function must be Signed and the account must be either be - * convertible to a validator ID using the chain's typical addressing system (this usually - * means being a controller account) or directly convertible into a validator ID (which - * usually means being a stash account). - * - * ## Complexity - * - `O(1)` in number of key types. Actual cost depends on the number of length of - * `T::Keys::key_ids()` which is fixed. + * See [`Pallet::purge_keys`]. **/ purgeKeys: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Sets the session key(s) of the function caller to `keys`. - * Allows an account to set its session key prior to becoming a validator. - * This doesn't take effect until the next session. - * - * The dispatch origin of this function must be signed. - * - * ## Complexity - * - `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is - * fixed. + * See [`Pallet::set_keys`]. **/ setKeys: AugmentedSubmittable<(keys: SpiritnetRuntimeSessionKeys | { aura?: any } | string | Uint8Array, proof: Bytes | string | Uint8Array) => SubmittableExtrinsic, [SpiritnetRuntimeSessionKeys, Bytes]>; }; system: { /** - * Kill all storage items with a key that starts with the given prefix. - * - * **NOTE:** We rely on the Root origin to provide us the number of subkeys under - * the prefix we are removing to accurately calculate the weight of this function. + * See [`Pallet::kill_prefix`]. **/ killPrefix: AugmentedSubmittable<(prefix: Bytes | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Bytes, u32]>; /** - * Kill some items from storage. + * See [`Pallet::kill_storage`]. **/ killStorage: AugmentedSubmittable<(keys: Vec | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** - * Make some on-chain remark. - * - * ## Complexity - * - `O(1)` + * See [`Pallet::remark`]. **/ remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Make some on-chain remark and emit event. + * See [`Pallet::remark_with_event`]. **/ remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Set the new runtime code. - * - * ## Complexity - * - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code` + * See [`Pallet::set_code`]. **/ setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Set the new runtime code without doing any checks of the given `code`. - * - * ## Complexity - * - `O(C)` where `C` length of `code` + * See [`Pallet::set_code_without_checks`]. **/ setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Set the number of pages in the WebAssembly environment's heap. + * See [`Pallet::set_heap_pages`]. **/ setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; /** - * Set some items of storage. + * See [`Pallet::set_storage`]. **/ setStorage: AugmentedSubmittable<(items: Vec> | ([Bytes | string | Uint8Array, Bytes | string | Uint8Array])[]) => SubmittableExtrinsic, [Vec>]>; }; technicalCommittee: { /** - * Close a vote that is either approved, disapproved or whose voting period has ended. - * - * May be called by any signed account in order to finish voting and close the proposal. - * - * If called before the end of the voting period it will only close the vote if it is - * has enough votes to be approved or disapproved. - * - * If called after the end of the voting period abstentions are counted as rejections - * unless there is a prime member set and the prime member cast an approval. - * - * If the close operation completes successfully with disapproval, the transaction fee will - * be waived. Otherwise execution of the approved operation will be charged to the caller. - * - * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed - * proposal. - * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via - * `storage::read` so it is `size_of::() == 4` larger than the pure length. - * - * ## Complexity - * - `O(B + M + P1 + P2)` where: - * - `B` is `proposal` size in bytes (length-fee-bounded) - * - `M` is members-count (code- and governance-bounded) - * - `P1` is the complexity of `proposal` preimage. - * - `P2` is proposal-count (code-bounded) + * See [`Pallet::close`]. **/ close: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, SpWeightsWeightV2Weight, Compact]>; /** - * Close a vote that is either approved, disapproved or whose voting period has ended. - * - * May be called by any signed account in order to finish voting and close the proposal. - * - * If called before the end of the voting period it will only close the vote if it is - * has enough votes to be approved or disapproved. - * - * If called after the end of the voting period abstentions are counted as rejections - * unless there is a prime member set and the prime member cast an approval. - * - * If the close operation completes successfully with disapproval, the transaction fee will - * be waived. Otherwise execution of the approved operation will be charged to the caller. - * - * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed - * proposal. - * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via - * `storage::read` so it is `size_of::() == 4` larger than the pure length. - * - * ## Complexity - * - `O(B + M + P1 + P2)` where: - * - `B` is `proposal` size in bytes (length-fee-bounded) - * - `M` is members-count (code- and governance-bounded) - * - `P1` is the complexity of `proposal` preimage. - * - `P2` is proposal-count (code-bounded) - **/ - closeOldWeight: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, Compact, Compact]>; - /** - * Disapprove a proposal, close, and remove it from the system, regardless of its current - * state. - * - * Must be called by the Root origin. - * - * Parameters: - * * `proposal_hash`: The hash of the proposal that should be disapproved. - * - * ## Complexity - * O(P) where P is the number of max proposals + * See [`Pallet::disapprove_proposal`]. **/ disapproveProposal: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Dispatch a proposal from a member using the `Member` origin. - * - * Origin must be a member of the collective. - * - * ## Complexity: - * - `O(B + M + P)` where: - * - `B` is `proposal` size in bytes (length-fee-bounded) - * - `M` members-count (code-bounded) - * - `P` complexity of dispatching `proposal` + * See [`Pallet::execute`]. **/ execute: AugmentedSubmittable<(proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Call, Compact]>; /** - * Add a new proposal to either be voted on or executed directly. - * - * Requires the sender to be member. - * - * `threshold` determines whether `proposal` is executed directly (`threshold < 2`) - * or put up for voting. - * - * ## Complexity - * - `O(B + M + P1)` or `O(B + M + P2)` where: - * - `B` is `proposal` size in bytes (length-fee-bounded) - * - `M` is members-count (code- and governance-bounded) - * - branching is influenced by `threshold` where: - * - `P1` is proposal execution complexity (`threshold < 2`) - * - `P2` is proposals-count (code-bounded) (`threshold >= 2`) + * See [`Pallet::propose`]. **/ propose: AugmentedSubmittable<(threshold: Compact | AnyNumber | Uint8Array, proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Call, Compact]>; /** - * Set the collective's membership. - * - * - `new_members`: The new member list. Be nice to the chain and provide it sorted. - * - `prime`: The prime member whose vote sets the default. - * - `old_count`: The upper bound for the previous number of members in storage. Used for - * weight estimation. - * - * The dispatch of this call must be `SetMembersOrigin`. - * - * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but - * the weight estimations rely on it to estimate dispatchable weight. - * - * # WARNING: - * - * The `pallet-collective` can also be managed by logic outside of the pallet through the - * implementation of the trait [`ChangeMembers`]. - * Any call to `set_members` must be careful that the member set doesn't get out of sync - * with other logic managing the member set. - * - * ## Complexity: - * - `O(MP + N)` where: - * - `M` old-members-count (code- and governance-bounded) - * - `N` new-members-count (code- and governance-bounded) - * - `P` proposals-count (code-bounded) + * See [`Pallet::set_members`]. **/ setMembers: AugmentedSubmittable<(newMembers: Vec | (AccountId32 | string | Uint8Array)[], prime: Option | null | Uint8Array | AccountId32 | string, oldCount: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Vec, Option, u32]>; /** - * Add an aye or nay vote for the sender to the given proposal. - * - * Requires the sender to be a member. - * - * Transaction fees will be waived if the member is voting on any particular proposal - * for the first time and the call is successful. Subsequent vote changes will charge a - * fee. - * ## Complexity - * - `O(M)` where `M` is members-count (code- and governance-bounded) + * See [`Pallet::vote`]. **/ vote: AugmentedSubmittable<(proposal: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic, [H256, Compact, bool]>; }; technicalMembership: { /** - * Add a member `who` to the set. - * - * May only be called from `T::AddOrigin`. + * See [`Pallet::add_member`]. **/ addMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; /** - * Swap out the sending member for some other key `new`. - * - * May only be called from `Signed` origin of a current member. - * - * Prime membership is passed from the origin account to `new`, if extant. + * See [`Pallet::change_key`]. **/ changeKey: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; /** - * Remove the prime member if it exists. - * - * May only be called from `T::PrimeOrigin`. + * See [`Pallet::clear_prime`]. **/ clearPrime: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Remove a member `who` from the set. - * - * May only be called from `T::RemoveOrigin`. + * See [`Pallet::remove_member`]. **/ removeMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; /** - * Change the membership to a new set, disregarding the existing membership. Be nice and - * pass `members` pre-sorted. - * - * May only be called from `T::ResetOrigin`. + * See [`Pallet::reset_members`]. **/ resetMembers: AugmentedSubmittable<(members: Vec | (AccountId32 | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** - * Set the prime member. Must be a current member. - * - * May only be called from `T::PrimeOrigin`. + * See [`Pallet::set_prime`]. **/ setPrime: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; /** - * Swap out one member `remove` for another `add`. - * - * May only be called from `T::SwapOrigin`. - * - * Prime membership is *not* passed from `remove` to `add`, if extant. + * See [`Pallet::swap_member`]. **/ swapMember: AugmentedSubmittable<(remove: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, add: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress]>; }; timestamp: { /** - * Set the current time. - * - * This call should be invoked exactly once per block. It will panic at the finalization - * phase, if this call hasn't been invoked by that time. - * - * The timestamp should be greater than the previous one by the amount specified by - * `MinimumPeriod`. - * - * The dispatch origin for this call must be `Inherent`. - * - * ## Complexity - * - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`) - * - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in - * `on_finalize`) - * - 1 event handler `on_timestamp_set`. Must be `O(1)`. + * See [`Pallet::set`]. **/ set: AugmentedSubmittable<(now: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; }; tips: { /** - * Close and payout a tip. - * - * The dispatch origin for this call must be _Signed_. - * - * The tip identified by `hash` must have finished its countdown period. - * - * - `hash`: The identity of the open tip for which a tip value is declared. This is formed - * as the hash of the tuple of the original tip `reason` and the beneficiary account ID. - * - * ## Complexity - * - : `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`. `T` - * is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on - * the implementation of `T::Tippers`. + * See [`Pallet::close_tip`]. **/ closeTip: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Report something `reason` that deserves a tip and claim any eventual the finder's fee. - * - * The dispatch origin for this call must be _Signed_. - * - * Payment: `TipReportDepositBase` will be reserved from the origin account, as well as - * `DataDepositPerByte` for each byte in `reason`. - * - * - `reason`: The reason for, or the thing that deserves, the tip; generally this will be - * a UTF-8-encoded URL. - * - `who`: The account which should be credited for the tip. - * - * Emits `NewTip` if successful. - * - * ## Complexity - * - `O(R)` where `R` length of `reason`. - * - encoding and hashing of 'reason' + * See [`Pallet::report_awesome`]. **/ reportAwesome: AugmentedSubmittable<(reason: Bytes | string | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Bytes, MultiAddress]>; /** - * Retract a prior tip-report from `report_awesome`, and cancel the process of tipping. - * - * If successful, the original deposit will be unreserved. - * - * The dispatch origin for this call must be _Signed_ and the tip identified by `hash` - * must have been reported by the signing account through `report_awesome` (and not - * through `tip_new`). - * - * - `hash`: The identity of the open tip for which a tip value is declared. This is formed - * as the hash of the tuple of the original tip `reason` and the beneficiary account ID. - * - * Emits `TipRetracted` if successful. - * - * ## Complexity - * - `O(1)` - * - Depends on the length of `T::Hash` which is fixed. + * See [`Pallet::retract_tip`]. **/ retractTip: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Remove and slash an already-open tip. - * - * May only be called from `T::RejectOrigin`. - * - * As a result, the finder is slashed and the deposits are lost. - * - * Emits `TipSlashed` if successful. - * - * ## Complexity - * - O(1). + * See [`Pallet::slash_tip`]. **/ slashTip: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; /** - * Declare a tip value for an already-open tip. - * - * The dispatch origin for this call must be _Signed_ and the signing account must be a - * member of the `Tippers` set. - * - * - `hash`: The identity of the open tip for which a tip value is declared. This is formed - * as the hash of the tuple of the hash of the original tip `reason` and the beneficiary - * account ID. - * - `tip_value`: The amount of tip that the sender would like to give. The median tip - * value of active tippers will be given to the `who`. - * - * Emits `TipClosing` if the threshold of tippers has been reached and the countdown period - * has started. - * - * ## Complexity - * - `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`, insert - * tip and check closing, `T` is charged as upper bound given by `ContainsLengthBound`. - * The actual cost depends on the implementation of `T::Tippers`. - * - * Actually weight could be lower as it depends on how many tips are in `OpenTip` but it - * is weighted as if almost full i.e of length `T-1`. + * See [`Pallet::tip`]. **/ tip: AugmentedSubmittable<(hash: H256 | string | Uint8Array, tipValue: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact]>; /** - * Give a tip for something new; no finder's fee will be taken. - * - * The dispatch origin for this call must be _Signed_ and the signing account must be a - * member of the `Tippers` set. - * - * - `reason`: The reason for, or the thing that deserves, the tip; generally this will be - * a UTF-8-encoded URL. - * - `who`: The account which should be credited for the tip. - * - `tip_value`: The amount of tip that the sender would like to give. The median tip - * value of active tippers will be given to the `who`. - * - * Emits `NewTip` if successful. - * - * ## Complexity - * - `O(R + T)` where `R` length of `reason`, `T` is the number of tippers. - * - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by - * `ContainsLengthBound`. The actual cost depends on the implementation of - * `T::Tippers`. - * - `O(R)`: hashing and encoding of reason of length `R` + * See [`Pallet::tip_new`]. **/ tipNew: AugmentedSubmittable<(reason: Bytes | string | Uint8Array, who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, tipValue: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Bytes, MultiAddress, Compact]>; }; tipsMembership: { /** - * Add a member `who` to the set. - * - * May only be called from `T::AddOrigin`. + * See [`Pallet::add_member`]. **/ addMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; /** - * Swap out the sending member for some other key `new`. - * - * May only be called from `Signed` origin of a current member. - * - * Prime membership is passed from the origin account to `new`, if extant. + * See [`Pallet::change_key`]. **/ changeKey: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; /** - * Remove the prime member if it exists. - * - * May only be called from `T::PrimeOrigin`. + * See [`Pallet::clear_prime`]. **/ clearPrime: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Remove a member `who` from the set. - * - * May only be called from `T::RemoveOrigin`. + * See [`Pallet::remove_member`]. **/ removeMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; /** - * Change the membership to a new set, disregarding the existing membership. Be nice and - * pass `members` pre-sorted. - * - * May only be called from `T::ResetOrigin`. + * See [`Pallet::reset_members`]. **/ resetMembers: AugmentedSubmittable<(members: Vec | (AccountId32 | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** - * Set the prime member. Must be a current member. - * - * May only be called from `T::PrimeOrigin`. + * See [`Pallet::set_prime`]. **/ setPrime: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; /** - * Swap out one member `remove` for another `add`. - * - * May only be called from `T::SwapOrigin`. - * - * Prime membership is *not* passed from `remove` to `add`, if extant. + * See [`Pallet::swap_member`]. **/ swapMember: AugmentedSubmittable<(remove: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, add: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress]>; }; treasury: { /** - * Approve a proposal. At a later time, the proposal will be allocated to the beneficiary - * and the original deposit will be returned. - * - * May only be called from `T::ApproveOrigin`. - * - * ## Complexity - * - O(1). + * See [`Pallet::approve_proposal`]. **/ approveProposal: AugmentedSubmittable<(proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** - * Put forward a suggestion for spending. A deposit proportional to the value - * is reserved and slashed if the proposal is rejected. It is returned once the - * proposal is awarded. - * - * ## Complexity - * - O(1) + * See [`Pallet::propose_spend`]. **/ proposeSpend: AugmentedSubmittable<(value: Compact | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress]>; /** - * Reject a proposed spend. The original deposit will be slashed. - * - * May only be called from `T::RejectOrigin`. - * - * ## Complexity - * - O(1) + * See [`Pallet::reject_proposal`]. **/ rejectProposal: AugmentedSubmittable<(proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** - * Force a previously approved proposal to be removed from the approval queue. - * The original deposit will no longer be returned. - * - * May only be called from `T::RejectOrigin`. - * - `proposal_id`: The index of a proposal - * - * ## Complexity - * - O(A) where `A` is the number of approvals - * - * Errors: - * - `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue, - * i.e., the proposal has not been approved. This could also mean the proposal does not - * exist altogether, thus there is no way it would have been approved in the first place. + * See [`Pallet::remove_approval`]. **/ removeApproval: AugmentedSubmittable<(proposalId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** - * Propose and approve a spend of treasury funds. - * - * - `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`. - * - `amount`: The amount to be transferred from the treasury to the `beneficiary`. - * - `beneficiary`: The destination account for the transfer. - * - * NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the - * beneficiary. + * See [`Pallet::spend`]. **/ spend: AugmentedSubmittable<(amount: Compact | AnyNumber | Uint8Array, beneficiary: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, MultiAddress]>; }; utility: { /** - * Send a call through an indexed pseudonym of the sender. - * - * Filter from origin are passed along. The call will be dispatched with an origin which - * use the same filter as the origin of this call. - * - * NOTE: If you need to ensure that any account-based filtering is not honored (i.e. - * because you expect `proxy` to have been used prior in the call stack and you do not want - * the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1` - * in the Multisig pallet instead. - * - * NOTE: Prior to version *12, this was called `as_limited_sub`. - * - * The dispatch origin for this call must be _Signed_. + * See [`Pallet::as_derivative`]. **/ asDerivative: AugmentedSubmittable<(index: u16 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [u16, Call]>; /** - * Send a batch of dispatch calls. - * - * May be called from any origin except `None`. - * - * - `calls`: The calls to be dispatched from the same origin. The number of call must not - * exceed the constant: `batched_calls_limit` (available in constant metadata). - * - * If origin is root then the calls are dispatched without checking origin filter. (This - * includes bypassing `frame_system::Config::BaseCallFilter`). - * - * ## Complexity - * - O(C) where C is the number of calls to be batched. - * - * This will return `Ok` in all circumstances. To determine the success of the batch, an - * event is deposited. If a call failed and the batch was interrupted, then the - * `BatchInterrupted` event is deposited, along with the number of successful calls made - * and the error of the failed call. If all were successful, then the `BatchCompleted` - * event is deposited. + * See [`Pallet::batch`]. **/ batch: AugmentedSubmittable<(calls: Vec | (Call | IMethod | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** - * Send a batch of dispatch calls and atomically execute them. - * The whole transaction will rollback and fail if any of the calls failed. - * - * May be called from any origin except `None`. - * - * - `calls`: The calls to be dispatched from the same origin. The number of call must not - * exceed the constant: `batched_calls_limit` (available in constant metadata). - * - * If origin is root then the calls are dispatched without checking origin filter. (This - * includes bypassing `frame_system::Config::BaseCallFilter`). - * - * ## Complexity - * - O(C) where C is the number of calls to be batched. + * See [`Pallet::batch_all`]. **/ batchAll: AugmentedSubmittable<(calls: Vec | (Call | IMethod | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** - * Dispatches a function call with a provided origin. - * - * The dispatch origin for this call must be _Root_. - * - * ## Complexity - * - O(1). + * See [`Pallet::dispatch_as`]. **/ dispatchAs: AugmentedSubmittable<(asOrigin: SpiritnetRuntimeOriginCaller | { system: any } | { Void: any } | { Council: any } | { TechnicalCommittee: any } | { Did: any } | { PolkadotXcm: any } | { CumulusXcm: any } | string | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [SpiritnetRuntimeOriginCaller, Call]>; /** - * Send a batch of dispatch calls. - * Unlike `batch`, it allows errors and won't interrupt. - * - * May be called from any origin except `None`. - * - * - `calls`: The calls to be dispatched from the same origin. The number of call must not - * exceed the constant: `batched_calls_limit` (available in constant metadata). - * - * If origin is root then the calls are dispatch without checking origin filter. (This - * includes bypassing `frame_system::Config::BaseCallFilter`). - * - * ## Complexity - * - O(C) where C is the number of calls to be batched. + * See [`Pallet::force_batch`]. **/ forceBatch: AugmentedSubmittable<(calls: Vec | (Call | IMethod | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** - * Dispatch a function call with a specified weight. - * - * This function does not check the weight of the call, and instead allows the - * Root origin to specify the weight of the call. - * - * The dispatch origin for this call must be _Root_. + * See [`Pallet::with_weight`]. **/ withWeight: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array, weight: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [Call, SpWeightsWeightV2Weight]>; }; vesting: { /** - * Force a vested transfer. - * - * The dispatch origin for this call must be _Root_. - * - * - `source`: The account whose funds should be transferred. - * - `target`: The account that should be transferred the vested funds. - * - `schedule`: The vesting schedule attached to the transfer. - * - * Emits `VestingCreated`. - * - * NOTE: This will unlock all schedules through the current block. - * - * ## Complexity - * - `O(1)`. + * See [`Pallet::force_vested_transfer`]. **/ forceVestedTransfer: AugmentedSubmittable<(source: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, schedule: PalletVestingVestingInfo | { locked?: any; perBlock?: any; startingBlock?: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress, PalletVestingVestingInfo]>; /** - * Merge two vesting schedules together, creating a new vesting schedule that unlocks over - * the highest possible start and end blocks. If both schedules have already started the - * current block will be used as the schedule start; with the caveat that if one schedule - * is finished by the current block, the other will be treated as the new merged schedule, - * unmodified. - * - * NOTE: If `schedule1_index == schedule2_index` this is a no-op. - * NOTE: This will unlock all schedules through the current block prior to merging. - * NOTE: If both schedules have ended by the current block, no new schedule will be created - * and both will be removed. - * - * Merged schedule attributes: - * - `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block, - * current_block)`. - * - `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`. - * - `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`. - * - * The dispatch origin for this call must be _Signed_. - * - * - `schedule1_index`: index of the first schedule to merge. - * - `schedule2_index`: index of the second schedule to merge. + * See [`Pallet::merge_schedules`]. **/ mergeSchedules: AugmentedSubmittable<(schedule1Index: u32 | AnyNumber | Uint8Array, schedule2Index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32, u32]>; /** - * Unlock any vested funds of the sender account. - * - * The dispatch origin for this call must be _Signed_ and the sender must have funds still - * locked under this pallet. - * - * Emits either `VestingCompleted` or `VestingUpdated`. - * - * ## Complexity - * - `O(1)`. + * See [`Pallet::vest`]. **/ vest: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Create a vested transfer. - * - * The dispatch origin for this call must be _Signed_. - * - * - `target`: The account receiving the vested funds. - * - `schedule`: The vesting schedule attached to the transfer. - * - * Emits `VestingCreated`. - * - * NOTE: This will unlock all schedules through the current block. - * - * ## Complexity - * - `O(1)`. + * See [`Pallet::vested_transfer`]. **/ vestedTransfer: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, schedule: PalletVestingVestingInfo | { locked?: any; perBlock?: any; startingBlock?: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, PalletVestingVestingInfo]>; /** - * Unlock any vested funds of a `target` account. - * - * The dispatch origin for this call must be _Signed_. - * - * - `target`: The account whose vested funds should be unlocked. Must have funds still - * locked under this pallet. - * - * Emits either `VestingCompleted` or `VestingUpdated`. - * - * ## Complexity - * - `O(1)`. + * See [`Pallet::vest_other`]. **/ vestOther: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; }; web3Names: { /** - * Ban a name. - * - * A banned name cannot be claimed by anyone. The name's deposit - * is returned to the original payer. - * - * The origin must be the ban origin. - * - * Emits `Web3NameBanned` if the operation is carried out - * successfully. - * - * # - * Weight: O(1) - * - Reads: Banned, Owner, Names storage entries + origin check - * - Writes: Names, Owner, Banned storage entries + currency deposit - * release - * # + * See [`Pallet::ban`]. **/ ban: AugmentedSubmittable<(name: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Changes the deposit owner. - * - * The balance that is reserved by the current deposit owner will be - * freed and balance of the new deposit owner will get reserved. - * - * The subject of the call must be the owner of the web3name. - * The sender of the call will be the new deposit owner. + * See [`Pallet::change_deposit_owner`]. **/ changeDepositOwner: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Assign the specified name to the owner as specified in the - * origin. - * - * The name must not have already been claimed by someone else and the - * owner must not already own another name. - * - * Emits `Web3NameClaimed` if the operation is carried out - * successfully. - * - * # - * Weight: O(1) - * - Reads: Names, Owner, Banned storage entries + available currency - * check + origin check - * - Writes: Names, Owner storage entries + currency deposit reserve - * # + * See [`Pallet::claim`]. **/ claim: AugmentedSubmittable<(name: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Release the provided name from its owner. - * - * The origin must be the account that paid for the name's deposit. - * - * Emits `Web3NameReleased` if the operation is carried out - * successfully. - * - * # - * Weight: O(1) - * - Reads: Owner storage entry + origin check - * - Writes: Names, Owner storage entries + currency deposit release - * # + * See [`Pallet::reclaim_deposit`]. **/ reclaimDeposit: AugmentedSubmittable<(name: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Release the provided name from its owner. - * - * The origin must be the owner of the specified name. - * - * Emits `Web3NameReleased` if the operation is carried out - * successfully. - * - * # - * Weight: O(1) - * - Reads: Names storage entry + origin check - * - Writes: Names, Owner storage entries + currency deposit release - * # + * See [`Pallet::release_by_owner`]. **/ releaseByOwner: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Unban a name. - * - * Make a name claimable again. - * - * The origin must be the ban origin. - * - * Emits `Web3NameUnbanned` if the operation is carried out - * successfully. - * - * # - * Weight: O(1) - * - Reads: Banned storage entry + origin check - * - Writes: Banned storage entry deposit release - * # + * See [`Pallet::unban`]. **/ unban: AugmentedSubmittable<(name: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** - * Updates the deposit amount to the current deposit rate. - * - * The sender must be the deposit owner. + * See [`Pallet::update_deposit`]. **/ updateDeposit: AugmentedSubmittable<(nameInput: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; }; xcmpQueue: { /** - * Resumes all XCM executions for the XCMP queue. - * - * Note that this function doesn't change the status of the in/out bound channels. - * - * - `origin`: Must pass `ControllerOrigin`. + * See [`Pallet::resume_xcm_execution`]. **/ resumeXcmExecution: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Services a single overweight XCM. - * - * - `origin`: Must pass `ExecuteOverweightOrigin`. - * - `index`: The index of the overweight XCM to service - * - `weight_limit`: The amount of weight that XCM execution may take. - * - * Errors: - * - `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map. - * - `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format. - * - `WeightOverLimit`: XCM execution may use greater `weight_limit`. - * - * Events: - * - `OverweightServiced`: On success. + * See [`Pallet::service_overweight`]. **/ serviceOverweight: AugmentedSubmittable<(index: u64 | AnyNumber | Uint8Array, weightLimit: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [u64, SpWeightsWeightV2Weight]>; /** - * Suspends all XCM executions for the XCMP queue, regardless of the sender's origin. - * - * - `origin`: Must pass `ControllerOrigin`. + * See [`Pallet::suspend_xcm_execution`]. **/ suspendXcmExecution: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** - * Overwrites the number of pages of messages which must be in the queue after which we drop any further - * messages from the channel. - * - * - `origin`: Must pass `Root`. - * - `new`: Desired value for `QueueConfigData.drop_threshold` + * See [`Pallet::update_drop_threshold`]. **/ updateDropThreshold: AugmentedSubmittable<(updated: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** - * Overwrites the number of pages of messages which the queue must be reduced to before it signals that - * message sending may recommence after it has been suspended. - * - * - `origin`: Must pass `Root`. - * - `new`: Desired value for `QueueConfigData.resume_threshold` + * See [`Pallet::update_resume_threshold`]. **/ updateResumeThreshold: AugmentedSubmittable<(updated: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** - * Overwrites the number of pages of messages which must be in the queue for the other side to be told to - * suspend their sending. - * - * - `origin`: Must pass `Root`. - * - `new`: Desired value for `QueueConfigData.suspend_value` + * See [`Pallet::update_suspend_threshold`]. **/ updateSuspendThreshold: AugmentedSubmittable<(updated: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** - * Overwrites the amount of remaining weight under which we stop processing messages. - * - * - `origin`: Must pass `Root`. - * - `new`: Desired value for `QueueConfigData.threshold_weight` + * See [`Pallet::update_threshold_weight`]. **/ updateThresholdWeight: AugmentedSubmittable<(updated: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [SpWeightsWeightV2Weight]>; /** - * Overwrites the speed to which the available weight approaches the maximum weight. - * A lower number results in a faster progression. A value of 1 makes the entire weight available initially. - * - * - `origin`: Must pass `Root`. - * - `new`: Desired value for `QueueConfigData.weight_restrict_decay`. + * See [`Pallet::update_weight_restrict_decay`]. **/ updateWeightRestrictDecay: AugmentedSubmittable<(updated: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [SpWeightsWeightV2Weight]>; /** - * Overwrite the maximum amount of weight any individual message may consume. - * Messages above this weight go into the overweight queue and may only be serviced explicitly. - * - * - `origin`: Must pass `Root`. - * - `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`. + * See [`Pallet::update_xcmp_max_individual_weight`]. **/ updateXcmpMaxIndividualWeight: AugmentedSubmittable<(updated: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic, [SpWeightsWeightV2Weight]>; }; diff --git a/packages/augment-api/src/interfaces/lookup.ts b/packages/augment-api/src/interfaces/lookup.ts index f072e2941..6ed6d72e1 100644 --- a/packages/augment-api/src/interfaces/lookup.ts +++ b/packages/augment-api/src/interfaces/lookup.ts @@ -5,7 +5,7 @@ export default { /** - * Lookup3: frame_system::AccountInfo> + * Lookup3: frame_system::AccountInfo> **/ FrameSystemAccountInfo: { nonce: 'u64', @@ -15,16 +15,16 @@ export default { data: 'PalletBalancesAccountData' }, /** - * Lookup5: pallet_balances::AccountData + * Lookup5: pallet_balances::types::AccountData **/ PalletBalancesAccountData: { free: 'u128', reserved: 'u128', - miscFrozen: 'u128', - feeFrozen: 'u128' + frozen: 'u128', + flags: 'u128' }, /** - * Lookup8: frame_support::dispatch::PerDispatchClass + * Lookup9: frame_support::dispatch::PerDispatchClass **/ FrameSupportDispatchPerDispatchClassWeight: { normal: 'SpWeightsWeightV2Weight', @@ -32,20 +32,20 @@ export default { mandatory: 'SpWeightsWeightV2Weight' }, /** - * Lookup9: sp_weights::weight_v2::Weight + * Lookup10: sp_weights::weight_v2::Weight **/ SpWeightsWeightV2Weight: { refTime: 'Compact', proofSize: 'Compact' }, /** - * Lookup13: sp_runtime::generic::digest::Digest + * Lookup14: sp_runtime::generic::digest::Digest **/ SpRuntimeDigest: { logs: 'Vec' }, /** - * Lookup15: sp_runtime::generic::digest::DigestItem + * Lookup16: sp_runtime::generic::digest::DigestItem **/ SpRuntimeDigestDigestItem: { _enum: { @@ -61,7 +61,7 @@ export default { } }, /** - * Lookup18: frame_system::EventRecord + * Lookup19: frame_system::EventRecord **/ FrameSystemEventRecord: { phase: 'FrameSystemPhase', @@ -69,7 +69,7 @@ export default { topics: 'Vec' }, /** - * Lookup20: frame_system::pallet::Event + * Lookup21: frame_system::pallet::Event **/ FrameSystemEvent: { _enum: { @@ -97,7 +97,7 @@ export default { } }, /** - * Lookup21: frame_support::dispatch::DispatchInfo + * Lookup22: frame_support::dispatch::DispatchInfo **/ FrameSupportDispatchDispatchInfo: { weight: 'SpWeightsWeightV2Weight', @@ -105,19 +105,19 @@ export default { paysFee: 'FrameSupportDispatchPays' }, /** - * Lookup22: frame_support::dispatch::DispatchClass + * Lookup23: frame_support::dispatch::DispatchClass **/ FrameSupportDispatchDispatchClass: { _enum: ['Normal', 'Operational', 'Mandatory'] }, /** - * Lookup23: frame_support::dispatch::Pays + * Lookup24: frame_support::dispatch::Pays **/ FrameSupportDispatchPays: { _enum: ['Yes', 'No'] }, /** - * Lookup24: sp_runtime::DispatchError + * Lookup25: sp_runtime::DispatchError **/ SpRuntimeDispatchError: { _enum: { @@ -133,36 +133,37 @@ export default { Transactional: 'SpRuntimeTransactionalError', Exhausted: 'Null', Corruption: 'Null', - Unavailable: 'Null' + Unavailable: 'Null', + RootNotAllowed: 'Null' } }, /** - * Lookup25: sp_runtime::ModuleError + * Lookup26: sp_runtime::ModuleError **/ SpRuntimeModuleError: { index: 'u8', error: '[u8;4]' }, /** - * Lookup26: sp_runtime::TokenError + * Lookup27: sp_runtime::TokenError **/ SpRuntimeTokenError: { - _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported'] + _enum: ['FundsUnavailable', 'OnlyProvider', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported', 'CannotCreateHold', 'NotExpendable', 'Blocked'] }, /** - * Lookup27: sp_arithmetic::ArithmeticError + * Lookup28: sp_arithmetic::ArithmeticError **/ SpArithmeticArithmeticError: { _enum: ['Underflow', 'Overflow', 'DivisionByZero'] }, /** - * Lookup28: sp_runtime::TransactionalError + * Lookup29: sp_runtime::TransactionalError **/ SpRuntimeTransactionalError: { _enum: ['LimitReached', 'NoLayer'] }, /** - * Lookup29: pallet_indices::pallet::Event + * Lookup30: pallet_indices::pallet::Event **/ PalletIndicesEvent: { _enum: { @@ -180,7 +181,7 @@ export default { } }, /** - * Lookup30: pallet_balances::pallet::Event + * Lookup31: pallet_balances::pallet::Event **/ PalletBalancesEvent: { _enum: { @@ -200,7 +201,6 @@ export default { BalanceSet: { who: 'AccountId32', free: 'u128', - reserved: 'u128', }, Reserved: { who: 'AccountId32', @@ -225,19 +225,60 @@ export default { amount: 'u128', }, Slashed: { + who: 'AccountId32', + amount: 'u128', + }, + Minted: { + who: 'AccountId32', + amount: 'u128', + }, + Burned: { + who: 'AccountId32', + amount: 'u128', + }, + Suspended: { + who: 'AccountId32', + amount: 'u128', + }, + Restored: { + who: 'AccountId32', + amount: 'u128', + }, + Upgraded: { + who: 'AccountId32', + }, + Issued: { + amount: 'u128', + }, + Rescinded: { + amount: 'u128', + }, + Locked: { + who: 'AccountId32', + amount: 'u128', + }, + Unlocked: { + who: 'AccountId32', + amount: 'u128', + }, + Frozen: { + who: 'AccountId32', + amount: 'u128', + }, + Thawed: { who: 'AccountId32', amount: 'u128' } } }, /** - * Lookup31: frame_support::traits::tokens::misc::BalanceStatus + * Lookup32: frame_support::traits::tokens::misc::BalanceStatus **/ FrameSupportTokensMiscBalanceStatus: { _enum: ['Free', 'Reserved'] }, /** - * Lookup32: pallet_transaction_payment::pallet::Event + * Lookup33: pallet_transaction_payment::pallet::Event **/ PalletTransactionPaymentEvent: { _enum: { @@ -249,7 +290,7 @@ export default { } }, /** - * Lookup33: pallet_session::pallet::Event + * Lookup34: pallet_session::pallet::Event **/ PalletSessionEvent: { _enum: { @@ -259,7 +300,7 @@ export default { } }, /** - * Lookup34: parachain_staking::pallet::Event + * Lookup35: parachain_staking::pallet::Event **/ ParachainStakingEvent: { _enum: { @@ -287,7 +328,7 @@ export default { } }, /** - * Lookup36: pallet_democracy::pallet::Event + * Lookup37: pallet_democracy::pallet::Event **/ PalletDemocracyEvent: { _enum: { @@ -365,13 +406,13 @@ export default { } }, /** - * Lookup37: pallet_democracy::vote_threshold::VoteThreshold + * Lookup38: pallet_democracy::vote_threshold::VoteThreshold **/ PalletDemocracyVoteThreshold: { _enum: ['SuperMajorityApprove', 'SuperMajorityAgainst', 'SimpleMajority'] }, /** - * Lookup38: pallet_democracy::vote::AccountVote + * Lookup39: pallet_democracy::vote::AccountVote **/ PalletDemocracyVoteAccountVote: { _enum: { @@ -386,7 +427,7 @@ export default { } }, /** - * Lookup40: pallet_democracy::types::MetadataOwner + * Lookup41: pallet_democracy::types::MetadataOwner **/ PalletDemocracyMetadataOwner: { _enum: { @@ -396,7 +437,7 @@ export default { } }, /** - * Lookup41: pallet_collective::pallet::Event + * Lookup42: pallet_collective::pallet::Event **/ PalletCollectiveEvent: { _enum: { @@ -435,13 +476,13 @@ export default { } }, /** - * Lookup46: pallet_membership::pallet::Event + * Lookup47: pallet_membership::pallet::Event **/ PalletMembershipEvent: { _enum: ['MemberAdded', 'MemberRemoved', 'MembersSwapped', 'MembersReset', 'KeyChanged', 'Dummy'] }, /** - * Lookup47: pallet_treasury::pallet::Event + * Lookup48: pallet_treasury::pallet::Event **/ PalletTreasuryEvent: { _enum: { @@ -481,7 +522,7 @@ export default { } }, /** - * Lookup48: pallet_utility::pallet::Event + * Lookup49: pallet_utility::pallet::Event **/ PalletUtilityEvent: { _enum: { @@ -501,7 +542,7 @@ export default { } }, /** - * Lookup49: pallet_vesting::pallet::Event + * Lookup50: pallet_vesting::pallet::Event **/ PalletVestingEvent: { _enum: { @@ -515,7 +556,7 @@ export default { } }, /** - * Lookup50: pallet_scheduler::pallet::Event + * Lookup51: pallet_scheduler::pallet::Event **/ PalletSchedulerEvent: { _enum: { @@ -547,7 +588,7 @@ export default { } }, /** - * Lookup53: pallet_proxy::pallet::Event + * Lookup54: pallet_proxy::pallet::Event **/ PalletProxyEvent: { _enum: { @@ -580,13 +621,13 @@ export default { } }, /** - * Lookup54: spiritnet_runtime::ProxyType + * Lookup55: spiritnet_runtime::ProxyType **/ SpiritnetRuntimeProxyType: { _enum: ['Any', 'NonTransfer', 'Governance', 'ParachainStaking', 'CancelProxy', 'NonDepositClaiming'] }, /** - * Lookup56: pallet_preimage::pallet::Event + * Lookup57: pallet_preimage::pallet::Event **/ PalletPreimageEvent: { _enum: { @@ -611,7 +652,7 @@ export default { } }, /** - * Lookup58: pallet_tips::pallet::Event + * Lookup59: pallet_tips::pallet::Event **/ PalletTipsEvent: { _enum: { @@ -637,7 +678,7 @@ export default { } }, /** - * Lookup59: pallet_multisig::pallet::Event + * Lookup60: pallet_multisig::pallet::Event **/ PalletMultisigEvent: { _enum: { @@ -668,14 +709,14 @@ export default { } }, /** - * Lookup60: pallet_multisig::Timepoint + * Lookup61: pallet_multisig::Timepoint **/ PalletMultisigTimepoint: { height: 'u64', index: 'u32' }, /** - * Lookup61: ctype::pallet::Event + * Lookup62: ctype::pallet::Event **/ CtypeEvent: { _enum: { @@ -684,7 +725,7 @@ export default { } }, /** - * Lookup62: attestation::pallet::Event + * Lookup63: attestation::pallet::Event **/ AttestationEvent: { _enum: { @@ -695,7 +736,7 @@ export default { } }, /** - * Lookup64: runtime_common::authorization::AuthorizationId + * Lookup65: runtime_common::authorization::AuthorizationId **/ RuntimeCommonAuthorizationAuthorizationId: { _enum: { @@ -703,7 +744,7 @@ export default { } }, /** - * Lookup65: delegation::pallet::Event + * Lookup66: delegation::pallet::Event **/ DelegationEvent: { _enum: { @@ -717,13 +758,13 @@ export default { } }, /** - * Lookup66: delegation::delegation_hierarchy::Permissions + * Lookup67: delegation::delegation_hierarchy::Permissions **/ DelegationDelegationHierarchyPermissions: { bits: 'u32' }, /** - * Lookup67: did::pallet::Event + * Lookup68: did::pallet::Event **/ DidEvent: { _enum: { @@ -734,7 +775,7 @@ export default { } }, /** - * Lookup68: pallet_did_lookup::pallet::Event + * Lookup69: pallet_did_lookup::pallet::Event **/ PalletDidLookupEvent: { _enum: { @@ -745,7 +786,7 @@ export default { } }, /** - * Lookup69: pallet_did_lookup::linkable_account::LinkableAccountId + * Lookup70: pallet_did_lookup::linkable_account::LinkableAccountId **/ PalletDidLookupLinkableAccountLinkableAccountId: { _enum: { @@ -754,11 +795,11 @@ export default { } }, /** - * Lookup70: pallet_did_lookup::account::AccountId20 + * Lookup71: pallet_did_lookup::account::AccountId20 **/ PalletDidLookupAccountAccountId20: '[u8;20]', /** - * Lookup72: pallet_web3_names::pallet::Event + * Lookup73: pallet_web3_names::pallet::Event **/ PalletWeb3NamesEvent: { _enum: { @@ -779,7 +820,7 @@ export default { } }, /** - * Lookup75: public_credentials::pallet::Event + * Lookup76: public_credentials::pallet::Event **/ PublicCredentialsEvent: { _enum: { @@ -800,18 +841,18 @@ export default { } }, /** - * Lookup76: runtime_common::assets::AssetDid + * Lookup77: runtime_common::assets::AssetDid **/ RuntimeCommonAssetsAssetDid: 'KiltAssetDidsV1AssetDid', /** - * Lookup77: kilt_asset_dids::v1::AssetDid + * Lookup78: kilt_asset_dids::v1::AssetDid **/ KiltAssetDidsV1AssetDid: { chainId: 'KiltAssetDidsChainV1ChainId', assetId: 'KiltAssetDidsAssetV1AssetId' }, /** - * Lookup78: kilt_asset_dids::chain::v1::ChainId + * Lookup79: kilt_asset_dids::chain::v1::ChainId **/ KiltAssetDidsChainV1ChainId: { _enum: { @@ -823,18 +864,18 @@ export default { } }, /** - * Lookup80: kilt_asset_dids::chain::v1::GenesisHexHash32Reference + * Lookup81: kilt_asset_dids::chain::v1::GenesisHexHash32Reference **/ KiltAssetDidsChainV1GenesisHexHash32Reference: '[u8;16]', /** - * Lookup84: kilt_asset_dids::chain::v1::GenericChainId + * Lookup85: kilt_asset_dids::chain::v1::GenericChainId **/ KiltAssetDidsChainV1GenericChainId: { namespace: 'Bytes', reference: 'Bytes' }, /** - * Lookup88: kilt_asset_dids::asset::v1::AssetId + * Lookup89: kilt_asset_dids::asset::v1::AssetId **/ KiltAssetDidsAssetV1AssetId: { _enum: { @@ -846,15 +887,15 @@ export default { } }, /** - * Lookup92: kilt_asset_dids::asset::v1::EvmSmartContractFungibleReference + * Lookup93: kilt_asset_dids::asset::v1::EvmSmartContractFungibleReference **/ KiltAssetDidsAssetV1EvmSmartContractFungibleReference: '[u8;20]', /** - * Lookup93: kilt_asset_dids::asset::v1::EvmSmartContractNonFungibleReference + * Lookup94: kilt_asset_dids::asset::v1::EvmSmartContractNonFungibleReference **/ KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference: '(KiltAssetDidsAssetV1EvmSmartContractFungibleReference,Option)', /** - * Lookup97: kilt_asset_dids::asset::v1::GenericAssetId + * Lookup98: kilt_asset_dids::asset::v1::GenericAssetId **/ KiltAssetDidsAssetV1GenericAssetId: { namespace: 'Bytes', @@ -862,7 +903,30 @@ export default { id: 'Option' }, /** - * Lookup103: cumulus_pallet_parachain_system::pallet::Event + * Lookup104: pallet_migration::pallet::Event + **/ + PalletMigrationEvent: { + _enum: { + EntriesUpdated: 'PalletMigrationEntriesToMigrate' + } + }, + /** + * Lookup105: pallet_migration::pallet::EntriesToMigrate + **/ + PalletMigrationEntriesToMigrate: { + attestation: 'Vec', + delegation: 'Vec', + did: 'Vec', + lookup: 'Vec', + w3n: 'Vec', + publicCredentials: 'Vec<(RuntimeCommonAssetsAssetDid,H256)>' + }, + /** + * Lookup106: spiritnet_runtime::Runtime + **/ + SpiritnetRuntimeRuntime: 'Null', + /** + * Lookup118: cumulus_pallet_parachain_system::pallet::Event **/ CumulusPalletParachainSystemEvent: { _enum: { @@ -887,27 +951,29 @@ export default { } }, /** - * Lookup104: cumulus_pallet_xcmp_queue::pallet::Event + * Lookup119: cumulus_pallet_xcmp_queue::pallet::Event **/ CumulusPalletXcmpQueueEvent: { _enum: { Success: { - messageHash: 'Option<[u8;32]>', + messageHash: '[u8;32]', + messageId: '[u8;32]', weight: 'SpWeightsWeightV2Weight', }, Fail: { - messageHash: 'Option<[u8;32]>', + messageHash: '[u8;32]', + messageId: '[u8;32]', error: 'XcmV3TraitsError', weight: 'SpWeightsWeightV2Weight', }, BadVersion: { - messageHash: 'Option<[u8;32]>', + messageHash: '[u8;32]', }, BadFormat: { - messageHash: 'Option<[u8;32]>', + messageHash: '[u8;32]', }, XcmpMessageSent: { - messageHash: 'Option<[u8;32]>', + messageHash: '[u8;32]', }, OverweightEnqueued: { sender: 'u32', @@ -922,7 +988,7 @@ export default { } }, /** - * Lookup105: xcm::v3::traits::Error + * Lookup120: xcm::v3::traits::Error **/ XcmV3TraitsError: { _enum: { @@ -969,37 +1035,129 @@ export default { } }, /** - * Lookup107: pallet_xcm::pallet::Event + * Lookup122: pallet_xcm::pallet::Event **/ PalletXcmEvent: { _enum: { - Attempted: 'XcmV3TraitsOutcome', - Sent: '(XcmV3MultiLocation,XcmV3MultiLocation,XcmV3Xcm)', - UnexpectedResponse: '(XcmV3MultiLocation,u64)', - ResponseReady: '(u64,XcmV3Response)', - Notified: '(u64,u8,u8)', - NotifyOverweight: '(u64,u8,u8,SpWeightsWeightV2Weight,SpWeightsWeightV2Weight)', - NotifyDispatchError: '(u64,u8,u8)', - NotifyDecodeFailed: '(u64,u8,u8)', - InvalidResponder: '(XcmV3MultiLocation,u64,Option)', - InvalidResponderVersion: '(XcmV3MultiLocation,u64)', - ResponseTaken: 'u64', - AssetsTrapped: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)', - VersionChangeNotified: '(XcmV3MultiLocation,u32,XcmV3MultiassetMultiAssets)', - SupportedVersionChanged: '(XcmV3MultiLocation,u32)', - NotifyTargetSendFail: '(XcmV3MultiLocation,u64,XcmV3TraitsError)', - NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)', - InvalidQuerierVersion: '(XcmV3MultiLocation,u64)', - InvalidQuerier: '(XcmV3MultiLocation,u64,XcmV3MultiLocation,Option)', - VersionNotifyStarted: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', - VersionNotifyRequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', - VersionNotifyUnrequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', - FeesPaid: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', - AssetsClaimed: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)' - } - }, - /** - * Lookup108: xcm::v3::traits::Outcome + Attempted: { + outcome: 'XcmV3TraitsOutcome', + }, + Sent: { + origin: 'XcmV3MultiLocation', + destination: 'XcmV3MultiLocation', + message: 'XcmV3Xcm', + messageId: '[u8;32]', + }, + UnexpectedResponse: { + origin: 'XcmV3MultiLocation', + queryId: 'u64', + }, + ResponseReady: { + queryId: 'u64', + response: 'XcmV3Response', + }, + Notified: { + queryId: 'u64', + palletIndex: 'u8', + callIndex: 'u8', + }, + NotifyOverweight: { + queryId: 'u64', + palletIndex: 'u8', + callIndex: 'u8', + actualWeight: 'SpWeightsWeightV2Weight', + maxBudgetedWeight: 'SpWeightsWeightV2Weight', + }, + NotifyDispatchError: { + queryId: 'u64', + palletIndex: 'u8', + callIndex: 'u8', + }, + NotifyDecodeFailed: { + queryId: 'u64', + palletIndex: 'u8', + callIndex: 'u8', + }, + InvalidResponder: { + origin: 'XcmV3MultiLocation', + queryId: 'u64', + expectedLocation: 'Option', + }, + InvalidResponderVersion: { + origin: 'XcmV3MultiLocation', + queryId: 'u64', + }, + ResponseTaken: { + queryId: 'u64', + }, + AssetsTrapped: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', + origin: 'XcmV3MultiLocation', + assets: 'XcmVersionedMultiAssets', + }, + VersionChangeNotified: { + destination: 'XcmV3MultiLocation', + result: 'u32', + cost: 'XcmV3MultiassetMultiAssets', + messageId: '[u8;32]', + }, + SupportedVersionChanged: { + location: 'XcmV3MultiLocation', + version: 'u32', + }, + NotifyTargetSendFail: { + location: 'XcmV3MultiLocation', + queryId: 'u64', + error: 'XcmV3TraitsError', + }, + NotifyTargetMigrationFail: { + location: 'XcmVersionedMultiLocation', + queryId: 'u64', + }, + InvalidQuerierVersion: { + origin: 'XcmV3MultiLocation', + queryId: 'u64', + }, + InvalidQuerier: { + origin: 'XcmV3MultiLocation', + queryId: 'u64', + expectedQuerier: 'XcmV3MultiLocation', + maybeActualQuerier: 'Option', + }, + VersionNotifyStarted: { + destination: 'XcmV3MultiLocation', + cost: 'XcmV3MultiassetMultiAssets', + messageId: '[u8;32]', + }, + VersionNotifyRequested: { + destination: 'XcmV3MultiLocation', + cost: 'XcmV3MultiassetMultiAssets', + messageId: '[u8;32]', + }, + VersionNotifyUnrequested: { + destination: 'XcmV3MultiLocation', + cost: 'XcmV3MultiassetMultiAssets', + messageId: '[u8;32]', + }, + FeesPaid: { + paying: 'XcmV3MultiLocation', + fees: 'XcmV3MultiassetMultiAssets', + }, + AssetsClaimed: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', + origin: 'XcmV3MultiLocation', + assets: 'XcmVersionedMultiAssets' + } + } + }, + /** + * Lookup123: xcm::v3::traits::Outcome **/ XcmV3TraitsOutcome: { _enum: { @@ -1009,14 +1167,14 @@ export default { } }, /** - * Lookup109: xcm::v3::multilocation::MultiLocation + * Lookup124: xcm::v3::multilocation::MultiLocation **/ XcmV3MultiLocation: { parents: 'u8', interior: 'XcmV3Junctions' }, /** - * Lookup110: xcm::v3::junctions::Junctions + * Lookup125: xcm::v3::junctions::Junctions **/ XcmV3Junctions: { _enum: { @@ -1032,7 +1190,7 @@ export default { } }, /** - * Lookup111: xcm::v3::junction::Junction + * Lookup126: xcm::v3::junction::Junction **/ XcmV3Junction: { _enum: { @@ -1064,7 +1222,7 @@ export default { } }, /** - * Lookup114: xcm::v3::junction::NetworkId + * Lookup129: xcm::v3::junction::NetworkId **/ XcmV3JunctionNetworkId: { _enum: { @@ -1086,7 +1244,7 @@ export default { } }, /** - * Lookup116: xcm::v3::junction::BodyId + * Lookup131: xcm::v3::junction::BodyId **/ XcmV3JunctionBodyId: { _enum: { @@ -1103,7 +1261,7 @@ export default { } }, /** - * Lookup117: xcm::v3::junction::BodyPart + * Lookup132: xcm::v3::junction::BodyPart **/ XcmV3JunctionBodyPart: { _enum: { @@ -1126,11 +1284,11 @@ export default { } }, /** - * Lookup118: xcm::v3::Xcm + * Lookup133: xcm::v3::Xcm **/ XcmV3Xcm: 'Vec', /** - * Lookup120: xcm::v3::Instruction + * Lookup135: xcm::v3::Instruction **/ XcmV3Instruction: { _enum: { @@ -1272,18 +1430,18 @@ export default { } }, /** - * Lookup121: xcm::v3::multiasset::MultiAssets + * Lookup136: xcm::v3::multiasset::MultiAssets **/ XcmV3MultiassetMultiAssets: 'Vec', /** - * Lookup123: xcm::v3::multiasset::MultiAsset + * Lookup138: xcm::v3::multiasset::MultiAsset **/ XcmV3MultiAsset: { id: 'XcmV3MultiassetAssetId', fun: 'XcmV3MultiassetFungibility' }, /** - * Lookup124: xcm::v3::multiasset::AssetId + * Lookup139: xcm::v3::multiasset::AssetId **/ XcmV3MultiassetAssetId: { _enum: { @@ -1292,7 +1450,7 @@ export default { } }, /** - * Lookup125: xcm::v3::multiasset::Fungibility + * Lookup140: xcm::v3::multiasset::Fungibility **/ XcmV3MultiassetFungibility: { _enum: { @@ -1301,7 +1459,7 @@ export default { } }, /** - * Lookup126: xcm::v3::multiasset::AssetInstance + * Lookup141: xcm::v3::multiasset::AssetInstance **/ XcmV3MultiassetAssetInstance: { _enum: { @@ -1314,7 +1472,7 @@ export default { } }, /** - * Lookup128: xcm::v3::Response + * Lookup143: xcm::v3::Response **/ XcmV3Response: { _enum: { @@ -1327,7 +1485,7 @@ export default { } }, /** - * Lookup132: xcm::v3::PalletInfo + * Lookup147: xcm::v3::PalletInfo **/ XcmV3PalletInfo: { index: 'Compact', @@ -1338,7 +1496,7 @@ export default { patch: 'Compact' }, /** - * Lookup135: xcm::v3::MaybeErrorCode + * Lookup150: xcm::v3::MaybeErrorCode **/ XcmV3MaybeErrorCode: { _enum: { @@ -1348,19 +1506,19 @@ export default { } }, /** - * Lookup138: xcm::v2::OriginKind + * Lookup153: xcm::v2::OriginKind **/ XcmV2OriginKind: { _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm'] }, /** - * Lookup139: xcm::double_encoded::DoubleEncoded + * Lookup154: xcm::double_encoded::DoubleEncoded **/ XcmDoubleEncoded: { encoded: 'Bytes' }, /** - * Lookup140: xcm::v3::QueryResponseInfo + * Lookup155: xcm::v3::QueryResponseInfo **/ XcmV3QueryResponseInfo: { destination: 'XcmV3MultiLocation', @@ -1368,7 +1526,7 @@ export default { maxWeight: 'SpWeightsWeightV2Weight' }, /** - * Lookup141: xcm::v3::multiasset::MultiAssetFilter + * Lookup156: xcm::v3::multiasset::MultiAssetFilter **/ XcmV3MultiassetMultiAssetFilter: { _enum: { @@ -1377,7 +1535,7 @@ export default { } }, /** - * Lookup142: xcm::v3::multiasset::WildMultiAsset + * Lookup157: xcm::v3::multiasset::WildMultiAsset **/ XcmV3MultiassetWildMultiAsset: { _enum: { @@ -1395,13 +1553,13 @@ export default { } }, /** - * Lookup143: xcm::v3::multiasset::WildFungibility + * Lookup158: xcm::v3::multiasset::WildFungibility **/ XcmV3MultiassetWildFungibility: { _enum: ['Fungible', 'NonFungible'] }, /** - * Lookup144: xcm::v3::WeightLimit + * Lookup159: xcm::v3::WeightLimit **/ XcmV3WeightLimit: { _enum: { @@ -1410,7 +1568,7 @@ export default { } }, /** - * Lookup145: xcm::VersionedMultiAssets + * Lookup160: xcm::VersionedMultiAssets **/ XcmVersionedMultiAssets: { _enum: { @@ -1421,18 +1579,18 @@ export default { } }, /** - * Lookup146: xcm::v2::multiasset::MultiAssets + * Lookup161: xcm::v2::multiasset::MultiAssets **/ XcmV2MultiassetMultiAssets: 'Vec', /** - * Lookup148: xcm::v2::multiasset::MultiAsset + * Lookup163: xcm::v2::multiasset::MultiAsset **/ XcmV2MultiAsset: { id: 'XcmV2MultiassetAssetId', fun: 'XcmV2MultiassetFungibility' }, /** - * Lookup149: xcm::v2::multiasset::AssetId + * Lookup164: xcm::v2::multiasset::AssetId **/ XcmV2MultiassetAssetId: { _enum: { @@ -1441,14 +1599,14 @@ export default { } }, /** - * Lookup150: xcm::v2::multilocation::MultiLocation + * Lookup165: xcm::v2::multilocation::MultiLocation **/ XcmV2MultiLocation: { parents: 'u8', interior: 'XcmV2MultilocationJunctions' }, /** - * Lookup151: xcm::v2::multilocation::Junctions + * Lookup166: xcm::v2::multilocation::Junctions **/ XcmV2MultilocationJunctions: { _enum: { @@ -1464,7 +1622,7 @@ export default { } }, /** - * Lookup152: xcm::v2::junction::Junction + * Lookup167: xcm::v2::junction::Junction **/ XcmV2Junction: { _enum: { @@ -1492,7 +1650,7 @@ export default { } }, /** - * Lookup153: xcm::v2::NetworkId + * Lookup168: xcm::v2::NetworkId **/ XcmV2NetworkId: { _enum: { @@ -1503,7 +1661,7 @@ export default { } }, /** - * Lookup155: xcm::v2::BodyId + * Lookup170: xcm::v2::BodyId **/ XcmV2BodyId: { _enum: { @@ -1520,7 +1678,7 @@ export default { } }, /** - * Lookup156: xcm::v2::BodyPart + * Lookup171: xcm::v2::BodyPart **/ XcmV2BodyPart: { _enum: { @@ -1543,7 +1701,7 @@ export default { } }, /** - * Lookup157: xcm::v2::multiasset::Fungibility + * Lookup172: xcm::v2::multiasset::Fungibility **/ XcmV2MultiassetFungibility: { _enum: { @@ -1552,7 +1710,7 @@ export default { } }, /** - * Lookup158: xcm::v2::multiasset::AssetInstance + * Lookup173: xcm::v2::multiasset::AssetInstance **/ XcmV2MultiassetAssetInstance: { _enum: { @@ -1566,7 +1724,7 @@ export default { } }, /** - * Lookup159: xcm::VersionedMultiLocation + * Lookup174: xcm::VersionedMultiLocation **/ XcmVersionedMultiLocation: { _enum: { @@ -1577,7 +1735,7 @@ export default { } }, /** - * Lookup160: cumulus_pallet_xcm::pallet::Event + * Lookup175: cumulus_pallet_xcm::pallet::Event **/ CumulusPalletXcmEvent: { _enum: { @@ -1587,26 +1745,29 @@ export default { } }, /** - * Lookup161: cumulus_pallet_dmp_queue::pallet::Event + * Lookup176: cumulus_pallet_dmp_queue::pallet::Event **/ CumulusPalletDmpQueueEvent: { _enum: { InvalidFormat: { - messageId: '[u8;32]', + messageHash: '[u8;32]', }, UnsupportedVersion: { - messageId: '[u8;32]', + messageHash: '[u8;32]', }, ExecutedDownward: { + messageHash: '[u8;32]', messageId: '[u8;32]', outcome: 'XcmV3TraitsOutcome', }, WeightExhausted: { + messageHash: '[u8;32]', messageId: '[u8;32]', remainingWeight: 'SpWeightsWeightV2Weight', requiredWeight: 'SpWeightsWeightV2Weight', }, OverweightEnqueued: { + messageHash: '[u8;32]', messageId: '[u8;32]', overweightIndex: 'u64', requiredWeight: 'SpWeightsWeightV2Weight', @@ -1616,12 +1777,12 @@ export default { weightUsed: 'SpWeightsWeightV2Weight', }, MaxMessagesExhausted: { - messageId: '[u8;32]' + messageHash: '[u8;32]' } } }, /** - * Lookup162: frame_system::Phase + * Lookup177: frame_system::Phase **/ FrameSystemPhase: { _enum: { @@ -1631,14 +1792,14 @@ export default { } }, /** - * Lookup165: frame_system::LastRuntimeUpgradeInfo + * Lookup179: frame_system::LastRuntimeUpgradeInfo **/ FrameSystemLastRuntimeUpgradeInfo: { specVersion: 'Compact', specName: 'Text' }, /** - * Lookup167: frame_system::pallet::Call + * Lookup181: frame_system::pallet::Call **/ FrameSystemCall: { _enum: { @@ -1673,7 +1834,7 @@ export default { } }, /** - * Lookup171: frame_system::limits::BlockWeights + * Lookup185: frame_system::limits::BlockWeights **/ FrameSystemLimitsBlockWeights: { baseBlock: 'SpWeightsWeightV2Weight', @@ -1681,7 +1842,7 @@ export default { perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass' }, /** - * Lookup172: frame_support::dispatch::PerDispatchClass + * Lookup186: frame_support::dispatch::PerDispatchClass **/ FrameSupportDispatchPerDispatchClassWeightsPerClass: { normal: 'FrameSystemLimitsWeightsPerClass', @@ -1689,7 +1850,7 @@ export default { mandatory: 'FrameSystemLimitsWeightsPerClass' }, /** - * Lookup173: frame_system::limits::WeightsPerClass + * Lookup187: frame_system::limits::WeightsPerClass **/ FrameSystemLimitsWeightsPerClass: { baseExtrinsic: 'SpWeightsWeightV2Weight', @@ -1698,13 +1859,13 @@ export default { reserved: 'Option' }, /** - * Lookup175: frame_system::limits::BlockLength + * Lookup189: frame_system::limits::BlockLength **/ FrameSystemLimitsBlockLength: { max: 'FrameSupportDispatchPerDispatchClassU32' }, /** - * Lookup176: frame_support::dispatch::PerDispatchClass + * Lookup190: frame_support::dispatch::PerDispatchClass **/ FrameSupportDispatchPerDispatchClassU32: { normal: 'u32', @@ -1712,14 +1873,14 @@ export default { mandatory: 'u32' }, /** - * Lookup177: sp_weights::RuntimeDbWeight + * Lookup191: sp_weights::RuntimeDbWeight **/ SpWeightsRuntimeDbWeight: { read: 'u64', write: 'u64' }, /** - * Lookup178: sp_version::RuntimeVersion + * Lookup192: sp_version::RuntimeVersion **/ SpVersionRuntimeVersion: { specName: 'Text', @@ -1732,13 +1893,13 @@ export default { stateVersion: 'u8' }, /** - * Lookup182: frame_system::pallet::Error + * Lookup196: frame_system::pallet::Error **/ FrameSystemError: { _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered'] }, /** - * Lookup183: pallet_timestamp::pallet::Call + * Lookup197: pallet_timestamp::pallet::Call **/ PalletTimestampCall: { _enum: { @@ -1748,7 +1909,7 @@ export default { } }, /** - * Lookup185: pallet_indices::pallet::Call + * Lookup199: pallet_indices::pallet::Call **/ PalletIndicesCall: { _enum: { @@ -1779,13 +1940,13 @@ export default { } }, /** - * Lookup188: pallet_indices::pallet::Error + * Lookup202: pallet_indices::pallet::Error **/ PalletIndicesError: { _enum: ['NotAssigned', 'NotOwner', 'InUse', 'NotTransfer', 'Permanent'] }, /** - * Lookup190: pallet_balances::BalanceLock + * Lookup204: pallet_balances::types::BalanceLock **/ PalletBalancesBalanceLock: { id: '[u8;8]', @@ -1793,31 +1954,193 @@ export default { reasons: 'PalletBalancesReasons' }, /** - * Lookup191: pallet_balances::Reasons + * Lookup205: pallet_balances::types::Reasons **/ PalletBalancesReasons: { _enum: ['Fee', 'Misc', 'All'] }, /** - * Lookup194: pallet_balances::ReserveData + * Lookup208: pallet_balances::types::ReserveData **/ PalletBalancesReserveData: { id: '[u8;8]', amount: 'u128' }, /** - * Lookup196: pallet_balances::pallet::Call + * Lookup211: pallet_balances::types::IdAmount + **/ + PalletBalancesIdAmountRuntimeHoldReason: { + id: 'SpiritnetRuntimeRuntimeHoldReason', + amount: 'u128' + }, + /** + * Lookup212: spiritnet_runtime::RuntimeHoldReason + **/ + SpiritnetRuntimeRuntimeHoldReason: { + _enum: { + __Unused0: 'Null', + __Unused1: 'Null', + __Unused2: 'Null', + __Unused3: 'Null', + __Unused4: 'Null', + __Unused5: 'Null', + __Unused6: 'Null', + __Unused7: 'Null', + __Unused8: 'Null', + __Unused9: 'Null', + __Unused10: 'Null', + __Unused11: 'Null', + __Unused12: 'Null', + __Unused13: 'Null', + __Unused14: 'Null', + __Unused15: 'Null', + __Unused16: 'Null', + __Unused17: 'Null', + __Unused18: 'Null', + __Unused19: 'Null', + __Unused20: 'Null', + __Unused21: 'Null', + __Unused22: 'Null', + __Unused23: 'Null', + __Unused24: 'Null', + __Unused25: 'Null', + __Unused26: 'Null', + __Unused27: 'Null', + __Unused28: 'Null', + __Unused29: 'Null', + __Unused30: 'Null', + __Unused31: 'Null', + __Unused32: 'Null', + __Unused33: 'Null', + __Unused34: 'Null', + __Unused35: 'Null', + __Unused36: 'Null', + __Unused37: 'Null', + __Unused38: 'Null', + __Unused39: 'Null', + __Unused40: 'Null', + __Unused41: 'Null', + __Unused42: 'Null', + __Unused43: 'Null', + __Unused44: 'Null', + __Unused45: 'Null', + __Unused46: 'Null', + __Unused47: 'Null', + __Unused48: 'Null', + __Unused49: 'Null', + __Unused50: 'Null', + __Unused51: 'Null', + __Unused52: 'Null', + __Unused53: 'Null', + __Unused54: 'Null', + __Unused55: 'Null', + __Unused56: 'Null', + __Unused57: 'Null', + __Unused58: 'Null', + __Unused59: 'Null', + __Unused60: 'Null', + __Unused61: 'Null', + Attestation: 'AttestationHoldReason', + Delegation: 'DelegationHoldReason', + Did: 'DidHoldReason', + __Unused65: 'Null', + __Unused66: 'Null', + DidLookup: 'PalletDidLookupHoldReason', + Web3Names: 'PalletWeb3NamesHoldReason', + PublicCredentials: 'PublicCredentialsHoldReason' + } + }, + /** + * Lookup213: attestation::pallet::HoldReason + **/ + AttestationHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup214: delegation::pallet::HoldReason + **/ + DelegationHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup215: did::pallet::HoldReason + **/ + DidHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup216: pallet_did_lookup::pallet::HoldReason + **/ + PalletDidLookupHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup217: pallet_web3_names::pallet::HoldReason + **/ + PalletWeb3NamesHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup218: public_credentials::pallet::HoldReason + **/ + PublicCredentialsHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup221: pallet_balances::types::IdAmount + **/ + PalletBalancesIdAmountRuntimeFreezeReason: { + id: 'SpiritnetRuntimeRuntimeFreezeReason', + amount: 'u128' + }, + /** + * Lookup222: spiritnet_runtime::RuntimeFreezeReason + **/ + SpiritnetRuntimeRuntimeFreezeReason: { + _enum: { + __Unused0: 'Null', + __Unused1: 'Null', + __Unused2: 'Null', + __Unused3: 'Null', + __Unused4: 'Null', + __Unused5: 'Null', + __Unused6: 'Null', + __Unused7: 'Null', + __Unused8: 'Null', + __Unused9: 'Null', + __Unused10: 'Null', + __Unused11: 'Null', + __Unused12: 'Null', + __Unused13: 'Null', + __Unused14: 'Null', + __Unused15: 'Null', + __Unused16: 'Null', + __Unused17: 'Null', + __Unused18: 'Null', + __Unused19: 'Null', + __Unused20: 'Null', + ParachainStaking: 'ParachainStakingFreezeReason' + } + }, + /** + * Lookup223: parachain_staking::pallet::FreezeReason + **/ + ParachainStakingFreezeReason: { + _enum: ['Staking'] + }, + /** + * Lookup225: pallet_balances::pallet::Call **/ PalletBalancesCall: { _enum: { - transfer: { + transfer_allow_death: { dest: 'MultiAddress', value: 'Compact', }, - set_balance: { + set_balance_deprecated: { who: 'MultiAddress', newFree: 'Compact', - newReserved: 'Compact', + oldReserved: 'Compact', }, force_transfer: { source: 'MultiAddress', @@ -1834,42 +2157,53 @@ export default { }, force_unreserve: { who: 'MultiAddress', - amount: 'u128' + amount: 'u128', + }, + upgrade_accounts: { + who: 'Vec', + }, + transfer: { + dest: 'MultiAddress', + value: 'Compact', + }, + force_set_balance: { + who: 'MultiAddress', + newFree: 'Compact' } } }, /** - * Lookup197: pallet_balances::pallet::Error + * Lookup226: pallet_balances::pallet::Error **/ PalletBalancesError: { - _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves'] + _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'Expendability', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves', 'TooManyHolds', 'TooManyFreezes'] }, /** - * Lookup199: pallet_transaction_payment::Releases + * Lookup228: pallet_transaction_payment::Releases **/ PalletTransactionPaymentReleases: { _enum: ['V1Ancient', 'V2'] }, /** - * Lookup201: sp_consensus_aura::sr25519::app_sr25519::Public + * Lookup230: sp_consensus_aura::sr25519::app_sr25519::Public **/ SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public', /** - * Lookup202: sp_core::sr25519::Public + * Lookup231: sp_core::sr25519::Public **/ SpCoreSr25519Public: '[u8;32]', /** - * Lookup208: spiritnet_runtime::SessionKeys + * Lookup236: spiritnet_runtime::SessionKeys **/ SpiritnetRuntimeSessionKeys: { aura: 'SpConsensusAuraSr25519AppSr25519Public' }, /** - * Lookup211: sp_core::crypto::KeyTypeId + * Lookup239: sp_core::crypto::KeyTypeId **/ SpCoreCryptoKeyTypeId: '[u8;4]', /** - * Lookup212: pallet_session::pallet::Call + * Lookup240: pallet_session::pallet::Call **/ PalletSessionCall: { _enum: { @@ -1884,13 +2218,13 @@ export default { } }, /** - * Lookup213: pallet_session::pallet::Error + * Lookup241: pallet_session::pallet::Error **/ PalletSessionError: { _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount'] }, /** - * Lookup214: parachain_staking::types::RoundInfo + * Lookup242: parachain_staking::types::RoundInfo **/ ParachainStakingRoundInfo: { current: 'u32', @@ -1898,21 +2232,21 @@ export default { length: 'u64' }, /** - * Lookup215: parachain_staking::types::DelegationCounter + * Lookup243: parachain_staking::types::DelegationCounter **/ ParachainStakingDelegationCounter: { round: 'u32', counter: 'u32' }, /** - * Lookup216: parachain_staking::types::Stake + * Lookup244: parachain_staking::types::Stake **/ ParachainStakingStake: { owner: 'AccountId32', amount: 'u128' }, /** - * Lookup217: parachain_staking::types::Candidate + * Lookup245: parachain_staking::types::Candidate **/ ParachainStakingCandidate: { id: 'AccountId32', @@ -1922,11 +2256,11 @@ export default { status: 'ParachainStakingCandidateStatus' }, /** - * Lookup218: parachain_staking::set::OrderedSet, S> + * Lookup246: parachain_staking::set::OrderedSet, S> **/ ParachainStakingSetOrderedSet: 'Vec', /** - * Lookup221: parachain_staking::types::CandidateStatus + * Lookup249: parachain_staking::types::CandidateStatus **/ ParachainStakingCandidateStatus: { _enum: { @@ -1935,35 +2269,35 @@ export default { } }, /** - * Lookup222: parachain_staking::types::TotalStake + * Lookup250: parachain_staking::types::TotalStake **/ ParachainStakingTotalStake: { collators: 'u128', delegators: 'u128' }, /** - * Lookup225: parachain_staking::inflation::InflationInfo + * Lookup253: parachain_staking::inflation::InflationInfo **/ ParachainStakingInflationInflationInfo: { collator: 'ParachainStakingInflationStakingInfo', delegator: 'ParachainStakingInflationStakingInfo' }, /** - * Lookup226: parachain_staking::inflation::StakingInfo + * Lookup254: parachain_staking::inflation::StakingInfo **/ ParachainStakingInflationStakingInfo: { maxRate: 'Perquintill', rewardRate: 'ParachainStakingInflationRewardRate' }, /** - * Lookup227: parachain_staking::inflation::RewardRate + * Lookup255: parachain_staking::inflation::RewardRate **/ ParachainStakingInflationRewardRate: { annual: 'Perquintill', perBlock: 'Perquintill' }, /** - * Lookup232: parachain_staking::pallet::Call + * Lookup260: parachain_staking::pallet::Call **/ ParachainStakingCall: { _enum: { @@ -2030,13 +2364,13 @@ export default { } }, /** - * Lookup233: parachain_staking::pallet::Error + * Lookup261: parachain_staking::pallet::Error **/ ParachainStakingError: { _enum: ['DelegatorNotFound', 'CandidateNotFound', 'DelegatorExists', 'CandidateExists', 'ValStakeZero', 'ValStakeBelowMin', 'ValStakeAboveMax', 'DelegationBelowMin', 'AlreadyLeaving', 'NotLeaving', 'CannotLeaveYet', 'CannotJoinBeforeUnlocking', 'AlreadyDelegating', 'NotYetDelegating', 'DelegationsPerRoundExceeded', 'TooManyDelegators', 'TooFewCollatorCandidates', 'CannotStakeIfLeaving', 'CannotDelegateIfLeaving', 'MaxCollatorsPerDelegatorExceeded', 'AlreadyDelegatedCollator', 'DelegationNotFound', 'Underflow', 'CannotSetAboveMax', 'CannotSetBelowMin', 'InvalidSchedule', 'NoMoreUnstaking', 'TooEarly', 'StakeNotFound', 'UnstakingIsEmpty', 'RewardsNotFound'] }, /** - * Lookup236: frame_support::traits::preimages::Bounded + * Lookup264: frame_support::traits::preimages::Bounded **/ FrameSupportPreimagesBounded: { _enum: { @@ -2057,7 +2391,7 @@ export default { } }, /** - * Lookup238: pallet_democracy::pallet::Call + * Lookup266: pallet_democracy::pallet::Call **/ PalletDemocracyCall: { _enum: { @@ -2126,13 +2460,13 @@ export default { } }, /** - * Lookup239: pallet_democracy::conviction::Conviction + * Lookup267: pallet_democracy::conviction::Conviction **/ PalletDemocracyConviction: { _enum: ['None', 'Locked1x', 'Locked2x', 'Locked3x', 'Locked4x', 'Locked5x', 'Locked6x'] }, /** - * Lookup242: pallet_collective::pallet::Call + * Lookup270: pallet_collective::pallet::Call **/ PalletCollectiveCall: { _enum: { @@ -2155,12 +2489,7 @@ export default { index: 'Compact', approve: 'bool', }, - close_old_weight: { - proposalHash: 'H256', - index: 'Compact', - proposalWeightBound: 'Compact', - lengthBound: 'Compact', - }, + __Unused4: 'Null', disapprove_proposal: { proposalHash: 'H256', }, @@ -2173,7 +2502,7 @@ export default { } }, /** - * Lookup247: pallet_membership::pallet::Call + * Lookup273: pallet_membership::pallet::Call **/ PalletMembershipCall: { _enum: { @@ -2203,7 +2532,7 @@ export default { } }, /** - * Lookup248: pallet_treasury::pallet::Call + * Lookup274: pallet_treasury::pallet::Call **/ PalletTreasuryCall: { _enum: { @@ -2227,7 +2556,7 @@ export default { } }, /** - * Lookup249: pallet_utility::pallet::Call + * Lookup275: pallet_utility::pallet::Call **/ PalletUtilityCall: { _enum: { @@ -2255,7 +2584,7 @@ export default { } }, /** - * Lookup251: spiritnet_runtime::OriginCaller + * Lookup277: spiritnet_runtime::OriginCaller **/ SpiritnetRuntimeOriginCaller: { _enum: { @@ -2347,7 +2676,7 @@ export default { } }, /** - * Lookup252: frame_support::dispatch::RawOrigin + * Lookup278: frame_support::dispatch::RawOrigin **/ FrameSupportDispatchRawOrigin: { _enum: { @@ -2357,7 +2686,7 @@ export default { } }, /** - * Lookup253: pallet_collective::RawOrigin + * Lookup279: pallet_collective::RawOrigin **/ PalletCollectiveRawOrigin: { _enum: { @@ -2367,14 +2696,14 @@ export default { } }, /** - * Lookup255: did::origin::DidRawOrigin + * Lookup281: did::origin::DidRawOrigin **/ DidOriginDidRawOrigin: { id: 'AccountId32', submitter: 'AccountId32' }, /** - * Lookup256: pallet_xcm::pallet::Origin + * Lookup282: pallet_xcm::pallet::Origin **/ PalletXcmOrigin: { _enum: { @@ -2383,7 +2712,7 @@ export default { } }, /** - * Lookup257: cumulus_pallet_xcm::pallet::Origin + * Lookup283: cumulus_pallet_xcm::pallet::Origin **/ CumulusPalletXcmOrigin: { _enum: { @@ -2392,11 +2721,11 @@ export default { } }, /** - * Lookup258: sp_core::Void + * Lookup284: sp_core::Void **/ SpCoreVoid: 'Null', /** - * Lookup259: pallet_vesting::pallet::Call + * Lookup285: pallet_vesting::pallet::Call **/ PalletVestingCall: { _enum: { @@ -2420,7 +2749,7 @@ export default { } }, /** - * Lookup260: pallet_vesting::vesting_info::VestingInfo + * Lookup286: pallet_vesting::vesting_info::VestingInfo **/ PalletVestingVestingInfo: { locked: 'u128', @@ -2428,7 +2757,7 @@ export default { startingBlock: 'u64' }, /** - * Lookup261: pallet_scheduler::pallet::Call + * Lookup287: pallet_scheduler::pallet::Call **/ PalletSchedulerCall: { _enum: { @@ -2468,7 +2797,7 @@ export default { } }, /** - * Lookup263: pallet_proxy::pallet::Call + * Lookup289: pallet_proxy::pallet::Call **/ PalletProxyCall: { _enum: { @@ -2521,7 +2850,7 @@ export default { } }, /** - * Lookup265: pallet_preimage::pallet::Call + * Lookup291: pallet_preimage::pallet::Call **/ PalletPreimageCall: { _enum: { @@ -2549,7 +2878,7 @@ export default { } }, /** - * Lookup267: pallet_tips::pallet::Call + * Lookup293: pallet_tips::pallet::Call **/ PalletTipsCall: { _enum: { @@ -2590,7 +2919,7 @@ export default { } }, /** - * Lookup268: pallet_multisig::pallet::Call + * Lookup294: pallet_multisig::pallet::Call **/ PalletMultisigCall: { _enum: { @@ -2621,7 +2950,7 @@ export default { } }, /** - * Lookup270: ctype::pallet::Call + * Lookup296: ctype::pallet::Call **/ CtypeCall: { _enum: { @@ -2635,7 +2964,7 @@ export default { } }, /** - * Lookup271: attestation::pallet::Call + * Lookup297: attestation::pallet::Call **/ AttestationCall: { _enum: { @@ -2664,7 +2993,7 @@ export default { } }, /** - * Lookup273: runtime_common::authorization::PalletAuthorize> + * Lookup299: runtime_common::authorization::PalletAuthorize> **/ RuntimeCommonAuthorizationPalletAuthorize: { _enum: { @@ -2672,18 +3001,14 @@ export default { } }, /** - * Lookup274: delegation::access_control::DelegationAc + * Lookup300: delegation::access_control::DelegationAc **/ DelegationAccessControlDelegationAc: { subjectNodeId: 'H256', maxChecks: 'u32' }, /** - * Lookup275: spiritnet_runtime::Runtime - **/ - SpiritnetRuntimeRuntime: 'Null', - /** - * Lookup276: delegation::pallet::Call + * Lookup301: delegation::pallet::Call **/ DelegationCall: { _enum: { @@ -2720,7 +3045,7 @@ export default { } }, /** - * Lookup277: did::did_details::DidSignature + * Lookup302: did::did_details::DidSignature **/ DidDidDetailsDidSignature: { _enum: { @@ -2730,19 +3055,19 @@ export default { } }, /** - * Lookup278: sp_core::ed25519::Signature + * Lookup303: sp_core::ed25519::Signature **/ SpCoreEd25519Signature: '[u8;64]', /** - * Lookup280: sp_core::sr25519::Signature + * Lookup305: sp_core::sr25519::Signature **/ SpCoreSr25519Signature: '[u8;64]', /** - * Lookup281: sp_core::ecdsa::Signature + * Lookup306: sp_core::ecdsa::Signature **/ SpCoreEcdsaSignature: '[u8;65]', /** - * Lookup283: did::pallet::Call + * Lookup308: did::pallet::Call **/ DidCall: { _enum: { @@ -2786,12 +3111,19 @@ export default { }, change_deposit_owner: 'Null', update_deposit: { - did: 'AccountId32' + did: 'AccountId32', + }, + dispatch_as: { + didIdentifier: 'AccountId32', + call: 'Call', + }, + create_from_account: { + authenticationKey: 'DidDidDetailsDidVerificationKey' } } }, /** - * Lookup284: did::did_details::DidCreationDetails> + * Lookup309: did::did_details::DidCreationDetails> **/ DidDidDetailsDidCreationDetails: { did: 'AccountId32', @@ -2802,11 +3134,11 @@ export default { newServiceDetails: 'Vec' }, /** - * Lookup285: runtime_common::constants::did::MaxNewKeyAgreementKeys + * Lookup310: runtime_common::constants::did::MaxNewKeyAgreementKeys **/ RuntimeCommonConstantsDidMaxNewKeyAgreementKeys: 'Null', /** - * Lookup286: did::service_endpoints::DidEndpoint + * Lookup311: did::service_endpoints::DidEndpoint **/ DidServiceEndpointsDidEndpoint: { id: 'Bytes', @@ -2814,7 +3146,7 @@ export default { urls: 'Vec' }, /** - * Lookup295: did::did_details::DidEncryptionKey + * Lookup320: did::did_details::DidEncryptionKey **/ DidDidDetailsDidEncryptionKey: { _enum: { @@ -2822,25 +3154,26 @@ export default { } }, /** - * Lookup299: did::did_details::DidVerificationKey + * Lookup324: did::did_details::DidVerificationKey **/ DidDidDetailsDidVerificationKey: { _enum: { Ed25519: 'SpCoreEd25519Public', Sr25519: 'SpCoreSr25519Public', - Ecdsa: 'SpCoreEcdsaPublic' + Ecdsa: 'SpCoreEcdsaPublic', + Account: 'AccountId32' } }, /** - * Lookup300: sp_core::ed25519::Public + * Lookup325: sp_core::ed25519::Public **/ SpCoreEd25519Public: '[u8;32]', /** - * Lookup301: sp_core::ecdsa::Public + * Lookup326: sp_core::ecdsa::Public **/ SpCoreEcdsaPublic: '[u8;33]', /** - * Lookup304: did::did_details::DidAuthorizedCallOperation + * Lookup329: did::did_details::DidAuthorizedCallOperation **/ DidDidDetailsDidAuthorizedCallOperation: { did: 'AccountId32', @@ -2850,7 +3183,7 @@ export default { submitter: 'AccountId32' }, /** - * Lookup305: pallet_did_lookup::pallet::Call + * Lookup330: pallet_did_lookup::pallet::Call **/ PalletDidLookupCall: { _enum: { @@ -2875,7 +3208,7 @@ export default { } }, /** - * Lookup306: pallet_did_lookup::associate_account_request::AssociateAccountRequest + * Lookup331: pallet_did_lookup::associate_account_request::AssociateAccountRequest **/ PalletDidLookupAssociateAccountRequest: { _enum: { @@ -2884,7 +3217,7 @@ export default { } }, /** - * Lookup307: sp_runtime::MultiSignature + * Lookup332: sp_runtime::MultiSignature **/ SpRuntimeMultiSignature: { _enum: { @@ -2894,11 +3227,11 @@ export default { } }, /** - * Lookup308: pallet_did_lookup::account::EthereumSignature + * Lookup333: pallet_did_lookup::account::EthereumSignature **/ PalletDidLookupAccountEthereumSignature: 'SpCoreEcdsaSignature', /** - * Lookup309: pallet_web3_names::pallet::Call + * Lookup334: pallet_web3_names::pallet::Call **/ PalletWeb3NamesCall: { _enum: { @@ -2922,7 +3255,7 @@ export default { } }, /** - * Lookup310: public_credentials::pallet::Call + * Lookup335: public_credentials::pallet::Call **/ PublicCredentialsCall: { _enum: { @@ -2953,7 +3286,7 @@ export default { } }, /** - * Lookup311: public_credentials::credentials::Credential, bounded_collections::bounded_vec::BoundedVec, runtime_common::authorization::PalletAuthorize>> + * Lookup336: public_credentials::credentials::Credential, bounded_collections::bounded_vec::BoundedVec, runtime_common::authorization::PalletAuthorize>> **/ PublicCredentialsCredentialsCredential: { ctypeHash: 'H256', @@ -2962,7 +3295,17 @@ export default { authorization: 'Option' }, /** - * Lookup314: cumulus_pallet_parachain_system::pallet::Call + * Lookup339: pallet_migration::pallet::Call + **/ + PalletMigrationCall: { + _enum: { + update_balance: { + requestedMigrations: 'PalletMigrationEntriesToMigrate' + } + } + }, + /** + * Lookup340: cumulus_pallet_parachain_system::pallet::Call **/ CumulusPalletParachainSystemCall: { _enum: { @@ -2982,45 +3325,49 @@ export default { } }, /** - * Lookup315: cumulus_primitives_parachain_inherent::ParachainInherentData + * Lookup341: cumulus_primitives_parachain_inherent::ParachainInherentData **/ CumulusPrimitivesParachainInherentParachainInherentData: { - validationData: 'PolkadotPrimitivesV2PersistedValidationData', + validationData: 'PolkadotPrimitivesV5PersistedValidationData', relayChainState: 'SpTrieStorageProof', downwardMessages: 'Vec', horizontalMessages: 'BTreeMap>' }, /** - * Lookup316: polkadot_primitives::v2::PersistedValidationData + * Lookup342: polkadot_primitives::v5::PersistedValidationData **/ - PolkadotPrimitivesV2PersistedValidationData: { + PolkadotPrimitivesV5PersistedValidationData: { parentHead: 'Bytes', relayParentNumber: 'u32', relayParentStorageRoot: 'H256', maxPovSize: 'u32' }, /** - * Lookup318: sp_trie::storage_proof::StorageProof + * Lookup344: sp_trie::storage_proof::StorageProof **/ SpTrieStorageProof: { trieNodes: 'BTreeSet' }, /** - * Lookup321: polkadot_core_primitives::InboundDownwardMessage + * Lookup347: polkadot_core_primitives::InboundDownwardMessage **/ PolkadotCorePrimitivesInboundDownwardMessage: { sentAt: 'u32', msg: 'Bytes' }, /** - * Lookup324: polkadot_core_primitives::InboundHrmpMessage + * Lookup350: polkadot_core_primitives::InboundHrmpMessage **/ PolkadotCorePrimitivesInboundHrmpMessage: { sentAt: 'u32', data: 'Bytes' }, /** - * Lookup327: cumulus_pallet_xcmp_queue::pallet::Call + * Lookup353: parachain_info::pallet::Call + **/ + ParachainInfoCall: 'Null', + /** + * Lookup354: cumulus_pallet_xcmp_queue::pallet::Call **/ CumulusPalletXcmpQueueCall: { _enum: { @@ -3069,7 +3416,7 @@ export default { } }, /** - * Lookup328: pallet_xcm::pallet::Call + * Lookup355: pallet_xcm::pallet::Call **/ PalletXcmCall: { _enum: { @@ -3095,7 +3442,7 @@ export default { }, force_xcm_version: { location: 'XcmV3MultiLocation', - xcmVersion: 'u32', + version: 'u32', }, force_default_xcm_version: { maybeXcmVersion: 'Option', @@ -3118,12 +3465,15 @@ export default { beneficiary: 'XcmVersionedMultiLocation', assets: 'XcmVersionedMultiAssets', feeAssetItem: 'u32', - weightLimit: 'XcmV3WeightLimit' + weightLimit: 'XcmV3WeightLimit', + }, + force_suspension: { + suspended: 'bool' } } }, /** - * Lookup329: xcm::VersionedXcm + * Lookup356: xcm::VersionedXcm **/ XcmVersionedXcm: { _enum: { @@ -3134,11 +3484,11 @@ export default { } }, /** - * Lookup330: xcm::v2::Xcm + * Lookup357: xcm::v2::Xcm **/ XcmV2Xcm: 'Vec', /** - * Lookup332: xcm::v2::Instruction + * Lookup359: xcm::v2::Instruction **/ XcmV2Instruction: { _enum: { @@ -3236,7 +3586,7 @@ export default { } }, /** - * Lookup333: xcm::v2::Response + * Lookup360: xcm::v2::Response **/ XcmV2Response: { _enum: { @@ -3247,7 +3597,7 @@ export default { } }, /** - * Lookup336: xcm::v2::traits::Error + * Lookup363: xcm::v2::traits::Error **/ XcmV2TraitsError: { _enum: { @@ -3280,7 +3630,7 @@ export default { } }, /** - * Lookup337: xcm::v2::multiasset::MultiAssetFilter + * Lookup364: xcm::v2::multiasset::MultiAssetFilter **/ XcmV2MultiassetMultiAssetFilter: { _enum: { @@ -3289,7 +3639,7 @@ export default { } }, /** - * Lookup338: xcm::v2::multiasset::WildMultiAsset + * Lookup365: xcm::v2::multiasset::WildMultiAsset **/ XcmV2MultiassetWildMultiAsset: { _enum: { @@ -3301,13 +3651,13 @@ export default { } }, /** - * Lookup339: xcm::v2::multiasset::WildFungibility + * Lookup366: xcm::v2::multiasset::WildFungibility **/ XcmV2MultiassetWildFungibility: { _enum: ['Fungible', 'NonFungible'] }, /** - * Lookup340: xcm::v2::WeightLimit + * Lookup367: xcm::v2::WeightLimit **/ XcmV2WeightLimit: { _enum: { @@ -3316,7 +3666,7 @@ export default { } }, /** - * Lookup349: cumulus_pallet_dmp_queue::pallet::Call + * Lookup376: cumulus_pallet_dmp_queue::pallet::Call **/ CumulusPalletDmpQueueCall: { _enum: { @@ -3327,7 +3677,7 @@ export default { } }, /** - * Lookup353: pallet_democracy::types::ReferendumInfo, Balance> + * Lookup380: pallet_democracy::types::ReferendumInfo, Balance> **/ PalletDemocracyReferendumInfo: { _enum: { @@ -3339,7 +3689,7 @@ export default { } }, /** - * Lookup354: pallet_democracy::types::ReferendumStatus, Balance> + * Lookup381: pallet_democracy::types::ReferendumStatus, Balance> **/ PalletDemocracyReferendumStatus: { end: 'u64', @@ -3349,7 +3699,7 @@ export default { tally: 'PalletDemocracyTally' }, /** - * Lookup355: pallet_democracy::types::Tally + * Lookup382: pallet_democracy::types::Tally **/ PalletDemocracyTally: { ayes: 'u128', @@ -3357,7 +3707,7 @@ export default { turnout: 'u128' }, /** - * Lookup356: pallet_democracy::vote::Voting + * Lookup383: pallet_democracy::vote::Voting **/ PalletDemocracyVoteVoting: { _enum: { @@ -3376,24 +3726,24 @@ export default { } }, /** - * Lookup360: pallet_democracy::types::Delegations + * Lookup387: pallet_democracy::types::Delegations **/ PalletDemocracyDelegations: { votes: 'u128', capital: 'u128' }, /** - * Lookup361: pallet_democracy::vote::PriorLock + * Lookup388: pallet_democracy::vote::PriorLock **/ PalletDemocracyVotePriorLock: '(u64,u128)', /** - * Lookup364: pallet_democracy::pallet::Error + * Lookup391: pallet_democracy::pallet::Error **/ PalletDemocracyError: { _enum: ['ValueLow', 'ProposalMissing', 'AlreadyCanceled', 'DuplicateProposal', 'ProposalBlacklisted', 'NotSimpleMajority', 'InvalidHash', 'NoProposal', 'AlreadyVetoed', 'ReferendumInvalid', 'NoneWaiting', 'NotVoter', 'NoPermission', 'AlreadyDelegating', 'InsufficientFunds', 'NotDelegating', 'VotesExist', 'InstantNotAllowed', 'Nonsense', 'WrongUpperBound', 'MaxVotesReached', 'TooMany', 'VotingPeriodLow', 'PreimageNotExist'] }, /** - * Lookup366: pallet_collective::Votes + * Lookup393: pallet_collective::Votes **/ PalletCollectiveVotes: { index: 'u32', @@ -3403,19 +3753,19 @@ export default { end: 'u64' }, /** - * Lookup367: pallet_collective::pallet::Error + * Lookup394: pallet_collective::pallet::Error **/ PalletCollectiveError: { _enum: ['NotMember', 'DuplicateProposal', 'ProposalMissing', 'WrongIndex', 'DuplicateVote', 'AlreadyInitialized', 'TooEarly', 'TooManyProposals', 'WrongProposalWeight', 'WrongProposalLength'] }, /** - * Lookup371: pallet_membership::pallet::Error + * Lookup398: pallet_membership::pallet::Error **/ PalletMembershipError: { _enum: ['AlreadyMember', 'NotMember', 'TooManyMembers'] }, /** - * Lookup372: pallet_treasury::Proposal + * Lookup399: pallet_treasury::Proposal **/ PalletTreasuryProposal: { proposer: 'AccountId32', @@ -3424,35 +3774,35 @@ export default { bond: 'u128' }, /** - * Lookup376: frame_support::PalletId + * Lookup403: frame_support::PalletId **/ FrameSupportPalletId: '[u8;8]', /** - * Lookup377: pallet_treasury::pallet::Error + * Lookup404: pallet_treasury::pallet::Error **/ PalletTreasuryError: { _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved'] }, /** - * Lookup378: pallet_utility::pallet::Error + * Lookup405: pallet_utility::pallet::Error **/ PalletUtilityError: { _enum: ['TooManyCalls'] }, /** - * Lookup381: pallet_vesting::Releases + * Lookup408: pallet_vesting::Releases **/ PalletVestingReleases: { _enum: ['V0', 'V1'] }, /** - * Lookup382: pallet_vesting::pallet::Error + * Lookup409: pallet_vesting::pallet::Error **/ PalletVestingError: { _enum: ['NotVesting', 'AtMaxVestingSchedules', 'AmountLow', 'ScheduleIndexOutOfBounds', 'InvalidScheduleParams'] }, /** - * Lookup385: pallet_scheduler::Scheduled, BlockNumber, spiritnet_runtime::OriginCaller, sp_core::crypto::AccountId32> + * Lookup412: pallet_scheduler::Scheduled, BlockNumber, spiritnet_runtime::OriginCaller, sp_core::crypto::AccountId32> **/ PalletSchedulerScheduled: { maybeId: 'Option<[u8;32]>', @@ -3462,13 +3812,13 @@ export default { origin: 'SpiritnetRuntimeOriginCaller' }, /** - * Lookup387: pallet_scheduler::pallet::Error + * Lookup414: pallet_scheduler::pallet::Error **/ PalletSchedulerError: { _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange', 'Named'] }, /** - * Lookup390: pallet_proxy::ProxyDefinition + * Lookup417: pallet_proxy::ProxyDefinition **/ PalletProxyProxyDefinition: { delegate: 'AccountId32', @@ -3476,7 +3826,7 @@ export default { delay: 'u64' }, /** - * Lookup394: pallet_proxy::Announcement + * Lookup421: pallet_proxy::Announcement **/ PalletProxyAnnouncement: { real: 'AccountId32', @@ -3484,13 +3834,13 @@ export default { height: 'u64' }, /** - * Lookup396: pallet_proxy::pallet::Error + * Lookup423: pallet_proxy::pallet::Error **/ PalletProxyError: { _enum: ['TooMany', 'NotFound', 'NotProxy', 'Unproxyable', 'Duplicate', 'NoPermission', 'Unannounced', 'NoSelfProxy'] }, /** - * Lookup397: pallet_preimage::RequestStatus + * Lookup424: pallet_preimage::RequestStatus **/ PalletPreimageRequestStatus: { _enum: { @@ -3506,13 +3856,13 @@ export default { } }, /** - * Lookup402: pallet_preimage::pallet::Error + * Lookup429: pallet_preimage::pallet::Error **/ PalletPreimageError: { _enum: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested'] }, /** - * Lookup405: pallet_tips::OpenTip + * Lookup432: pallet_tips::OpenTip **/ PalletTipsOpenTip: { reason: 'H256', @@ -3524,13 +3874,13 @@ export default { findersFee: 'bool' }, /** - * Lookup409: pallet_tips::pallet::Error + * Lookup436: pallet_tips::pallet::Error **/ PalletTipsError: { _enum: ['ReasonTooBig', 'AlreadyKnown', 'UnknownTip', 'NotFinder', 'StillOpen', 'Premature'] }, /** - * Lookup411: pallet_multisig::Multisig + * Lookup438: pallet_multisig::Multisig **/ PalletMultisigMultisig: { when: 'PalletMultisigTimepoint', @@ -3539,26 +3889,26 @@ export default { approvals: 'Vec' }, /** - * Lookup413: pallet_multisig::pallet::Error + * Lookup440: pallet_multisig::pallet::Error **/ PalletMultisigError: { _enum: ['MinimumThreshold', 'AlreadyApproved', 'NoApprovalsNeeded', 'TooFewSignatories', 'TooManySignatories', 'SignatoriesOutOfOrder', 'SenderInSignatories', 'NotFound', 'NotOwner', 'NoTimepoint', 'WrongTimepoint', 'UnexpectedTimepoint', 'MaxWeightTooLow', 'AlreadyStored'] }, /** - * Lookup414: ctype::ctype_entry::CtypeEntry + * Lookup441: ctype::ctype_entry::CtypeEntry **/ CtypeCtypeEntry: { creator: 'AccountId32', createdAt: 'u64' }, /** - * Lookup415: ctype::pallet::Error + * Lookup442: ctype::pallet::Error **/ CtypeError: { _enum: ['NotFound', 'AlreadyExists', 'UnableToPayFees'] }, /** - * Lookup416: attestation::attestations::AttestationDetails, sp_core::crypto::AccountId32, Balance> + * Lookup443: attestation::attestations::AttestationDetails, sp_core::crypto::AccountId32, Balance> **/ AttestationAttestationsAttestationDetails: { ctypeHash: 'H256', @@ -3568,20 +3918,20 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup417: kilt_support::deposit::Deposit + * Lookup444: kilt_support::deposit::Deposit **/ KiltSupportDeposit: { owner: 'AccountId32', amount: 'u128' }, /** - * Lookup419: attestation::pallet::Error + * Lookup446: attestation::pallet::Error **/ AttestationError: { _enum: ['AlreadyAttested', 'AlreadyRevoked', 'NotFound', 'CTypeMismatch', 'NotAuthorized', 'MaxDelegatedAttestationsExceeded'] }, /** - * Lookup420: delegation::delegation_hierarchy::DelegationNode, sp_core::crypto::AccountId32, Balance> + * Lookup447: delegation::delegation_hierarchy::DelegationNode, sp_core::crypto::AccountId32, Balance> **/ DelegationDelegationHierarchyDelegationNode: { hierarchyRootId: 'H256', @@ -3591,11 +3941,11 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup421: runtime_common::constants::delegation::MaxChildren + * Lookup448: runtime_common::constants::delegation::MaxChildren **/ RuntimeCommonConstantsDelegationMaxChildren: 'Null', /** - * Lookup422: delegation::delegation_hierarchy::DelegationDetails + * Lookup449: delegation::delegation_hierarchy::DelegationDetails **/ DelegationDelegationHierarchyDelegationDetails: { owner: 'AccountId32', @@ -3603,19 +3953,19 @@ export default { permissions: 'DelegationDelegationHierarchyPermissions' }, /** - * Lookup425: delegation::delegation_hierarchy::DelegationHierarchyDetails + * Lookup452: delegation::delegation_hierarchy::DelegationHierarchyDetails **/ DelegationDelegationHierarchyDelegationHierarchyDetails: { ctypeHash: 'H256' }, /** - * Lookup426: delegation::pallet::Error + * Lookup453: delegation::pallet::Error **/ DelegationError: { _enum: ['DelegationAlreadyExists', 'InvalidDelegateSignature', 'DelegationNotFound', 'DelegateNotFound', 'HierarchyAlreadyExists', 'HierarchyNotFound', 'MaxSearchDepthReached', 'NotOwnerOfParentDelegation', 'NotOwnerOfDelegationHierarchy', 'ParentDelegationNotFound', 'ParentDelegationRevoked', 'UnauthorizedRevocation', 'UnauthorizedRemoval', 'UnauthorizedDelegation', 'AccessDenied', 'ExceededRevocationBounds', 'ExceededRemovalBounds', 'MaxRevocationsTooLarge', 'MaxRemovalsTooLarge', 'MaxParentChecksTooLarge', 'Internal', 'MaxChildrenExceeded'] }, /** - * Lookup427: did::did_details::DidDetails + * Lookup454: did::did_details::DidDetails **/ DidDidDetails: { authenticationKey: 'H256', @@ -3627,14 +3977,14 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup430: did::did_details::DidPublicKeyDetails + * Lookup457: did::did_details::DidPublicKeyDetails **/ DidDidDetailsDidPublicKeyDetails: { key: 'DidDidDetailsDidPublicKey', blockNumber: 'u64' }, /** - * Lookup431: did::did_details::DidPublicKey + * Lookup458: did::did_details::DidPublicKey **/ DidDidDetailsDidPublicKey: { _enum: { @@ -3643,26 +3993,26 @@ export default { } }, /** - * Lookup436: did::pallet::Error + * Lookup463: did::pallet::Error **/ DidError: { _enum: ['InvalidSignatureFormat', 'InvalidSignature', 'AlreadyExists', 'NotFound', 'VerificationKeyNotFound', 'InvalidNonce', 'UnsupportedDidAuthorizationCall', 'InvalidDidAuthorizationCall', 'MaxNewKeyAgreementKeysLimitExceeded', 'MaxPublicKeysExceeded', 'MaxKeyAgreementKeysExceeded', 'BadDidOrigin', 'TransactionExpired', 'AlreadyDeleted', 'NotOwnerOfDeposit', 'UnableToPayFees', 'MaxNumberOfServicesExceeded', 'MaxServiceIdLengthExceeded', 'MaxServiceTypeLengthExceeded', 'MaxNumberOfTypesPerServiceExceeded', 'MaxServiceUrlLengthExceeded', 'MaxNumberOfUrlsPerServiceExceeded', 'ServiceAlreadyExists', 'ServiceNotFound', 'InvalidServiceEncoding', 'MaxStoredEndpointsCountExceeded', 'Internal'] }, /** - * Lookup437: pallet_did_lookup::connection_record::ConnectionRecord + * Lookup464: pallet_did_lookup::connection_record::ConnectionRecord **/ PalletDidLookupConnectionRecord: { did: 'AccountId32', deposit: 'KiltSupportDeposit' }, /** - * Lookup439: pallet_did_lookup::pallet::Error + * Lookup466: pallet_did_lookup::pallet::Error **/ PalletDidLookupError: { _enum: ['NotFound', 'NotAuthorized', 'OutdatedProof', 'InsufficientFunds', 'Migration'] }, /** - * Lookup440: pallet_web3_names::web3_name::Web3NameOwnership, BlockNumber> + * Lookup467: pallet_web3_names::web3_name::Web3NameOwnership, BlockNumber> **/ PalletWeb3NamesWeb3NameWeb3NameOwnership: { owner: 'AccountId32', @@ -3670,13 +4020,13 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup441: pallet_web3_names::pallet::Error + * Lookup468: pallet_web3_names::pallet::Error **/ PalletWeb3NamesError: { _enum: ['InsufficientFunds', 'AlreadyExists', 'NotFound', 'OwnerAlreadyExists', 'OwnerNotFound', 'Banned', 'NotBanned', 'AlreadyBanned', 'NotAuthorized', 'TooShort', 'TooLong', 'InvalidCharacter'] }, /** - * Lookup443: public_credentials::credentials::CredentialEntry> + * Lookup469: public_credentials::credentials::CredentialEntry> **/ PublicCredentialsCredentialsCredentialEntry: { ctypeHash: 'H256', @@ -3687,30 +4037,43 @@ export default { authorizationId: 'Option' }, /** - * Lookup444: public_credentials::pallet::Error + * Lookup470: public_credentials::pallet::Error **/ PublicCredentialsError: { _enum: ['AlreadyAttested', 'NotFound', 'UnableToPayFees', 'InvalidInput', 'NotAuthorized', 'Internal'] }, /** - * Lookup446: polkadot_primitives::v2::UpgradeRestriction + * Lookup471: pallet_migration::pallet::Error + **/ + PalletMigrationError: { + _enum: ['KeyParse'] + }, + /** + * Lookup473: polkadot_primitives::v5::UpgradeRestriction **/ - PolkadotPrimitivesV2UpgradeRestriction: { + PolkadotPrimitivesV5UpgradeRestriction: { _enum: ['Present'] }, /** - * Lookup447: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot + * Lookup474: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot **/ CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { dmqMqcHead: 'H256', - relayDispatchQueueSize: '(u32,u32)', - ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>', - egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>' + relayDispatchQueueSize: 'CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize', + ingressChannels: 'Vec<(u32,PolkadotPrimitivesV5AbridgedHrmpChannel)>', + egressChannels: 'Vec<(u32,PolkadotPrimitivesV5AbridgedHrmpChannel)>' }, /** - * Lookup451: polkadot_primitives::v2::AbridgedHrmpChannel + * Lookup475: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispachQueueSize **/ - PolkadotPrimitivesV2AbridgedHrmpChannel: { + CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: { + remainingCount: 'u32', + remainingSize: 'u32' + }, + /** + * Lookup478: polkadot_primitives::v5::AbridgedHrmpChannel + **/ + PolkadotPrimitivesV5AbridgedHrmpChannel: { maxCapacity: 'u32', maxTotalSize: 'u32', maxMessageSize: 'u32', @@ -3719,9 +4082,9 @@ export default { mqcHead: 'Option' }, /** - * Lookup452: polkadot_primitives::v2::AbridgedHostConfiguration + * Lookup479: polkadot_primitives::v5::AbridgedHostConfiguration **/ - PolkadotPrimitivesV2AbridgedHostConfiguration: { + PolkadotPrimitivesV5AbridgedHostConfiguration: { maxCodeSize: 'u32', maxHeadDataSize: 'u32', maxUpwardQueueCount: 'u32', @@ -3733,27 +4096,27 @@ export default { validationUpgradeDelay: 'u32' }, /** - * Lookup458: polkadot_core_primitives::OutboundHrmpMessage + * Lookup485: polkadot_core_primitives::OutboundHrmpMessage **/ PolkadotCorePrimitivesOutboundHrmpMessage: { recipient: 'u32', data: 'Bytes' }, /** - * Lookup459: cumulus_pallet_parachain_system::CodeUpgradeAuthorization + * Lookup486: cumulus_pallet_parachain_system::CodeUpgradeAuthorization **/ CumulusPalletParachainSystemCodeUpgradeAuthorization: { codeHash: 'H256', checkVersion: 'bool' }, /** - * Lookup460: cumulus_pallet_parachain_system::pallet::Error + * Lookup487: cumulus_pallet_parachain_system::pallet::Error **/ CumulusPalletParachainSystemError: { _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized'] }, /** - * Lookup462: cumulus_pallet_xcmp_queue::InboundChannelDetails + * Lookup489: cumulus_pallet_xcmp_queue::InboundChannelDetails **/ CumulusPalletXcmpQueueInboundChannelDetails: { sender: 'u32', @@ -3761,19 +4124,19 @@ export default { messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>' }, /** - * Lookup463: cumulus_pallet_xcmp_queue::InboundState + * Lookup490: cumulus_pallet_xcmp_queue::InboundState **/ CumulusPalletXcmpQueueInboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup466: polkadot_parachain::primitives::XcmpMessageFormat + * Lookup493: polkadot_parachain::primitives::XcmpMessageFormat **/ PolkadotParachainPrimitivesXcmpMessageFormat: { _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals'] }, /** - * Lookup469: cumulus_pallet_xcmp_queue::OutboundChannelDetails + * Lookup496: cumulus_pallet_xcmp_queue::OutboundChannelDetails **/ CumulusPalletXcmpQueueOutboundChannelDetails: { recipient: 'u32', @@ -3783,13 +4146,13 @@ export default { lastIndex: 'u16' }, /** - * Lookup470: cumulus_pallet_xcmp_queue::OutboundState + * Lookup497: cumulus_pallet_xcmp_queue::OutboundState **/ CumulusPalletXcmpQueueOutboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup472: cumulus_pallet_xcmp_queue::QueueConfigData + * Lookup499: cumulus_pallet_xcmp_queue::QueueConfigData **/ CumulusPalletXcmpQueueQueueConfigData: { suspendThreshold: 'u32', @@ -3800,29 +4163,92 @@ export default { xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight' }, /** - * Lookup474: cumulus_pallet_xcmp_queue::pallet::Error + * Lookup501: cumulus_pallet_xcmp_queue::pallet::Error **/ CumulusPalletXcmpQueueError: { _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit'] }, /** - * Lookup475: pallet_xcm::pallet::Error + * Lookup502: pallet_xcm::pallet::QueryStatus + **/ + PalletXcmQueryStatus: { + _enum: { + Pending: { + responder: 'XcmVersionedMultiLocation', + maybeMatchQuerier: 'Option', + maybeNotify: 'Option<(u8,u8)>', + timeout: 'u64', + }, + VersionNotifier: { + origin: 'XcmVersionedMultiLocation', + isActive: 'bool', + }, + Ready: { + response: 'XcmVersionedResponse', + at: 'u64' + } + } + }, + /** + * Lookup506: xcm::VersionedResponse + **/ + XcmVersionedResponse: { + _enum: { + __Unused0: 'Null', + __Unused1: 'Null', + V2: 'XcmV2Response', + V3: 'XcmV3Response' + } + }, + /** + * Lookup512: pallet_xcm::pallet::VersionMigrationStage + **/ + PalletXcmVersionMigrationStage: { + _enum: { + MigrateSupportedVersion: 'Null', + MigrateVersionNotifiers: 'Null', + NotifyCurrentTargets: 'Option', + MigrateAndNotifyOldTargets: 'Null' + } + }, + /** + * Lookup515: xcm::VersionedAssetId + **/ + XcmVersionedAssetId: { + _enum: { + __Unused0: 'Null', + __Unused1: 'Null', + __Unused2: 'Null', + V3: 'XcmV3MultiassetAssetId' + } + }, + /** + * Lookup516: pallet_xcm::pallet::RemoteLockedFungibleRecord + **/ + PalletXcmRemoteLockedFungibleRecord: { + amount: 'u128', + owner: 'XcmVersionedMultiLocation', + locker: 'XcmVersionedMultiLocation', + consumers: 'Vec<([u8;8],u128)>' + }, + /** + * Lookup523: pallet_xcm::pallet::Error **/ PalletXcmError: { _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed', 'InvalidAsset', 'LowBalance', 'TooManyLocks', 'AccountNotSovereign', 'FeesNotMet', 'LockNotFound', 'InUse'] }, /** - * Lookup476: cumulus_pallet_xcm::pallet::Error + * Lookup524: cumulus_pallet_xcm::pallet::Error **/ CumulusPalletXcmError: 'Null', /** - * Lookup477: cumulus_pallet_dmp_queue::ConfigData + * Lookup525: cumulus_pallet_dmp_queue::ConfigData **/ CumulusPalletDmpQueueConfigData: { maxIndividual: 'SpWeightsWeightV2Weight' }, /** - * Lookup478: cumulus_pallet_dmp_queue::PageIndexData + * Lookup526: cumulus_pallet_dmp_queue::PageIndexData **/ CumulusPalletDmpQueuePageIndexData: { beginUsed: 'u32', @@ -3830,37 +4256,37 @@ export default { overweightCount: 'u64' }, /** - * Lookup481: cumulus_pallet_dmp_queue::pallet::Error + * Lookup529: cumulus_pallet_dmp_queue::pallet::Error **/ CumulusPalletDmpQueueError: { _enum: ['Unknown', 'OverLimit'] }, /** - * Lookup484: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender + * Lookup532: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender **/ FrameSystemExtensionsCheckNonZeroSender: 'Null', /** - * Lookup485: frame_system::extensions::check_spec_version::CheckSpecVersion + * Lookup533: frame_system::extensions::check_spec_version::CheckSpecVersion **/ FrameSystemExtensionsCheckSpecVersion: 'Null', /** - * Lookup486: frame_system::extensions::check_tx_version::CheckTxVersion + * Lookup534: frame_system::extensions::check_tx_version::CheckTxVersion **/ FrameSystemExtensionsCheckTxVersion: 'Null', /** - * Lookup487: frame_system::extensions::check_genesis::CheckGenesis + * Lookup535: frame_system::extensions::check_genesis::CheckGenesis **/ FrameSystemExtensionsCheckGenesis: 'Null', /** - * Lookup490: frame_system::extensions::check_nonce::CheckNonce + * Lookup538: frame_system::extensions::check_nonce::CheckNonce **/ FrameSystemExtensionsCheckNonce: 'Compact', /** - * Lookup491: frame_system::extensions::check_weight::CheckWeight + * Lookup539: frame_system::extensions::check_weight::CheckWeight **/ FrameSystemExtensionsCheckWeight: 'Null', /** - * Lookup492: pallet_transaction_payment::ChargeTransactionPayment + * Lookup540: pallet_transaction_payment::ChargeTransactionPayment **/ PalletTransactionPaymentChargeTransactionPayment: 'Compact' }; diff --git a/packages/augment-api/src/interfaces/registry.ts b/packages/augment-api/src/interfaces/registry.ts index 49c126966..1a828d420 100644 --- a/packages/augment-api/src/interfaces/registry.ts +++ b/packages/augment-api/src/interfaces/registry.ts @@ -5,7 +5,7 @@ // this is required to allow for ambient/previous definitions import '@polkadot/types/types/registry'; -import type { AttestationAttestationsAttestationDetails, AttestationCall, AttestationError, AttestationEvent, CtypeCall, CtypeCtypeEntry, CtypeError, CtypeEvent, CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, DelegationAccessControlDelegationAc, DelegationCall, DelegationDelegationHierarchyDelegationDetails, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DelegationDelegationHierarchyPermissions, DelegationError, DelegationEvent, DidCall, DidDidDetails, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidPublicKey, DidDidDetailsDidPublicKeyDetails, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidError, DidEvent, DidOriginDidRawOrigin, DidServiceEndpointsDidEndpoint, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, KiltAssetDidsAssetV1AssetId, KiltAssetDidsAssetV1EvmSmartContractFungibleReference, KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference, KiltAssetDidsAssetV1GenericAssetId, KiltAssetDidsChainV1ChainId, KiltAssetDidsChainV1GenericChainId, KiltAssetDidsChainV1GenesisHexHash32Reference, KiltAssetDidsV1AssetDid, KiltSupportDeposit, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupAccountAccountId20, PalletDidLookupAccountEthereumSignature, PalletDidLookupAssociateAccountRequest, PalletDidLookupCall, PalletDidLookupConnectionRecord, PalletDidLookupError, PalletDidLookupEvent, PalletDidLookupLinkableAccountLinkableAccountId, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletMultisigCall, PalletMultisigError, PalletMultisigEvent, PalletMultisigMultisig, PalletMultisigTimepoint, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletTimestampCall, PalletTipsCall, PalletTipsError, PalletTipsEvent, PalletTipsOpenTip, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesCall, PalletWeb3NamesError, PalletWeb3NamesEvent, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, ParachainStakingCall, ParachainStakingCandidate, ParachainStakingCandidateStatus, ParachainStakingDelegationCounter, ParachainStakingError, ParachainStakingEvent, ParachainStakingInflationInflationInfo, ParachainStakingInflationRewardRate, ParachainStakingInflationStakingInfo, ParachainStakingRoundInfo, ParachainStakingSetOrderedSet, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, PublicCredentialsCall, PublicCredentialsCredentialsCredential, PublicCredentialsCredentialsCredentialEntry, PublicCredentialsError, PublicCredentialsEvent, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonAuthorizationPalletAuthorize, RuntimeCommonConstantsDelegationMaxChildren, RuntimeCommonConstantsDidMaxNewKeyAgreementKeys, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaPublic, SpCoreEcdsaSignature, SpCoreEd25519Public, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeRuntime, SpiritnetRuntimeSessionKeys, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { AttestationAttestationsAttestationDetails, AttestationCall, AttestationError, AttestationEvent, AttestationHoldReason, CtypeCall, CtypeCtypeEntry, CtypeError, CtypeEvent, CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, DelegationAccessControlDelegationAc, DelegationCall, DelegationDelegationHierarchyDelegationDetails, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DelegationDelegationHierarchyPermissions, DelegationError, DelegationEvent, DelegationHoldReason, DidCall, DidDidDetails, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidPublicKey, DidDidDetailsDidPublicKeyDetails, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidError, DidEvent, DidHoldReason, DidOriginDidRawOrigin, DidServiceEndpointsDidEndpoint, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, KiltAssetDidsAssetV1AssetId, KiltAssetDidsAssetV1EvmSmartContractFungibleReference, KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference, KiltAssetDidsAssetV1GenericAssetId, KiltAssetDidsChainV1ChainId, KiltAssetDidsChainV1GenericChainId, KiltAssetDidsChainV1GenesisHexHash32Reference, KiltAssetDidsV1AssetDid, KiltSupportDeposit, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesIdAmountRuntimeFreezeReason, PalletBalancesIdAmountRuntimeHoldReason, PalletBalancesReasons, PalletBalancesReserveData, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupAccountAccountId20, PalletDidLookupAccountEthereumSignature, PalletDidLookupAssociateAccountRequest, PalletDidLookupCall, PalletDidLookupConnectionRecord, PalletDidLookupError, PalletDidLookupEvent, PalletDidLookupHoldReason, PalletDidLookupLinkableAccountLinkableAccountId, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletMigrationCall, PalletMigrationEntriesToMigrate, PalletMigrationError, PalletMigrationEvent, PalletMultisigCall, PalletMultisigError, PalletMultisigEvent, PalletMultisigMultisig, PalletMultisigTimepoint, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletTimestampCall, PalletTipsCall, PalletTipsError, PalletTipsEvent, PalletTipsOpenTip, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesCall, PalletWeb3NamesError, PalletWeb3NamesEvent, PalletWeb3NamesHoldReason, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainInfoCall, ParachainStakingCall, ParachainStakingCandidate, ParachainStakingCandidateStatus, ParachainStakingDelegationCounter, ParachainStakingError, ParachainStakingEvent, ParachainStakingFreezeReason, ParachainStakingInflationInflationInfo, ParachainStakingInflationRewardRate, ParachainStakingInflationStakingInfo, ParachainStakingRoundInfo, ParachainStakingSetOrderedSet, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV5AbridgedHostConfiguration, PolkadotPrimitivesV5AbridgedHrmpChannel, PolkadotPrimitivesV5PersistedValidationData, PolkadotPrimitivesV5UpgradeRestriction, PublicCredentialsCall, PublicCredentialsCredentialsCredential, PublicCredentialsCredentialsCredentialEntry, PublicCredentialsError, PublicCredentialsEvent, PublicCredentialsHoldReason, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonAuthorizationPalletAuthorize, RuntimeCommonConstantsDelegationMaxChildren, RuntimeCommonConstantsDidMaxNewKeyAgreementKeys, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaPublic, SpCoreEcdsaSignature, SpCoreEd25519Public, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeRuntime, SpiritnetRuntimeRuntimeFreezeReason, SpiritnetRuntimeRuntimeHoldReason, SpiritnetRuntimeSessionKeys, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedAssetId, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedResponse, XcmVersionedXcm } from '@polkadot/types/lookup'; declare module '@polkadot/types/types/registry' { interface InterfaceTypes { @@ -13,6 +13,7 @@ declare module '@polkadot/types/types/registry' { AttestationCall: AttestationCall; AttestationError: AttestationError; AttestationEvent: AttestationEvent; + AttestationHoldReason: AttestationHoldReason; CtypeCall: CtypeCall; CtypeCtypeEntry: CtypeCtypeEntry; CtypeError: CtypeError; @@ -27,6 +28,7 @@ declare module '@polkadot/types/types/registry' { CumulusPalletParachainSystemError: CumulusPalletParachainSystemError; CumulusPalletParachainSystemEvent: CumulusPalletParachainSystemEvent; CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot; + CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize; CumulusPalletXcmError: CumulusPalletXcmError; CumulusPalletXcmEvent: CumulusPalletXcmEvent; CumulusPalletXcmOrigin: CumulusPalletXcmOrigin; @@ -47,6 +49,7 @@ declare module '@polkadot/types/types/registry' { DelegationDelegationHierarchyPermissions: DelegationDelegationHierarchyPermissions; DelegationError: DelegationError; DelegationEvent: DelegationEvent; + DelegationHoldReason: DelegationHoldReason; DidCall: DidCall; DidDidDetails: DidDidDetails; DidDidDetailsDidAuthorizedCallOperation: DidDidDetailsDidAuthorizedCallOperation; @@ -58,6 +61,7 @@ declare module '@polkadot/types/types/registry' { DidDidDetailsDidVerificationKey: DidDidDetailsDidVerificationKey; DidError: DidError; DidEvent: DidEvent; + DidHoldReason: DidHoldReason; DidOriginDidRawOrigin: DidOriginDidRawOrigin; DidServiceEndpointsDidEndpoint: DidServiceEndpointsDidEndpoint; FrameSupportDispatchDispatchClass: FrameSupportDispatchDispatchClass; @@ -100,6 +104,8 @@ declare module '@polkadot/types/types/registry' { PalletBalancesCall: PalletBalancesCall; PalletBalancesError: PalletBalancesError; PalletBalancesEvent: PalletBalancesEvent; + PalletBalancesIdAmountRuntimeFreezeReason: PalletBalancesIdAmountRuntimeFreezeReason; + PalletBalancesIdAmountRuntimeHoldReason: PalletBalancesIdAmountRuntimeHoldReason; PalletBalancesReasons: PalletBalancesReasons; PalletBalancesReserveData: PalletBalancesReserveData; PalletCollectiveCall: PalletCollectiveCall; @@ -127,6 +133,7 @@ declare module '@polkadot/types/types/registry' { PalletDidLookupConnectionRecord: PalletDidLookupConnectionRecord; PalletDidLookupError: PalletDidLookupError; PalletDidLookupEvent: PalletDidLookupEvent; + PalletDidLookupHoldReason: PalletDidLookupHoldReason; PalletDidLookupLinkableAccountLinkableAccountId: PalletDidLookupLinkableAccountLinkableAccountId; PalletIndicesCall: PalletIndicesCall; PalletIndicesError: PalletIndicesError; @@ -134,6 +141,10 @@ declare module '@polkadot/types/types/registry' { PalletMembershipCall: PalletMembershipCall; PalletMembershipError: PalletMembershipError; PalletMembershipEvent: PalletMembershipEvent; + PalletMigrationCall: PalletMigrationCall; + PalletMigrationEntriesToMigrate: PalletMigrationEntriesToMigrate; + PalletMigrationError: PalletMigrationError; + PalletMigrationEvent: PalletMigrationEvent; PalletMultisigCall: PalletMultisigCall; PalletMultisigError: PalletMultisigError; PalletMultisigEvent: PalletMultisigEvent; @@ -178,17 +189,23 @@ declare module '@polkadot/types/types/registry' { PalletWeb3NamesCall: PalletWeb3NamesCall; PalletWeb3NamesError: PalletWeb3NamesError; PalletWeb3NamesEvent: PalletWeb3NamesEvent; + PalletWeb3NamesHoldReason: PalletWeb3NamesHoldReason; PalletWeb3NamesWeb3NameWeb3NameOwnership: PalletWeb3NamesWeb3NameWeb3NameOwnership; PalletXcmCall: PalletXcmCall; PalletXcmError: PalletXcmError; PalletXcmEvent: PalletXcmEvent; PalletXcmOrigin: PalletXcmOrigin; + PalletXcmQueryStatus: PalletXcmQueryStatus; + PalletXcmRemoteLockedFungibleRecord: PalletXcmRemoteLockedFungibleRecord; + PalletXcmVersionMigrationStage: PalletXcmVersionMigrationStage; + ParachainInfoCall: ParachainInfoCall; ParachainStakingCall: ParachainStakingCall; ParachainStakingCandidate: ParachainStakingCandidate; ParachainStakingCandidateStatus: ParachainStakingCandidateStatus; ParachainStakingDelegationCounter: ParachainStakingDelegationCounter; ParachainStakingError: ParachainStakingError; ParachainStakingEvent: ParachainStakingEvent; + ParachainStakingFreezeReason: ParachainStakingFreezeReason; ParachainStakingInflationInflationInfo: ParachainStakingInflationInflationInfo; ParachainStakingInflationRewardRate: ParachainStakingInflationRewardRate; ParachainStakingInflationStakingInfo: ParachainStakingInflationStakingInfo; @@ -200,15 +217,16 @@ declare module '@polkadot/types/types/registry' { PolkadotCorePrimitivesInboundHrmpMessage: PolkadotCorePrimitivesInboundHrmpMessage; PolkadotCorePrimitivesOutboundHrmpMessage: PolkadotCorePrimitivesOutboundHrmpMessage; PolkadotParachainPrimitivesXcmpMessageFormat: PolkadotParachainPrimitivesXcmpMessageFormat; - PolkadotPrimitivesV2AbridgedHostConfiguration: PolkadotPrimitivesV2AbridgedHostConfiguration; - PolkadotPrimitivesV2AbridgedHrmpChannel: PolkadotPrimitivesV2AbridgedHrmpChannel; - PolkadotPrimitivesV2PersistedValidationData: PolkadotPrimitivesV2PersistedValidationData; - PolkadotPrimitivesV2UpgradeRestriction: PolkadotPrimitivesV2UpgradeRestriction; + PolkadotPrimitivesV5AbridgedHostConfiguration: PolkadotPrimitivesV5AbridgedHostConfiguration; + PolkadotPrimitivesV5AbridgedHrmpChannel: PolkadotPrimitivesV5AbridgedHrmpChannel; + PolkadotPrimitivesV5PersistedValidationData: PolkadotPrimitivesV5PersistedValidationData; + PolkadotPrimitivesV5UpgradeRestriction: PolkadotPrimitivesV5UpgradeRestriction; PublicCredentialsCall: PublicCredentialsCall; PublicCredentialsCredentialsCredential: PublicCredentialsCredentialsCredential; PublicCredentialsCredentialsCredentialEntry: PublicCredentialsCredentialsCredentialEntry; PublicCredentialsError: PublicCredentialsError; PublicCredentialsEvent: PublicCredentialsEvent; + PublicCredentialsHoldReason: PublicCredentialsHoldReason; RuntimeCommonAssetsAssetDid: RuntimeCommonAssetsAssetDid; RuntimeCommonAuthorizationAuthorizationId: RuntimeCommonAuthorizationAuthorizationId; RuntimeCommonAuthorizationPalletAuthorize: RuntimeCommonAuthorizationPalletAuthorize; @@ -238,6 +256,8 @@ declare module '@polkadot/types/types/registry' { SpiritnetRuntimeOriginCaller: SpiritnetRuntimeOriginCaller; SpiritnetRuntimeProxyType: SpiritnetRuntimeProxyType; SpiritnetRuntimeRuntime: SpiritnetRuntimeRuntime; + SpiritnetRuntimeRuntimeFreezeReason: SpiritnetRuntimeRuntimeFreezeReason; + SpiritnetRuntimeRuntimeHoldReason: SpiritnetRuntimeRuntimeHoldReason; SpiritnetRuntimeSessionKeys: SpiritnetRuntimeSessionKeys; XcmDoubleEncoded: XcmDoubleEncoded; XcmV2BodyId: XcmV2BodyId; @@ -283,8 +303,10 @@ declare module '@polkadot/types/types/registry' { XcmV3TraitsOutcome: XcmV3TraitsOutcome; XcmV3WeightLimit: XcmV3WeightLimit; XcmV3Xcm: XcmV3Xcm; + XcmVersionedAssetId: XcmVersionedAssetId; XcmVersionedMultiAssets: XcmVersionedMultiAssets; XcmVersionedMultiLocation: XcmVersionedMultiLocation; + XcmVersionedResponse: XcmVersionedResponse; XcmVersionedXcm: XcmVersionedXcm; } // InterfaceTypes } // declare module diff --git a/packages/augment-api/src/interfaces/types-lookup.ts b/packages/augment-api/src/interfaces/types-lookup.ts index cfa2145b5..5e40e6f2f 100644 --- a/packages/augment-api/src/interfaces/types-lookup.ts +++ b/packages/augment-api/src/interfaces/types-lookup.ts @@ -25,29 +25,29 @@ declare module '@polkadot/types/lookup' { interface PalletBalancesAccountData extends Struct { readonly free: u128; readonly reserved: u128; - readonly miscFrozen: u128; - readonly feeFrozen: u128; + readonly frozen: u128; + readonly flags: u128; } - /** @name FrameSupportDispatchPerDispatchClassWeight (8) */ + /** @name FrameSupportDispatchPerDispatchClassWeight (9) */ interface FrameSupportDispatchPerDispatchClassWeight extends Struct { readonly normal: SpWeightsWeightV2Weight; readonly operational: SpWeightsWeightV2Weight; readonly mandatory: SpWeightsWeightV2Weight; } - /** @name SpWeightsWeightV2Weight (9) */ + /** @name SpWeightsWeightV2Weight (10) */ interface SpWeightsWeightV2Weight extends Struct { readonly refTime: Compact; readonly proofSize: Compact; } - /** @name SpRuntimeDigest (13) */ + /** @name SpRuntimeDigest (14) */ interface SpRuntimeDigest extends Struct { readonly logs: Vec; } - /** @name SpRuntimeDigestDigestItem (15) */ + /** @name SpRuntimeDigestDigestItem (16) */ interface SpRuntimeDigestDigestItem extends Enum { readonly isOther: boolean; readonly asOther: Bytes; @@ -61,14 +61,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated'; } - /** @name FrameSystemEventRecord (18) */ + /** @name FrameSystemEventRecord (19) */ interface FrameSystemEventRecord extends Struct { readonly phase: FrameSystemPhase; readonly event: Event; readonly topics: Vec; } - /** @name FrameSystemEvent (20) */ + /** @name FrameSystemEvent (21) */ interface FrameSystemEvent extends Enum { readonly isExtrinsicSuccess: boolean; readonly asExtrinsicSuccess: { @@ -96,14 +96,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked'; } - /** @name FrameSupportDispatchDispatchInfo (21) */ + /** @name FrameSupportDispatchDispatchInfo (22) */ interface FrameSupportDispatchDispatchInfo extends Struct { readonly weight: SpWeightsWeightV2Weight; readonly class: FrameSupportDispatchDispatchClass; readonly paysFee: FrameSupportDispatchPays; } - /** @name FrameSupportDispatchDispatchClass (22) */ + /** @name FrameSupportDispatchDispatchClass (23) */ interface FrameSupportDispatchDispatchClass extends Enum { readonly isNormal: boolean; readonly isOperational: boolean; @@ -111,14 +111,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Normal' | 'Operational' | 'Mandatory'; } - /** @name FrameSupportDispatchPays (23) */ + /** @name FrameSupportDispatchPays (24) */ interface FrameSupportDispatchPays extends Enum { readonly isYes: boolean; readonly isNo: boolean; readonly type: 'Yes' | 'No'; } - /** @name SpRuntimeDispatchError (24) */ + /** @name SpRuntimeDispatchError (25) */ interface SpRuntimeDispatchError extends Enum { readonly isOther: boolean; readonly isCannotLookup: boolean; @@ -137,28 +137,32 @@ declare module '@polkadot/types/lookup' { readonly isExhausted: boolean; readonly isCorruption: boolean; readonly isUnavailable: boolean; - readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable'; + readonly isRootNotAllowed: boolean; + readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable' | 'RootNotAllowed'; } - /** @name SpRuntimeModuleError (25) */ + /** @name SpRuntimeModuleError (26) */ interface SpRuntimeModuleError extends Struct { readonly index: u8; readonly error: U8aFixed; } - /** @name SpRuntimeTokenError (26) */ + /** @name SpRuntimeTokenError (27) */ interface SpRuntimeTokenError extends Enum { - readonly isNoFunds: boolean; - readonly isWouldDie: boolean; + readonly isFundsUnavailable: boolean; + readonly isOnlyProvider: boolean; readonly isBelowMinimum: boolean; readonly isCannotCreate: boolean; readonly isUnknownAsset: boolean; readonly isFrozen: boolean; readonly isUnsupported: boolean; - readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported'; + readonly isCannotCreateHold: boolean; + readonly isNotExpendable: boolean; + readonly isBlocked: boolean; + readonly type: 'FundsUnavailable' | 'OnlyProvider' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported' | 'CannotCreateHold' | 'NotExpendable' | 'Blocked'; } - /** @name SpArithmeticArithmeticError (27) */ + /** @name SpArithmeticArithmeticError (28) */ interface SpArithmeticArithmeticError extends Enum { readonly isUnderflow: boolean; readonly isOverflow: boolean; @@ -166,14 +170,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero'; } - /** @name SpRuntimeTransactionalError (28) */ + /** @name SpRuntimeTransactionalError (29) */ interface SpRuntimeTransactionalError extends Enum { readonly isLimitReached: boolean; readonly isNoLayer: boolean; readonly type: 'LimitReached' | 'NoLayer'; } - /** @name PalletIndicesEvent (29) */ + /** @name PalletIndicesEvent (30) */ interface PalletIndicesEvent extends Enum { readonly isIndexAssigned: boolean; readonly asIndexAssigned: { @@ -192,7 +196,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'IndexAssigned' | 'IndexFreed' | 'IndexFrozen'; } - /** @name PalletBalancesEvent (30) */ + /** @name PalletBalancesEvent (31) */ interface PalletBalancesEvent extends Enum { readonly isEndowed: boolean; readonly asEndowed: { @@ -214,7 +218,6 @@ declare module '@polkadot/types/lookup' { readonly asBalanceSet: { readonly who: AccountId32; readonly free: u128; - readonly reserved: u128; } & Struct; readonly isReserved: boolean; readonly asReserved: { @@ -248,17 +251,69 @@ declare module '@polkadot/types/lookup' { readonly who: AccountId32; readonly amount: u128; } & Struct; - readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed'; + readonly isMinted: boolean; + readonly asMinted: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isBurned: boolean; + readonly asBurned: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isSuspended: boolean; + readonly asSuspended: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isRestored: boolean; + readonly asRestored: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isUpgraded: boolean; + readonly asUpgraded: { + readonly who: AccountId32; + } & Struct; + readonly isIssued: boolean; + readonly asIssued: { + readonly amount: u128; + } & Struct; + readonly isRescinded: boolean; + readonly asRescinded: { + readonly amount: u128; + } & Struct; + readonly isLocked: boolean; + readonly asLocked: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isUnlocked: boolean; + readonly asUnlocked: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isFrozen: boolean; + readonly asFrozen: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isThawed: boolean; + readonly asThawed: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed' | 'Minted' | 'Burned' | 'Suspended' | 'Restored' | 'Upgraded' | 'Issued' | 'Rescinded' | 'Locked' | 'Unlocked' | 'Frozen' | 'Thawed'; } - /** @name FrameSupportTokensMiscBalanceStatus (31) */ + /** @name FrameSupportTokensMiscBalanceStatus (32) */ interface FrameSupportTokensMiscBalanceStatus extends Enum { readonly isFree: boolean; readonly isReserved: boolean; readonly type: 'Free' | 'Reserved'; } - /** @name PalletTransactionPaymentEvent (32) */ + /** @name PalletTransactionPaymentEvent (33) */ interface PalletTransactionPaymentEvent extends Enum { readonly isTransactionFeePaid: boolean; readonly asTransactionFeePaid: { @@ -269,7 +324,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TransactionFeePaid'; } - /** @name PalletSessionEvent (33) */ + /** @name PalletSessionEvent (34) */ interface PalletSessionEvent extends Enum { readonly isNewSession: boolean; readonly asNewSession: { @@ -278,7 +333,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewSession'; } - /** @name ParachainStakingEvent (34) */ + /** @name ParachainStakingEvent (35) */ interface ParachainStakingEvent extends Enum { readonly isNewRound: boolean; readonly asNewRound: ITuple<[u64, u32]>; @@ -325,7 +380,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewRound' | 'EnteredTopCandidates' | 'LeftTopCandidates' | 'JoinedCollatorCandidates' | 'CollatorStakedMore' | 'CollatorStakedLess' | 'CollatorScheduledExit' | 'CollatorCanceledExit' | 'CandidateLeft' | 'CollatorRemoved' | 'MaxCandidateStakeChanged' | 'DelegatorStakedMore' | 'DelegatorStakedLess' | 'DelegatorLeft' | 'Delegation' | 'DelegationReplaced' | 'DelegatorLeftCollator' | 'Rewarded' | 'RoundInflationSet' | 'MaxSelectedCandidatesSet' | 'BlocksPerRoundSet'; } - /** @name PalletDemocracyEvent (36) */ + /** @name PalletDemocracyEvent (37) */ interface PalletDemocracyEvent extends Enum { readonly isProposed: boolean; readonly asProposed: { @@ -408,7 +463,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proposed' | 'Tabled' | 'ExternalTabled' | 'Started' | 'Passed' | 'NotPassed' | 'Cancelled' | 'Delegated' | 'Undelegated' | 'Vetoed' | 'Blacklisted' | 'Voted' | 'Seconded' | 'ProposalCanceled' | 'MetadataSet' | 'MetadataCleared' | 'MetadataTransferred'; } - /** @name PalletDemocracyVoteThreshold (37) */ + /** @name PalletDemocracyVoteThreshold (38) */ interface PalletDemocracyVoteThreshold extends Enum { readonly isSuperMajorityApprove: boolean; readonly isSuperMajorityAgainst: boolean; @@ -416,7 +471,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SuperMajorityApprove' | 'SuperMajorityAgainst' | 'SimpleMajority'; } - /** @name PalletDemocracyVoteAccountVote (38) */ + /** @name PalletDemocracyVoteAccountVote (39) */ interface PalletDemocracyVoteAccountVote extends Enum { readonly isStandard: boolean; readonly asStandard: { @@ -431,7 +486,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Standard' | 'Split'; } - /** @name PalletDemocracyMetadataOwner (40) */ + /** @name PalletDemocracyMetadataOwner (41) */ interface PalletDemocracyMetadataOwner extends Enum { readonly isExternal: boolean; readonly isProposal: boolean; @@ -441,7 +496,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'External' | 'Proposal' | 'Referendum'; } - /** @name PalletCollectiveEvent (41) */ + /** @name PalletCollectiveEvent (42) */ interface PalletCollectiveEvent extends Enum { readonly isProposed: boolean; readonly asProposed: { @@ -485,7 +540,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proposed' | 'Voted' | 'Approved' | 'Disapproved' | 'Executed' | 'MemberExecuted' | 'Closed'; } - /** @name PalletMembershipEvent (46) */ + /** @name PalletMembershipEvent (47) */ interface PalletMembershipEvent extends Enum { readonly isMemberAdded: boolean; readonly isMemberRemoved: boolean; @@ -496,7 +551,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'MemberAdded' | 'MemberRemoved' | 'MembersSwapped' | 'MembersReset' | 'KeyChanged' | 'Dummy'; } - /** @name PalletTreasuryEvent (47) */ + /** @name PalletTreasuryEvent (48) */ interface PalletTreasuryEvent extends Enum { readonly isProposed: boolean; readonly asProposed: { @@ -543,7 +598,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved' | 'UpdatedInactive'; } - /** @name PalletUtilityEvent (48) */ + /** @name PalletUtilityEvent (49) */ interface PalletUtilityEvent extends Enum { readonly isBatchInterrupted: boolean; readonly asBatchInterrupted: { @@ -564,7 +619,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'BatchInterrupted' | 'BatchCompleted' | 'BatchCompletedWithErrors' | 'ItemCompleted' | 'ItemFailed' | 'DispatchedAs'; } - /** @name PalletVestingEvent (49) */ + /** @name PalletVestingEvent (50) */ interface PalletVestingEvent extends Enum { readonly isVestingUpdated: boolean; readonly asVestingUpdated: { @@ -578,7 +633,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'VestingUpdated' | 'VestingCompleted'; } - /** @name PalletSchedulerEvent (50) */ + /** @name PalletSchedulerEvent (51) */ interface PalletSchedulerEvent extends Enum { readonly isScheduled: boolean; readonly asScheduled: { @@ -614,7 +669,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallUnavailable' | 'PeriodicFailed' | 'PermanentlyOverweight'; } - /** @name PalletProxyEvent (53) */ + /** @name PalletProxyEvent (54) */ interface PalletProxyEvent extends Enum { readonly isProxyExecuted: boolean; readonly asProxyExecuted: { @@ -650,7 +705,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ProxyExecuted' | 'PureCreated' | 'Announced' | 'ProxyAdded' | 'ProxyRemoved'; } - /** @name SpiritnetRuntimeProxyType (54) */ + /** @name SpiritnetRuntimeProxyType (55) */ interface SpiritnetRuntimeProxyType extends Enum { readonly isAny: boolean; readonly isNonTransfer: boolean; @@ -661,7 +716,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Any' | 'NonTransfer' | 'Governance' | 'ParachainStaking' | 'CancelProxy' | 'NonDepositClaiming'; } - /** @name PalletPreimageEvent (56) */ + /** @name PalletPreimageEvent (57) */ interface PalletPreimageEvent extends Enum { readonly isNoted: boolean; readonly asNoted: { @@ -678,7 +733,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noted' | 'Requested' | 'Cleared'; } - /** @name PalletTipsEvent (58) */ + /** @name PalletTipsEvent (59) */ interface PalletTipsEvent extends Enum { readonly isNewTip: boolean; readonly asNewTip: { @@ -707,7 +762,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewTip' | 'TipClosing' | 'TipClosed' | 'TipRetracted' | 'TipSlashed'; } - /** @name PalletMultisigEvent (59) */ + /** @name PalletMultisigEvent (60) */ interface PalletMultisigEvent extends Enum { readonly isNewMultisig: boolean; readonly asNewMultisig: { @@ -740,13 +795,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'NewMultisig' | 'MultisigApproval' | 'MultisigExecuted' | 'MultisigCancelled'; } - /** @name PalletMultisigTimepoint (60) */ + /** @name PalletMultisigTimepoint (61) */ interface PalletMultisigTimepoint extends Struct { readonly height: u64; readonly index: u32; } - /** @name CtypeEvent (61) */ + /** @name CtypeEvent (62) */ interface CtypeEvent extends Enum { readonly isCTypeCreated: boolean; readonly asCTypeCreated: ITuple<[AccountId32, H256]>; @@ -755,7 +810,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CTypeCreated' | 'CTypeUpdated'; } - /** @name AttestationEvent (62) */ + /** @name AttestationEvent (63) */ interface AttestationEvent extends Enum { readonly isAttestationCreated: boolean; readonly asAttestationCreated: ITuple<[AccountId32, H256, H256, Option]>; @@ -768,14 +823,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'AttestationCreated' | 'AttestationRevoked' | 'AttestationRemoved' | 'DepositReclaimed'; } - /** @name RuntimeCommonAuthorizationAuthorizationId (64) */ + /** @name RuntimeCommonAuthorizationAuthorizationId (65) */ interface RuntimeCommonAuthorizationAuthorizationId extends Enum { readonly isDelegation: boolean; readonly asDelegation: H256; readonly type: 'Delegation'; } - /** @name DelegationEvent (65) */ + /** @name DelegationEvent (66) */ interface DelegationEvent extends Enum { readonly isHierarchyCreated: boolean; readonly asHierarchyCreated: ITuple<[AccountId32, H256, H256]>; @@ -794,12 +849,12 @@ declare module '@polkadot/types/lookup' { readonly type: 'HierarchyCreated' | 'HierarchyRevoked' | 'HierarchyRemoved' | 'DelegationCreated' | 'DelegationRevoked' | 'DelegationRemoved' | 'DepositReclaimed'; } - /** @name DelegationDelegationHierarchyPermissions (66) */ + /** @name DelegationDelegationHierarchyPermissions (67) */ interface DelegationDelegationHierarchyPermissions extends Struct { readonly bits: u32; } - /** @name DidEvent (67) */ + /** @name DidEvent (68) */ interface DidEvent extends Enum { readonly isDidCreated: boolean; readonly asDidCreated: ITuple<[AccountId32, AccountId32]>; @@ -812,7 +867,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'DidCreated' | 'DidUpdated' | 'DidDeleted' | 'DidCallDispatched'; } - /** @name PalletDidLookupEvent (68) */ + /** @name PalletDidLookupEvent (69) */ interface PalletDidLookupEvent extends Enum { readonly isAssociationEstablished: boolean; readonly asAssociationEstablished: ITuple<[PalletDidLookupLinkableAccountLinkableAccountId, AccountId32]>; @@ -823,7 +878,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AssociationEstablished' | 'AssociationRemoved' | 'MigrationProgress' | 'MigrationCompleted'; } - /** @name PalletDidLookupLinkableAccountLinkableAccountId (69) */ + /** @name PalletDidLookupLinkableAccountLinkableAccountId (70) */ interface PalletDidLookupLinkableAccountLinkableAccountId extends Enum { readonly isAccountId20: boolean; readonly asAccountId20: PalletDidLookupAccountAccountId20; @@ -832,10 +887,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'AccountId20' | 'AccountId32'; } - /** @name PalletDidLookupAccountAccountId20 (70) */ + /** @name PalletDidLookupAccountAccountId20 (71) */ interface PalletDidLookupAccountAccountId20 extends U8aFixed {} - /** @name PalletWeb3NamesEvent (72) */ + /** @name PalletWeb3NamesEvent (73) */ interface PalletWeb3NamesEvent extends Enum { readonly isWeb3NameClaimed: boolean; readonly asWeb3NameClaimed: { @@ -858,7 +913,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Web3NameClaimed' | 'Web3NameReleased' | 'Web3NameBanned' | 'Web3NameUnbanned'; } - /** @name PublicCredentialsEvent (75) */ + /** @name PublicCredentialsEvent (76) */ interface PublicCredentialsEvent extends Enum { readonly isCredentialStored: boolean; readonly asCredentialStored: { @@ -881,16 +936,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'CredentialStored' | 'CredentialRemoved' | 'CredentialRevoked' | 'CredentialUnrevoked'; } - /** @name RuntimeCommonAssetsAssetDid (76) */ + /** @name RuntimeCommonAssetsAssetDid (77) */ interface RuntimeCommonAssetsAssetDid extends KiltAssetDidsV1AssetDid {} - /** @name KiltAssetDidsV1AssetDid (77) */ + /** @name KiltAssetDidsV1AssetDid (78) */ interface KiltAssetDidsV1AssetDid extends Struct { readonly chainId: KiltAssetDidsChainV1ChainId; readonly assetId: KiltAssetDidsAssetV1AssetId; } - /** @name KiltAssetDidsChainV1ChainId (78) */ + /** @name KiltAssetDidsChainV1ChainId (79) */ interface KiltAssetDidsChainV1ChainId extends Enum { readonly isEip155: boolean; readonly asEip155: u128; @@ -905,16 +960,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Eip155' | 'Bip122' | 'Dotsama' | 'Solana' | 'Generic'; } - /** @name KiltAssetDidsChainV1GenesisHexHash32Reference (80) */ + /** @name KiltAssetDidsChainV1GenesisHexHash32Reference (81) */ interface KiltAssetDidsChainV1GenesisHexHash32Reference extends U8aFixed {} - /** @name KiltAssetDidsChainV1GenericChainId (84) */ + /** @name KiltAssetDidsChainV1GenericChainId (85) */ interface KiltAssetDidsChainV1GenericChainId extends Struct { readonly namespace: Bytes; readonly reference: Bytes; } - /** @name KiltAssetDidsAssetV1AssetId (88) */ + /** @name KiltAssetDidsAssetV1AssetId (89) */ interface KiltAssetDidsAssetV1AssetId extends Enum { readonly isSlip44: boolean; readonly asSlip44: U256; @@ -929,20 +984,40 @@ declare module '@polkadot/types/lookup' { readonly type: 'Slip44' | 'Erc20' | 'Erc721' | 'Erc1155' | 'Generic'; } - /** @name KiltAssetDidsAssetV1EvmSmartContractFungibleReference (92) */ + /** @name KiltAssetDidsAssetV1EvmSmartContractFungibleReference (93) */ interface KiltAssetDidsAssetV1EvmSmartContractFungibleReference extends U8aFixed {} - /** @name KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference (93) */ + /** @name KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference (94) */ interface KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference extends ITuple<[KiltAssetDidsAssetV1EvmSmartContractFungibleReference, Option]> {} - /** @name KiltAssetDidsAssetV1GenericAssetId (97) */ + /** @name KiltAssetDidsAssetV1GenericAssetId (98) */ interface KiltAssetDidsAssetV1GenericAssetId extends Struct { readonly namespace: Bytes; readonly reference: Bytes; readonly id: Option; } - /** @name CumulusPalletParachainSystemEvent (103) */ + /** @name PalletMigrationEvent (104) */ + interface PalletMigrationEvent extends Enum { + readonly isEntriesUpdated: boolean; + readonly asEntriesUpdated: PalletMigrationEntriesToMigrate; + readonly type: 'EntriesUpdated'; + } + + /** @name PalletMigrationEntriesToMigrate (105) */ + interface PalletMigrationEntriesToMigrate extends Struct { + readonly attestation: Vec; + readonly delegation: Vec; + readonly did: Vec; + readonly lookup: Vec; + readonly w3n: Vec; + readonly publicCredentials: Vec>; + } + + /** @name SpiritnetRuntimeRuntime (106) */ + type SpiritnetRuntimeRuntime = Null; + + /** @name CumulusPalletParachainSystemEvent (118) */ interface CumulusPalletParachainSystemEvent extends Enum { readonly isValidationFunctionStored: boolean; readonly isValidationFunctionApplied: boolean; @@ -970,30 +1045,32 @@ declare module '@polkadot/types/lookup' { readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed' | 'UpwardMessageSent'; } - /** @name CumulusPalletXcmpQueueEvent (104) */ + /** @name CumulusPalletXcmpQueueEvent (119) */ interface CumulusPalletXcmpQueueEvent extends Enum { readonly isSuccess: boolean; readonly asSuccess: { - readonly messageHash: Option; + readonly messageHash: U8aFixed; + readonly messageId: U8aFixed; readonly weight: SpWeightsWeightV2Weight; } & Struct; readonly isFail: boolean; readonly asFail: { - readonly messageHash: Option; + readonly messageHash: U8aFixed; + readonly messageId: U8aFixed; readonly error: XcmV3TraitsError; readonly weight: SpWeightsWeightV2Weight; } & Struct; readonly isBadVersion: boolean; readonly asBadVersion: { - readonly messageHash: Option; + readonly messageHash: U8aFixed; } & Struct; readonly isBadFormat: boolean; readonly asBadFormat: { - readonly messageHash: Option; + readonly messageHash: U8aFixed; } & Struct; readonly isXcmpMessageSent: boolean; readonly asXcmpMessageSent: { - readonly messageHash: Option; + readonly messageHash: U8aFixed; } & Struct; readonly isOverweightEnqueued: boolean; readonly asOverweightEnqueued: { @@ -1010,7 +1087,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced'; } - /** @name XcmV3TraitsError (105) */ + /** @name XcmV3TraitsError (120) */ interface XcmV3TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; @@ -1057,58 +1134,144 @@ declare module '@polkadot/types/lookup' { readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'LocationFull' | 'LocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'ExpectationFalse' | 'PalletNotFound' | 'NameMismatch' | 'VersionIncompatible' | 'HoldingWouldOverflow' | 'ExportError' | 'ReanchorFailed' | 'NoDeal' | 'FeesNotMet' | 'LockError' | 'NoPermission' | 'Unanchored' | 'NotDepositable' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable' | 'ExceedsStackLimit'; } - /** @name PalletXcmEvent (107) */ + /** @name PalletXcmEvent (122) */ interface PalletXcmEvent extends Enum { readonly isAttempted: boolean; - readonly asAttempted: XcmV3TraitsOutcome; + readonly asAttempted: { + readonly outcome: XcmV3TraitsOutcome; + } & Struct; readonly isSent: boolean; - readonly asSent: ITuple<[XcmV3MultiLocation, XcmV3MultiLocation, XcmV3Xcm]>; + readonly asSent: { + readonly origin: XcmV3MultiLocation; + readonly destination: XcmV3MultiLocation; + readonly message: XcmV3Xcm; + readonly messageId: U8aFixed; + } & Struct; readonly isUnexpectedResponse: boolean; - readonly asUnexpectedResponse: ITuple<[XcmV3MultiLocation, u64]>; + readonly asUnexpectedResponse: { + readonly origin: XcmV3MultiLocation; + readonly queryId: u64; + } & Struct; readonly isResponseReady: boolean; - readonly asResponseReady: ITuple<[u64, XcmV3Response]>; + readonly asResponseReady: { + readonly queryId: u64; + readonly response: XcmV3Response; + } & Struct; readonly isNotified: boolean; - readonly asNotified: ITuple<[u64, u8, u8]>; + readonly asNotified: { + readonly queryId: u64; + readonly palletIndex: u8; + readonly callIndex: u8; + } & Struct; readonly isNotifyOverweight: boolean; - readonly asNotifyOverweight: ITuple<[u64, u8, u8, SpWeightsWeightV2Weight, SpWeightsWeightV2Weight]>; + readonly asNotifyOverweight: { + readonly queryId: u64; + readonly palletIndex: u8; + readonly callIndex: u8; + readonly actualWeight: SpWeightsWeightV2Weight; + readonly maxBudgetedWeight: SpWeightsWeightV2Weight; + } & Struct; readonly isNotifyDispatchError: boolean; - readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>; + readonly asNotifyDispatchError: { + readonly queryId: u64; + readonly palletIndex: u8; + readonly callIndex: u8; + } & Struct; readonly isNotifyDecodeFailed: boolean; - readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>; + readonly asNotifyDecodeFailed: { + readonly queryId: u64; + readonly palletIndex: u8; + readonly callIndex: u8; + } & Struct; readonly isInvalidResponder: boolean; - readonly asInvalidResponder: ITuple<[XcmV3MultiLocation, u64, Option]>; + readonly asInvalidResponder: { + readonly origin: XcmV3MultiLocation; + readonly queryId: u64; + readonly expectedLocation: Option; + } & Struct; readonly isInvalidResponderVersion: boolean; - readonly asInvalidResponderVersion: ITuple<[XcmV3MultiLocation, u64]>; + readonly asInvalidResponderVersion: { + readonly origin: XcmV3MultiLocation; + readonly queryId: u64; + } & Struct; readonly isResponseTaken: boolean; - readonly asResponseTaken: u64; + readonly asResponseTaken: { + readonly queryId: u64; + } & Struct; readonly isAssetsTrapped: boolean; - readonly asAssetsTrapped: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>; + readonly asAssetsTrapped: { + readonly hash_: H256; + readonly origin: XcmV3MultiLocation; + readonly assets: XcmVersionedMultiAssets; + } & Struct; readonly isVersionChangeNotified: boolean; - readonly asVersionChangeNotified: ITuple<[XcmV3MultiLocation, u32, XcmV3MultiassetMultiAssets]>; + readonly asVersionChangeNotified: { + readonly destination: XcmV3MultiLocation; + readonly result: u32; + readonly cost: XcmV3MultiassetMultiAssets; + readonly messageId: U8aFixed; + } & Struct; readonly isSupportedVersionChanged: boolean; - readonly asSupportedVersionChanged: ITuple<[XcmV3MultiLocation, u32]>; + readonly asSupportedVersionChanged: { + readonly location: XcmV3MultiLocation; + readonly version: u32; + } & Struct; readonly isNotifyTargetSendFail: boolean; - readonly asNotifyTargetSendFail: ITuple<[XcmV3MultiLocation, u64, XcmV3TraitsError]>; + readonly asNotifyTargetSendFail: { + readonly location: XcmV3MultiLocation; + readonly queryId: u64; + readonly error: XcmV3TraitsError; + } & Struct; readonly isNotifyTargetMigrationFail: boolean; - readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>; + readonly asNotifyTargetMigrationFail: { + readonly location: XcmVersionedMultiLocation; + readonly queryId: u64; + } & Struct; readonly isInvalidQuerierVersion: boolean; - readonly asInvalidQuerierVersion: ITuple<[XcmV3MultiLocation, u64]>; + readonly asInvalidQuerierVersion: { + readonly origin: XcmV3MultiLocation; + readonly queryId: u64; + } & Struct; readonly isInvalidQuerier: boolean; - readonly asInvalidQuerier: ITuple<[XcmV3MultiLocation, u64, XcmV3MultiLocation, Option]>; + readonly asInvalidQuerier: { + readonly origin: XcmV3MultiLocation; + readonly queryId: u64; + readonly expectedQuerier: XcmV3MultiLocation; + readonly maybeActualQuerier: Option; + } & Struct; readonly isVersionNotifyStarted: boolean; - readonly asVersionNotifyStarted: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; + readonly asVersionNotifyStarted: { + readonly destination: XcmV3MultiLocation; + readonly cost: XcmV3MultiassetMultiAssets; + readonly messageId: U8aFixed; + } & Struct; readonly isVersionNotifyRequested: boolean; - readonly asVersionNotifyRequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; + readonly asVersionNotifyRequested: { + readonly destination: XcmV3MultiLocation; + readonly cost: XcmV3MultiassetMultiAssets; + readonly messageId: U8aFixed; + } & Struct; readonly isVersionNotifyUnrequested: boolean; - readonly asVersionNotifyUnrequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; + readonly asVersionNotifyUnrequested: { + readonly destination: XcmV3MultiLocation; + readonly cost: XcmV3MultiassetMultiAssets; + readonly messageId: U8aFixed; + } & Struct; readonly isFeesPaid: boolean; - readonly asFeesPaid: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; + readonly asFeesPaid: { + readonly paying: XcmV3MultiLocation; + readonly fees: XcmV3MultiassetMultiAssets; + } & Struct; readonly isAssetsClaimed: boolean; - readonly asAssetsClaimed: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>; + readonly asAssetsClaimed: { + readonly hash_: H256; + readonly origin: XcmV3MultiLocation; + readonly assets: XcmVersionedMultiAssets; + } & Struct; readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'InvalidQuerierVersion' | 'InvalidQuerier' | 'VersionNotifyStarted' | 'VersionNotifyRequested' | 'VersionNotifyUnrequested' | 'FeesPaid' | 'AssetsClaimed'; } - /** @name XcmV3TraitsOutcome (108) */ + /** @name XcmV3TraitsOutcome (123) */ interface XcmV3TraitsOutcome extends Enum { readonly isComplete: boolean; readonly asComplete: SpWeightsWeightV2Weight; @@ -1119,13 +1282,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Complete' | 'Incomplete' | 'Error'; } - /** @name XcmV3MultiLocation (109) */ + /** @name XcmV3MultiLocation (124) */ interface XcmV3MultiLocation extends Struct { readonly parents: u8; readonly interior: XcmV3Junctions; } - /** @name XcmV3Junctions (110) */ + /** @name XcmV3Junctions (125) */ interface XcmV3Junctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; @@ -1147,7 +1310,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; } - /** @name XcmV3Junction (111) */ + /** @name XcmV3Junction (126) */ interface XcmV3Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; @@ -1186,7 +1349,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality' | 'GlobalConsensus'; } - /** @name XcmV3JunctionNetworkId (114) */ + /** @name XcmV3JunctionNetworkId (129) */ interface XcmV3JunctionNetworkId extends Enum { readonly isByGenesis: boolean; readonly asByGenesis: U8aFixed; @@ -1209,7 +1372,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ByGenesis' | 'ByFork' | 'Polkadot' | 'Kusama' | 'Westend' | 'Rococo' | 'Wococo' | 'Ethereum' | 'BitcoinCore' | 'BitcoinCash'; } - /** @name XcmV3JunctionBodyId (116) */ + /** @name XcmV3JunctionBodyId (131) */ interface XcmV3JunctionBodyId extends Enum { readonly isUnit: boolean; readonly isMoniker: boolean; @@ -1226,7 +1389,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unit' | 'Moniker' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; } - /** @name XcmV3JunctionBodyPart (117) */ + /** @name XcmV3JunctionBodyPart (132) */ interface XcmV3JunctionBodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; @@ -1251,10 +1414,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; } - /** @name XcmV3Xcm (118) */ + /** @name XcmV3Xcm (133) */ interface XcmV3Xcm extends Vec {} - /** @name XcmV3Instruction (120) */ + /** @name XcmV3Instruction (135) */ interface XcmV3Instruction extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: XcmV3MultiassetMultiAssets; @@ -1436,16 +1599,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'ReportHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion' | 'BurnAsset' | 'ExpectAsset' | 'ExpectOrigin' | 'ExpectError' | 'ExpectTransactStatus' | 'QueryPallet' | 'ExpectPallet' | 'ReportTransactStatus' | 'ClearTransactStatus' | 'UniversalOrigin' | 'ExportMessage' | 'LockAsset' | 'UnlockAsset' | 'NoteUnlockable' | 'RequestUnlock' | 'SetFeesMode' | 'SetTopic' | 'ClearTopic' | 'AliasOrigin' | 'UnpaidExecution'; } - /** @name XcmV3MultiassetMultiAssets (121) */ + /** @name XcmV3MultiassetMultiAssets (136) */ interface XcmV3MultiassetMultiAssets extends Vec {} - /** @name XcmV3MultiAsset (123) */ + /** @name XcmV3MultiAsset (138) */ interface XcmV3MultiAsset extends Struct { readonly id: XcmV3MultiassetAssetId; readonly fun: XcmV3MultiassetFungibility; } - /** @name XcmV3MultiassetAssetId (124) */ + /** @name XcmV3MultiassetAssetId (139) */ interface XcmV3MultiassetAssetId extends Enum { readonly isConcrete: boolean; readonly asConcrete: XcmV3MultiLocation; @@ -1454,7 +1617,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Concrete' | 'Abstract'; } - /** @name XcmV3MultiassetFungibility (125) */ + /** @name XcmV3MultiassetFungibility (140) */ interface XcmV3MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; @@ -1463,7 +1626,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV3MultiassetAssetInstance (126) */ + /** @name XcmV3MultiassetAssetInstance (141) */ interface XcmV3MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -1479,7 +1642,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32'; } - /** @name XcmV3Response (128) */ + /** @name XcmV3Response (143) */ interface XcmV3Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; @@ -1495,7 +1658,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version' | 'PalletsInfo' | 'DispatchResult'; } - /** @name XcmV3PalletInfo (132) */ + /** @name XcmV3PalletInfo (147) */ interface XcmV3PalletInfo extends Struct { readonly index: Compact; readonly name: Bytes; @@ -1505,7 +1668,7 @@ declare module '@polkadot/types/lookup' { readonly patch: Compact; } - /** @name XcmV3MaybeErrorCode (135) */ + /** @name XcmV3MaybeErrorCode (150) */ interface XcmV3MaybeErrorCode extends Enum { readonly isSuccess: boolean; readonly isError: boolean; @@ -1515,7 +1678,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Success' | 'Error' | 'TruncatedError'; } - /** @name XcmV2OriginKind (138) */ + /** @name XcmV2OriginKind (153) */ interface XcmV2OriginKind extends Enum { readonly isNative: boolean; readonly isSovereignAccount: boolean; @@ -1524,19 +1687,19 @@ declare module '@polkadot/types/lookup' { readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm'; } - /** @name XcmDoubleEncoded (139) */ + /** @name XcmDoubleEncoded (154) */ interface XcmDoubleEncoded extends Struct { readonly encoded: Bytes; } - /** @name XcmV3QueryResponseInfo (140) */ + /** @name XcmV3QueryResponseInfo (155) */ interface XcmV3QueryResponseInfo extends Struct { readonly destination: XcmV3MultiLocation; readonly queryId: Compact; readonly maxWeight: SpWeightsWeightV2Weight; } - /** @name XcmV3MultiassetMultiAssetFilter (141) */ + /** @name XcmV3MultiassetMultiAssetFilter (156) */ interface XcmV3MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; readonly asDefinite: XcmV3MultiassetMultiAssets; @@ -1545,7 +1708,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Definite' | 'Wild'; } - /** @name XcmV3MultiassetWildMultiAsset (142) */ + /** @name XcmV3MultiassetWildMultiAsset (157) */ interface XcmV3MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; @@ -1564,14 +1727,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'All' | 'AllOf' | 'AllCounted' | 'AllOfCounted'; } - /** @name XcmV3MultiassetWildFungibility (143) */ + /** @name XcmV3MultiassetWildFungibility (158) */ interface XcmV3MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV3WeightLimit (144) */ + /** @name XcmV3WeightLimit (159) */ interface XcmV3WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; @@ -1579,7 +1742,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unlimited' | 'Limited'; } - /** @name XcmVersionedMultiAssets (145) */ + /** @name XcmVersionedMultiAssets (160) */ interface XcmVersionedMultiAssets extends Enum { readonly isV2: boolean; readonly asV2: XcmV2MultiassetMultiAssets; @@ -1588,16 +1751,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'V2' | 'V3'; } - /** @name XcmV2MultiassetMultiAssets (146) */ + /** @name XcmV2MultiassetMultiAssets (161) */ interface XcmV2MultiassetMultiAssets extends Vec {} - /** @name XcmV2MultiAsset (148) */ + /** @name XcmV2MultiAsset (163) */ interface XcmV2MultiAsset extends Struct { readonly id: XcmV2MultiassetAssetId; readonly fun: XcmV2MultiassetFungibility; } - /** @name XcmV2MultiassetAssetId (149) */ + /** @name XcmV2MultiassetAssetId (164) */ interface XcmV2MultiassetAssetId extends Enum { readonly isConcrete: boolean; readonly asConcrete: XcmV2MultiLocation; @@ -1606,13 +1769,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Concrete' | 'Abstract'; } - /** @name XcmV2MultiLocation (150) */ + /** @name XcmV2MultiLocation (165) */ interface XcmV2MultiLocation extends Struct { readonly parents: u8; readonly interior: XcmV2MultilocationJunctions; } - /** @name XcmV2MultilocationJunctions (151) */ + /** @name XcmV2MultilocationJunctions (166) */ interface XcmV2MultilocationJunctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; @@ -1634,7 +1797,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; } - /** @name XcmV2Junction (152) */ + /** @name XcmV2Junction (167) */ interface XcmV2Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; @@ -1668,7 +1831,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; } - /** @name XcmV2NetworkId (153) */ + /** @name XcmV2NetworkId (168) */ interface XcmV2NetworkId extends Enum { readonly isAny: boolean; readonly isNamed: boolean; @@ -1678,7 +1841,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama'; } - /** @name XcmV2BodyId (155) */ + /** @name XcmV2BodyId (170) */ interface XcmV2BodyId extends Enum { readonly isUnit: boolean; readonly isNamed: boolean; @@ -1695,7 +1858,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; } - /** @name XcmV2BodyPart (156) */ + /** @name XcmV2BodyPart (171) */ interface XcmV2BodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; @@ -1720,7 +1883,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; } - /** @name XcmV2MultiassetFungibility (157) */ + /** @name XcmV2MultiassetFungibility (172) */ interface XcmV2MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; @@ -1729,7 +1892,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV2MultiassetAssetInstance (158) */ + /** @name XcmV2MultiassetAssetInstance (173) */ interface XcmV2MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -1747,7 +1910,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob'; } - /** @name XcmVersionedMultiLocation (159) */ + /** @name XcmVersionedMultiLocation (174) */ interface XcmVersionedMultiLocation extends Enum { readonly isV2: boolean; readonly asV2: XcmV2MultiLocation; @@ -1756,7 +1919,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'V2' | 'V3'; } - /** @name CumulusPalletXcmEvent (160) */ + /** @name CumulusPalletXcmEvent (175) */ interface CumulusPalletXcmEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: U8aFixed; @@ -1767,29 +1930,32 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward'; } - /** @name CumulusPalletDmpQueueEvent (161) */ + /** @name CumulusPalletDmpQueueEvent (176) */ interface CumulusPalletDmpQueueEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: { - readonly messageId: U8aFixed; + readonly messageHash: U8aFixed; } & Struct; readonly isUnsupportedVersion: boolean; readonly asUnsupportedVersion: { - readonly messageId: U8aFixed; + readonly messageHash: U8aFixed; } & Struct; readonly isExecutedDownward: boolean; readonly asExecutedDownward: { + readonly messageHash: U8aFixed; readonly messageId: U8aFixed; readonly outcome: XcmV3TraitsOutcome; } & Struct; readonly isWeightExhausted: boolean; readonly asWeightExhausted: { + readonly messageHash: U8aFixed; readonly messageId: U8aFixed; readonly remainingWeight: SpWeightsWeightV2Weight; readonly requiredWeight: SpWeightsWeightV2Weight; } & Struct; readonly isOverweightEnqueued: boolean; readonly asOverweightEnqueued: { + readonly messageHash: U8aFixed; readonly messageId: U8aFixed; readonly overweightIndex: u64; readonly requiredWeight: SpWeightsWeightV2Weight; @@ -1801,12 +1967,12 @@ declare module '@polkadot/types/lookup' { } & Struct; readonly isMaxMessagesExhausted: boolean; readonly asMaxMessagesExhausted: { - readonly messageId: U8aFixed; + readonly messageHash: U8aFixed; } & Struct; readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced' | 'MaxMessagesExhausted'; } - /** @name FrameSystemPhase (162) */ + /** @name FrameSystemPhase (177) */ interface FrameSystemPhase extends Enum { readonly isApplyExtrinsic: boolean; readonly asApplyExtrinsic: u32; @@ -1815,13 +1981,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; } - /** @name FrameSystemLastRuntimeUpgradeInfo (165) */ + /** @name FrameSystemLastRuntimeUpgradeInfo (179) */ interface FrameSystemLastRuntimeUpgradeInfo extends Struct { readonly specVersion: Compact; readonly specName: Text; } - /** @name FrameSystemCall (167) */ + /** @name FrameSystemCall (181) */ interface FrameSystemCall extends Enum { readonly isRemark: boolean; readonly asRemark: { @@ -1859,21 +2025,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent'; } - /** @name FrameSystemLimitsBlockWeights (171) */ + /** @name FrameSystemLimitsBlockWeights (185) */ interface FrameSystemLimitsBlockWeights extends Struct { readonly baseBlock: SpWeightsWeightV2Weight; readonly maxBlock: SpWeightsWeightV2Weight; readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; } - /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (172) */ + /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (186) */ interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { readonly normal: FrameSystemLimitsWeightsPerClass; readonly operational: FrameSystemLimitsWeightsPerClass; readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name FrameSystemLimitsWeightsPerClass (173) */ + /** @name FrameSystemLimitsWeightsPerClass (187) */ interface FrameSystemLimitsWeightsPerClass extends Struct { readonly baseExtrinsic: SpWeightsWeightV2Weight; readonly maxExtrinsic: Option; @@ -1881,25 +2047,25 @@ declare module '@polkadot/types/lookup' { readonly reserved: Option; } - /** @name FrameSystemLimitsBlockLength (175) */ + /** @name FrameSystemLimitsBlockLength (189) */ interface FrameSystemLimitsBlockLength extends Struct { readonly max: FrameSupportDispatchPerDispatchClassU32; } - /** @name FrameSupportDispatchPerDispatchClassU32 (176) */ + /** @name FrameSupportDispatchPerDispatchClassU32 (190) */ interface FrameSupportDispatchPerDispatchClassU32 extends Struct { readonly normal: u32; readonly operational: u32; readonly mandatory: u32; } - /** @name SpWeightsRuntimeDbWeight (177) */ + /** @name SpWeightsRuntimeDbWeight (191) */ interface SpWeightsRuntimeDbWeight extends Struct { readonly read: u64; readonly write: u64; } - /** @name SpVersionRuntimeVersion (178) */ + /** @name SpVersionRuntimeVersion (192) */ interface SpVersionRuntimeVersion extends Struct { readonly specName: Text; readonly implName: Text; @@ -1911,7 +2077,7 @@ declare module '@polkadot/types/lookup' { readonly stateVersion: u8; } - /** @name FrameSystemError (182) */ + /** @name FrameSystemError (196) */ interface FrameSystemError extends Enum { readonly isInvalidSpecName: boolean; readonly isSpecVersionNeedsToIncrease: boolean; @@ -1922,7 +2088,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered'; } - /** @name PalletTimestampCall (183) */ + /** @name PalletTimestampCall (197) */ interface PalletTimestampCall extends Enum { readonly isSet: boolean; readonly asSet: { @@ -1931,7 +2097,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Set'; } - /** @name PalletIndicesCall (185) */ + /** @name PalletIndicesCall (199) */ interface PalletIndicesCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -1959,7 +2125,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'Transfer' | 'Free' | 'ForceTransfer' | 'Freeze'; } - /** @name PalletIndicesError (188) */ + /** @name PalletIndicesError (202) */ interface PalletIndicesError extends Enum { readonly isNotAssigned: boolean; readonly isNotOwner: boolean; @@ -1969,14 +2135,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotAssigned' | 'NotOwner' | 'InUse' | 'NotTransfer' | 'Permanent'; } - /** @name PalletBalancesBalanceLock (190) */ + /** @name PalletBalancesBalanceLock (204) */ interface PalletBalancesBalanceLock extends Struct { readonly id: U8aFixed; readonly amount: u128; readonly reasons: PalletBalancesReasons; } - /** @name PalletBalancesReasons (191) */ + /** @name PalletBalancesReasons (205) */ interface PalletBalancesReasons extends Enum { readonly isFee: boolean; readonly isMisc: boolean; @@ -1984,24 +2150,102 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fee' | 'Misc' | 'All'; } - /** @name PalletBalancesReserveData (194) */ + /** @name PalletBalancesReserveData (208) */ interface PalletBalancesReserveData extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name PalletBalancesCall (196) */ + /** @name PalletBalancesIdAmountRuntimeHoldReason (211) */ + interface PalletBalancesIdAmountRuntimeHoldReason extends Struct { + readonly id: SpiritnetRuntimeRuntimeHoldReason; + readonly amount: u128; + } + + /** @name SpiritnetRuntimeRuntimeHoldReason (212) */ + interface SpiritnetRuntimeRuntimeHoldReason extends Enum { + readonly isAttestation: boolean; + readonly asAttestation: AttestationHoldReason; + readonly isDelegation: boolean; + readonly asDelegation: DelegationHoldReason; + readonly isDid: boolean; + readonly asDid: DidHoldReason; + readonly isDidLookup: boolean; + readonly asDidLookup: PalletDidLookupHoldReason; + readonly isWeb3Names: boolean; + readonly asWeb3Names: PalletWeb3NamesHoldReason; + readonly isPublicCredentials: boolean; + readonly asPublicCredentials: PublicCredentialsHoldReason; + readonly type: 'Attestation' | 'Delegation' | 'Did' | 'DidLookup' | 'Web3Names' | 'PublicCredentials'; + } + + /** @name AttestationHoldReason (213) */ + interface AttestationHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name DelegationHoldReason (214) */ + interface DelegationHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name DidHoldReason (215) */ + interface DidHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name PalletDidLookupHoldReason (216) */ + interface PalletDidLookupHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name PalletWeb3NamesHoldReason (217) */ + interface PalletWeb3NamesHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name PublicCredentialsHoldReason (218) */ + interface PublicCredentialsHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name PalletBalancesIdAmountRuntimeFreezeReason (221) */ + interface PalletBalancesIdAmountRuntimeFreezeReason extends Struct { + readonly id: SpiritnetRuntimeRuntimeFreezeReason; + readonly amount: u128; + } + + /** @name SpiritnetRuntimeRuntimeFreezeReason (222) */ + interface SpiritnetRuntimeRuntimeFreezeReason extends Enum { + readonly isParachainStaking: boolean; + readonly asParachainStaking: ParachainStakingFreezeReason; + readonly type: 'ParachainStaking'; + } + + /** @name ParachainStakingFreezeReason (223) */ + interface ParachainStakingFreezeReason extends Enum { + readonly isStaking: boolean; + readonly type: 'Staking'; + } + + /** @name PalletBalancesCall (225) */ interface PalletBalancesCall extends Enum { - readonly isTransfer: boolean; - readonly asTransfer: { + readonly isTransferAllowDeath: boolean; + readonly asTransferAllowDeath: { readonly dest: MultiAddress; readonly value: Compact; } & Struct; - readonly isSetBalance: boolean; - readonly asSetBalance: { + readonly isSetBalanceDeprecated: boolean; + readonly asSetBalanceDeprecated: { readonly who: MultiAddress; readonly newFree: Compact; - readonly newReserved: Compact; + readonly oldReserved: Compact; } & Struct; readonly isForceTransfer: boolean; readonly asForceTransfer: { @@ -2024,44 +2268,60 @@ declare module '@polkadot/types/lookup' { readonly who: MultiAddress; readonly amount: u128; } & Struct; - readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve'; + readonly isUpgradeAccounts: boolean; + readonly asUpgradeAccounts: { + readonly who: Vec; + } & Struct; + readonly isTransfer: boolean; + readonly asTransfer: { + readonly dest: MultiAddress; + readonly value: Compact; + } & Struct; + readonly isForceSetBalance: boolean; + readonly asForceSetBalance: { + readonly who: MultiAddress; + readonly newFree: Compact; + } & Struct; + readonly type: 'TransferAllowDeath' | 'SetBalanceDeprecated' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve' | 'UpgradeAccounts' | 'Transfer' | 'ForceSetBalance'; } - /** @name PalletBalancesError (197) */ + /** @name PalletBalancesError (226) */ interface PalletBalancesError extends Enum { readonly isVestingBalance: boolean; readonly isLiquidityRestrictions: boolean; readonly isInsufficientBalance: boolean; readonly isExistentialDeposit: boolean; - readonly isKeepAlive: boolean; + readonly isExpendability: boolean; readonly isExistingVestingSchedule: boolean; readonly isDeadAccount: boolean; readonly isTooManyReserves: boolean; - readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves'; + readonly isTooManyHolds: boolean; + readonly isTooManyFreezes: boolean; + readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'Expendability' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves' | 'TooManyHolds' | 'TooManyFreezes'; } - /** @name PalletTransactionPaymentReleases (199) */ + /** @name PalletTransactionPaymentReleases (228) */ interface PalletTransactionPaymentReleases extends Enum { readonly isV1Ancient: boolean; readonly isV2: boolean; readonly type: 'V1Ancient' | 'V2'; } - /** @name SpConsensusAuraSr25519AppSr25519Public (201) */ + /** @name SpConsensusAuraSr25519AppSr25519Public (230) */ interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {} - /** @name SpCoreSr25519Public (202) */ + /** @name SpCoreSr25519Public (231) */ interface SpCoreSr25519Public extends U8aFixed {} - /** @name SpiritnetRuntimeSessionKeys (208) */ + /** @name SpiritnetRuntimeSessionKeys (236) */ interface SpiritnetRuntimeSessionKeys extends Struct { readonly aura: SpConsensusAuraSr25519AppSr25519Public; } - /** @name SpCoreCryptoKeyTypeId (211) */ + /** @name SpCoreCryptoKeyTypeId (239) */ interface SpCoreCryptoKeyTypeId extends U8aFixed {} - /** @name PalletSessionCall (212) */ + /** @name PalletSessionCall (240) */ interface PalletSessionCall extends Enum { readonly isSetKeys: boolean; readonly asSetKeys: { @@ -2072,7 +2332,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetKeys' | 'PurgeKeys'; } - /** @name PalletSessionError (213) */ + /** @name PalletSessionError (241) */ interface PalletSessionError extends Enum { readonly isInvalidProof: boolean; readonly isNoAssociatedValidatorId: boolean; @@ -2082,26 +2342,26 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount'; } - /** @name ParachainStakingRoundInfo (214) */ + /** @name ParachainStakingRoundInfo (242) */ interface ParachainStakingRoundInfo extends Struct { readonly current: u32; readonly first: u64; readonly length: u64; } - /** @name ParachainStakingDelegationCounter (215) */ + /** @name ParachainStakingDelegationCounter (243) */ interface ParachainStakingDelegationCounter extends Struct { readonly round: u32; readonly counter: u32; } - /** @name ParachainStakingStake (216) */ + /** @name ParachainStakingStake (244) */ interface ParachainStakingStake extends Struct { readonly owner: AccountId32; readonly amount: u128; } - /** @name ParachainStakingCandidate (217) */ + /** @name ParachainStakingCandidate (245) */ interface ParachainStakingCandidate extends Struct { readonly id: AccountId32; readonly stake: u128; @@ -2110,10 +2370,10 @@ declare module '@polkadot/types/lookup' { readonly status: ParachainStakingCandidateStatus; } - /** @name ParachainStakingSetOrderedSet (218) */ + /** @name ParachainStakingSetOrderedSet (246) */ interface ParachainStakingSetOrderedSet extends Vec {} - /** @name ParachainStakingCandidateStatus (221) */ + /** @name ParachainStakingCandidateStatus (249) */ interface ParachainStakingCandidateStatus extends Enum { readonly isActive: boolean; readonly isLeaving: boolean; @@ -2121,31 +2381,31 @@ declare module '@polkadot/types/lookup' { readonly type: 'Active' | 'Leaving'; } - /** @name ParachainStakingTotalStake (222) */ + /** @name ParachainStakingTotalStake (250) */ interface ParachainStakingTotalStake extends Struct { readonly collators: u128; readonly delegators: u128; } - /** @name ParachainStakingInflationInflationInfo (225) */ + /** @name ParachainStakingInflationInflationInfo (253) */ interface ParachainStakingInflationInflationInfo extends Struct { readonly collator: ParachainStakingInflationStakingInfo; readonly delegator: ParachainStakingInflationStakingInfo; } - /** @name ParachainStakingInflationStakingInfo (226) */ + /** @name ParachainStakingInflationStakingInfo (254) */ interface ParachainStakingInflationStakingInfo extends Struct { readonly maxRate: Perquintill; readonly rewardRate: ParachainStakingInflationRewardRate; } - /** @name ParachainStakingInflationRewardRate (227) */ + /** @name ParachainStakingInflationRewardRate (255) */ interface ParachainStakingInflationRewardRate extends Struct { readonly annual: Perquintill; readonly perBlock: Perquintill; } - /** @name ParachainStakingCall (232) */ + /** @name ParachainStakingCall (260) */ interface ParachainStakingCall extends Enum { readonly isForceNewRound: boolean; readonly isSetInflation: boolean; @@ -2214,7 +2474,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ForceNewRound' | 'SetInflation' | 'SetMaxSelectedCandidates' | 'SetBlocksPerRound' | 'SetMaxCandidateStake' | 'ForceRemoveCandidate' | 'JoinCandidates' | 'InitLeaveCandidates' | 'ExecuteLeaveCandidates' | 'CancelLeaveCandidates' | 'CandidateStakeMore' | 'CandidateStakeLess' | 'JoinDelegators' | 'LeaveDelegators' | 'DelegatorStakeMore' | 'DelegatorStakeLess' | 'UnlockUnstaked' | 'ClaimRewards' | 'IncrementCollatorRewards' | 'IncrementDelegatorRewards' | 'ExecuteScheduledRewardChange'; } - /** @name ParachainStakingError (233) */ + /** @name ParachainStakingError (261) */ interface ParachainStakingError extends Enum { readonly isDelegatorNotFound: boolean; readonly isCandidateNotFound: boolean; @@ -2250,7 +2510,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'DelegatorNotFound' | 'CandidateNotFound' | 'DelegatorExists' | 'CandidateExists' | 'ValStakeZero' | 'ValStakeBelowMin' | 'ValStakeAboveMax' | 'DelegationBelowMin' | 'AlreadyLeaving' | 'NotLeaving' | 'CannotLeaveYet' | 'CannotJoinBeforeUnlocking' | 'AlreadyDelegating' | 'NotYetDelegating' | 'DelegationsPerRoundExceeded' | 'TooManyDelegators' | 'TooFewCollatorCandidates' | 'CannotStakeIfLeaving' | 'CannotDelegateIfLeaving' | 'MaxCollatorsPerDelegatorExceeded' | 'AlreadyDelegatedCollator' | 'DelegationNotFound' | 'Underflow' | 'CannotSetAboveMax' | 'CannotSetBelowMin' | 'InvalidSchedule' | 'NoMoreUnstaking' | 'TooEarly' | 'StakeNotFound' | 'UnstakingIsEmpty' | 'RewardsNotFound'; } - /** @name FrameSupportPreimagesBounded (236) */ + /** @name FrameSupportPreimagesBounded (264) */ interface FrameSupportPreimagesBounded extends Enum { readonly isLegacy: boolean; readonly asLegacy: { @@ -2266,7 +2526,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Legacy' | 'Inline' | 'Lookup'; } - /** @name PalletDemocracyCall (238) */ + /** @name PalletDemocracyCall (266) */ interface PalletDemocracyCall extends Enum { readonly isPropose: boolean; readonly asPropose: { @@ -2350,7 +2610,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'Blacklist' | 'CancelProposal' | 'SetMetadata'; } - /** @name PalletDemocracyConviction (239) */ + /** @name PalletDemocracyConviction (267) */ interface PalletDemocracyConviction extends Enum { readonly isNone: boolean; readonly isLocked1x: boolean; @@ -2362,7 +2622,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x'; } - /** @name PalletCollectiveCall (242) */ + /** @name PalletCollectiveCall (270) */ interface PalletCollectiveCall extends Enum { readonly isSetMembers: boolean; readonly asSetMembers: { @@ -2387,13 +2647,6 @@ declare module '@polkadot/types/lookup' { readonly index: Compact; readonly approve: bool; } & Struct; - readonly isCloseOldWeight: boolean; - readonly asCloseOldWeight: { - readonly proposalHash: H256; - readonly index: Compact; - readonly proposalWeightBound: Compact; - readonly lengthBound: Compact; - } & Struct; readonly isDisapproveProposal: boolean; readonly asDisapproveProposal: { readonly proposalHash: H256; @@ -2405,10 +2658,10 @@ declare module '@polkadot/types/lookup' { readonly proposalWeightBound: SpWeightsWeightV2Weight; readonly lengthBound: Compact; } & Struct; - readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'CloseOldWeight' | 'DisapproveProposal' | 'Close'; + readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'DisapproveProposal' | 'Close'; } - /** @name PalletMembershipCall (247) */ + /** @name PalletMembershipCall (273) */ interface PalletMembershipCall extends Enum { readonly isAddMember: boolean; readonly asAddMember: { @@ -2439,7 +2692,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AddMember' | 'RemoveMember' | 'SwapMember' | 'ResetMembers' | 'ChangeKey' | 'SetPrime' | 'ClearPrime'; } - /** @name PalletTreasuryCall (248) */ + /** @name PalletTreasuryCall (274) */ interface PalletTreasuryCall extends Enum { readonly isProposeSpend: boolean; readonly asProposeSpend: { @@ -2466,7 +2719,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval'; } - /** @name PalletUtilityCall (249) */ + /** @name PalletUtilityCall (275) */ interface PalletUtilityCall extends Enum { readonly isBatch: boolean; readonly asBatch: { @@ -2498,7 +2751,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Batch' | 'AsDerivative' | 'BatchAll' | 'DispatchAs' | 'ForceBatch' | 'WithWeight'; } - /** @name SpiritnetRuntimeOriginCaller (251) */ + /** @name SpiritnetRuntimeOriginCaller (277) */ interface SpiritnetRuntimeOriginCaller extends Enum { readonly isSystem: boolean; readonly asSystem: FrameSupportDispatchRawOrigin; @@ -2516,7 +2769,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'System' | 'Void' | 'Council' | 'TechnicalCommittee' | 'Did' | 'PolkadotXcm' | 'CumulusXcm'; } - /** @name FrameSupportDispatchRawOrigin (252) */ + /** @name FrameSupportDispatchRawOrigin (278) */ interface FrameSupportDispatchRawOrigin extends Enum { readonly isRoot: boolean; readonly isSigned: boolean; @@ -2525,7 +2778,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Root' | 'Signed' | 'None'; } - /** @name PalletCollectiveRawOrigin (253) */ + /** @name PalletCollectiveRawOrigin (279) */ interface PalletCollectiveRawOrigin extends Enum { readonly isMembers: boolean; readonly asMembers: ITuple<[u32, u32]>; @@ -2535,13 +2788,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Members' | 'Member' | 'Phantom'; } - /** @name DidOriginDidRawOrigin (255) */ + /** @name DidOriginDidRawOrigin (281) */ interface DidOriginDidRawOrigin extends Struct { readonly id: AccountId32; readonly submitter: AccountId32; } - /** @name PalletXcmOrigin (256) */ + /** @name PalletXcmOrigin (282) */ interface PalletXcmOrigin extends Enum { readonly isXcm: boolean; readonly asXcm: XcmV3MultiLocation; @@ -2550,7 +2803,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Xcm' | 'Response'; } - /** @name CumulusPalletXcmOrigin (257) */ + /** @name CumulusPalletXcmOrigin (283) */ interface CumulusPalletXcmOrigin extends Enum { readonly isRelay: boolean; readonly isSiblingParachain: boolean; @@ -2558,10 +2811,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Relay' | 'SiblingParachain'; } - /** @name SpCoreVoid (258) */ + /** @name SpCoreVoid (284) */ type SpCoreVoid = Null; - /** @name PalletVestingCall (259) */ + /** @name PalletVestingCall (285) */ interface PalletVestingCall extends Enum { readonly isVest: boolean; readonly isVestOther: boolean; @@ -2587,14 +2840,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Vest' | 'VestOther' | 'VestedTransfer' | 'ForceVestedTransfer' | 'MergeSchedules'; } - /** @name PalletVestingVestingInfo (260) */ + /** @name PalletVestingVestingInfo (286) */ interface PalletVestingVestingInfo extends Struct { readonly locked: u128; readonly perBlock: u128; readonly startingBlock: u64; } - /** @name PalletSchedulerCall (261) */ + /** @name PalletSchedulerCall (287) */ interface PalletSchedulerCall extends Enum { readonly isSchedule: boolean; readonly asSchedule: { @@ -2638,7 +2891,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Schedule' | 'Cancel' | 'ScheduleNamed' | 'CancelNamed' | 'ScheduleAfter' | 'ScheduleNamedAfter'; } - /** @name PalletProxyCall (263) */ + /** @name PalletProxyCall (289) */ interface PalletProxyCall extends Enum { readonly isProxy: boolean; readonly asProxy: { @@ -2698,7 +2951,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proxy' | 'AddProxy' | 'RemoveProxy' | 'RemoveProxies' | 'CreatePure' | 'KillPure' | 'Announce' | 'RemoveAnnouncement' | 'RejectAnnouncement' | 'ProxyAnnounced'; } - /** @name PalletPreimageCall (265) */ + /** @name PalletPreimageCall (291) */ interface PalletPreimageCall extends Enum { readonly isNotePreimage: boolean; readonly asNotePreimage: { @@ -2719,7 +2972,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage'; } - /** @name PalletTipsCall (267) */ + /** @name PalletTipsCall (293) */ interface PalletTipsCall extends Enum { readonly isReportAwesome: boolean; readonly asReportAwesome: { @@ -2752,7 +3005,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ReportAwesome' | 'RetractTip' | 'TipNew' | 'Tip' | 'CloseTip' | 'SlashTip'; } - /** @name PalletMultisigCall (268) */ + /** @name PalletMultisigCall (294) */ interface PalletMultisigCall extends Enum { readonly isAsMultiThreshold1: boolean; readonly asAsMultiThreshold1: { @@ -2785,7 +3038,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AsMultiThreshold1' | 'AsMulti' | 'ApproveAsMulti' | 'CancelAsMulti'; } - /** @name CtypeCall (270) */ + /** @name CtypeCall (296) */ interface CtypeCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -2799,7 +3052,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'SetBlockNumber'; } - /** @name AttestationCall (271) */ + /** @name AttestationCall (297) */ interface AttestationCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -2832,23 +3085,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'Revoke' | 'Remove' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name RuntimeCommonAuthorizationPalletAuthorize (273) */ + /** @name RuntimeCommonAuthorizationPalletAuthorize (299) */ interface RuntimeCommonAuthorizationPalletAuthorize extends Enum { readonly isDelegation: boolean; readonly asDelegation: DelegationAccessControlDelegationAc; readonly type: 'Delegation'; } - /** @name DelegationAccessControlDelegationAc (274) */ + /** @name DelegationAccessControlDelegationAc (300) */ interface DelegationAccessControlDelegationAc extends Struct { readonly subjectNodeId: H256; readonly maxChecks: u32; } - /** @name SpiritnetRuntimeRuntime (275) */ - type SpiritnetRuntimeRuntime = Null; - - /** @name DelegationCall (276) */ + /** @name DelegationCall (301) */ interface DelegationCall extends Enum { readonly isCreateHierarchy: boolean; readonly asCreateHierarchy: { @@ -2890,7 +3140,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CreateHierarchy' | 'AddDelegation' | 'RevokeDelegation' | 'RemoveDelegation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name DidDidDetailsDidSignature (277) */ + /** @name DidDidDetailsDidSignature (302) */ interface DidDidDetailsDidSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -2901,16 +3151,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name SpCoreEd25519Signature (278) */ + /** @name SpCoreEd25519Signature (303) */ interface SpCoreEd25519Signature extends U8aFixed {} - /** @name SpCoreSr25519Signature (280) */ + /** @name SpCoreSr25519Signature (305) */ interface SpCoreSr25519Signature extends U8aFixed {} - /** @name SpCoreEcdsaSignature (281) */ + /** @name SpCoreEcdsaSignature (306) */ interface SpCoreEcdsaSignature extends U8aFixed {} - /** @name DidCall (283) */ + /** @name DidCall (308) */ interface DidCall extends Enum { readonly isCreate: boolean; readonly asCreate: { @@ -2966,10 +3216,19 @@ declare module '@polkadot/types/lookup' { readonly asUpdateDeposit: { readonly did: AccountId32; } & Struct; - readonly type: 'Create' | 'SetAuthenticationKey' | 'SetDelegationKey' | 'RemoveDelegationKey' | 'SetAttestationKey' | 'RemoveAttestationKey' | 'AddKeyAgreementKey' | 'RemoveKeyAgreementKey' | 'AddServiceEndpoint' | 'RemoveServiceEndpoint' | 'Delete' | 'ReclaimDeposit' | 'SubmitDidCall' | 'ChangeDepositOwner' | 'UpdateDeposit'; + readonly isDispatchAs: boolean; + readonly asDispatchAs: { + readonly didIdentifier: AccountId32; + readonly call: Call; + } & Struct; + readonly isCreateFromAccount: boolean; + readonly asCreateFromAccount: { + readonly authenticationKey: DidDidDetailsDidVerificationKey; + } & Struct; + readonly type: 'Create' | 'SetAuthenticationKey' | 'SetDelegationKey' | 'RemoveDelegationKey' | 'SetAttestationKey' | 'RemoveAttestationKey' | 'AddKeyAgreementKey' | 'RemoveKeyAgreementKey' | 'AddServiceEndpoint' | 'RemoveServiceEndpoint' | 'Delete' | 'ReclaimDeposit' | 'SubmitDidCall' | 'ChangeDepositOwner' | 'UpdateDeposit' | 'DispatchAs' | 'CreateFromAccount'; } - /** @name DidDidDetailsDidCreationDetails (284) */ + /** @name DidDidDetailsDidCreationDetails (309) */ interface DidDidDetailsDidCreationDetails extends Struct { readonly did: AccountId32; readonly submitter: AccountId32; @@ -2979,24 +3238,24 @@ declare module '@polkadot/types/lookup' { readonly newServiceDetails: Vec; } - /** @name RuntimeCommonConstantsDidMaxNewKeyAgreementKeys (285) */ + /** @name RuntimeCommonConstantsDidMaxNewKeyAgreementKeys (310) */ type RuntimeCommonConstantsDidMaxNewKeyAgreementKeys = Null; - /** @name DidServiceEndpointsDidEndpoint (286) */ + /** @name DidServiceEndpointsDidEndpoint (311) */ interface DidServiceEndpointsDidEndpoint extends Struct { readonly id: Bytes; readonly serviceTypes: Vec; readonly urls: Vec; } - /** @name DidDidDetailsDidEncryptionKey (295) */ + /** @name DidDidDetailsDidEncryptionKey (320) */ interface DidDidDetailsDidEncryptionKey extends Enum { readonly isX25519: boolean; readonly asX25519: U8aFixed; readonly type: 'X25519'; } - /** @name DidDidDetailsDidVerificationKey (299) */ + /** @name DidDidDetailsDidVerificationKey (324) */ interface DidDidDetailsDidVerificationKey extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Public; @@ -3004,16 +3263,18 @@ declare module '@polkadot/types/lookup' { readonly asSr25519: SpCoreSr25519Public; readonly isEcdsa: boolean; readonly asEcdsa: SpCoreEcdsaPublic; - readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; + readonly isAccount: boolean; + readonly asAccount: AccountId32; + readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa' | 'Account'; } - /** @name SpCoreEd25519Public (300) */ + /** @name SpCoreEd25519Public (325) */ interface SpCoreEd25519Public extends U8aFixed {} - /** @name SpCoreEcdsaPublic (301) */ + /** @name SpCoreEcdsaPublic (326) */ interface SpCoreEcdsaPublic extends U8aFixed {} - /** @name DidDidDetailsDidAuthorizedCallOperation (304) */ + /** @name DidDidDetailsDidAuthorizedCallOperation (329) */ interface DidDidDetailsDidAuthorizedCallOperation extends Struct { readonly did: AccountId32; readonly txCounter: u64; @@ -3022,7 +3283,7 @@ declare module '@polkadot/types/lookup' { readonly submitter: AccountId32; } - /** @name PalletDidLookupCall (305) */ + /** @name PalletDidLookupCall (330) */ interface PalletDidLookupCall extends Enum { readonly isAssociateAccount: boolean; readonly asAssociateAccount: { @@ -3050,7 +3311,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AssociateAccount' | 'AssociateSender' | 'RemoveSenderAssociation' | 'RemoveAccountAssociation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PalletDidLookupAssociateAccountRequest (306) */ + /** @name PalletDidLookupAssociateAccountRequest (331) */ interface PalletDidLookupAssociateAccountRequest extends Enum { readonly isPolkadot: boolean; readonly asPolkadot: ITuple<[AccountId32, SpRuntimeMultiSignature]>; @@ -3059,7 +3320,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Polkadot' | 'Ethereum'; } - /** @name SpRuntimeMultiSignature (307) */ + /** @name SpRuntimeMultiSignature (332) */ interface SpRuntimeMultiSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -3070,10 +3331,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name PalletDidLookupAccountEthereumSignature (308) */ + /** @name PalletDidLookupAccountEthereumSignature (333) */ interface PalletDidLookupAccountEthereumSignature extends SpCoreEcdsaSignature {} - /** @name PalletWeb3NamesCall (309) */ + /** @name PalletWeb3NamesCall (334) */ interface PalletWeb3NamesCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -3100,7 +3361,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'ReleaseByOwner' | 'ReclaimDeposit' | 'Ban' | 'Unban' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PublicCredentialsCall (310) */ + /** @name PublicCredentialsCall (335) */ interface PublicCredentialsCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -3136,7 +3397,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'Revoke' | 'Unrevoke' | 'Remove' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PublicCredentialsCredentialsCredential (311) */ + /** @name PublicCredentialsCredentialsCredential (336) */ interface PublicCredentialsCredentialsCredential extends Struct { readonly ctypeHash: H256; readonly subject: Bytes; @@ -3144,7 +3405,16 @@ declare module '@polkadot/types/lookup' { readonly authorization: Option; } - /** @name CumulusPalletParachainSystemCall (314) */ + /** @name PalletMigrationCall (339) */ + interface PalletMigrationCall extends Enum { + readonly isUpdateBalance: boolean; + readonly asUpdateBalance: { + readonly requestedMigrations: PalletMigrationEntriesToMigrate; + } & Struct; + readonly type: 'UpdateBalance'; + } + + /** @name CumulusPalletParachainSystemCall (340) */ interface CumulusPalletParachainSystemCall extends Enum { readonly isSetValidationData: boolean; readonly asSetValidationData: { @@ -3166,40 +3436,43 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade'; } - /** @name CumulusPrimitivesParachainInherentParachainInherentData (315) */ + /** @name CumulusPrimitivesParachainInherentParachainInherentData (341) */ interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { - readonly validationData: PolkadotPrimitivesV2PersistedValidationData; + readonly validationData: PolkadotPrimitivesV5PersistedValidationData; readonly relayChainState: SpTrieStorageProof; readonly downwardMessages: Vec; readonly horizontalMessages: BTreeMap>; } - /** @name PolkadotPrimitivesV2PersistedValidationData (316) */ - interface PolkadotPrimitivesV2PersistedValidationData extends Struct { + /** @name PolkadotPrimitivesV5PersistedValidationData (342) */ + interface PolkadotPrimitivesV5PersistedValidationData extends Struct { readonly parentHead: Bytes; readonly relayParentNumber: u32; readonly relayParentStorageRoot: H256; readonly maxPovSize: u32; } - /** @name SpTrieStorageProof (318) */ + /** @name SpTrieStorageProof (344) */ interface SpTrieStorageProof extends Struct { readonly trieNodes: BTreeSet; } - /** @name PolkadotCorePrimitivesInboundDownwardMessage (321) */ + /** @name PolkadotCorePrimitivesInboundDownwardMessage (347) */ interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { readonly sentAt: u32; readonly msg: Bytes; } - /** @name PolkadotCorePrimitivesInboundHrmpMessage (324) */ + /** @name PolkadotCorePrimitivesInboundHrmpMessage (350) */ interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { readonly sentAt: u32; readonly data: Bytes; } - /** @name CumulusPalletXcmpQueueCall (327) */ + /** @name ParachainInfoCall (353) */ + type ParachainInfoCall = Null; + + /** @name CumulusPalletXcmpQueueCall (354) */ interface CumulusPalletXcmpQueueCall extends Enum { readonly isServiceOverweight: boolean; readonly asServiceOverweight: { @@ -3235,7 +3508,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight'; } - /** @name PalletXcmCall (328) */ + /** @name PalletXcmCall (355) */ interface PalletXcmCall extends Enum { readonly isSend: boolean; readonly asSend: { @@ -3264,7 +3537,7 @@ declare module '@polkadot/types/lookup' { readonly isForceXcmVersion: boolean; readonly asForceXcmVersion: { readonly location: XcmV3MultiLocation; - readonly xcmVersion: u32; + readonly version: u32; } & Struct; readonly isForceDefaultXcmVersion: boolean; readonly asForceDefaultXcmVersion: { @@ -3294,10 +3567,14 @@ declare module '@polkadot/types/lookup' { readonly feeAssetItem: u32; readonly weightLimit: XcmV3WeightLimit; } & Struct; - readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets'; + readonly isForceSuspension: boolean; + readonly asForceSuspension: { + readonly suspended: bool; + } & Struct; + readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets' | 'ForceSuspension'; } - /** @name XcmVersionedXcm (329) */ + /** @name XcmVersionedXcm (356) */ interface XcmVersionedXcm extends Enum { readonly isV2: boolean; readonly asV2: XcmV2Xcm; @@ -3306,10 +3583,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'V2' | 'V3'; } - /** @name XcmV2Xcm (330) */ + /** @name XcmV2Xcm (357) */ interface XcmV2Xcm extends Vec {} - /** @name XcmV2Instruction (332) */ + /** @name XcmV2Instruction (359) */ interface XcmV2Instruction extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: XcmV2MultiassetMultiAssets; @@ -3429,7 +3706,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion'; } - /** @name XcmV2Response (333) */ + /** @name XcmV2Response (360) */ interface XcmV2Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; @@ -3441,7 +3718,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version'; } - /** @name XcmV2TraitsError (336) */ + /** @name XcmV2TraitsError (363) */ interface XcmV2TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; @@ -3474,7 +3751,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable'; } - /** @name XcmV2MultiassetMultiAssetFilter (337) */ + /** @name XcmV2MultiassetMultiAssetFilter (364) */ interface XcmV2MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; readonly asDefinite: XcmV2MultiassetMultiAssets; @@ -3483,7 +3760,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Definite' | 'Wild'; } - /** @name XcmV2MultiassetWildMultiAsset (338) */ + /** @name XcmV2MultiassetWildMultiAsset (365) */ interface XcmV2MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; @@ -3494,14 +3771,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'All' | 'AllOf'; } - /** @name XcmV2MultiassetWildFungibility (339) */ + /** @name XcmV2MultiassetWildFungibility (366) */ interface XcmV2MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV2WeightLimit (340) */ + /** @name XcmV2WeightLimit (367) */ interface XcmV2WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; @@ -3509,7 +3786,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unlimited' | 'Limited'; } - /** @name CumulusPalletDmpQueueCall (349) */ + /** @name CumulusPalletDmpQueueCall (376) */ interface CumulusPalletDmpQueueCall extends Enum { readonly isServiceOverweight: boolean; readonly asServiceOverweight: { @@ -3519,7 +3796,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ServiceOverweight'; } - /** @name PalletDemocracyReferendumInfo (353) */ + /** @name PalletDemocracyReferendumInfo (380) */ interface PalletDemocracyReferendumInfo extends Enum { readonly isOngoing: boolean; readonly asOngoing: PalletDemocracyReferendumStatus; @@ -3531,7 +3808,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ongoing' | 'Finished'; } - /** @name PalletDemocracyReferendumStatus (354) */ + /** @name PalletDemocracyReferendumStatus (381) */ interface PalletDemocracyReferendumStatus extends Struct { readonly end: u64; readonly proposal: FrameSupportPreimagesBounded; @@ -3540,14 +3817,14 @@ declare module '@polkadot/types/lookup' { readonly tally: PalletDemocracyTally; } - /** @name PalletDemocracyTally (355) */ + /** @name PalletDemocracyTally (382) */ interface PalletDemocracyTally extends Struct { readonly ayes: u128; readonly nays: u128; readonly turnout: u128; } - /** @name PalletDemocracyVoteVoting (356) */ + /** @name PalletDemocracyVoteVoting (383) */ interface PalletDemocracyVoteVoting extends Enum { readonly isDirect: boolean; readonly asDirect: { @@ -3566,16 +3843,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Direct' | 'Delegating'; } - /** @name PalletDemocracyDelegations (360) */ + /** @name PalletDemocracyDelegations (387) */ interface PalletDemocracyDelegations extends Struct { readonly votes: u128; readonly capital: u128; } - /** @name PalletDemocracyVotePriorLock (361) */ + /** @name PalletDemocracyVotePriorLock (388) */ interface PalletDemocracyVotePriorLock extends ITuple<[u64, u128]> {} - /** @name PalletDemocracyError (364) */ + /** @name PalletDemocracyError (391) */ interface PalletDemocracyError extends Enum { readonly isValueLow: boolean; readonly isProposalMissing: boolean; @@ -3604,7 +3881,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ValueLow' | 'ProposalMissing' | 'AlreadyCanceled' | 'DuplicateProposal' | 'ProposalBlacklisted' | 'NotSimpleMajority' | 'InvalidHash' | 'NoProposal' | 'AlreadyVetoed' | 'ReferendumInvalid' | 'NoneWaiting' | 'NotVoter' | 'NoPermission' | 'AlreadyDelegating' | 'InsufficientFunds' | 'NotDelegating' | 'VotesExist' | 'InstantNotAllowed' | 'Nonsense' | 'WrongUpperBound' | 'MaxVotesReached' | 'TooMany' | 'VotingPeriodLow' | 'PreimageNotExist'; } - /** @name PalletCollectiveVotes (366) */ + /** @name PalletCollectiveVotes (393) */ interface PalletCollectiveVotes extends Struct { readonly index: u32; readonly threshold: u32; @@ -3613,7 +3890,7 @@ declare module '@polkadot/types/lookup' { readonly end: u64; } - /** @name PalletCollectiveError (367) */ + /** @name PalletCollectiveError (394) */ interface PalletCollectiveError extends Enum { readonly isNotMember: boolean; readonly isDuplicateProposal: boolean; @@ -3628,7 +3905,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotMember' | 'DuplicateProposal' | 'ProposalMissing' | 'WrongIndex' | 'DuplicateVote' | 'AlreadyInitialized' | 'TooEarly' | 'TooManyProposals' | 'WrongProposalWeight' | 'WrongProposalLength'; } - /** @name PalletMembershipError (371) */ + /** @name PalletMembershipError (398) */ interface PalletMembershipError extends Enum { readonly isAlreadyMember: boolean; readonly isNotMember: boolean; @@ -3636,7 +3913,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyMember' | 'NotMember' | 'TooManyMembers'; } - /** @name PalletTreasuryProposal (372) */ + /** @name PalletTreasuryProposal (399) */ interface PalletTreasuryProposal extends Struct { readonly proposer: AccountId32; readonly value: u128; @@ -3644,10 +3921,10 @@ declare module '@polkadot/types/lookup' { readonly bond: u128; } - /** @name FrameSupportPalletId (376) */ + /** @name FrameSupportPalletId (403) */ interface FrameSupportPalletId extends U8aFixed {} - /** @name PalletTreasuryError (377) */ + /** @name PalletTreasuryError (404) */ interface PalletTreasuryError extends Enum { readonly isInsufficientProposersBalance: boolean; readonly isInvalidIndex: boolean; @@ -3657,20 +3934,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved'; } - /** @name PalletUtilityError (378) */ + /** @name PalletUtilityError (405) */ interface PalletUtilityError extends Enum { readonly isTooManyCalls: boolean; readonly type: 'TooManyCalls'; } - /** @name PalletVestingReleases (381) */ + /** @name PalletVestingReleases (408) */ interface PalletVestingReleases extends Enum { readonly isV0: boolean; readonly isV1: boolean; readonly type: 'V0' | 'V1'; } - /** @name PalletVestingError (382) */ + /** @name PalletVestingError (409) */ interface PalletVestingError extends Enum { readonly isNotVesting: boolean; readonly isAtMaxVestingSchedules: boolean; @@ -3680,7 +3957,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotVesting' | 'AtMaxVestingSchedules' | 'AmountLow' | 'ScheduleIndexOutOfBounds' | 'InvalidScheduleParams'; } - /** @name PalletSchedulerScheduled (385) */ + /** @name PalletSchedulerScheduled (412) */ interface PalletSchedulerScheduled extends Struct { readonly maybeId: Option; readonly priority: u8; @@ -3689,7 +3966,7 @@ declare module '@polkadot/types/lookup' { readonly origin: SpiritnetRuntimeOriginCaller; } - /** @name PalletSchedulerError (387) */ + /** @name PalletSchedulerError (414) */ interface PalletSchedulerError extends Enum { readonly isFailedToSchedule: boolean; readonly isNotFound: boolean; @@ -3699,21 +3976,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange' | 'Named'; } - /** @name PalletProxyProxyDefinition (390) */ + /** @name PalletProxyProxyDefinition (417) */ interface PalletProxyProxyDefinition extends Struct { readonly delegate: AccountId32; readonly proxyType: SpiritnetRuntimeProxyType; readonly delay: u64; } - /** @name PalletProxyAnnouncement (394) */ + /** @name PalletProxyAnnouncement (421) */ interface PalletProxyAnnouncement extends Struct { readonly real: AccountId32; readonly callHash: H256; readonly height: u64; } - /** @name PalletProxyError (396) */ + /** @name PalletProxyError (423) */ interface PalletProxyError extends Enum { readonly isTooMany: boolean; readonly isNotFound: boolean; @@ -3726,7 +4003,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooMany' | 'NotFound' | 'NotProxy' | 'Unproxyable' | 'Duplicate' | 'NoPermission' | 'Unannounced' | 'NoSelfProxy'; } - /** @name PalletPreimageRequestStatus (397) */ + /** @name PalletPreimageRequestStatus (424) */ interface PalletPreimageRequestStatus extends Enum { readonly isUnrequested: boolean; readonly asUnrequested: { @@ -3742,7 +4019,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unrequested' | 'Requested'; } - /** @name PalletPreimageError (402) */ + /** @name PalletPreimageError (429) */ interface PalletPreimageError extends Enum { readonly isTooBig: boolean; readonly isAlreadyNoted: boolean; @@ -3753,7 +4030,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooBig' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested'; } - /** @name PalletTipsOpenTip (405) */ + /** @name PalletTipsOpenTip (432) */ interface PalletTipsOpenTip extends Struct { readonly reason: H256; readonly who: AccountId32; @@ -3764,7 +4041,7 @@ declare module '@polkadot/types/lookup' { readonly findersFee: bool; } - /** @name PalletTipsError (409) */ + /** @name PalletTipsError (436) */ interface PalletTipsError extends Enum { readonly isReasonTooBig: boolean; readonly isAlreadyKnown: boolean; @@ -3775,7 +4052,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ReasonTooBig' | 'AlreadyKnown' | 'UnknownTip' | 'NotFinder' | 'StillOpen' | 'Premature'; } - /** @name PalletMultisigMultisig (411) */ + /** @name PalletMultisigMultisig (438) */ interface PalletMultisigMultisig extends Struct { readonly when: PalletMultisigTimepoint; readonly deposit: u128; @@ -3783,7 +4060,7 @@ declare module '@polkadot/types/lookup' { readonly approvals: Vec; } - /** @name PalletMultisigError (413) */ + /** @name PalletMultisigError (440) */ interface PalletMultisigError extends Enum { readonly isMinimumThreshold: boolean; readonly isAlreadyApproved: boolean; @@ -3802,13 +4079,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'MinimumThreshold' | 'AlreadyApproved' | 'NoApprovalsNeeded' | 'TooFewSignatories' | 'TooManySignatories' | 'SignatoriesOutOfOrder' | 'SenderInSignatories' | 'NotFound' | 'NotOwner' | 'NoTimepoint' | 'WrongTimepoint' | 'UnexpectedTimepoint' | 'MaxWeightTooLow' | 'AlreadyStored'; } - /** @name CtypeCtypeEntry (414) */ + /** @name CtypeCtypeEntry (441) */ interface CtypeCtypeEntry extends Struct { readonly creator: AccountId32; readonly createdAt: u64; } - /** @name CtypeError (415) */ + /** @name CtypeError (442) */ interface CtypeError extends Enum { readonly isNotFound: boolean; readonly isAlreadyExists: boolean; @@ -3816,7 +4093,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotFound' | 'AlreadyExists' | 'UnableToPayFees'; } - /** @name AttestationAttestationsAttestationDetails (416) */ + /** @name AttestationAttestationsAttestationDetails (443) */ interface AttestationAttestationsAttestationDetails extends Struct { readonly ctypeHash: H256; readonly attester: AccountId32; @@ -3825,13 +4102,13 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name KiltSupportDeposit (417) */ + /** @name KiltSupportDeposit (444) */ interface KiltSupportDeposit extends Struct { readonly owner: AccountId32; readonly amount: u128; } - /** @name AttestationError (419) */ + /** @name AttestationError (446) */ interface AttestationError extends Enum { readonly isAlreadyAttested: boolean; readonly isAlreadyRevoked: boolean; @@ -3842,7 +4119,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyAttested' | 'AlreadyRevoked' | 'NotFound' | 'CTypeMismatch' | 'NotAuthorized' | 'MaxDelegatedAttestationsExceeded'; } - /** @name DelegationDelegationHierarchyDelegationNode (420) */ + /** @name DelegationDelegationHierarchyDelegationNode (447) */ interface DelegationDelegationHierarchyDelegationNode extends Struct { readonly hierarchyRootId: H256; readonly parent: Option; @@ -3851,22 +4128,22 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name RuntimeCommonConstantsDelegationMaxChildren (421) */ + /** @name RuntimeCommonConstantsDelegationMaxChildren (448) */ type RuntimeCommonConstantsDelegationMaxChildren = Null; - /** @name DelegationDelegationHierarchyDelegationDetails (422) */ + /** @name DelegationDelegationHierarchyDelegationDetails (449) */ interface DelegationDelegationHierarchyDelegationDetails extends Struct { readonly owner: AccountId32; readonly revoked: bool; readonly permissions: DelegationDelegationHierarchyPermissions; } - /** @name DelegationDelegationHierarchyDelegationHierarchyDetails (425) */ + /** @name DelegationDelegationHierarchyDelegationHierarchyDetails (452) */ interface DelegationDelegationHierarchyDelegationHierarchyDetails extends Struct { readonly ctypeHash: H256; } - /** @name DelegationError (426) */ + /** @name DelegationError (453) */ interface DelegationError extends Enum { readonly isDelegationAlreadyExists: boolean; readonly isInvalidDelegateSignature: boolean; @@ -3893,7 +4170,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'DelegationAlreadyExists' | 'InvalidDelegateSignature' | 'DelegationNotFound' | 'DelegateNotFound' | 'HierarchyAlreadyExists' | 'HierarchyNotFound' | 'MaxSearchDepthReached' | 'NotOwnerOfParentDelegation' | 'NotOwnerOfDelegationHierarchy' | 'ParentDelegationNotFound' | 'ParentDelegationRevoked' | 'UnauthorizedRevocation' | 'UnauthorizedRemoval' | 'UnauthorizedDelegation' | 'AccessDenied' | 'ExceededRevocationBounds' | 'ExceededRemovalBounds' | 'MaxRevocationsTooLarge' | 'MaxRemovalsTooLarge' | 'MaxParentChecksTooLarge' | 'Internal' | 'MaxChildrenExceeded'; } - /** @name DidDidDetails (427) */ + /** @name DidDidDetails (454) */ interface DidDidDetails extends Struct { readonly authenticationKey: H256; readonly keyAgreementKeys: BTreeSet; @@ -3904,13 +4181,13 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name DidDidDetailsDidPublicKeyDetails (430) */ + /** @name DidDidDetailsDidPublicKeyDetails (457) */ interface DidDidDetailsDidPublicKeyDetails extends Struct { readonly key: DidDidDetailsDidPublicKey; readonly blockNumber: u64; } - /** @name DidDidDetailsDidPublicKey (431) */ + /** @name DidDidDetailsDidPublicKey (458) */ interface DidDidDetailsDidPublicKey extends Enum { readonly isPublicVerificationKey: boolean; readonly asPublicVerificationKey: DidDidDetailsDidVerificationKey; @@ -3919,7 +4196,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'PublicVerificationKey' | 'PublicEncryptionKey'; } - /** @name DidError (436) */ + /** @name DidError (463) */ interface DidError extends Enum { readonly isInvalidSignatureFormat: boolean; readonly isInvalidSignature: boolean; @@ -3951,13 +4228,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidSignatureFormat' | 'InvalidSignature' | 'AlreadyExists' | 'NotFound' | 'VerificationKeyNotFound' | 'InvalidNonce' | 'UnsupportedDidAuthorizationCall' | 'InvalidDidAuthorizationCall' | 'MaxNewKeyAgreementKeysLimitExceeded' | 'MaxPublicKeysExceeded' | 'MaxKeyAgreementKeysExceeded' | 'BadDidOrigin' | 'TransactionExpired' | 'AlreadyDeleted' | 'NotOwnerOfDeposit' | 'UnableToPayFees' | 'MaxNumberOfServicesExceeded' | 'MaxServiceIdLengthExceeded' | 'MaxServiceTypeLengthExceeded' | 'MaxNumberOfTypesPerServiceExceeded' | 'MaxServiceUrlLengthExceeded' | 'MaxNumberOfUrlsPerServiceExceeded' | 'ServiceAlreadyExists' | 'ServiceNotFound' | 'InvalidServiceEncoding' | 'MaxStoredEndpointsCountExceeded' | 'Internal'; } - /** @name PalletDidLookupConnectionRecord (437) */ + /** @name PalletDidLookupConnectionRecord (464) */ interface PalletDidLookupConnectionRecord extends Struct { readonly did: AccountId32; readonly deposit: KiltSupportDeposit; } - /** @name PalletDidLookupError (439) */ + /** @name PalletDidLookupError (466) */ interface PalletDidLookupError extends Enum { readonly isNotFound: boolean; readonly isNotAuthorized: boolean; @@ -3967,14 +4244,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotFound' | 'NotAuthorized' | 'OutdatedProof' | 'InsufficientFunds' | 'Migration'; } - /** @name PalletWeb3NamesWeb3NameWeb3NameOwnership (440) */ + /** @name PalletWeb3NamesWeb3NameWeb3NameOwnership (467) */ interface PalletWeb3NamesWeb3NameWeb3NameOwnership extends Struct { readonly owner: AccountId32; readonly claimedAt: u64; readonly deposit: KiltSupportDeposit; } - /** @name PalletWeb3NamesError (441) */ + /** @name PalletWeb3NamesError (468) */ interface PalletWeb3NamesError extends Enum { readonly isInsufficientFunds: boolean; readonly isAlreadyExists: boolean; @@ -3991,7 +4268,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InsufficientFunds' | 'AlreadyExists' | 'NotFound' | 'OwnerAlreadyExists' | 'OwnerNotFound' | 'Banned' | 'NotBanned' | 'AlreadyBanned' | 'NotAuthorized' | 'TooShort' | 'TooLong' | 'InvalidCharacter'; } - /** @name PublicCredentialsCredentialsCredentialEntry (443) */ + /** @name PublicCredentialsCredentialsCredentialEntry (469) */ interface PublicCredentialsCredentialsCredentialEntry extends Struct { readonly ctypeHash: H256; readonly attester: AccountId32; @@ -4001,7 +4278,7 @@ declare module '@polkadot/types/lookup' { readonly authorizationId: Option; } - /** @name PublicCredentialsError (444) */ + /** @name PublicCredentialsError (470) */ interface PublicCredentialsError extends Enum { readonly isAlreadyAttested: boolean; readonly isNotFound: boolean; @@ -4012,22 +4289,34 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyAttested' | 'NotFound' | 'UnableToPayFees' | 'InvalidInput' | 'NotAuthorized' | 'Internal'; } - /** @name PolkadotPrimitivesV2UpgradeRestriction (446) */ - interface PolkadotPrimitivesV2UpgradeRestriction extends Enum { + /** @name PalletMigrationError (471) */ + interface PalletMigrationError extends Enum { + readonly isKeyParse: boolean; + readonly type: 'KeyParse'; + } + + /** @name PolkadotPrimitivesV5UpgradeRestriction (473) */ + interface PolkadotPrimitivesV5UpgradeRestriction extends Enum { readonly isPresent: boolean; readonly type: 'Present'; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (447) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (474) */ interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { readonly dmqMqcHead: H256; - readonly relayDispatchQueueSize: ITuple<[u32, u32]>; - readonly ingressChannels: Vec>; - readonly egressChannels: Vec>; + readonly relayDispatchQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize; + readonly ingressChannels: Vec>; + readonly egressChannels: Vec>; } - /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (451) */ - interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct { + /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize (475) */ + interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize extends Struct { + readonly remainingCount: u32; + readonly remainingSize: u32; + } + + /** @name PolkadotPrimitivesV5AbridgedHrmpChannel (478) */ + interface PolkadotPrimitivesV5AbridgedHrmpChannel extends Struct { readonly maxCapacity: u32; readonly maxTotalSize: u32; readonly maxMessageSize: u32; @@ -4036,8 +4325,8 @@ declare module '@polkadot/types/lookup' { readonly mqcHead: Option; } - /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (452) */ - interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct { + /** @name PolkadotPrimitivesV5AbridgedHostConfiguration (479) */ + interface PolkadotPrimitivesV5AbridgedHostConfiguration extends Struct { readonly maxCodeSize: u32; readonly maxHeadDataSize: u32; readonly maxUpwardQueueCount: u32; @@ -4049,19 +4338,19 @@ declare module '@polkadot/types/lookup' { readonly validationUpgradeDelay: u32; } - /** @name PolkadotCorePrimitivesOutboundHrmpMessage (458) */ + /** @name PolkadotCorePrimitivesOutboundHrmpMessage (485) */ interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { readonly recipient: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (459) */ + /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (486) */ interface CumulusPalletParachainSystemCodeUpgradeAuthorization extends Struct { readonly codeHash: H256; readonly checkVersion: bool; } - /** @name CumulusPalletParachainSystemError (460) */ + /** @name CumulusPalletParachainSystemError (487) */ interface CumulusPalletParachainSystemError extends Enum { readonly isOverlappingUpgrades: boolean; readonly isProhibitedByPolkadot: boolean; @@ -4074,21 +4363,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized'; } - /** @name CumulusPalletXcmpQueueInboundChannelDetails (462) */ + /** @name CumulusPalletXcmpQueueInboundChannelDetails (489) */ interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct { readonly sender: u32; readonly state: CumulusPalletXcmpQueueInboundState; readonly messageMetadata: Vec>; } - /** @name CumulusPalletXcmpQueueInboundState (463) */ + /** @name CumulusPalletXcmpQueueInboundState (490) */ interface CumulusPalletXcmpQueueInboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name PolkadotParachainPrimitivesXcmpMessageFormat (466) */ + /** @name PolkadotParachainPrimitivesXcmpMessageFormat (493) */ interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum { readonly isConcatenatedVersionedXcm: boolean; readonly isConcatenatedEncodedBlob: boolean; @@ -4096,7 +4385,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals'; } - /** @name CumulusPalletXcmpQueueOutboundChannelDetails (469) */ + /** @name CumulusPalletXcmpQueueOutboundChannelDetails (496) */ interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct { readonly recipient: u32; readonly state: CumulusPalletXcmpQueueOutboundState; @@ -4105,14 +4394,14 @@ declare module '@polkadot/types/lookup' { readonly lastIndex: u16; } - /** @name CumulusPalletXcmpQueueOutboundState (470) */ + /** @name CumulusPalletXcmpQueueOutboundState (497) */ interface CumulusPalletXcmpQueueOutboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name CumulusPalletXcmpQueueQueueConfigData (472) */ + /** @name CumulusPalletXcmpQueueQueueConfigData (499) */ interface CumulusPalletXcmpQueueQueueConfigData extends Struct { readonly suspendThreshold: u32; readonly dropThreshold: u32; @@ -4122,7 +4411,7 @@ declare module '@polkadot/types/lookup' { readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight; } - /** @name CumulusPalletXcmpQueueError (474) */ + /** @name CumulusPalletXcmpQueueError (501) */ interface CumulusPalletXcmpQueueError extends Enum { readonly isFailedToSend: boolean; readonly isBadXcmOrigin: boolean; @@ -4132,7 +4421,63 @@ declare module '@polkadot/types/lookup' { readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit'; } - /** @name PalletXcmError (475) */ + /** @name PalletXcmQueryStatus (502) */ + interface PalletXcmQueryStatus extends Enum { + readonly isPending: boolean; + readonly asPending: { + readonly responder: XcmVersionedMultiLocation; + readonly maybeMatchQuerier: Option; + readonly maybeNotify: Option>; + readonly timeout: u64; + } & Struct; + readonly isVersionNotifier: boolean; + readonly asVersionNotifier: { + readonly origin: XcmVersionedMultiLocation; + readonly isActive: bool; + } & Struct; + readonly isReady: boolean; + readonly asReady: { + readonly response: XcmVersionedResponse; + readonly at: u64; + } & Struct; + readonly type: 'Pending' | 'VersionNotifier' | 'Ready'; + } + + /** @name XcmVersionedResponse (506) */ + interface XcmVersionedResponse extends Enum { + readonly isV2: boolean; + readonly asV2: XcmV2Response; + readonly isV3: boolean; + readonly asV3: XcmV3Response; + readonly type: 'V2' | 'V3'; + } + + /** @name PalletXcmVersionMigrationStage (512) */ + interface PalletXcmVersionMigrationStage extends Enum { + readonly isMigrateSupportedVersion: boolean; + readonly isMigrateVersionNotifiers: boolean; + readonly isNotifyCurrentTargets: boolean; + readonly asNotifyCurrentTargets: Option; + readonly isMigrateAndNotifyOldTargets: boolean; + readonly type: 'MigrateSupportedVersion' | 'MigrateVersionNotifiers' | 'NotifyCurrentTargets' | 'MigrateAndNotifyOldTargets'; + } + + /** @name XcmVersionedAssetId (515) */ + interface XcmVersionedAssetId extends Enum { + readonly isV3: boolean; + readonly asV3: XcmV3MultiassetAssetId; + readonly type: 'V3'; + } + + /** @name PalletXcmRemoteLockedFungibleRecord (516) */ + interface PalletXcmRemoteLockedFungibleRecord extends Struct { + readonly amount: u128; + readonly owner: XcmVersionedMultiLocation; + readonly locker: XcmVersionedMultiLocation; + readonly consumers: Vec>; + } + + /** @name PalletXcmError (523) */ interface PalletXcmError extends Enum { readonly isUnreachable: boolean; readonly isSendFailure: boolean; @@ -4157,47 +4502,47 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed' | 'InvalidAsset' | 'LowBalance' | 'TooManyLocks' | 'AccountNotSovereign' | 'FeesNotMet' | 'LockNotFound' | 'InUse'; } - /** @name CumulusPalletXcmError (476) */ + /** @name CumulusPalletXcmError (524) */ type CumulusPalletXcmError = Null; - /** @name CumulusPalletDmpQueueConfigData (477) */ + /** @name CumulusPalletDmpQueueConfigData (525) */ interface CumulusPalletDmpQueueConfigData extends Struct { readonly maxIndividual: SpWeightsWeightV2Weight; } - /** @name CumulusPalletDmpQueuePageIndexData (478) */ + /** @name CumulusPalletDmpQueuePageIndexData (526) */ interface CumulusPalletDmpQueuePageIndexData extends Struct { readonly beginUsed: u32; readonly endUsed: u32; readonly overweightCount: u64; } - /** @name CumulusPalletDmpQueueError (481) */ + /** @name CumulusPalletDmpQueueError (529) */ interface CumulusPalletDmpQueueError extends Enum { readonly isUnknown: boolean; readonly isOverLimit: boolean; readonly type: 'Unknown' | 'OverLimit'; } - /** @name FrameSystemExtensionsCheckNonZeroSender (484) */ + /** @name FrameSystemExtensionsCheckNonZeroSender (532) */ type FrameSystemExtensionsCheckNonZeroSender = Null; - /** @name FrameSystemExtensionsCheckSpecVersion (485) */ + /** @name FrameSystemExtensionsCheckSpecVersion (533) */ type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckTxVersion (486) */ + /** @name FrameSystemExtensionsCheckTxVersion (534) */ type FrameSystemExtensionsCheckTxVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (487) */ + /** @name FrameSystemExtensionsCheckGenesis (535) */ type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (490) */ + /** @name FrameSystemExtensionsCheckNonce (538) */ interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (491) */ + /** @name FrameSystemExtensionsCheckWeight (539) */ type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTransactionPaymentChargeTransactionPayment (492) */ + /** @name PalletTransactionPaymentChargeTransactionPayment (540) */ interface PalletTransactionPaymentChargeTransactionPayment extends Compact {} } // declare module From e691cc2b82fe42070bb6f44e75de7ac3393e5ae3 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Wed, 7 Feb 2024 15:13:19 +0100 Subject: [PATCH 43/52] fix: consider dispatchAs in ctype/public credential fetching logic --- packages/core/src/ctype/CType.chain.ts | 33 ++++++++++++----- .../PublicCredential.chain.ts | 36 ++++++++++++++----- packages/core/src/utils.ts | 4 +++ 3 files changed, 55 insertions(+), 18 deletions(-) diff --git a/packages/core/src/ctype/CType.chain.ts b/packages/core/src/ctype/CType.chain.ts index 2a2b57ac7..052ab4dd3 100644 --- a/packages/core/src/ctype/CType.chain.ts +++ b/packages/core/src/ctype/CType.chain.ts @@ -24,7 +24,12 @@ import { serializeForHash, verifyDataStructure, } from './CType.js' -import { flattenCalls, isBatch, retrieveExtrinsicFromBlock } from '../utils.js' +import { + type DidAuthorizationCall, + flattenCalls, + isBatch, + retrieveExtrinsicFromBlock, +} from '../utils.js' /** * Encodes the provided CType for use in `api.tx.ctype.add()`. @@ -130,15 +135,15 @@ function extractCTypeCreationCallsFromDidCall( ) } -// Given a (nested) call, flattens them and filter by calls that are of type `api.tx.did.submitDidCall`. +// Given a (nested) call, flattens them and filter by calls that are of type `api.tx.did.submitDidCall` or `api.tx.did.dispatchAs`. function extractDidCallsFromBatchCall( api: ApiPromise, call: Call -): Array> { +): DidAuthorizationCall[] { const extrinsicCalls = flattenCalls(api, call) return extrinsicCalls.filter( - (c): c is GenericCall => - api.tx.did.submitDidCall.is(c) + (c): c is DidAuthorizationCall => + api.tx.did.submitDidCall.is(c) || api.tx.did.dispatchAs.is(c) ) } @@ -179,9 +184,13 @@ export async function fetchFromChain( ) } - if (!isBatch(api, extrinsic) && !api.tx.did.submitDidCall.is(extrinsic)) { + if ( + !isBatch(api, extrinsic) && + !api.tx.did.submitDidCall.is(extrinsic) && + !api.tx.did.dispatchAs.is(extrinsic) + ) { throw new SDKErrors.PublicCredentialError( - 'Extrinsic should be either a `did.submitDidCall` extrinsic or a batch with at least a `did.submitDidCall` extrinsic' + 'Extrinsic should be either a `did.submitDidCall` or `did.dispatchAs` extrinsic or a batch containing at least one of those' ) } @@ -198,14 +207,20 @@ export async function fetchFromChain( const ctypeCallContent = didCalls.flatMap((didCall) => { const ctypeCreationCalls = extractCTypeCreationCallsFromDidCall( api, - didCall.args[0].call + api.tx.did.submitDidCall.is(didCall) + ? didCall.args[0].call + : didCall.args[1] ) // Re-create the issued public credential for each call identified. return ctypeCreationCalls.map( (ctypeCreationCall) => [ cTypeInputFromChain(ctypeCreationCall.args[0]), - Did.fromChain(didCall.args[0].did), + Did.fromChain( + api.tx.did.submitDidCall.is(didCall) + ? didCall.args[0].did + : didCall.args[0] + ), ] as const ) }) diff --git a/packages/core/src/publicCredential/PublicCredential.chain.ts b/packages/core/src/publicCredential/PublicCredential.chain.ts index 3ffa1f196..7033dd71c 100644 --- a/packages/core/src/publicCredential/PublicCredential.chain.ts +++ b/packages/core/src/publicCredential/PublicCredential.chain.ts @@ -29,7 +29,12 @@ import { validateUri } from '@kiltprotocol/asset-did' import { SDKErrors, cbor } from '@kiltprotocol/utils' import { getIdForCredential } from './PublicCredential.js' -import { flattenCalls, isBatch, retrieveExtrinsicFromBlock } from '../utils.js' +import { + type DidAuthorizationCall, + flattenCalls, + isBatch, + retrieveExtrinsicFromBlock, +} from '../utils.js' export interface EncodedPublicCredential { ctypeHash: CTypeHash @@ -137,15 +142,15 @@ function extractPublicCredentialCreationCallsFromDidCall( ) } -// Given a (nested) call, flattens them and filter by calls that are of type `api.tx.did.submitDidCall`. +// Given a (nested) call, flattens them and filter by calls that are of type `api.tx.did.submitDidCall` or `api.tx.did.dispatchAs`. function extractDidCallsFromBatchCall( api: ApiPromise, call: Call -): Array> { +): DidAuthorizationCall[] { const extrinsicCalls = flattenCalls(api, call) return extrinsicCalls.filter( - (c): c is GenericCall => - api.tx.did.submitDidCall.is(c) + (c): c is DidAuthorizationCall => + api.tx.did.submitDidCall.is(c) || api.tx.did.dispatchAs.is(c) ) } @@ -184,9 +189,13 @@ export async function fetchCredentialFromChain( ) } - if (!isBatch(api, extrinsic) && !api.tx.did.submitDidCall.is(extrinsic)) { + if ( + !isBatch(api, extrinsic) && + !api.tx.did.submitDidCall.is(extrinsic) && + !api.tx.did.dispatchAs.is(extrinsic) + ) { throw new SDKErrors.PublicCredentialError( - 'Extrinsic should be either a `did.submitDidCall` extrinsic or a batch with at least a `did.submitDidCall` extrinsic' + 'Extrinsic should be either a `did.submitDidCall` or `did.dispatchAs` extrinsic or a batch containing at least one of those' ) } @@ -202,13 +211,22 @@ export async function fetchCredentialFromChain( // It returns a list of [reconstructedCredential, attesterDid]. const callCredentialsContent = didCalls.flatMap((didCall) => { const publicCredentialCalls = - extractPublicCredentialCreationCallsFromDidCall(api, didCall.args[0].call) + extractPublicCredentialCreationCallsFromDidCall( + api, + api.tx.did.submitDidCall.is(didCall) + ? didCall.args[0].call + : didCall.args[1] + ) // Re-create the issued public credential for each call identified. return publicCredentialCalls.map( (credentialCreationCall) => [ credentialInputFromChain(credentialCreationCall.args[0]), - didFromChain(didCall.args[0].did), + didFromChain( + api.tx.did.submitDidCall.is(didCall) + ? didCall.args[0].did + : didCall.args[0] + ), ] as const ) }) diff --git a/packages/core/src/utils.ts b/packages/core/src/utils.ts index 12d3a420d..ce97ba28e 100644 --- a/packages/core/src/utils.ts +++ b/packages/core/src/utils.ts @@ -40,6 +40,10 @@ export function isBatch( ) } +export type DidAuthorizationCall = + | GenericCall + | GenericCall + /** * Flatten all calls into a single array following a DFS approach. * From 385299811dcc5f0a31b7ea72498f670c884cef4f Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Thu, 8 Feb 2024 15:06:00 +0100 Subject: [PATCH 44/52] chore: update references to mashnet-node --- dc.build.node.yml | 8 ++++---- docker-compose.yml | 6 +++--- package.json | 2 +- packages/did/src/DidDetails/FullDidDetails.ts | 2 +- tests/integration/Delegation.spec.ts | 2 +- tests/integration/utils.ts | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/dc.build.node.yml b/dc.build.node.yml index 40d2e89d3..73ed2267a 100644 --- a/dc.build.node.yml +++ b/dc.build.node.yml @@ -2,9 +2,9 @@ version: '3.2' services: dev-node: - image: local/mashnet-node + image: local/standalone-node build: - context: https://github.com/KILTprotocol/mashnet-node.git + context: https://github.com/KILTprotocol/kilt-node.git cache_from: - - kiltprotocol/mashnet-node - - local/mashnet-node + - kiltprotocol/standalone-node + - local/standalone-node diff --git a/docker-compose.yml b/docker-compose.yml index dfc272da8..e756bddd8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,9 @@ # allows running tests and integration tests in a dockerized environment # `docker-compose run sdk` will run integration tests using the latest -# mashnet-node image on dockerhub. The src/ directory is mounted, so rebuilding +# standalone-node image on dockerhub. The src/ directory is mounted, so rebuilding # is not required to integrate changes in this directory. # `docker-compose run sdk yarn test:integration:run Attestation` would run specific tests. -# In order to test against the current state of the develop branch, you can build a mashnet-node +# In order to test against the current state of the develop branch, you can build a standalone-node # image locally by telling docker-compose to use the override file `dc.build.node.yml` like so: # `docker-compose -f docker-compose.yml -f dc.build.node.yml run sdk`. Alternatively you could # rename `dc.build.node.yml` to `docker-compose.override.yml`, in which case docker-compose @@ -13,7 +13,7 @@ version: '3.2' services: dev-node: - image: kiltprotocol/mashnet-node:develop + image: kiltprotocol/standalone-node:develop command: '--dev --ws-port 9944 --ws-external' sdk: diff --git a/package.json b/package.json index 1040f2f9c..19c436b7b 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "test:integration": "jest -c tests/integration/jest.config.integration.js", "build:esm-tests": "rimraf tests/integration/dist && tsc -p tests/integration/tsconfig.esm.json && echo '{\"type\":\"module\"}' > tests/integration/dist/package.json", "test:integration:esm": "yarn build:esm-tests && yarn node --experimental-vm-modules $(yarn bin jest) -c tests/integration/jest.config.integration.esm.js", - "test:integration:latest-develop": "TESTCONTAINERS_NODE_IMG=kiltprotocol/mashnet-node:latest-develop yarn test:integration", + "test:integration:latest-develop": "TESTCONTAINERS_NODE_IMG=kiltprotocol/standalone-node:latest-develop yarn test:integration", "test:watch": "yarn test --watch", "test:bundle": "tsc -p tests/bundle/tsconfig.json && yarn ./tests/bundle playwright test --config playwright.config.ts", "test:ci:bundle": "yarn test:ci:bundle:preparation && yarn test:bundle", diff --git a/packages/did/src/DidDetails/FullDidDetails.ts b/packages/did/src/DidDetails/FullDidDetails.ts index b473a67c0..8c3df841e 100644 --- a/packages/did/src/DidDetails/FullDidDetails.ts +++ b/packages/did/src/DidDetails/FullDidDetails.ts @@ -28,7 +28,7 @@ import { import { parse } from '../Did.utils.js' // Must be in sync with what's implemented in impl did::DeriveDidCallAuthorizationVerificationKeyRelationship for Call -// in https://github.com/KILTprotocol/mashnet-node/blob/develop/runtimes/spiritnet/src/lib.rs +// in https://github.com/KILTprotocol/kilt-node/blob/develop/runtimes/spiritnet/src/lib.rs // TODO: Should have an RPC or something similar to avoid inconsistencies in the future. const methodMapping: Record = { attestation: 'assertionMethod', diff --git a/tests/integration/Delegation.spec.ts b/tests/integration/Delegation.spec.ts index 325ab53e0..a0d9b386c 100644 --- a/tests/integration/Delegation.spec.ts +++ b/tests/integration/Delegation.spec.ts @@ -286,7 +286,7 @@ describe('revocation', () => { // Delegation removal can only be done by either the delegation owner themselves via DID call // or the deposit owner as a regular signed call. - // Change introduced in https://github.com/KILTprotocol/mashnet-node/pull/304 + // Change introduced in https://github.com/KILTprotocol/kilt-node/pull/304 const removeTx = await delegationA.getRemoveTx() const authorizedRemoveTx = await Did.authorizeTx( delegator.uri, diff --git a/tests/integration/utils.ts b/tests/integration/utils.ts index 93d888092..af25ff8a1 100644 --- a/tests/integration/utils.ts +++ b/tests/integration/utils.ts @@ -37,7 +37,7 @@ export async function getStartedTestContainer( hostPort?: number ): Promise { const image = - process.env.TESTCONTAINERS_NODE_IMG || 'kiltprotocol/mashnet-node' + process.env.TESTCONTAINERS_NODE_IMG || 'kiltprotocol/standalone-node' console.log(`using testcontainer with image ${image}`) const strategies = [ ['--dev', '--ws-external', `--ws-port=${WS_PORT}`], From e9c8a562a426e85ba7f0343a31e9946f8782aa23 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Thu, 8 Feb 2024 15:24:56 +0100 Subject: [PATCH 45/52] test: add integration tests for dispatchAs --- tests/integration/Ctypes.spec.ts | 42 ++++++++++++++ tests/integration/PublicCredentials.spec.ts | 61 +++++++++++++++++++++ 2 files changed, 103 insertions(+) diff --git a/tests/integration/Ctypes.spec.ts b/tests/integration/Ctypes.spec.ts index 253a76ef8..8144e8258 100644 --- a/tests/integration/Ctypes.spec.ts +++ b/tests/integration/Ctypes.spec.ts @@ -88,6 +88,48 @@ describe('When there is an CtypeCreator and a verifier', () => { } }, 40_000) + it('should fetch a ctype created with dispatchAs', async () => { + if (typeof api.tx.did.dispatchAs !== 'function' || !hasBlockNumbers) { + console.warn('skipping dispatchAs tests') + return + } + + const minBalance = 10n ** 16n + + const assertionMethodKey = key.keypair.address + // assertionMethod keypair needs balance + if ( + ( + await api.query.system.account(assertionMethodKey) + ).data.free.toBigInt() < minBalance + ) { + console.log('sending funds to assertion method key account...') + const fundsTx = api.tx.balances.transfer(assertionMethodKey, minBalance) + await submitTx(fundsTx, paymentAccount) + console.log('sending funds completed') + } + + const cType = makeCType() + // nest ctype call for extra complexity + const storeTx = api.tx.utility.batchAll([ + api.tx.ctype.add(CType.toChain(cType)), + ]) + // authorize via dispatchAs + const authorizedStoreTx = api.tx.did.dispatchAs( + Did.toChain(ctypeCreator.uri), + storeTx + ) + // sign with assertionMethod keypair + await submitTx(authorizedStoreTx, key.keypair) + + const { cType: originalCtype, creator } = await CType.fetchFromChain( + cType.$id + ) + expect(originalCtype).toStrictEqual(cType) + expect(creator).toBe(ctypeCreator.uri) + await expect(CType.verifyStored(originalCtype)).resolves.not.toThrow() + }, 40_000) + it('should not be possible to create a claim type that exists', async () => { const cType = makeCType() const storeTx = api.tx.ctype.add(CType.toChain(cType)) diff --git a/tests/integration/PublicCredentials.spec.ts b/tests/integration/PublicCredentials.spec.ts index f28799855..e4d92d53f 100644 --- a/tests/integration/PublicCredentials.spec.ts +++ b/tests/integration/PublicCredentials.spec.ts @@ -264,6 +264,67 @@ describe('When there is an attester and ctype NFT name', () => { allAssetCredentialsBeforeRevocation.length - 1 ) }, 60_000) + + it('should fetch a credential created with dispatchAs', async () => { + if (typeof api.tx.did.dispatchAs !== 'function') { + console.warn('skipping dispatchAs tests') + return + } + + const minBalance = 10n ** 16n + + const assertionMethodKey = attesterKey.keypair.address + // assertionMethod keypair needs balance + if ( + ( + await api.query.system.account(assertionMethodKey) + ).data.free.toBigInt() < minBalance + ) { + console.log('sending funds to assertion method key account...') + const fundsTx = api.tx.balances.transfer(assertionMethodKey, minBalance) + await submitTx(fundsTx, tokenHolder) + console.log('sending funds completed') + } + + latestCredential = { + claims: { + name: `Certified NFT collection with id ${UUID.generate()}`, + }, + cTypeHash: CType.getHashForSchema(nftNameCType), + delegationId: null, + subject: assetId, + } + + // authorize via dispatchAs + const authorizedStoreTx = api.tx.did.dispatchAs( + Did.toChain(attester.uri), + api.tx.publicCredentials.add(PublicCredential.toChain(latestCredential)) + ) + // nest call for extra complexity + const nestedCall = api.tx.utility.batch([authorizedStoreTx]) + + // sign with assertionMethod keypair + await submitTx(nestedCall, attesterKey.keypair) + + const credentialId = PublicCredential.getIdForCredential( + latestCredential, + attester.uri + ) + + const completeCredential = await PublicCredential.fetchCredentialFromChain( + credentialId + ) + + // Verify that the retrieved credential matches the input one, plus the generated ID and the attester DID. + expect(completeCredential).toEqual( + expect.objectContaining({ + ...latestCredential, + id: credentialId, + attester: attester.uri, + revoked: false, + }) + ) + }, 40_000) }) describe('When there is an issued public credential', () => { From c5c044eae37be1cc258ea33d18337fee9f205dd5 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Wed, 7 Feb 2024 15:14:42 +0100 Subject: [PATCH 46/52] chore: bump to v 0.35.0-rc.2 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 19c436b7b..ed66d0f11 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,6 @@ "typedoc": "^0.23.0", "typescript": "^4.8.3" }, - "version": "0.34.0", + "version": "0.35.0-rc.2", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 7a0fdbbdd..724b3c795 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index d1c8e28e5..eafe9dc73 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "types": "./lib/index.d.ts", "type": "module", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index 780ecdcb0..a8e4f647a 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 5ae6f8ff2..5f6d8246e 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "type": "commonjs", "main": "./lib/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index ef755ec9a..f12fa11b2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index bcbf9d794..8ff6e1346 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index b586a3d65..5e725db97 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index f8ae4898c..8c7001cd4 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 41de4abad..0bac00668 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 312f91d2a..9a834475d 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 3759f261b..56c264265 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 60c8f6082..d86927ff4 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.34.0", + "version": "0.35.0-rc.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From f73e393d0b78e314071c525ee142ef6fcdaefed3 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 13 Feb 2024 19:00:23 +0100 Subject: [PATCH 47/52] chore: require @polkadot/api^10.7.3 --- packages/augment-api/package.json | 4 +-- packages/chain-helpers/package.json | 4 +-- packages/config/package.json | 2 +- packages/core/package.json | 4 +-- packages/did/package.json | 6 ++--- packages/types/package.json | 4 +-- packages/utils/package.json | 2 +- packages/vc-export/package.json | 4 +-- yarn.lock | 38 ++++++++++++++--------------- 9 files changed, 34 insertions(+), 34 deletions(-) diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index eafe9dc73..6dc492980 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -40,8 +40,8 @@ "bugs": "https://github.com/KILTprotocol/sdk-js/issues", "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "devDependencies": { - "@polkadot/api": "^10.4.0", - "@polkadot/typegen": "^10.4.0", + "@polkadot/api": "^10.7.3", + "@polkadot/typegen": "^10.7.3", "glob": "^7.1.1", "rimraf": "^3.0.2", "ts-node": "^10.4.0", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index a8e4f647a..b6fd0ce9e 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -38,7 +38,7 @@ "@kiltprotocol/config": "workspace:*", "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", - "@polkadot/api": "^10.4.0", - "@polkadot/types": "^10.4.0" + "@polkadot/api": "^10.7.3", + "@polkadot/types": "^10.7.3" } } diff --git a/packages/config/package.json b/packages/config/package.json index 5f6d8246e..59da3126f 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -37,7 +37,7 @@ }, "dependencies": { "@kiltprotocol/types": "workspace:*", - "@polkadot/api": "^10.4.0", + "@polkadot/api": "^10.7.3", "typescript-logging": "^1.0.0" } } diff --git a/packages/core/package.json b/packages/core/package.json index f12fa11b2..120cedcb3 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -44,9 +44,9 @@ "@kiltprotocol/type-definitions": "workspace:*", "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", - "@polkadot/api": "^10.4.0", + "@polkadot/api": "^10.7.3", "@polkadot/keyring": "^12.0.0", - "@polkadot/types": "^10.4.0", + "@polkadot/types": "^10.7.3", "@polkadot/util": "^12.0.0", "@polkadot/util-crypto": "^12.0.0" } diff --git a/packages/did/package.json b/packages/did/package.json index 8ff6e1346..371de39b5 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -38,10 +38,10 @@ "@kiltprotocol/config": "workspace:*", "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", - "@polkadot/api": "^10.4.0", + "@polkadot/api": "^10.7.3", "@polkadot/keyring": "^12.0.0", - "@polkadot/types": "^10.4.0", - "@polkadot/types-codec": "^10.4.0", + "@polkadot/types": "^10.7.3", + "@polkadot/types-codec": "^10.7.3", "@polkadot/util": "^12.0.0", "@polkadot/util-crypto": "^12.0.0" } diff --git a/packages/types/package.json b/packages/types/package.json index 9a834475d..28abbb0a5 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -30,9 +30,9 @@ "bugs": "https://github.com/KILTprotocol/sdk-js/issues", "homepage": "https://github.com/KILTprotocol/sdk-js#readme", "dependencies": { - "@polkadot/api": "^10.4.0", + "@polkadot/api": "^10.7.3", "@polkadot/keyring": "^12.0.0", - "@polkadot/types": "^10.4.0", + "@polkadot/types": "^10.7.3", "@polkadot/util": "^12.0.0", "@polkadot/util-crypto": "^12.0.0" }, diff --git a/packages/utils/package.json b/packages/utils/package.json index 56c264265..40cae6b28 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -35,7 +35,7 @@ }, "dependencies": { "@kiltprotocol/types": "workspace:*", - "@polkadot/api": "^10.4.0", + "@polkadot/api": "^10.7.3", "@polkadot/keyring": "^12.0.0", "@polkadot/util": "^12.0.0", "@polkadot/util-crypto": "^12.0.0", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index d86927ff4..5fe2adc75 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -40,8 +40,8 @@ "@kiltprotocol/did": "workspace:*", "@kiltprotocol/types": "workspace:*", "@kiltprotocol/utils": "workspace:*", - "@polkadot/api": "^10.4.0", - "@polkadot/types": "^10.4.0", + "@polkadot/api": "^10.7.3", + "@polkadot/types": "^10.7.3", "@polkadot/util": "^12.0.0", "@polkadot/util-crypto": "^12.0.0", "jsonld": "^2.0.2", diff --git a/yarn.lock b/yarn.lock index cb93862ab..edb6e4928 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1884,8 +1884,8 @@ __metadata: resolution: "@kiltprotocol/augment-api@workspace:packages/augment-api" dependencies: "@kiltprotocol/type-definitions": "workspace:*" - "@polkadot/api": ^10.4.0 - "@polkadot/typegen": ^10.4.0 + "@polkadot/api": ^10.7.3 + "@polkadot/typegen": ^10.7.3 glob: ^7.1.1 rimraf: ^3.0.2 ts-node: ^10.4.0 @@ -1901,9 +1901,9 @@ __metadata: "@kiltprotocol/config": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - "@polkadot/api": ^10.4.0 + "@polkadot/api": ^10.7.3 "@polkadot/keyring": ^12.0.0 - "@polkadot/types": ^10.4.0 + "@polkadot/types": ^10.7.3 rimraf: ^3.0.2 typescript: ^4.8.3 languageName: unknown @@ -1914,7 +1914,7 @@ __metadata: resolution: "@kiltprotocol/config@workspace:packages/config" dependencies: "@kiltprotocol/types": "workspace:*" - "@polkadot/api": ^10.4.0 + "@polkadot/api": ^10.7.3 rimraf: ^3.0.2 typescript: ^4.8.3 typescript-logging: ^1.0.0 @@ -1933,9 +1933,9 @@ __metadata: "@kiltprotocol/type-definitions": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - "@polkadot/api": ^10.4.0 + "@polkadot/api": ^10.7.3 "@polkadot/keyring": ^12.0.0 - "@polkadot/types": ^10.4.0 + "@polkadot/types": ^10.7.3 "@polkadot/util": ^12.0.0 "@polkadot/util-crypto": ^12.0.0 "@types/uuid": ^8.0.0 @@ -1953,10 +1953,10 @@ __metadata: "@kiltprotocol/config": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - "@polkadot/api": ^10.4.0 + "@polkadot/api": ^10.7.3 "@polkadot/keyring": ^12.0.0 - "@polkadot/types": ^10.4.0 - "@polkadot/types-codec": ^10.4.0 + "@polkadot/types": ^10.7.3 + "@polkadot/types-codec": ^10.7.3 "@polkadot/util": ^12.0.0 "@polkadot/util-crypto": ^12.0.0 rimraf: ^3.0.2 @@ -2010,9 +2010,9 @@ __metadata: version: 0.0.0-use.local resolution: "@kiltprotocol/types@workspace:packages/types" dependencies: - "@polkadot/api": ^10.4.0 + "@polkadot/api": ^10.7.3 "@polkadot/keyring": ^12.0.0 - "@polkadot/types": ^10.4.0 + "@polkadot/types": ^10.7.3 "@polkadot/util": ^12.0.0 "@polkadot/util-crypto": ^12.0.0 rimraf: ^3.0.2 @@ -2025,7 +2025,7 @@ __metadata: resolution: "@kiltprotocol/utils@workspace:packages/utils" dependencies: "@kiltprotocol/types": "workspace:*" - "@polkadot/api": ^10.4.0 + "@polkadot/api": ^10.7.3 "@polkadot/keyring": ^12.0.0 "@polkadot/util": ^12.0.0 "@polkadot/util-crypto": ^12.0.0 @@ -2046,8 +2046,8 @@ __metadata: "@kiltprotocol/did": "workspace:*" "@kiltprotocol/types": "workspace:*" "@kiltprotocol/utils": "workspace:*" - "@polkadot/api": ^10.4.0 - "@polkadot/types": ^10.4.0 + "@polkadot/api": ^10.7.3 + "@polkadot/types": ^10.7.3 "@polkadot/util": ^12.0.0 "@polkadot/util-crypto": ^12.0.0 "@types/jsonld": 1.5.1 @@ -2180,7 +2180,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/api@npm:10.7.3, @polkadot/api@npm:^10.4.0": +"@polkadot/api@npm:10.7.3, @polkadot/api@npm:^10.7.3": version: 10.7.3 resolution: "@polkadot/api@npm:10.7.3" dependencies: @@ -2281,7 +2281,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/typegen@npm:^10.4.0": +"@polkadot/typegen@npm:^10.7.3": version: 10.7.3 resolution: "@polkadot/typegen@npm:10.7.3" dependencies: @@ -2322,7 +2322,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/types-codec@npm:10.7.3, @polkadot/types-codec@npm:^10.4.0": +"@polkadot/types-codec@npm:10.7.3, @polkadot/types-codec@npm:^10.7.3": version: 10.7.3 resolution: "@polkadot/types-codec@npm:10.7.3" dependencies: @@ -2368,7 +2368,7 @@ __metadata: languageName: node linkType: hard -"@polkadot/types@npm:10.7.3, @polkadot/types@npm:^10.4.0": +"@polkadot/types@npm:10.7.3, @polkadot/types@npm:^10.7.3": version: 10.7.3 resolution: "@polkadot/types@npm:10.7.3" dependencies: From 958a0b79b2d0f0500f8e7a2966a21ce452063b01 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Tue, 13 Feb 2024 14:49:51 +0100 Subject: [PATCH 48/52] chore: set version 0.35.0 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index ed66d0f11..f93314050 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,6 @@ "typedoc": "^0.23.0", "typescript": "^4.8.3" }, - "version": "0.35.0-rc.2", + "version": "0.35.0", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 724b3c795..61581ef75 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index 6dc492980..c69b38c99 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "types": "./lib/index.d.ts", "type": "module", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index b6fd0ce9e..b7688dc16 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 59da3126f..7101997ae 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "type": "commonjs", "main": "./lib/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 120cedcb3..5e4f38643 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 371de39b5..e1d8b47e1 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index 5e725db97..c65cd26ad 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 8c7001cd4..4fa122d81 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 0bac00668..48e4991b5 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 28abbb0a5..4c4f903c5 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 40cae6b28..274aafada 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 5fe2adc75..c449d7c42 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.35.0-rc.2", + "version": "0.35.0", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From aafd5aef51bdc986ec993869b0db6611c0f83e8d Mon Sep 17 00:00:00 2001 From: Antonio Date: Thu, 2 May 2024 11:22:48 +0300 Subject: [PATCH 49/52] chore: release 0.35.1 (#863) * Add DIP types * Run type agumentation * Set version 0.35.1 * Fix type range * Fix service URL integration test * Add dipProvider pallet to authentication key type * Bump version to rc.2 * Set version to 0.35.1 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/metadata/spiritnet.json | 2 +- packages/augment-api/package.json | 2 +- .../src/interfaces/augment-api-consts.ts | 6 + .../src/interfaces/augment-api-errors.ts | 47 + .../src/interfaces/augment-api-events.ts | 22 +- .../src/interfaces/augment-api-query.ts | 19 +- .../src/interfaces/augment-api-runtime.ts | 9 +- .../src/interfaces/augment-api-tx.ts | 18 +- .../src/interfaces/augment-types.ts | 20 +- .../src/interfaces/extraDefs/definitions.ts | 3 +- .../src/interfaces/extraDefs/types.ts | 122 ++- packages/augment-api/src/interfaces/lookup.ts | 807 ++++++++++-------- .../augment-api/src/interfaces/registry.ts | 11 +- .../src/interfaces/types-lookup.ts | 682 ++++++++------- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/did/src/DidDetails/FullDidDetails.ts | 1 + packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/type-definitions/src/index.ts | 18 +- .../src/runtime/dipProvider.ts | 29 + packages/type-definitions/src/types_11200.ts | 87 ++ packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- tests/integration/Did.spec.ts | 3 +- 31 files changed, 1262 insertions(+), 670 deletions(-) create mode 100644 packages/type-definitions/src/runtime/dipProvider.ts create mode 100644 packages/type-definitions/src/types_11200.ts diff --git a/package.json b/package.json index f93314050..2f1243e28 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,6 @@ "typedoc": "^0.23.0", "typescript": "^4.8.3" }, - "version": "0.35.0", + "version": "0.35.1", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 61581ef75..049620066 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.35.0", + "version": "0.35.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/metadata/spiritnet.json b/packages/augment-api/metadata/spiritnet.json index 111c53b6f..8f8957697 100644 --- a/packages/augment-api/metadata/spiritnet.json +++ b/packages/augment-api/metadata/spiritnet.json @@ -1 +1 @@ -{"result":"0x6d6574610e7508000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f08144e6f6e636501102c4163636f756e74446174610114001401146e6f6e63651001144e6f6e6365000124636f6e73756d657273200120526566436f756e7400012470726f766964657273200120526566436f756e7400012c73756666696369656e7473200120526566436f756e740001106461746114012c4163636f756e74446174610000100000050600140c3c70616c6c65745f62616c616e6365731474797065732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500011866726f7a656e18011c42616c616e6365000114666c6167731c01284578747261466c61677300001800000507001c0c3c70616c6c65745f62616c616e636573147479706573284578747261466c61677300000400180110753132380000200000050500240c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540128000c01186e6f726d616c2801045400012c6f7065726174696f6e616c280104540001246d616e6461746f7279280104540000280c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d652c010c75363400012870726f6f665f73697a652c010c75363400002c000006100030083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d000034000002080038102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f67733c013c5665633c4469676573744974656d3e00003c000002400040102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e00060024436f6e73656e7375730800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e000400105365616c0800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e000500144f74686572040034011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e74557064617465640008000044000003040000000800480000024c004c08306672616d655f73797374656d2c4576656e745265636f7264080445015004540130000c01147068617365c502011450686173650001146576656e7450010445000118746f70696373b10101185665633c543e00005008447370697269746e65745f72756e74696d653052756e74696d654576656e740001801853797374656d04005401706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c496e6469636573040078017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e0005002042616c616e63657304007c017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404008401a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c53657373696f6e040088015470616c6c65745f73657373696f6e3a3a4576656e740016004050617261636861696e5374616b696e6704008c018470617261636861696e5f7374616b696e673a3a4576656e743c52756e74696d653e0015002444656d6f6372616379040094018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e001e001c436f756e63696c0400a801fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400b801fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020004c546563686e6963616c4d656d626572736869700400bc01fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365313e0022002054726561737572790400c0017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e0023001c5574696c6974790400c4015470616c6c65745f7574696c6974793a3a4576656e740028001c56657374696e670400c8017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e002900245363686564756c65720400cc018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e002a001450726f78790400d8017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002b0020507265696d6167650400e4017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e002c0038546970734d656d626572736869700400e801fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365323e002d0010546970730400ec016c70616c6c65745f746970733a3a4576656e743c52756e74696d653e002e00204d756c74697369670400f0017c70616c6c65745f6d756c74697369673a3a4576656e743c52756e74696d653e002f001443747970650400f8015463747970653a3a4576656e743c52756e74696d653e003d002c4174746573746174696f6e0400fc016c6174746573746174696f6e3a3a4576656e743c52756e74696d653e003e002844656c65676174696f6e04000901016864656c65676174696f6e3a3a4576656e743c52756e74696d653e003f000c44696404001101014c6469643a3a4576656e743c52756e74696d653e004000244469644c6f6f6b757004001501018470616c6c65745f6469645f6c6f6f6b75703a3a4576656e743c52756e74696d653e00430024576562334e616d657304002501018470616c6c65745f776562335f6e616d65733a3a4576656e743c52756e74696d653e004400445075626c696343726564656e7469616c730400310101887075626c69635f63726564656e7469616c733a3a4576656e743c52756e74696d653e004500244d6967726174696f6e0400a101018070616c6c65745f6d6967726174696f6e3a3a4576656e743c52756e74696d653e0046003c50617261636861696e53797374656d0400d90101bc63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e0050002458636d7051756575650400dd0101a463756d756c75735f70616c6c65745f78636d705f71756575653a3a4576656e743c52756e74696d653e0052002c506f6c6b61646f7458636d0400e901016870616c6c65745f78636d3a3a4576656e743c52756e74696d653e0053002843756d756c757358636d0400bd02018863756d756c75735f70616c6c65745f78636d3a3a4576656e743c52756e74696d653e00540020446d7051756575650400c10201a063756d756c75735f70616c6c65745f646d705f71756575653a3a4576656e743c52756e74696d653e00550000540c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5801304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7264013444697370617463684572726f7200013464697370617463685f696e666f5801304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e7449640001106861736830011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e580c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874280118576569676874000114636c6173735c01344469737061746368436c617373000120706179735f6665656001105061797300005c0c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f727900020000600c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000064082873705f72756e74696d653444697370617463684572726f72000138144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040068012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e04006c0128546f6b656e4572726f720007002841726974686d65746963040070013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007401485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c0038526f6f744e6f74416c6c6f776564000d000068082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7244018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d00006c082873705f72756e74696d6528546f6b656e4572726f720001284046756e6473556e617661696c61626c65000000304f6e6c7950726f76696465720001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f727465640006004043616e6e6f74437265617465486f6c64000700344e6f74457870656e6461626c650008001c426c6f636b65640009000070083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000074082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000780c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e047c54686520604576656e746020656e756d206f6620746869732070616c6c65747c0c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001541c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e636553657408010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475738001185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e184d696e74656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000a049c536f6d6520616d6f756e7420776173206d696e74656420696e746f20616e206163636f756e742e184275726e656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000b049c536f6d6520616d6f756e7420776173206275726e65642066726f6d20616e206163636f756e742e2453757370656e64656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000c041501536f6d6520616d6f756e74207761732073757370656e6465642066726f6d20616e206163636f756e74202869742063616e20626520726573746f726564206c61746572292e20526573746f72656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000d04a4536f6d6520616d6f756e742077617320726573746f72656420696e746f20616e206163636f756e742e20557067726164656404010c77686f000130543a3a4163636f756e744964000e0460416e206163636f756e74207761732075706772616465642e18497373756564040118616d6f756e74180128543a3a42616c616e6365000f042d01546f74616c2069737375616e63652077617320696e637265617365642062792060616d6f756e74602c206372656174696e6720612063726564697420746f2062652062616c616e6365642e2452657363696e646564040118616d6f756e74180128543a3a42616c616e63650010042501546f74616c2069737375616e636520776173206465637265617365642062792060616d6f756e74602c206372656174696e672061206465627420746f2062652062616c616e6365642e184c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500110460536f6d652062616c616e636520776173206c6f636b65642e20556e6c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500120468536f6d652062616c616e63652077617320756e6c6f636b65642e1846726f7a656e08010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500130460536f6d652062616c616e6365207761732066726f7a656e2e1854686177656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500140460536f6d652062616c616e636520776173207468617765642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65748014346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e6365537461747573000108104672656500000020526573657276656400010000840c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574880c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e64657820013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e047c54686520604576656e746020656e756d206f6620746869732070616c6c65748c0c4470617261636861696e5f7374616b696e671870616c6c6574144576656e74040454000154204e6577526f756e640800100144426c6f636b4e756d626572466f723c543e000020013053657373696f6e496e6465780000088041206e6577207374616b696e6720726f756e642068617320737461727465642e785c5b626c6f636b206e756d6265722c20726f756e64206e756d6265725c5d50456e7465726564546f7043616e646964617465730400000130543a3a4163636f756e744964000108cc41206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d444c656674546f7043616e646964617465730400000130543a3a4163636f756e744964000208d8416e206163636f756e74207761732072656d6f7665642066726f6d2074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d604a6f696e6564436f6c6c61746f7243616e646964617465730800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000308e041206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620636f6c6c61746f722063616e646964617465732ebc5c5b6163636f756e742c20616d6f756e74207374616b656420627920746865206e65772063616e6469646174655c5d48436f6c6c61746f725374616b65644d6f72650c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00040801014120636f6c6c61746f722063616e6469646174652068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d48436f6c6c61746f725374616b65644c6573730c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00050801014120636f6c6c61746f722063616e64696461746520686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d54436f6c6c61746f725363686564756c6564457869740c0020013053657373696f6e496e6465780000000130543a3a4163636f756e744964000020013053657373696f6e496e64657800061001014120636f6c6c61746f722063616e646964617465206861732073746172746564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e646964617465732e205c5b726f756e64206e756d6265722c20636f6c6c61746f722773206163636f756e742c20726f756e64206e756d626572207768656ee074686520636f6c6c61746f722077696c6c206265206566666563746976656c792072656d6f7665642066726f6d2074686520736574206f663063616e646964617465735c5d50436f6c6c61746f7243616e63656c6564457869740400000130543a3a4163636f756e74496400070c05014120636f6c6c61746f722063616e646964617465206861732063616e63656c6564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e6469646174657320616e6420776173206164646564206261636b20746f207468652063616e64696461746520706f6f6c2e205c5b636f6c6c61746f722773246163636f756e745c5d3443616e6469646174654c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000808cc416e206163636f756e7420686173206c6566742074686520736574206f6620636f6c6c61746f722063616e646964617465732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d3c436f6c6c61746f7252656d6f7665640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000908e4416e206163636f756e742077617320666f726365646c792072656d6f7665642066726f6d207468652020736574206f6620636f6c6c61746f72c863616e646964617465732e205c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d604d617843616e6469646174655374616b654368616e676564040018013042616c616e63654f663c543e000a08b4546865206d6178696d756d2063616e646964617465207374616b6520686173206265656e206368616e6765642e485c5b6e6577206d617820616d6f756e745c5d4c44656c656761746f725374616b65644d6f72651000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000b0cf0412064656c656761746f722068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d4c44656c656761746f725374616b65644c6573731000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000c0cf0412064656c656761746f7220686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d3444656c656761746f724c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000d08a8416e206163636f756e7420686173206c6566742074686520736574206f662064656c656761746f72732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d2844656c65676174696f6e1000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000e0cc8416e206163636f756e74206861732064656c6567617465642061206e657720636f6c6c61746f722063616e6469646174652e11015c5b6163636f756e742c20616d6f756e74206f662066756e6473207374616b65642c20746f74616c20616d6f756e74206f662064656c656761746f7273272066756e64738c7374616b656420666f722074686520636f6c6c61746f722063616e6469646174655c5d4844656c65676174696f6e5265706c616365641800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000f180d0141206e65772064656c65676174696f6e20686173207265706c6163656420616e206578697374696e67206f6e6520696e2074686520736574206f66206f6e676f696e67010164656c65676174696f6e7320666f72206120636f6c6c61746f722063616e6469646174652e205c5b6e65772064656c656761746f722773206163636f756e742c0901616d6f756e74206f662066756e6473207374616b656420696e20746865206e65772064656c65676174696f6e2c207265706c616365642064656c656761746f7227730d016163636f756e742c20616d6f756e74206f662066756e6473207374616b656420696e20746865207265706c6163652064656c65676174696f6e2c20636f6c6c61746f72050163616e6469646174652773206163636f756e742c206e657720746f74616c20616d6f756e74206f662064656c656761746f7273272066756e6473207374616b656470666f722074686520636f6c6c61746f722063616e6469646174655c5d5444656c656761746f724c656674436f6c6c61746f721000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00100cdc416e206163636f756e74206861732073746f707065642064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e09015c5b6163636f756e742c20636f6c6c61746f722063616e6469646174652773206163636f756e742c206f6c6420616d6f756e74206f662064656c656761746f727327d866756e6473207374616b65642c206e657720616d6f756e74206f662064656c656761746f7273272066756e6473207374616b65645c5d2052657761726465640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e001108c04120636f6c6c61746f72206f7220612064656c656761746f72206861732072656365697665642061207265776172642e745c5b6163636f756e742c20616d6f756e74206f66207265776172645c5d44526f756e64496e666c6174696f6e536574100090012c5065727175696e74696c6c000090012c5065727175696e74696c6c000090012c5065727175696e74696c6c000090012c5065727175696e74696c6c00120c0501496e666c6174696f6e20636f6e66696775726174696f6e20666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e09015c5b6d6178696d756d20636f6c6c61746f722773207374616b696e6720726174652c206d6178696d756d20636f6c6c61746f7227732072657761726420726174652c0d016d6178696d756d2064656c656761746f722773207374616b696e6720726174652c206d6178696d756d2064656c656761746f7227732072657761726420726174655c5d604d617853656c656374656443616e64696461746573536574080020010c753332000020010c753332001308f0546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c656374656420696e20667574757265dc76616c69646174696f6e20726f756e647320686173206368616e6765642e205c5b6f6c642076616c75652c206e65772076616c75655c5d44426c6f636b73506572526f756e64536574100020013053657373696f6e496e6465780000100144426c6f636b4e756d626572466f723c543e0000100144426c6f636b4e756d626572466f723c543e0000100144426c6f636b4e756d626572466f723c543e00140cf8546865206c656e67746820696e20626c6f636b7320666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e01015c5b726f756e64206e756d6265722c20666972737420626c6f636b20696e207468652063757272656e7420726f756e642c206f6c642076616c75652c206e65771c76616c75655c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574900c3473705f61726974686d65746963287065725f7468696e67732c5065727175696e74696c6c0000040010010c7536340000940c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001442050726f706f73656408013870726f706f73616c5f696e64657820012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c656408013870726f706f73616c5f696e64657820012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e64657820013c5265666572656e64756d496e6465780001247468726573686f6c64980134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e64657820013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e64657820013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e64657820013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000704dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000804e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f6861736830011048323536000114756e74696c100144426c6f636b4e756d626572466f723c543e00090494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e2c426c61636b6c697374656404013470726f706f73616c5f6861736830011048323536000a04c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e64657820013c5265666572656e64756d496e646578000110766f74659c01644163636f756e74566f74653c42616c616e63654f663c543e3e000b0490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e64657820012450726f70496e646578000c048c416e206163636f756e742068617320736563636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e64657820012450726f70496e646578000d0460412070726f706f73616c20676f742063616e63656c65642e2c4d657461646174615365740801146f776e6572a401344d657461646174614f776e6572043c4d65746164617461206f776e65722e011068617368300130507265696d616765486173680438507265696d61676520686173682e0e04d44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e207365742e3c4d65746164617461436c65617265640801146f776e6572a401344d657461646174614f776e6572043c4d65746164617461206f776e65722e011068617368300130507265696d616765486173680438507265696d61676520686173682e0f04e44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e20636c65617265642e4c4d657461646174615472616e736665727265640c0128707265765f6f776e6572a401344d657461646174614f776e6572046050726576696f7573206d65746164617461206f776e65722e01146f776e6572a401344d657461646174614f776e6572044c4e6577206d65746164617461206f776e65722e011068617368300130507265696d616765486173680438507265696d61676520686173682e1004ac4d6574616461746120686173206265656e207472616e7366657272656420746f206e6577206f776e65722e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574980c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f72697479000200009c0c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f7465a00110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e636500010000a00c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000a40c4070616c6c65745f64656d6f6372616379147479706573344d657461646174614f776e657200010c2045787465726e616c0000002050726f706f73616c040020012450726f70496e646578000100285265666572656e64756d040020013c5265666572656e64756d496e64657800020000a80c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e64657820013450726f706f73616c496e64657800013470726f706f73616c5f6861736830011c543a3a486173680001247468726573686f6c6420012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f6861736830011c543a3a48617368000114766f746564ac0110626f6f6c00010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f6861736830011c543a3a4861736800010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574ac0000050000b00418526573756c7408045401b4044501640108084f6b0400b4000000000c4572720400640000010000b40000040000b80c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e64657820013450726f706f73616c496e64657800013470726f706f73616c5f6861736830011c543a3a486173680001247468726573686f6c6420012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f6861736830011c543a3a48617368000114766f746564ac0110626f6f6c00010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f6861736830011c543a3a4861736800010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574bc0c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c00c3c70616c6c65745f74726561737572791870616c6c6574144576656e740804540004490001242050726f706f73656404013870726f706f73616c5f696e64657820013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e64657820013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e64657820013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e64657820013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640007049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000804cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c40c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e64657820010c7533320001146572726f7264013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7264013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c74b001384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c80c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574cc0c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000118245363686564756c65640801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657820010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657820010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e000118726573756c74b001384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e00030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e0004043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e545065726d616e656e746c794f7665727765696768740801107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e000504f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652ed000000408102000d404184f7074696f6e04045401040108104e6f6e6500000010536f6d650400040000010000d80c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c74b001384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065dc0130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578e0010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f6861736830013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00040450412070726f7879207761732072656d6f7665642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574dc08447370697269746e65745f72756e74696d652450726f7879547970650001180c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002004050617261636861696e5374616b696e670003002c43616e63656c50726f7879000400484e6f6e4465706f736974436c61696d696e6700050000e00000050400e40c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f7465640401106861736830011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e245265717565737465640401106861736830011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c65617265640401106861736830011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e80c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574ec0c2c70616c6c65745f746970731870616c6c6574144576656e74080454000449000114184e65775469700401207469705f6861736830011c543a3a486173680000049441206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e670401207469705f6861736830011c543a3a48617368000104d841207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c01207469705f6861736830011c543a3a4861736800010c77686f000130543a3a4163636f756e7449640001187061796f757418013c42616c616e63654f663c542c20493e0002048441207469702073756767657374696f6e20686173206265656e20636c6f7365642e305469705265747261637465640401207469705f6861736830011c543a3a486173680003049041207469702073756767657374696f6e20686173206265656e207265747261637465642e28546970536c61736865640c01207469705f6861736830011c543a3a4861736800011866696e646572000130543a3a4163636f756e74496400011c6465706f73697418013c42616c616e63654f663c542c20493e0004048841207469702073756767657374696f6e20686173206265656e20736c61736865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f00c3c70616c6c65745f6d756c74697369671870616c6c6574144576656e740404540001102c4e65774d756c74697369670c0124617070726f76696e67000130543a3a4163636f756e7449640001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c486173680000048c41206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e404d756c7469736967417070726f76616c100124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000104c841206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e404d756c74697369674578656375746564140124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000118726573756c74b001384469737061746368526573756c740002049c41206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e444d756c746973696743616e63656c6c656410012863616e63656c6c696e67000130543a3a4163636f756e74496400012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000304a041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f4083c70616c6c65745f6d756c74697369672454696d65706f696e74042c426c6f636b4e756d62657201100008011868656967687410012c426c6f636b4e756d626572000114696e64657820010c7533320000f80c1463747970651870616c6c6574144576656e74040454000108304354797065437265617465640800000144437479706543726561746f724f663c543e00003001384374797065486173684f663c543e0000087441206e657720435479706520686173206265656e20637265617465642e885c5b63726561746f72206964656e7469666965722c20435479706520686173685c5d3043547970655570646174656404003001384374797065486173684f663c543e000108ac496e666f726d6174696f6e2061626f7574206120435479706520686173206265656e20757064617465642e385c5b435479706520686173685c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574fc0c2c6174746573746174696f6e1870616c6c6574144576656e74040454000110484174746573746174696f6e43726561746564100000013441747465737465724f663c543e0000300138436c61696d486173684f663c543e00003001384374797065486173684f663c543e0000010101704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e0000088c41206e6577206174746573746174696f6e20686173206265656e20637265617465642e05015c5b61747465737465722049442c20636c61696d20686173682c20435479706520686173682c20286f7074696f6e616c292064656c65676174696f6e2049445c5d484174746573746174696f6e5265766f6b6564080000013441747465737465724f663c543e0000300138436c61696d486173684f663c543e00010880416e206174746573746174696f6e20686173206265656e207265766f6b65642e685c5b6163636f756e742069642c20636c61696d20686173685c5d484174746573746174696f6e52656d6f766564080000013441747465737465724f663c543e0000300138436c61696d486173684f663c543e00020880416e206174746573746174696f6e20686173206265656e2072656d6f7665642e685c5b6163636f756e742069642c20636c61696d20686173685c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e0000300138436c61696d486173684f663c543e0003080501546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e2e685c5b6163636f756e742069642c20636c61696d20686173685c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574010104184f7074696f6e0404540105010108104e6f6e6500000010536f6d6504000501000001000005010c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c417574686f72697a6174696f6e4964043044656c65676174696f6e4964013001042844656c65676174696f6e040030013044656c65676174696f6e49640000000009010c2864656c65676174696f6e1870616c6c6574144576656e7404045400011c40486965726172636879437265617465640c0000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00003001384374797065486173684f663c543e0000088441206e65772068696572617263687920686173206265656e20637265617465642ea05c5b63726561746f722049442c20726f6f74206e6f64652049442c20435459504520686173685c5d404869657261726368795265766f6b6564080000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00010874412068696572617263687920686173206265656e207265766f6b65642e705c5b7265766f6b65722049442c20726f6f74206e6f64652049445c5d4048696572617263687952656d6f766564080000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000208dc412068696572617263687920686173206265656e2072656d6f7665642066726f6d207468652073746f72616765206f6e20636861696e2e705c5b72656d6f7665722049442c20726f6f74206e6f64652049445c5d4444656c65676174696f6e43726561746564180000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000000014044656c656761746f7249644f663c543e00000d01012c5065726d697373696f6e7300030c8841206e65772064656c65676174696f6e20686173206265656e20637265617465642efc5c5b63726561746f722049442c20726f6f74206e6f64652049442c2064656c65676174696f6e206e6f64652049442c20706172656e74206e6f64652049442c6864656c65676174652049442c207065726d697373696f6e735c5d4444656c65676174696f6e5265766f6b6564080000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00040878412064656c65676174696f6e20686173206265656e207265766f6b65642e885c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d4444656c65676174696f6e52656d6f76656408000001384163636f756e7449644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00050878412064656c65676174696f6e20686173206265656e2072656d6f7665642e885c5b72656d6f7665722049442c2064656c65676174696f6e206e6f64652049445c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000608f8546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720612064656c65676174696f6eac737562747265652e205c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c65740d010c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368792c5065726d697373696f6e7300000401106269747320010c753332000011010c0c6469641870616c6c6574144576656e74040454000110284469644372656174656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e0000086c41206e65772044494420686173206265656e20637265617465642e985c5b7472616e73616374696f6e207369676e65722c20444944206964656e7469666965725c5d284469645570646174656404000001484469644964656e7469666965724f663c543e0001085c412044494420686173206265656e20757064617465642e485c5b444944206964656e7469666965725c5d2844696444656c6574656404000001484469644964656e7469666965724f663c543e0002085c412044494420686173206265656e2064656c657465642e485c5b444944206964656e7469666965725c5d4444696443616c6c4469737061746368656408000001484469644964656e7469666965724f663c543e0000b001384469737061746368526573756c74000308a041204449442d617574686f72697365642063616c6c20686173206265656e2065786563757465642e7c5c5b4449442063616c6c65722c20646973706174636820726573756c745c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c657415010c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144576656e74040454000110584173736f63696174696f6e45737461626c69736865640800190101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000004f841206e6577206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e742049442077617320637265617465642e484173736f63696174696f6e52656d6f7665640800190101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000104ec416e206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e74204944207761732072656d6f7665642e444d6967726174696f6e50726f6772657373000204c454686572652077617320736f6d652070726f677265737320696e20746865206d6967726174696f6e2070726f636573732e484d6967726174696f6e436f6d706c65746564000304dc416c6c204163636f756e744964732068617665206265656e206d6967726174656420746f204c696e6b61626c654163636f756e7449642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657419010c4470616c6c65745f6469645f6c6f6f6b7570406c696e6b61626c655f6163636f756e74444c696e6b61626c654163636f756e7449640001082c4163636f756e744964323004001d01012c4163636f756e74496432300000002c4163636f756e7449643332040000012c4163636f756e7449643332000100001d010c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e742c4163636f756e744964323000000400210101205b75383b2032305d0000210100000314000000080025010c4470616c6c65745f776562335f6e616d65731870616c6c6574144576656e740404540001103c576562334e616d65436c61696d65640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6529010134576562334e616d654f663c543e0000047041206e6577206e616d6520686173206265656e20636c61696d65642e40576562334e616d6552656c65617365640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6529010134576562334e616d654f663c543e0001046441206e616d6520686173206265656e2072656c65617365642e38576562334e616d6542616e6e65640401106e616d6529010134576562334e616d654f663c543e0002045c41206e616d6520686173206265656e2062616e6e65642e40576562334e616d65556e62616e6e65640401106e616d6529010134576562334e616d654f663c543e0003046441206e616d6520686173206265656e20756e62616e6e65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657429010c4470616c6c65745f776562335f6e616d657324776562335f6e616d65344173636969576562334e616d65040454000004002d010180426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e00002d010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000031010c487075626c69635f63726564656e7469616c731870616c6c6574144576656e740404540001104043726564656e7469616c53746f7265640801287375626a6563745f696435010130543a3a5375626a65637449640488546865207375626a656374206f6620746865206e65772063726564656e7469616c2e013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0474546865206964206f6620746865206e65772063726564656e7469616c2e0004a041206e6577207075626c69632063726564656e7469616c20686173206265656e206973737565642e4443726564656e7469616c52656d6f7665640801287375626a6563745f696435010130543a3a5375626a65637449640498546865207375626a656374206f66207468652072656d6f7665642063726564656e7469616c2e013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0484546865206964206f66207468652072656d6f7665642063726564656e7469616c2e01049841207075626c69632063726564656e7469616c7320686173206265656e2072656d6f7665642e4443726564656e7469616c5265766f6b656404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0484546865206964206f6620746865207265766f6b65642063726564656e7469616c2e02049441207075626c69632063726564656e7469616c20686173206265656e207265766f6b65642e4c43726564656e7469616c556e7265766f6b656404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e048c546865206964206f662074686520756e7265766f6b65642063726564656e7469616c2e03049c41207075626c69632063726564656e7469616c20686173206265656e20756e7265766f6b65642e0490546865206576656e74732067656e65726174656420627920746869732070616c6c65742e35010c3872756e74696d655f636f6d6d6f6e18617373657473204173736574446964000004003901013c41737365744964656e746966696572000039010c3c6b696c745f61737365745f646964730876312041737365744469640000080120636861696e5f69643d01011c436861696e496400012061737365745f69646501011c4173736574496400003d01103c6b696c745f61737365745f6469647314636861696e0876311c436861696e49640001141845697031353504004101013c4569703135355265666572656e63650000001842697031323204004501016447656e657369734865784861736833325265666572656e63650001001c446f7473616d6104004501016447656e657369734865784861736833325265666572656e636500020018536f6c616e6104004d01017047656e657369734261736535384861736833325265666572656e63650003001c47656e6572696304005501013847656e65726963436861696e4964000400004101103c6b696c745f61737365745f6469647314636861696e0876313c4569703135355265666572656e6365000004001801107531323800004501103c6b696c745f61737365745f6469647314636861696e0876316447656e657369734865784861736833325265666572656e636500000400490101205b75383b2031365d000049010000031000000008004d01103c6b696c745f61737365745f6469647314636861696e0876317047656e657369734261736535384861736833325265666572656e63650000040051010170426f756e6465645665633c75382c20436f6e73745533323c33323e3e000051010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00005501103c6b696c745f61737365745f6469647314636861696e0876313847656e65726963436861696e496400000801246e616d6573706163655901015447656e65726963436861696e4e616d6573706163650001247265666572656e63656101015447656e65726963436861696e5265666572656e636500005901103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e4e616d657370616365000004005d0101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f434841494e5f4e414d4553504143455f4c454e4754485f5533323e3e00005d010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00006101103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e5265666572656e636500000400510101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f434841494e5f5245464552454e43455f4c454e4754485f5533323e3e00006501103c6b696c745f61737365745f646964731461737365740876311c4173736574496400011418536c6970343404006901013c536c697034345265666572656e636500000014457263323004007501018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650001001845726337323104007901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650002001c4572633131353504007901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650003001c47656e6572696304008901013847656e6572696341737365744964000400006901103c6b696c745f61737365745f646964731461737365740876313c536c697034345265666572656e6365000004006d0101105532353600006d01083c7072696d69746976655f7479706573105532353600000400710101205b7536343b20345d000071010000030400000010007501103c6b696c745f61737365745f646964731461737365740876318445766d536d617274436f6e747261637446756e6769626c655265666572656e636500000400210101205b75383b2032305d00007901103c6b696c745f61737365745f646964731461737365740876319045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e6365000008007501018445766d536d617274436f6e747261637446756e6769626c655265666572656e636500007d0101b44f7074696f6e3c45766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e7469666965723e00007d0104184f7074696f6e0404540181010108104e6f6e6500000010536f6d650400810100000100008101103c6b696c745f61737365745f646964731461737365740876319445766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e74696669657200000400850101f4426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4944454e5449464945525f4c454e4754485f5533323e3e000085010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00008901103c6b696c745f61737365745f646964731461737365740876313847656e657269634173736574496400000c01246e616d6573706163658d01015447656e6572696341737365744e616d6573706163650001247265666572656e63659101015447656e6572696341737365745265666572656e63650001086964990101784f7074696f6e3c47656e6572696341737365744964656e7469666965723e00008d01103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365744e616d657370616365000004005d0101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4e414d4553504143455f4c454e4754485f5533323e3e00009101103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365745265666572656e636500000400950101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f5245464552454e43455f4c454e4754485f5533323e3e000095010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000990104184f7074696f6e040454019d010108104e6f6e6500000010536f6d6504009d0100000100009d01103c6b696c745f61737365745f646964731461737365740876315847656e6572696341737365744964656e74696669657200000400850101f4426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4944454e5449464945525f4c454e4754485f5533323e3e0000a1010c4070616c6c65745f6d6967726174696f6e1870616c6c6574144576656e7404045400010438456e7472696573557064617465640400a501014c456e7472696573546f4d6967726174653c543e000000047c54686520604576656e746020656e756d206f6620746869732070616c6c6574a5010c4070616c6c65745f6d6967726174696f6e1870616c6c657440456e7472696573546f4d69677261746504045401a9010018012c6174746573746174696f6ead01010101426f756e6465645665633c436c61696d486173684f663c543e2c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65743e00012864656c65676174696f6ead01012101426f756e6465645665633c44656c65676174696f6e4e6f646549644f663c543e2c3c5420617320436f6e6669673e3a3a0a4d61784d6967726174696f6e7350657250616c6c65743e00010c646964b501011501426f756e6465645665633c4469644964656e7469666965724f663c543e2c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65740a3e0001186c6f6f6b7570bd01010d01426f756e6465645665633c4c696e6b61626c654163636f756e7449642c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65743e00010c77336ec50101fc426f756e6465645665633c576562334e616d654f663c543e2c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65743e0001487075626c69635f63726564656e7469616c73cd01015901426f756e6465645665633c285375626a65637449644f663c543e2c2043726564656e7469616c49644f663c543e292c3c5420617320436f6e6669673e3a3a0a4d61784d6967726174696f6e7350657250616c6c65743e0000a90108447370697269746e65745f72756e74696d651c52756e74696d6500000000ad010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540130045300000400b10101185665633c543e0000b1010000023000b5010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e0000b9010000020000bd010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011901045300000400c10101185665633c543e0000c101000002190100c5010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012901045300000400c90101185665633c543e0000c901000002290100cd010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d101045300000400d50101185665633c543e0000d1010000040835013000d501000002d10100d9010c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144576656e7404045400011c6056616c69646174696f6e46756e6374696f6e53746f726564000004d05468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e6456616c69646174696f6e46756e6374696f6e4170706c69656404015472656c61795f636861696e5f626c6f636b5f6e756d20015452656c6179436861696e426c6f636b4e756d62657200010445015468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e6c56616c69646174696f6e46756e6374696f6e446973636172646564000204b05468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e4455706772616465417574686f72697a6564040124636f64655f6861736830011c543a3a486173680003047c416e207570677261646520686173206265656e20617574686f72697a65642e60446f776e776172644d657373616765735265636569766564040114636f756e7420010c7533320004040101536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e64446f776e776172644d6573736167657350726f63657373656408012c7765696768745f75736564280118576569676874000120646d715f6865616430014472656c61795f636861696e3a3a48617368000504e0446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e445570776172644d65737361676553656e740401306d6573736167655f68617368d4013c4f7074696f6e3c58636d486173683e000604b8416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574dd010c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144576656e7404045400011c1c537563636573730c01306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d4861736800011877656967687428011857656967687400000464536f6d652058434d20776173206578656375746564206f6b2e104661696c1001306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d486173680001146572726f72e101012058636d4572726f7200011877656967687428011857656967687400010440536f6d652058434d206661696c65642e2842616456657273696f6e0401306d6573736167655f6861736804011c58636d48617368000204544261642058434d2076657273696f6e20757365642e24426164466f726d61740401306d6573736167655f6861736804011c58636d48617368000304504261642058434d20666f726d617420757365642e3c58636d704d65737361676553656e740401306d6573736167655f6861736804011c58636d48617368000404c0416e2048524d50206d657373616765207761732073656e7420746f2061207369626c696e672070617261636861696e2e484f766572776569676874456e71756575656410011873656e646572e501011850617261496400011c73656e745f617420014052656c6179426c6f636b4e756d626572000114696e64657810013c4f766572776569676874496e6465780001207265717569726564280118576569676874000504d4416e2058434d2065786365656465642074686520696e646976696475616c206d65737361676520776569676874206275646765742e484f7665727765696768745365727669636564080114696e64657810013c4f766572776569676874496e646578000110757365642801185765696768740006044101416e2058434d2066726f6d20746865206f7665727765696768742071756575652077617320657865637574656420776974682074686520676976656e2061637475616c2077656967687420757365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e101100c78636d08763318747261697473144572726f720001a0204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300304c6f636174696f6e46756c6c000400544c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c753634001500404578706563746174696f6e46616c73650016003850616c6c65744e6f74466f756e64001700304e616d654d69736d617463680018004c56657273696f6e496e636f6d70617469626c6500190050486f6c64696e67576f756c644f766572666c6f77001a002c4578706f72744572726f72001b00385265616e63686f724661696c6564001c00184e6f4465616c001d0028466565734e6f744d6574001e00244c6f636b4572726f72001f00304e6f5065726d697373696f6e00200028556e616e63686f726564002100384e6f744465706f73697461626c650022004c556e68616e646c656458636d56657273696f6e002300485765696768744c696d69745265616368656404002801185765696768740024001c426172726965720025004c5765696768744e6f74436f6d70757461626c650026004445786365656473537461636b4c696d697400270000e5010c48706f6c6b61646f745f70617261636861696e287072696d6974697665730849640000040020010c7533320000e9010c2870616c6c65745f78636d1870616c6c6574144576656e7404045400015c24417474656d7074656404011c6f7574636f6d65ed01015078636d3a3a6c61746573743a3a4f7574636f6d65000004a8457865637574696f6e206f6620616e2058434d206d6573736167652077617320617474656d707465642e1053656e741001186f726967696ef10101344d756c74694c6f636174696f6e00012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e00011c6d6573736167651502011c58636d3c28293e0001286d6573736167655f696404011c58636d486173680001045c412058434d206d657373616765207761732073656e742e48556e6578706563746564526573706f6e73650801186f726967696ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400020c5901517565727920726573706f6e736520726563656976656420776869636820646f6573206e6f74206d61746368206120726567697374657265642071756572792e2054686973206d61792062652062656361757365206155016d61746368696e6720717565727920776173206e6576657220726567697374657265642c206974206d617920626520626563617573652069742069732061206475706c696361746520726573706f6e73652c206f727062656361757365207468652071756572792074696d6564206f75742e34526573706f6e7365526561647908012071756572795f696410011c51756572794964000120726573706f6e73653d020120526573706f6e73650003085d01517565727920726573706f6e736520686173206265656e20726563656976656420616e6420697320726561647920666f722074616b696e672077697468206074616b655f726573706f6e7365602e205468657265206973806e6f2072656769737465726564206e6f74696669636174696f6e2063616c6c2e204e6f7469666965640c012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e64657808010875380004085901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20686173a86265656e206469737061746368656420616e64206578656375746564207375636365737366756c6c792e404e6f746966794f76657277656967687414012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e646578080108753800013461637475616c5f77656967687428011857656967687400014c6d61785f62756467657465645f77656967687428011857656967687400050c6101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20636f756c6441016e6f742062652064697370617463686564206265636175736520746865206469737061746368207765696768742069732067726561746572207468616e20746865206d6178696d756d20776569676874e46f726967696e616c6c7920627564676574656420627920746869732072756e74696d6520666f722074686520717565727920726573756c742e4c4e6f7469667944697370617463684572726f720c012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e64657808010875380006085501517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e2054686572652077617320612067656e6572616c206572726f722077697468886469737061746368696e6720746865206e6f74696669636174696f6e2063616c6c2e484e6f746966794465636f64654661696c65640c012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e646578080108753800070c5101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652064697370617463682077617320756e61626c6520746f20626559016465636f64656420696e746f2061206043616c6c603b2074686973206d696768742062652064756520746f2064697370617463682066756e6374696f6e20686176696e672061207369676e6174757265207768696368946973206e6f742060286f726967696e2c20517565727949642c20526573706f6e736529602e40496e76616c6964526573706f6e6465720c01186f726967696ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400014465787065637465645f6c6f636174696f6e610201544f7074696f6e3c4d756c74694c6f636174696f6e3e00080c5901457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206f726967696e206c6f636174696f6e206f662074686520726573706f6e736520646f657355016e6f74206d6174636820746861742065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e5c496e76616c6964526573706f6e64657256657273696f6e0801186f726967696ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400091c5101457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206578706563746564206f726967696e206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e34526573706f6e736554616b656e04012071756572795f696410011c51756572794964000a04c8526563656976656420717565727920726573706f6e736520686173206265656e207265616420616e642072656d6f7665642e34417373657473547261707065640c011068617368300110483235360001186f726967696ef10101344d756c74694c6f636174696f6e0001186173736574738102015056657273696f6e65644d756c7469417373657473000b04b8536f6d65206173736574732068617665206265656e20706c6163656420696e20616e20617373657420747261702e5456657273696f6e4368616e67654e6f74696669656410012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e000118726573756c7420012858636d56657273696f6e000110636f73742102012c4d756c74694173736574730001286d6573736167655f696404011c58636d48617368000c0c2501416e2058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e206d65737361676520686173206265656e20617474656d7074656420746f2062652073656e742e00e054686520636f7374206f662073656e64696e672069742028626f726e652062792074686520636861696e2920697320696e636c756465642e5c537570706f7274656456657273696f6e4368616e6765640801206c6f636174696f6ef10101344d756c74694c6f636174696f6e00011c76657273696f6e20012858636d56657273696f6e000d08390154686520737570706f727465642076657273696f6e206f662061206c6f636174696f6e20686173206265656e206368616e6765642e2054686973206d69676874206265207468726f75676820616ec06175746f6d61746963206e6f74696669636174696f6e206f722061206d616e75616c20696e74657276656e74696f6e2e504e6f7469667954617267657453656e644661696c0c01206c6f636174696f6ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c517565727949640001146572726f72e101012058636d4572726f72000e0859014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f727c73656e64696e6720746865206e6f74696669636174696f6e20746f2069742e644e6f746966795461726765744d6967726174696f6e4661696c0801206c6f636174696f6eb902015856657273696f6e65644d756c74694c6f636174696f6e00012071756572795f696410011c51756572794964000f0859014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f72b46d6967726174696e6720746865206c6f636174696f6e20746f206f7572206e65772058434d20666f726d61742e54496e76616c69645175657269657256657273696f6e0801186f726967696ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400101c5501457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652065787065637465642071756572696572206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e38496e76616c6964517565726965721001186f726967696ef10101344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400014065787065637465645f71756572696572f10101344d756c74694c6f636174696f6e0001506d617962655f61637475616c5f71756572696572610201544f7074696f6e3c4d756c74694c6f636174696f6e3e00110c5d01457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652071756572696572206c6f636174696f6e206f662074686520726573706f6e736520646f657351016e6f74206d61746368207468652065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e5056657273696f6e4e6f74696679537461727465640c012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e000110636f73742102012c4d756c74694173736574730001286d6573736167655f696404011c58636d486173680012085901412072656d6f746520686173207265717565737465642058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e2066726f6d20757320616e64207765206861766520686f6e6f7265642069742e1d01412076657273696f6e20696e666f726d6174696f6e206d6573736167652069732073656e7420746f207468656d20616e642069747320636f737420697320696e636c756465642e5856657273696f6e4e6f746966795265717565737465640c012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e000110636f73742102012c4d756c74694173736574730001286d6573736167655f696404011c58636d486173680013043d015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073656e642075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e6056657273696f6e4e6f74696679556e7265717565737465640c012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e000110636f73742102012c4d756c74694173736574730001286d6573736167655f696404011c58636d4861736800140461015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073746f70732073656e64696e672075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e204665657350616964080118706179696e67f10101344d756c74694c6f636174696f6e000110666565732102012c4d756c7469417373657473001504310146656573207765726520706169642066726f6d2061206c6f636174696f6e20666f7220616e206f7065726174696f6e20286f6674656e20666f72207573696e67206053656e6458636d60292e34417373657473436c61696d65640c011068617368300110483235360001186f726967696ef10101344d756c74694c6f636174696f6e0001186173736574738102015056657273696f6e65644d756c7469417373657473001604c0536f6d65206173736574732068617665206265656e20636c61696d65642066726f6d20616e2061737365742074726170047c54686520604576656e746020656e756d206f6620746869732070616c6c6574ed01100c78636d087633187472616974731c4f7574636f6d6500010c20436f6d706c657465040028011857656967687400000028496e636f6d706c65746508002801185765696768740000e10101144572726f72000100144572726f720400e10101144572726f7200020000f101100c78636d087633346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72f50101244a756e6374696f6e730000f501100c78636d087633246a756e6374696f6e73244a756e6374696f6e7300012410486572650000000858310400f90101204a756e6374696f6e0001000858320800f90101204a756e6374696f6e0000f90101204a756e6374696f6e0002000858330c00f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0003000858341000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0004000858351400f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0005000858361800f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0006000858371c00f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0007000858382000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e0000f90101204a756e6374696f6e00080000f901100c78636d087633206a756e6374696f6e204a756e6374696f6e0001282450617261636861696e0400fd01010c7533320000002c4163636f756e744964333208011c6e6574776f726b010201444f7074696f6e3c4e6574776f726b49643e00010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726b010201444f7074696f6e3c4e6574776f726b49643e000114696e6465782c010c753634000200304163636f756e744b6579323008011c6e6574776f726b010201444f7074696f6e3c4e6574776f726b49643e00010c6b6579210101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e646578040009020110753132380005002847656e6572616c4b65790801186c656e6774680801087538000110646174610401205b75383b2033325d000600244f6e6c794368696c6400070024506c7572616c69747908010869640d020118426f647949640001107061727411020120426f6479506172740008003c476c6f62616c436f6e73656e7375730400050201244e6574776f726b496400090000fd010000062000010204184f7074696f6e0404540105020108104e6f6e6500000010536f6d650400050200000100000502100c78636d087633206a756e6374696f6e244e6574776f726b496400012824427947656e6573697304000401205b75383b2033325d000000184279466f726b080130626c6f636b5f6e756d62657210010c753634000128626c6f636b5f686173680401205b75383b2033325d00010020506f6c6b61646f74000200184b7573616d610003001c57657374656e6400040018526f636f636f00050018576f636f636f00060020457468657265756d040120636861696e5f69642c010c7536340007002c426974636f696e436f72650008002c426974636f696e4361736800090000090200000618000d02100c78636d087633206a756e6374696f6e18426f6479496400012810556e69740000001c4d6f6e696b6572040044011c5b75383b20345d00010014496e6465780400fd01010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e000800205472656173757279000900001102100c78636d087633206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74fd01010c753332000100204672616374696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c7533320004000015020c0c78636d0876330c58636d041043616c6c00000400190201585665633c496e737472756374696f6e3c43616c6c3e3e000019020000021d02001d020c0c78636d0876332c496e737472756374696f6e041043616c6c0001c0345769746864726177417373657404002102012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404002102012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404002102012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f69642c011c51756572794964000120726573706f6e73653d020120526573706f6e73650001286d61785f77656967687428011857656967687400011c71756572696572610201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e7366657241737365740801186173736574732102012c4d756c746941737365747300012c62656e6566696369617279f10101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574732102012c4d756c746941737365747300011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64650201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428011857656967687400011063616c6c6902014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572fd01010c7533320001406d61785f6d6573736167655f73697a65fd01010c7533320001306d61785f6361706163697479fd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74fd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72fd01010c75333200011873656e646572fd01010c753332000124726563697069656e74fd01010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400f5010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f7204006d0201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473710201404d756c7469417373657446696c74657200012c62656e6566696369617279f10101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473710201404d756c7469417373657446696c74657200011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e000e003445786368616e676541737365740c011067697665710201404d756c7469417373657446696c74657200011077616e742102012c4d756c746941737365747300011c6d6178696d616cac0110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473710201404d756c7469417373657446696c74657200011c72657365727665f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473710201404d756c7469417373657446696c74657200011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f6d0201445175657279526573706f6e7365496e666f000118617373657473710201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573290201284d756c746941737365740001307765696768745f6c696d69747d02012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204001502012458636d3c43616c6c3e0015002c536574417070656e64697804001502012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574732102012c4d756c74694173736574730001187469636b6574f10101344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f776569676874280118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e417373657404002102012c4d756c7469417373657473001c002c457870656374417373657404002102012c4d756c7469417373657473001d00304578706563744f726967696e0400610201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400410201504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e736163745374617475730400590201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6534011c5665633c75383e000134726573706f6e73655f696e666f6d0201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578fd01010c7533320001106e616d6534011c5665633c75383e00012c6d6f64756c655f6e616d6534011c5665633c75383e00012c63726174655f6d616a6f72fd01010c75333200013c6d696e5f63726174655f6d696e6f72fd01010c753332002200505265706f72745472616e7361637453746174757304006d0201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400f90101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726b050201244e6574776f726b496400012c64657374696e6174696f6ef5010154496e746572696f724d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e002600244c6f636b41737365740801146173736574290201284d756c74694173736574000120756e6c6f636b6572f10101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574290201284d756c74694173736574000118746172676574f10101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574290201284d756c746941737365740001146f776e6572f10101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574290201284d756c746941737365740001186c6f636b6572f10101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177ac0110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400f10101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69747d02012c5765696768744c696d6974000130636865636b5f6f726967696e610201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f00002102100c78636d087633286d756c746961737365742c4d756c7469417373657473000004002502013c5665633c4d756c746941737365743e000025020000022902002902100c78636d087633286d756c74696173736574284d756c74694173736574000008010869642d02011c4173736574496400010c66756e3102012c46756e676962696c69747900002d02100c78636d087633286d756c746961737365741c4173736574496400010820436f6e63726574650400f10101344d756c74694c6f636174696f6e00000020416273747261637404000401205b75383b2033325d000100003102100c78636d087633286d756c746961737365742c46756e676962696c6974790001082046756e6769626c65040009020110753132380000002c4e6f6e46756e6769626c650400350201344173736574496e7374616e6365000100003502100c78636d087633286d756c74696173736574344173736574496e7374616e636500011824556e646566696e656400000014496e6465780400090201107531323800010018417272617934040044011c5b75383b20345d0002001841727261793804003902011c5b75383b20385d0003001c417272617931360400490101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d0005000039020000030800000008003d020c0c78636d08763320526573706f6e7365000118104e756c6c0000001841737365747304002102012c4d756c74694173736574730001003c457865637574696f6e526573756c740400410201504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e040020013873757065723a3a56657273696f6e0003002c50616c6c657473496e666f040049020198426f756e6465645665633c50616c6c6574496e666f2c204d617850616c6c657473496e666f3e000400384469737061746368526573756c740400590201384d617962654572726f72436f646500050000410204184f7074696f6e0404540145020108104e6f6e6500000010536f6d6504004502000001000045020000040820e1010049020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014d02045300000400550201185665633c543e00004d020c0c78636d0876332850616c6c6574496e666f0000180114696e646578fd01010c7533320001106e616d6551020180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e00012c6d6f64756c655f6e616d6551020180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e0001146d616a6f72fd01010c7533320001146d696e6f72fd01010c7533320001147061746368fd01010c753332000051020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000055020000024d020059020c0c78636d087633384d617962654572726f72436f646500010c1c53756363657373000000144572726f7204005d02018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e000100385472756e63617465644572726f7204005d02018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e000200005d020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000610204184f7074696f6e04045401f1010108104e6f6e6500000010536f6d650400f101000001000065020c0c78636d087632284f726967696e4b696e64000110184e617469766500000040536f7665726569676e4163636f756e74000100245375706572757365720002000c58636d0003000069020c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656434011c5665633c75383e00006d020c0c78636d087633445175657279526573706f6e7365496e666f00000c012c64657374696e6174696f6ef10101344d756c74694c6f636174696f6e00012071756572795f69642c011c517565727949640001286d61785f77656967687428011857656967687400007102100c78636d087633286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e69746504002102012c4d756c74694173736574730000001057696c6404007502013857696c644d756c74694173736574000100007502100c78636d087633286d756c746961737365743857696c644d756c746941737365740001100c416c6c00000014416c6c4f6608010869642d02011c4173736574496400010c66756e7902013c57696c6446756e676962696c69747900010028416c6c436f756e7465640400fd01010c75333200020030416c6c4f66436f756e7465640c010869642d02011c4173736574496400010c66756e7902013c57696c6446756e676962696c697479000114636f756e74fd01010c753332000300007902100c78636d087633286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c65000100007d020c0c78636d0876332c5765696768744c696d697400010824556e6c696d697465640000001c4c696d697465640400280118576569676874000100008102080c78636d5056657273696f6e65644d756c746941737365747300010808563204008502013c76323a3a4d756c746941737365747300010008563304002102013c76333a3a4d756c7469417373657473000300008502100c78636d087632286d756c746961737365742c4d756c7469417373657473000004008902013c5665633c4d756c746941737365743e000089020000028d02008d02100c78636d087632286d756c74696173736574284d756c74694173736574000008010869649102011c4173736574496400010c66756eb102012c46756e676962696c69747900009102100c78636d087632286d756c746961737365741c4173736574496400010820436f6e63726574650400950201344d756c74694c6f636174696f6e000000204162737472616374040034011c5665633c75383e000100009502100c78636d087632346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72990201244a756e6374696f6e7300009902100c78636d087632346d756c74696c6f636174696f6e244a756e6374696f6e73000124104865726500000008583104009d0201204a756e6374696f6e00010008583208009d0201204a756e6374696f6e00009d0201204a756e6374696f6e0002000858330c009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00030008583410009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00040008583514009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00050008583618009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e0006000858371c009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00070008583820009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e00009d0201204a756e6374696f6e000800009d02100c78636d087632206a756e6374696f6e204a756e6374696f6e0001242450617261636861696e0400fd01010c7533320000002c4163636f756e744964333208011c6e6574776f726ba10201244e6574776f726b496400010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726ba10201244e6574776f726b4964000114696e6465782c010c753634000200304163636f756e744b6579323008011c6e6574776f726ba10201244e6574776f726b496400010c6b6579210101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e646578040009020110753132380005002847656e6572616c4b65790400a50201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000600244f6e6c794368696c6400070024506c7572616c6974790801086964a9020118426f6479496400011070617274ad020120426f64795061727400080000a1020c0c78636d087632244e6574776f726b49640001100c416e79000000144e616d65640400a50201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010020506f6c6b61646f74000200184b7573616d6100030000a5020c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004003401185665633c543e0000a9020c0c78636d08763218426f6479496400012810556e6974000000144e616d65640400a50201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010014496e6465780400fd01010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e00080020547265617375727900090000ad020c0c78636d08763220426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e74fd01010c753332000100204672616374696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6dfd01010c75333200011464656e6f6dfd01010c75333200040000b102100c78636d087632286d756c746961737365742c46756e676962696c6974790001082046756e6769626c65040009020110753132380000002c4e6f6e46756e6769626c650400b50201344173736574496e7374616e636500010000b502100c78636d087632286d756c74696173736574344173736574496e7374616e636500011c24556e646566696e656400000014496e6465780400090201107531323800010018417272617934040044011c5b75383b20345d0002001841727261793804003902011c5b75383b20385d0003001c417272617931360400490101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050010426c6f62040034011c5665633c75383e00060000b902080c78636d5856657273696f6e65644d756c74694c6f636174696f6e00010808563204009502014476323a3a4d756c74694c6f636174696f6e0001000856330400f101014476333a3a4d756c74694c6f636174696f6e00030000bd020c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144576656e7404045400010c34496e76616c6964466f726d617404000401205b75383b2033325d00000880446f776e77617264206d65737361676520697320696e76616c69642058434d2e205c5b206964205c5d48556e737570706f7274656456657273696f6e04000401205b75383b2033325d000108bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e205c5b206964205c5d404578656375746564446f776e7761726408000401205b75383b2033325d0000ed01011c4f7574636f6d65000208c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e445c5b2069642c206f7574636f6d65205c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c1020c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144576656e7404045400011c34496e76616c6964466f726d61740401306d6573736167655f6861736804011c58636d4861736800000480446f776e77617264206d65737361676520697320696e76616c69642058434d2e48556e737570706f7274656456657273696f6e0401306d6573736167655f6861736804011c58636d48617368000104bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e404578656375746564446f776e776172640c01306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d4861736800011c6f7574636f6d65ed01011c4f7574636f6d65000204c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e3c5765696768744578686175737465641001306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d4861736800014072656d61696e696e675f77656967687428011857656967687400013c72657175697265645f776569676874280118576569676874000304f054686520776569676874206c696d697420666f722068616e646c696e6720646f776e77617264206d657373616765732077617320726561636865642e484f766572776569676874456e7175657565641001306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d486173680001406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800013c72657175697265645f7765696768742801185765696768740004041901446f776e77617264206d657373616765206973206f76657277656967687420616e642077617320706c6163656420696e20746865206f7665727765696768742071756575652e484f76657277656967687453657276696365640801406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800012c7765696768745f75736564280118576569676874000504e0446f776e77617264206d6573736167652066726f6d20746865206f766572776569676874207175657565207761732065786563757465642e504d61784d657373616765734578686175737465640401306d6573736167655f6861736804011c58636d48617368000604d0546865206d6178696d756d206e756d626572206f6620646f776e77617264206d657373616765732077617320726561636865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c50208306672616d655f73797374656d14506861736500010c384170706c7945787472696e736963040020010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e00020000c902000002d000cd0208306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6efd01014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d65d102016473705f72756e74696d653a3a52756e74696d65537472696e670000d1020000050200d5020c306672616d655f73797374656d1870616c6c65741043616c6c0404540001201872656d61726b04011872656d61726b34011c5665633c75383e0000045c536565205b6050616c6c65743a3a72656d61726b605d2e387365745f686561705f7061676573040114706167657310010c7536340001047c536565205b6050616c6c65743a3a7365745f686561705f7061676573605d2e207365745f636f6465040110636f646534011c5665633c75383e00020464536565205b6050616c6c65743a3a7365745f636f6465605d2e5c7365745f636f64655f776974686f75745f636865636b73040110636f646534011c5665633c75383e000304a0536565205b6050616c6c65743a3a7365745f636f64655f776974686f75745f636865636b73605d2e2c7365745f73746f726167650401146974656d73d90201345665633c4b657956616c75653e00040470536565205b6050616c6c65743a3a7365745f73746f72616765605d2e306b696c6c5f73746f726167650401106b657973e10201205665633c4b65793e00050474536565205b6050616c6c65743a3a6b696c6c5f73746f72616765605d2e2c6b696c6c5f70726566697808011870726566697834010c4b657900011c7375626b65797320010c75333200060470536565205b6050616c6c65743a3a6b696c6c5f707265666978605d2e4472656d61726b5f776974685f6576656e7404011872656d61726b34011c5665633c75383e00070488536565205b6050616c6c65743a3a72656d61726b5f776974685f6576656e74605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed902000002dd0200dd0200000408343400e1020000023400e5020c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2801185765696768740001246d61785f626c6f636b2801185765696768740001247065725f636c617373e90201845065724469737061746368436c6173733c57656967687473506572436c6173733e0000e9020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c61737304045401ed02000c01186e6f726d616ced0201045400012c6f7065726174696f6e616ced020104540001246d616e6461746f7279ed020104540000ed020c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632801185765696768740001346d61785f65787472696e736963f10201384f7074696f6e3c5765696768743e0001246d61785f746f74616cf10201384f7074696f6e3c5765696768743e0001207265736572766564f10201384f7074696f6e3c5765696768743e0000f10204184f7074696f6e04045401280108104e6f6e6500000010536f6d650400280000010000f5020c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178f90201545065724469737061746368436c6173733c7533323e0000f9020c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540120000c01186e6f726d616c2001045400012c6f7065726174696f6e616c200104540001246d616e6461746f7279200104540000fd02082873705f776569676874733c52756e74696d65446257656967687400000801107265616410010c753634000114777269746510010c75363400000103082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d65d102013452756e74696d65537472696e67000124696d706c5f6e616d65d102013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e20010c753332000130737065635f76657273696f6e20010c753332000130696d706c5f76657273696f6e20010c753332000110617069730503011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e20010c75333200013473746174655f76657273696f6e080108753800000503040c436f77040454010903000400090300000009030000020d03000d03000004083902200011030c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c657415030c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f772c0124543a3a4d6f6d656e7400000450536565205b6050616c6c65743a3a736574605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e19030000040c0018ac001d030c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e64657800000458536565205b6050616c6c65743a3a636c61696d605d2e207472616e7366657208010c6e6577210301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e64657800010464536565205b6050616c6c65743a3a7472616e73666572605d2e1066726565040114696e64657810013c543a3a4163636f756e74496e64657800020454536565205b6050616c6c65743a3a66726565605d2e38666f7263655f7472616e736665720c010c6e6577210301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65ac0110626f6f6c0003047c536565205b6050616c6c65743a3a666f7263655f7472616e73666572605d2e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004045c536565205b6050616c6c65743a3a667265657a65605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e21030c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e64657801b4011408496404000001244163636f756e74496400000014496e6465780400250301304163636f756e74496e6465780001000c526177040034011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400210101205b75383b2032305d000400002503000006b40029030c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e2d030c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e646564566563080454013103045300000400390301185665633c543e000031030c3c70616c6c65745f62616c616e6365731474797065732c42616c616e63654c6f636b041c42616c616e63650118000c01086964390201384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e733503011c526561736f6e73000035030c3c70616c6c65745f62616c616e6365731474797065731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c0002000039030000023103003d030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014103045300000400450301185665633c543e000041030c3c70616c6c65745f62616c616e6365731474797065732c52657365727665446174610844526573657276654964656e7469666965720139021c42616c616e6365011800080108696439020144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e63650000450300000241030049030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014d030453000004006d0301185665633c543e00004d030c3c70616c6c65745f62616c616e636573147479706573204964416d6f756e74080849640151031c42616c616e63650118000801086964510301084964000118616d6f756e7418011c42616c616e63650000510308447370697269746e65745f72756e74696d654452756e74696d65486f6c64526561736f6e0001182c4174746573746174696f6e04005503015c6174746573746174696f6e3a3a486f6c64526561736f6e003e002844656c65676174696f6e04005903015864656c65676174696f6e3a3a486f6c64526561736f6e003f000c44696404005d03013c6469643a3a486f6c64526561736f6e004000244469644c6f6f6b757004006103017470616c6c65745f6469645f6c6f6f6b75703a3a486f6c64526561736f6e00430024576562334e616d657304006503017470616c6c65745f776562335f6e616d65733a3a486f6c64526561736f6e004400445075626c696343726564656e7469616c730400690301787075626c69635f63726564656e7469616c733a3a486f6c64526561736f6e0045000055030c2c6174746573746174696f6e1870616c6c657428486f6c64526561736f6e0001041c4465706f7369740000000059030c2864656c65676174696f6e1870616c6c657428486f6c64526561736f6e0001041c4465706f736974000000005d030c0c6469641870616c6c657428486f6c64526561736f6e0001041c4465706f7369740000000061030c4470616c6c65745f6469645f6c6f6f6b75701870616c6c657428486f6c64526561736f6e0001041c4465706f7369740000000065030c4470616c6c65745f776562335f6e616d65731870616c6c657428486f6c64526561736f6e0001041c4465706f7369740000000069030c487075626c69635f63726564656e7469616c731870616c6c657428486f6c64526561736f6e0001041c4465706f736974000000006d030000024d030071030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454017503045300000400810301185665633c543e000075030c3c70616c6c65745f62616c616e636573147479706573204964416d6f756e74080849640179031c42616c616e63650118000801086964790301084964000118616d6f756e7418011c42616c616e63650000790308447370697269746e65745f72756e74696d654c52756e74696d65467265657a65526561736f6e0001044050617261636861696e5374616b696e6704007d03017c70617261636861696e5f7374616b696e673a3a467265657a65526561736f6e001500007d030c4470617261636861696e5f7374616b696e671870616c6c657430467265657a65526561736f6e0001041c5374616b696e6700000000810300000275030085030c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000124507472616e736665725f616c6c6f775f646561746808011064657374210301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756509020128543a3a42616c616e636500000494536565205b6050616c6c65743a3a7472616e736665725f616c6c6f775f6465617468605d2e587365745f62616c616e63655f646570726563617465640c010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f6672656509020128543a3a42616c616e63650001306f6c645f726573657276656409020128543a3a42616c616e63650001049c536565205b6050616c6c65743a3a7365745f62616c616e63655f64657072656361746564605d2e38666f7263655f7472616e736665720c0118736f75726365210301504163636f756e7449644c6f6f6b75704f663c543e00011064657374210301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756509020128543a3a42616c616e63650002047c536565205b6050616c6c65743a3a666f7263655f7472616e73666572605d2e4c7472616e736665725f6b6565705f616c69766508011064657374210301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756509020128543a3a42616c616e636500030490536565205b6050616c6c65743a3a7472616e736665725f6b6565705f616c697665605d2e307472616e736665725f616c6c08011064657374210301504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665ac0110626f6f6c00040474536565205b6050616c6c65743a3a7472616e736665725f616c6c605d2e3c666f7263655f756e7265736572766508010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050480536565205b6050616c6c65743a3a666f7263655f756e72657365727665605d2e40757067726164655f6163636f756e747304010c77686fb90101445665633c543a3a4163636f756e7449643e00060484536565205b6050616c6c65743a3a757067726164655f6163636f756e7473605d2e207472616e7366657208011064657374210301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756509020128543a3a42616c616e636500070464536565205b6050616c6c65743a3a7472616e73666572605d2e44666f7263655f7365745f62616c616e636508010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f6672656509020128543a3a42616c616e636500080488536565205b6050616c6c65743a3a666f7263655f7365745f62616c616e6365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e89030c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001283856657374696e6742616c616e63650000049c56657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c75652e544c69717569646974795265737472696374696f6e73000104c84163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304ec56616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f7369742e34457870656e646162696c697479000404905472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e742e5c4578697374696e6756657374696e675363686564756c65000504cc412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742e2c446561644163636f756e740006048c42656e6566696369617279206163636f756e74206d757374207072652d65786973742e3c546f6f4d616e795265736572766573000704b84e756d626572206f66206e616d65642072657365727665732065786365656420604d61785265736572766573602e30546f6f4d616e79486f6c6473000804884e756d626572206f6620686f6c64732065786365656420604d6178486f6c6473602e38546f6f4d616e79467265657a6573000904984e756d626572206f6620667265657a65732065786365656420604d6178467265657a6573602e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e8d030c3473705f61726974686d657469632c66697865645f706f696e7424466978656455313238000004001801107531323800009103086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e740000000856320001000095030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454019903045300000400a10301185665633c543e00009903104473705f636f6e73656e7375735f617572611c737232353531392c6170705f73723235353139185075626c6963000004009d03013c737232353531393a3a5075626c696300009d030c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d0000a103000002990300a503084873705f636f6e73656e7375735f736c6f747310536c6f740000040010010c7536340000a903000002ad0300ad030000040800b10300b10308447370697269746e65745f72756e74696d652c53657373696f6e4b657973000004011061757261990301c43c41757261206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c69630000b5030000022000b90300000408bd033400bd030c1c73705f636f72651863727970746f244b65795479706549640000040044011c5b75383b20345d0000c1030c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b657973b103011c543a3a4b65797300011470726f6f6634011c5665633c75383e00000464536565205b6050616c6c65743a3a7365745f6b657973605d2e2870757267655f6b6579730001046c536565205b6050616c6c65743a3a70757267655f6b657973605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ec5030c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742ec9030c4470617261636861696e5f7374616b696e6714747970657324526f756e64496e666f042c426c6f636b4e756d6265720110000c011c63757272656e7420013053657373696f6e496e646578000114666972737410012c426c6f636b4e756d6265720001186c656e67746810012c426c6f636b4e756d6265720000cd030c4470617261636861696e5f7374616b696e671474797065734444656c65676174696f6e436f756e7465720000080114726f756e6420013053657373696f6e496e64657800011c636f756e74657220010c7533320000d1030c4470617261636861696e5f7374616b696e67147479706573145374616b6508244163636f756e74496401001c42616c616e63650118000801146f776e65720001244163636f756e744964000118616d6f756e7418011c42616c616e63650000d5030c4470617261636861696e5f7374616b696e671474797065732443616e6469646174650c244163636f756e74496401001c42616c616e63650118644d617844656c656761746f727350657243616e646964617465000014010869640001244163636f756e7449640001147374616b6518011c42616c616e636500012864656c656761746f7273d9030101014f7264657265645365743c5374616b653c4163636f756e7449642c2042616c616e63653e2c204d617844656c656761746f727350657243616e6469646174653e000114746f74616c18011c42616c616e6365000118737461747573e503013c43616e6469646174655374617475730000d9030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401d103045300000400dd030140426f756e6465645665633c542c20533e0000dd030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d103045300000400e10301185665633c543e0000e103000002d10300e5030c4470617261636861696e5f7374616b696e671474797065733c43616e646964617465537461747573000108184163746976650000001c4c656176696e67040020013053657373696f6e496e64657800010000e9030c4470617261636861696e5f7374616b696e6714747970657328546f74616c5374616b65041c42616c616e6365011800080124636f6c6c61746f727318011c42616c616e636500012864656c656761746f727318011c42616c616e63650000ed030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401d103045300000400f1030140426f756e6465645665633c542c20533e0000f1030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d103045300000400e10301185665633c543e0000f5030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e34496e666c6174696f6e496e666f0000080120636f6c6c61746f72f903012c5374616b696e67496e666f00012464656c656761746f72f903012c5374616b696e67496e666f0000f9030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e2c5374616b696e67496e666f00000801206d61785f7261746590012c5065727175696e74696c6c00012c7265776172645f72617465fd030128526577617264526174650000fd030c4470617261636861696e5f7374616b696e6724696e666c6174696f6e28526577617264526174650000080118616e6e75616c90012c5065727175696e74696c6c0001247065725f626c6f636b90012c5065727175696e74696c6c000001040c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601180453000004000504013842547265654d61703c4b2c20563e00000504042042547265654d617008044b011004560118000400090400000009040000020d04000d040000040810180011040c4470617261636861696e5f7374616b696e671870616c6c65741043616c6c0404540001543c666f7263655f6e65775f726f756e6400000480536565205b6050616c6c65743a3a666f7263655f6e65775f726f756e64605d2e347365745f696e666c6174696f6e100170636f6c6c61746f725f6d61785f726174655f70657263656e7461676590012c5065727175696e74696c6c000198636f6c6c61746f725f616e6e75616c5f7265776172645f726174655f70657263656e7461676590012c5065727175696e74696c6c00017464656c656761746f725f6d61785f726174655f70657263656e7461676590012c5065727175696e74696c6c00019c64656c656761746f725f616e6e75616c5f7265776172645f726174655f70657263656e7461676590012c5065727175696e74696c6c00010478536565205b6050616c6c65743a3a7365745f696e666c6174696f6e605d2e6c7365745f6d61785f73656c65637465645f63616e6469646174657304010c6e657720010c753332000204b0536565205b6050616c6c65743a3a7365745f6d61785f73656c65637465645f63616e64696461746573605d2e507365745f626c6f636b735f7065725f726f756e6404010c6e6577100144426c6f636b4e756d626572466f723c543e00030494536565205b6050616c6c65743a3a7365745f626c6f636b735f7065725f726f756e64605d2e5c7365745f6d61785f63616e6469646174655f7374616b6504010c6e657718013042616c616e63654f663c543e000404a0536565205b6050616c6c65743a3a7365745f6d61785f63616e6469646174655f7374616b65605d2e58666f7263655f72656d6f76655f63616e646964617465040120636f6c6c61746f722103018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650005049c536565205b6050616c6c65743a3a666f7263655f72656d6f76655f63616e646964617465605d2e3c6a6f696e5f63616e646964617465730401147374616b6518013042616c616e63654f663c543e00060480536565205b6050616c6c65743a3a6a6f696e5f63616e64696461746573605d2e54696e69745f6c656176655f63616e6469646174657300070498536565205b6050616c6c65743a3a696e69745f6c656176655f63616e64696461746573605d2e60657865637574655f6c656176655f63616e64696461746573040120636f6c6c61746f722103018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000804a4536565205b6050616c6c65743a3a657865637574655f6c656176655f63616e64696461746573605d2e5c63616e63656c5f6c656176655f63616e64696461746573000904a0536565205b6050616c6c65743a3a63616e63656c5f6c656176655f63616e64696461746573605d2e5063616e6469646174655f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000a0494536565205b6050616c6c65743a3a63616e6469646174655f7374616b655f6d6f7265605d2e5063616e6469646174655f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000b0494536565205b6050616c6c65743a3a63616e6469646174655f7374616b655f6c657373605d2e3c6a6f696e5f64656c656761746f7273080120636f6c6c61746f722103018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000118616d6f756e7418013042616c616e63654f663c543e000c0480536565205b6050616c6c65743a3a6a6f696e5f64656c656761746f7273605d2e406c656176655f64656c656761746f7273000d0484536565205b6050616c6c65743a3a6c656176655f64656c656761746f7273605d2e5064656c656761746f725f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000e0494536565205b6050616c6c65743a3a64656c656761746f725f7374616b655f6d6f7265605d2e5064656c656761746f725f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000f0494536565205b6050616c6c65743a3a64656c656761746f725f7374616b655f6c657373605d2e3c756e6c6f636b5f756e7374616b65640401187461726765742103018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500100480536565205b6050616c6c65743a3a756e6c6f636b5f756e7374616b6564605d2e34636c61696d5f7265776172647300110478536565205b6050616c6c65743a3a636c61696d5f72657761726473605d2e68696e6372656d656e745f636f6c6c61746f725f72657761726473001204ac536565205b6050616c6c65743a3a696e6372656d656e745f636f6c6c61746f725f72657761726473605d2e6c696e6372656d656e745f64656c656761746f725f72657761726473001304b0536565205b6050616c6c65743a3a696e6372656d656e745f64656c656761746f725f72657761726473605d2e7c657865637574655f7363686564756c65645f7265776172645f6368616e6765001404c0536565205b6050616c6c65743a3a657865637574655f7363686564756c65645f7265776172645f6368616e6765605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e15040c4470617261636861696e5f7374616b696e671870616c6c6574144572726f7204045400017c4444656c656761746f724e6f74466f756e64000004b8546865206163636f756e74206973206e6f742070617274206f66207468652064656c656761746f7273207365742e4443616e6469646174654e6f74466f756e64000104dc546865206163636f756e74206973206e6f742070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3c44656c656761746f72457869737473000204c8546865206163636f756e7420697320616c72656164792070617274206f66207468652064656c656761746f7273207365742e3c43616e646964617465457869737473000304ec546865206163636f756e7420697320616c72656164792070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3056616c5374616b655a65726f000404e4546865206163636f756e7420747269656420746f207374616b65206d6f7265206f72206c657373207769746820616d6f756e74207a65726f2e4056616c5374616b6542656c6f774d696e0005080d01546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f20626520616464656420746f2074686520636f6c6c61746f723c63616e64696461746573207365742e4056616c5374616b6541626f76654d61780006041101546865206163636f756e742068617320616c7265616479207374616b656420746865206d6178696d756d20616d6f756e74206f662066756e647320706f737369626c652e4844656c65676174696f6e42656c6f774d696e000708f8546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f2064656c6567617465206120636f6c6c61746f722863616e6469646174652e38416c72656164794c656176696e670008080d0154686520636f6c6c61746f722063616e6469646174652068617320616c72656164792074726967676572207468652070726f6365737320746f206c65617665207468656c736574206f6620636f6c6c61746f722063616e646964617465732e284e6f744c656176696e67000908f454686520636f6c6c61746f722063616e6469646174652077616e74656420746f20657865637574652074686520657869742062757420686173206e6f74f472657175657374656420746f206c65617665206265666f72652062792063616c6c696e672060696e69745f6c656176655f63616e64696461746573602e3843616e6e6f744c65617665596574000a08dc54686520636f6c6c61746f7220747269656420746f206c65617665206265666f72652077616974696e67206174206c6561737420666f72746045786974517565756544656c617960206d616e7920726f756e64732e6443616e6e6f744a6f696e4265666f7265556e6c6f636b696e67000b10f8546865206163636f756e742068617320612066756c6c206c697374206f6620756e7374616b696e6720726571756573747320616e64206e6565647320746ffc756e6c6f636b206174206c65617374206f6e65206f66207468657365206265666f7265206265696e672061626c6520746f206a6f696e2028616761696e292edc4e4f54453a2043616e206f6e6c792068617070656e20696620746865206163636f756e742077617320612063616e646964617465206f72f464656c656761746f72206265666f726520616e642065697468657220676f74206b69636b6564206f722065786974656420766f6c756e746172696c792e44416c726561647944656c65676174696e67000c04e4546865206163636f756e7420697320616c72656164792064656c65676174696e672074686520636f6c6c61746f722063616e6469646174652e404e6f7459657444656c65676174696e67000d080901546865206163636f756e7420686173206e6f742064656c65676174656420616e7920636f6c6c61746f722063616e646964617465207965742c2068656e6365206974806973206e6f7420696e2074686520736574206f662064656c656761746f72732e6c44656c65676174696f6e73506572526f756e644578636565646564000e1811015468652064656c656761746f722068617320657863656564656420746865206e756d626572206f662064656c65676174696f6e732070657220726f756e6420776869636894697320657175616c20746f204d617844656c656761746f7273506572436f6c6c61746f722e000901546869732070726f746563747320616761696e73742061747461636b7320696e20776869636820612064656c656761746f722063616e2072652d64656c6567617465010166726f6d206120636f6c6c61746f722077686f2068617320616c726561647920617574686f726564206120626c6f636b2c20746f20616e6f74686572206f6e6570776869636820686173206e6f7420696e207468697320726f756e642e44546f6f4d616e7944656c656761746f7273000f14010154686520636f6c6c61746f722063616e6469646174652068617320616c7265616479207265616368656420746865206d6178696d756d206e756d626572206f662c64656c656761746f72732e00050154686973206572726f722069732067656e65726174656420696e20636173652061206e65772064656c65676174696f6e207265717565737420646f6573206e6f74f47374616b6520656e6f7567682066756e647320746f207265706c61636520736f6d65206f74686572206578697374696e672064656c65676174696f6e2e60546f6f466577436f6c6c61746f7243616e64696461746573001008110154686520736574206f6620636f6c6c61746f722063616e6469646174657320776f756c642066616c6c2062656c6f7720746865207265717569726564206d696e696d756d5469662074686520636f6c6c61746f72206c6566742e5043616e6e6f745374616b6549664c656176696e67001108f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66010163616e6469646174657320616e642063616e6e6f7420706572666f726d20616e79206f7468657220616374696f6e7320696e20746865206d65616e74696d652e5c43616e6e6f7444656c656761746549664c656176696e67001208f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66ac63616e6469646174657320616e6420746875732063616e6e6f742062652064656c65676174656420746f2e804d6178436f6c6c61746f727350657244656c656761746f72457863656564656400130811015468652064656c656761746f722068617320616c72656164792064656c65676174656420746865206d6178696d756d206e756d626572206f662063616e6469646174657320616c6c6f7765642e60416c726561647944656c656761746564436f6c6c61746f72001408ec5468652064656c656761746f722068617320616c72656164792070726576696f75736c792064656c6567617465642074686520636f6c6c61746f722863616e6469646174652e4844656c65676174696f6e4e6f74466f756e64001504f854686520676976656e2064656c65676174696f6e20646f6573206e6f7420657869737420696e2074686520736574206f662064656c65676174696f6e732e24556e646572666c6f77001608050154686520636f6c6c61746f722064656c6567617465206f72207468652064656c656761746f7220697320747279696e6720746f20756e2d7374616b65206d6f72658066756e64732074686174206172652063757272656e746c79207374616b65642e4443616e6e6f7453657441626f76654d6178001708d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738061626f766520746865206d6178696d756d2076616c756520616c6c6f7765642e4443616e6e6f7453657442656c6f774d696e001808d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738062656c6f7720746865206d696e696d756d2076616c756520616c6c6f7765642e3c496e76616c69645363686564756c65001904dc416e20696e76616c696420696e666c6174696f6e20636f6e66696775726174696f6e20697320747279696e6720746f206265207365742e3c4e6f4d6f7265556e7374616b696e67001a08c4546865207374616b696e6720726577617264206265696e6720756e6c6f636b656420646f6573206e6f742065786973742e7c4d617820756e6c6f636b696e6720726571756573747320726561636865642e20546f6f4561726c79001b0801015468652072657761726420726174652063616e6e6f742062652061646a75737465642079657420617320616e20656e74697265207965617220686173206e6f741c7061737365642e345374616b654e6f74466f756e64001c04d850726f7669646564207374616b65642076616c7565206973207a65726f2e2053686f756c64206e65766572206265207468726f776e2e40556e7374616b696e674973456d707479001d049443616e6e6f7420756e6c6f636b207768656e20556e7374616b656420697320656d7074792e3c526577617264734e6f74466f756e64001e047843616e6e6f7420636c61696d207265776172647320696620656d7074792e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e19040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011d04045300000400e50501185665633c543e00001d040000040c2021040000210410346672616d655f737570706f72741874726169747324707265696d616765731c426f756e646564040454012504010c184c6567616379040110686173683001104861736800000018496e6c696e65040095010134426f756e646564496e6c696e65000100184c6f6f6b7570080110686173683001104861736800010c6c656e20010c75333200020000250408447370697269746e65745f72756e74696d652c52756e74696d6543616c6c0001801853797374656d0400d50201ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0000002454696d657374616d700400150301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0002001c496e646963657304001d0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e0005002042616c616e6365730400850301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e0006001c53657373696f6e0400c10301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0016004050617261636861696e5374616b696e670400110401d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e5374616b696e672c2052756e74696d653e0015002444656d6f63726163790400290401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e001e001c436f756e63696c0400390401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e001f0048546563686e6963616c436f6d6d69747465650400410401dd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c436f6d6d69747465652c2052756e74696d653e0020004c546563686e6963616c4d656d626572736869700400450401e10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c4d656d626572736869702c2052756e74696d653e0022002054726561737572790400490401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e0023001c5574696c69747904004d0401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0028001c56657374696e670400750401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e002900245363686564756c657204007d0401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e002a001450726f78790400850401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002b0020507265696d61676504008d0401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e002c0038546970734d656d626572736869700400910401cd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970734d656d626572736869702c2052756e74696d653e002d0010546970730400950401a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970732c2052756e74696d653e002e00204d756c74697369670400990401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d756c74697369672c2052756e74696d653e002f001443747970650400a10401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c43747970652c2052756e74696d653e003d002c4174746573746174696f6e0400a50401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4174746573746174696f6e2c2052756e74696d653e003e002844656c65676174696f6e0400b50401bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656c65676174696f6e2c2052756e74696d653e003f000c4469640400d10401a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469642c2052756e74696d653e004000244469644c6f6f6b75700400290501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469644c6f6f6b75702c2052756e74696d653e00430024576562334e616d65730400390501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c576562334e616d65732c2052756e74696d653e004400445075626c696343726564656e7469616c7304003d0501d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5075626c696343726564656e7469616c732c2052756e74696d653e004500244d6967726174696f6e04004d0501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d6967726174696f6e2c2052756e74696d653e0046003c50617261636861696e53797374656d0400510501d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e0050003450617261636861696e496e666f0400850501c90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e496e666f2c2052756e74696d653e0051002458636d7051756575650400890501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c58636d7051756575652c2052756e74696d653e0052002c506f6c6b61646f7458636d04008d0501c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506f6c6b61646f7458636d2c2052756e74696d653e00530020446d7051756575650400e10501b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c446d7051756575652c2052756e74696d653e0055000029040c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c04045400014c1c70726f706f736508012070726f706f73616c21040140426f756e64656443616c6c4f663c543e00011476616c75650902013042616c616e63654f663c543e00000460536565205b6050616c6c65743a3a70726f706f7365605d2e187365636f6e6404012070726f706f73616cfd01012450726f70496e6465780001045c536565205b6050616c6c65743a3a7365636f6e64605d2e10766f74650801247265665f696e646578fd01013c5265666572656e64756d496e646578000110766f74659c01644163636f756e74566f74653c42616c616e63654f663c543e3e00020454536565205b6050616c6c65743a3a766f7465605d2e40656d657267656e63795f63616e63656c0401247265665f696e64657820013c5265666572656e64756d496e64657800030484536565205b6050616c6c65743a3a656d657267656e63795f63616e63656c605d2e4065787465726e616c5f70726f706f736504012070726f706f73616c21040140426f756e64656443616c6c4f663c543e00040484536565205b6050616c6c65743a3a65787465726e616c5f70726f706f7365605d2e6465787465726e616c5f70726f706f73655f6d616a6f7269747904012070726f706f73616c21040140426f756e64656443616c6c4f663c543e000504a8536565205b6050616c6c65743a3a65787465726e616c5f70726f706f73655f6d616a6f72697479605d2e6065787465726e616c5f70726f706f73655f64656661756c7404012070726f706f73616c21040140426f756e64656443616c6c4f663c543e000604a4536565205b6050616c6c65743a3a65787465726e616c5f70726f706f73655f64656661756c74605d2e28666173745f747261636b0c013470726f706f73616c5f6861736830011048323536000134766f74696e675f706572696f64100144426c6f636b4e756d626572466f723c543e00011464656c6179100144426c6f636b4e756d626572466f723c543e0007046c536565205b6050616c6c65743a3a666173745f747261636b605d2e347665746f5f65787465726e616c04013470726f706f73616c5f686173683001104832353600080478536565205b6050616c6c65743a3a7665746f5f65787465726e616c605d2e4463616e63656c5f7265666572656e64756d0401247265665f696e646578fd01013c5265666572656e64756d496e64657800090488536565205b6050616c6c65743a3a63616e63656c5f7265666572656e64756d605d2e2064656c65676174650c0108746f210301504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6e2d040128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000a0464536565205b6050616c6c65743a3a64656c6567617465605d2e28756e64656c6567617465000b046c536565205b6050616c6c65743a3a756e64656c6567617465605d2e58636c6561725f7075626c69635f70726f706f73616c73000c049c536565205b6050616c6c65743a3a636c6561725f7075626c69635f70726f706f73616c73605d2e18756e6c6f636b040118746172676574210301504163636f756e7449644c6f6f6b75704f663c543e000d045c536565205b6050616c6c65743a3a756e6c6f636b605d2e2c72656d6f76655f766f7465040114696e64657820013c5265666572656e64756d496e646578000e0470536565205b6050616c6c65743a3a72656d6f76655f766f7465605d2e4472656d6f76655f6f746865725f766f7465080118746172676574210301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657820013c5265666572656e64756d496e646578000f0488536565205b6050616c6c65743a3a72656d6f76655f6f746865725f766f7465605d2e24626c61636b6c69737408013470726f706f73616c5f686173683001104832353600013c6d617962655f7265665f696e6465783104015c4f7074696f6e3c5265666572656e64756d496e6465783e00100468536565205b6050616c6c65743a3a626c61636b6c697374605d2e3c63616e63656c5f70726f706f73616c04012870726f705f696e646578fd01012450726f70496e64657800110480536565205b6050616c6c65743a3a63616e63656c5f70726f706f73616c605d2e307365745f6d657461646174610801146f776e6572a401344d657461646174614f776e65720001286d617962655f68617368350401504f7074696f6e3c507265696d616765486173683e00120474536565205b6050616c6c65743a3a7365745f6d65746164617461605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e2d040c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b6564367800060000310404184f7074696f6e04045401200108104e6f6e6500000010536f6d650400200000010000350404184f7074696f6e04045401300108104e6f6e6500000010536f6d65040030000001000039040c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c0804540004490001182c7365745f6d656d626572730c012c6e65775f6d656d62657273b90101445665633c543a3a4163636f756e7449643e0001147072696d653d0401504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e7420012c4d656d626572436f756e7400000470536565205b6050616c6c65743a3a7365745f6d656d62657273605d2e1c6578656375746508012070726f706f73616c2504017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64fd01010c75333200010460536565205b6050616c6c65743a3a65786563757465605d2e1c70726f706f73650c01247468726573686f6c64fd01012c4d656d626572436f756e7400012070726f706f73616c2504017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64fd01010c75333200020460536565205b6050616c6c65743a3a70726f706f7365605d2e10766f74650c012070726f706f73616c30011c543a3a48617368000114696e646578fd01013450726f706f73616c496e64657800011c617070726f7665ac0110626f6f6c00030454536565205b6050616c6c65743a3a766f7465605d2e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f6861736830011c543a3a4861736800050490536565205b6050616c6c65743a3a646973617070726f76655f70726f706f73616c605d2e14636c6f736510013470726f706f73616c5f6861736830011c543a3a48617368000114696e646578fd01013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642801185765696768740001306c656e6774685f626f756e64fd01010c75333200060458536565205b6050616c6c65743a3a636c6f7365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e3d0404184f7074696f6e04045401000108104e6f6e6500000010536f6d65040000000001000041040c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c0804540004490001182c7365745f6d656d626572730c012c6e65775f6d656d62657273b90101445665633c543a3a4163636f756e7449643e0001147072696d653d0401504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e7420012c4d656d626572436f756e7400000470536565205b6050616c6c65743a3a7365745f6d656d62657273605d2e1c6578656375746508012070726f706f73616c2504017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64fd01010c75333200010460536565205b6050616c6c65743a3a65786563757465605d2e1c70726f706f73650c01247468726573686f6c64fd01012c4d656d626572436f756e7400012070726f706f73616c2504017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e64fd01010c75333200020460536565205b6050616c6c65743a3a70726f706f7365605d2e10766f74650c012070726f706f73616c30011c543a3a48617368000114696e646578fd01013450726f706f73616c496e64657800011c617070726f7665ac0110626f6f6c00030454536565205b6050616c6c65743a3a766f7465605d2e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f6861736830011c543a3a4861736800050490536565205b6050616c6c65743a3a646973617070726f76655f70726f706f73616c605d2e14636c6f736510013470726f706f73616c5f6861736830011c543a3a48617368000114696e646578fd01013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642801185765696768740001306c656e6774685f626f756e64fd01010c75333200060458536565205b6050616c6c65743a3a636c6f7365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e45040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0000046c536565205b6050616c6c65743a3a6164645f6d656d626572605d2e3472656d6f76655f6d656d62657204010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e00010478536565205b6050616c6c65743a3a72656d6f76655f6d656d626572605d2e2c737761705f6d656d62657208011872656d6f7665210301504163636f756e7449644c6f6f6b75704f663c543e00010c616464210301504163636f756e7449644c6f6f6b75704f663c543e00020470536565205b6050616c6c65743a3a737761705f6d656d626572605d2e3472657365745f6d656d6265727304011c6d656d62657273b90101445665633c543a3a4163636f756e7449643e00030478536565205b6050616c6c65743a3a72657365745f6d656d62657273605d2e286368616e67655f6b657904010c6e6577210301504163636f756e7449644c6f6f6b75704f663c543e0004046c536565205b6050616c6c65743a3a6368616e67655f6b6579605d2e247365745f7072696d6504010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e00050468536565205b6050616c6c65743a3a7365745f7072696d65605d2e2c636c6561725f7072696d6500060470536565205b6050616c6c65743a3a636c6561725f7072696d65605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e49040c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001143470726f706f73655f7370656e6408011476616c75650902013c42616c616e63654f663c542c20493e00012c62656e6566696369617279210301504163636f756e7449644c6f6f6b75704f663c543e00000478536565205b6050616c6c65743a3a70726f706f73655f7370656e64605d2e3c72656a6563745f70726f706f73616c04012c70726f706f73616c5f6964fd01013450726f706f73616c496e64657800010480536565205b6050616c6c65743a3a72656a6563745f70726f706f73616c605d2e40617070726f76655f70726f706f73616c04012c70726f706f73616c5f6964fd01013450726f706f73616c496e64657800020484536565205b6050616c6c65743a3a617070726f76655f70726f706f73616c605d2e147370656e64080118616d6f756e740902013c42616c616e63654f663c542c20493e00012c62656e6566696369617279210301504163636f756e7449644c6f6f6b75704f663c543e00030458536565205b6050616c6c65743a3a7370656e64605d2e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f6964fd01013450726f706f73616c496e64657800040480536565205b6050616c6c65743a3a72656d6f76655f617070726f76616c605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e4d040c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c735104017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000458536565205b6050616c6c65743a3a6261746368605d2e3461735f64657269766174697665080114696e646578e0010c75313600011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00010478536565205b6050616c6c65743a3a61735f64657269766174697665605d2e2462617463685f616c6c04011463616c6c735104017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00020468536565205b6050616c6c65743a3a62617463685f616c6c605d2e2c64697370617463685f617308012461735f6f726967696e55040154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00030470536565205b6050616c6c65743a3a64697370617463685f6173605d2e2c666f7263655f626174636804011463616c6c735104017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00040470536565205b6050616c6c65743a3a666f7263655f6261746368605d2e2c776974685f77656967687408011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00011877656967687428011857656967687400050470536565205b6050616c6c65743a3a776974685f776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e5104000002250400550408447370697269746e65745f72756e74696d65304f726967696e43616c6c657200011c1873797374656d0400590401746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0000001c436f756e63696c04005d0401010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400610401010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020000c4469640400650401506469643a3a4f726967696e3c52756e74696d653e0040002c506f6c6b61646f7458636d04006904014870616c6c65745f78636d3a3a4f726967696e0053002843756d756c757358636d04006d04016863756d756c75735f70616c6c65745f78636d3a3a4f726967696e00540010566f69640400710401110173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a566f69640006000059040c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e65000200005d04084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d62657273080020012c4d656d626572436f756e74000020012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d000200006104084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d62657273080020012c4d656d626572436f756e74000020012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d0002000065040c0c646964186f726967696e304469645261774f726967696e08344469644964656e7469666965720100244163636f756e74496401000008010869640001344469644964656e7469666965720001247375626d69747465720001244163636f756e744964000069040c2870616c6c65745f78636d1870616c6c6574184f726967696e0001080c58636d0400f10101344d756c74694c6f636174696f6e00000020526573706f6e73650400f10101344d756c74694c6f636174696f6e000100006d040c4863756d756c75735f70616c6c65745f78636d1870616c6c6574184f726967696e0001081452656c6179000000405369626c696e6750617261636861696e0400e5010118506172614964000100007104081c73705f636f726510566f69640001000075040c3870616c6c65745f76657374696e671870616c6c65741043616c6c040454000114107665737400000454536565205b6050616c6c65743a3a76657374605d2e28766573745f6f74686572040118746172676574210301504163636f756e7449644c6f6f6b75704f663c543e0001046c536565205b6050616c6c65743a3a766573745f6f74686572605d2e3c7665737465645f7472616e73666572080118746172676574210301504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65790401b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00020480536565205b6050616c6c65743a3a7665737465645f7472616e73666572605d2e54666f7263655f7665737465645f7472616e736665720c0118736f75726365210301504163636f756e7449644c6f6f6b75704f663c543e000118746172676574210301504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65790401b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00030498536565205b6050616c6c65743a3a666f7263655f7665737465645f7472616e73666572605d2e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e64657820010c75333200013c7363686564756c65325f696e64657820010c75333200040480536565205b6050616c6c65743a3a6d657267655f7363686564756c6573605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e79040c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720110000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b10012c426c6f636b4e756d62657200007d040c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963810401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000464536565205b6050616c6c65743a3a7363686564756c65605d2e1863616e63656c0801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657820010c7533320001045c536565205b6050616c6c65743a3a63616e63656c605d2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963810401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0002047c536565205b6050616c6c65743a3a7363686564756c655f6e616d6564605d2e3063616e63656c5f6e616d656404010869640401205461736b4e616d6500030474536565205b6050616c6c65743a3a63616e63656c5f6e616d6564605d2e387363686564756c655f61667465721001146166746572100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963810401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004047c536565205b6050616c6c65743a3a7363686564756c655f6166746572605d2e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f646963810401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00050494536565205b6050616c6c65743a3a7363686564756c655f6e616d65645f6166746572605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e810404184f7074696f6e04045401d00108104e6f6e6500000010536f6d650400d0000001000085040c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616c210301504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065890401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000458536565205b6050616c6c65743a3a70726f7879605d2e246164645f70726f78790c012064656c6567617465210301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00010468536565205b6050616c6c65743a3a6164645f70726f7879605d2e3072656d6f76655f70726f78790c012064656c6567617465210301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00020474536565205b6050616c6c65743a3a72656d6f76655f70726f7879605d2e3872656d6f76655f70726f786965730003047c536565205b6050616c6c65743a3a72656d6f76655f70726f78696573605d2e2c6372656174655f707572650c012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e000114696e646578e0010c75313600040470536565205b6050616c6c65743a3a6372656174655f70757265605d2e246b696c6c5f7075726514011c737061776e6572210301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065dc0130543a3a50726f787954797065000114696e646578e0010c7531360001186865696768742c0144426c6f636b4e756d626572466f723c543e0001246578745f696e646578fd01010c75333200050468536565205b6050616c6c65743a3a6b696c6c5f70757265605d2e20616e6e6f756e63650801107265616c210301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00060464536565205b6050616c6c65743a3a616e6e6f756e6365605d2e4c72656d6f76655f616e6e6f756e63656d656e740801107265616c210301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00070490536565205b6050616c6c65743a3a72656d6f76655f616e6e6f756e63656d656e74605d2e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465210301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00080490536565205b6050616c6c65743a3a72656a6563745f616e6e6f756e63656d656e74605d2e3c70726f78795f616e6e6f756e63656410012064656c6567617465210301504163636f756e7449644c6f6f6b75704f663c543e0001107265616c210301504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065890401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00090480536565205b6050616c6c65743a3a70726f78795f616e6e6f756e636564605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e890404184f7074696f6e04045401dc0108104e6f6e6500000010536f6d650400dc00000100008d040c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000110346e6f74655f707265696d616765040114627974657334011c5665633c75383e00000478536565205b6050616c6c65743a3a6e6f74655f707265696d616765605d2e3c756e6e6f74655f707265696d6167650401106861736830011c543a3a4861736800010480536565205b6050616c6c65743a3a756e6e6f74655f707265696d616765605d2e40726571756573745f707265696d6167650401106861736830011c543a3a4861736800020484536565205b6050616c6c65743a3a726571756573745f707265696d616765605d2e48756e726571756573745f707265696d6167650401106861736830011c543a3a486173680003048c536565205b6050616c6c65743a3a756e726571756573745f707265696d616765605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e91040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0000046c536565205b6050616c6c65743a3a6164645f6d656d626572605d2e3472656d6f76655f6d656d62657204010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e00010478536565205b6050616c6c65743a3a72656d6f76655f6d656d626572605d2e2c737761705f6d656d62657208011872656d6f7665210301504163636f756e7449644c6f6f6b75704f663c543e00010c616464210301504163636f756e7449644c6f6f6b75704f663c543e00020470536565205b6050616c6c65743a3a737761705f6d656d626572605d2e3472657365745f6d656d6265727304011c6d656d62657273b90101445665633c543a3a4163636f756e7449643e00030478536565205b6050616c6c65743a3a72657365745f6d656d62657273605d2e286368616e67655f6b657904010c6e6577210301504163636f756e7449644c6f6f6b75704f663c543e0004046c536565205b6050616c6c65743a3a6368616e67655f6b6579605d2e247365745f7072696d6504010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e00050468536565205b6050616c6c65743a3a7365745f7072696d65605d2e2c636c6561725f7072696d6500060470536565205b6050616c6c65743a3a636c6561725f7072696d65605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e95040c2c70616c6c65745f746970731870616c6c65741043616c6c080454000449000118387265706f72745f617765736f6d65080118726561736f6e34011c5665633c75383e00010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0000047c536565205b6050616c6c65743a3a7265706f72745f617765736f6d65605d2e2c726574726163745f7469700401106861736830011c543a3a4861736800010470536565205b6050616c6c65743a3a726574726163745f746970605d2e1c7469705f6e65770c0118726561736f6e34011c5665633c75383e00010c77686f210301504163636f756e7449644c6f6f6b75704f663c543e0001247469705f76616c75650902013c42616c616e63654f663c542c20493e00020460536565205b6050616c6c65743a3a7469705f6e6577605d2e0c7469700801106861736830011c543a3a486173680001247469705f76616c75650902013c42616c616e63654f663c542c20493e00030450536565205b6050616c6c65743a3a746970605d2e24636c6f73655f7469700401106861736830011c543a3a4861736800040468536565205b6050616c6c65743a3a636c6f73655f746970605d2e24736c6173685f7469700401106861736830011c543a3a4861736800050468536565205b6050616c6c65743a3a736c6173685f746970605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e99040c3c70616c6c65745f6d756c74697369671870616c6c65741043616c6c0404540001105061735f6d756c74695f7468726573686f6c645f310801446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000494536565205b6050616c6c65743a3a61735f6d756c74695f7468726573686f6c645f31605d2e2061735f6d756c74691401247468726573686f6c64e0010c7531360001446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e749d0401904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00011063616c6c2504017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0001286d61785f77656967687428011857656967687400010464536565205b6050616c6c65743a3a61735f6d756c7469605d2e40617070726f76655f61735f6d756c74691401247468726573686f6c64e0010c7531360001446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e749d0401904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00012463616c6c5f686173680401205b75383b2033325d0001286d61785f77656967687428011857656967687400020484536565205b6050616c6c65743a3a617070726f76655f61735f6d756c7469605d2e3c63616e63656c5f61735f6d756c74691001247468726573686f6c64e0010c7531360001446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e00012463616c6c5f686173680401205b75383b2033325d00030480536565205b6050616c6c65743a3a63616e63656c5f61735f6d756c7469605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e9d0404184f7074696f6e04045401f40108104e6f6e6500000010536f6d650400f40000010000a1040c1463747970651870616c6c65741043616c6c0404540001080c616464040114637479706534011c5665633c75383e00000450536565205b6050616c6c65743a3a616464605d2e407365745f626c6f636b5f6e756d62657208012863747970655f686173683001384374797065486173684f663c543e000130626c6f636b5f6e756d626572100144426c6f636b4e756d626572466f723c543e00010484536565205b6050616c6c65743a3a7365745f626c6f636b5f6e756d626572605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ea5040c2c6174746573746174696f6e1870616c6c65741043616c6c0404540001180c6164640c0128636c61696d5f68617368300138436c61696d486173684f663c543e00012863747970655f686173683001384374797065486173684f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00000450536565205b6050616c6c65743a3a616464605d2e187265766f6b65080128636c61696d5f68617368300138436c61696d486173684f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001045c536565205b6050616c6c65743a3a7265766f6b65605d2e1872656d6f7665080128636c61696d5f68617368300138436c61696d486173684f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0002045c536565205b6050616c6c65743a3a72656d6f7665605d2e3c7265636c61696d5f6465706f736974040128636c61696d5f68617368300138436c61696d486173684f663c543e00030480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e6572040128636c61696d5f68617368300138436c61696d486173684f663c543e00040494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f736974040128636c61696d5f68617368300138436c61696d486173684f663c543e0005047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ea90404184f7074696f6e04045401ad040108104e6f6e6500000010536f6d650400ad040000010000ad040c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c50616c6c6574417574686f72697a65043044656c65676174696f6e416301b10401042844656c65676174696f6e0400b104013044656c65676174696f6e416300000000b1040c2864656c65676174696f6e386163636573735f636f6e74726f6c3044656c65676174696f6e416304045401a9010008013c7375626a6563745f6e6f64655f696430015444656c65676174696f6e4e6f646549644f663c543e0001286d61785f636865636b7320010c7533320000b5040c2864656c65676174696f6e1870616c6c65741043616c6c04045400011c406372656174655f686965726172636879080130726f6f745f6e6f64655f696430015444656c65676174696f6e4e6f646549644f663c543e00012863747970655f686173683001384374797065486173684f663c543e00000484536565205b6050616c6c65743a3a6372656174655f686965726172636879605d2e386164645f64656c65676174696f6e14013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e000124706172656e745f696430015444656c65676174696f6e4e6f646549644f663c543e00012064656c656761746500014044656c656761746f7249644f663c543e00012c7065726d697373696f6e730d01012c5065726d697373696f6e7300014864656c65676174655f7369676e6174757265b904016844656c65676174655369676e6174757265547970654f663c543e0001047c536565205b6050616c6c65743a3a6164645f64656c65676174696f6e605d2e447265766f6b655f64656c65676174696f6e0c013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0001446d61785f706172656e745f636865636b7320010c75333200013c6d61785f7265766f636174696f6e7320010c75333200020488536565205b6050616c6c65743a3a7265766f6b655f64656c65676174696f6e605d2e4472656d6f76655f64656c65676174696f6e08013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c7320010c75333200030488536565205b6050616c6c65743a3a72656d6f76655f64656c65676174696f6e605d2e3c7265636c61696d5f6465706f73697408013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c7320010c75333200040480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e657204013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e00050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb9040c0c6469642c6469645f64657461696c73304469645369676e617475726500010c1c456432353531390400bd040148656432353531393a3a5369676e61747572650000001c537232353531390400c5040148737232353531393a3a5369676e61747572650001001445636473610400c904014065636473613a3a5369676e617475726500020000bd040c1c73705f636f72651c65643235353139245369676e617475726500000400c10401205b75383b2036345d0000c104000003400000000800c5040c1c73705f636f72651c73723235353139245369676e617475726500000400c10401205b75383b2036345d0000c9040c1c73705f636f7265146563647361245369676e617475726500000400cd0401205b75383b2036355d0000cd04000003410000000800d1040c0c6469641870616c6c65741043616c6c0404540001441863726561746508011c64657461696c73d5040170426f783c4469644372656174696f6e44657461696c734f663c543e3e0001247369676e6174757265b90401304469645369676e61747572650000045c536565205b6050616c6c65743a3a637265617465605d2e587365745f61757468656e7469636174696f6e5f6b657904011c6e65775f6b657911050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e0001049c536565205b6050616c6c65743a3a7365745f61757468656e7469636174696f6e5f6b6579605d2e487365745f64656c65676174696f6e5f6b657904011c6e65775f6b657911050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e0002048c536565205b6050616c6c65743a3a7365745f64656c65676174696f6e5f6b6579605d2e5472656d6f76655f64656c65676174696f6e5f6b657900030498536565205b6050616c6c65743a3a72656d6f76655f64656c65676174696f6e5f6b6579605d2e4c7365745f6174746573746174696f6e5f6b657904011c6e65775f6b657911050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e00040490536565205b6050616c6c65743a3a7365745f6174746573746174696f6e5f6b6579605d2e5872656d6f76655f6174746573746174696f6e5f6b65790005049c536565205b6050616c6c65743a3a72656d6f76655f6174746573746174696f6e5f6b6579605d2e546164645f6b65795f61677265656d656e745f6b657904011c6e65775f6b657901050140446964456e6372797074696f6e4b657900060498536565205b6050616c6c65743a3a6164645f6b65795f61677265656d656e745f6b6579605d2e6072656d6f76655f6b65795f61677265656d656e745f6b65790401186b65795f69643001284b657949644f663c543e000704a4536565205b6050616c6c65743a3a72656d6f76655f6b65795f61677265656d656e745f6b6579605d2e506164645f736572766963655f656e64706f696e74040140736572766963655f656e64706f696e74dd040138446964456e64706f696e743c543e00080494536565205b6050616c6c65743a3a6164645f736572766963655f656e64706f696e74605d2e5c72656d6f76655f736572766963655f656e64706f696e74040128736572766963655f6964e104015053657276696365456e64706f696e7449643c543e000904a0536565205b6050616c6c65743a3a72656d6f76655f736572766963655f656e64706f696e74605d2e1864656c65746504014c656e64706f696e74735f746f5f72656d6f766520010c753332000a045c536565205b6050616c6c65743a3a64656c657465605d2e3c7265636c61696d5f6465706f73697408012c6469645f7375626a6563740001484469644964656e7469666965724f663c543e00014c656e64706f696e74735f746f5f72656d6f766520010c753332000b0480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e3c7375626d69745f6469645f63616c6c0801206469645f63616c6c25050190426f783c446964417574686f72697a656443616c6c4f7065726174696f6e4f663c543e3e0001247369676e6174757265b90401304469645369676e6174757265000c0480536565205b6050616c6c65743a3a7375626d69745f6469645f63616c6c605d2e506368616e67655f6465706f7369745f6f776e6572000d0494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404010c6469640001484469644964656e7469666965724f663c543e000e047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e2c64697370617463685f61730801386469645f6964656e7469666965720001484469644964656e7469666965724f663c543e00011063616c6c25040154426f783c44696443616c6c61626c654f663c543e3e000f0470536565205b6050616c6c65743a3a64697370617463685f6173605d2e4c6372656174655f66726f6d5f6163636f756e7404014861757468656e7469636174696f6e5f6b657911050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e00100490536565205b6050616c6c65743a3a6372656174655f66726f6d5f6163636f756e74605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed5040c0c6469642c6469645f64657461696c73484469644372656174696f6e44657461696c7310344469644964656e7469666965720100244163636f756e7449640100584d61784e65774b657941677265656d656e744b65797301d9042c446964456e64706f696e7401dd040018010c6469640001344469644964656e7469666965720001247375626d69747465720001244163636f756e7449640001586e65775f6b65795f61677265656d656e745f6b657973fd0401c04469644e65774b657941677265656d656e744b65795365743c4d61784e65774b657941677265656d656e744b6579733e00014c6e65775f6174746573746174696f6e5f6b65790d0501944f7074696f6e3c446964566572696669636174696f6e4b65793c4163636f756e7449643e3e0001486e65775f64656c65676174696f6e5f6b65790d0501944f7074696f6e3c446964566572696669636174696f6e4b65793c4163636f756e7449643e3e00014c6e65775f736572766963655f64657461696c73210501405665633c446964456e64706f696e743e0000d904103872756e74696d655f636f6d6d6f6e24636f6e7374616e74730c646964584d61784e65774b657941677265656d656e744b65797300000000dd040c0c64696444736572766963655f656e64706f696e74732c446964456e64706f696e7404045400000c01086964e104015053657276696365456e64706f696e7449643c543e000134736572766963655f7479706573e504017453657276696365456e64706f696e7454797065456e74726965733c543e00011075726c73f104017053657276696365456e64706f696e7455726c456e74726965733c543e0000e1040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000e5040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401e904045300000400ed0401185665633c543e0000e9040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000ed04000002e90400f1040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401f504045300000400f90401185665633c543e0000f5040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000f904000002f50400fd040c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e64656442547265655365740804540101050453000004000505012c42547265655365743c543e000001050c0c6469642c6469645f64657461696c7340446964456e6372797074696f6e4b65790001041858323535313904000401205b75383b2033325d00000000050504204254726565536574040454010105000400090500000009050000020105000d0504184f7074696f6e0404540111050108104e6f6e6500000010536f6d6504001105000001000011050c0c6469642c6469645f64657461696c7348446964566572696669636174696f6e4b657904244163636f756e744964010001101c4564323535313904001505013c656432353531393a3a5075626c69630000001c5372323535313904009d03013c737232353531393a3a5075626c696300010014456364736104001905013465636473613a3a5075626c69630002001c4163636f756e7404000001244163636f756e7449640003000015050c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d000019050c1c73705f636f7265146563647361185075626c6963000004001d0501205b75383b2033335d00001d050000032100000008002105000002dd040025050c0c6469642c6469645f64657461696c7368446964417574686f72697a656443616c6c4f7065726174696f6e14344469644964656e74696669657201002c44696443616c6c61626c650125042c426c6f636b4e756d6265720110244163636f756e7449640100245478436f756e74657201100014010c6469640001344469644964656e74696669657200012874785f636f756e7465721001245478436f756e74657200011063616c6c2504012c44696443616c6c61626c65000130626c6f636b5f6e756d62657210012c426c6f636b4e756d6265720001247375626d69747465720001244163636f756e744964000029050c4470616c6c65745f6469645f6c6f6f6b75701870616c6c65741043616c6c04045400011c446173736f63696174655f6163636f756e7408010c7265712d05015c4173736f63696174654163636f756e745265717565737400012865787069726174696f6e100144426c6f636b4e756d626572466f723c543e00000488536565205b6050616c6c65743a3a6173736f63696174655f6163636f756e74605d2e406173736f63696174655f73656e64657200010484536565205b6050616c6c65743a3a6173736f63696174655f73656e646572605d2e6472656d6f76655f73656e6465725f6173736f63696174696f6e000204a8536565205b6050616c6c65743a3a72656d6f76655f73656e6465725f6173736f63696174696f6e605d2e6872656d6f76655f6163636f756e745f6173736f63696174696f6e04011c6163636f756e74190101444c696e6b61626c654163636f756e744964000304ac536565205b6050616c6c65743a3a72656d6f76655f6163636f756e745f6173736f63696174696f6e605d2e3c7265636c61696d5f6465706f73697404011c6163636f756e74190101444c696e6b61626c654163636f756e74496400040480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e657204011c6163636f756e74190101444c696e6b61626c654163636f756e74496400050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404011c6163636f756e74190101444c696e6b61626c654163636f756e7449640006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e2d050c4470616c6c65745f6469645f6c6f6f6b7570646173736f63696174655f6163636f756e745f726571756573745c4173736f63696174654163636f756e745265717565737400010820506f6c6b61646f74080000012c4163636f756e74496433320000310501384d756c74695369676e617475726500000020457468657265756d08001d01012c4163636f756e7449643230000035050144457468657265756d5369676e6174757265000100003105082873705f72756e74696d65384d756c74695369676e617475726500010c1c456432353531390400bd040148656432353531393a3a5369676e61747572650000001c537232353531390400c5040148737232353531393a3a5369676e61747572650001001445636473610400c904014065636473613a3a5369676e61747572650002000035050c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e7444457468657265756d5369676e617475726500000400c904014065636473613a3a5369676e6174757265000039050c4470616c6c65745f776562335f6e616d65731870616c6c65741043616c6c04045400011c14636c61696d0401106e616d652d010140576562334e616d65496e7075743c543e00000458536565205b6050616c6c65743a3a636c61696d605d2e4072656c656173655f62795f6f776e657200010484536565205b6050616c6c65743a3a72656c656173655f62795f6f776e6572605d2e3c7265636c61696d5f6465706f7369740401106e616d652d010140576562334e616d65496e7075743c543e00020480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e0c62616e0401106e616d652d010140576562334e616d65496e7075743c543e00030450536565205b6050616c6c65743a3a62616e605d2e14756e62616e0401106e616d652d010140576562334e616d65496e7075743c543e00040458536565205b6050616c6c65743a3a756e62616e605d2e506368616e67655f6465706f7369745f6f776e657200050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f7369740401286e616d655f696e7075742d010140576562334e616d65496e7075743c543e0006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e3d050c487075626c69635f63726564656e7469616c731870616c6c65741043616c6c04045400011c0c61646404012863726564656e7469616c41050164426f783c496e70757443726564656e7469616c4f663c543e3e00000450536565205b6050616c6c65743a3a616464605d2e187265766f6b6508013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001045c536565205b6050616c6c65743a3a7265766f6b65605d2e20756e7265766f6b6508013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00020464536565205b6050616c6c65743a3a756e7265766f6b65605d2e1872656d6f766508013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6ea90401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0003045c536565205b6050616c6c65743a3a72656d6f7665605d2e3c7265636c61696d5f6465706f73697404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e00040480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e657204013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e00050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e41050c487075626c69635f63726564656e7469616c732c63726564656e7469616c732843726564656e7469616c10244374797065486173680130445375626a6563744964656e74696669657201450518436c61696d7301490534416363657373436f6e74726f6c01ad040010012863747970655f6861736830012443747970654861736800011c7375626a656374450501445375626a6563744964656e746966696572000118636c61696d7349050118436c61696d73000134617574686f72697a6174696f6ea90401544f7074696f6e3c416363657373436f6e74726f6c3e000045050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000049050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00004d050c4070616c6c65745f6d6967726174696f6e1870616c6c65741043616c6c040454000104387570646174655f62616c616e63650401507265717565737465645f6d6967726174696f6e73a501014c456e7472696573546f4d6967726174653c543e0000047c536565205b6050616c6c65743a3a7570646174655f62616c616e6365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e51050c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c65741043616c6c0404540001104c7365745f76616c69646174696f6e5f64617461040110646174615505015450617261636861696e496e686572656e744461746100000490536565205b6050616c6c65743a3a7365745f76616c69646174696f6e5f64617461605d2e607375646f5f73656e645f7570776172645f6d65737361676504011c6d6573736167653401345570776172644d657373616765000104a4536565205b6050616c6c65743a3a7375646f5f73656e645f7570776172645f6d657373616765605d2e44617574686f72697a655f75706772616465080124636f64655f6861736830011c543a3a48617368000134636865636b5f76657273696f6eac0110626f6f6c00020488536565205b6050616c6c65743a3a617574686f72697a655f75706772616465605d2e60656e6163745f617574686f72697a65645f75706772616465040110636f646534011c5665633c75383e000304a4536565205b6050616c6c65743a3a656e6163745f617574686f72697a65645f75706772616465605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e5505089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e745450617261636861696e496e686572656e7444617461000010013c76616c69646174696f6e5f646174615905015c50657273697374656456616c69646174696f6e4461746100014472656c61795f636861696e5f73746174656105015473705f747269653a3a53746f7261676550726f6f66000144646f776e776172645f6d657373616765736905016c5665633c496e626f756e64446f776e776172644d6573736167653e00014c686f72697a6f6e74616c5f6d65737361676573710501a442547265654d61703c5061726149642c205665633c496e626f756e6448726d704d6573736167653e3e000059050c4c706f6c6b61646f745f7072696d6974697665730876355c50657273697374656456616c69646174696f6e446174610804480130044e01200010012c706172656e745f686561645d050120486561644461746100014c72656c61795f706172656e745f6e756d6265722001044e00016472656c61795f706172656e745f73746f726167655f726f6f74300104480001306d61785f706f765f73697a6520010c75333200005d050c48706f6c6b61646f745f70617261636861696e287072696d6974697665732048656164446174610000040034011c5665633c75383e000061050c1c73705f747269653473746f726167655f70726f6f663053746f7261676550726f6f660000040128747269655f6e6f6465736505014442547265655365743c5665633c75383e3e00006505042042547265655365740404540134000400e10200000069050000026d05006d050860706f6c6b61646f745f636f72655f7072696d69746976657358496e626f756e64446f776e776172644d657373616765042c426c6f636b4e756d62657201200008011c73656e745f617420012c426c6f636b4e756d62657200010c6d736734013c446f776e776172644d65737361676500007105042042547265654d617008044b01e50104560175050004007d05000000750500000279050079050860706f6c6b61646f745f636f72655f7072696d69746976657348496e626f756e6448726d704d657373616765042c426c6f636b4e756d62657201200008011c73656e745f617420012c426c6f636b4e756d6265720001106461746134015073705f7374643a3a7665633a3a5665633c75383e00007d05000002810500810500000408e50175050085050c3870617261636861696e5f696e666f1870616c6c65741043616c6c040454000100040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e89050c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c65741043616c6c04045400012448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d69742801185765696768740000048c536565205b6050616c6c65743a3a736572766963655f6f766572776569676874605d2e5473757370656e645f78636d5f657865637574696f6e00010498536565205b6050616c6c65743a3a73757370656e645f78636d5f657865637574696f6e605d2e50726573756d655f78636d5f657865637574696f6e00020494536565205b6050616c6c65743a3a726573756d655f78636d5f657865637574696f6e605d2e607570646174655f73757370656e645f7468726573686f6c6404010c6e657720010c753332000304a4536565205b6050616c6c65743a3a7570646174655f73757370656e645f7468726573686f6c64605d2e547570646174655f64726f705f7468726573686f6c6404010c6e657720010c75333200040498536565205b6050616c6c65743a3a7570646174655f64726f705f7468726573686f6c64605d2e5c7570646174655f726573756d655f7468726573686f6c6404010c6e657720010c753332000504a0536565205b6050616c6c65743a3a7570646174655f726573756d655f7468726573686f6c64605d2e5c7570646174655f7468726573686f6c645f77656967687404010c6e6577280118576569676874000604a0536565205b6050616c6c65743a3a7570646174655f7468726573686f6c645f776569676874605d2e707570646174655f7765696768745f72657374726963745f646563617904010c6e6577280118576569676874000704b4536565205b6050616c6c65743a3a7570646174655f7765696768745f72657374726963745f6465636179605d2e847570646174655f78636d705f6d61785f696e646976696475616c5f77656967687404010c6e6577280118576569676874000804c8536565205b6050616c6c65743a3a7570646174655f78636d705f6d61785f696e646976696475616c5f776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e8d050c2870616c6c65745f78636d1870616c6c65741043616c6c04045400012c1073656e6408011064657374b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011c6d65737361676591050154426f783c56657273696f6e656458636d3c28293e3e00000454536565205b6050616c6c65743a3a73656e64605d2e3c74656c65706f72745f61737365747310011064657374b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747381020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c75333200010480536565205b6050616c6c65743a3a74656c65706f72745f617373657473605d2e5c726573657276655f7472616e736665725f61737365747310011064657374b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747381020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c753332000204a0536565205b6050616c6c65743a3a726573657276655f7472616e736665725f617373657473605d2e1c6578656375746508011c6d657373616765c10501c0426f783c56657273696f6e656458636d3c3c5420617320537973436f6e6669673e3a3a52756e74696d6543616c6c3e3e0001286d61785f77656967687428011857656967687400030460536565205b6050616c6c65743a3a65786563757465605d2e44666f7263655f78636d5f76657273696f6e0801206c6f636174696f6ef1010148426f783c4d756c74694c6f636174696f6e3e00011c76657273696f6e20012858636d56657273696f6e00040488536565205b6050616c6c65743a3a666f7263655f78636d5f76657273696f6e605d2e64666f7263655f64656661756c745f78636d5f76657273696f6e0401446d617962655f78636d5f76657273696f6e310401484f7074696f6e3c58636d56657273696f6e3e000504a8536565205b6050616c6c65743a3a666f7263655f64656661756c745f78636d5f76657273696f6e605d2e78666f7263655f7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6eb902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000604bc536565205b6050616c6c65743a3a666f7263655f7375627363726962655f76657273696f6e5f6e6f74696679605d2e80666f7263655f756e7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6eb902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000704c4536565205b6050616c6c65743a3a666f7263655f756e7375627363726962655f76657273696f6e5f6e6f74696679605d2e7c6c696d697465645f726573657276655f7472616e736665725f61737365747314011064657374b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747381020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c7533320001307765696768745f6c696d69747d02012c5765696768744c696d6974000804c0536565205b6050616c6c65743a3a6c696d697465645f726573657276655f7472616e736665725f617373657473605d2e5c6c696d697465645f74656c65706f72745f61737365747314011064657374b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279b902016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011861737365747381020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c7533320001307765696768745f6c696d69747d02012c5765696768744c696d6974000904a0536565205b6050616c6c65743a3a6c696d697465645f74656c65706f72745f617373657473605d2e40666f7263655f73757370656e73696f6e04012473757370656e646564ac0110626f6f6c000a0484536565205b6050616c6c65743a3a666f7263655f73757370656e73696f6e605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e9105080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c00010808563204009505015076323a3a58636d3c52756e74696d6543616c6c3e00020008563304001502015076333a3a58636d3c52756e74696d6543616c6c3e0003000095050c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400990501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e000099050000029d05009d050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404008502012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404008502012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404008502012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f69642c011c51756572794964000120726573706f6e7365a1050120526573706f6e73650001286d61785f7765696768742c010c753634000300345472616e7366657241737365740801186173736574738502012c4d756c746941737365747300012c62656e6566696369617279950201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574738502012c4d756c746941737365747300011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065650201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f73742c010c75363400011063616c6c69020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572fd01010c7533320001406d61785f6d6573736167655f73697a65fd01010c7533320001306d61785f6361706163697479fd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74fd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72fd01010c75333200011873656e646572fd01010c753332000124726563697069656e74fd01010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e040099020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f69642c011c5175657279496400011064657374950201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f7765696768742c010c753634000c00304465706f73697441737365740c0118617373657473b10501404d756c7469417373657446696c7465720001286d61785f617373657473fd01010c75333200012c62656e6566696369617279950201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473b10501404d756c7469417373657446696c7465720001286d61785f617373657473fd01010c75333200011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e000e003445786368616e6765417373657408011067697665b10501404d756c7469417373657446696c74657200011c726563656976658502012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473b10501404d756c7469417373657446696c74657200011c72657365727665950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473b10501404d756c7469417373657446696c74657200011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f69642c011c5175657279496400011064657374950201344d756c74694c6f636174696f6e000118617373657473b10501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f7765696768742c010c75363400120030427579457865637574696f6e080110666565738d0201284d756c746941737365740001307765696768745f6c696d6974bd05012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204009505014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e64697804009505014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574738502012c4d756c74694173736574730001187469636b6574950201344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f7765696768742c010c753634001a0048556e73756273637269626556657273696f6e001b0000a1050c0c78636d08763220526573706f6e7365000110104e756c6c0000001841737365747304008502012c4d756c74694173736574730001003c457865637574696f6e526573756c740400a50501504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e040020013873757065723a3a56657273696f6e00030000a50504184f7074696f6e04045401a9050108104e6f6e6500000010536f6d650400a9050000010000a9050000040820ad0500ad05100c78636d08763218747261697473144572726f72000168204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300444d756c74694c6f636174696f6e46756c6c000400684d756c74694c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c7536340015004c556e68616e646c656458636d56657273696f6e001600485765696768744c696d69745265616368656404001001185765696768740017001c426172726965720018004c5765696768744e6f74436f6d70757461626c6500190000b105100c78636d087632286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e69746504008502012c4d756c74694173736574730000001057696c640400b505013857696c644d756c7469417373657400010000b505100c78636d087632286d756c746961737365743857696c644d756c746941737365740001080c416c6c00000014416c6c4f6608010869649102011c4173736574496400010c66756eb905013c57696c6446756e676962696c69747900010000b905100c78636d087632286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c6500010000bd050c0c78636d0876322c5765696768744c696d697400010824556e6c696d697465640000001c4c696d6974656404002c010c75363400010000c105080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c0001080856320400c505015076323a3a58636d3c52756e74696d6543616c6c3e0002000856330400d505015076333a3a58636d3c52756e74696d6543616c6c3e00030000c5050c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400c90501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e0000c905000002cd0500cd050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c000170345769746864726177417373657404008502012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404008502012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404008502012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f69642c011c51756572794964000120726573706f6e7365a1050120526573706f6e73650001286d61785f7765696768742c010c753634000300345472616e7366657241737365740801186173736574738502012c4d756c746941737365747300012c62656e6566696369617279950201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574738502012c4d756c746941737365747300011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f74797065650201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f73742c010c75363400011063616c6cd1050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572fd01010c7533320001406d61785f6d6573736167655f73697a65fd01010c7533320001306d61785f6361706163697479fd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74fd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72fd01010c75333200011873656e646572fd01010c753332000124726563697069656e74fd01010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e040099020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f69642c011c5175657279496400011064657374950201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f7765696768742c010c753634000c00304465706f73697441737365740c0118617373657473b10501404d756c7469417373657446696c7465720001286d61785f617373657473fd01010c75333200012c62656e6566696369617279950201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473b10501404d756c7469417373657446696c7465720001286d61785f617373657473fd01010c75333200011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e000e003445786368616e6765417373657408011067697665b10501404d756c7469417373657446696c74657200011c726563656976658502012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473b10501404d756c7469417373657446696c74657200011c72657365727665950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473b10501404d756c7469417373657446696c74657200011064657374950201344d756c74694c6f636174696f6e00010c78636d9505011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f69642c011c5175657279496400011064657374950201344d756c74694c6f636174696f6e000118617373657473b10501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f7765696768742c010c75363400120030427579457865637574696f6e080110666565738d0201284d756c746941737365740001307765696768745f6c696d6974bd05012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400c505014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e6469780400c505014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574738502012c4d756c74694173736574730001187469636b6574950201344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f7765696768742c010c753634001a0048556e73756273637269626556657273696f6e001b0000d1050c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656434011c5665633c75383e0000d5050c0c78636d0876330c58636d041043616c6c00000400d90501585665633c496e737472756374696f6e3c43616c6c3e3e0000d905000002dd0500dd050c0c78636d0876332c496e737472756374696f6e041043616c6c0001c0345769746864726177417373657404002102012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404002102012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404002102012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f69642c011c51756572794964000120726573706f6e73653d020120526573706f6e73650001286d61785f77656967687428011857656967687400011c71756572696572610201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e7366657241737365740801186173736574732102012c4d756c746941737365747300012c62656e6566696369617279f10101344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574732102012c4d756c746941737365747300011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e64650201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428011857656967687400011063616c6cd105014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e646572fd01010c7533320001406d61785f6d6573736167655f73697a65fd01010c7533320001306d61785f6361706163697479fd01010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e74fd01010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f72fd01010c75333200011873656e646572fd01010c753332000124726563697069656e74fd01010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400f5010154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f7204006d0201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473710201404d756c7469417373657446696c74657200012c62656e6566696369617279f10101344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473710201404d756c7469417373657446696c74657200011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e000e003445786368616e676541737365740c011067697665710201404d756c7469417373657446696c74657200011077616e742102012c4d756c746941737365747300011c6d6178696d616cac0110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473710201404d756c7469417373657446696c74657200011c72657365727665f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473710201404d756c7469417373657446696c74657200011064657374f10101344d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666f6d0201445175657279526573706f6e7365496e666f000118617373657473710201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573290201284d756c746941737365740001307765696768745f6c696d69747d02012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400d505012458636d3c43616c6c3e0015002c536574417070656e6469780400d505012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574732102012c4d756c74694173736574730001187469636b6574f10101344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f776569676874280118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e417373657404002102012c4d756c7469417373657473001c002c457870656374417373657404002102012c4d756c7469417373657473001d00304578706563744f726967696e0400610201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400410201504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e736163745374617475730400590201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6534011c5665633c75383e000134726573706f6e73655f696e666f6d0201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e646578fd01010c7533320001106e616d6534011c5665633c75383e00012c6d6f64756c655f6e616d6534011c5665633c75383e00012c63726174655f6d616a6f72fd01010c75333200013c6d696e5f63726174655f6d696e6f72fd01010c753332002200505265706f72745472616e7361637453746174757304006d0201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400f90101204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726b050201244e6574776f726b496400012c64657374696e6174696f6ef5010154496e746572696f724d756c74694c6f636174696f6e00010c78636d1502011c58636d3c28293e002600244c6f636b41737365740801146173736574290201284d756c74694173736574000120756e6c6f636b6572f10101344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574290201284d756c74694173736574000118746172676574f10101344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574290201284d756c746941737365740001146f776e6572f10101344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574290201284d756c746941737365740001186c6f636b6572f10101344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177ac0110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400f10101344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d69747d02012c5765696768744c696d6974000130636865636b5f6f726967696e610201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f0000e1050c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c65741043616c6c04045400010448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d69742801185765696768740000048c536565205b6050616c6c65743a3a736572766963655f6f766572776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ee5050000021d0400e90500000408ed051800ed050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e0000f1050c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d62657201102050726f706f73616c0121041c42616c616e6365011801081c4f6e676f696e670400f50501c05265666572656e64756d5374617475733c426c6f636b4e756d6265722c2050726f706f73616c2c2042616c616e63653e0000002046696e6973686564080120617070726f766564ac0110626f6f6c00010c656e6410012c426c6f636b4e756d62657200010000f5050c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d62657201102050726f706f73616c0121041c42616c616e636501180014010c656e6410012c426c6f636b4e756d62657200012070726f706f73616c2104012050726f706f73616c0001247468726573686f6c64980134566f74655468726573686f6c6400011464656c617910012c426c6f636b4e756d62657200011474616c6c79f905013854616c6c793c42616c616e63653e0000f9050c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e63650000fd050c4070616c6c65745f64656d6f637261637910766f746518566f74696e67101c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d6265720110204d6178566f746573000108184469726563740c0114766f746573010601f4426f756e6465645665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e730d06015044656c65676174696f6e733c42616c616e63653e0001147072696f721106017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6e2d040128436f6e76696374696f6e00012c64656c65676174696f6e730d06015044656c65676174696f6e733c42616c616e63653e0001147072696f721106017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0001000001060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010506045300000400090601185665633c543e0000050600000408209c0009060000020506000d060c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e6365000011060c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201101c42616c616e6365011800080010012c426c6f636b4e756d626572000018011c42616c616e636500001506000004082104980019060000040810ed05001d060c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f720404540001602056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365445265666572656e64756d496e76616c696400090484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d2c4e6f6e6557616974696e67000a04504e6f2070726f706f73616c732077616974696e67204e6f74566f746572000b04c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e000c04c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67000d0488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473000e04fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000f04a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740010085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001104d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650012049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400130450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001404804d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c546f6f4d616e79001504804d6178696d756d206e756d626572206f66206974656d7320726561636865642e3c566f74696e67506572696f644c6f7700160454566f74696e6720706572696f6420746f6f206c6f7740507265696d6167654e6f7445786973740017047054686520707265696d61676520646f6573206e6f742065786973742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e21060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540130045300000400b10101185665633c543e00002506084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572011000140114696e64657820013450726f706f73616c496e6465780001247468726573686f6c6420012c4d656d626572436f756e7400011061796573b90101385665633c4163636f756e7449643e0001106e617973b90101385665633c4163636f756e7449643e00010c656e6410012c426c6f636b4e756d626572000029060c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e2d060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540130045300000400b10101185665633c543e000031060c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e35060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e000039060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e3d06083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e6365000041060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540120045300000400b50301185665633c543e000045060c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c0000040020010c7533320000490604184f7074696f6e04045401180108104e6f6e6500000010536f6d6504001800000100004d0608346672616d655f737570706f72742050616c6c65744964000004003902011c5b75383b20385d000051060c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900011470496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0003084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640004047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e04784572726f7220666f72207468652074726561737572792070616c6c65742e55060c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e59060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540179040453000004005d0601185665633c543e00005d060000027904006106083870616c6c65745f76657374696e672052656c65617365730001080856300000000856310001000065060c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742e69060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454016d06045300000400750601185665633c543e00006d0604184f7074696f6e0404540171060108104e6f6e6500000010536f6d650400710600000100007106084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c0121042c426c6f636b4e756d62657201103450616c6c6574734f726967696e015504244163636f756e7449640100001401206d617962655f6964d401304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c2104011043616c6c0001386d617962655f706572696f646963810401944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696e5504013450616c6c6574734f726967696e000075060000026d060079060c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e7d06000004088106180081060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454018506045300000400890601185665633c543e00008506083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501dc2c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065dc012450726f78795479706500011464656c617910012c426c6f636b4e756d626572000089060000028506008d06000004089106180091060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454019506045300000400990601185665633c543e00009506083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e7449640100104861736801302c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173683001104861736800011868656967687410012c426c6f636b4e756d626572000099060000029506009d060c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea106083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f736974a5060150284163636f756e7449642c2042616c616e63652900010c6c656e20010c753332000000245265717565737465640c011c6465706f736974a90601704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e7420010c75333200010c6c656e3104012c4f7074696f6e3c7533323e00010000a50600000408001800a90604184f7074696f6e04045401a5060108104e6f6e6500000010536f6d650400a5060000010000ad0600000408302000b1060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000b5060c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400011818546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742eb9060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e0000bd060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ec106082c70616c6c65745f746970731c4f70656e54697010244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d626572011010486173680130001c0118726561736f6e3001104861736800010c77686f0001244163636f756e74496400011866696e6465720001244163636f756e74496400011c6465706f73697418011c42616c616e6365000118636c6f736573c506014c4f7074696f6e3c426c6f636b4e756d6265723e00011074697073c90601645665633c284163636f756e7449642c2042616c616e6365293e00012c66696e646572735f666565ac0110626f6f6c0000c50604184f7074696f6e04045401100108104e6f6e6500000010536f6d650400100000010000c906000002a50600cd060c3473705f61726974686d65746963287065725f7468696e67731c50657263656e740000040008010875380000d1060c2c70616c6c65745f746970731870616c6c6574144572726f7208045400044900011830526561736f6e546f6f4269670000048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e00010488546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e5469700002046054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e6465720003041d01546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e0004042901546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d61747572650005043101546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ed50600000408000400d906083c70616c6c65745f6d756c7469736967204d756c7469736967102c426c6f636b4e756d62657201101c42616c616e63650118244163636f756e7449640100304d6178417070726f76616c7300001001107768656ef4015854696d65706f696e743c426c6f636b4e756d6265723e00011c6465706f73697418011c42616c616e63650001246465706f7369746f720001244163636f756e744964000124617070726f76616c73dd06018c426f756e6465645665633c4163636f756e7449642c204d6178417070726f76616c733e0000dd060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e0000e1060c3c70616c6c65745f6d756c74697369671870616c6c6574144572726f72040454000138404d696e696d756d5468726573686f6c640000047c5468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f766564000104ac43616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e65656465640002049c43616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f72696573000304a854686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f72696573000404ac54686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f726465720005040d01546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f726965730006040d015468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e64000704dc4d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e65720008042d014f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e740009041d014e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74000a042d014120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e74000b04f4412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e3c4d6178576569676874546f6f4c6f77000c04d0546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f726564000d04a0546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ee5060c1463747970652c63747970655f656e747279284374797065456e747279081c43726561746f7201002c426c6f636b4e756d62657201100008011c63726561746f7200011c43726561746f72000128637265617465645f617410012c426c6f636b4e756d6265720000e9060c1463747970651870616c6c6574144572726f7204045400010c204e6f74466f756e64000004985468657265206973206e6f20435479706520776974682074686520676976656e20686173682e34416c72656164794578697374730001046454686520435479706520616c7265616479206578697374732e3c556e61626c65546f506179466565730002040d0154686520706179696e67206163636f756e742077617320756e61626c6520746f2070617920746865206665657320666f72206372656174696e6720612063747970652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742eed060c2c6174746573746174696f6e306174746573746174696f6e73484174746573746174696f6e44657461696c7314244374797065486173680130284174746573746572496401003c417574686f72697a6174696f6e4964010501244163636f756e74496401001c42616c616e636501180014012863747970655f68617368300124437479706548617368000120617474657374657200012841747465737465724964000140617574686f72697a6174696f6e5f69640101015c4f7074696f6e3c417574686f72697a6174696f6e49643e00011c7265766f6b6564ac0110626f6f6c00011c6465706f736974f106016c4465706f7369743c4163636f756e7449642c2042616c616e63653e0000f1060c306b696c745f737570706f72741c6465706f7369741c4465706f736974081c4163636f756e7401001c42616c616e63650118000801146f776e657200011c4163636f756e74000118616d6f756e7418011c42616c616e63650000f5060000040805013000f9060c2c6174746573746174696f6e1870616c6c6574144572726f720404540001183c416c726561647941747465737465640000080901546865726520697320616c726561647920616e206174746573746174696f6e2077697468207468652073616d6520636c61696d20686173682073746f726564206f6e18636861696e2e38416c72656164795265766f6b6564000104a4546865206174746573746174696f6e2068617320616c7265616479206265656e207265766f6b65642e204e6f74466f756e64000204c04e6f206174746573746174696f6e206f6e20636861696e206d61746368696e672074686520636c61696d20686173682e3443547970654d69736d61746368000308fc546865206174746573746174696f6e20435479706520646f6573206e6f74206d61746368207468652043547970652073706563696669656420696e207468656864656c65676174696f6e2068696572617263687920726f6f742e344e6f74417574686f72697a6564000404f05468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f206368616e676520746865206174746573746174696f6e2e804d617844656c6567617465644174746573746174696f6e73457863656564656400050cf4546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732068617320616c7265616479206265656e05017265616368656420666f722074686520636f72726573706f6e64696e672064656c65676174696f6e2069642073756368207468617420616e6f74686572206f6e654063616e6e6f742062652061646465642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742efd060c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368793844656c65676174696f6e4e6f6465144044656c65676174696f6e4e6f6465496401302c4d61784368696c6472656e0101074444656c65676174696f6e44657461696c73010507244163636f756e74496401001c42616c616e63650118001401446869657261726368795f726f6f745f696430014044656c65676174696f6e4e6f64654964000118706172656e74350401604f7074696f6e3c44656c65676174696f6e4e6f646549643e0001206368696c6472656e090701b8426f756e64656442547265655365743c44656c65676174696f6e4e6f646549642c204d61784368696c6472656e3e00011c64657461696c730507014444656c65676174696f6e44657461696c7300011c6465706f736974f106016c4465706f7369743c4163636f756e7449642c2042616c616e63653e00000107103872756e74696d655f636f6d6d6f6e24636f6e7374616e74732864656c65676174696f6e2c4d61784368696c6472656e0000000005070c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368794444656c65676174696f6e44657461696c73042c44656c656761746f7249640100000c01146f776e657200012c44656c656761746f72496400011c7265766f6b6564ac0110626f6f6c00012c7065726d697373696f6e730d01012c5065726d697373696f6e73000009070c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e646564425472656553657408045401300453000004000d07012c42547265655365743c543e00000d07042042547265655365740404540130000400b10100000011070c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368796844656c65676174696f6e48696572617263687944657461696c73042443747970654861736801300004012863747970655f68617368300124437479706548617368000015070c2864656c65676174696f6e1870616c6c6574144572726f720404540001585c44656c65676174696f6e416c72656164794578697374730000041101546865726520697320616c726561647920612064656c65676174696f6e206e6f64652077697468207468652073616d652049442073746f726564206f6e20636861696e2e60496e76616c696444656c65676174655369676e617475726500010805015468652064656c65676174652773207369676e617475726520666f72207468652064656c65676174696f6e206372656174696f6e206f7065726174696f6e20697320696e76616c69642e4844656c65676174696f6e4e6f74466f756e64000204c04e6f2064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e4044656c65676174654e6f74466f756e64000304b84e6f2064656c656761746520776974682074686520676976656e2049442073746f726564206f6e20636861696e2e58486965726172636879416c7265616479457869737473000404f8546865726520697320616c72656164792061206869657261726368792077697468207468652073616d652049442073746f726564206f6e20636861696e2e444869657261726368794e6f74466f756e64000504bc4e6f2068696572617263687920776974682074686520676976656e2049442073746f726564206f6e20636861696e2e544d617853656172636844657074685265616368656400060409014d6178206e756d626572206f66206e6f64657320636865636b656420776974686f757420766572696679696e672074686520676976656e20636f6e646974696f6e2e684e6f744f776e65724f66506172656e7444656c65676174696f6e000708f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6ef462656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20706172656e74206e6f64652e744e6f744f776e65724f6644656c65676174696f6e486965726172636879000808f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6eec62656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20726f6f74206e6f64652e60506172656e7444656c65676174696f6e4e6f74466f756e64000904dc4e6f20706172656e742064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e5c506172656e7444656c65676174696f6e5265766f6b6564000a04c854686520706172656e742064656c65676174696f6e206861732070726576696f75736c79206265656e207265766f6b65642e58556e617574686f72697a65645265766f636174696f6e000b04fc5468652064656c65676174696f6e207265766f6b6572206973206e6f7420616c6c6f77656420746f207265766f6b65207468652064656c65676174696f6e2e4c556e617574686f72697a656452656d6f76616c000c04ec5468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f2072656d6f7665207468652064656c65676174696f6e2e58556e617574686f72697a656444656c65676174696f6e000d04fc5468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f20637265617465207468652064656c65676174696f6e2e3041636365737344656e696564000e04f0546865206f7065726174696f6e207761736e277420616c6c6f7765642062656361757365206f6620696e73756666696369656e74207269676874732e6045786365656465645265766f636174696f6e426f756e6473000f080d014d6178206e756d626572206f66207265766f636174696f6e7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7238746865206f7065726174696f6e2e54457863656564656452656d6f76616c426f756e647300100811014d6178206e756d626572206f662072656d6f76616c7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7220746865286f7065726174696f6e2e584d61785265766f636174696f6e73546f6f4c61726765001104f8546865206d6178206e756d626572206f66207265766f636174696f6e206578636565647320746865206c696d697420666f72207468652070616c6c65742e4c4d617852656d6f76616c73546f6f4c61726765001204f0546865206d6178206e756d626572206f662072656d6f76616c73206578636565647320746865206c696d697420666f72207468652070616c6c65742e5c4d6178506172656e74436865636b73546f6f4c617267650013040501546865206d6178206e756d626572206f6620706172656e7420636865636b73206578636565647320746865206c696d697420666f72207468652070616c6c65742e20496e7465726e616c001404f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e4c4d61784368696c6472656e4578636565646564001508dc546865206d6178206e756d626572206f6620616c6c206368696c6472656e20686173206265656e207265616368656420666f722074686578636f72726573706f6e64696e672064656c65676174696f6e206e6f64652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e19070c0c6469642c6469645f64657461696c732844696444657461696c7304045400001c014861757468656e7469636174696f6e5f6b65793001284b657949644f663c543e0001486b65795f61677265656d656e745f6b6579731d0701684469644b657941677265656d656e744b65795365744f663c543e00013864656c65676174696f6e5f6b6579350401484f7074696f6e3c4b657949644f663c543e3e00013c6174746573746174696f6e5f6b6579350401484f7074696f6e3c4b657949644f663c543e3e00012c7075626c69635f6b657973210701504469645075626c69634b65794d61704f663c543e00013c6c6173745f74785f636f756e74657210010c75363400011c6465706f736974f10601944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e00001d070c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e646564425472656553657408045401300453000004000d07012c42547265655365743c543e000021070c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b013004560125070453000004002d07013842547265654d61703c4b2c20563e000025070c0c6469642c6469645f64657461696c734c4469645075626c69634b657944657461696c73082c426c6f636b4e756d6265720110244163636f756e74496401000008010c6b65792907015c4469645075626c69634b65793c4163636f756e7449643e000130626c6f636b5f6e756d62657210012c426c6f636b4e756d626572000029070c0c6469642c6469645f64657461696c73304469645075626c69634b657904244163636f756e74496401000108545075626c6963566572696669636174696f6e4b6579040011050174446964566572696669636174696f6e4b65793c4163636f756e7449643e0000004c5075626c6963456e6372797074696f6e4b6579040001050140446964456e6372797074696f6e4b6579000100002d07042042547265654d617008044b01300456012507000400310700000031070000023507003507000004083025070039070000040800e104003d070c0c6469641870616c6c6574144572726f7204045400016c58496e76616c69645369676e6174757265466f726d6174000008050154686520444944206f7065726174696f6e207369676e6174757265206973206e6f7420696e2074686520666f726d61742074686520766572696669636174696f6e306b657920657870656374732e40496e76616c69645369676e6174757265000108f854686520444944206f7065726174696f6e207369676e617475726520697320696e76616c696420666f7220746865207061796c6f616420616e642074686568766572696669636174696f6e206b65792070726f76696465642e34416c7265616479457869737473000204f85468652044494420776974682074686520676976656e206964656e74696669657220697320616c72656164792070726573656e74206f6e20636861696e2e204e6f74466f756e64000304d44e6f2044494420776974682074686520676976656e206964656e7469666965722069732070726573656e74206f6e20636861696e2e5c566572696669636174696f6e4b65794e6f74466f756e6400040809014f6e65206f72206d6f726520766572696669636174696f6e206b657973207265666572656e63656420617265206e6f742073746f72656420696e2074686520736574546f6620766572696669636174696f6e206b6579732e30496e76616c69644e6f6e6365000504090154686520444944206f7065726174696f6e206e6f6e6365206973206e6f7420657175616c20746f207468652063757272656e7420444944206e6f6e6365202b20312e7c556e737570706f72746564446964417574686f72697a6174696f6e43616c6c000604e05468652063616c6c65642065787472696e73696320646f6573206e6f7420737570706f72742044494420617574686f7269736174696f6e2e6c496e76616c6964446964417574686f72697a6174696f6e43616c6c000708dc5468652063616c6c2068616420706172616d6574657273207468617420636f6e666c696374656420776974682065616368206f74686572406f72207765726520696e76616c69642e8c4d61784e65774b657941677265656d656e744b6579734c696d697445786365656465640008080d0141206e756d626572206f66206e6577206b65792061677265656d656e74206b6579732067726561746572207468616e20746865206d6178696d756d20616c6c6f77656448686173206265656e2070726f76696465642e544d61785075626c69634b65797345786365656465640009080501546865206d6178696d756d206e756d626572206f66207075626c6963206b65797320666f72207468697320444944206b6579206964656e74696669657220686173346265656e20726561636865642e6c4d61784b657941677265656d656e744b6579734578636565646564000a080501546865206d6178696d756d206e756d626572206f66206b65792061677265656d656e747320686173206265656e207265616368656420666f722074686520444944207375626a6563742e304261644469644f726967696e000b04bc546865204449442063616c6c20776173207375626d6974746564206279207468652077726f6e67206163636f756e74485472616e73616374696f6e45787069726564000c040d0154686520626c6f636b206e756d6265722070726f766964656420696e2061204449442d617574686f72697a6564206f7065726174696f6e20697320696e76616c69642e38416c726561647944656c65746564000d04b0546865204449442068617320616c7265616479206265656e2070726576696f75736c792064656c657465642e444e6f744f776e65724f664465706f736974000e04fc4f6e6c7920746865206f776e6572206f6620746865206465706f7369742063616e207265636c61696d206974732072657365727665642062616c616e63652e3c556e61626c65546f50617946656573000f04f0546865206f726967696e20697320756e61626c6520746f207265736572766520746865206465706f73697420616e642070617920746865206665652e6c4d61784e756d6265724f66536572766963657345786365656465640010041101546865206d6178696d756d206e756d626572206f66207365727669636520656e64706f696e747320666f7220612044494420686173206265656e2065786365656465642e684d61785365727669636549644c656e6774684578636565646564001104f0546865207365727669636520656e64706f696e7420494420657863656564656420746865206d6178696d756d20616c6c6f776564206c656e6774682e704d617853657276696365547970654c656e6774684578636565646564001208f84f6e65206f6620746865207365727669636520656e64706f696e7420747970657320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e884d61784e756d6265724f665479706573506572536572766963654578636565646564001308ec546865206d6178696d756d206e756d626572206f6620747970657320666f722061207365727669636520656e64706f696e7420686173206265656e2465786365656465642e6c4d61785365727669636555726c4c656e6774684578636565646564001408f44f6e65206f6620746865207365727669636520656e64706f696e742055524c7320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e844d61784e756d6265724f6655726c735065725365727669636545786365656465640015041101546865206d6178696d756d206e756d626572206f662055524c7320666f722061207365727669636520656e64706f696e7420686173206265656e2065786365656465642e5053657276696365416c726561647945786973747300160411014120736572766963652077697468207468652070726f766964656420494420697320616c72656164792070726573656e7420666f722074686520676976656e204449442e3c536572766963654e6f74466f756e6400170409014120736572766963652077697468207468652070726f7669646564204944206973206e6f742070726573656e7420756e6465722074686520676976656e204449442e58496e76616c696453657276696365456e636f64696e6700180409014f6e65206f6620746865207365727669636520656e64706f696e742064657461696c7320636f6e7461696e73206e6f6e2d415343494920636861726163746572732e7c4d617853746f726564456e64706f696e7473436f756e7445786365656465640019080d01546865206e756d626572206f66207365727669636520656e64706f696e74732073746f72656420756e6465722074686520444944206973206c6172676572207468616e88746865206e756d626572206f6620656e64706f696e747320746f2064656c6574652e20496e7465726e616c001a04f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e41070c4470616c6c65745f6469645f6c6f6f6b757044636f6e6e656374696f6e5f7265636f726440436f6e6e656374696f6e5265636f72640c344469644964656e74696669657201001c4163636f756e7401001c42616c616e636501180008010c6469640001344469644964656e74696669657200011c6465706f736974f10601644465706f7369743c4163636f756e742c2042616c616e63653e00004507000004080019010049070c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144572726f72040454000114204e6f74466f756e640000047c546865206173736f63696174696f6e20646f6573206e6f742065786973742e344e6f74417574686f72697a65640001081101546865206f726967696e20776173206e6f7420616c6c6f77656420746f206d616e61676520746865206173736f63696174696f6e206265747765656e20746865204449444c616e6420746865206163636f756e742049442e344f7574646174656450726f6f66000204b454686520737570706c6965642070726f6f66206f66206f776e65727368697020776173206f757464617465642e44496e73756666696369656e7446756e64730003081101546865206163636f756e742068617320696e73756666696369656e742066756e647320616e642063616e277420706179207468652066656573206f72207265736572766530746865206465706f7369742e244d6967726174696f6e00040c010154686520436f6e6e65637465644163636f756e747320616e6420436f6e6e6563746564446964732073746f7261676520617265206f7574206f662073796e632e0011014e4f54453a20746869732077696c6c206f6e6c792062652072657475726e6564206966207468652073746f726167652068617320696e636f6e73697374656e636965732e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e4d070c4470616c6c65745f776562335f6e616d657324776562335f6e616d6544576562334e616d654f776e6572736869700c144f776e657201001c4465706f73697401f1062c426c6f636b4e756d6265720110000c01146f776e65720001144f776e6572000128636c61696d65645f617410012c426c6f636b4e756d62657200011c6465706f736974f106011c4465706f736974000051070c4470616c6c65745f776562335f6e616d65731870616c6c6574144572726f7204045400013044496e73756666696369656e7446756e64730000040d01546865207478207375626d697474657220646f6573206e6f74206861766520656e6f7567682066756e647320746f2070617920666f7220746865206465706f7369742e34416c7265616479457869737473000104dc54686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c7920636c61696d65642e204e6f74466f756e640002048854686520737065636966696564206e616d6520646f6573206e6f742065786973742e484f776e6572416c7265616479457869737473000304a054686520737065636966696564206f776e657220616c7265616479206f776e732061206e616d652e344f776e65724e6f74466f756e64000404ac54686520737065636966696564206f776e657220646f6573206e6f74206f776e20616e79206e616d65732e1842616e6e6564000508ec54686520737065636966696564206e616d6520686173206265656e2062616e6e656420616e642063616e6e6f7420626520696e746572616374656414776974682e244e6f7442616e6e6564000604ac54686520737065636966696564206e616d65206973206e6f742063757272656e746c792062616e6e65642e34416c726561647942616e6e6564000704d854686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c792062616e6e65642e344e6f74417574686f72697a6564000804cc546865206163746f722063616e6e6f7420706572666f726d65642074686520737065636966696564206f7065726174696f6e2e20546f6f53686f7274000904a841206e616d65207468617420697320746f6f2073686f7274206973206265696e6720636c61696d65642e1c546f6f4c6f6e67000a04a441206e616d65207468617420697320746f6f206c6f6e67206973206265696e6720636c61696d65642e40496e76616c6964436861726163746572000b04f441206e616d65207468617420636f6e7461696e73206e6f7420616c6c6f7765642063686172616374657273206973206265696e6720636c61696d65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e55070c487075626c69635f63726564656e7469616c732c63726564656e7469616c733c43726564656e7469616c456e7472791824435479706548617368013020417474657374657201002c426c6f636b4e756d6265720110244163636f756e74496401001c42616c616e636501183c417574686f72697a6174696f6e49640105010018012863747970655f686173683001244354797065486173680001206174746573746572000120417474657374657200011c7265766f6b6564ac0110626f6f6c000130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200011c6465706f736974f106016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000140617574686f72697a6174696f6e5f69640101015c4f7074696f6e3c417574686f72697a6174696f6e49643e000059070c487075626c69635f63726564656e7469616c731870616c6c6574144572726f720404540001183c416c72656164794174746573746564000008f8412063726564656e7469616c2077697468207468652073616d6520726f6f7420686173682068617320616c72656164792069737375656420746f2074686548737065636966696564207375626a6563742e204e6f74466f756e6400010805014e6f2063726564656e7469616c2077697468207468652073706563696669656420726f6f74206861736820686173206265656e2069737375656420746f2074686548737065636966696564207375626a6563742e3c556e61626c65546f50617946656573000204d44e6f7420656e6f75676820746f6b656e7320746f2070617920666f72207468652066656573206f7220746865206465706f7369742e30496e76616c6964496e707574000304805468652063726564656e7469616c20696e70757420697320696e76616c69642e344e6f74417574686f72697a6564000404e05468652063616c6c6572206973206e6f7420617574686f72697a656420746f20706572666f726d656420746865206f7065726174696f6e2e20496e7465726e616c000508f443617463682d616c6c20666f7220616e79206f74686572206572726f727320746861742073686f756c64206e6f742068617070656e2c207965742069742468617070656e65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e5d070c4070616c6c65745f6d6967726174696f6e1870616c6c6574144572726f72040454000104204b65795061727365000000048054686520604572726f726020656e756d206f6620746869732070616c6c65742e610704184f7074696f6e0404540165070108104e6f6e6500000010536f6d6504006507000001000065070c4c706f6c6b61646f745f7072696d69746976657308763548557067726164655265737472696374696f6e0001041c50726573656e740000000069070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f74584d6573736167696e675374617465536e617073686f740000100130646d715f6d71635f6865616430014472656c61795f636861696e3a3a4861736800016472656c61795f64697370617463685f71756575655f73697a656d07015452656c617944697370616368517565756553697a65000140696e67726573735f6368616e6e656c73710701885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00013c6567726573735f6368616e6e656c73710701885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00006d070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f745452656c617944697370616368517565756553697a65000008013c72656d61696e696e675f636f756e7420010c75333200013872656d61696e696e675f73697a6520010c75333200007107000002750700750700000408e50179070079070c4c706f6c6b61646f745f7072696d6974697665730876354c416272696467656448726d704368616e6e656c00001801306d61785f636170616369747920010c7533320001386d61785f746f74616c5f73697a6520010c7533320001406d61785f6d6573736167655f73697a6520010c7533320001246d73675f636f756e7420010c753332000128746f74616c5f73697a6520010c7533320001206d71635f68656164350401304f7074696f6e3c486173683e00007d070c4c706f6c6b61646f745f7072696d697469766573087635644162726964676564486f7374436f6e66696775726174696f6e00002401346d61785f636f64655f73697a6520010c7533320001486d61785f686561645f646174615f73697a6520010c7533320001586d61785f7570776172645f71756575655f636f756e7420010c7533320001546d61785f7570776172645f71756575655f73697a6520010c75333200015c6d61785f7570776172645f6d6573736167655f73697a6520010c7533320001906d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e64696461746520010c75333200018868726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e64696461746520010c75333200016c76616c69646174696f6e5f757067726164655f636f6f6c646f776e20012c426c6f636b4e756d62657200016076616c69646174696f6e5f757067726164655f64656c617920012c426c6f636b4e756d62657200008107089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74444d6573736167655175657565436861696e0000040030012452656c61794861736800008507042042547265654d617008044b01e5010456018107000400890700000089070000028d07008d0700000408e501810700910700000295070095070860706f6c6b61646f745f636f72655f7072696d6974697665734c4f7574626f756e6448726d704d6573736167650408496401e50100080124726563697069656e74e501010849640001106461746134015073705f7374643a3a7665633a3a5665633c75383e00009907087c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d60436f646555706772616465417574686f72697a6174696f6e0404540000080124636f64655f6861736830011c543a3a48617368000134636865636b5f76657273696f6eac0110626f6f6c00009d070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144572726f720404540001204c4f7665726c617070696e6755706772616465730000041901417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e672e5050726f686962697465644279506f6c6b61646f740001044d01506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e2e18546f6f426967000208450154686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f742069733c77696c6c696e6720746f2072756e2e6856616c69646174696f6e446174614e6f74417661696c61626c650003041d0154686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b2e74486f7374436f6e66696775726174696f6e4e6f74417661696c61626c65000404290154686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b2e304e6f745363686564756c6564000504d84e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642e444e6f7468696e67417574686f72697a6564000604904e6f20636f6465207570677261646520686173206265656e20617574686f72697a65642e30556e617574686f72697a6564000704bc54686520676976656e20636f6465207570677261646520686173206e6f74206265656e20617574686f72697a65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea107000002a50700a507086463756d756c75735f70616c6c65745f78636d705f717565756554496e626f756e644368616e6e656c44657461696c7300000c011873656e646572e50101185061726149640001147374617465a9070130496e626f756e6453746174650001406d6573736167655f6d65746164617461ad0701a85665633c2852656c6179426c6f636b4e756d6265722c2058636d704d657373616765466f726d6174293e0000a907086463756d756c75735f70616c6c65745f78636d705f717565756530496e626f756e645374617465000108084f6b0000002453757370656e64656400010000ad07000002b10700b1070000040820b50700b5070c48706f6c6b61646f745f70617261636861696e287072696d6974697665734458636d704d657373616765466f726d617400010c60436f6e636174656e6174656456657273696f6e656458636d0000005c436f6e636174656e61746564456e636f646564426c6f620001001c5369676e616c7300020000b90700000408e5012000bd07000002c10700c107086463756d756c75735f70616c6c65745f78636d705f7175657565584f7574626f756e644368616e6e656c44657461696c730000140124726563697069656e74e50101185061726149640001147374617465c50701344f7574626f756e6453746174650001347369676e616c735f6578697374ac0110626f6f6c00012c66697273745f696e646578e0010c7531360001286c6173745f696e646578e0010c7531360000c507086463756d756c75735f70616c6c65745f78636d705f7175657565344f7574626f756e645374617465000108084f6b0000002453757370656e64656400010000c90700000408e501e000cd07086463756d756c75735f70616c6c65745f78636d705f71756575653c5175657565436f6e66696744617461000018014473757370656e645f7468726573686f6c6420010c75333200013864726f705f7468726573686f6c6420010c753332000140726573756d655f7468726573686f6c6420010c7533320001407468726573686f6c645f7765696768742801185765696768740001547765696768745f72657374726963745f646563617928011857656967687400016878636d705f6d61785f696e646976696475616c5f7765696768742801185765696768740000d1070000040ce501203400d5070c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144572726f72040454000114304661696c6564546f53656e640000046c4661696c656420746f2073656e642058434d206d6573736167652e3042616458636d4f726967696e0001043c4261642058434d206f726967696e2e1842616458636d000204344261642058434d20646174612e484261644f766572776569676874496e64657800030454426164206f76657277656967687420696e6465782e3c5765696768744f7665724c696d6974000404f850726f76696465642077656967687420697320706f737369626c79206e6f7420656e6f75676820746f206578656375746520746865206d6573736167652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ed9070c2870616c6c65745f78636d1870616c6c65742c5175657279537461747573042c426c6f636b4e756d6265720110010c1c50656e64696e67100124726573706f6e646572b902015856657273696f6e65644d756c74694c6f636174696f6e00014c6d617962655f6d617463685f71756572696572dd0701784f7074696f6e3c56657273696f6e65644d756c74694c6f636174696f6e3e0001306d617962655f6e6f74696679e10701404f7074696f6e3c2875382c207538293e00011c74696d656f757410012c426c6f636b4e756d6265720000003c56657273696f6e4e6f7469666965720801186f726967696eb902015856657273696f6e65644d756c74694c6f636174696f6e00012469735f616374697665ac0110626f6f6c000100145265616479080120726573706f6e7365e907014456657273696f6e6564526573706f6e7365000108617410012c426c6f636b4e756d62657200020000dd0704184f7074696f6e04045401b9020108104e6f6e6500000010536f6d650400b9020000010000e10704184f7074696f6e04045401e5070108104e6f6e6500000010536f6d650400e5070000010000e50700000408080800e907080c78636d4456657273696f6e6564526573706f6e73650001080856320400a105013076323a3a526573706f6e736500020008563304003d02013076333a3a526573706f6e736500030000ed070000040820b90200f1070000040c10282000f5070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401f907045300000400fd0701185665633c543e0000f90700000408b9022000fd07000002f9070001080c2870616c6c65745f78636d1870616c6c65745456657273696f6e4d6967726174696f6e53746167650001105c4d696772617465537570706f7274656456657273696f6e0000005c4d69677261746556657273696f6e4e6f74696669657273000100504e6f7469667943757272656e745461726765747304000508013c4f7074696f6e3c5665633c75383e3e000200684d696772617465416e644e6f746966794f6c645461726765747300030000050804184f7074696f6e04045401340108104e6f6e6500000010536f6d65040034000001000009080000040c20000d08000d08080c78636d4056657273696f6e65644173736574496400010408563304002d02012c76333a3a417373657449640003000011080c2870616c6c65745f78636d1870616c6c65746852656d6f74654c6f636b656446756e6769626c655265636f72640848436f6e73756d65724964656e746966696572013902304d6178436f6e73756d6572730000100118616d6f756e74180110753132380001146f776e6572b902015856657273696f6e65644d756c74694c6f636174696f6e0001186c6f636b6572b902015856657273696f6e65644d756c74694c6f636174696f6e000124636f6e73756d657273150801d0426f756e6465645665633c28436f6e73756d65724964656e7469666965722c2075313238292c204d6178436f6e73756d6572733e000015080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540119080453000004001d0801185665633c543e0000190800000408390218001d0800000219080021080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012508045300000400290801185665633c543e000025080000040818b9020029080000022508002d080c2870616c6c65745f78636d1870616c6c6574144572726f720404540001502c556e726561636861626c650000085d0154686520646573697265642064657374696e6174696f6e2077617320756e726561636861626c652c2067656e6572616c6c7920626563617573652074686572652069732061206e6f20776179206f6620726f7574696e6718746f2069742e2c53656e644661696c757265000108610154686572652077617320736f6d65206f746865722069737375652028692e652e206e6f7420746f20646f207769746820726f7574696e672920696e2073656e64696e6720746865206d6573736167652e2050657268617073a861206c61636b206f6620737061636520666f7220627566666572696e6720746865206d6573736167652e2046696c74657265640002049c546865206d65737361676520657865637574696f6e206661696c73207468652066696c7465722e48556e776569676861626c654d657373616765000304b4546865206d65737361676527732077656967687420636f756c64206e6f742062652064657465726d696e65642e6044657374696e6174696f6e4e6f74496e7665727469626c65000404f05468652064657374696e6174696f6e20604d756c74694c6f636174696f6e602070726f76696465642063616e6e6f7420626520696e7665727465642e14456d707479000504805468652061737365747320746f2062652073656e742061726520656d7074792e3843616e6e6f745265616e63686f720006043501436f756c64206e6f742072652d616e63686f72207468652061737365747320746f206465636c61726520746865206665657320666f72207468652064657374696e6174696f6e20636861696e2e34546f6f4d616e79417373657473000704c4546f6f206d616e79206173736574732068617665206265656e20617474656d7074656420666f72207472616e736665722e34496e76616c69644f726967696e000804784f726967696e20697320696e76616c696420666f722073656e64696e672e2842616456657273696f6e00090421015468652076657273696f6e206f6620746865206056657273696f6e6564602076616c75652075736564206973206e6f742061626c6520746f20626520696e7465727072657465642e2c4261644c6f636174696f6e000a08410154686520676976656e206c6f636174696f6e20636f756c64206e6f7420626520757365642028652e672e20626563617573652069742063616e6e6f742062652065787072657373656420696e2074686560646573697265642076657273696f6e206f662058434d292e384e6f537562736372697074696f6e000b04bc546865207265666572656e63656420737562736372697074696f6e20636f756c64206e6f7420626520666f756e642e44416c726561647953756273637269626564000c041101546865206c6f636174696f6e20697320696e76616c69642073696e636520697420616c726561647920686173206120737562736372697074696f6e2066726f6d2075732e30496e76616c69644173736574000d0480496e76616c696420617373657420666f7220746865206f7065726174696f6e2e284c6f7742616c616e6365000e044101546865206f776e657220646f6573206e6f74206f776e2028616c6c29206f662074686520617373657420746861742074686579207769736820746f20646f20746865206f7065726174696f6e206f6e2e30546f6f4d616e794c6f636b73000f04c0546865206173736574206f776e65722068617320746f6f206d616e79206c6f636b73206f6e207468652061737365742e4c4163636f756e744e6f74536f7665726569676e001004310154686520676976656e206163636f756e74206973206e6f7420616e206964656e7469666961626c6520736f7665726569676e206163636f756e7420666f7220616e79206c6f636174696f6e2e28466565734e6f744d65740011042901546865206f7065726174696f6e207265717569726564206665657320746f20626520706169642077686963682074686520696e69746961746f7220636f756c64206e6f74206d6565742e304c6f636b4e6f74466f756e64001204f4412072656d6f7465206c6f636b20776974682074686520636f72726573706f6e64696e67206461746120636f756c64206e6f7420626520666f756e642e14496e557365001304490154686520756e6c6f636b206f7065726174696f6e2063616e6e6f742073756363656564206265636175736520746865726520617265207374696c6c20636f6e73756d657273206f6620746865206c6f636b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e31080c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144572726f72040454000100048054686520604572726f726020656e756d206f6620746869732070616c6c65742e3508086063756d756c75735f70616c6c65745f646d705f717565756528436f6e6669674461746100000401386d61785f696e646976696475616c28011857656967687400003908086063756d756c75735f70616c6c65745f646d705f71756575653450616765496e6465784461746100000c0128626567696e5f7573656420012c50616765436f756e746572000120656e645f7573656420012c50616765436f756e7465720001406f7665727765696768745f636f756e7410013c4f766572776569676874496e64657800003d0800000241080041080000040820340045080c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144572726f720404540001081c556e6b6e6f776e0000048c546865206d65737361676520696e64657820676976656e20697320756e6b6e6f776e2e244f7665724c696d6974000104310154686520616d6f756e74206f662077656967687420676976656e20697320706f737369626c79206e6f7420656e6f75676820666f7220657865637574696e6720746865206d6573736167652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e4908102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c416464726573730121031043616c6c012504245369676e6174757265013105144578747261014d08000400340000004d08000004205108550859085d08610869086d08710800510810306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000550810306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000590810306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e040454000000005d0810306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000610810306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c697479040454000004006508010c45726100006508102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000690810306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e6365040454000004002c0120543a3a4e6f6e636500006d0810306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b576569676874040454000000007108086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e74040454000004000902013042616c616e63654f663c543e0000981853797374656d011853797374656d401c4163636f756e7401010402000c510100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e74000020040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010024180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e000020040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b486173680101040510308000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101040520340400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010010200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801003080000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010038040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004804001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e74010020100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101040230c9020400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e005901205468652076616c756520686173207468652074797065206028426c6f636b4e756d626572466f723c543e2c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000cd0204000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100ac0400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100ac0400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e50686173650000c502040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01d50201541830426c6f636b57656967687473e5026d01025b1f5d00070088526a7402004001c2a0a91d000107d00918a44b0200d000010700e6bd4f570200f000010000c2a0a91d000107d0abacbe680200200101070088526a7402004001010700a2941a1d02005000c2a0a91d0000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e677468f5023000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7410206009000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e204462576569676874fd0240089d26020000000000dce704000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6e01036103386b696c742d7370697269746e6574386b696c742d7370697269746e657401000000ca2b00000000000038df6acb689907609b0400000037e397fc7c91f5e402000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab5270590300000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d69620200000026609555c065660302000000a47b7d544994c99b0100000045bfba51a310b2230100000008000000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978e008260014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e011103002454696d657374616d70012454696d657374616d70080c4e6f7701001020000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100ac040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f0115030004344d696e696d756d506572696f6410207017000000000000104d0120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a5d0120706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c5d012067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c206265a020646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e00021c496e6469636573011c496e646963657304204163636f756e7473000104021019030400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e011d030178041c4465706f736974184000b47cf328350000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e012903052042616c616e636573012042616c616e6365731c34546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b7301010402002d03040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20526573657276657301010402003d03040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e14486f6c6473010104020049030400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a6573010104020071030400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e018503017c14484578697374656e7469616c4465706f736974184000a0724e18090000000000000000000020410120546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d5553542042452047524541544552205448414e205a45524f2100590120496620796f75202a7265616c6c792a206e65656420697420746f206265207a65726f2c20796f752063616e20656e61626c652074686520666561747572652060696e7365637572655f7a65726f5f65646020666f72610120746869732070616c6c65742e20486f77657665722c20796f7520646f20736f20617420796f7572206f776e207269736b3a20746869732077696c6c206f70656e2075702061206d616a6f7220446f5320766563746f722e590120496e206361736520796f752068617665206d756c7469706c6520736f7572636573206f662070726f7669646572207265666572656e6365732c20796f75206d617920616c736f2067657420756e65787065637465648c206265686176696f757220696620796f7520736574207468697320746f207a65726f2e00f020426f74746f6d206c696e653a20446f20796f757273656c662061206661766f757220616e64206d616b65206974206174206c65617374206f6e6521204d61784c6f636b7320103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d61785265736572766573201032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e204d6178486f6c647320103200000004190120546865206d6178696d756d206e756d626572206f6620686f6c647320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e284d6178467265657a657320103200000004610120546865206d6178696d756d206e756d626572206f6620696e646976696475616c20667265657a65206c6f636b7320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e01890306485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c69657201008d0340000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100910304000000018404604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e00071041757261011041757261082c417574686f726974696573010095030400046c205468652063757272656e7420617574686f72697479207365742e2c43757272656e74536c6f740100a5032000000000000000000c80205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e009420546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e00000000171c53657373696f6e011c53657373696f6e1c2856616c696461746f72730100b9010400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e646578010020100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100ac040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100a9030400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100b5030400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b6579730001040500b1030400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405b90300040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e01c10301880001c503164050617261636861696e5374616b696e67014050617261636861696e5374616b696e6740544d617853656c656374656443616e64696461746573010020100000000004090120546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c6563746564206174206561636820726f756e642e14526f756e640100c90350000000000000000000000000140000000000000004e82043757272656e7420726f756e64206e756d62657220616e64206e65787420726f756e64207363686564756c6564207472616e736974696f6e2e384c61737444656c65676174696f6e0101040500cd03200000000000000000140d012044656c65676174696f6e20696e666f726d6174696f6e20666f7220746865206c61746573742073657373696f6e20696e20776869636820612064656c656761746f722c2064656c6567617465642e000501204974206d6170732066726f6d20616e206163636f756e7420746f20746865206e756d626572206f662064656c65676174696f6e7320696e20746865206c617374982073657373696f6e20696e2077686963682074686579202872652d2964656c6567617465642e3844656c656761746f7253746174650001040500d10304000c802044656c65676174696f6e207374616b696e6720696e666f726d6174696f6e2e00cc204974206d6170732066726f6d20616e206163636f756e7420746f206974732064656c65676174696f6e2064657461696c732e3443616e646964617465506f6f6c0001040500d503040010a420546865207374616b696e6720696e666f726d6174696f6e20666f7220612063616e6469646174652e00b0204974206d6170732066726f6d20616e206163636f756e7420746f2069747320696e666f726d6174696f6e2eb8204d6f72656f7665722c20697420636f756e747320746865206e756d626572206f662063616e646964617465732e5c436f756e746572466f7243616e646964617465506f6f6c010020100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617048546f74616c436f6c6c61746f725374616b650100e90380000000000000000000000000000000000000000000000000000000000000000014f420546f74616c2066756e6473206c6f636b656420746f206261636b207468652063757272656e746c792073656c656374656420636f6c6c61746f72732ed0205468652073756d206f6620616c6c20636f6c6c61746f7220616e642074686569722064656c656761746f72207374616b65732e002101204e6f74653a20546865726520617265206d6f72652066756e6473206c6f636b656420627920746869732070616c6c65742c2073696e636520746865206261636b696e6720666f720901206e6f6e20636f6c6c6174696e672063616e64696461746573206973206e6f7420696e636c7564656420696e2060546f74616c436f6c6c61746f725374616b65602e34546f7043616e646964617465730100ed03040028e82054686520636f6c6c61746f722063616e64696461746573207769746820746865206869676865737420616d6f756e74206f66207374616b652e00190120456163682074696d6520746865207374616b65206f66206120636f6c6c61746f7220697320696e637265617365642c20697420697320636865636b65642077686574686572050120746869732070757368657320616e6f746865722063616e646964617465206f7574206f6620746865206c6973742e205768656e20746865207374616b652069732101207265647563656420686f77657665722c206974206973206e6f7420636865636b656420696620616e6f746865722063616e64696461746520686173206d6f7265207374616b652c11012073696e6365207468697320776f756c64207265717569726520697465726174696e67206f7665722074686520656e74697265206043616e646964617465506f6f6c602e001501205468657265206d75737420616c77617973206265206d6f72652063616e64696461746573207468616e20604d617853656c656374656443616e646964617465736020736f0d012074686174206120636f6c6c61746f722063616e2064726f70206f7574206f662074686520636f6c6c61746f7220736574206279207265647563696e672074686569721c207374616b652e3c496e666c6174696f6e436f6e6669670100f503c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046420496e666c6174696f6e20636f6e66696775726174696f6e2e24556e7374616b696e670101040500010404001088205468652066756e64732077616974696e6720746f20626520756e7374616b65642e001d01204974206d6170732066726f6d206163636f756e747320746f20616c6c207468652066756e64732061646472657373656420746f207468656d20696e20746865206675747572652020626c6f636b732e644d6178436f6c6c61746f7243616e6469646174655374616b65010018400000000000000000000000000000000004cc20546865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e6469646174652063616e207374616b652e4c4c617374526577617264526564756374696f6e010010200000000000000000140d0120546865207965617220696e20776869636820746865206c617374206175746f6d6174696320726564756374696f6e206f66207468652072657761726420726174657328206f636375727265642e00250120497420737461727473206174207a65726f2061742067656e6573697320616e6420696e6372656d656e7473206279206f6e6520657665727920424c4f434b535f5045525f5945415234206d616e7920626c6f636b732e38426c6f636b73417574686f726564010104050010200000000000000000080d0120546865206e756d626572206f6620617574686f72656420626c6f636b7320666f7220636f6c6c61746f72732e20497420697320757064617465642076696120746865b020606e6f74655f617574686f726020686f6f6b207768656e20617574686f72696e67206120626c6f636b202e38426c6f636b73526577617264656401010405001020000000000000000024210120546865206e756d626572206f6620626c6f636b7320666f7220776869636820726577617264732068617665206265656e20636c61696d656420627920616e20616464726573732e00190120466f7220636f6c6c61746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f7265642e2049742069732075706461746564207768656ecc20696e6372656d656e74696e6720636f6c6c61746f7220726577617264732c20656974686572207768656e2063616c6c696e67e02060696e635f636f6c6c61746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e00250120466f722064656c656761746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f726564206f662074686520636f6c6c61746f722e497420697305012075706461746564207768656e20696e6372656d656e74696e672064656c656761746f7220726577617264732c20656974686572207768656e2063616c6c696e67e42060696e635f64656c656761746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e1c5265776172647301010405001840000000000000000000000000000000000c01012054686520616363756d756c61746564207265776172647320666f7220636f6c6c61746f722063616e6469646174657320616e642064656c656761746f72732e001101204974206d6170732066726f6d206163636f756e747320746f20746865697220746f74616c20726577617264732073696e636520746865206c617374207061796f75742e34466f7263654e6577526f756e640100ac040000011104018c3c444d696e426c6f636b73506572526f756e6410202c0100000000000004d4204d696e696d756d206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e64732063616e206c6173742e5444656661756c74426c6f636b73506572526f756e641020580200000000000008fc2044656661756c74206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e6473206c6173742c2061732073657420696e207468655c2067656e6573697320636f6e66696775726174696f6e2e345374616b654475726174696f6e1020e0c40000000000000c0501204e756d626572206f6620626c6f636b7320666f7220776869636820756e7374616b65642062616c616e63652077696c6c207374696c6c206265206c6f636b6564f0206265666f72652069742063616e20626520756e6c6f636b6564206279206163746976656c792063616c6c696e67207468652065787472696e7369634c2060756e6c6f636b5f756e7374616b6564602e3845786974517565756544656c6179201002000000080901204e756d626572206f6620726f756e6473206120636f6c6c61746f722068617320746f207374617920616374697665206166746572207375626d697474696e672061c4207265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e304d696e436f6c6c61746f7273201010000000080d01204d696e696d756d206e756d626572206f6620636f6c6c61746f72732073656c65637465642066726f6d2074686520736574206f662063616e64696461746573206174602065766572792076616c69646174696f6e20726f756e642e504d696e5265717569726564436f6c6c61746f7273201004000000081101204d696e696d756d206e756d626572206f6620636f6c6c61746f72732077686963682063616e6e6f74206c6561766520746865206e6574776f726b2069662074686572653c20617265206e6f206f74686572732e584d617844656c65676174696f6e73506572526f756e64201001000000140101204d6178696d756d206e756d626572206f662064656c65676174696f6e732077686963682063616e206265206d6164652077697468696e207468652073616d651c20726f756e642e000d01204e4f54453a20546f2070726576656e742072652d64656c65676174696f6e2d7265776172642061747461636b732c2077652073686f756c64206b65657020746869732c20746f206265206f6e652e604d617844656c656761746f7273506572436f6c6c61746f7220102300000004e4204d6178696d756d206e756d626572206f662064656c656761746f727320612073696e676c6520636f6c6c61746f722063616e20686176652e404d6178546f7043616e6469646174657320104b00000004a0204d6178696d756d2073697a65206f662074686520746f702063616e64696461746573207365742e404d696e436f6c6c61746f725374616b6518400000e8890423c78a0000000000000000080901204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520656c65637465642061732076616c696461746f723420666f72206120726f756e642e644d696e436f6c6c61746f7243616e6469646174655374616b6518400000e8890423c78a0000000000000000080501204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520616464656420746f2074686520736574206f66302063616e646964617465732e444d696e44656c656761746f725374616b651840000082dfe40d4700000000000000000004f8204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f206265636f6d6520612064656c656761746f722e484d6178556e7374616b65526571756573747320100a00000028e8204d6178206e756d626572206f6620636f6e63757272656e742061637469766520756e7374616b696e67207265717565737473206265666f72652c20756e6c6f636b696e672e001501204e4f54453a20546f2070726f7465637420616761696e737420697272656d6f766162696c697479206f6620612063616e646964617465206f722064656c656761746f722cf4207765206f6e6c7920616c6c6f7720666f72204d6178556e7374616b655265717565737473202d2031206d616e79206d616e75616c20756e7374616b6501012072657175657374732e20546865206c617374206f6e6520736572766573206173206120706c616365686f6c64657220666f7220746865206361736573206f66f02063616c6c696e672065697468657220606b69636b5f64656c656761746f72602c20666f7263655f72656d6f76655f63616e64696461746560206f7209012060657865637574655f6c656176655f63616e64696461746573602e204f74686572776973652c2061207573657220636f756c64206d6178206f75742074686569720d0120756e7374616b6520726571756573747320616e642070726576656e74207468656d73656c7665732066726f6d206265696e67206b69636b65642066726f6d20746865f020736574206f662063616e646964617465732f64656c656761746f727320756e74696c207468657920756e6c6f636b2074686569722066756e64732e484e6574776f726b5265776172645374617274102048a3c800000000000c110120546865207374617274696e6720626c6f636b206e756d62657220666f7220746865206e6574776f726b20726577617264732e204f6e6365207468652063757272656e74090120626c6f636b206e756d626572206578636565647320746869732073746172742c207468652062656e65666963696172792077696c6c2072656365697665207468658420636f6e666967757265642072657761726420696e206561636820626c6f636b2e444e6574776f726b52657761726452617465902000008a5d784563010c0d0120546865207261746520696e2070657263656e7420666f7220746865206e6574776f726b207265776172647320776869636820617265206261736564206f6e207468650901206d6178696d756d206e756d626572206f6620636f6c6c61746f727320616e6420746865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e1c207374616b652e0115041528417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e00000000141c41757261457874011c41757261457874042c417574686f72697469657301009503040014942053657276657320617320636163686520666f722074686520617574686f7269746965732e0071012054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c790120627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973f0206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e00000000182444656d6f6372616379012444656d6f6372616379303c5075626c696350726f70436f756e74010020100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301001904040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f660001040520e90504000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e74010020100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b6564010020100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f660001040520f10504000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f660101040500fd05e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100ac0400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00001506040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001040630190604000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101040630ac0400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e284d657461646174614f6600010402a430040018ec2047656e6572616c20696e666f726d6174696f6e20636f6e6365726e696e6720616e792070726f706f73616c206f72207265666572656e64756d2e6901205468652060507265696d61676548617368602072656665727320746f2074686520707265696d616765206f66207468652060507265696d61676573602070726f76696465722077686963682063616e2062652061204a534f4e882064756d70206f7220495046532068617368206f662061204a534f4e2066696c652e00750120436f6e73696465722061206761726261676520636f6c6c656374696f6e20666f722061206d65746164617461206f662066696e6973686564207265666572656e64756d7320746f2060756e7265717565737460202872656d6f76652944206c6172676520707265696d616765732e0129040194303c456e6163746d656e74506572696f641020201c00000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f641020e0c400000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f641020e0c400000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f641020e0c4000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400080c6a47e8d0300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f776564ac04010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f641020840300000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f641020e0c400000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f74657320106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c73201064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f73697473201064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c697374656420106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e011d061e1c436f756e63696c011c436f756e63696c182450726f706f73616c7301002106040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f6600010406302504040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700010406302506040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e74010020100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100b9010400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01390401a804444d617850726f706f73616c576569676874282807004429353a0200a00004250120546865206d6178696d756d20776569676874206f6620612064697370617463682063616c6c20746861742063616e2062652070726f706f73656420616e642065786563757465642e0129061f48546563686e6963616c436f6d6d69747465650148546563686e6963616c436f6d6d6974746565182450726f706f73616c7301002d06040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f6600010406302504040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700010406302506040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e74010020100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100b9010400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01410401b804444d617850726f706f73616c576569676874282807004429353a0200a00004250120546865206d6178696d756d20776569676874206f6620612064697370617463682063616c6c20746861742063616e2062652070726f706f73656420616e642065786563757465642e013106204c546563686e6963616c4d656d62657273686970014c546563686e6963616c4d656d62657273686970081c4d656d6265727301003506040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01450401bc000139062220547265617375727901205472656173757279103450726f706f73616c436f756e74010020100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c7300010405203d060400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c7301004106040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e01490401c01c3050726f706f73616c426f6e6445061050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d1840000082dfe40d47000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756d49060400044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f641020c0a8000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e450610000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c657449644d06206b696c742f7473790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c732010640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e015106231c5574696c69747900014d0401c4044c626174636865645f63616c6c735f6c696d69742010aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e015506281c56657374696e67011c56657374696e67081c56657374696e6700010402005906040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100610604000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e01750401c808444d696e5665737465645472616e73666572184000407a10f35a0000000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c657320101c0000000001650629245363686564756c657201245363686564756c65720c3c496e636f6d706c65746553696e6365000010040000184167656e6461010104051069060400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001040504d0040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e017d0401cc08344d6178696d756d57656967687428280700a0db215d0200000104290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b201032000000141d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e0018204e4f54453a5101202b20446570656e64656e742070616c6c657473272062656e63686d61726b73206d696768742072657175697265206120686967686572206c696d697420666f72207468652073657474696e672e205365742061c420686967686572206c696d697420756e646572206072756e74696d652d62656e63686d61726b736020666561747572652e0179062a1450726f7879011450726f7879081c50726f7869657301010405007d064400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e747301010405008d0644000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01850401d8184050726f78794465706f7369744261736518400020f7a54b330000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f72184000f4a92b80010000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f7869657320100a00000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e6720100a00000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518400020f7a54b330000000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000e8535700030000000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e019d062b20507265696d6167650120507265696d6167650824537461747573466f720001040630a1060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f7200010406ad06b106040000018d0401e40001b5062c38546970734d656d626572736869700138546970734d656d62657273686970081c4d656d626572730100b906040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01910401e80001bd062d10546970730110546970730810546970730001040530c10604000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e7300010406303404000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01950401ec144c4d6178696d756d526561736f6e4c656e6774682010004000000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756548446174614465706f73697450657242797465184000743ba40b00000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e30546970436f756e74646f776e1020201c0000000000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e64657273466565cd060400043501205468652070657263656e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f73697442617365184000f45628fa320000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e01d1062e204d756c746973696701204d756c746973696704244d756c7469736967730001080502d506d906040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e01990401f00c2c4465706f73697442617365184000801b84ee320000000000000000000018590120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f842073746f726520612064697370617463682063616c6c20666f72206c617465722e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069733101206034202b2073697a656f662828426c6f636b4e756d6265722c2042616c616e63652c204163636f756e74496429296020627974657320616e642077686f7365206b65792073697a652069738020603332202b2073697a656f66284163636f756e74496429602062797465732e344465706f736974466163746f72184000743ba40b00000000000000000000000c55012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e00250120546869732069732068656c6420666f7220616464696e67203332206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e384d61785369676e61746f7269657320104000000004ec20546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420696e20746865206d756c74697369672e01e1062f1443747970650114437479706504184374797065730001040230e50604001060204354797065732073746f726564206f6e20636861696e2e001901204974206d6170732066726f6d2061204354797065206861736820746f206974732063726561746f7220616e6420626c6f636b206e756d62657220696e207768696368206974342077617320637265617465642e01a10401f80001e9063d2c4174746573746174696f6e012c4174746573746174696f6e08304174746573746174696f6e730001040230ed0604000c78204174746573746174696f6e732073746f726564206f6e20636861696e2e00cc204974206d6170732066726f6d206120636c61696d206861736820746f207468652066756c6c206174746573746174696f6e2e5045787465726e616c4174746573746174696f6e730101080502f506ac04000ca02044656c656761746564206174746573746174696f6e732073746f726564206f6e20636861696e2e00e8204974206d6170732066726f6d20612064656c65676174696f6e20494420746f206120766563746f72206f6620636c61696d206861736865732e01a50401fc081c4465706f7369741840001cc9dd006e0000000000000000000004e420546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720616e206174746573746174696f6e2e604d617844656c6567617465644174746573746174696f6e732010e803000008090120546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732077686963682063616e206265206d61646520627954207468652073616d652064656c65676174696f6e2e01f9063e2844656c65676174696f6e012844656c65676174696f6e083c44656c65676174696f6e4e6f6465730001040230fd0604000c882044656c65676174696f6e206e6f6465732073746f726564206f6e20636861696e2e00b0204974206d6170732066726f6d2061206e6f646520494420746f20746865206e6f64652064657461696c732e5444656c65676174696f6e48696572617263686965730001040230110704000ca02044656c65676174696f6e2068696572617263686965732073746f726564206f6e20636861696e2e00dc204974206d61707320666f7220612028726f6f7429206e6f646520494420746f20746865206869657261726368792064657461696c732e01b504010901181c4465706f73697418400080c6a47e8d0300000000000000000004dc20546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720612064656c65676174696f6e2e584d61785369676e6174757265427974654c656e677468e008400000384d61785265766f636174696f6e73201005000000047c204d6178696d756d206e756d626572206f66207265766f636174696f6e732e2c4d617852656d6f76616c7320100500000004f4204d6178696d756d206e756d626572206f662072656d6f76616c732e2053686f756c642062652073616d65206173204d61785265766f636174696f6e733c4d6178506172656e74436865636b73201005000000080d01204d6178696d756d206e756d626572206f6620757077617264732074726176657273616c73206f66207468652064656c65676174696f6e20747265652066726f6d2061f0206e6f646520746f2074686520726f6f7420616e64207468757320746865206465707468206f66207468652064656c65676174696f6e20747265652e2c4d61784368696c6472656e2010e80300000c0d01204d6178696d756d206e756d626572206f6620616c6c206368696c6472656e20666f7220612064656c65676174696f6e206e6f64652e20466f7220612062696e617279fc20747265652c20746869732073686f756c6420626520747769636520746865206d6178696d756d206465707468206f662074686520747265652c20692e652e5c206032205e204d6178506172656e74436865636b73602e0115073f0c446964010c446964100c4469640001040200190704000c5820444944732073746f726564206f6e20636861696e2e00c8204974206d6170732066726f6d206120444944206964656e74696669657220746f20746865204449442064657461696c732e4053657276696365456e64706f696e747300010805023907dd0404000ca0205365727669636520656e64706f696e7473206173736f636961746564207769746820444944732e000901204974206d6170732066726f6d2028444944206964656e7469666965722c20736572766963652049442920746f2074686520736572766963652064657461696c732e44446964456e64706f696e7473436f756e7401010402002010000000000cac20436f756e746572206f66207365727669636520656e64706f696e747320666f722065616368204449442e00cc204974206d6170732066726f6d2028444944206964656e7469666965722920746f20612033322d62697420636f756e7465722e30446964426c61636b6c6973740001040200b40400141d012054686520736574206f66204449447320746861742068617665206265656e2064656c6574656420616e642063616e6e6f74207468657265666f726520626520637265617465647020616761696e20666f7220736563757269747920726561736f6e732e002101204974206d6170732066726f6d206120444944206964656e74696669657220746f206120756e6974207475706c652c20666f72207468652073616b65206f6620747261636b696e674420444944206964656e746966696572732e01d104011101382c426173654465706f736974184000008d49fd1a07000000000000000000100d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974f820746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f73697473fc20696e6372656173652062792074686520616d6f756e74206f662075736564206b65797320616e64207365727669636520656e64706f696e74732e20546865c8206465706f7369742063616e206265207265636c61696d6564207768656e20746865204449442069732064656c657465642e5853657276696365456e64706f696e744465706f736974184000b0156a084a00000000000000000000100d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368207365727669636520656e64706f696e7409012061732061206465706f73697420746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e205468651501206465706f7369742063616e206265207265636c61696d6564207768656e20746865207365727669636520656e64706f696e742069732072656d6f766564206f722074686534204449442064656c657465642e284b65794465706f736974184000dc20749701000000000000000000000805012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368206164646564206b65792061732061e4206465706f73697420746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e0c466565184000203d88792d000000000000000000000c09012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f7220656163682044494420617320612066656520746f0d0120696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206665652077696c6c206e6f74206765748820726566756e646564207768656e20746865204449442069732064656c657465642e4c4d61785075626c69634b6579735065724469642010140000000c1101204d6178696d756d206e756d626572206f6620746f74616c207075626c6963206b6579732077686963682063616e2062652073746f7265642070657220444944206b6579d8206964656e7469666965722e205468697320696e636c7564657320746865206f6e65732063757272656e746c79207573656420666f72f02061757468656e7469636174696f6e2c206b65792061677265656d656e742c206174746573746174696f6e2c20616e642064656c65676174696f6e2e584d61784e65774b657941677265656d656e744b65797320100a000000081501204d6178696d756d206e756d626572206f66206b65792061677265656d656e74206b65797320746861742063616e20626520616464656420696e2061206372656174696f6e2c206f7065726174696f6e2e604d6178546f74616c4b657941677265656d656e744b657973201013000000101101204d6178696d756d206e756d626572206f6620746f74616c206b65792061677265656d656e74206b65797320746861742063616e2062652073746f72656420666f7220613420444944207375626a6563742e00c42053686f756c642062652067726561746572207468616e20604d61784e65774b657941677265656d656e744b657973602e4c4d6178426c6f636b73547856616c696469747910202c0100000000000008ec20546865206d6178696d756d206e756d626572206f6620626c6f636b732061204449442d617574686f72697a6564206f7065726174696f6e2069739420636f6e736964657265642076616c696420616674657220697473206372656174696f6e2e644d61784e756d6265724f66536572766963657350657244696420101900000004fc20546865206d6178696d756d206e756d626572206f6620736572766963657320746861742063616e2062652073746f72656420756e6465722061204449442e484d61785365727669636549644c656e677468201032000000049020546865206d6178696d756d206c656e677468206f66206120736572766963652049442e504d617853657276696365547970654c656e67746820103200000004c820546865206d6178696d756d206c656e677468206f66206120736572766963652074797065206465736372697074696f6e2e684d61784e756d6265724f6654797065735065725365727669636520100100000004090120546865206d6178696d756d206e756d626572206f662061207479706573206465736372697074696f6e20666f722061207365727669636520656e64706f696e742e4c4d61785365727669636555726c4c656e6774682010c8000000049420546865206d6178696d756d206c656e677468206f66206120736572766963652055524c2e644d61784e756d6265724f6655726c735065725365727669636520100200000004d420546865206d6178696d756d206e756d626572206f6620612055524c7320666f722061207365727669636520656e64706f696e742e013d074024496e666c6174696f6e000000084c496e697469616c506572696f644c656e677468102048a3c800000000000c050120546865206c656e677468206f662074686520696e697469616c20706572696f6420696e2077686963682074686520636f6e7374616e74207265776172642069731101206d696e7465642e204f6e6365207468652063757272656e7420626c6f636b206578636565647320746869732c207265776172647320617265206e6f206675727468657220206973737565642e4c496e697469616c506572696f64526577617264184036f539fdaeb30200000000000000000008fc2054686520616d6f756e74206f66206e65776c792069737375656420746f6b656e732070657220626c6f636b20647572696e672074686520696e697469616c2020706572696f642e0042244469644c6f6f6b757001244469644c6f6f6b75700834436f6e6e6563746564446964730001040219014107040004a8204d617070696e672066726f6d206163636f756e74206964656e7469666965727320746f20444944732e44436f6e6e65637465644163636f756e747300010802024507b404000cbc204d617070696e672066726f6d2028444944202b206163636f756e74206964656e74696669657229202d3e2028292e0d012054686520656d707479207475706c65206973207573656420617320612073656e74696e656c2076616c756520746f2073696d706c7920696e64696361746520746865982070726573656e6365206f66206120676976656e207475706c6520696e20746865206d61702e012905011501041c4465706f736974184000c0afd69136000000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e0149074324576562334e616d65730124576562334e616d65730c144f776e65720001040229014d0704000488204d6170206f66206e616d65202d3e206f776e6572736869702064657461696c732e144e616d65730001040200290104000458204d6170206f66206f776e6572202d3e206e616d652e1842616e6e6564000104022901b404000c4c204d6170206f66206e616d65202d3e2028292e00e02049662061206e616d65206b65792069732070726573656e742c20746865206e616d652069732063757272656e746c792062616e6e65642e0139050125010c1c4465706f736974184000d450a85d6b0000000000000000000004bc2054686520616d6f756e74206f66204b494c5420746f206465706f73697420746f20636c61696d2061206e616d652e344d696e4e616d654c656e677468201003000000048820546865206d696e20656e636f646564206c656e677468206f662061206e616d652e344d61784e616d654c656e677468201020000000048820546865206d617820656e636f646564206c656e677468206f662061206e616d652e01510744445075626c696343726564656e7469616c7301445075626c696343726564656e7469616c73082c43726564656e7469616c730001080502d101550704000cc020546865206d6170206f66207075626c69632063726564656e7469616c7320616c72656164792061747465737465642ef0204974206d6170732066726f6d206120287375626a656374206964202b2063726564656e7469616c20696429202d3e20746865206372656174696f6e6c2064657461696c73206f66207468652063726564656e7469616c2e4843726564656e7469616c5375626a656374730001040230350104001025012041207265766572736520696e646578206d617070696e672066726f6d2063726564656e7469616c20494420746f20746865207375626a656374207468652063726564656e7469616c3c207761732069737375656420746f2e001901204974206974207573656420746f20706572666f726d20656666696369656e74206c6f6f6b7570206f662063726564656e7469616c7320676976656e2074686569722049442e013d050131010c1c4465706f7369741840005c6a51fc45000000000000000000000411012054686520616d6f756e74206f6620746f6b656e7320746f2072657365727665207768656e20617474657374696e672061207075626c69632063726564656e7469616c2e584d6178456e636f646564436c61696d734c656e6774682010a0860100040d0120546865206d6178696d756d206c656e67746820696e206279746573206f662074686520656e636f64656420636c61696d73206f6620612063726564656e7469616c2e484d61785375626a65637449644c656e67746820100c01000008e820546865206d6178696d756d206c656e67746820696e206279746573206f6620746865207261772063726564656e7469616c207375626a65637430206964656e7469666965722e01590745244d6967726174696f6e01244d6967726174696f6e04304d696772617465644b6579730001040230b4040000014d0501a10104584d61784d6967726174696f6e7350657250616c6c657420106400000004b420546865206d617820616d6f756e74206f6e206d6967726174696f6e7320666f7220656163682070616c6c6574015d07463c50617261636861696e53797374656d013c50617261636861696e53797374656d545450656e64696e6756616c69646174696f6e436f64650100340400107d0120496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e00090220417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b73705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f44455dad012077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e444e657756616c69646174696f6e436f64650000340400145d012056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e647820636f6e73657175656e746c79207468652072656c61792d636861696e2e00650120546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c7265616479207365742c207468652076616c75652e3856616c69646174696f6e446174610000590504000cd020546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e2d0120546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f7265643420696e2074686520747269652e5044696453657456616c69646174696f6e436f64650100ac040004e02057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f644c61737452656c6179436861696e426c6f636b4e756d6265720100201000000000041d01205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e60557067726164655265737472696374696f6e5369676e616c0100610704001c750120416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e610120496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365646c2063616e6469646174652077696c6c20626520696e76616c69642e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3c52656c6179537461746550726f6f6600006105040018c4205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e5852656c6576616e744d6573736167696e6753746174650000690704001c65012054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e2061732070657248207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e44486f7374436f6e66696775726174696f6e00007d070400182901205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e384c617374446d714d7163486561640100810780000000000000000000000000000000000000000000000000000000000000000010f420546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e404c61737448726d704d7163486561647301008507040010490120546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e6450726f636573736564446f776e776172644d6573736167657301002010000000000cc8204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e3448726d7057617465726d61726b01002010000000000ca02048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5048726d704f7574626f756e644d657373616765730100910704000ca42048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e385570776172644d657373616765730100e10204000cac20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5450656e64696e675570776172644d657373616765730100e102040004310120557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e84416e6e6f756e63656448726d704d6573736167657350657243616e646964617465010020100000000008650120546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f72f020616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e68526573657276656458636d705765696768744f766572726964650000280400085d01205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e645265736572766564446d705765696768744f766572726964650000280400085901205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e44417574686f72697a65645570677261646500009907040004b820546865206e65787420617574686f72697a656420757067726164652c206966207468657265206973206f6e652e60437573746f6d56616c69646174696f6e486561644461746100003404000c2901204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e00110120536565206050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f646174616020666f72206d6f726520696e666f726d6174696f6e2e01510501d90100019d07503450617261636861696e496e666f013450617261636861696e496e666f042c50617261636861696e49640100e501106400000000018505000000512458636d705175657565012458636d7051756575652844496e626f756e6458636d705374617475730100a1070400049420537461747573206f662074686520696e626f756e642058434d50206368616e6e656c732e4c496e626f756e6458636d704d657373616765730101080205b90734040004190120496e626f756e64206167677265676174652058434d50206d657373616765732e2049742063616e206f6e6c79206265206f6e6520706572205061726149642f626c6f636b2e484f7574626f756e6458636d705374617475730100bd070400185d0120546865206e6f6e2d656d7074792058434d50206368616e6e656c7320696e206f72646572206f66206265636f6d696e67206e6f6e2d656d7074792c20616e642074686520696e646578206f6620746865206669727374510120616e64206c617374206f7574626f756e64206d6573736167652e204966207468652074776f20696e64696365732061726520657175616c2c207468656e20697420696e6469636174657320616e20656d707479590120717565756520616e64207468657265206d7573742062652061206e6f6e2d604f6b6020604f7574626f756e64537461747573602e20576520617373756d65207175657565732067726f77206e6f20677265617465725901207468616e203635353335206974656d732e20517565756520696e646963657320666f72206e6f726d616c206d6573736167657320626567696e206174206f6e653b207a65726f20697320726573657276656420696e11012063617365206f6620746865206e65656420746f2073656e64206120686967682d7072696f72697479207369676e616c206d657373616765207468697320626c6f636b2e09012054686520626f6f6c20697320747275652069662074686572652069732061207369676e616c206d6573736167652077616974696e6720746f2062652073656e742e504f7574626f756e6458636d704d657373616765730101080205c90734040004bc20546865206d65737361676573206f7574626f756e6420696e206120676976656e2058434d50206368616e6e656c2e385369676e616c4d6573736167657301010402e50134040004a020416e79207369676e616c206d657373616765732077616974696e6720746f2062652073656e742e2c5175657565436f6e6669670100cd0774020000000500000001000000821a06000008000700c817a804020004000415012054686520636f6e66696775726174696f6e20776869636820636f6e74726f6c73207468652064796e616d696373206f6620746865206f7574626f756e642071756575652e284f7665727765696768740001040510d107040010050120546865206d657373616765732074686174206578636565646564206d617820696e646976696475616c206d65737361676520776569676874206275646765742e003901205468657365206d657373616765207374617920696e20746869732073746f72616765206d617020756e74696c207468657920617265206d616e75616c6c79206469737061746368656420766961582060736572766963655f6f766572776569676874602e50436f756e746572466f724f766572776569676874010020100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c4f766572776569676874436f756e7401001020000000000000000008690120546865206e756d626572206f66206f766572776569676874206d657373616765732065766572207265636f7264656420696e20604f766572776569676874602e20416c736f20646f75626c657320617320746865206e6578748420617661696c61626c652066726565206f76657277656967687420696e6465782e38517565756553757370656e6465640100ac04000441012057686574686572206f72206e6f74207468652058434d502071756575652069732073757370656e6465642066726f6d20657865637574696e6720696e636f6d696e672058434d73206f72206e6f742e01890501dd010001d507522c506f6c6b61646f7458636d012c506f6c6b61646f7458636d30305175657279436f756e746572010010200000000000000000048820546865206c617465737420617661696c61626c6520717565727920696e6465782e1c517565726965730001040210d9070400045420546865206f6e676f696e6720717565726965732e28417373657454726170730101040630201000000000106820546865206578697374696e672061737365742074726170732e007501204b65792069732074686520626c616b6532203235362068617368206f6620286f726967696e2c2076657273696f6e656420604d756c7469417373657473602920706169722e2056616c756520697320746865206e756d626572206f661d012074696d65732074686973207061697220686173206265656e20747261707065642028757375616c6c79206a75737420312069662069742065786973747320617420616c6c292e385361666558636d56657273696f6e00002004000861012044656661756c742076657273696f6e20746f20656e636f64652058434d207768656e206c61746573742076657273696f6e206f662064657374696e6174696f6e20697320756e6b6e6f776e2e20496620604e6f6e65602c3d01207468656e207468652064657374696e6174696f6e732077686f73652058434d2076657273696f6e20697320756e6b6e6f776e2061726520636f6e7369646572656420756e726561636861626c652e40537570706f7274656456657273696f6e0001080502ed0720040004f020546865204c61746573742076657273696f6e732074686174207765206b6e6f7720766172696f7573206c6f636174696f6e7320737570706f72742e4056657273696f6e4e6f746966696572730001080502ed0710040004050120416c6c206c6f636174696f6e7320746861742077652068617665207265717565737465642076657273696f6e206e6f74696669636174696f6e732066726f6d2e5056657273696f6e4e6f74696679546172676574730001080502ed07f10704000871012054686520746172676574206c6f636174696f6e73207468617420617265207375627363726962656420746f206f75722076657273696f6e206368616e6765732c2061732077656c6c20617320746865206d6f737420726563656e7494206f66206f75722076657273696f6e7320776520696e666f726d6564207468656d206f662e5456657273696f6e446973636f7665727951756575650100f50704000c65012044657374696e6174696f6e732077686f7365206c61746573742058434d2076657273696f6e20776520776f756c64206c696b6520746f206b6e6f772e204475706c696361746573206e6f7420616c6c6f7765642c20616e6471012074686520607533326020636f756e74657220697320746865206e756d626572206f662074696d6573207468617420612073656e6420746f207468652064657374696e6174696f6e20686173206265656e20617474656d707465642c8c20776869636820697320757365642061732061207072696f726974697a6174696f6e2e4043757272656e744d6967726174696f6e000001080400049c205468652063757272656e74206d6967726174696f6e27732073746167652c20696620616e792e5452656d6f74654c6f636b656446756e6769626c657300010c05020209081108040004f02046756e6769626c6520617373657473207768696368207765206b6e6f7720617265206c6f636b6564206f6e20612072656d6f746520636861696e2e3c4c6f636b656446756e6769626c657300010402002108040004e02046756e6769626c6520617373657473207768696368207765206b6e6f7720617265206c6f636b6564206f6e207468697320636861696e2e5458636d457865637574696f6e53757370656e6465640100ac040004b420476c6f62616c2073757370656e73696f6e207374617465206f66207468652058434d206578656375746f722e018d0501e90100012d08532843756d756c757358636d000001bd02000131085420446d7051756575650120446d7051756575651434436f6e66696775726174696f6e01003508280700e40b540202000400044c2054686520636f6e66696775726174696f6e2e2450616765496e646578010039084000000000000000000000000000000000044020546865207061676520696e6465782e14506167657301010402203d0804000444205468652071756575652070616765732e284f766572776569676874000104021041080400046420546865206f766572776569676874206d657373616765732e50436f756e746572466f724f766572776569676874010020100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617001e10501c10200014508554908042048436865636b4e6f6e5a65726f53656e6465725108b440436865636b5370656356657273696f6e55082038436865636b547856657273696f6e59082030436865636b47656e657369735d083038436865636b4d6f7274616c69747961083028436865636b4e6f6e63656908b42c436865636b5765696768746d08b4604368617267655472616e73616374696f6e5061796d656e747108b4a901"} \ No newline at end of file +{"result":"0x6d6574610ea908000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f08144e6f6e636501102c4163636f756e74446174610114001401146e6f6e63651001144e6f6e6365000124636f6e73756d657273200120526566436f756e7400012470726f766964657273200120526566436f756e7400012c73756666696369656e7473200120526566436f756e740001106461746114012c4163636f756e74446174610000100000050600140c3c70616c6c65745f62616c616e6365731474797065732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500011866726f7a656e18011c42616c616e6365000114666c6167731c01284578747261466c61677300001800000507001c0c3c70616c6c65745f62616c616e636573147479706573284578747261466c61677300000400180110753132380000200000050500240c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540128000c01186e6f726d616c2801045400012c6f7065726174696f6e616c280104540001246d616e6461746f7279280104540000280c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d652c010c75363400012870726f6f665f73697a652c010c75363400002c000006100030083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d000034000002080038102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f67733c013c5665633c4469676573744974656d3e00003c000002400040102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e00060024436f6e73656e7375730800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e000400105365616c0800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e000500144f74686572040034011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e74557064617465640008000044000003040000000800480000024c004c08306672616d655f73797374656d2c4576656e745265636f7264080445015004540130000c01147068617365fd02011450686173650001146576656e7450010445000118746f70696373b10101185665633c543e00005008447370697269746e65745f72756e74696d653052756e74696d654576656e740001881853797374656d04005401706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c496e6469636573040078017870616c6c65745f696e64696365733a3a4576656e743c52756e74696d653e0005002042616c616e63657304007c017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000600485472616e73616374696f6e5061796d656e7404008401a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e0007001c53657373696f6e040088015470616c6c65745f73657373696f6e3a3a4576656e740016004050617261636861696e5374616b696e6704008c018470617261636861696e5f7374616b696e673a3a4576656e743c52756e74696d653e0015002444656d6f6372616379040094018070616c6c65745f64656d6f63726163793a3a4576656e743c52756e74696d653e001e001c436f756e63696c0400a801fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d69747465650400b801fc70616c6c65745f636f6c6c6563746976653a3a4576656e743c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020004c546563686e6963616c4d656d626572736869700400bc01fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365313e0022002054726561737572790400c0017c70616c6c65745f74726561737572793a3a4576656e743c52756e74696d653e0023001c5574696c6974790400c4015470616c6c65745f7574696c6974793a3a4576656e740028001c56657374696e670400c8017870616c6c65745f76657374696e673a3a4576656e743c52756e74696d653e002900245363686564756c65720400cc018070616c6c65745f7363686564756c65723a3a4576656e743c52756e74696d653e002a001450726f78790400d8017070616c6c65745f70726f78793a3a4576656e743c52756e74696d653e002b0020507265696d6167650400e4017c70616c6c65745f707265696d6167653a3a4576656e743c52756e74696d653e002c0038546970734d656d626572736869700400e801fc70616c6c65745f6d656d626572736869703a3a4576656e743c52756e74696d652c2070616c6c65745f6d656d626572736869703a3a496e7374616e6365323e002d0010546970730400ec016c70616c6c65745f746970733a3a4576656e743c52756e74696d653e002e00204d756c74697369670400f0017c70616c6c65745f6d756c74697369673a3a4576656e743c52756e74696d653e002f001443747970650400f8015463747970653a3a4576656e743c52756e74696d653e003d002c4174746573746174696f6e0400fc016c6174746573746174696f6e3a3a4576656e743c52756e74696d653e003e002844656c65676174696f6e04000901016864656c65676174696f6e3a3a4576656e743c52756e74696d653e003f000c44696404001101014c6469643a3a4576656e743c52756e74696d653e004000244469644c6f6f6b757004001501018470616c6c65745f6469645f6c6f6f6b75703a3a4576656e743c52756e74696d653e00430024576562334e616d657304002501018470616c6c65745f776562335f6e616d65733a3a4576656e743c52756e74696d653e004400445075626c696343726564656e7469616c730400310101887075626c69635f63726564656e7469616c733a3a4576656e743c52756e74696d653e004500244d6967726174696f6e0400a101018070616c6c65745f6d6967726174696f6e3a3a4576656e743c52756e74696d653e0046002c44697050726f76696465720400d901018c70616c6c65745f6469705f70726f76696465723a3a4576656e743c52756e74696d653e004700384465706f73697453746f726167650400dd01019870616c6c65745f6465706f7369745f73746f726167653a3a4576656e743c52756e74696d653e0048003c50617261636861696e53797374656d0400110201bc63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d3a3a4576656e743c52756e74696d653e0050002458636d7051756575650400150201a463756d756c75735f70616c6c65745f78636d705f71756575653a3a4576656e743c52756e74696d653e0052002c506f6c6b61646f7458636d04002102016870616c6c65745f78636d3a3a4576656e743c52756e74696d653e0053002843756d756c757358636d0400f502018863756d756c75735f70616c6c65745f78636d3a3a4576656e743c52756e74696d653e00540020446d7051756575650400f90201a063756d756c75735f70616c6c65745f646d705f71756575653a3a4576656e743c52756e74696d653e00550000540c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5801304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7264013444697370617463684572726f7200013464697370617463685f696e666f5801304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e7449640001106861736830011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e580c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874280118576569676874000114636c6173735c01344469737061746368436c617373000120706179735f6665656001105061797300005c0c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f727900020000600c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000064082873705f72756e74696d653444697370617463684572726f72000138144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040068012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e04006c0128546f6b656e4572726f720007002841726974686d65746963040070013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007401485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c0038526f6f744e6f74416c6c6f776564000d000068082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7244018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d00006c082873705f72756e74696d6528546f6b656e4572726f720001284046756e6473556e617661696c61626c65000000304f6e6c7950726f76696465720001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f727465640006004043616e6e6f74437265617465486f6c64000700344e6f74457870656e6461626c650008001c426c6f636b65640009000070083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000074082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000780c3870616c6c65745f696e64696365731870616c6c6574144576656e7404045400010c34496e64657841737369676e656408010c77686f000130543a3a4163636f756e744964000114696e64657810013c543a3a4163636f756e74496e6465780000047441206163636f756e7420696e646578207761732061737369676e65642e28496e6465784672656564040114696e64657810013c543a3a4163636f756e74496e646578000104bc41206163636f756e7420696e64657820686173206265656e2066726565642075702028756e61737369676e6564292e2c496e64657846726f7a656e080114696e64657810013c543a3a4163636f756e74496e64657800010c77686f000130543a3a4163636f756e744964000204e841206163636f756e7420696e64657820686173206265656e2066726f7a656e20746f206974732063757272656e74206163636f756e742049442e047c54686520604576656e746020656e756d206f6620746869732070616c6c65747c0c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001541c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e636553657408010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475738001185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e184d696e74656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000a049c536f6d6520616d6f756e7420776173206d696e74656420696e746f20616e206163636f756e742e184275726e656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000b049c536f6d6520616d6f756e7420776173206275726e65642066726f6d20616e206163636f756e742e2453757370656e64656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000c041501536f6d6520616d6f756e74207761732073757370656e6465642066726f6d20616e206163636f756e74202869742063616e20626520726573746f726564206c61746572292e20526573746f72656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000d04a4536f6d6520616d6f756e742077617320726573746f72656420696e746f20616e206163636f756e742e20557067726164656404010c77686f000130543a3a4163636f756e744964000e0460416e206163636f756e74207761732075706772616465642e18497373756564040118616d6f756e74180128543a3a42616c616e6365000f042d01546f74616c2069737375616e63652077617320696e637265617365642062792060616d6f756e74602c206372656174696e6720612063726564697420746f2062652062616c616e6365642e2452657363696e646564040118616d6f756e74180128543a3a42616c616e63650010042501546f74616c2069737375616e636520776173206465637265617365642062792060616d6f756e74602c206372656174696e672061206465627420746f2062652062616c616e6365642e184c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500110460536f6d652062616c616e636520776173206c6f636b65642e20556e6c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500120468536f6d652062616c616e63652077617320756e6c6f636b65642e1846726f7a656e08010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500130460536f6d652062616c616e6365207761732066726f7a656e2e1854686177656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500140460536f6d652062616c616e636520776173207468617765642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65748014346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e6365537461747573000108104672656500000020526573657276656400010000840c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574880c3870616c6c65745f73657373696f6e1870616c6c6574144576656e74000104284e657753657373696f6e04013473657373696f6e5f696e64657820013053657373696f6e496e64657800000839014e65772073657373696f6e206861732068617070656e65642e204e6f746520746861742074686520617267756d656e74206973207468652073657373696f6e20696e6465782c206e6f74207468659c626c6f636b206e756d626572206173207468652074797065206d6967687420737567676573742e047c54686520604576656e746020656e756d206f6620746869732070616c6c65748c0c4470617261636861696e5f7374616b696e671870616c6c6574144576656e74040454000154204e6577526f756e640800100144426c6f636b4e756d626572466f723c543e000020013053657373696f6e496e6465780000088041206e6577207374616b696e6720726f756e642068617320737461727465642e785c5b626c6f636b206e756d6265722c20726f756e64206e756d6265725c5d50456e7465726564546f7043616e646964617465730400000130543a3a4163636f756e744964000108cc41206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d444c656674546f7043616e646964617465730400000130543a3a4163636f756e744964000208d8416e206163636f756e74207761732072656d6f7665642066726f6d2074686520736574206f6620746f702063616e646964617465732e2c5c5b6163636f756e745c5d604a6f696e6564436f6c6c61746f7243616e646964617465730800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000308e041206e6577206163636f756e7420686173206a6f696e65642074686520736574206f6620636f6c6c61746f722063616e646964617465732ebc5c5b6163636f756e742c20616d6f756e74207374616b656420627920746865206e65772063616e6469646174655c5d48436f6c6c61746f725374616b65644d6f72650c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00040801014120636f6c6c61746f722063616e6469646174652068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d48436f6c6c61746f725374616b65644c6573730c00000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00050801014120636f6c6c61746f722063616e64696461746520686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b652ec45c5b636f6c6c61746f722773206163636f756e742c2070726576696f7573207374616b652c206e6577207374616b655c5d54436f6c6c61746f725363686564756c6564457869740c0020013053657373696f6e496e6465780000000130543a3a4163636f756e744964000020013053657373696f6e496e64657800061001014120636f6c6c61746f722063616e646964617465206861732073746172746564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e646964617465732e205c5b726f756e64206e756d6265722c20636f6c6c61746f722773206163636f756e742c20726f756e64206e756d626572207768656ee074686520636f6c6c61746f722077696c6c206265206566666563746976656c792072656d6f7665642066726f6d2074686520736574206f663063616e646964617465735c5d50436f6c6c61746f7243616e63656c6564457869740400000130543a3a4163636f756e74496400070c05014120636f6c6c61746f722063616e646964617465206861732063616e63656c6564207468652070726f6365737320746f206c656176652074686520736574206f66050163616e6469646174657320616e6420776173206164646564206261636b20746f207468652063616e64696461746520706f6f6c2e205c5b636f6c6c61746f722773246163636f756e745c5d3443616e6469646174654c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000808cc416e206163636f756e7420686173206c6566742074686520736574206f6620636f6c6c61746f722063616e646964617465732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d3c436f6c6c61746f7252656d6f7665640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000908e4416e206163636f756e742077617320666f726365646c792072656d6f7665642066726f6d207468652020736574206f6620636f6c6c61746f72c863616e646964617465732e205c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d604d617843616e6469646174655374616b654368616e676564040018013042616c616e63654f663c543e000a08b4546865206d6178696d756d2063616e646964617465207374616b6520686173206265656e206368616e6765642e485c5b6e6577206d617820616d6f756e745c5d4c44656c656761746f725374616b65644d6f72651000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000b0cf0412064656c656761746f722068617320696e637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d4c44656c656761746f725374616b65644c6573731000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e000c0cf0412064656c656761746f7220686173206465637265617365642074686520616d6f756e74206f662066756e6473206174207374616b6520666f722061f4636f6c6c61746f722e205c5b64656c656761746f722773206163636f756e742c20636f6c6c61746f722773206163636f756e742c2070726576696f7573a064656c65676174696f6e207374616b652c206e65772064656c65676174696f6e207374616b655c5d3444656c656761746f724c6566740800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000d08a8416e206163636f756e7420686173206c6566742074686520736574206f662064656c656761746f72732e985c5b6163636f756e742c20616d6f756e74206f662066756e647320756e2d7374616b65645c5d2844656c65676174696f6e1000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000e0cc8416e206163636f756e74206861732064656c6567617465642061206e657720636f6c6c61746f722063616e6469646174652e11015c5b6163636f756e742c20616d6f756e74206f662066756e6473207374616b65642c20746f74616c20616d6f756e74206f662064656c656761746f7273272066756e64738c7374616b656420666f722074686520636f6c6c61746f722063616e6469646174655c5d4844656c65676174696f6e5265706c616365641800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e0000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000f180d0141206e65772064656c65676174696f6e20686173207265706c6163656420616e206578697374696e67206f6e6520696e2074686520736574206f66206f6e676f696e67010164656c65676174696f6e7320666f72206120636f6c6c61746f722063616e6469646174652e205c5b6e65772064656c656761746f722773206163636f756e742c0901616d6f756e74206f662066756e6473207374616b656420696e20746865206e65772064656c65676174696f6e2c207265706c616365642064656c656761746f7227730d016163636f756e742c20616d6f756e74206f662066756e6473207374616b656420696e20746865207265706c6163652064656c65676174696f6e2c20636f6c6c61746f72050163616e6469646174652773206163636f756e742c206e657720746f74616c20616d6f756e74206f662064656c656761746f7273272066756e6473207374616b656470666f722074686520636f6c6c61746f722063616e6469646174655c5d5444656c656761746f724c656674436f6c6c61746f721000000130543a3a4163636f756e7449640000000130543a3a4163636f756e744964000018013042616c616e63654f663c543e000018013042616c616e63654f663c543e00100cdc416e206163636f756e74206861732073746f707065642064656c65676174696e67206120636f6c6c61746f722063616e6469646174652e09015c5b6163636f756e742c20636f6c6c61746f722063616e6469646174652773206163636f756e742c206f6c6420616d6f756e74206f662064656c656761746f727327d866756e6473207374616b65642c206e657720616d6f756e74206f662064656c656761746f7273272066756e6473207374616b65645c5d2052657761726465640800000130543a3a4163636f756e744964000018013042616c616e63654f663c543e001108c04120636f6c6c61746f72206f7220612064656c656761746f72206861732072656365697665642061207265776172642e745c5b6163636f756e742c20616d6f756e74206f66207265776172645c5d44526f756e64496e666c6174696f6e536574100090012c5065727175696e74696c6c000090012c5065727175696e74696c6c000090012c5065727175696e74696c6c000090012c5065727175696e74696c6c00120c0501496e666c6174696f6e20636f6e66696775726174696f6e20666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e09015c5b6d6178696d756d20636f6c6c61746f722773207374616b696e6720726174652c206d6178696d756d20636f6c6c61746f7227732072657761726420726174652c0d016d6178696d756d2064656c656761746f722773207374616b696e6720726174652c206d6178696d756d2064656c656761746f7227732072657761726420726174655c5d604d617853656c656374656443616e64696461746573536574080020010c753332000020010c753332001308f0546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c656374656420696e20667574757265dc76616c69646174696f6e20726f756e647320686173206368616e6765642e205c5b6f6c642076616c75652c206e65772076616c75655c5d44426c6f636b73506572526f756e64536574100020013053657373696f6e496e6465780000100144426c6f636b4e756d626572466f723c543e0000100144426c6f636b4e756d626572466f723c543e0000100144426c6f636b4e756d626572466f723c543e00140cf8546865206c656e67746820696e20626c6f636b7320666f72206675747572652076616c69646174696f6e20726f756e647320686173206368616e6765642e01015c5b726f756e64206e756d6265722c20666972737420626c6f636b20696e207468652063757272656e7420726f756e642c206f6c642076616c75652c206e65771c76616c75655c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574900c3473705f61726974686d65746963287065725f7468696e67732c5065727175696e74696c6c0000040010010c7536340000940c4070616c6c65745f64656d6f63726163791870616c6c6574144576656e740404540001442050726f706f73656408013870726f706f73616c5f696e64657820012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000004bc41206d6f74696f6e20686173206265656e2070726f706f7365642062792061207075626c6963206163636f756e742e185461626c656408013870726f706f73616c5f696e64657820012450726f70496e64657800011c6465706f73697418013042616c616e63654f663c543e000104d841207075626c69632070726f706f73616c20686173206265656e207461626c656420666f72207265666572656e64756d20766f74652e3845787465726e616c5461626c656400020494416e2065787465726e616c2070726f706f73616c20686173206265656e207461626c65642e1c537461727465640801247265665f696e64657820013c5265666572656e64756d496e6465780001247468726573686f6c64980134566f74655468726573686f6c640003045c41207265666572656e64756d2068617320626567756e2e185061737365640401247265665f696e64657820013c5265666572656e64756d496e646578000404ac412070726f706f73616c20686173206265656e20617070726f766564206279207265666572656e64756d2e244e6f745061737365640401247265665f696e64657820013c5265666572656e64756d496e646578000504ac412070726f706f73616c20686173206265656e2072656a6563746564206279207265666572656e64756d2e2443616e63656c6c65640401247265665f696e64657820013c5265666572656e64756d496e6465780006048041207265666572656e64756d20686173206265656e2063616e63656c6c65642e2444656c65676174656408010c77686f000130543a3a4163636f756e744964000118746172676574000130543a3a4163636f756e744964000704dc416e206163636f756e74206861732064656c65676174656420746865697220766f746520746f20616e6f74686572206163636f756e742e2c556e64656c65676174656404011c6163636f756e74000130543a3a4163636f756e744964000804e4416e206163636f756e74206861732063616e63656c6c656420612070726576696f75732064656c65676174696f6e206f7065726174696f6e2e185665746f65640c010c77686f000130543a3a4163636f756e74496400013470726f706f73616c5f6861736830011048323536000114756e74696c100144426c6f636b4e756d626572466f723c543e00090494416e2065787465726e616c2070726f706f73616c20686173206265656e207665746f65642e2c426c61636b6c697374656404013470726f706f73616c5f6861736830011048323536000a04c4412070726f706f73616c5f6861736820686173206265656e20626c61636b6c6973746564207065726d616e656e746c792e14566f7465640c0114766f746572000130543a3a4163636f756e7449640001247265665f696e64657820013c5265666572656e64756d496e646578000110766f74659c01644163636f756e74566f74653c42616c616e63654f663c543e3e000b0490416e206163636f756e742068617320766f74656420696e2061207265666572656e64756d205365636f6e6465640801207365636f6e646572000130543a3a4163636f756e74496400012870726f705f696e64657820012450726f70496e646578000c048c416e206163636f756e742068617320736563636f6e64656420612070726f706f73616c4050726f706f73616c43616e63656c656404012870726f705f696e64657820012450726f70496e646578000d0460412070726f706f73616c20676f742063616e63656c65642e2c4d657461646174615365740801146f776e6572a401344d657461646174614f776e6572043c4d65746164617461206f776e65722e011068617368300130507265696d616765486173680438507265696d61676520686173682e0e04d44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e207365742e3c4d65746164617461436c65617265640801146f776e6572a401344d657461646174614f776e6572043c4d65746164617461206f776e65722e011068617368300130507265696d616765486173680438507265696d61676520686173682e0f04e44d6574616461746120666f7220612070726f706f73616c206f722061207265666572656e64756d20686173206265656e20636c65617265642e4c4d657461646174615472616e736665727265640c0128707265765f6f776e6572a401344d657461646174614f776e6572046050726576696f7573206d65746164617461206f776e65722e01146f776e6572a401344d657461646174614f776e6572044c4e6577206d65746164617461206f776e65722e011068617368300130507265696d616765486173680438507265696d61676520686173682e1004ac4d6574616461746120686173206265656e207472616e7366657272656420746f206e6577206f776e65722e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574980c4070616c6c65745f64656d6f637261637938766f74655f7468726573686f6c6434566f74655468726573686f6c6400010c5053757065724d616a6f72697479417070726f76650000005053757065724d616a6f72697479416761696e73740001003853696d706c654d616a6f72697479000200009c0c4070616c6c65745f64656d6f637261637910766f74652c4163636f756e74566f7465041c42616c616e636501180108205374616e64617264080110766f7465a00110566f746500011c62616c616e636518011c42616c616e63650000001453706c697408010c61796518011c42616c616e636500010c6e617918011c42616c616e636500010000a00c4070616c6c65745f64656d6f637261637910766f746510566f74650000040008000000a40c4070616c6c65745f64656d6f6372616379147479706573344d657461646174614f776e657200010c2045787465726e616c0000002050726f706f73616c040020012450726f70496e646578000100285265666572656e64756d040020013c5265666572656e64756d496e64657800020000a80c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e64657820013450726f706f73616c496e64657800013470726f706f73616c5f6861736830011c543a3a486173680001247468726573686f6c6420012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f6861736830011c543a3a48617368000114766f746564ac0110626f6f6c00010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f6861736830011c543a3a4861736800010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574ac0000050000b00418526573756c7408045401b4044501640108084f6b0400b4000000000c4572720400640000010000b40000040000b80c4470616c6c65745f636f6c6c6563746976651870616c6c6574144576656e7408045400044900011c2050726f706f73656410011c6163636f756e74000130543a3a4163636f756e74496400013870726f706f73616c5f696e64657820013450726f706f73616c496e64657800013470726f706f73616c5f6861736830011c543a3a486173680001247468726573686f6c6420012c4d656d626572436f756e74000008490141206d6f74696f6e2028676976656e20686173682920686173206265656e2070726f706f7365642028627920676976656e206163636f756e742920776974682061207468726573686f6c642028676976656e3c604d656d626572436f756e7460292e14566f74656414011c6163636f756e74000130543a3a4163636f756e74496400013470726f706f73616c5f6861736830011c543a3a48617368000114766f746564ac0110626f6f6c00010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e74000108050141206d6f74696f6e2028676976656e20686173682920686173206265656e20766f746564206f6e20627920676976656e206163636f756e742c206c656176696e671501612074616c6c79202879657320766f74657320616e64206e6f20766f74657320676976656e20726573706563746976656c7920617320604d656d626572436f756e7460292e20417070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000204c041206d6f74696f6e2077617320617070726f76656420627920746865207265717569726564207468726573686f6c642e2c446973617070726f76656404013470726f706f73616c5f6861736830011c543a3a48617368000304d041206d6f74696f6e20776173206e6f7420617070726f76656420627920746865207265717569726564207468726573686f6c642e20457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c74000404210141206d6f74696f6e207761732065786563757465643b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e384d656d626572457865637574656408013470726f706f73616c5f6861736830011c543a3a48617368000118726573756c74b001384469737061746368526573756c740005044901412073696e676c65206d656d6265722064696420736f6d6520616374696f6e3b20726573756c742077696c6c20626520604f6b602069662069742072657475726e656420776974686f7574206572726f722e18436c6f7365640c013470726f706f73616c5f6861736830011c543a3a4861736800010c79657320012c4d656d626572436f756e740001086e6f20012c4d656d626572436f756e740006045501412070726f706f73616c2077617320636c6f736564206265636175736520697473207468726573686f6c64207761732072656163686564206f7220616674657220697473206475726174696f6e207761732075702e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574bc0c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c00c3c70616c6c65745f74726561737572791870616c6c6574144576656e740804540004490001242050726f706f73656404013870726f706f73616c5f696e64657820013450726f706f73616c496e646578000004344e65772070726f706f73616c2e205370656e64696e670401406275646765745f72656d61696e696e6718013c42616c616e63654f663c542c20493e000104e45765206861766520656e6465642061207370656e6420706572696f6420616e642077696c6c206e6f7720616c6c6f636174652066756e64732e1c417761726465640c013870726f706f73616c5f696e64657820013450726f706f73616c496e646578000114617761726418013c42616c616e63654f663c542c20493e00011c6163636f756e74000130543a3a4163636f756e7449640002047c536f6d652066756e64732068617665206265656e20616c6c6f63617465642e2052656a656374656408013870726f706f73616c5f696e64657820013450726f706f73616c496e64657800011c736c617368656418013c42616c616e63654f663c542c20493e000304b0412070726f706f73616c207761732072656a65637465643b2066756e6473207765726520736c61736865642e144275726e7404012c6275726e745f66756e647318013c42616c616e63654f663c542c20493e00040488536f6d65206f66206f75722066756e64732068617665206265656e206275726e742e20526f6c6c6f766572040140726f6c6c6f7665725f62616c616e636518013c42616c616e63654f663c542c20493e0005042d015370656e64696e67206861732066696e69736865643b20746869732069732074686520616d6f756e74207468617420726f6c6c73206f76657220756e74696c206e657874207370656e642e1c4465706f73697404011476616c756518013c42616c616e63654f663c542c20493e0006047c536f6d652066756e64732068617665206265656e206465706f73697465642e345370656e64417070726f7665640c013870726f706f73616c5f696e64657820013450726f706f73616c496e646578000118616d6f756e7418013c42616c616e63654f663c542c20493e00012c62656e6566696369617279000130543a3a4163636f756e7449640007049c41206e6577207370656e642070726f706f73616c20686173206265656e20617070726f7665642e3c55706461746564496e61637469766508012c726561637469766174656418013c42616c616e63654f663c542c20493e00012c646561637469766174656418013c42616c616e63654f663c542c20493e000804cc54686520696e6163746976652066756e6473206f66207468652070616c6c65742068617665206265656e20757064617465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c40c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e64657820010c7533320001146572726f7264013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7264013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c74b001384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574c80c3870616c6c65745f76657374696e671870616c6c6574144576656e740404540001083856657374696e675570646174656408011c6163636f756e74000130543a3a4163636f756e744964000120756e76657374656418013042616c616e63654f663c543e000008510154686520616d6f756e742076657374656420686173206265656e20757064617465642e205468697320636f756c6420696e6469636174652061206368616e676520696e2066756e647320617661696c61626c652e25015468652062616c616e636520676976656e2069732074686520616d6f756e74207768696368206973206c65667420756e7665737465642028616e642074687573206c6f636b6564292e4056657374696e67436f6d706c6574656404011c6163636f756e74000130543a3a4163636f756e7449640001049c416e205c5b6163636f756e745c5d20686173206265636f6d652066756c6c79207665737465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574cc0c4070616c6c65745f7363686564756c65721870616c6c6574144576656e74040454000118245363686564756c65640801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657820010c753332000004505363686564756c656420736f6d65207461736b2e2043616e63656c65640801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657820010c7533320001044c43616e63656c656420736f6d65207461736b2e28446973706174636865640c01107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e000118726573756c74b001384469737061746368526573756c74000204544469737061746368656420736f6d65207461736b2e3c43616c6c556e617661696c61626c650801107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e00030429015468652063616c6c20666f72207468652070726f7669646564206861736820776173206e6f7420666f756e6420736f20746865207461736b20686173206265656e2061626f727465642e38506572696f6469634661696c65640801107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e0004043d0154686520676976656e207461736b2077617320756e61626c6520746f2062652072656e657765642073696e636520746865206167656e64612069732066756c6c206174207468617420626c6f636b2e545065726d616e656e746c794f7665727765696768740801107461736bd001785461736b416464726573733c426c6f636b4e756d626572466f723c543e3e0001086964d401404f7074696f6e3c5461736b4e616d653e000504f054686520676976656e207461736b2063616e206e657665722062652065786563757465642073696e6365206974206973206f7665727765696768742e04304576656e747320747970652ed000000408102000d404184f7074696f6e04045401040108104e6f6e6500000010536f6d650400040000010000d80c3070616c6c65745f70726f78791870616c6c6574144576656e740404540001143450726f78794578656375746564040118726573756c74b001384469737061746368526573756c74000004bc412070726f78792077617320657865637574656420636f72726563746c792c20776974682074686520676976656e2e2c507572654372656174656410011070757265000130543a3a4163636f756e74496400010c77686f000130543a3a4163636f756e74496400012870726f78795f74797065dc0130543a3a50726f787954797065000150646973616d626967756174696f6e5f696e646578e0010c753136000108dc412070757265206163636f756e7420686173206265656e2063726561746564206279206e65772070726f7879207769746820676976656e90646973616d626967756174696f6e20696e64657820616e642070726f787920747970652e24416e6e6f756e6365640c01107265616c000130543a3a4163636f756e74496400011470726f7879000130543a3a4163636f756e74496400012463616c6c5f6861736830013443616c6c486173684f663c543e000204e0416e20616e6e6f756e63656d656e742077617320706c6163656420746f206d616b6520612063616c6c20696e20746865206675747572652e2850726f7879416464656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00030448412070726f7879207761732061646465642e3050726f787952656d6f76656410012464656c656761746f72000130543a3a4163636f756e74496400012464656c656761746565000130543a3a4163636f756e74496400012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00040450412070726f7879207761732072656d6f7665642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574dc08447370697269746e65745f72756e74696d652450726f7879547970650001180c416e790000002c4e6f6e5472616e7366657200010028476f7665726e616e63650002004050617261636861696e5374616b696e670003002c43616e63656c50726f7879000400484e6f6e4465706f736974436c61696d696e6700050000e00000050400e40c3c70616c6c65745f707265696d6167651870616c6c6574144576656e7404045400010c144e6f7465640401106861736830011c543a3a48617368000004684120707265696d61676520686173206265656e206e6f7465642e245265717565737465640401106861736830011c543a3a48617368000104784120707265696d61676520686173206265656e207265717565737465642e1c436c65617265640401106861736830011c543a3a486173680002046c4120707265696d616765206861732062656e20636c65617265642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e80c4470616c6c65745f6d656d626572736869701870616c6c6574144576656e740804540004490001182c4d656d6265724164646564000004e054686520676976656e206d656d626572207761732061646465643b2073656520746865207472616e73616374696f6e20666f722077686f2e344d656d62657252656d6f766564000104e854686520676976656e206d656d626572207761732072656d6f7665643b2073656520746865207472616e73616374696f6e20666f722077686f2e384d656d6265727353776170706564000204d854776f206d656d62657273207765726520737761707065643b2073656520746865207472616e73616374696f6e20666f722077686f2e304d656d6265727352657365740003041501546865206d656d62657273686970207761732072657365743b2073656520746865207472616e73616374696f6e20666f722077686f20746865206e6577207365742069732e284b65794368616e676564000404844f6e65206f6620746865206d656d6265727327206b657973206368616e6765642e1444756d6d790005046c5068616e746f6d206d656d6265722c206e6576657220757365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574ec0c2c70616c6c65745f746970731870616c6c6574144576656e74080454000449000114184e65775469700401207469705f6861736830011c543a3a486173680000049441206e6577207469702073756767657374696f6e20686173206265656e206f70656e65642e28546970436c6f73696e670401207469705f6861736830011c543a3a48617368000104d841207469702073756767657374696f6e206861732072656163686564207468726573686f6c6420616e6420697320636c6f73696e672e24546970436c6f7365640c01207469705f6861736830011c543a3a4861736800010c77686f000130543a3a4163636f756e7449640001187061796f757418013c42616c616e63654f663c542c20493e0002048441207469702073756767657374696f6e20686173206265656e20636c6f7365642e305469705265747261637465640401207469705f6861736830011c543a3a486173680003049041207469702073756767657374696f6e20686173206265656e207265747261637465642e28546970536c61736865640c01207469705f6861736830011c543a3a4861736800011866696e646572000130543a3a4163636f756e74496400011c6465706f73697418013c42616c616e63654f663c542c20493e0004048841207469702073756767657374696f6e20686173206265656e20736c61736865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f00c3c70616c6c65745f6d756c74697369671870616c6c6574144576656e740404540001102c4e65774d756c74697369670c0124617070726f76696e67000130543a3a4163636f756e7449640001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c486173680000048c41206e6577206d756c7469736967206f7065726174696f6e2068617320626567756e2e404d756c7469736967417070726f76616c100124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000104c841206d756c7469736967206f7065726174696f6e20686173206265656e20617070726f76656420627920736f6d656f6e652e404d756c74697369674578656375746564140124617070726f76696e67000130543a3a4163636f756e74496400012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000118726573756c74b001384469737061746368526573756c740002049c41206d756c7469736967206f7065726174696f6e20686173206265656e2065786563757465642e444d756c746973696743616e63656c6c656410012863616e63656c6c696e67000130543a3a4163636f756e74496400012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e0001206d756c7469736967000130543a3a4163636f756e74496400012463616c6c5f6861736804012043616c6c48617368000304a041206d756c7469736967206f7065726174696f6e20686173206265656e2063616e63656c6c65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f4083c70616c6c65745f6d756c74697369672454696d65706f696e74042c426c6f636b4e756d62657201100008011868656967687410012c426c6f636b4e756d626572000114696e64657820010c7533320000f80c1463747970651870616c6c6574144576656e74040454000108304354797065437265617465640800000144437479706543726561746f724f663c543e00003001384374797065486173684f663c543e0000087441206e657720435479706520686173206265656e20637265617465642e885c5b63726561746f72206964656e7469666965722c20435479706520686173685c5d3043547970655570646174656404003001384374797065486173684f663c543e000108ac496e666f726d6174696f6e2061626f7574206120435479706520686173206265656e20757064617465642e385c5b435479706520686173685c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574fc0c2c6174746573746174696f6e1870616c6c6574144576656e74040454000110484174746573746174696f6e43726561746564100000013441747465737465724f663c543e0000300138436c61696d486173684f663c543e00003001384374797065486173684f663c543e0000010101704f7074696f6e3c417574686f72697a6174696f6e49644f663c543e3e0000088c41206e6577206174746573746174696f6e20686173206265656e20637265617465642e05015c5b61747465737465722049442c20636c61696d20686173682c20435479706520686173682c20286f7074696f6e616c292064656c65676174696f6e2049445c5d484174746573746174696f6e5265766f6b6564080000013441747465737465724f663c543e0000300138436c61696d486173684f663c543e00010880416e206174746573746174696f6e20686173206265656e207265766f6b65642e685c5b6163636f756e742069642c20636c61696d20686173685c5d484174746573746174696f6e52656d6f766564080000013441747465737465724f663c543e0000300138436c61696d486173684f663c543e00020880416e206174746573746174696f6e20686173206265656e2072656d6f7665642e685c5b6163636f756e742069642c20636c61696d20686173685c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e0000300138436c61696d486173684f663c543e0003080501546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720616e206174746573746174696f6e2e685c5b6163636f756e742069642c20636c61696d20686173685c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574010104184f7074696f6e0404540105010108104e6f6e6500000010536f6d6504000501000001000005010c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c417574686f72697a6174696f6e4964043044656c65676174696f6e4964013001042844656c65676174696f6e040030013044656c65676174696f6e49640000000009010c2864656c65676174696f6e1870616c6c6574144576656e7404045400011c40486965726172636879437265617465640c0000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00003001384374797065486173684f663c543e0000088441206e65772068696572617263687920686173206265656e20637265617465642ea05c5b63726561746f722049442c20726f6f74206e6f64652049442c20435459504520686173685c5d404869657261726368795265766f6b6564080000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00010874412068696572617263687920686173206265656e207265766f6b65642e705c5b7265766f6b65722049442c20726f6f74206e6f64652049445c5d4048696572617263687952656d6f766564080000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000208dc412068696572617263687920686173206265656e2072656d6f7665642066726f6d207468652073746f72616765206f6e20636861696e2e705c5b72656d6f7665722049442c20726f6f74206e6f64652049445c5d4444656c65676174696f6e43726561746564180000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000000014044656c656761746f7249644f663c543e00000d01012c5065726d697373696f6e7300030c8841206e65772064656c65676174696f6e20686173206265656e20637265617465642efc5c5b63726561746f722049442c20726f6f74206e6f64652049442c2064656c65676174696f6e206e6f64652049442c20706172656e74206e6f64652049442c6864656c65676174652049442c207065726d697373696f6e735c5d4444656c65676174696f6e5265766f6b6564080000014044656c656761746f7249644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00040878412064656c65676174696f6e20686173206265656e207265766f6b65642e885c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d4444656c65676174696f6e52656d6f76656408000001384163636f756e7449644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e00050878412064656c65676174696f6e20686173206265656e2072656d6f7665642e885c5b72656d6f7665722049442c2064656c65676174696f6e206e6f64652049445c5d404465706f7369745265636c61696d656408000001384163636f756e7449644f663c543e000030015444656c65676174696f6e4e6f646549644f663c543e000608f8546865206465706f736974206f776e6572207265636c61696d65642061206465706f7369742062792072656d6f76696e6720612064656c65676174696f6eac737562747265652e205c5b7265766f6b65722049442c2064656c65676174696f6e206e6f64652049445c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c65740d010c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368792c5065726d697373696f6e7300000401106269747320010c753332000011010c0c6469641870616c6c6574144576656e74040454000110284469644372656174656408000001384163636f756e7449644f663c543e00000001484469644964656e7469666965724f663c543e0000086c41206e65772044494420686173206265656e20637265617465642e985c5b7472616e73616374696f6e207369676e65722c20444944206964656e7469666965725c5d284469645570646174656404000001484469644964656e7469666965724f663c543e0001085c412044494420686173206265656e20757064617465642e485c5b444944206964656e7469666965725c5d2844696444656c6574656404000001484469644964656e7469666965724f663c543e0002085c412044494420686173206265656e2064656c657465642e485c5b444944206964656e7469666965725c5d4444696443616c6c4469737061746368656408000001484469644964656e7469666965724f663c543e0000b001384469737061746368526573756c74000308a041204449442d617574686f72697365642063616c6c20686173206265656e2065786563757465642e7c5c5b4449442063616c6c65722c20646973706174636820726573756c745c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c657415010c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144576656e74040454000110584173736f63696174696f6e45737461626c69736865640800190101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000004f841206e6577206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e742049442077617320637265617465642e484173736f63696174696f6e52656d6f7665640800190101444c696e6b61626c654163636f756e74496400000001484469644964656e7469666965724f663c543e000104ec416e206173736f63696174696f6e206265747765656e20612044494420616e6420616e206163636f756e74204944207761732072656d6f7665642e444d6967726174696f6e50726f6772657373000204c454686572652077617320736f6d652070726f677265737320696e20746865206d6967726174696f6e2070726f636573732e484d6967726174696f6e436f6d706c65746564000304dc416c6c204163636f756e744964732068617665206265656e206d6967726174656420746f204c696e6b61626c654163636f756e7449642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657419010c4470616c6c65745f6469645f6c6f6f6b7570406c696e6b61626c655f6163636f756e74444c696e6b61626c654163636f756e7449640001082c4163636f756e744964323004001d01012c4163636f756e74496432300000002c4163636f756e7449643332040000012c4163636f756e7449643332000100001d010c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e742c4163636f756e744964323000000400210101205b75383b2032305d0000210100000314000000080025010c4470616c6c65745f776562335f6e616d65731870616c6c6574144576656e740404540001103c576562334e616d65436c61696d65640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6529010134576562334e616d654f663c543e0000047041206e6577206e616d6520686173206265656e20636c61696d65642e40576562334e616d6552656c65617365640801146f776e6572000148576562334e616d654f776e65724f663c543e0001106e616d6529010134576562334e616d654f663c543e0001046441206e616d6520686173206265656e2072656c65617365642e38576562334e616d6542616e6e65640401106e616d6529010134576562334e616d654f663c543e0002045c41206e616d6520686173206265656e2062616e6e65642e40576562334e616d65556e62616e6e65640401106e616d6529010134576562334e616d654f663c543e0003046441206e616d6520686173206265656e20756e62616e6e65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c657429010c4470616c6c65745f776562335f6e616d657324776562335f6e616d65344173636969576562334e616d65040454000004002d010180426f756e6465645665633c75382c20543a3a4d61784e616d654c656e6774683e00002d010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000031010c487075626c69635f63726564656e7469616c731870616c6c6574144576656e740404540001104043726564656e7469616c53746f7265640801287375626a6563745f696435010130543a3a5375626a65637449640488546865207375626a656374206f6620746865206e65772063726564656e7469616c2e013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0474546865206964206f6620746865206e65772063726564656e7469616c2e0004a041206e6577207075626c69632063726564656e7469616c20686173206265656e206973737565642e4443726564656e7469616c52656d6f7665640801287375626a6563745f696435010130543a3a5375626a65637449640498546865207375626a656374206f66207468652072656d6f7665642063726564656e7469616c2e013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0484546865206964206f66207468652072656d6f7665642063726564656e7469616c2e01049841207075626c69632063726564656e7469616c7320686173206265656e2072656d6f7665642e4443726564656e7469616c5265766f6b656404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0484546865206964206f6620746865207265766f6b65642063726564656e7469616c2e02049441207075626c69632063726564656e7469616c20686173206265656e207265766f6b65642e4c43726564656e7469616c556e7265766f6b656404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e048c546865206964206f662074686520756e7265766f6b65642063726564656e7469616c2e03049c41207075626c69632063726564656e7469616c20686173206265656e20756e7265766f6b65642e0490546865206576656e74732067656e65726174656420627920746869732070616c6c65742e35010c3872756e74696d655f636f6d6d6f6e18617373657473204173736574446964000004003901013c41737365744964656e746966696572000039010c3c6b696c745f61737365745f646964730876312041737365744469640000080120636861696e5f69643d01011c436861696e496400012061737365745f69646501011c4173736574496400003d01103c6b696c745f61737365745f6469647314636861696e0876311c436861696e49640001141845697031353504004101013c4569703135355265666572656e63650000001842697031323204004501016447656e657369734865784861736833325265666572656e63650001001c446f7473616d6104004501016447656e657369734865784861736833325265666572656e636500020018536f6c616e6104004d01017047656e657369734261736535384861736833325265666572656e63650003001c47656e6572696304005501013847656e65726963436861696e4964000400004101103c6b696c745f61737365745f6469647314636861696e0876313c4569703135355265666572656e6365000004001801107531323800004501103c6b696c745f61737365745f6469647314636861696e0876316447656e657369734865784861736833325265666572656e636500000400490101205b75383b2031365d000049010000031000000008004d01103c6b696c745f61737365745f6469647314636861696e0876317047656e657369734261736535384861736833325265666572656e63650000040051010170426f756e6465645665633c75382c20436f6e73745533323c33323e3e000051010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00005501103c6b696c745f61737365745f6469647314636861696e0876313847656e65726963436861696e496400000801246e616d6573706163655901015447656e65726963436861696e4e616d6573706163650001247265666572656e63656101015447656e65726963436861696e5265666572656e636500005901103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e4e616d657370616365000004005d0101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f434841494e5f4e414d4553504143455f4c454e4754485f5533323e3e00005d010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00006101103c6b696c745f61737365745f6469647314636861696e0876315447656e65726963436861696e5265666572656e636500000400510101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f434841494e5f5245464552454e43455f4c454e4754485f5533323e3e00006501103c6b696c745f61737365745f646964731461737365740876311c4173736574496400011418536c6970343404006901013c536c697034345265666572656e636500000014457263323004007501018445766d536d617274436f6e747261637446756e6769626c655265666572656e63650001001845726337323104007901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650002001c4572633131353504007901019045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e63650003001c47656e6572696304008901013847656e6572696341737365744964000400006901103c6b696c745f61737365745f646964731461737365740876313c536c697034345265666572656e6365000004006d0101105532353600006d01083c7072696d69746976655f7479706573105532353600000400710101205b7536343b20345d000071010000030400000010007501103c6b696c745f61737365745f646964731461737365740876318445766d536d617274436f6e747261637446756e6769626c655265666572656e636500000400210101205b75383b2032305d00007901103c6b696c745f61737365745f646964731461737365740876319045766d536d617274436f6e74726163744e6f6e46756e6769626c655265666572656e6365000008007501018445766d536d617274436f6e747261637446756e6769626c655265666572656e636500007d0101b44f7074696f6e3c45766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e7469666965723e00007d0104184f7074696f6e0404540181010108104e6f6e6500000010536f6d650400810100000100008101103c6b696c745f61737365745f646964731461737365740876319445766d536d617274436f6e74726163744e6f6e46756e6769626c654964656e74696669657200000400850101f4426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4944454e5449464945525f4c454e4754485f5533323e3e000085010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00008901103c6b696c745f61737365745f646964731461737365740876313847656e657269634173736574496400000c01246e616d6573706163658d01015447656e6572696341737365744e616d6573706163650001247265666572656e63659101015447656e6572696341737365745265666572656e63650001086964990101784f7074696f6e3c47656e6572696341737365744964656e7469666965723e00008d01103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365744e616d657370616365000004005d0101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4e414d4553504143455f4c454e4754485f5533323e3e00009101103c6b696c745f61737365745f646964731461737365740876315447656e6572696341737365745265666572656e636500000400950101f0426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f5245464552454e43455f4c454e4754485f5533323e3e000095010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000990104184f7074696f6e040454019d010108104e6f6e6500000010536f6d6504009d0100000100009d01103c6b696c745f61737365745f646964731461737365740876315847656e6572696341737365744964656e74696669657200000400850101f4426f756e6465645665633c75382c20436f6e73745533323c4d4158494d554d5f41535345545f4944454e5449464945525f4c454e4754485f5533323e3e0000a1010c4070616c6c65745f6d6967726174696f6e1870616c6c6574144576656e7404045400010438456e7472696573557064617465640400a501014c456e7472696573546f4d6967726174653c543e000000047c54686520604576656e746020656e756d206f6620746869732070616c6c6574a5010c4070616c6c65745f6d6967726174696f6e1870616c6c657440456e7472696573546f4d69677261746504045401a9010018012c6174746573746174696f6ead01010101426f756e6465645665633c436c61696d486173684f663c543e2c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65743e00012864656c65676174696f6ead01012101426f756e6465645665633c44656c65676174696f6e4e6f646549644f663c543e2c3c5420617320436f6e6669673e3a3a0a4d61784d6967726174696f6e7350657250616c6c65743e00010c646964b501011501426f756e6465645665633c4469644964656e7469666965724f663c543e2c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65740a3e0001186c6f6f6b7570bd01010d01426f756e6465645665633c4c696e6b61626c654163636f756e7449642c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65743e00010c77336ec50101fc426f756e6465645665633c576562334e616d654f663c543e2c3c5420617320436f6e6669673e3a3a4d61784d6967726174696f6e7350657250616c6c65743e0001487075626c69635f63726564656e7469616c73cd01015901426f756e6465645665633c285375626a65637449644f663c543e2c2043726564656e7469616c49644f663c543e292c3c5420617320436f6e6669673e3a3a0a4d61784d6967726174696f6e7350657250616c6c65743e0000a90108447370697269746e65745f72756e74696d651c52756e74696d6500000000ad010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540130045300000400b10101185665633c543e0000b1010000023000b5010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e0000b9010000020000bd010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011901045300000400c10101185665633c543e0000c101000002190100c5010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012901045300000400c90101185665633c543e0000c901000002290100cd010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401d101045300000400d50101185665633c543e0000d1010000040835013000d501000002d10100d9010c4c70616c6c65745f6469705f70726f76696465721870616c6c6574144576656e740404540001086856657273696f6e65644964656e74697479436f6d6d69747465640c01286964656e746966696572000134543a3a4964656e74696669657204a4546865206964656e746966696572206f6620746865206964656e7469747920636f6d6d69747465642e0128636f6d6d69746d656e7430015c4964656e74697479436f6d6d69746d656e744f663c543e04705468652076616c7565206f662074686520636f6d6d69746d656e742e011c76657273696f6ee001644964656e74697479436f6d6d69746d656e7456657273696f6e04785468652076657273696f6e206f662074686520636f6d6d69746d656e742e00048441206e657720636f6d6d69746d656e7420686173206265656e2073746f7265642e6056657273696f6e65644964656e7469747944656c657465640801286964656e746966696572000134543a3a4964656e74696669657204a4546865206964656e746966696572206f6620746865206964656e7469747920636f6d6d69747465642e011c76657273696f6ee001644964656e74697479436f6d6d69746d656e7456657273696f6e04785468652076657273696f6e206f662074686520636f6d6d69746d656e742e0104784120636f6d6d69746d656e7420686173206265656e2064656c657465642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574dd010c5870616c6c65745f6465706f7369745f73746f726167651870616c6c6574144576656e74040454000108304465706f73697441646465640c01246e616d657370616365e1010130543a3a4e616d6573706163650458546865206465706f736974206e616d6573706163652e010c6b6579e501013c4465706f7369744b65794f663c543e0440546865206465706f736974206b65792e01346465706f7369745f656e747279e90101444465706f736974456e7472794f663c543e0450546865206465706f7369742064657461696c732e0004ac41206e6577206465706f73697420686173206265656e20726573657276656420616e642073746f7265642e404465706f7369745265636c61696d65640c01246e616d657370616365e1010130543a3a4e616d6573706163650458546865206465706f736974206e616d6573706163652e010c6b6579e501013c4465706f7369744b65794f663c543e0440546865206465706f736974206b65792e01346465706f7369745f656e747279e90101444465706f736974456e7472794f663c543e0450546865206465706f7369742064657461696c732e0104d441206465706f73697420686173206265656e2072656c656173656420616e642064656c657465642066726f6d2073746f726167652e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574e101103872756e74696d655f636f6d6d6f6e0c6469701c6465706f736974404465706f7369744e616d6573706163650001042c44697050726f766964657200000000e5010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000e9010c5870616c6c65745f6465706f7369745f73746f726167651c6465706f736974304465706f736974456e7472790c244163636f756e74496401001c42616c616e6365011818526561736f6e01ed010008011c6465706f7369740d02016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000118726561736f6eed010118526561736f6e0000ed0108447370697269746e65745f72756e74696d654452756e74696d65486f6c64526561736f6e00011c2c4174746573746174696f6e0400f101015c6174746573746174696f6e3a3a486f6c64526561736f6e003e002844656c65676174696f6e0400f501015864656c65676174696f6e3a3a486f6c64526561736f6e003f000c4469640400f901013c6469643a3a486f6c64526561736f6e004000244469644c6f6f6b75700400fd01017470616c6c65745f6469645f6c6f6f6b75703a3a486f6c64526561736f6e00430024576562334e616d657304000102017470616c6c65745f776562335f6e616d65733a3a486f6c64526561736f6e004400445075626c696343726564656e7469616c730400050201787075626c69635f63726564656e7469616c733a3a486f6c64526561736f6e004500384465706f73697453746f7261676504000902018870616c6c65745f6465706f7369745f73746f726167653a3a486f6c64526561736f6e00480000f1010c2c6174746573746174696f6e1870616c6c657428486f6c64526561736f6e0001041c4465706f73697400000000f5010c2864656c65676174696f6e1870616c6c657428486f6c64526561736f6e0001041c4465706f73697400000000f9010c0c6469641870616c6c657428486f6c64526561736f6e0001041c4465706f73697400000000fd010c4470616c6c65745f6469645f6c6f6f6b75701870616c6c657428486f6c64526561736f6e0001041c4465706f7369740000000001020c4470616c6c65745f776562335f6e616d65731870616c6c657428486f6c64526561736f6e0001041c4465706f7369740000000005020c487075626c69635f63726564656e7469616c731870616c6c657428486f6c64526561736f6e0001041c4465706f7369740000000009020c5870616c6c65745f6465706f7369745f73746f726167651870616c6c657428486f6c64526561736f6e0001041c4465706f736974000000000d020c306b696c745f737570706f72741c6465706f7369741c4465706f736974081c4163636f756e7401001c42616c616e63650118000801146f776e657200011c4163636f756e74000118616d6f756e7418011c42616c616e6365000011020c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144576656e7404045400011c6056616c69646174696f6e46756e6374696f6e53746f726564000004d05468652076616c69646174696f6e2066756e6374696f6e20686173206265656e207363686564756c656420746f206170706c792e6456616c69646174696f6e46756e6374696f6e4170706c69656404015472656c61795f636861696e5f626c6f636b5f6e756d20015452656c6179436861696e426c6f636b4e756d62657200010445015468652076616c69646174696f6e2066756e6374696f6e20776173206170706c696564206173206f662074686520636f6e7461696e65642072656c617920636861696e20626c6f636b206e756d6265722e6c56616c69646174696f6e46756e6374696f6e446973636172646564000204b05468652072656c61792d636861696e2061626f727465642074686520757067726164652070726f636573732e4455706772616465417574686f72697a6564040124636f64655f6861736830011c543a3a486173680003047c416e207570677261646520686173206265656e20617574686f72697a65642e60446f776e776172644d657373616765735265636569766564040114636f756e7420010c7533320004040101536f6d6520646f776e77617264206d657373616765732068617665206265656e20726563656976656420616e642077696c6c2062652070726f6365737365642e64446f776e776172644d6573736167657350726f63657373656408012c7765696768745f75736564280118576569676874000120646d715f6865616430014472656c61795f636861696e3a3a48617368000504e0446f776e77617264206d6573736167657320776572652070726f636573736564207573696e672074686520676976656e207765696768742e445570776172644d65737361676553656e740401306d6573736167655f68617368d4013c4f7074696f6e3c58636d486173683e000604b8416e20757077617264206d657373616765207761732073656e7420746f207468652072656c617920636861696e2e047c54686520604576656e746020656e756d206f6620746869732070616c6c657415020c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144576656e7404045400011c1c537563636573730c01306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d4861736800011877656967687428011857656967687400000464536f6d652058434d20776173206578656375746564206f6b2e104661696c1001306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d486173680001146572726f721902012058636d4572726f7200011877656967687428011857656967687400010440536f6d652058434d206661696c65642e2842616456657273696f6e0401306d6573736167655f6861736804011c58636d48617368000204544261642058434d2076657273696f6e20757365642e24426164466f726d61740401306d6573736167655f6861736804011c58636d48617368000304504261642058434d20666f726d617420757365642e3c58636d704d65737361676553656e740401306d6573736167655f6861736804011c58636d48617368000404c0416e2048524d50206d657373616765207761732073656e7420746f2061207369626c696e672070617261636861696e2e484f766572776569676874456e71756575656410011873656e6465721d02011850617261496400011c73656e745f617420014052656c6179426c6f636b4e756d626572000114696e64657810013c4f766572776569676874496e6465780001207265717569726564280118576569676874000504d4416e2058434d2065786365656465642074686520696e646976696475616c206d65737361676520776569676874206275646765742e484f7665727765696768745365727669636564080114696e64657810013c4f766572776569676874496e646578000110757365642801185765696768740006044101416e2058434d2066726f6d20746865206f7665727765696768742071756575652077617320657865637574656420776974682074686520676976656e2061637475616c2077656967687420757365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65741902100c78636d08763318747261697473144572726f720001a0204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300304c6f636174696f6e46756c6c000400544c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c753634001500404578706563746174696f6e46616c73650016003850616c6c65744e6f74466f756e64001700304e616d654d69736d617463680018004c56657273696f6e496e636f6d70617469626c6500190050486f6c64696e67576f756c644f766572666c6f77001a002c4578706f72744572726f72001b00385265616e63686f724661696c6564001c00184e6f4465616c001d0028466565734e6f744d6574001e00244c6f636b4572726f72001f00304e6f5065726d697373696f6e00200028556e616e63686f726564002100384e6f744465706f73697461626c650022004c556e68616e646c656458636d56657273696f6e002300485765696768744c696d69745265616368656404002801185765696768740024001c426172726965720025004c5765696768744e6f74436f6d70757461626c650026004445786365656473537461636b4c696d6974002700001d020c48706f6c6b61646f745f70617261636861696e287072696d6974697665730849640000040020010c753332000021020c2870616c6c65745f78636d1870616c6c6574144576656e7404045400015c24417474656d7074656404011c6f7574636f6d652502015078636d3a3a6c61746573743a3a4f7574636f6d65000004a8457865637574696f6e206f6620616e2058434d206d6573736167652077617320617474656d707465642e1053656e741001186f726967696e290201344d756c74694c6f636174696f6e00012c64657374696e6174696f6e290201344d756c74694c6f636174696f6e00011c6d6573736167654d02011c58636d3c28293e0001286d6573736167655f696404011c58636d486173680001045c412058434d206d657373616765207761732073656e742e48556e6578706563746564526573706f6e73650801186f726967696e290201344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400020c5901517565727920726573706f6e736520726563656976656420776869636820646f6573206e6f74206d61746368206120726567697374657265642071756572792e2054686973206d61792062652062656361757365206155016d61746368696e6720717565727920776173206e6576657220726567697374657265642c206974206d617920626520626563617573652069742069732061206475706c696361746520726573706f6e73652c206f727062656361757365207468652071756572792074696d6564206f75742e34526573706f6e7365526561647908012071756572795f696410011c51756572794964000120726573706f6e736575020120526573706f6e73650003085d01517565727920726573706f6e736520686173206265656e20726563656976656420616e6420697320726561647920666f722074616b696e672077697468206074616b655f726573706f6e7365602e205468657265206973806e6f2072656769737465726564206e6f74696669636174696f6e2063616c6c2e204e6f7469666965640c012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e64657808010875380004085901517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20686173a86265656e206469737061746368656420616e64206578656375746564207375636365737366756c6c792e404e6f746966794f76657277656967687414012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e646578080108753800013461637475616c5f77656967687428011857656967687400014c6d61785f62756467657465645f77656967687428011857656967687400050c6101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652072656769737465726564206e6f74696669636174696f6e20636f756c6441016e6f742062652064697370617463686564206265636175736520746865206469737061746368207765696768742069732067726561746572207468616e20746865206d6178696d756d20776569676874e46f726967696e616c6c7920627564676574656420627920746869732072756e74696d6520666f722074686520717565727920726573756c742e4c4e6f7469667944697370617463684572726f720c012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e64657808010875380006085501517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e2054686572652077617320612067656e6572616c206572726f722077697468886469737061746368696e6720746865206e6f74696669636174696f6e2063616c6c2e484e6f746966794465636f64654661696c65640c012071756572795f696410011c5175657279496400013070616c6c65745f696e646578080108753800012863616c6c5f696e646578080108753800070c5101517565727920726573706f6e736520686173206265656e20726563656976656420616e642071756572792069732072656d6f7665642e205468652064697370617463682077617320756e61626c6520746f20626559016465636f64656420696e746f2061206043616c6c603b2074686973206d696768742062652064756520746f2064697370617463682066756e6374696f6e20686176696e672061207369676e6174757265207768696368946973206e6f742060286f726967696e2c20517565727949642c20526573706f6e736529602e40496e76616c6964526573706f6e6465720c01186f726967696e290201344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400014465787065637465645f6c6f636174696f6e990201544f7074696f6e3c4d756c74694c6f636174696f6e3e00080c5901457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206f726967696e206c6f636174696f6e206f662074686520726573706f6e736520646f657355016e6f74206d6174636820746861742065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e5c496e76616c6964526573706f6e64657256657273696f6e0801186f726967696e290201344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400091c5101457870656374656420717565727920726573706f6e736520686173206265656e2072656365697665642062757420746865206578706563746564206f726967696e206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e34526573706f6e736554616b656e04012071756572795f696410011c51756572794964000a04c8526563656976656420717565727920726573706f6e736520686173206265656e207265616420616e642072656d6f7665642e34417373657473547261707065640c011068617368300110483235360001186f726967696e290201344d756c74694c6f636174696f6e000118617373657473b902015056657273696f6e65644d756c7469417373657473000b04b8536f6d65206173736574732068617665206265656e20706c6163656420696e20616e20617373657420747261702e5456657273696f6e4368616e67654e6f74696669656410012c64657374696e6174696f6e290201344d756c74694c6f636174696f6e000118726573756c7420012858636d56657273696f6e000110636f73745902012c4d756c74694173736574730001286d6573736167655f696404011c58636d48617368000c0c2501416e2058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e206d65737361676520686173206265656e20617474656d7074656420746f2062652073656e742e00e054686520636f7374206f662073656e64696e672069742028626f726e652062792074686520636861696e2920697320696e636c756465642e5c537570706f7274656456657273696f6e4368616e6765640801206c6f636174696f6e290201344d756c74694c6f636174696f6e00011c76657273696f6e20012858636d56657273696f6e000d08390154686520737570706f727465642076657273696f6e206f662061206c6f636174696f6e20686173206265656e206368616e6765642e2054686973206d69676874206265207468726f75676820616ec06175746f6d61746963206e6f74696669636174696f6e206f722061206d616e75616c20696e74657276656e74696f6e2e504e6f7469667954617267657453656e644661696c0c01206c6f636174696f6e290201344d756c74694c6f636174696f6e00012071756572795f696410011c517565727949640001146572726f721902012058636d4572726f72000e0859014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f727c73656e64696e6720746865206e6f74696669636174696f6e20746f2069742e644e6f746966795461726765744d6967726174696f6e4661696c0801206c6f636174696f6ef102015856657273696f6e65644d756c74694c6f636174696f6e00012071756572795f696410011c51756572794964000f0859014120676976656e206c6f636174696f6e2077686963682068616420612076657273696f6e206368616e676520737562736372697074696f6e207761732064726f70706564206f77696e6720746f20616e206572726f72b46d6967726174696e6720746865206c6f636174696f6e20746f206f7572206e65772058434d20666f726d61742e54496e76616c69645175657269657256657273696f6e0801186f726967696e290201344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400101c5501457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652065787065637465642071756572696572206c6f636174696f6e20706c6163656420696e4d0173746f7261676520627920746869732072756e74696d652070726576696f75736c792063616e6e6f74206265206465636f6465642e205468652071756572792072656d61696e7320726567697374657265642e0041015468697320697320756e6578706563746564202873696e63652061206c6f636174696f6e20706c6163656420696e2073746f7261676520696e20612070726576696f75736c7920657865637574696e674d0172756e74696d652073686f756c64206265207265616461626c65207072696f7220746f2071756572792074696d656f75742920616e642064616e6765726f75732073696e63652074686520706f737369626c79590176616c696420726573706f6e73652077696c6c2062652064726f707065642e204d616e75616c20676f7665726e616e636520696e74657276656e74696f6e2069732070726f6261626c7920676f696e6720746f2062651c6e65656465642e38496e76616c6964517565726965721001186f726967696e290201344d756c74694c6f636174696f6e00012071756572795f696410011c5175657279496400014065787065637465645f71756572696572290201344d756c74694c6f636174696f6e0001506d617962655f61637475616c5f71756572696572990201544f7074696f6e3c4d756c74694c6f636174696f6e3e00110c5d01457870656374656420717565727920726573706f6e736520686173206265656e20726563656976656420627574207468652071756572696572206c6f636174696f6e206f662074686520726573706f6e736520646f657351016e6f74206d61746368207468652065787065637465642e205468652071756572792072656d61696e73207265676973746572656420666f722061206c617465722c2076616c69642c20726573706f6e736520746f6c626520726563656976656420616e642061637465642075706f6e2e5056657273696f6e4e6f74696679537461727465640c012c64657374696e6174696f6e290201344d756c74694c6f636174696f6e000110636f73745902012c4d756c74694173736574730001286d6573736167655f696404011c58636d486173680012085901412072656d6f746520686173207265717565737465642058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e2066726f6d20757320616e64207765206861766520686f6e6f7265642069742e1d01412076657273696f6e20696e666f726d6174696f6e206d6573736167652069732073656e7420746f207468656d20616e642069747320636f737420697320696e636c756465642e5856657273696f6e4e6f746966795265717565737465640c012c64657374696e6174696f6e290201344d756c74694c6f636174696f6e000110636f73745902012c4d756c74694173736574730001286d6573736167655f696404011c58636d486173680013043d015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073656e642075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e6056657273696f6e4e6f74696679556e7265717565737465640c012c64657374696e6174696f6e290201344d756c74694c6f636174696f6e000110636f73745902012c4d756c74694173736574730001286d6573736167655f696404011c58636d4861736800140461015765206861766520726571756573746564207468617420612072656d6f746520636861696e2073746f70732073656e64696e672075732058434d2076657273696f6e206368616e6765206e6f74696669636174696f6e732e204665657350616964080118706179696e67290201344d756c74694c6f636174696f6e000110666565735902012c4d756c7469417373657473001504310146656573207765726520706169642066726f6d2061206c6f636174696f6e20666f7220616e206f7065726174696f6e20286f6674656e20666f72207573696e67206053656e6458636d60292e34417373657473436c61696d65640c011068617368300110483235360001186f726967696e290201344d756c74694c6f636174696f6e000118617373657473b902015056657273696f6e65644d756c7469417373657473001604c0536f6d65206173736574732068617665206265656e20636c61696d65642066726f6d20616e2061737365742074726170047c54686520604576656e746020656e756d206f6620746869732070616c6c65742502100c78636d087633187472616974731c4f7574636f6d6500010c20436f6d706c657465040028011857656967687400000028496e636f6d706c65746508002801185765696768740000190201144572726f72000100144572726f720400190201144572726f72000200002902100c78636d087633346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f722d0201244a756e6374696f6e7300002d02100c78636d087633246a756e6374696f6e73244a756e6374696f6e7300012410486572650000000858310400310201204a756e6374696f6e0001000858320800310201204a756e6374696f6e0000310201204a756e6374696f6e0002000858330c00310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0003000858341000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0004000858351400310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0005000858361800310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0006000858371c00310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0007000858382000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e0000310201204a756e6374696f6e000800003102100c78636d087633206a756e6374696f6e204a756e6374696f6e0001282450617261636861696e04003502010c7533320000002c4163636f756e744964333208011c6e6574776f726b390201444f7074696f6e3c4e6574776f726b49643e00010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726b390201444f7074696f6e3c4e6574776f726b49643e000114696e6465782c010c753634000200304163636f756e744b6579323008011c6e6574776f726b390201444f7074696f6e3c4e6574776f726b49643e00010c6b6579210101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e646578040041020110753132380005002847656e6572616c4b65790801186c656e6774680801087538000110646174610401205b75383b2033325d000600244f6e6c794368696c6400070024506c7572616c697479080108696445020118426f647949640001107061727449020120426f6479506172740008003c476c6f62616c436f6e73656e73757304003d0201244e6574776f726b49640009000035020000062000390204184f7074696f6e040454013d020108104e6f6e6500000010536f6d6504003d0200000100003d02100c78636d087633206a756e6374696f6e244e6574776f726b496400012824427947656e6573697304000401205b75383b2033325d000000184279466f726b080130626c6f636b5f6e756d62657210010c753634000128626c6f636b5f686173680401205b75383b2033325d00010020506f6c6b61646f74000200184b7573616d610003001c57657374656e6400040018526f636f636f00050018576f636f636f00060020457468657265756d040120636861696e5f69642c010c7536340007002c426974636f696e436f72650008002c426974636f696e4361736800090000410200000618004502100c78636d087633206a756e6374696f6e18426f6479496400012810556e69740000001c4d6f6e696b6572040044011c5b75383b20345d00010014496e64657804003502010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e000800205472656173757279000900004902100c78636d087633206a756e6374696f6e20426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e743502010c753332000100204672616374696f6e08010c6e6f6d3502010c75333200011464656e6f6d3502010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6d3502010c75333200011464656e6f6d3502010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6d3502010c75333200011464656e6f6d3502010c753332000400004d020c0c78636d0876330c58636d041043616c6c00000400510201585665633c496e737472756374696f6e3c43616c6c3e3e0000510200000255020055020c0c78636d0876332c496e737472756374696f6e041043616c6c0001c0345769746864726177417373657404005902012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404005902012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404005902012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f69642c011c51756572794964000120726573706f6e736575020120526573706f6e73650001286d61785f77656967687428011857656967687400011c71756572696572990201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e7366657241737365740801186173736574735902012c4d756c746941737365747300012c62656e6566696369617279290201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574735902012c4d756c746941737365747300011064657374290201344d756c74694c6f636174696f6e00010c78636d4d02011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e649d0201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428011857656967687400011063616c6ca102014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e6465723502010c7533320001406d61785f6d6573736167655f73697a653502010c7533320001306d61785f63617061636974793502010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e743502010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f723502010c75333200011873656e6465723502010c753332000124726563697069656e743502010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e04002d020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720400a50201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473a90201404d756c7469417373657446696c74657200012c62656e6566696369617279290201344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473a90201404d756c7469417373657446696c74657200011064657374290201344d756c74694c6f636174696f6e00010c78636d4d02011c58636d3c28293e000e003445786368616e676541737365740c011067697665a90201404d756c7469417373657446696c74657200011077616e745902012c4d756c746941737365747300011c6d6178696d616cac0110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473a90201404d756c7469417373657446696c74657200011c72657365727665290201344d756c74694c6f636174696f6e00010c78636d4d02011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473a90201404d756c7469417373657446696c74657200011064657374290201344d756c74694c6f636174696f6e00010c78636d4d02011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666fa50201445175657279526573706f6e7365496e666f000118617373657473a90201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573610201284d756c746941737365740001307765696768745f6c696d6974b502012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c657204004d02012458636d3c43616c6c3e0015002c536574417070656e64697804004d02012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574735902012c4d756c74694173736574730001187469636b6574290201344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f776569676874280118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e417373657404005902012c4d756c7469417373657473001c002c457870656374417373657404005902012c4d756c7469417373657473001d00304578706563744f726967696e0400990201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400790201504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e736163745374617475730400910201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6534011c5665633c75383e000134726573706f6e73655f696e666fa50201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e6465783502010c7533320001106e616d6534011c5665633c75383e00012c6d6f64756c655f6e616d6534011c5665633c75383e00012c63726174655f6d616a6f723502010c75333200013c6d696e5f63726174655f6d696e6f723502010c753332002200505265706f72745472616e736163745374617475730400a50201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400310201204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726b3d0201244e6574776f726b496400012c64657374696e6174696f6e2d020154496e746572696f724d756c74694c6f636174696f6e00010c78636d4d02011c58636d3c28293e002600244c6f636b41737365740801146173736574610201284d756c74694173736574000120756e6c6f636b6572290201344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574610201284d756c74694173736574000118746172676574290201344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574610201284d756c746941737365740001146f776e6572290201344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574610201284d756c746941737365740001186c6f636b6572290201344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177ac0110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400290201344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d6974b502012c5765696768744c696d6974000130636865636b5f6f726967696e990201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f00005902100c78636d087633286d756c746961737365742c4d756c7469417373657473000004005d02013c5665633c4d756c746941737365743e00005d020000026102006102100c78636d087633286d756c74696173736574284d756c74694173736574000008010869646502011c4173736574496400010c66756e6902012c46756e676962696c69747900006502100c78636d087633286d756c746961737365741c4173736574496400010820436f6e63726574650400290201344d756c74694c6f636174696f6e00000020416273747261637404000401205b75383b2033325d000100006902100c78636d087633286d756c746961737365742c46756e676962696c6974790001082046756e6769626c65040041020110753132380000002c4e6f6e46756e6769626c6504006d0201344173736574496e7374616e6365000100006d02100c78636d087633286d756c74696173736574344173736574496e7374616e636500011824556e646566696e656400000014496e6465780400410201107531323800010018417272617934040044011c5b75383b20345d0002001841727261793804007102011c5b75383b20385d0003001c417272617931360400490101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050000710200000308000000080075020c0c78636d08763320526573706f6e7365000118104e756c6c0000001841737365747304005902012c4d756c74694173736574730001003c457865637574696f6e526573756c740400790201504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e040020013873757065723a3a56657273696f6e0003002c50616c6c657473496e666f040081020198426f756e6465645665633c50616c6c6574496e666f2c204d617850616c6c657473496e666f3e000400384469737061746368526573756c740400910201384d617962654572726f72436f646500050000790204184f7074696f6e040454017d020108104e6f6e6500000010536f6d6504007d0200000100007d02000004082019020081020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540185020453000004008d0201185665633c543e000085020c0c78636d0876332850616c6c6574496e666f0000180114696e6465783502010c7533320001106e616d6589020180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e00012c6d6f64756c655f6e616d6589020180426f756e6465645665633c75382c204d617850616c6c65744e616d654c656e3e0001146d616a6f723502010c7533320001146d696e6f723502010c75333200011470617463683502010c753332000089020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e00008d0200000285020091020c0c78636d087633384d617962654572726f72436f646500010c1c53756363657373000000144572726f7204009502018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e000100385472756e63617465644572726f7204009502018c426f756e6465645665633c75382c204d617844697370617463684572726f724c656e3e0002000095020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000990204184f7074696f6e0404540129020108104e6f6e6500000010536f6d650400290200000100009d020c0c78636d087632284f726967696e4b696e64000110184e617469766500000040536f7665726569676e4163636f756e74000100245375706572757365720002000c58636d00030000a1020c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656434011c5665633c75383e0000a5020c0c78636d087633445175657279526573706f6e7365496e666f00000c012c64657374696e6174696f6e290201344d756c74694c6f636174696f6e00012071756572795f69642c011c517565727949640001286d61785f7765696768742801185765696768740000a902100c78636d087633286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e69746504005902012c4d756c74694173736574730000001057696c640400ad02013857696c644d756c7469417373657400010000ad02100c78636d087633286d756c746961737365743857696c644d756c746941737365740001100c416c6c00000014416c6c4f6608010869646502011c4173736574496400010c66756eb102013c57696c6446756e676962696c69747900010028416c6c436f756e74656404003502010c75333200020030416c6c4f66436f756e7465640c010869646502011c4173736574496400010c66756eb102013c57696c6446756e676962696c697479000114636f756e743502010c75333200030000b102100c78636d087633286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c6500010000b5020c0c78636d0876332c5765696768744c696d697400010824556e6c696d697465640000001c4c696d69746564040028011857656967687400010000b902080c78636d5056657273696f6e65644d756c74694173736574730001080856320400bd02013c76323a3a4d756c746941737365747300010008563304005902013c76333a3a4d756c746941737365747300030000bd02100c78636d087632286d756c746961737365742c4d756c746941737365747300000400c102013c5665633c4d756c746941737365743e0000c102000002c50200c502100c78636d087632286d756c74696173736574284d756c7469417373657400000801086964c902011c4173736574496400010c66756ee902012c46756e676962696c6974790000c902100c78636d087632286d756c746961737365741c4173736574496400010820436f6e63726574650400cd0201344d756c74694c6f636174696f6e000000204162737472616374040034011c5665633c75383e00010000cd02100c78636d087632346d756c74696c6f636174696f6e344d756c74694c6f636174696f6e000008011c706172656e74730801087538000120696e746572696f72d10201244a756e6374696f6e730000d102100c78636d087632346d756c74696c6f636174696f6e244a756e6374696f6e7300012410486572650000000858310400d50201204a756e6374696f6e0001000858320800d50201204a756e6374696f6e0000d50201204a756e6374696f6e0002000858330c00d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0003000858341000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0004000858351400d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0005000858361800d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0006000858371c00d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0007000858382000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e0000d50201204a756e6374696f6e00080000d502100c78636d087632206a756e6374696f6e204a756e6374696f6e0001242450617261636861696e04003502010c7533320000002c4163636f756e744964333208011c6e6574776f726bd90201244e6574776f726b496400010869640401205b75383b2033325d000100384163636f756e74496e646578363408011c6e6574776f726bd90201244e6574776f726b4964000114696e6465782c010c753634000200304163636f756e744b6579323008011c6e6574776f726bd90201244e6574776f726b496400010c6b6579210101205b75383b2032305d0003003850616c6c6574496e7374616e6365040008010875380004003047656e6572616c496e646578040041020110753132380005002847656e6572616c4b65790400dd0201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e000600244f6e6c794368696c6400070024506c7572616c6974790801086964e1020118426f6479496400011070617274e5020120426f64795061727400080000d9020c0c78636d087632244e6574776f726b49640001100c416e79000000144e616d65640400dd0201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010020506f6c6b61646f74000200184b7573616d6100030000dd020c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e64656456656308045401080453000004003401185665633c543e0000e1020c0c78636d08763218426f6479496400012810556e6974000000144e616d65640400dd0201805765616b426f756e6465645665633c75382c20436f6e73745533323c33323e3e00010014496e64657804003502010c7533320002002445786563757469766500030024546563686e6963616c0004002c4c656769736c6174697665000500204a7564696369616c0006001c446566656e73650007003841646d696e697374726174696f6e00080020547265617375727900090000e5020c0c78636d08763220426f64795061727400011414566f6963650000001c4d656d62657273040114636f756e743502010c753332000100204672616374696f6e08010c6e6f6d3502010c75333200011464656e6f6d3502010c7533320002004441744c6561737450726f706f7274696f6e08010c6e6f6d3502010c75333200011464656e6f6d3502010c753332000300484d6f72655468616e50726f706f7274696f6e08010c6e6f6d3502010c75333200011464656e6f6d3502010c75333200040000e902100c78636d087632286d756c746961737365742c46756e676962696c6974790001082046756e6769626c65040041020110753132380000002c4e6f6e46756e6769626c650400ed0201344173736574496e7374616e636500010000ed02100c78636d087632286d756c74696173736574344173736574496e7374616e636500011c24556e646566696e656400000014496e6465780400410201107531323800010018417272617934040044011c5b75383b20345d0002001841727261793804007102011c5b75383b20385d0003001c417272617931360400490101205b75383b2031365d0004001c4172726179333204000401205b75383b2033325d00050010426c6f62040034011c5665633c75383e00060000f102080c78636d5856657273696f6e65644d756c74694c6f636174696f6e0001080856320400cd02014476323a3a4d756c74694c6f636174696f6e00010008563304002902014476333a3a4d756c74694c6f636174696f6e00030000f5020c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144576656e7404045400010c34496e76616c6964466f726d617404000401205b75383b2033325d00000880446f776e77617264206d65737361676520697320696e76616c69642058434d2e205c5b206964205c5d48556e737570706f7274656456657273696f6e04000401205b75383b2033325d000108bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e205c5b206964205c5d404578656375746564446f776e7761726408000401205b75383b2033325d00002502011c4f7574636f6d65000208c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e445c5b2069642c206f7574636f6d65205c5d047c54686520604576656e746020656e756d206f6620746869732070616c6c6574f9020c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144576656e7404045400011c34496e76616c6964466f726d61740401306d6573736167655f6861736804011c58636d4861736800000480446f776e77617264206d65737361676520697320696e76616c69642058434d2e48556e737570706f7274656456657273696f6e0401306d6573736167655f6861736804011c58636d48617368000104bc446f776e77617264206d65737361676520697320756e737570706f727465642076657273696f6e206f662058434d2e404578656375746564446f776e776172640c01306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d4861736800011c6f7574636f6d652502011c4f7574636f6d65000204c4446f776e77617264206d65737361676520657865637574656420776974682074686520676976656e206f7574636f6d652e3c5765696768744578686175737465641001306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d4861736800014072656d61696e696e675f77656967687428011857656967687400013c72657175697265645f776569676874280118576569676874000304f054686520776569676874206c696d697420666f722068616e646c696e6720646f776e77617264206d657373616765732077617320726561636865642e484f766572776569676874456e7175657565641001306d6573736167655f6861736804011c58636d486173680001286d6573736167655f696404011c58636d486173680001406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800013c72657175697265645f7765696768742801185765696768740004041901446f776e77617264206d657373616765206973206f76657277656967687420616e642077617320706c6163656420696e20746865206f7665727765696768742071756575652e484f76657277656967687453657276696365640801406f7665727765696768745f696e64657810013c4f766572776569676874496e64657800012c7765696768745f75736564280118576569676874000504e0446f776e77617264206d6573736167652066726f6d20746865206f766572776569676874207175657565207761732065786563757465642e504d61784d657373616765734578686175737465640401306d6573736167655f6861736804011c58636d48617368000604d0546865206d6178696d756d206e756d626572206f6620646f776e77617264206d657373616765732077617320726561636865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574fd0208306672616d655f73797374656d14506861736500010c384170706c7945787472696e736963040020010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e000200000103000002d000050308306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6e3502014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d650903016473705f72756e74696d653a3a52756e74696d65537472696e670000090300000502000d030c306672616d655f73797374656d1870616c6c65741043616c6c0404540001201872656d61726b04011872656d61726b34011c5665633c75383e0000045c536565205b6050616c6c65743a3a72656d61726b605d2e387365745f686561705f7061676573040114706167657310010c7536340001047c536565205b6050616c6c65743a3a7365745f686561705f7061676573605d2e207365745f636f6465040110636f646534011c5665633c75383e00020464536565205b6050616c6c65743a3a7365745f636f6465605d2e5c7365745f636f64655f776974686f75745f636865636b73040110636f646534011c5665633c75383e000304a0536565205b6050616c6c65743a3a7365745f636f64655f776974686f75745f636865636b73605d2e2c7365745f73746f726167650401146974656d73110301345665633c4b657956616c75653e00040470536565205b6050616c6c65743a3a7365745f73746f72616765605d2e306b696c6c5f73746f726167650401106b657973190301205665633c4b65793e00050474536565205b6050616c6c65743a3a6b696c6c5f73746f72616765605d2e2c6b696c6c5f70726566697808011870726566697834010c4b657900011c7375626b65797320010c75333200060470536565205b6050616c6c65743a3a6b696c6c5f707265666978605d2e4472656d61726b5f776974685f6576656e7404011872656d61726b34011c5665633c75383e00070488536565205b6050616c6c65743a3a72656d61726b5f776974685f6576656e74605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e1103000002150300150300000408343400190300000234001d030c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2801185765696768740001246d61785f626c6f636b2801185765696768740001247065725f636c617373210301845065724469737061746368436c6173733c57656967687473506572436c6173733e000021030c346672616d655f737570706f7274206469737061746368405065724469737061746368436c617373040454012503000c01186e6f726d616c250301045400012c6f7065726174696f6e616c25030104540001246d616e6461746f72792503010454000025030c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632801185765696768740001346d61785f65787472696e736963290301384f7074696f6e3c5765696768743e0001246d61785f746f74616c290301384f7074696f6e3c5765696768743e0001207265736572766564290301384f7074696f6e3c5765696768743e0000290304184f7074696f6e04045401280108104e6f6e6500000010536f6d6504002800000100002d030c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178310301545065724469737061746368436c6173733c7533323e000031030c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540120000c01186e6f726d616c2001045400012c6f7065726174696f6e616c200104540001246d616e6461746f72792001045400003503082873705f776569676874733c52756e74696d65446257656967687400000801107265616410010c753634000114777269746510010c75363400003903082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d650903013452756e74696d65537472696e67000124696d706c5f6e616d650903013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e20010c753332000130737065635f76657273696f6e20010c753332000130696d706c5f76657273696f6e20010c753332000110617069733d03011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e20010c75333200013473746174655f76657273696f6e080108753800003d03040c436f77040454014103000400410300000041030000024503004503000004087102200049030c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c65744d030c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f772c0124543a3a4d6f6d656e7400000450536565205b6050616c6c65743a3a736574605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e51030000040c0018ac0055030c3870616c6c65745f696e64696365731870616c6c65741043616c6c04045400011414636c61696d040114696e64657810013c543a3a4163636f756e74496e64657800000458536565205b6050616c6c65743a3a636c61696d605d2e207472616e7366657208010c6e6577590301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e64657800010464536565205b6050616c6c65743a3a7472616e73666572605d2e1066726565040114696e64657810013c543a3a4163636f756e74496e64657800020454536565205b6050616c6c65743a3a66726565605d2e38666f7263655f7472616e736665720c010c6e6577590301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657810013c543a3a4163636f756e74496e646578000118667265657a65ac0110626f6f6c0003047c536565205b6050616c6c65743a3a666f7263655f7472616e73666572605d2e18667265657a65040114696e64657810013c543a3a4163636f756e74496e6465780004045c536565205b6050616c6c65743a3a667265657a65605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e59030c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e64657801b4011408496404000001244163636f756e74496400000014496e64657804005d0301304163636f756e74496e6465780001000c526177040034011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400210101205b75383b2032305d000400005d03000006b40061030c3870616c6c65745f696e64696365731870616c6c6574144572726f720404540001142c4e6f7441737369676e65640000048c54686520696e64657820776173206e6f7420616c72656164792061737369676e65642e204e6f744f776e6572000104a454686520696e6465782069732061737369676e656420746f20616e6f74686572206163636f756e742e14496e5573650002047054686520696e64657820776173206e6f7420617661696c61626c652e2c4e6f745472616e73666572000304c854686520736f7572636520616e642064657374696e6174696f6e206163636f756e747320617265206964656e746963616c2e245065726d616e656e74000404d054686520696e646578206973207065726d616e656e7420616e64206d6179206e6f742062652066726565642f6368616e6765642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e65030c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e646564566563080454016903045300000400710301185665633c543e000069030c3c70616c6c65745f62616c616e6365731474797065732c42616c616e63654c6f636b041c42616c616e63650118000c01086964710201384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e736d03011c526561736f6e7300006d030c3c70616c6c65745f62616c616e6365731474797065731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c00020000710300000269030075030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540179030453000004007d0301185665633c543e000079030c3c70616c6c65745f62616c616e6365731474797065732c52657365727665446174610844526573657276654964656e7469666965720171021c42616c616e6365011800080108696471020144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e636500007d0300000279030081030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454018503045300000400890301185665633c543e000085030c3c70616c6c65745f62616c616e636573147479706573204964416d6f756e740808496401ed011c42616c616e63650118000801086964ed0101084964000118616d6f756e7418011c42616c616e6365000089030000028503008d030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540191030453000004009d0301185665633c543e000091030c3c70616c6c65745f62616c616e636573147479706573204964416d6f756e74080849640195031c42616c616e63650118000801086964950301084964000118616d6f756e7418011c42616c616e63650000950308447370697269746e65745f72756e74696d654c52756e74696d65467265657a65526561736f6e0001044050617261636861696e5374616b696e6704009903017c70617261636861696e5f7374616b696e673a3a467265657a65526561736f6e0015000099030c4470617261636861696e5f7374616b696e671870616c6c657430467265657a65526561736f6e0001041c5374616b696e67000000009d03000002910300a1030c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c080454000449000124507472616e736665725f616c6c6f775f646561746808011064657374590301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756541020128543a3a42616c616e636500000494536565205b6050616c6c65743a3a7472616e736665725f616c6c6f775f6465617468605d2e587365745f62616c616e63655f646570726563617465640c010c77686f590301504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f6672656541020128543a3a42616c616e63650001306f6c645f726573657276656441020128543a3a42616c616e63650001049c536565205b6050616c6c65743a3a7365745f62616c616e63655f64657072656361746564605d2e38666f7263655f7472616e736665720c0118736f75726365590301504163636f756e7449644c6f6f6b75704f663c543e00011064657374590301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756541020128543a3a42616c616e63650002047c536565205b6050616c6c65743a3a666f7263655f7472616e73666572605d2e4c7472616e736665725f6b6565705f616c69766508011064657374590301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756541020128543a3a42616c616e636500030490536565205b6050616c6c65743a3a7472616e736665725f6b6565705f616c697665605d2e307472616e736665725f616c6c08011064657374590301504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665ac0110626f6f6c00040474536565205b6050616c6c65743a3a7472616e736665725f616c6c605d2e3c666f7263655f756e7265736572766508010c77686f590301504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050480536565205b6050616c6c65743a3a666f7263655f756e72657365727665605d2e40757067726164655f6163636f756e747304010c77686fb90101445665633c543a3a4163636f756e7449643e00060484536565205b6050616c6c65743a3a757067726164655f6163636f756e7473605d2e207472616e7366657208011064657374590301504163636f756e7449644c6f6f6b75704f663c543e00011476616c756541020128543a3a42616c616e636500070464536565205b6050616c6c65743a3a7472616e73666572605d2e44666f7263655f7365745f62616c616e636508010c77686f590301504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f6672656541020128543a3a42616c616e636500080488536565205b6050616c6c65743a3a666f7263655f7365745f62616c616e6365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ea5030c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001283856657374696e6742616c616e63650000049c56657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c75652e544c69717569646974795265737472696374696f6e73000104c84163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304ec56616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f7369742e34457870656e646162696c697479000404905472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e742e5c4578697374696e6756657374696e675363686564756c65000504cc412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742e2c446561644163636f756e740006048c42656e6566696369617279206163636f756e74206d757374207072652d65786973742e3c546f6f4d616e795265736572766573000704b84e756d626572206f66206e616d65642072657365727665732065786365656420604d61785265736572766573602e30546f6f4d616e79486f6c6473000804884e756d626572206f6620686f6c64732065786365656420604d6178486f6c6473602e38546f6f4d616e79467265657a6573000904984e756d626572206f6620667265657a65732065786365656420604d6178467265657a6573602e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea9030c3473705f61726974686d657469632c66697865645f706f696e742446697865645531323800000400180110753132380000ad03086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e7400000008563200010000b1030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401b503045300000400bd0301185665633c543e0000b503104473705f636f6e73656e7375735f617572611c737232353531392c6170705f73723235353139185075626c696300000400b903013c737232353531393a3a5075626c69630000b9030c1c73705f636f72651c73723235353139185075626c6963000004000401205b75383b2033325d0000bd03000002b50300c103084873705f636f6e73656e7375735f736c6f747310536c6f740000040010010c7536340000c503000002c90300c9030000040800cd0300cd0308447370697269746e65745f72756e74696d652c53657373696f6e4b657973000004011061757261b50301c43c41757261206173202463726174653a3a426f756e64546f52756e74696d654170705075626c69633e3a3a5075626c69630000d1030000022000d50300000408d9033400d9030c1c73705f636f72651863727970746f244b65795479706549640000040044011c5b75383b20345d0000dd030c3870616c6c65745f73657373696f6e1870616c6c65741043616c6c040454000108207365745f6b6579730801106b657973cd03011c543a3a4b65797300011470726f6f6634011c5665633c75383e00000464536565205b6050616c6c65743a3a7365745f6b657973605d2e2870757267655f6b6579730001046c536565205b6050616c6c65743a3a70757267655f6b657973605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ee1030c3870616c6c65745f73657373696f6e1870616c6c6574144572726f7204045400011430496e76616c696450726f6f6600000460496e76616c6964206f776e6572736869702070726f6f662e5c4e6f4173736f63696174656456616c696461746f7249640001049c4e6f206173736f6369617465642076616c696461746f7220494420666f72206163636f756e742e344475706c6963617465644b65790002046452656769737465726564206475706c6963617465206b65792e184e6f4b657973000304a44e6f206b65797320617265206173736f63696174656420776974682074686973206163636f756e742e244e6f4163636f756e7400040419014b65792073657474696e67206163636f756e74206973206e6f74206c6976652c20736f206974277320696d706f737369626c6520746f206173736f6369617465206b6579732e04744572726f7220666f72207468652073657373696f6e2070616c6c65742ee5030c4470617261636861696e5f7374616b696e6714747970657324526f756e64496e666f042c426c6f636b4e756d6265720110000c011c63757272656e7420013053657373696f6e496e646578000114666972737410012c426c6f636b4e756d6265720001186c656e67746810012c426c6f636b4e756d6265720000e9030c4470617261636861696e5f7374616b696e671474797065734444656c65676174696f6e436f756e7465720000080114726f756e6420013053657373696f6e496e64657800011c636f756e74657220010c7533320000ed030c4470617261636861696e5f7374616b696e67147479706573145374616b6508244163636f756e74496401001c42616c616e63650118000801146f776e65720001244163636f756e744964000118616d6f756e7418011c42616c616e63650000f1030c4470617261636861696e5f7374616b696e671474797065732443616e6469646174650c244163636f756e74496401001c42616c616e63650118644d617844656c656761746f727350657243616e646964617465000014010869640001244163636f756e7449640001147374616b6518011c42616c616e636500012864656c656761746f7273f5030101014f7264657265645365743c5374616b653c4163636f756e7449642c2042616c616e63653e2c204d617844656c656761746f727350657243616e6469646174653e000114746f74616c18011c42616c616e63650001187374617475730104013c43616e6469646174655374617475730000f5030c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401ed03045300000400f9030140426f756e6465645665633c542c20533e0000f9030c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401ed03045300000400fd0301185665633c543e0000fd03000002ed030001040c4470617261636861696e5f7374616b696e671474797065733c43616e646964617465537461747573000108184163746976650000001c4c656176696e67040020013053657373696f6e496e6465780001000005040c4470617261636861696e5f7374616b696e6714747970657328546f74616c5374616b65041c42616c616e6365011800080124636f6c6c61746f727318011c42616c616e636500012864656c656761746f727318011c42616c616e6365000009040c4470617261636861696e5f7374616b696e670c736574284f72646572656453657408045401ed030453000004000d040140426f756e6465645665633c542c20533e00000d040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401ed03045300000400fd0301185665633c543e000011040c4470617261636861696e5f7374616b696e6724696e666c6174696f6e34496e666c6174696f6e496e666f0000080120636f6c6c61746f721504012c5374616b696e67496e666f00012464656c656761746f721504012c5374616b696e67496e666f000015040c4470617261636861696e5f7374616b696e6724696e666c6174696f6e2c5374616b696e67496e666f00000801206d61785f7261746590012c5065727175696e74696c6c00012c7265776172645f726174651904012852657761726452617465000019040c4470617261636861696e5f7374616b696e6724696e666c6174696f6e28526577617264526174650000080118616e6e75616c90012c5065727175696e74696c6c0001247065725f626c6f636b90012c5065727175696e74696c6c00001d040c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b0110045601180453000004002104013842547265654d61703c4b2c20563e00002104042042547265654d617008044b011004560118000400250400000025040000022904002904000004081018002d040c4470617261636861696e5f7374616b696e671870616c6c65741043616c6c0404540001543c666f7263655f6e65775f726f756e6400000480536565205b6050616c6c65743a3a666f7263655f6e65775f726f756e64605d2e347365745f696e666c6174696f6e100170636f6c6c61746f725f6d61785f726174655f70657263656e7461676590012c5065727175696e74696c6c000198636f6c6c61746f725f616e6e75616c5f7265776172645f726174655f70657263656e7461676590012c5065727175696e74696c6c00017464656c656761746f725f6d61785f726174655f70657263656e7461676590012c5065727175696e74696c6c00019c64656c656761746f725f616e6e75616c5f7265776172645f726174655f70657263656e7461676590012c5065727175696e74696c6c00010478536565205b6050616c6c65743a3a7365745f696e666c6174696f6e605d2e6c7365745f6d61785f73656c65637465645f63616e6469646174657304010c6e657720010c753332000204b0536565205b6050616c6c65743a3a7365745f6d61785f73656c65637465645f63616e64696461746573605d2e507365745f626c6f636b735f7065725f726f756e6404010c6e6577100144426c6f636b4e756d626572466f723c543e00030494536565205b6050616c6c65743a3a7365745f626c6f636b735f7065725f726f756e64605d2e5c7365745f6d61785f63616e6469646174655f7374616b6504010c6e657718013042616c616e63654f663c543e000404a0536565205b6050616c6c65743a3a7365745f6d61785f63616e6469646174655f7374616b65605d2e58666f7263655f72656d6f76655f63616e646964617465040120636f6c6c61746f725903018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f757263650005049c536565205b6050616c6c65743a3a666f7263655f72656d6f76655f63616e646964617465605d2e3c6a6f696e5f63616e646964617465730401147374616b6518013042616c616e63654f663c543e00060480536565205b6050616c6c65743a3a6a6f696e5f63616e64696461746573605d2e54696e69745f6c656176655f63616e6469646174657300070498536565205b6050616c6c65743a3a696e69745f6c656176655f63616e64696461746573605d2e60657865637574655f6c656176655f63616e64696461746573040120636f6c6c61746f725903018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000804a4536565205b6050616c6c65743a3a657865637574655f6c656176655f63616e64696461746573605d2e5c63616e63656c5f6c656176655f63616e64696461746573000904a0536565205b6050616c6c65743a3a63616e63656c5f6c656176655f63616e64696461746573605d2e5063616e6469646174655f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000a0494536565205b6050616c6c65743a3a63616e6469646174655f7374616b655f6d6f7265605d2e5063616e6469646174655f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000b0494536565205b6050616c6c65743a3a63616e6469646174655f7374616b655f6c657373605d2e3c6a6f696e5f64656c656761746f7273080120636f6c6c61746f725903018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f75726365000118616d6f756e7418013042616c616e63654f663c543e000c0480536565205b6050616c6c65743a3a6a6f696e5f64656c656761746f7273605d2e406c656176655f64656c656761746f7273000d0484536565205b6050616c6c65743a3a6c656176655f64656c656761746f7273605d2e5064656c656761746f725f7374616b655f6d6f72650401106d6f726518013042616c616e63654f663c543e000e0494536565205b6050616c6c65743a3a64656c656761746f725f7374616b655f6d6f7265605d2e5064656c656761746f725f7374616b655f6c6573730401106c65737318013042616c616e63654f663c543e000f0494536565205b6050616c6c65743a3a64656c656761746f725f7374616b655f6c657373605d2e3c756e6c6f636b5f756e7374616b65640401187461726765745903018c3c543a3a4c6f6f6b7570206173205374617469634c6f6f6b75703e3a3a536f7572636500100480536565205b6050616c6c65743a3a756e6c6f636b5f756e7374616b6564605d2e34636c61696d5f7265776172647300110478536565205b6050616c6c65743a3a636c61696d5f72657761726473605d2e68696e6372656d656e745f636f6c6c61746f725f72657761726473001204ac536565205b6050616c6c65743a3a696e6372656d656e745f636f6c6c61746f725f72657761726473605d2e6c696e6372656d656e745f64656c656761746f725f72657761726473001304b0536565205b6050616c6c65743a3a696e6372656d656e745f64656c656761746f725f72657761726473605d2e7c657865637574655f7363686564756c65645f7265776172645f6368616e6765001404c0536565205b6050616c6c65743a3a657865637574655f7363686564756c65645f7265776172645f6368616e6765605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e31040c4470617261636861696e5f7374616b696e671870616c6c6574144572726f7204045400017c4444656c656761746f724e6f74466f756e64000004b8546865206163636f756e74206973206e6f742070617274206f66207468652064656c656761746f7273207365742e4443616e6469646174654e6f74466f756e64000104dc546865206163636f756e74206973206e6f742070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3c44656c656761746f72457869737473000204c8546865206163636f756e7420697320616c72656164792070617274206f66207468652064656c656761746f7273207365742e3c43616e646964617465457869737473000304ec546865206163636f756e7420697320616c72656164792070617274206f662074686520636f6c6c61746f722063616e64696461746573207365742e3056616c5374616b655a65726f000404e4546865206163636f756e7420747269656420746f207374616b65206d6f7265206f72206c657373207769746820616d6f756e74207a65726f2e4056616c5374616b6542656c6f774d696e0005080d01546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f20626520616464656420746f2074686520636f6c6c61746f723c63616e64696461746573207365742e4056616c5374616b6541626f76654d61780006041101546865206163636f756e742068617320616c7265616479207374616b656420746865206d6178696d756d20616d6f756e74206f662066756e647320706f737369626c652e4844656c65676174696f6e42656c6f774d696e000708f8546865206163636f756e7420686173206e6f74207374616b656420656e6f7567682066756e647320746f2064656c6567617465206120636f6c6c61746f722863616e6469646174652e38416c72656164794c656176696e670008080d0154686520636f6c6c61746f722063616e6469646174652068617320616c72656164792074726967676572207468652070726f6365737320746f206c65617665207468656c736574206f6620636f6c6c61746f722063616e646964617465732e284e6f744c656176696e67000908f454686520636f6c6c61746f722063616e6469646174652077616e74656420746f20657865637574652074686520657869742062757420686173206e6f74f472657175657374656420746f206c65617665206265666f72652062792063616c6c696e672060696e69745f6c656176655f63616e64696461746573602e3843616e6e6f744c65617665596574000a08dc54686520636f6c6c61746f7220747269656420746f206c65617665206265666f72652077616974696e67206174206c6561737420666f72746045786974517565756544656c617960206d616e7920726f756e64732e6443616e6e6f744a6f696e4265666f7265556e6c6f636b696e67000b10f8546865206163636f756e742068617320612066756c6c206c697374206f6620756e7374616b696e6720726571756573747320616e64206e6565647320746ffc756e6c6f636b206174206c65617374206f6e65206f66207468657365206265666f7265206265696e672061626c6520746f206a6f696e2028616761696e292edc4e4f54453a2043616e206f6e6c792068617070656e20696620746865206163636f756e742077617320612063616e646964617465206f72f464656c656761746f72206265666f726520616e642065697468657220676f74206b69636b6564206f722065786974656420766f6c756e746172696c792e44416c726561647944656c65676174696e67000c04e4546865206163636f756e7420697320616c72656164792064656c65676174696e672074686520636f6c6c61746f722063616e6469646174652e404e6f7459657444656c65676174696e67000d080901546865206163636f756e7420686173206e6f742064656c65676174656420616e7920636f6c6c61746f722063616e646964617465207965742c2068656e6365206974806973206e6f7420696e2074686520736574206f662064656c656761746f72732e6c44656c65676174696f6e73506572526f756e644578636565646564000e1811015468652064656c656761746f722068617320657863656564656420746865206e756d626572206f662064656c65676174696f6e732070657220726f756e6420776869636894697320657175616c20746f204d617844656c656761746f7273506572436f6c6c61746f722e000901546869732070726f746563747320616761696e73742061747461636b7320696e20776869636820612064656c656761746f722063616e2072652d64656c6567617465010166726f6d206120636f6c6c61746f722077686f2068617320616c726561647920617574686f726564206120626c6f636b2c20746f20616e6f74686572206f6e6570776869636820686173206e6f7420696e207468697320726f756e642e44546f6f4d616e7944656c656761746f7273000f14010154686520636f6c6c61746f722063616e6469646174652068617320616c7265616479207265616368656420746865206d6178696d756d206e756d626572206f662c64656c656761746f72732e00050154686973206572726f722069732067656e65726174656420696e20636173652061206e65772064656c65676174696f6e207265717565737420646f6573206e6f74f47374616b6520656e6f7567682066756e647320746f207265706c61636520736f6d65206f74686572206578697374696e672064656c65676174696f6e2e60546f6f466577436f6c6c61746f7243616e64696461746573001008110154686520736574206f6620636f6c6c61746f722063616e6469646174657320776f756c642066616c6c2062656c6f7720746865207265717569726564206d696e696d756d5469662074686520636f6c6c61746f72206c6566742e5043616e6e6f745374616b6549664c656176696e67001108f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66010163616e6469646174657320616e642063616e6e6f7420706572666f726d20616e79206f7468657220616374696f6e7320696e20746865206d65616e74696d652e5c43616e6e6f7444656c656761746549664c656176696e67001208f854686520636f6c6c61746f722063616e64696461746520697320696e207468652070726f63657373206f66206c656176696e672074686520736574206f66ac63616e6469646174657320616e6420746875732063616e6e6f742062652064656c65676174656420746f2e804d6178436f6c6c61746f727350657244656c656761746f72457863656564656400130811015468652064656c656761746f722068617320616c72656164792064656c65676174656420746865206d6178696d756d206e756d626572206f662063616e6469646174657320616c6c6f7765642e60416c726561647944656c656761746564436f6c6c61746f72001408ec5468652064656c656761746f722068617320616c72656164792070726576696f75736c792064656c6567617465642074686520636f6c6c61746f722863616e6469646174652e4844656c65676174696f6e4e6f74466f756e64001504f854686520676976656e2064656c65676174696f6e20646f6573206e6f7420657869737420696e2074686520736574206f662064656c65676174696f6e732e24556e646572666c6f77001608050154686520636f6c6c61746f722064656c6567617465206f72207468652064656c656761746f7220697320747279696e6720746f20756e2d7374616b65206d6f72658066756e64732074686174206172652063757272656e746c79207374616b65642e4443616e6e6f7453657441626f76654d6178001708d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738061626f766520746865206d6178696d756d2076616c756520616c6c6f7765642e4443616e6e6f7453657442656c6f774d696e001808d8546865206e756d626572206f662073656c65637465642063616e6469646174657320706572207374616b696e6720726f756e642069738062656c6f7720746865206d696e696d756d2076616c756520616c6c6f7765642e3c496e76616c69645363686564756c65001904dc416e20696e76616c696420696e666c6174696f6e20636f6e66696775726174696f6e20697320747279696e6720746f206265207365742e3c4e6f4d6f7265556e7374616b696e67001a08c4546865207374616b696e6720726577617264206265696e6720756e6c6f636b656420646f6573206e6f742065786973742e7c4d617820756e6c6f636b696e6720726571756573747320726561636865642e20546f6f4561726c79001b0801015468652072657761726420726174652063616e6e6f742062652061646a75737465642079657420617320616e20656e74697265207965617220686173206e6f741c7061737365642e345374616b654e6f74466f756e64001c04d850726f7669646564207374616b65642076616c7565206973207a65726f2e2053686f756c64206e65766572206265207468726f776e2e40556e7374616b696e674973456d707479001d049443616e6e6f7420756e6c6f636b207768656e20556e7374616b656420697320656d7074792e3c526577617264734e6f74466f756e64001e047843616e6e6f7420636c61696d207265776172647320696620656d7074792e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e35040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540139040453000004000d0601185665633c543e000039040000040c203d0400003d0410346672616d655f737570706f72741874726169747324707265696d616765731c426f756e646564040454014104010c184c6567616379040110686173683001104861736800000018496e6c696e65040095010134426f756e646564496e6c696e65000100184c6f6f6b7570080110686173683001104861736800010c6c656e20010c75333200020000410408447370697269746e65745f72756e74696d652c52756e74696d6543616c6c0001881853797374656d04000d0301ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0000002454696d657374616d7004004d0301b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0002001c496e64696365730400550301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c496e64696365732c2052756e74696d653e0005002042616c616e6365730400a10301b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e0006001c53657373696f6e0400dd0301b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53657373696f6e2c2052756e74696d653e0016004050617261636861696e5374616b696e6704002d0401d50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e5374616b696e672c2052756e74696d653e0015002444656d6f63726163790400450401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656d6f63726163792c2052756e74696d653e001e001c436f756e63696c0400550401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f756e63696c2c2052756e74696d653e001f0048546563686e6963616c436f6d6d697474656504005d0401dd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c436f6d6d69747465652c2052756e74696d653e0020004c546563686e6963616c4d656d626572736869700400610401e10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546563686e6963616c4d656d626572736869702c2052756e74696d653e0022002054726561737572790400650401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54726561737572792c2052756e74696d653e0023001c5574696c6974790400690401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0028001c56657374696e670400910401b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c56657374696e672c2052756e74696d653e002900245363686564756c65720400990401b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5363686564756c65722c2052756e74696d653e002a001450726f78790400a10401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50726f78792c2052756e74696d653e002b0020507265696d6167650400a90401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c507265696d6167652c2052756e74696d653e002c0038546970734d656d626572736869700400ad0401cd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970734d656d626572736869702c2052756e74696d653e002d0010546970730400b10401a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c546970732c2052756e74696d653e002e00204d756c74697369670400b50401b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d756c74697369672c2052756e74696d653e002f001443747970650400bd0401a90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c43747970652c2052756e74696d653e003d002c4174746573746174696f6e0400c10401c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4174746573746174696f6e2c2052756e74696d653e003e002844656c65676174696f6e0400d10401bd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44656c65676174696f6e2c2052756e74696d653e003f000c4469640400ed0401a10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469642c2052756e74696d653e004000244469644c6f6f6b75700400450501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4469644c6f6f6b75702c2052756e74696d653e00430024576562334e616d65730400550501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c576562334e616d65732c2052756e74696d653e004400445075626c696343726564656e7469616c730400590501d90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5075626c696343726564656e7469616c732c2052756e74696d653e004500244d6967726174696f6e0400690501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4d6967726174696f6e2c2052756e74696d653e0046002c44697050726f766964657204006d0501c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c44697050726f76696465722c2052756e74696d653e004700384465706f73697453746f726167650400750501cd0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4465706f73697453746f726167652c2052756e74696d653e0048003c50617261636861696e53797374656d0400790501d10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e53797374656d2c2052756e74696d653e0050003450617261636861696e496e666f0400ad0501c90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c50617261636861696e496e666f2c2052756e74696d653e0051002458636d7051756575650400b10501b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c58636d7051756575652c2052756e74696d653e0052002c506f6c6b61646f7458636d0400b50501c10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c506f6c6b61646f7458636d2c2052756e74696d653e00530020446d7051756575650400090601b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c446d7051756575652c2052756e74696d653e0055000045040c4070616c6c65745f64656d6f63726163791870616c6c65741043616c6c04045400014c1c70726f706f736508012070726f706f73616c3d040140426f756e64656443616c6c4f663c543e00011476616c75654102013042616c616e63654f663c543e00000460536565205b6050616c6c65743a3a70726f706f7365605d2e187365636f6e6404012070726f706f73616c3502012450726f70496e6465780001045c536565205b6050616c6c65743a3a7365636f6e64605d2e10766f74650801247265665f696e6465783502013c5265666572656e64756d496e646578000110766f74659c01644163636f756e74566f74653c42616c616e63654f663c543e3e00020454536565205b6050616c6c65743a3a766f7465605d2e40656d657267656e63795f63616e63656c0401247265665f696e64657820013c5265666572656e64756d496e64657800030484536565205b6050616c6c65743a3a656d657267656e63795f63616e63656c605d2e4065787465726e616c5f70726f706f736504012070726f706f73616c3d040140426f756e64656443616c6c4f663c543e00040484536565205b6050616c6c65743a3a65787465726e616c5f70726f706f7365605d2e6465787465726e616c5f70726f706f73655f6d616a6f7269747904012070726f706f73616c3d040140426f756e64656443616c6c4f663c543e000504a8536565205b6050616c6c65743a3a65787465726e616c5f70726f706f73655f6d616a6f72697479605d2e6065787465726e616c5f70726f706f73655f64656661756c7404012070726f706f73616c3d040140426f756e64656443616c6c4f663c543e000604a4536565205b6050616c6c65743a3a65787465726e616c5f70726f706f73655f64656661756c74605d2e28666173745f747261636b0c013470726f706f73616c5f6861736830011048323536000134766f74696e675f706572696f64100144426c6f636b4e756d626572466f723c543e00011464656c6179100144426c6f636b4e756d626572466f723c543e0007046c536565205b6050616c6c65743a3a666173745f747261636b605d2e347665746f5f65787465726e616c04013470726f706f73616c5f686173683001104832353600080478536565205b6050616c6c65743a3a7665746f5f65787465726e616c605d2e4463616e63656c5f7265666572656e64756d0401247265665f696e6465783502013c5265666572656e64756d496e64657800090488536565205b6050616c6c65743a3a63616e63656c5f7265666572656e64756d605d2e2064656c65676174650c0108746f590301504163636f756e7449644c6f6f6b75704f663c543e000128636f6e76696374696f6e49040128436f6e76696374696f6e00011c62616c616e636518013042616c616e63654f663c543e000a0464536565205b6050616c6c65743a3a64656c6567617465605d2e28756e64656c6567617465000b046c536565205b6050616c6c65743a3a756e64656c6567617465605d2e58636c6561725f7075626c69635f70726f706f73616c73000c049c536565205b6050616c6c65743a3a636c6561725f7075626c69635f70726f706f73616c73605d2e18756e6c6f636b040118746172676574590301504163636f756e7449644c6f6f6b75704f663c543e000d045c536565205b6050616c6c65743a3a756e6c6f636b605d2e2c72656d6f76655f766f7465040114696e64657820013c5265666572656e64756d496e646578000e0470536565205b6050616c6c65743a3a72656d6f76655f766f7465605d2e4472656d6f76655f6f746865725f766f7465080118746172676574590301504163636f756e7449644c6f6f6b75704f663c543e000114696e64657820013c5265666572656e64756d496e646578000f0488536565205b6050616c6c65743a3a72656d6f76655f6f746865725f766f7465605d2e24626c61636b6c69737408013470726f706f73616c5f686173683001104832353600013c6d617962655f7265665f696e6465784d04015c4f7074696f6e3c5265666572656e64756d496e6465783e00100468536565205b6050616c6c65743a3a626c61636b6c697374605d2e3c63616e63656c5f70726f706f73616c04012870726f705f696e6465783502012450726f70496e64657800110480536565205b6050616c6c65743a3a63616e63656c5f70726f706f73616c605d2e307365745f6d657461646174610801146f776e6572a401344d657461646174614f776e65720001286d617962655f68617368510401504f7074696f6e3c507265696d616765486173683e00120474536565205b6050616c6c65743a3a7365745f6d65746164617461605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e49040c4070616c6c65745f64656d6f637261637928636f6e76696374696f6e28436f6e76696374696f6e00011c104e6f6e65000000204c6f636b65643178000100204c6f636b65643278000200204c6f636b65643378000300204c6f636b65643478000400204c6f636b65643578000500204c6f636b65643678000600004d0404184f7074696f6e04045401200108104e6f6e6500000010536f6d650400200000010000510404184f7074696f6e04045401300108104e6f6e6500000010536f6d65040030000001000055040c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c0804540004490001182c7365745f6d656d626572730c012c6e65775f6d656d62657273b90101445665633c543a3a4163636f756e7449643e0001147072696d65590401504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e7420012c4d656d626572436f756e7400000470536565205b6050616c6c65743a3a7365745f6d656d62657273605d2e1c6578656375746508012070726f706f73616c4104017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e643502010c75333200010460536565205b6050616c6c65743a3a65786563757465605d2e1c70726f706f73650c01247468726573686f6c643502012c4d656d626572436f756e7400012070726f706f73616c4104017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e643502010c75333200020460536565205b6050616c6c65743a3a70726f706f7365605d2e10766f74650c012070726f706f73616c30011c543a3a48617368000114696e6465783502013450726f706f73616c496e64657800011c617070726f7665ac0110626f6f6c00030454536565205b6050616c6c65743a3a766f7465605d2e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f6861736830011c543a3a4861736800050490536565205b6050616c6c65743a3a646973617070726f76655f70726f706f73616c605d2e14636c6f736510013470726f706f73616c5f6861736830011c543a3a48617368000114696e6465783502013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642801185765696768740001306c656e6774685f626f756e643502010c75333200060458536565205b6050616c6c65743a3a636c6f7365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e590404184f7074696f6e04045401000108104e6f6e6500000010536f6d6504000000000100005d040c4470616c6c65745f636f6c6c6563746976651870616c6c65741043616c6c0804540004490001182c7365745f6d656d626572730c012c6e65775f6d656d62657273b90101445665633c543a3a4163636f756e7449643e0001147072696d65590401504f7074696f6e3c543a3a4163636f756e7449643e0001246f6c645f636f756e7420012c4d656d626572436f756e7400000470536565205b6050616c6c65743a3a7365745f6d656d62657273605d2e1c6578656375746508012070726f706f73616c4104017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e643502010c75333200010460536565205b6050616c6c65743a3a65786563757465605d2e1c70726f706f73650c01247468726573686f6c643502012c4d656d626572436f756e7400012070726f706f73616c4104017c426f783c3c5420617320436f6e6669673c493e3e3a3a50726f706f73616c3e0001306c656e6774685f626f756e643502010c75333200020460536565205b6050616c6c65743a3a70726f706f7365605d2e10766f74650c012070726f706f73616c30011c543a3a48617368000114696e6465783502013450726f706f73616c496e64657800011c617070726f7665ac0110626f6f6c00030454536565205b6050616c6c65743a3a766f7465605d2e4c646973617070726f76655f70726f706f73616c04013470726f706f73616c5f6861736830011c543a3a4861736800050490536565205b6050616c6c65743a3a646973617070726f76655f70726f706f73616c605d2e14636c6f736510013470726f706f73616c5f6861736830011c543a3a48617368000114696e6465783502013450726f706f73616c496e64657800015470726f706f73616c5f7765696768745f626f756e642801185765696768740001306c656e6774685f626f756e643502010c75333200060458536565205b6050616c6c65743a3a636c6f7365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e61040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686f590301504163636f756e7449644c6f6f6b75704f663c543e0000046c536565205b6050616c6c65743a3a6164645f6d656d626572605d2e3472656d6f76655f6d656d62657204010c77686f590301504163636f756e7449644c6f6f6b75704f663c543e00010478536565205b6050616c6c65743a3a72656d6f76655f6d656d626572605d2e2c737761705f6d656d62657208011872656d6f7665590301504163636f756e7449644c6f6f6b75704f663c543e00010c616464590301504163636f756e7449644c6f6f6b75704f663c543e00020470536565205b6050616c6c65743a3a737761705f6d656d626572605d2e3472657365745f6d656d6265727304011c6d656d62657273b90101445665633c543a3a4163636f756e7449643e00030478536565205b6050616c6c65743a3a72657365745f6d656d62657273605d2e286368616e67655f6b657904010c6e6577590301504163636f756e7449644c6f6f6b75704f663c543e0004046c536565205b6050616c6c65743a3a6368616e67655f6b6579605d2e247365745f7072696d6504010c77686f590301504163636f756e7449644c6f6f6b75704f663c543e00050468536565205b6050616c6c65743a3a7365745f7072696d65605d2e2c636c6561725f7072696d6500060470536565205b6050616c6c65743a3a636c6561725f7072696d65605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e65040c3c70616c6c65745f74726561737572791870616c6c65741043616c6c0804540004490001143470726f706f73655f7370656e6408011476616c75654102013c42616c616e63654f663c542c20493e00012c62656e6566696369617279590301504163636f756e7449644c6f6f6b75704f663c543e00000478536565205b6050616c6c65743a3a70726f706f73655f7370656e64605d2e3c72656a6563745f70726f706f73616c04012c70726f706f73616c5f69643502013450726f706f73616c496e64657800010480536565205b6050616c6c65743a3a72656a6563745f70726f706f73616c605d2e40617070726f76655f70726f706f73616c04012c70726f706f73616c5f69643502013450726f706f73616c496e64657800020484536565205b6050616c6c65743a3a617070726f76655f70726f706f73616c605d2e147370656e64080118616d6f756e744102013c42616c616e63654f663c542c20493e00012c62656e6566696369617279590301504163636f756e7449644c6f6f6b75704f663c543e00030458536565205b6050616c6c65743a3a7370656e64605d2e3c72656d6f76655f617070726f76616c04012c70726f706f73616c5f69643502013450726f706f73616c496e64657800040480536565205b6050616c6c65743a3a72656d6f76655f617070726f76616c605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e69040c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c736d04017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000458536565205b6050616c6c65743a3a6261746368605d2e3461735f64657269766174697665080114696e646578e0010c75313600011063616c6c4104017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00010478536565205b6050616c6c65743a3a61735f64657269766174697665605d2e2462617463685f616c6c04011463616c6c736d04017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00020468536565205b6050616c6c65743a3a62617463685f616c6c605d2e2c64697370617463685f617308012461735f6f726967696e71040154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6c4104017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00030470536565205b6050616c6c65743a3a64697370617463685f6173605d2e2c666f7263655f626174636804011463616c6c736d04017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00040470536565205b6050616c6c65743a3a666f7263655f6261746368605d2e2c776974685f77656967687408011063616c6c4104017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00011877656967687428011857656967687400050470536565205b6050616c6c65743a3a776974685f776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e6d04000002410400710408447370697269746e65745f72756e74696d65304f726967696e43616c6c657200011c1873797374656d0400750401746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e0000001c436f756e63696c0400790401010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365313e001f0048546563686e6963616c436f6d6d697474656504007d0401010170616c6c65745f636f6c6c6563746976653a3a4f726967696e3c52756e74696d652c2070616c6c65745f636f6c6c6563746976653a3a496e7374616e6365323e0020000c4469640400810401506469643a3a4f726967696e3c52756e74696d653e0040002c506f6c6b61646f7458636d04008504014870616c6c65745f78636d3a3a4f726967696e0053002843756d756c757358636d04008904016863756d756c75735f70616c6c65745f78636d3a3a4f726967696e00540010566f696404008d0401110173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a566f69640006000075040c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e65000200007904084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d62657273080020012c4d656d626572436f756e74000020012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d000200007d04084470616c6c65745f636f6c6c656374697665245261774f726967696e08244163636f756e7449640100044900010c1c4d656d62657273080020012c4d656d626572436f756e74000020012c4d656d626572436f756e74000000184d656d62657204000001244163636f756e744964000100205f5068616e746f6d0002000081040c0c646964186f726967696e304469645261774f726967696e08344469644964656e7469666965720100244163636f756e74496401000008010869640001344469644964656e7469666965720001247375626d69747465720001244163636f756e744964000085040c2870616c6c65745f78636d1870616c6c6574184f726967696e0001080c58636d0400290201344d756c74694c6f636174696f6e00000020526573706f6e73650400290201344d756c74694c6f636174696f6e0001000089040c4863756d756c75735f70616c6c65745f78636d1870616c6c6574184f726967696e0001081452656c6179000000405369626c696e6750617261636861696e04001d020118506172614964000100008d04081c73705f636f726510566f69640001000091040c3870616c6c65745f76657374696e671870616c6c65741043616c6c040454000114107665737400000454536565205b6050616c6c65743a3a76657374605d2e28766573745f6f74686572040118746172676574590301504163636f756e7449644c6f6f6b75704f663c543e0001046c536565205b6050616c6c65743a3a766573745f6f74686572605d2e3c7665737465645f7472616e73666572080118746172676574590301504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65950401b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00020480536565205b6050616c6c65743a3a7665737465645f7472616e73666572605d2e54666f7263655f7665737465645f7472616e736665720c0118736f75726365590301504163636f756e7449644c6f6f6b75704f663c543e000118746172676574590301504163636f756e7449644c6f6f6b75704f663c543e0001207363686564756c65950401b056657374696e67496e666f3c42616c616e63654f663c543e2c20426c6f636b4e756d626572466f723c543e3e00030498536565205b6050616c6c65743a3a666f7263655f7665737465645f7472616e73666572605d2e3c6d657267655f7363686564756c657308013c7363686564756c65315f696e64657820010c75333200013c7363686564756c65325f696e64657820010c75333200040480536565205b6050616c6c65743a3a6d657267655f7363686564756c6573605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e95040c3870616c6c65745f76657374696e673076657374696e675f696e666f2c56657374696e67496e666f081c42616c616e636501182c426c6f636b4e756d6265720110000c01186c6f636b656418011c42616c616e63650001247065725f626c6f636b18011c42616c616e63650001387374617274696e675f626c6f636b10012c426c6f636b4e756d626572000099040c4070616c6c65745f7363686564756c65721870616c6c65741043616c6c040454000118207363686564756c651001107768656e100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f6469639d0401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c4104017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000464536565205b6050616c6c65743a3a7363686564756c65605d2e1863616e63656c0801107768656e100144426c6f636b4e756d626572466f723c543e000114696e64657820010c7533320001045c536565205b6050616c6c65743a3a63616e63656c605d2e387363686564756c655f6e616d656414010869640401205461736b4e616d650001107768656e100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f6469639d0401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c4104017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0002047c536565205b6050616c6c65743a3a7363686564756c655f6e616d6564605d2e3063616e63656c5f6e616d656404010869640401205461736b4e616d6500030474536565205b6050616c6c65743a3a63616e63656c5f6e616d6564605d2e387363686564756c655f61667465721001146166746572100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f6469639d0401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c4104017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0004047c536565205b6050616c6c65743a3a7363686564756c655f6166746572605d2e507363686564756c655f6e616d65645f616674657214010869640401205461736b4e616d650001146166746572100144426c6f636b4e756d626572466f723c543e0001386d617962655f706572696f6469639d0401ac4f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d626572466f723c543e3e3e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c4104017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00050494536565205b6050616c6c65743a3a7363686564756c655f6e616d65645f6166746572605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e9d0404184f7074696f6e04045401d00108104e6f6e6500000010536f6d650400d00000010000a1040c3070616c6c65745f70726f78791870616c6c65741043616c6c0404540001281470726f78790c01107265616c590301504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065a50401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c4104017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000458536565205b6050616c6c65743a3a70726f7879605d2e246164645f70726f78790c012064656c6567617465590301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00010468536565205b6050616c6c65743a3a6164645f70726f7879605d2e3072656d6f76655f70726f78790c012064656c6567617465590301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e00020474536565205b6050616c6c65743a3a72656d6f76655f70726f7879605d2e3872656d6f76655f70726f786965730003047c536565205b6050616c6c65743a3a72656d6f76655f70726f78696573605d2e2c6372656174655f707572650c012870726f78795f74797065dc0130543a3a50726f78795479706500011464656c6179100144426c6f636b4e756d626572466f723c543e000114696e646578e0010c75313600040470536565205b6050616c6c65743a3a6372656174655f70757265605d2e246b696c6c5f7075726514011c737061776e6572590301504163636f756e7449644c6f6f6b75704f663c543e00012870726f78795f74797065dc0130543a3a50726f787954797065000114696e646578e0010c7531360001186865696768742c0144426c6f636b4e756d626572466f723c543e0001246578745f696e6465783502010c75333200050468536565205b6050616c6c65743a3a6b696c6c5f70757265605d2e20616e6e6f756e63650801107265616c590301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00060464536565205b6050616c6c65743a3a616e6e6f756e6365605d2e4c72656d6f76655f616e6e6f756e63656d656e740801107265616c590301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00070490536565205b6050616c6c65743a3a72656d6f76655f616e6e6f756e63656d656e74605d2e4c72656a6563745f616e6e6f756e63656d656e7408012064656c6567617465590301504163636f756e7449644c6f6f6b75704f663c543e00012463616c6c5f6861736830013443616c6c486173684f663c543e00080490536565205b6050616c6c65743a3a72656a6563745f616e6e6f756e63656d656e74605d2e3c70726f78795f616e6e6f756e63656410012064656c6567617465590301504163636f756e7449644c6f6f6b75704f663c543e0001107265616c590301504163636f756e7449644c6f6f6b75704f663c543e000140666f7263655f70726f78795f74797065a50401504f7074696f6e3c543a3a50726f7879547970653e00011063616c6c4104017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00090480536565205b6050616c6c65743a3a70726f78795f616e6e6f756e636564605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ea50404184f7074696f6e04045401dc0108104e6f6e6500000010536f6d650400dc0000010000a9040c3c70616c6c65745f707265696d6167651870616c6c65741043616c6c040454000110346e6f74655f707265696d616765040114627974657334011c5665633c75383e00000478536565205b6050616c6c65743a3a6e6f74655f707265696d616765605d2e3c756e6e6f74655f707265696d6167650401106861736830011c543a3a4861736800010480536565205b6050616c6c65743a3a756e6e6f74655f707265696d616765605d2e40726571756573745f707265696d6167650401106861736830011c543a3a4861736800020484536565205b6050616c6c65743a3a726571756573745f707265696d616765605d2e48756e726571756573745f707265696d6167650401106861736830011c543a3a486173680003048c536565205b6050616c6c65743a3a756e726571756573745f707265696d616765605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ead040c4470616c6c65745f6d656d626572736869701870616c6c65741043616c6c08045400044900011c286164645f6d656d62657204010c77686f590301504163636f756e7449644c6f6f6b75704f663c543e0000046c536565205b6050616c6c65743a3a6164645f6d656d626572605d2e3472656d6f76655f6d656d62657204010c77686f590301504163636f756e7449644c6f6f6b75704f663c543e00010478536565205b6050616c6c65743a3a72656d6f76655f6d656d626572605d2e2c737761705f6d656d62657208011872656d6f7665590301504163636f756e7449644c6f6f6b75704f663c543e00010c616464590301504163636f756e7449644c6f6f6b75704f663c543e00020470536565205b6050616c6c65743a3a737761705f6d656d626572605d2e3472657365745f6d656d6265727304011c6d656d62657273b90101445665633c543a3a4163636f756e7449643e00030478536565205b6050616c6c65743a3a72657365745f6d656d62657273605d2e286368616e67655f6b657904010c6e6577590301504163636f756e7449644c6f6f6b75704f663c543e0004046c536565205b6050616c6c65743a3a6368616e67655f6b6579605d2e247365745f7072696d6504010c77686f590301504163636f756e7449644c6f6f6b75704f663c543e00050468536565205b6050616c6c65743a3a7365745f7072696d65605d2e2c636c6561725f7072696d6500060470536565205b6050616c6c65743a3a636c6561725f7072696d65605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb1040c2c70616c6c65745f746970731870616c6c65741043616c6c080454000449000118387265706f72745f617765736f6d65080118726561736f6e34011c5665633c75383e00010c77686f590301504163636f756e7449644c6f6f6b75704f663c543e0000047c536565205b6050616c6c65743a3a7265706f72745f617765736f6d65605d2e2c726574726163745f7469700401106861736830011c543a3a4861736800010470536565205b6050616c6c65743a3a726574726163745f746970605d2e1c7469705f6e65770c0118726561736f6e34011c5665633c75383e00010c77686f590301504163636f756e7449644c6f6f6b75704f663c543e0001247469705f76616c75654102013c42616c616e63654f663c542c20493e00020460536565205b6050616c6c65743a3a7469705f6e6577605d2e0c7469700801106861736830011c543a3a486173680001247469705f76616c75654102013c42616c616e63654f663c542c20493e00030450536565205b6050616c6c65743a3a746970605d2e24636c6f73655f7469700401106861736830011c543a3a4861736800040468536565205b6050616c6c65743a3a636c6f73655f746970605d2e24736c6173685f7469700401106861736830011c543a3a4861736800050468536565205b6050616c6c65743a3a736c6173685f746970605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb5040c3c70616c6c65745f6d756c74697369671870616c6c65741043616c6c0404540001105061735f6d756c74695f7468726573686f6c645f310801446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00011063616c6c4104017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000494536565205b6050616c6c65743a3a61735f6d756c74695f7468726573686f6c645f31605d2e2061735f6d756c74691401247468726573686f6c64e0010c7531360001446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74b90401904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00011063616c6c4104017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e0001286d61785f77656967687428011857656967687400010464536565205b6050616c6c65743a3a61735f6d756c7469605d2e40617070726f76655f61735f6d756c74691401247468726573686f6c64e0010c7531360001446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00013c6d617962655f74696d65706f696e74b90401904f7074696f6e3c54696d65706f696e743c426c6f636b4e756d626572466f723c543e3e3e00012463616c6c5f686173680401205b75383b2033325d0001286d61785f77656967687428011857656967687400020484536565205b6050616c6c65743a3a617070726f76655f61735f6d756c7469605d2e3c63616e63656c5f61735f6d756c74691001247468726573686f6c64e0010c7531360001446f746865725f7369676e61746f72696573b90101445665633c543a3a4163636f756e7449643e00012474696d65706f696e74f4017054696d65706f696e743c426c6f636b4e756d626572466f723c543e3e00012463616c6c5f686173680401205b75383b2033325d00030480536565205b6050616c6c65743a3a63616e63656c5f61735f6d756c7469605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb90404184f7074696f6e04045401f40108104e6f6e6500000010536f6d650400f40000010000bd040c1463747970651870616c6c65741043616c6c0404540001080c616464040114637479706534011c5665633c75383e00000450536565205b6050616c6c65743a3a616464605d2e407365745f626c6f636b5f6e756d62657208012863747970655f686173683001384374797065486173684f663c543e000130626c6f636b5f6e756d626572100144426c6f636b4e756d626572466f723c543e00010484536565205b6050616c6c65743a3a7365745f626c6f636b5f6e756d626572605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ec1040c2c6174746573746174696f6e1870616c6c65741043616c6c0404540001180c6164640c0128636c61696d5f68617368300138436c61696d486173684f663c543e00012863747970655f686173683001384374797065486173684f663c543e000134617574686f72697a6174696f6ec50401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00000450536565205b6050616c6c65743a3a616464605d2e187265766f6b65080128636c61696d5f68617368300138436c61696d486173684f663c543e000134617574686f72697a6174696f6ec50401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001045c536565205b6050616c6c65743a3a7265766f6b65605d2e1872656d6f7665080128636c61696d5f68617368300138436c61696d486173684f663c543e000134617574686f72697a6174696f6ec50401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0002045c536565205b6050616c6c65743a3a72656d6f7665605d2e3c7265636c61696d5f6465706f736974040128636c61696d5f68617368300138436c61696d486173684f663c543e00030480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e6572040128636c61696d5f68617368300138436c61696d486173684f663c543e00040494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f736974040128636c61696d5f68617368300138436c61696d486173684f663c543e0005047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ec50404184f7074696f6e04045401c9040108104e6f6e6500000010536f6d650400c9040000010000c9040c3872756e74696d655f636f6d6d6f6e34617574686f72697a6174696f6e3c50616c6c6574417574686f72697a65043044656c65676174696f6e416301cd0401042844656c65676174696f6e0400cd04013044656c65676174696f6e416300000000cd040c2864656c65676174696f6e386163636573735f636f6e74726f6c3044656c65676174696f6e416304045401a9010008013c7375626a6563745f6e6f64655f696430015444656c65676174696f6e4e6f646549644f663c543e0001286d61785f636865636b7320010c7533320000d1040c2864656c65676174696f6e1870616c6c65741043616c6c04045400011c406372656174655f686965726172636879080130726f6f745f6e6f64655f696430015444656c65676174696f6e4e6f646549644f663c543e00012863747970655f686173683001384374797065486173684f663c543e00000484536565205b6050616c6c65743a3a6372656174655f686965726172636879605d2e386164645f64656c65676174696f6e14013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e000124706172656e745f696430015444656c65676174696f6e4e6f646549644f663c543e00012064656c656761746500014044656c656761746f7249644f663c543e00012c7065726d697373696f6e730d01012c5065726d697373696f6e7300014864656c65676174655f7369676e6174757265d504016844656c65676174655369676e6174757265547970654f663c543e0001047c536565205b6050616c6c65743a3a6164645f64656c65676174696f6e605d2e447265766f6b655f64656c65676174696f6e0c013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0001446d61785f706172656e745f636865636b7320010c75333200013c6d61785f7265766f636174696f6e7320010c75333200020488536565205b6050616c6c65743a3a7265766f6b655f64656c65676174696f6e605d2e4472656d6f76655f64656c65676174696f6e08013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c7320010c75333200030488536565205b6050616c6c65743a3a72656d6f76655f64656c65676174696f6e605d2e3c7265636c61696d5f6465706f73697408013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0001306d61785f72656d6f76616c7320010c75333200040480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e657204013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e00050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404013464656c65676174696f6e5f696430015444656c65676174696f6e4e6f646549644f663c543e0006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ed5040c0c6469642c6469645f64657461696c73304469645369676e617475726500010c1c456432353531390400d9040148656432353531393a3a5369676e61747572650000001c537232353531390400e1040148737232353531393a3a5369676e61747572650001001445636473610400e504014065636473613a3a5369676e617475726500020000d9040c1c73705f636f72651c65643235353139245369676e617475726500000400dd0401205b75383b2036345d0000dd04000003400000000800e1040c1c73705f636f72651c73723235353139245369676e617475726500000400dd0401205b75383b2036345d0000e5040c1c73705f636f7265146563647361245369676e617475726500000400e90401205b75383b2036355d0000e904000003410000000800ed040c0c6469641870616c6c65741043616c6c0404540001441863726561746508011c64657461696c73f1040170426f783c4469644372656174696f6e44657461696c734f663c543e3e0001247369676e6174757265d50401304469645369676e61747572650000045c536565205b6050616c6c65743a3a637265617465605d2e587365745f61757468656e7469636174696f6e5f6b657904011c6e65775f6b65792d050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e0001049c536565205b6050616c6c65743a3a7365745f61757468656e7469636174696f6e5f6b6579605d2e487365745f64656c65676174696f6e5f6b657904011c6e65775f6b65792d050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e0002048c536565205b6050616c6c65743a3a7365745f64656c65676174696f6e5f6b6579605d2e5472656d6f76655f64656c65676174696f6e5f6b657900030498536565205b6050616c6c65743a3a72656d6f76655f64656c65676174696f6e5f6b6579605d2e4c7365745f6174746573746174696f6e5f6b657904011c6e65775f6b65792d050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e00040490536565205b6050616c6c65743a3a7365745f6174746573746174696f6e5f6b6579605d2e5872656d6f76655f6174746573746174696f6e5f6b65790005049c536565205b6050616c6c65743a3a72656d6f76655f6174746573746174696f6e5f6b6579605d2e546164645f6b65795f61677265656d656e745f6b657904011c6e65775f6b65791d050140446964456e6372797074696f6e4b657900060498536565205b6050616c6c65743a3a6164645f6b65795f61677265656d656e745f6b6579605d2e6072656d6f76655f6b65795f61677265656d656e745f6b65790401186b65795f69643001284b657949644f663c543e000704a4536565205b6050616c6c65743a3a72656d6f76655f6b65795f61677265656d656e745f6b6579605d2e506164645f736572766963655f656e64706f696e74040140736572766963655f656e64706f696e74f9040138446964456e64706f696e743c543e00080494536565205b6050616c6c65743a3a6164645f736572766963655f656e64706f696e74605d2e5c72656d6f76655f736572766963655f656e64706f696e74040128736572766963655f6964fd04015053657276696365456e64706f696e7449643c543e000904a0536565205b6050616c6c65743a3a72656d6f76655f736572766963655f656e64706f696e74605d2e1864656c65746504014c656e64706f696e74735f746f5f72656d6f766520010c753332000a045c536565205b6050616c6c65743a3a64656c657465605d2e3c7265636c61696d5f6465706f73697408012c6469645f7375626a6563740001484469644964656e7469666965724f663c543e00014c656e64706f696e74735f746f5f72656d6f766520010c753332000b0480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e3c7375626d69745f6469645f63616c6c0801206469645f63616c6c41050190426f783c446964417574686f72697a656443616c6c4f7065726174696f6e4f663c543e3e0001247369676e6174757265d50401304469645369676e6174757265000c0480536565205b6050616c6c65743a3a7375626d69745f6469645f63616c6c605d2e506368616e67655f6465706f7369745f6f776e6572000d0494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404010c6469640001484469644964656e7469666965724f663c543e000e047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e2c64697370617463685f61730801386469645f6964656e7469666965720001484469644964656e7469666965724f663c543e00011063616c6c41040154426f783c44696443616c6c61626c654f663c543e3e000f0470536565205b6050616c6c65743a3a64697370617463685f6173605d2e4c6372656174655f66726f6d5f6163636f756e7404014861757468656e7469636174696f6e5f6b65792d050188446964566572696669636174696f6e4b65793c4163636f756e7449644f663c543e3e00100490536565205b6050616c6c65743a3a6372656174655f66726f6d5f6163636f756e74605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ef1040c0c6469642c6469645f64657461696c73484469644372656174696f6e44657461696c7310344469644964656e7469666965720100244163636f756e7449640100584d61784e65774b657941677265656d656e744b65797301f5042c446964456e64706f696e7401f9040018010c6469640001344469644964656e7469666965720001247375626d69747465720001244163636f756e7449640001586e65775f6b65795f61677265656d656e745f6b657973190501c04469644e65774b657941677265656d656e744b65795365743c4d61784e65774b657941677265656d656e744b6579733e00014c6e65775f6174746573746174696f6e5f6b6579290501944f7074696f6e3c446964566572696669636174696f6e4b65793c4163636f756e7449643e3e0001486e65775f64656c65676174696f6e5f6b6579290501944f7074696f6e3c446964566572696669636174696f6e4b65793c4163636f756e7449643e3e00014c6e65775f736572766963655f64657461696c733d0501405665633c446964456e64706f696e743e0000f504103872756e74696d655f636f6d6d6f6e24636f6e7374616e74730c646964584d61784e65774b657941677265656d656e744b65797300000000f9040c0c64696444736572766963655f656e64706f696e74732c446964456e64706f696e7404045400000c01086964fd04015053657276696365456e64706f696e7449643c543e000134736572766963655f74797065730105017453657276696365456e64706f696e7454797065456e74726965733c543e00011075726c730d05017053657276696365456e64706f696e7455726c456e74726965733c543e0000fd040c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000001050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454010505045300000400090501185665633c543e000005050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000009050000020505000d050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454011105045300000400150501185665633c543e000011050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000150500000211050019050c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e6465644254726565536574080454011d050453000004002105012c42547265655365743c543e00001d050c0c6469642c6469645f64657461696c7340446964456e6372797074696f6e4b65790001041858323535313904000401205b75383b2033325d00000000210504204254726565536574040454011d05000400250500000025050000021d0500290504184f7074696f6e040454012d050108104e6f6e6500000010536f6d6504002d0500000100002d050c0c6469642c6469645f64657461696c7348446964566572696669636174696f6e4b657904244163636f756e744964010001101c4564323535313904003105013c656432353531393a3a5075626c69630000001c537232353531390400b903013c737232353531393a3a5075626c696300010014456364736104003505013465636473613a3a5075626c69630002001c4163636f756e7404000001244163636f756e7449640003000031050c1c73705f636f72651c65643235353139185075626c6963000004000401205b75383b2033325d000035050c1c73705f636f7265146563647361185075626c696300000400390501205b75383b2033335d000039050000032100000008003d05000002f9040041050c0c6469642c6469645f64657461696c7368446964417574686f72697a656443616c6c4f7065726174696f6e14344469644964656e74696669657201002c44696443616c6c61626c650141042c426c6f636b4e756d6265720110244163636f756e7449640100245478436f756e74657201100014010c6469640001344469644964656e74696669657200012874785f636f756e7465721001245478436f756e74657200011063616c6c4104012c44696443616c6c61626c65000130626c6f636b5f6e756d62657210012c426c6f636b4e756d6265720001247375626d69747465720001244163636f756e744964000045050c4470616c6c65745f6469645f6c6f6f6b75701870616c6c65741043616c6c04045400011c446173736f63696174655f6163636f756e7408010c7265714905015c4173736f63696174654163636f756e745265717565737400012865787069726174696f6e100144426c6f636b4e756d626572466f723c543e00000488536565205b6050616c6c65743a3a6173736f63696174655f6163636f756e74605d2e406173736f63696174655f73656e64657200010484536565205b6050616c6c65743a3a6173736f63696174655f73656e646572605d2e6472656d6f76655f73656e6465725f6173736f63696174696f6e000204a8536565205b6050616c6c65743a3a72656d6f76655f73656e6465725f6173736f63696174696f6e605d2e6872656d6f76655f6163636f756e745f6173736f63696174696f6e04011c6163636f756e74190101444c696e6b61626c654163636f756e744964000304ac536565205b6050616c6c65743a3a72656d6f76655f6163636f756e745f6173736f63696174696f6e605d2e3c7265636c61696d5f6465706f73697404011c6163636f756e74190101444c696e6b61626c654163636f756e74496400040480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e657204011c6163636f756e74190101444c696e6b61626c654163636f756e74496400050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404011c6163636f756e74190101444c696e6b61626c654163636f756e7449640006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e49050c4470616c6c65745f6469645f6c6f6f6b7570646173736f63696174655f6163636f756e745f726571756573745c4173736f63696174654163636f756e745265717565737400010820506f6c6b61646f74080000012c4163636f756e744964333200004d0501384d756c74695369676e617475726500000020457468657265756d08001d01012c4163636f756e7449643230000051050144457468657265756d5369676e6174757265000100004d05082873705f72756e74696d65384d756c74695369676e617475726500010c1c456432353531390400d9040148656432353531393a3a5369676e61747572650000001c537232353531390400e1040148737232353531393a3a5369676e61747572650001001445636473610400e504014065636473613a3a5369676e61747572650002000051050c4470616c6c65745f6469645f6c6f6f6b75701c6163636f756e7444457468657265756d5369676e617475726500000400e504014065636473613a3a5369676e6174757265000055050c4470616c6c65745f776562335f6e616d65731870616c6c65741043616c6c04045400011c14636c61696d0401106e616d652d010140576562334e616d65496e7075743c543e00000458536565205b6050616c6c65743a3a636c61696d605d2e4072656c656173655f62795f6f776e657200010484536565205b6050616c6c65743a3a72656c656173655f62795f6f776e6572605d2e3c7265636c61696d5f6465706f7369740401106e616d652d010140576562334e616d65496e7075743c543e00020480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e0c62616e0401106e616d652d010140576562334e616d65496e7075743c543e00030450536565205b6050616c6c65743a3a62616e605d2e14756e62616e0401106e616d652d010140576562334e616d65496e7075743c543e00040458536565205b6050616c6c65743a3a756e62616e605d2e506368616e67655f6465706f7369745f6f776e657200050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f7369740401286e616d655f696e7075742d010140576562334e616d65496e7075743c543e0006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e59050c487075626c69635f63726564656e7469616c731870616c6c65741043616c6c04045400011c0c61646404012863726564656e7469616c5d050164426f783c496e70757443726564656e7469616c4f663c543e3e00000450536565205b6050616c6c65743a3a616464605d2e187265766f6b6508013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6ec50401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0001045c536565205b6050616c6c65743a3a7265766f6b65605d2e20756e7265766f6b6508013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6ec50401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e00020464536565205b6050616c6c65743a3a756e7265766f6b65605d2e1872656d6f766508013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e000134617574686f72697a6174696f6ec50401604f7074696f6e3c543a3a416363657373436f6e74726f6c3e0003045c536565205b6050616c6c65743a3a72656d6f7665605d2e3c7265636c61696d5f6465706f73697404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e00040480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e506368616e67655f6465706f7369745f6f776e657204013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e00050494536565205b6050616c6c65743a3a6368616e67655f6465706f7369745f6f776e6572605d2e387570646174655f6465706f73697404013463726564656e7469616c5f696430014443726564656e7469616c49644f663c543e0006047c536565205b6050616c6c65743a3a7570646174655f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e5d050c487075626c69635f63726564656e7469616c732c63726564656e7469616c732843726564656e7469616c10244374797065486173680130445375626a6563744964656e74696669657201610518436c61696d7301650534416363657373436f6e74726f6c01c9040010012863747970655f6861736830012443747970654861736800011c7375626a656374610501445375626a6563744964656e746966696572000118636c61696d7365050118436c61696d73000134617574686f72697a6174696f6ec50401544f7074696f6e3c416363657373436f6e74726f6c3e000061050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000065050c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000069050c4070616c6c65745f6d6967726174696f6e1870616c6c65741043616c6c040454000104387570646174655f62616c616e63650401507265717565737465645f6d6967726174696f6e73a501014c456e7472696573546f4d6967726174653c543e0000047c536565205b6050616c6c65743a3a7570646174655f62616c616e6365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e6d050c4c70616c6c65745f6469705f70726f76696465721870616c6c65741043616c6c0404540001083c636f6d6d69745f6964656e746974790801286964656e746966696572000134543a3a4964656e74696669657200011c76657273696f6e710501844f7074696f6e3c4964656e74697479436f6d6d69746d656e7456657273696f6e3e00000480536565205b6050616c6c65743a3a636f6d6d69745f6964656e74697479605d2e6864656c6574655f6964656e746974795f636f6d6d69746d656e740801286964656e746966696572000134543a3a4964656e74696669657200011c76657273696f6e710501844f7074696f6e3c4964656e74697479436f6d6d69746d656e7456657273696f6e3e000104ac536565205b6050616c6c65743a3a64656c6574655f6964656e746974795f636f6d6d69746d656e74605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e710504184f7074696f6e04045401e00108104e6f6e6500000010536f6d650400e0000001000075050c5870616c6c65745f6465706f7369745f73746f726167651870616c6c65741043616c6c0404540001043c7265636c61696d5f6465706f7369740801246e616d657370616365e1010130543a3a4e616d65737061636500010c6b6579e501013c4465706f7369744b65794f663c543e00000480536565205b6050616c6c65743a3a7265636c61696d5f6465706f736974605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e79050c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c65741043616c6c0404540001104c7365745f76616c69646174696f6e5f64617461040110646174617d05015450617261636861696e496e686572656e744461746100000490536565205b6050616c6c65743a3a7365745f76616c69646174696f6e5f64617461605d2e607375646f5f73656e645f7570776172645f6d65737361676504011c6d6573736167653401345570776172644d657373616765000104a4536565205b6050616c6c65743a3a7375646f5f73656e645f7570776172645f6d657373616765605d2e44617574686f72697a655f75706772616465080124636f64655f6861736830011c543a3a48617368000134636865636b5f76657273696f6eac0110626f6f6c00020488536565205b6050616c6c65743a3a617574686f72697a655f75706772616465605d2e60656e6163745f617574686f72697a65645f75706772616465040110636f646534011c5665633c75383e000304a4536565205b6050616c6c65743a3a656e6163745f617574686f72697a65645f75706772616465605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e7d05089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e745450617261636861696e496e686572656e7444617461000010013c76616c69646174696f6e5f646174618105015c50657273697374656456616c69646174696f6e4461746100014472656c61795f636861696e5f73746174658905015473705f747269653a3a53746f7261676550726f6f66000144646f776e776172645f6d657373616765739105016c5665633c496e626f756e64446f776e776172644d6573736167653e00014c686f72697a6f6e74616c5f6d65737361676573990501a442547265654d61703c5061726149642c205665633c496e626f756e6448726d704d6573736167653e3e000081050c4c706f6c6b61646f745f7072696d6974697665730876355c50657273697374656456616c69646174696f6e446174610804480130044e01200010012c706172656e745f6865616485050120486561644461746100014c72656c61795f706172656e745f6e756d6265722001044e00016472656c61795f706172656e745f73746f726167655f726f6f74300104480001306d61785f706f765f73697a6520010c753332000085050c48706f6c6b61646f745f70617261636861696e287072696d6974697665732048656164446174610000040034011c5665633c75383e000089050c1c73705f747269653473746f726167655f70726f6f663053746f7261676550726f6f660000040128747269655f6e6f6465738d05014442547265655365743c5665633c75383e3e00008d050420425472656553657404045401340004001903000000910500000295050095050860706f6c6b61646f745f636f72655f7072696d69746976657358496e626f756e64446f776e776172644d657373616765042c426c6f636b4e756d62657201200008011c73656e745f617420012c426c6f636b4e756d62657200010c6d736734013c446f776e776172644d65737361676500009905042042547265654d617008044b011d020456019d05000400a5050000009d05000002a10500a1050860706f6c6b61646f745f636f72655f7072696d69746976657348496e626f756e6448726d704d657373616765042c426c6f636b4e756d62657201200008011c73656e745f617420012c426c6f636b4e756d6265720001106461746134015073705f7374643a3a7665633a3a5665633c75383e0000a505000002a90500a905000004081d029d0500ad050c3870617261636861696e5f696e666f1870616c6c65741043616c6c040454000100040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb1050c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c65741043616c6c04045400012448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d69742801185765696768740000048c536565205b6050616c6c65743a3a736572766963655f6f766572776569676874605d2e5473757370656e645f78636d5f657865637574696f6e00010498536565205b6050616c6c65743a3a73757370656e645f78636d5f657865637574696f6e605d2e50726573756d655f78636d5f657865637574696f6e00020494536565205b6050616c6c65743a3a726573756d655f78636d5f657865637574696f6e605d2e607570646174655f73757370656e645f7468726573686f6c6404010c6e657720010c753332000304a4536565205b6050616c6c65743a3a7570646174655f73757370656e645f7468726573686f6c64605d2e547570646174655f64726f705f7468726573686f6c6404010c6e657720010c75333200040498536565205b6050616c6c65743a3a7570646174655f64726f705f7468726573686f6c64605d2e5c7570646174655f726573756d655f7468726573686f6c6404010c6e657720010c753332000504a0536565205b6050616c6c65743a3a7570646174655f726573756d655f7468726573686f6c64605d2e5c7570646174655f7468726573686f6c645f77656967687404010c6e6577280118576569676874000604a0536565205b6050616c6c65743a3a7570646174655f7468726573686f6c645f776569676874605d2e707570646174655f7765696768745f72657374726963745f646563617904010c6e6577280118576569676874000704b4536565205b6050616c6c65743a3a7570646174655f7765696768745f72657374726963745f6465636179605d2e847570646174655f78636d705f6d61785f696e646976696475616c5f77656967687404010c6e6577280118576569676874000804c8536565205b6050616c6c65743a3a7570646174655f78636d705f6d61785f696e646976696475616c5f776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb5050c2870616c6c65745f78636d1870616c6c65741043616c6c04045400012c1073656e6408011064657374f102016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00011c6d657373616765b9050154426f783c56657273696f6e656458636d3c28293e3e00000454536565205b6050616c6c65743a3a73656e64605d2e3c74656c65706f72745f61737365747310011064657374f102016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279f102016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000118617373657473b9020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c75333200010480536565205b6050616c6c65743a3a74656c65706f72745f617373657473605d2e5c726573657276655f7472616e736665725f61737365747310011064657374f102016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279f102016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000118617373657473b9020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c753332000204a0536565205b6050616c6c65743a3a726573657276655f7472616e736665725f617373657473605d2e1c6578656375746508011c6d657373616765e90501c0426f783c56657273696f6e656458636d3c3c5420617320537973436f6e6669673e3a3a52756e74696d6543616c6c3e3e0001286d61785f77656967687428011857656967687400030460536565205b6050616c6c65743a3a65786563757465605d2e44666f7263655f78636d5f76657273696f6e0801206c6f636174696f6e29020148426f783c4d756c74694c6f636174696f6e3e00011c76657273696f6e20012858636d56657273696f6e00040488536565205b6050616c6c65743a3a666f7263655f78636d5f76657273696f6e605d2e64666f7263655f64656661756c745f78636d5f76657273696f6e0401446d617962655f78636d5f76657273696f6e4d0401484f7074696f6e3c58636d56657273696f6e3e000504a8536565205b6050616c6c65743a3a666f7263655f64656661756c745f78636d5f76657273696f6e605d2e78666f7263655f7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6ef102016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000604bc536565205b6050616c6c65743a3a666f7263655f7375627363726962655f76657273696f6e5f6e6f74696679605d2e80666f7263655f756e7375627363726962655f76657273696f6e5f6e6f746966790401206c6f636174696f6ef102016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000704c4536565205b6050616c6c65743a3a666f7263655f756e7375627363726962655f76657273696f6e5f6e6f74696679605d2e7c6c696d697465645f726573657276655f7472616e736665725f61737365747314011064657374f102016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279f102016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000118617373657473b9020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c7533320001307765696768745f6c696d6974b502012c5765696768744c696d6974000804c0536565205b6050616c6c65743a3a6c696d697465645f726573657276655f7472616e736665725f617373657473605d2e5c6c696d697465645f74656c65706f72745f61737365747314011064657374f102016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e00012c62656e6566696369617279f102016c426f783c56657273696f6e65644d756c74694c6f636174696f6e3e000118617373657473b9020164426f783c56657273696f6e65644d756c74694173736574733e0001386665655f61737365745f6974656d20010c7533320001307765696768745f6c696d6974b502012c5765696768744c696d6974000904a0536565205b6050616c6c65743a3a6c696d697465645f74656c65706f72745f617373657473605d2e40666f7263655f73757370656e73696f6e04012473757370656e646564ac0110626f6f6c000a0484536565205b6050616c6c65743a3a666f7263655f73757370656e73696f6e605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732eb905080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c0001080856320400bd05015076323a3a58636d3c52756e74696d6543616c6c3e00020008563304004d02015076333a3a58636d3c52756e74696d6543616c6c3e00030000bd050c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400c10501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e0000c105000002c50500c5050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c00017034576974686472617741737365740400bd02012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400bd02012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400bd02012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f69642c011c51756572794964000120726573706f6e7365c9050120526573706f6e73650001286d61785f7765696768742c010c753634000300345472616e736665724173736574080118617373657473bd02012c4d756c746941737365747300012c62656e6566696369617279cd0201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473bd02012c4d756c746941737365747300011064657374cd0201344d756c74694c6f636174696f6e00010c78636dbd05011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f747970659d0201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f73742c010c75363400011063616c6ca1020168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e6465723502010c7533320001406d61785f6d6573736167655f73697a653502010c7533320001306d61785f63617061636974793502010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e743502010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f723502010c75333200011873656e6465723502010c753332000124726563697069656e743502010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400d1020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f69642c011c5175657279496400011064657374cd0201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f7765696768742c010c753634000c00304465706f73697441737365740c0118617373657473d90501404d756c7469417373657446696c7465720001286d61785f6173736574733502010c75333200012c62656e6566696369617279cd0201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473d90501404d756c7469417373657446696c7465720001286d61785f6173736574733502010c75333200011064657374cd0201344d756c74694c6f636174696f6e00010c78636dbd05011c58636d3c28293e000e003445786368616e6765417373657408011067697665d90501404d756c7469417373657446696c74657200011c72656365697665bd02012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473d90501404d756c7469417373657446696c74657200011c72657365727665cd0201344d756c74694c6f636174696f6e00010c78636dbd05011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473d90501404d756c7469417373657446696c74657200011064657374cd0201344d756c74694c6f636174696f6e00010c78636dbd05011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f69642c011c5175657279496400011064657374cd0201344d756c74694c6f636174696f6e000118617373657473d90501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f7765696768742c010c75363400120030427579457865637574696f6e08011066656573c50201284d756c746941737365740001307765696768745f6c696d6974e505012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400bd05014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e6469780400bd05014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473bd02012c4d756c74694173736574730001187469636b6574cd0201344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f7765696768742c010c753634001a0048556e73756273637269626556657273696f6e001b0000c9050c0c78636d08763220526573706f6e7365000110104e756c6c000000184173736574730400bd02012c4d756c74694173736574730001003c457865637574696f6e526573756c740400cd0501504f7074696f6e3c287533322c204572726f72293e0002001c56657273696f6e040020013873757065723a3a56657273696f6e00030000cd0504184f7074696f6e04045401d1050108104e6f6e6500000010536f6d650400d1050000010000d1050000040820d50500d505100c78636d08763218747261697473144572726f72000168204f766572666c6f7700000034556e696d706c656d656e74656400010060556e74727573746564526573657276654c6f636174696f6e00020064556e7472757374656454656c65706f72744c6f636174696f6e000300444d756c74694c6f636174696f6e46756c6c000400684d756c74694c6f636174696f6e4e6f74496e7665727469626c65000500244261644f726967696e0006003c496e76616c69644c6f636174696f6e0007003441737365744e6f74466f756e64000800544661696c6564546f5472616e7361637441737365740009003c4e6f74576974686472617761626c65000a00484c6f636174696f6e43616e6e6f74486f6c64000b0054457863656564734d61784d65737361676553697a65000c005844657374696e6174696f6e556e737570706f72746564000d00245472616e73706f7274000e0028556e726f757461626c65000f0030556e6b6e6f776e436c61696d001000384661696c6564546f4465636f6465001100404d6178576569676874496e76616c6964001200384e6f74486f6c64696e674665657300130030546f6f457870656e736976650014001054726170040010010c7536340015004c556e68616e646c656458636d56657273696f6e001600485765696768744c696d69745265616368656404001001185765696768740017001c426172726965720018004c5765696768744e6f74436f6d70757461626c6500190000d905100c78636d087632286d756c74696173736574404d756c7469417373657446696c74657200010820446566696e6974650400bd02012c4d756c74694173736574730000001057696c640400dd05013857696c644d756c7469417373657400010000dd05100c78636d087632286d756c746961737365743857696c644d756c746941737365740001080c416c6c00000014416c6c4f660801086964c902011c4173736574496400010c66756ee105013c57696c6446756e676962696c69747900010000e105100c78636d087632286d756c746961737365743c57696c6446756e676962696c6974790001082046756e6769626c650000002c4e6f6e46756e6769626c6500010000e5050c0c78636d0876322c5765696768744c696d697400010824556e6c696d697465640000001c4c696d6974656404002c010c75363400010000e905080c78636d3056657273696f6e656458636d042c52756e74696d6543616c6c0001080856320400ed05015076323a3a58636d3c52756e74696d6543616c6c3e0002000856330400fd05015076333a3a58636d3c52756e74696d6543616c6c3e00030000ed050c0c78636d0876320c58636d042c52756e74696d6543616c6c00000400f10501745665633c496e737472756374696f6e3c52756e74696d6543616c6c3e3e0000f105000002f50500f5050c0c78636d0876322c496e737472756374696f6e042c52756e74696d6543616c6c00017034576974686472617741737365740400bd02012c4d756c7469417373657473000000545265736572766541737365744465706f73697465640400bd02012c4d756c7469417373657473000100585265636569766554656c65706f7274656441737365740400bd02012c4d756c7469417373657473000200345175657279526573706f6e73650c012071756572795f69642c011c51756572794964000120726573706f6e7365c9050120526573706f6e73650001286d61785f7765696768742c010c753634000300345472616e736665724173736574080118617373657473bd02012c4d756c746941737365747300012c62656e6566696369617279cd0201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c0118617373657473bd02012c4d756c746941737365747300011064657374cd0201344d756c74694c6f636174696f6e00010c78636dbd05011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f747970659d0201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f73742c010c75363400011063616c6cf9050168446f75626c65456e636f6465643c52756e74696d6543616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e6465723502010c7533320001406d61785f6d6573736167655f73697a653502010c7533320001306d61785f63617061636974793502010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e743502010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f723502010c75333200011873656e6465723502010c753332000124726563697069656e743502010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e0400d1020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720c012071756572795f69642c011c5175657279496400011064657374cd0201344d756c74694c6f636174696f6e00014c6d61785f726573706f6e73655f7765696768742c010c753634000c00304465706f73697441737365740c0118617373657473d90501404d756c7469417373657446696c7465720001286d61785f6173736574733502010c75333200012c62656e6566696369617279cd0201344d756c74694c6f636174696f6e000d004c4465706f736974526573657276654173736574100118617373657473d90501404d756c7469417373657446696c7465720001286d61785f6173736574733502010c75333200011064657374cd0201344d756c74694c6f636174696f6e00010c78636dbd05011c58636d3c28293e000e003445786368616e6765417373657408011067697665d90501404d756c7469417373657446696c74657200011c72656365697665bd02012c4d756c7469417373657473000f005c496e6974696174655265736572766557697468647261770c0118617373657473d90501404d756c7469417373657446696c74657200011c72657365727665cd0201344d756c74694c6f636174696f6e00010c78636dbd05011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473d90501404d756c7469417373657446696c74657200011064657374cd0201344d756c74694c6f636174696f6e00010c78636dbd05011c58636d3c28293e001100305175657279486f6c64696e6710012071756572795f69642c011c5175657279496400011064657374cd0201344d756c74694c6f636174696f6e000118617373657473d90501404d756c7469417373657446696c74657200014c6d61785f726573706f6e73655f7765696768742c010c75363400120030427579457865637574696f6e08011066656573c50201284d756c746941737365740001307765696768745f6c696d6974e505012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400ed05014058636d3c52756e74696d6543616c6c3e0015002c536574417070656e6469780400ed05014058636d3c52756e74696d6543616c6c3e00160028436c6561724572726f7200170028436c61696d4173736574080118617373657473bd02012c4d756c74694173736574730001187469636b6574cd0201344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f7765696768742c010c753634001a0048556e73756273637269626556657273696f6e001b0000f9050c0c78636d38646f75626c655f656e636f64656434446f75626c65456e636f646564040454000004011c656e636f64656434011c5665633c75383e0000fd050c0c78636d0876330c58636d041043616c6c00000400010601585665633c496e737472756374696f6e3c43616c6c3e3e0000010600000205060005060c0c78636d0876332c496e737472756374696f6e041043616c6c0001c0345769746864726177417373657404005902012c4d756c7469417373657473000000545265736572766541737365744465706f736974656404005902012c4d756c7469417373657473000100585265636569766554656c65706f72746564417373657404005902012c4d756c7469417373657473000200345175657279526573706f6e736510012071756572795f69642c011c51756572794964000120726573706f6e736575020120526573706f6e73650001286d61785f77656967687428011857656967687400011c71756572696572990201544f7074696f6e3c4d756c74694c6f636174696f6e3e000300345472616e7366657241737365740801186173736574735902012c4d756c746941737365747300012c62656e6566696369617279290201344d756c74694c6f636174696f6e000400505472616e736665725265736572766541737365740c01186173736574735902012c4d756c746941737365747300011064657374290201344d756c74694c6f636174696f6e00010c78636d4d02011c58636d3c28293e000500205472616e736163740c012c6f726967696e5f6b696e649d0201284f726967696e4b696e64000158726571756972655f7765696768745f61745f6d6f737428011857656967687400011063616c6cf905014c446f75626c65456e636f6465643c43616c6c3e0006006448726d704e65774368616e6e656c4f70656e526571756573740c011873656e6465723502010c7533320001406d61785f6d6573736167655f73697a653502010c7533320001306d61785f63617061636974793502010c7533320007004c48726d704368616e6e656c4163636570746564040124726563697069656e743502010c7533320008004848726d704368616e6e656c436c6f73696e670c0124696e69746961746f723502010c75333200011873656e6465723502010c753332000124726563697069656e743502010c7533320009002c436c6561724f726967696e000a003444657363656e644f726967696e04002d020154496e746572696f724d756c74694c6f636174696f6e000b002c5265706f72744572726f720400a50201445175657279526573706f6e7365496e666f000c00304465706f7369744173736574080118617373657473a90201404d756c7469417373657446696c74657200012c62656e6566696369617279290201344d756c74694c6f636174696f6e000d004c4465706f7369745265736572766541737365740c0118617373657473a90201404d756c7469417373657446696c74657200011064657374290201344d756c74694c6f636174696f6e00010c78636d4d02011c58636d3c28293e000e003445786368616e676541737365740c011067697665a90201404d756c7469417373657446696c74657200011077616e745902012c4d756c746941737365747300011c6d6178696d616cac0110626f6f6c000f005c496e6974696174655265736572766557697468647261770c0118617373657473a90201404d756c7469417373657446696c74657200011c72657365727665290201344d756c74694c6f636174696f6e00010c78636d4d02011c58636d3c28293e00100040496e69746961746554656c65706f72740c0118617373657473a90201404d756c7469417373657446696c74657200011064657374290201344d756c74694c6f636174696f6e00010c78636d4d02011c58636d3c28293e001100345265706f7274486f6c64696e67080134726573706f6e73655f696e666fa50201445175657279526573706f6e7365496e666f000118617373657473a90201404d756c7469417373657446696c74657200120030427579457865637574696f6e08011066656573610201284d756c746941737365740001307765696768745f6c696d6974b502012c5765696768744c696d697400130034526566756e64537572706c75730014003c5365744572726f7248616e646c65720400fd05012458636d3c43616c6c3e0015002c536574417070656e6469780400fd05012458636d3c43616c6c3e00160028436c6561724572726f7200170028436c61696d41737365740801186173736574735902012c4d756c74694173736574730001187469636b6574290201344d756c74694c6f636174696f6e001800105472617004002c010c7536340019004053756273637269626556657273696f6e08012071756572795f69642c011c5175657279496400014c6d61785f726573706f6e73655f776569676874280118576569676874001a0048556e73756273637269626556657273696f6e001b00244275726e417373657404005902012c4d756c7469417373657473001c002c457870656374417373657404005902012c4d756c7469417373657473001d00304578706563744f726967696e0400990201544f7074696f6e3c4d756c74694c6f636174696f6e3e001e002c4578706563744572726f720400790201504f7074696f6e3c287533322c204572726f72293e001f00504578706563745472616e736163745374617475730400910201384d617962654572726f72436f64650020002c517565727950616c6c657408012c6d6f64756c655f6e616d6534011c5665633c75383e000134726573706f6e73655f696e666fa50201445175657279526573706f6e7365496e666f0021003045787065637450616c6c6574140114696e6465783502010c7533320001106e616d6534011c5665633c75383e00012c6d6f64756c655f6e616d6534011c5665633c75383e00012c63726174655f6d616a6f723502010c75333200013c6d696e5f63726174655f6d696e6f723502010c753332002200505265706f72745472616e736163745374617475730400a50201445175657279526573706f6e7365496e666f0023004c436c6561725472616e736163745374617475730024003c556e6976657273616c4f726967696e0400310201204a756e6374696f6e002500344578706f72744d6573736167650c011c6e6574776f726b3d0201244e6574776f726b496400012c64657374696e6174696f6e2d020154496e746572696f724d756c74694c6f636174696f6e00010c78636d4d02011c58636d3c28293e002600244c6f636b41737365740801146173736574610201284d756c74694173736574000120756e6c6f636b6572290201344d756c74694c6f636174696f6e0027002c556e6c6f636b41737365740801146173736574610201284d756c74694173736574000118746172676574290201344d756c74694c6f636174696f6e002800384e6f7465556e6c6f636b61626c650801146173736574610201284d756c746941737365740001146f776e6572290201344d756c74694c6f636174696f6e0029003452657175657374556e6c6f636b0801146173736574610201284d756c746941737365740001186c6f636b6572290201344d756c74694c6f636174696f6e002a002c536574466565734d6f64650401306a69745f7769746864726177ac0110626f6f6c002b0020536574546f70696304000401205b75383b2033325d002c0028436c656172546f706963002d002c416c6961734f726967696e0400290201344d756c74694c6f636174696f6e002e003c556e70616964457865637574696f6e0801307765696768745f6c696d6974b502012c5765696768744c696d6974000130636865636b5f6f726967696e990201544f7074696f6e3c4d756c74694c6f636174696f6e3e002f000009060c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c65741043616c6c04045400010448736572766963655f6f766572776569676874080114696e64657810013c4f766572776569676874496e6465780001307765696768745f6c696d69742801185765696768740000048c536565205b6050616c6c65743a3a736572766963655f6f766572776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e0d060000023904001106000004081506180015060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e000019060c4070616c6c65745f64656d6f6372616379147479706573385265666572656e64756d496e666f0c2c426c6f636b4e756d62657201102050726f706f73616c013d041c42616c616e6365011801081c4f6e676f696e6704001d0601c05265666572656e64756d5374617475733c426c6f636b4e756d6265722c2050726f706f73616c2c2042616c616e63653e0000002046696e6973686564080120617070726f766564ac0110626f6f6c00010c656e6410012c426c6f636b4e756d626572000100001d060c4070616c6c65745f64656d6f6372616379147479706573405265666572656e64756d5374617475730c2c426c6f636b4e756d62657201102050726f706f73616c013d041c42616c616e636501180014010c656e6410012c426c6f636b4e756d62657200012070726f706f73616c3d04012050726f706f73616c0001247468726573686f6c64980134566f74655468726573686f6c6400011464656c617910012c426c6f636b4e756d62657200011474616c6c792106013854616c6c793c42616c616e63653e000021060c4070616c6c65745f64656d6f63726163791474797065731454616c6c79041c42616c616e63650118000c01106179657318011c42616c616e63650001106e61797318011c42616c616e636500011c7475726e6f757418011c42616c616e6365000025060c4070616c6c65745f64656d6f637261637910766f746518566f74696e67101c42616c616e63650118244163636f756e74496401002c426c6f636b4e756d6265720110204d6178566f746573000108184469726563740c0114766f746573290601f4426f756e6465645665633c285265666572656e64756d496e6465782c204163636f756e74566f74653c42616c616e63653e292c204d6178566f7465733e00012c64656c65676174696f6e733506015044656c65676174696f6e733c42616c616e63653e0001147072696f723906017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0000002844656c65676174696e6714011c62616c616e636518011c42616c616e63650001187461726765740001244163636f756e744964000128636f6e76696374696f6e49040128436f6e76696374696f6e00012c64656c65676174696f6e733506015044656c65676174696f6e733c42616c616e63653e0001147072696f723906017c5072696f724c6f636b3c426c6f636b4e756d6265722c2042616c616e63653e0001000029060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012d06045300000400310601185665633c543e00002d0600000408209c0031060000022d060035060c4070616c6c65745f64656d6f63726163791474797065732c44656c65676174696f6e73041c42616c616e6365011800080114766f74657318011c42616c616e636500011c6361706974616c18011c42616c616e6365000039060c4070616c6c65745f64656d6f637261637910766f7465245072696f724c6f636b082c426c6f636b4e756d62657201101c42616c616e6365011800080010012c426c6f636b4e756d626572000018011c42616c616e636500003d06000004083d0498004106000004081015060045060c4070616c6c65745f64656d6f63726163791870616c6c6574144572726f720404540001602056616c75654c6f770000043456616c756520746f6f206c6f773c50726f706f73616c4d697373696e670001045c50726f706f73616c20646f6573206e6f742065786973743c416c726561647943616e63656c65640002049443616e6e6f742063616e63656c207468652073616d652070726f706f73616c207477696365444475706c696361746550726f706f73616c0003045450726f706f73616c20616c7265616479206d6164654c50726f706f73616c426c61636b6c69737465640004046850726f706f73616c207374696c6c20626c61636b6c6973746564444e6f7453696d706c654d616a6f72697479000504a84e6578742065787465726e616c2070726f706f73616c206e6f742073696d706c65206d616a6f726974792c496e76616c69644861736800060430496e76616c69642068617368284e6f50726f706f73616c000704504e6f2065787465726e616c2070726f706f73616c34416c72656164795665746f6564000804984964656e74697479206d6179206e6f74207665746f20612070726f706f73616c207477696365445265666572656e64756d496e76616c696400090484566f746520676976656e20666f7220696e76616c6964207265666572656e64756d2c4e6f6e6557616974696e67000a04504e6f2070726f706f73616c732077616974696e67204e6f74566f746572000b04c454686520676976656e206163636f756e7420646964206e6f7420766f7465206f6e20746865207265666572656e64756d2e304e6f5065726d697373696f6e000c04c8546865206163746f7220686173206e6f207065726d697373696f6e20746f20636f6e647563742074686520616374696f6e2e44416c726561647944656c65676174696e67000d0488546865206163636f756e7420697320616c72656164792064656c65676174696e672e44496e73756666696369656e7446756e6473000e04fc546f6f206869676820612062616c616e6365207761732070726f7669646564207468617420746865206163636f756e742063616e6e6f74206166666f72642e344e6f7444656c65676174696e67000f04a0546865206163636f756e74206973206e6f742063757272656e746c792064656c65676174696e672e28566f74657345786973740010085501546865206163636f756e742063757272656e746c792068617320766f74657320617474616368656420746f20697420616e6420746865206f7065726174696f6e2063616e6e6f74207375636365656420756e74696ce87468657365206172652072656d6f7665642c20656974686572207468726f7567682060756e766f746560206f722060726561705f766f7465602e44496e7374616e744e6f74416c6c6f776564001104d854686520696e7374616e74207265666572656e64756d206f726967696e2069732063757272656e746c7920646973616c6c6f7765642e204e6f6e73656e73650012049444656c65676174696f6e20746f206f6e6573656c66206d616b6573206e6f2073656e73652e3c57726f6e675570706572426f756e6400130450496e76616c696420757070657220626f756e642e3c4d6178566f74657352656163686564001404804d6178696d756d206e756d626572206f6620766f74657320726561636865642e1c546f6f4d616e79001504804d6178696d756d206e756d626572206f66206974656d7320726561636865642e3c566f74696e67506572696f644c6f7700160454566f74696e6720706572696f6420746f6f206c6f7740507265696d6167654e6f7445786973740017047054686520707265696d61676520646f6573206e6f742065786973742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e49060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540130045300000400b10101185665633c543e00004d06084470616c6c65745f636f6c6c65637469766514566f74657308244163636f756e74496401002c426c6f636b4e756d626572011000140114696e64657820013450726f706f73616c496e6465780001247468726573686f6c6420012c4d656d626572436f756e7400011061796573b90101385665633c4163636f756e7449643e0001106e617973b90101385665633c4163636f756e7449643e00010c656e6410012c426c6f636b4e756d626572000051060c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e55060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540130045300000400b10101185665633c543e000059060c4470616c6c65745f636f6c6c6563746976651870616c6c6574144572726f72080454000449000128244e6f744d656d6265720000045c4163636f756e74206973206e6f742061206d656d626572444475706c696361746550726f706f73616c0001047c4475706c69636174652070726f706f73616c73206e6f7420616c6c6f7765643c50726f706f73616c4d697373696e670002044c50726f706f73616c206d7573742065786973742857726f6e67496e646578000304404d69736d61746368656420696e646578344475706c6963617465566f7465000404584475706c696361746520766f74652069676e6f72656448416c7265616479496e697469616c697a6564000504804d656d626572732061726520616c726561647920696e697469616c697a65642120546f6f4561726c79000604010154686520636c6f73652063616c6c20776173206d61646520746f6f206561726c792c206265666f72652074686520656e64206f662074686520766f74696e672e40546f6f4d616e7950726f706f73616c73000704fc54686572652063616e206f6e6c792062652061206d6178696d756d206f6620604d617850726f706f73616c7360206163746976652070726f706f73616c732e4c57726f6e6750726f706f73616c576569676874000804d054686520676976656e2077656967687420626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e4c57726f6e6750726f706f73616c4c656e677468000904d054686520676976656e206c656e67746820626f756e6420666f72207468652070726f706f73616c2077617320746f6f206c6f772e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e5d060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e000061060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e6506083c70616c6c65745f74726561737572792050726f706f73616c08244163636f756e74496401001c42616c616e636501180010012070726f706f7365720001244163636f756e74496400011476616c756518011c42616c616e636500012c62656e65666963696172790001244163636f756e744964000110626f6e6418011c42616c616e6365000069060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540120045300000400d10301185665633c543e00006d060c3473705f61726974686d65746963287065725f7468696e67731c5065726d696c6c0000040020010c7533320000710604184f7074696f6e04045401180108104e6f6e6500000010536f6d650400180000010000750608346672616d655f737570706f72742050616c6c65744964000004007102011c5b75383b20385d000079060c3c70616c6c65745f74726561737572791870616c6c6574144572726f7208045400044900011470496e73756666696369656e7450726f706f7365727342616c616e63650000047850726f706f73657227732062616c616e636520697320746f6f206c6f772e30496e76616c6964496e646578000104904e6f2070726f706f73616c206f7220626f756e7479206174207468617420696e6465782e40546f6f4d616e79417070726f76616c7300020480546f6f206d616e7920617070726f76616c7320696e207468652071756575652e58496e73756666696369656e745065726d697373696f6e0003084501546865207370656e64206f726967696e2069732076616c6964206275742074686520616d6f756e7420697420697320616c6c6f77656420746f207370656e64206973206c6f776572207468616e207468654c616d6f756e7420746f206265207370656e742e4c50726f706f73616c4e6f74417070726f7665640004047c50726f706f73616c20686173206e6f74206265656e20617070726f7665642e04784572726f7220666f72207468652074726561737572792070616c6c65742e7d060c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e81060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454019504045300000400850601185665633c543e000085060000029504008906083870616c6c65745f76657374696e672052656c6561736573000108085630000000085631000100008d060c3870616c6c65745f76657374696e671870616c6c6574144572726f72040454000114284e6f7456657374696e6700000484546865206163636f756e7420676976656e206973206e6f742076657374696e672e5441744d617856657374696e675363686564756c65730001082501546865206163636f756e7420616c72656164792068617320604d617856657374696e675363686564756c65736020636f756e74206f66207363686564756c657320616e642074687573510163616e6e6f742061646420616e6f74686572206f6e652e20436f6e7369646572206d657267696e67206578697374696e67207363686564756c657320696e206f7264657220746f2061646420616e6f746865722e24416d6f756e744c6f770002040501416d6f756e74206265696e67207472616e7366657272656420697320746f6f206c6f7720746f2063726561746520612076657374696e67207363686564756c652e605363686564756c65496e6465784f75744f66426f756e6473000304d0416e20696e64657820776173206f7574206f6620626f756e6473206f66207468652076657374696e67207363686564756c65732e54496e76616c69645363686564756c65506172616d730004040d014661696c656420746f206372656174652061206e6577207363686564756c65206265636175736520736f6d6520706172616d657465722077617320696e76616c69642e04744572726f7220666f72207468652076657374696e672070616c6c65742e91060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540195060453000004009d0601185665633c543e0000950604184f7074696f6e0404540199060108104e6f6e6500000010536f6d650400990600000100009906084070616c6c65745f7363686564756c6572245363686564756c656414104e616d6501041043616c6c013d042c426c6f636b4e756d62657201103450616c6c6574734f726967696e017104244163636f756e7449640100001401206d617962655f6964d401304f7074696f6e3c4e616d653e0001207072696f726974790801487363686564756c653a3a5072696f7269747900011063616c6c3d04011043616c6c0001386d617962655f706572696f6469639d0401944f7074696f6e3c7363686564756c653a3a506572696f643c426c6f636b4e756d6265723e3e0001186f726967696e7104013450616c6c6574734f726967696e00009d06000002950600a1060c4070616c6c65745f7363686564756c65721870616c6c6574144572726f72040454000114404661696c6564546f5363686564756c65000004644661696c656420746f207363686564756c6520612063616c6c204e6f74466f756e640001047c43616e6e6f742066696e6420746865207363686564756c65642063616c6c2e5c546172676574426c6f636b4e756d626572496e50617374000204a4476976656e2074617267657420626c6f636b206e756d62657220697320696e2074686520706173742e4852657363686564756c654e6f4368616e6765000304f052657363686564756c65206661696c6564206265636175736520697420646f6573206e6f74206368616e6765207363686564756c65642074696d652e144e616d6564000404d0417474656d707420746f207573652061206e6f6e2d6e616d65642066756e6374696f6e206f6e2061206e616d6564207461736b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea50600000408a9061800a9060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401ad06045300000400b10601185665633c543e0000ad06083070616c6c65745f70726f78793c50726f7879446566696e6974696f6e0c244163636f756e74496401002450726f78795479706501dc2c426c6f636b4e756d6265720110000c012064656c65676174650001244163636f756e74496400012870726f78795f74797065dc012450726f78795479706500011464656c617910012c426c6f636b4e756d6265720000b106000002ad0600b50600000408b9061800b9060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401bd06045300000400c10601185665633c543e0000bd06083070616c6c65745f70726f787930416e6e6f756e63656d656e740c244163636f756e7449640100104861736801302c426c6f636b4e756d6265720110000c01107265616c0001244163636f756e74496400012463616c6c5f686173683001104861736800011868656967687410012c426c6f636b4e756d6265720000c106000002bd0600c5060c3070616c6c65745f70726f78791870616c6c6574144572726f720404540001201c546f6f4d616e79000004210154686572652061726520746f6f206d616e792070726f786965732072656769737465726564206f7220746f6f206d616e7920616e6e6f756e63656d656e74732070656e64696e672e204e6f74466f756e640001047450726f787920726567697374726174696f6e206e6f7420666f756e642e204e6f7450726f7879000204cc53656e646572206973206e6f7420612070726f7879206f6620746865206163636f756e7420746f2062652070726f786965642e2c556e70726f787961626c650003042101412063616c6c20776869636820697320696e636f6d70617469626c652077697468207468652070726f7879207479706527732066696c7465722077617320617474656d707465642e244475706c69636174650004046c4163636f756e7420697320616c726561647920612070726f78792e304e6f5065726d697373696f6e000504150143616c6c206d6179206e6f74206265206d6164652062792070726f78792062656361757365206974206d617920657363616c617465206974732070726976696c656765732e2c556e616e6e6f756e636564000604d0416e6e6f756e63656d656e742c206966206d61646520617420616c6c2c20776173206d61646520746f6f20726563656e746c792e2c4e6f53656c6650726f78790007046443616e6e6f74206164642073656c662061732070726f78792e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ec906083c70616c6c65745f707265696d616765345265717565737453746174757308244163636f756e74496401001c42616c616e6365011801082c556e72657175657374656408011c6465706f736974cd060150284163636f756e7449642c2042616c616e63652900010c6c656e20010c753332000000245265717565737465640c011c6465706f736974d10601704f7074696f6e3c284163636f756e7449642c2042616c616e6365293e000114636f756e7420010c75333200010c6c656e4d04012c4f7074696f6e3c7533323e00010000cd0600000408001800d10604184f7074696f6e04045401cd060108104e6f6e6500000010536f6d650400cd060000010000d50600000408302000d9060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000dd060c3c70616c6c65745f707265696d6167651870616c6c6574144572726f7204045400011818546f6f426967000004a0507265696d61676520697320746f6f206c6172676520746f2073746f7265206f6e2d636861696e2e30416c72656164794e6f746564000104a4507265696d6167652068617320616c7265616479206265656e206e6f746564206f6e2d636861696e2e344e6f74417574686f72697a6564000204c85468652075736572206973206e6f7420617574686f72697a656420746f20706572666f726d207468697320616374696f6e2e204e6f744e6f746564000304fc54686520707265696d6167652063616e6e6f742062652072656d6f7665642073696e636520697420686173206e6f7420796574206265656e206e6f7465642e2452657175657374656400040409014120707265696d616765206d6179206e6f742062652072656d6f766564207768656e20746865726520617265206f75747374616e64696e672072657175657374732e304e6f745265717565737465640005042d0154686520707265696d61676520726571756573742063616e6e6f742062652072656d6f7665642073696e6365206e6f206f75747374616e64696e672072657175657374732065786973742e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ee1060c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e0000e5060c4470616c6c65745f6d656d626572736869701870616c6c6574144572726f7208045400044900010c34416c72656164794d656d62657200000444416c72656164792061206d656d6265722e244e6f744d656d626572000104344e6f742061206d656d6265722e38546f6f4d616e794d656d6265727300020444546f6f206d616e79206d656d626572732e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ee906082c70616c6c65745f746970731c4f70656e54697010244163636f756e74496401001c42616c616e636501182c426c6f636b4e756d626572011010486173680130001c0118726561736f6e3001104861736800010c77686f0001244163636f756e74496400011866696e6465720001244163636f756e74496400011c6465706f73697418011c42616c616e6365000118636c6f736573ed06014c4f7074696f6e3c426c6f636b4e756d6265723e00011074697073f10601645665633c284163636f756e7449642c2042616c616e6365293e00012c66696e646572735f666565ac0110626f6f6c0000ed0604184f7074696f6e04045401100108104e6f6e6500000010536f6d650400100000010000f106000002cd0600f5060c3473705f61726974686d65746963287065725f7468696e67731c50657263656e740000040008010875380000f9060c2c70616c6c65745f746970731870616c6c6574144572726f7208045400044900011830526561736f6e546f6f4269670000048454686520726561736f6e20676976656e206973206a75737420746f6f206269672e30416c72656164794b6e6f776e00010488546865207469702077617320616c726561647920666f756e642f737461727465642e28556e6b6e6f776e5469700002046054686520746970206861736820697320756e6b6e6f776e2e244e6f7446696e6465720003041d01546865206163636f756e7420617474656d7074696e6720746f20726574726163742074686520746970206973206e6f74207468652066696e646572206f6620746865207469702e245374696c6c4f70656e0004042901546865207469702063616e6e6f7420626520636c61696d65642f636c6f736564206265636175736520746865726520617265206e6f7420656e6f7567682074697070657273207965742e245072656d61747572650005043101546865207469702063616e6e6f7420626520636c61696d65642f636c6f73656420626563617573652069742773207374696c6c20696e2074686520636f756e74646f776e20706572696f642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742efd06000004080004000107083c70616c6c65745f6d756c7469736967204d756c7469736967102c426c6f636b4e756d62657201101c42616c616e63650118244163636f756e7449640100304d6178417070726f76616c7300001001107768656ef4015854696d65706f696e743c426c6f636b4e756d6265723e00011c6465706f73697418011c42616c616e63650001246465706f7369746f720001244163636f756e744964000124617070726f76616c730507018c426f756e6465645665633c4163636f756e7449642c204d6178417070726f76616c733e000005070c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540100045300000400b90101185665633c543e000009070c3c70616c6c65745f6d756c74697369671870616c6c6574144572726f72040454000138404d696e696d756d5468726573686f6c640000047c5468726573686f6c64206d7573742062652032206f7220677265617465722e3c416c7265616479417070726f766564000104ac43616c6c20697320616c726561647920617070726f7665642062792074686973207369676e61746f72792e444e6f417070726f76616c734e65656465640002049c43616c6c20646f65736e2774206e65656420616e7920286d6f72652920617070726f76616c732e44546f6f4665775369676e61746f72696573000304a854686572652061726520746f6f20666577207369676e61746f7269657320696e20746865206c6973742e48546f6f4d616e795369676e61746f72696573000404ac54686572652061726520746f6f206d616e79207369676e61746f7269657320696e20746865206c6973742e545369676e61746f726965734f75744f664f726465720005040d01546865207369676e61746f7269657320776572652070726f7669646564206f7574206f66206f726465723b20746865792073686f756c64206265206f7264657265642e4c53656e646572496e5369676e61746f726965730006040d015468652073656e6465722077617320636f6e7461696e656420696e20746865206f74686572207369676e61746f726965733b2069742073686f756c646e27742062652e204e6f74466f756e64000704dc4d756c7469736967206f7065726174696f6e206e6f7420666f756e64207768656e20617474656d7074696e6720746f2063616e63656c2e204e6f744f776e65720008042d014f6e6c7920746865206163636f756e742074686174206f726967696e616c6c79206372656174656420746865206d756c74697369672069732061626c6520746f2063616e63656c2069742e2c4e6f54696d65706f696e740009041d014e6f2074696d65706f696e742077617320676976656e2c2079657420746865206d756c7469736967206f7065726174696f6e20697320616c726561647920756e6465727761792e3857726f6e6754696d65706f696e74000a042d014120646966666572656e742074696d65706f696e742077617320676976656e20746f20746865206d756c7469736967206f7065726174696f6e207468617420697320756e6465727761792e4c556e657870656374656454696d65706f696e74000b04f4412074696d65706f696e742077617320676976656e2c20796574206e6f206d756c7469736967206f7065726174696f6e20697320756e6465727761792e3c4d6178576569676874546f6f4c6f77000c04d0546865206d6178696d756d2077656967687420696e666f726d6174696f6e2070726f76696465642077617320746f6f206c6f772e34416c726561647953746f726564000d04a0546865206461746120746f2062652073746f72656420697320616c72656164792073746f7265642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e0d070c1463747970652c63747970655f656e747279284374797065456e747279081c43726561746f7201002c426c6f636b4e756d62657201100008011c63726561746f7200011c43726561746f72000128637265617465645f617410012c426c6f636b4e756d626572000011070c1463747970651870616c6c6574144572726f7204045400010c204e6f74466f756e64000004985468657265206973206e6f20435479706520776974682074686520676976656e20686173682e34416c72656164794578697374730001046454686520435479706520616c7265616479206578697374732e3c556e61626c65546f506179466565730002040d0154686520706179696e67206163636f756e742077617320756e61626c6520746f2070617920746865206665657320666f72206372656174696e6720612063747970652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e15070c2c6174746573746174696f6e306174746573746174696f6e73484174746573746174696f6e44657461696c7314244374797065486173680130284174746573746572496401003c417574686f72697a6174696f6e4964010501244163636f756e74496401001c42616c616e636501180014012863747970655f68617368300124437479706548617368000120617474657374657200012841747465737465724964000140617574686f72697a6174696f6e5f69640101015c4f7074696f6e3c417574686f72697a6174696f6e49643e00011c7265766f6b6564ac0110626f6f6c00011c6465706f7369740d02016c4465706f7369743c4163636f756e7449642c2042616c616e63653e0000190700000408050130001d070c2c6174746573746174696f6e1870616c6c6574144572726f720404540001183c416c726561647941747465737465640000080901546865726520697320616c726561647920616e206174746573746174696f6e2077697468207468652073616d6520636c61696d20686173682073746f726564206f6e18636861696e2e38416c72656164795265766f6b6564000104a4546865206174746573746174696f6e2068617320616c7265616479206265656e207265766f6b65642e204e6f74466f756e64000204c04e6f206174746573746174696f6e206f6e20636861696e206d61746368696e672074686520636c61696d20686173682e3443547970654d69736d61746368000308fc546865206174746573746174696f6e20435479706520646f6573206e6f74206d61746368207468652043547970652073706563696669656420696e207468656864656c65676174696f6e2068696572617263687920726f6f742e344e6f74417574686f72697a6564000404f05468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f206368616e676520746865206174746573746174696f6e2e804d617844656c6567617465644174746573746174696f6e73457863656564656400050cf4546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732068617320616c7265616479206265656e05017265616368656420666f722074686520636f72726573706f6e64696e672064656c65676174696f6e2069642073756368207468617420616e6f74686572206f6e654063616e6e6f742062652061646465642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e21070c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368793844656c65676174696f6e4e6f6465144044656c65676174696f6e4e6f6465496401302c4d61784368696c6472656e0125074444656c65676174696f6e44657461696c73012907244163636f756e74496401001c42616c616e63650118001401446869657261726368795f726f6f745f696430014044656c65676174696f6e4e6f64654964000118706172656e74510401604f7074696f6e3c44656c65676174696f6e4e6f646549643e0001206368696c6472656e2d0701b8426f756e64656442547265655365743c44656c65676174696f6e4e6f646549642c204d61784368696c6472656e3e00011c64657461696c732907014444656c65676174696f6e44657461696c7300011c6465706f7369740d02016c4465706f7369743c4163636f756e7449642c2042616c616e63653e00002507103872756e74696d655f636f6d6d6f6e24636f6e7374616e74732864656c65676174696f6e2c4d61784368696c6472656e0000000029070c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368794444656c65676174696f6e44657461696c73042c44656c656761746f7249640100000c01146f776e657200012c44656c656761746f72496400011c7265766f6b6564ac0110626f6f6c00012c7065726d697373696f6e730d01012c5065726d697373696f6e7300002d070c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e646564425472656553657408045401300453000004003107012c42547265655365743c543e00003107042042547265655365740404540130000400b10100000035070c2864656c65676174696f6e5064656c65676174696f6e5f6869657261726368796844656c65676174696f6e48696572617263687944657461696c73042443747970654861736801300004012863747970655f68617368300124437479706548617368000039070c2864656c65676174696f6e1870616c6c6574144572726f720404540001585c44656c65676174696f6e416c72656164794578697374730000041101546865726520697320616c726561647920612064656c65676174696f6e206e6f64652077697468207468652073616d652049442073746f726564206f6e20636861696e2e60496e76616c696444656c65676174655369676e617475726500010805015468652064656c65676174652773207369676e617475726520666f72207468652064656c65676174696f6e206372656174696f6e206f7065726174696f6e20697320696e76616c69642e4844656c65676174696f6e4e6f74466f756e64000204c04e6f2064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e4044656c65676174654e6f74466f756e64000304b84e6f2064656c656761746520776974682074686520676976656e2049442073746f726564206f6e20636861696e2e58486965726172636879416c7265616479457869737473000404f8546865726520697320616c72656164792061206869657261726368792077697468207468652073616d652049442073746f726564206f6e20636861696e2e444869657261726368794e6f74466f756e64000504bc4e6f2068696572617263687920776974682074686520676976656e2049442073746f726564206f6e20636861696e2e544d617853656172636844657074685265616368656400060409014d6178206e756d626572206f66206e6f64657320636865636b656420776974686f757420766572696679696e672074686520676976656e20636f6e646974696f6e2e684e6f744f776e65724f66506172656e7444656c65676174696f6e000708f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6ef462656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20706172656e74206e6f64652e744e6f744f776e65724f6644656c65676174696f6e486965726172636879000808f45468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f207772697465207468652064656c65676174696f6eec62656361757365207468657920617265206e6f7420746865206f776e6572206f66207468652064656c65676174696f6e20726f6f74206e6f64652e60506172656e7444656c65676174696f6e4e6f74466f756e64000904dc4e6f20706172656e742064656c65676174696f6e20776974682074686520676976656e2049442073746f726564206f6e20636861696e2e5c506172656e7444656c65676174696f6e5265766f6b6564000a04c854686520706172656e742064656c65676174696f6e206861732070726576696f75736c79206265656e207265766f6b65642e58556e617574686f72697a65645265766f636174696f6e000b04fc5468652064656c65676174696f6e207265766f6b6572206973206e6f7420616c6c6f77656420746f207265766f6b65207468652064656c65676174696f6e2e4c556e617574686f72697a656452656d6f76616c000c04ec5468652063616c6c206f726967696e206973206e6f7420617574686f72697a656420746f2072656d6f7665207468652064656c65676174696f6e2e58556e617574686f72697a656444656c65676174696f6e000d04fc5468652064656c65676174696f6e2063726561746f72206973206e6f7420616c6c6f77656420746f20637265617465207468652064656c65676174696f6e2e3041636365737344656e696564000e04f0546865206f7065726174696f6e207761736e277420616c6c6f7765642062656361757365206f6620696e73756666696369656e74207269676874732e6045786365656465645265766f636174696f6e426f756e6473000f080d014d6178206e756d626572206f66207265766f636174696f6e7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7238746865206f7065726174696f6e2e54457863656564656452656d6f76616c426f756e647300100811014d6178206e756d626572206f662072656d6f76616c7320666f722064656c65676174696f6e206e6f64657320686173206265656e207265616368656420666f7220746865286f7065726174696f6e2e584d61785265766f636174696f6e73546f6f4c61726765001104f8546865206d6178206e756d626572206f66207265766f636174696f6e206578636565647320746865206c696d697420666f72207468652070616c6c65742e4c4d617852656d6f76616c73546f6f4c61726765001204f0546865206d6178206e756d626572206f662072656d6f76616c73206578636565647320746865206c696d697420666f72207468652070616c6c65742e5c4d6178506172656e74436865636b73546f6f4c617267650013040501546865206d6178206e756d626572206f6620706172656e7420636865636b73206578636565647320746865206c696d697420666f72207468652070616c6c65742e20496e7465726e616c001404f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e4c4d61784368696c6472656e4578636565646564001508dc546865206d6178206e756d626572206f6620616c6c206368696c6472656e20686173206265656e207265616368656420666f722074686578636f72726573706f6e64696e672064656c65676174696f6e206e6f64652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e3d070c0c6469642c6469645f64657461696c732844696444657461696c7304045400001c014861757468656e7469636174696f6e5f6b65793001284b657949644f663c543e0001486b65795f61677265656d656e745f6b657973410701684469644b657941677265656d656e744b65795365744f663c543e00013864656c65676174696f6e5f6b6579510401484f7074696f6e3c4b657949644f663c543e3e00013c6174746573746174696f6e5f6b6579510401484f7074696f6e3c4b657949644f663c543e3e00012c7075626c69635f6b657973450701504469645075626c69634b65794d61704f663c543e00013c6c6173745f74785f636f756e74657210010c75363400011c6465706f7369740d0201944465706f7369743c4163636f756e7449644f663c543e2c2042616c616e63654f663c543e3e000041070c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f7365743c426f756e646564425472656553657408045401300453000004003107012c42547265655365743c543e000045070c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b013004560149070453000004005107013842547265654d61703c4b2c20563e000049070c0c6469642c6469645f64657461696c734c4469645075626c69634b657944657461696c73082c426c6f636b4e756d6265720110244163636f756e74496401000008010c6b65794d07015c4469645075626c69634b65793c4163636f756e7449643e000130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200004d070c0c6469642c6469645f64657461696c73304469645075626c69634b657904244163636f756e74496401000108545075626c6963566572696669636174696f6e4b657904002d050174446964566572696669636174696f6e4b65793c4163636f756e7449643e0000004c5075626c6963456e6372797074696f6e4b657904001d050140446964456e6372797074696f6e4b6579000100005107042042547265654d617008044b0130045601490700040055070000005507000002590700590700000408304907005d070000040800fd040061070c0c6469641870616c6c6574144572726f7204045400016c58496e76616c69645369676e6174757265466f726d6174000008050154686520444944206f7065726174696f6e207369676e6174757265206973206e6f7420696e2074686520666f726d61742074686520766572696669636174696f6e306b657920657870656374732e40496e76616c69645369676e6174757265000108f854686520444944206f7065726174696f6e207369676e617475726520697320696e76616c696420666f7220746865207061796c6f616420616e642074686568766572696669636174696f6e206b65792070726f76696465642e34416c7265616479457869737473000204f85468652044494420776974682074686520676976656e206964656e74696669657220697320616c72656164792070726573656e74206f6e20636861696e2e204e6f74466f756e64000304d44e6f2044494420776974682074686520676976656e206964656e7469666965722069732070726573656e74206f6e20636861696e2e5c566572696669636174696f6e4b65794e6f74466f756e6400040809014f6e65206f72206d6f726520766572696669636174696f6e206b657973207265666572656e63656420617265206e6f742073746f72656420696e2074686520736574546f6620766572696669636174696f6e206b6579732e30496e76616c69644e6f6e6365000504090154686520444944206f7065726174696f6e206e6f6e6365206973206e6f7420657175616c20746f207468652063757272656e7420444944206e6f6e6365202b20312e7c556e737570706f72746564446964417574686f72697a6174696f6e43616c6c000604e05468652063616c6c65642065787472696e73696320646f6573206e6f7420737570706f72742044494420617574686f7269736174696f6e2e6c496e76616c6964446964417574686f72697a6174696f6e43616c6c000708dc5468652063616c6c2068616420706172616d6574657273207468617420636f6e666c696374656420776974682065616368206f74686572406f72207765726520696e76616c69642e8c4d61784e65774b657941677265656d656e744b6579734c696d697445786365656465640008080d0141206e756d626572206f66206e6577206b65792061677265656d656e74206b6579732067726561746572207468616e20746865206d6178696d756d20616c6c6f77656448686173206265656e2070726f76696465642e544d61785075626c69634b65797345786365656465640009080501546865206d6178696d756d206e756d626572206f66207075626c6963206b65797320666f72207468697320444944206b6579206964656e74696669657220686173346265656e20726561636865642e6c4d61784b657941677265656d656e744b6579734578636565646564000a080501546865206d6178696d756d206e756d626572206f66206b65792061677265656d656e747320686173206265656e207265616368656420666f722074686520444944207375626a6563742e304261644469644f726967696e000b04bc546865204449442063616c6c20776173207375626d6974746564206279207468652077726f6e67206163636f756e74485472616e73616374696f6e45787069726564000c040d0154686520626c6f636b206e756d6265722070726f766964656420696e2061204449442d617574686f72697a6564206f7065726174696f6e20697320696e76616c69642e38416c726561647944656c65746564000d04b0546865204449442068617320616c7265616479206265656e2070726576696f75736c792064656c657465642e444e6f744f776e65724f664465706f736974000e04fc4f6e6c7920746865206f776e6572206f6620746865206465706f7369742063616e207265636c61696d206974732072657365727665642062616c616e63652e3c556e61626c65546f50617946656573000f04f0546865206f726967696e20697320756e61626c6520746f207265736572766520746865206465706f73697420616e642070617920746865206665652e6c4d61784e756d6265724f66536572766963657345786365656465640010041101546865206d6178696d756d206e756d626572206f66207365727669636520656e64706f696e747320666f7220612044494420686173206265656e2065786365656465642e684d61785365727669636549644c656e6774684578636565646564001104f0546865207365727669636520656e64706f696e7420494420657863656564656420746865206d6178696d756d20616c6c6f776564206c656e6774682e704d617853657276696365547970654c656e6774684578636565646564001208f84f6e65206f6620746865207365727669636520656e64706f696e7420747970657320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e884d61784e756d6265724f665479706573506572536572766963654578636565646564001308ec546865206d6178696d756d206e756d626572206f6620747970657320666f722061207365727669636520656e64706f696e7420686173206265656e2465786365656465642e6c4d61785365727669636555726c4c656e6774684578636565646564001408f44f6e65206f6620746865207365727669636520656e64706f696e742055524c7320657863656564656420746865206d6178696d756d20616c6c6f7765641c6c656e6774682e844d61784e756d6265724f6655726c735065725365727669636545786365656465640015041101546865206d6178696d756d206e756d626572206f662055524c7320666f722061207365727669636520656e64706f696e7420686173206265656e2065786365656465642e5053657276696365416c726561647945786973747300160411014120736572766963652077697468207468652070726f766964656420494420697320616c72656164792070726573656e7420666f722074686520676976656e204449442e3c536572766963654e6f74466f756e6400170409014120736572766963652077697468207468652070726f7669646564204944206973206e6f742070726573656e7420756e6465722074686520676976656e204449442e58496e76616c696453657276696365456e636f64696e6700180409014f6e65206f6620746865207365727669636520656e64706f696e742064657461696c7320636f6e7461696e73206e6f6e2d415343494920636861726163746572732e7c4d617853746f726564456e64706f696e7473436f756e7445786365656465640019080d01546865206e756d626572206f66207365727669636520656e64706f696e74732073746f72656420756e6465722074686520444944206973206c6172676572207468616e88746865206e756d626572206f6620656e64706f696e747320746f2064656c6574652e20496e7465726e616c001a04f4416e206572726f722074686174206973206e6f7420737570706f73656420746f2074616b6520706c6163652c207965742069742068617070656e65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e65070c4470616c6c65745f6469645f6c6f6f6b757044636f6e6e656374696f6e5f7265636f726440436f6e6e656374696f6e5265636f72640c344469644964656e74696669657201001c4163636f756e7401001c42616c616e636501180008010c6469640001344469644964656e74696669657200011c6465706f7369740d0201644465706f7369743c4163636f756e742c2042616c616e63653e0000690700000408001901006d070c4470616c6c65745f6469645f6c6f6f6b75701870616c6c6574144572726f72040454000114204e6f74466f756e640000047c546865206173736f63696174696f6e20646f6573206e6f742065786973742e344e6f74417574686f72697a65640001081101546865206f726967696e20776173206e6f7420616c6c6f77656420746f206d616e61676520746865206173736f63696174696f6e206265747765656e20746865204449444c616e6420746865206163636f756e742049442e344f7574646174656450726f6f66000204b454686520737570706c6965642070726f6f66206f66206f776e65727368697020776173206f757464617465642e44496e73756666696369656e7446756e64730003081101546865206163636f756e742068617320696e73756666696369656e742066756e647320616e642063616e277420706179207468652066656573206f72207265736572766530746865206465706f7369742e244d6967726174696f6e00040c010154686520436f6e6e65637465644163636f756e747320616e6420436f6e6e6563746564446964732073746f7261676520617265206f7574206f662073796e632e0011014e4f54453a20746869732077696c6c206f6e6c792062652072657475726e6564206966207468652073746f726167652068617320696e636f6e73697374656e636965732e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e71070c4470616c6c65745f776562335f6e616d657324776562335f6e616d6544576562334e616d654f776e6572736869700c144f776e657201001c4465706f736974010d022c426c6f636b4e756d6265720110000c01146f776e65720001144f776e6572000128636c61696d65645f617410012c426c6f636b4e756d62657200011c6465706f7369740d02011c4465706f736974000075070c4470616c6c65745f776562335f6e616d65731870616c6c6574144572726f7204045400013044496e73756666696369656e7446756e64730000040d01546865207478207375626d697474657220646f6573206e6f74206861766520656e6f7567682066756e647320746f2070617920666f7220746865206465706f7369742e34416c7265616479457869737473000104dc54686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c7920636c61696d65642e204e6f74466f756e640002048854686520737065636966696564206e616d6520646f6573206e6f742065786973742e484f776e6572416c7265616479457869737473000304a054686520737065636966696564206f776e657220616c7265616479206f776e732061206e616d652e344f776e65724e6f74466f756e64000404ac54686520737065636966696564206f776e657220646f6573206e6f74206f776e20616e79206e616d65732e1842616e6e6564000508ec54686520737065636966696564206e616d6520686173206265656e2062616e6e656420616e642063616e6e6f7420626520696e746572616374656414776974682e244e6f7442616e6e6564000604ac54686520737065636966696564206e616d65206973206e6f742063757272656e746c792062616e6e65642e34416c726561647942616e6e6564000704d854686520737065636966696564206e616d652068617320616c7265616479206265656e2070726576696f75736c792062616e6e65642e344e6f74417574686f72697a6564000804cc546865206163746f722063616e6e6f7420706572666f726d65642074686520737065636966696564206f7065726174696f6e2e20546f6f53686f7274000904a841206e616d65207468617420697320746f6f2073686f7274206973206265696e6720636c61696d65642e1c546f6f4c6f6e67000a04a441206e616d65207468617420697320746f6f206c6f6e67206973206265696e6720636c61696d65642e40496e76616c6964436861726163746572000b04f441206e616d65207468617420636f6e7461696e73206e6f7420616c6c6f7765642063686172616374657273206973206265696e6720636c61696d65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e79070c487075626c69635f63726564656e7469616c732c63726564656e7469616c733c43726564656e7469616c456e7472791824435479706548617368013020417474657374657201002c426c6f636b4e756d6265720110244163636f756e74496401001c42616c616e636501183c417574686f72697a6174696f6e49640105010018012863747970655f686173683001244354797065486173680001206174746573746572000120417474657374657200011c7265766f6b6564ac0110626f6f6c000130626c6f636b5f6e756d62657210012c426c6f636b4e756d62657200011c6465706f7369740d02016c4465706f7369743c4163636f756e7449642c2042616c616e63653e000140617574686f72697a6174696f6e5f69640101015c4f7074696f6e3c417574686f72697a6174696f6e49643e00007d070c487075626c69635f63726564656e7469616c731870616c6c6574144572726f720404540001183c416c72656164794174746573746564000008f8412063726564656e7469616c2077697468207468652073616d6520726f6f7420686173682068617320616c72656164792069737375656420746f2074686548737065636966696564207375626a6563742e204e6f74466f756e6400010805014e6f2063726564656e7469616c2077697468207468652073706563696669656420726f6f74206861736820686173206265656e2069737375656420746f2074686548737065636966696564207375626a6563742e3c556e61626c65546f50617946656573000204d44e6f7420656e6f75676820746f6b656e7320746f2070617920666f72207468652066656573206f7220746865206465706f7369742e30496e76616c6964496e707574000304805468652063726564656e7469616c20696e70757420697320696e76616c69642e344e6f74417574686f72697a6564000404e05468652063616c6c6572206973206e6f7420617574686f72697a656420746f20706572666f726d656420746865206f7065726174696f6e2e20496e7465726e616c000508f443617463682d616c6c20666f7220616e79206f74686572206572726f727320746861742073686f756c64206e6f742068617070656e2c207965742069742468617070656e65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e81070c4070616c6c65745f6d6967726174696f6e1870616c6c6574144572726f72040454000104204b65795061727365000000048054686520604572726f726020656e756d206f6620746869732070616c6c65742e85070000040800e00089070c4c70616c6c65745f6469705f70726f76696465721870616c6c6574144572726f7204045400011048436f6d6d69746d656e744e6f74466f756e64000004a45468652073706563696669656420636f6d6d69746d656e742063616e6e6f7420626520666f756e642e404964656e7469747950726f76696465720400e0010c7531360001040d014572726f72207768656e2072657472696576696e6720746865206964656e746974792064657461696c73206f66207468652070726f7669646564207375626a6563742e6c4964656e74697479436f6d6d69746d656e7447656e657261746f720400e0010c753136000204f84572726f72207768656e2067656e65726174696e67206120636f6d6d69746d656e7420666f722074686520726574726965766564206964656e746974792e10486f6f6b0400e0010c753136000304944572726f7220696e73696465207468652065787465726e616c20686f6f6b206c6f6769632e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e8d0700000408e101e5010091070c5870616c6c65745f6465706f7369745f73746f726167651870616c6c6574144572726f720404540001183c4465706f7369744e6f74466f756e640000081101546865206465706f7369742077697468207468652070726f7669646564206b657920776173206e6f7420666f756e642077697468696e2074686520737065636966696564286e616d6573706163652e3c4465706f7369744578697374696e670001080d0141206465706f7369742077697468207468652070726f7669646564206b657920616c7265616479206578697374732077697468696e2074686520737065636966696564286e616d6573706163652e30556e617574686f72697a6564000208f4546865206f726967696e20776173206e6f7420617574686f72697a656420746f20706572666f726d20746865206f7065726174696f6e206f6e2074686560737065636966696564206465706f73697420656e7472792e304661696c6564546f486f6c64000304ec546865206f726967696e20646964206e6f74206861766520656e6f7567682066756e6420746f2070617920666f7220746865206465706f7369742e3c4661696c6564546f52656c65617365000404ec4572726f72207768656e20747279696e6720746f2072656c6561736520612070726576696f75736c792d7265736572766564206465706f7369742e10486f6f6b0400e0010c753136000504645468652065787465726e616c20686f6f6b206661696c65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e950704184f7074696f6e0404540199070108104e6f6e6500000010536f6d6504009907000001000099070c4c706f6c6b61646f745f7072696d69746976657308763548557067726164655265737472696374696f6e0001041c50726573656e74000000009d070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f74584d6573736167696e675374617465536e617073686f740000100130646d715f6d71635f6865616430014472656c61795f636861696e3a3a4861736800016472656c61795f64697370617463685f71756575655f73697a65a107015452656c617944697370616368517565756553697a65000140696e67726573735f6368616e6e656c73a50701885665633c285061726149642c20416272696467656448726d704368616e6e656c293e00013c6567726573735f6368616e6e656c73a50701885665633c285061726149642c20416272696467656448726d704368616e6e656c293e0000a1070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d5072656c61795f73746174655f736e617073686f745452656c617944697370616368517565756553697a65000008013c72656d61696e696e675f636f756e7420010c75333200013872656d61696e696e675f73697a6520010c7533320000a507000002a90700a907000004081d02ad0700ad070c4c706f6c6b61646f745f7072696d6974697665730876354c416272696467656448726d704368616e6e656c00001801306d61785f636170616369747920010c7533320001386d61785f746f74616c5f73697a6520010c7533320001406d61785f6d6573736167655f73697a6520010c7533320001246d73675f636f756e7420010c753332000128746f74616c5f73697a6520010c7533320001206d71635f68656164510401304f7074696f6e3c486173683e0000b1070c4c706f6c6b61646f745f7072696d697469766573087635644162726964676564486f7374436f6e66696775726174696f6e00002401346d61785f636f64655f73697a6520010c7533320001486d61785f686561645f646174615f73697a6520010c7533320001586d61785f7570776172645f71756575655f636f756e7420010c7533320001546d61785f7570776172645f71756575655f73697a6520010c75333200015c6d61785f7570776172645f6d6573736167655f73697a6520010c7533320001906d61785f7570776172645f6d6573736167655f6e756d5f7065725f63616e64696461746520010c75333200018868726d705f6d61785f6d6573736167655f6e756d5f7065725f63616e64696461746520010c75333200016c76616c69646174696f6e5f757067726164655f636f6f6c646f776e20012c426c6f636b4e756d62657200016076616c69646174696f6e5f757067726164655f64656c617920012c426c6f636b4e756d6265720000b507089463756d756c75735f7072696d6974697665735f70617261636861696e5f696e686572656e74444d6573736167655175657565436861696e0000040030012452656c6179486173680000b907042042547265654d617008044b011d02045601b507000400bd07000000bd07000002c10700c107000004081d02b50700c507000002c90700c9070860706f6c6b61646f745f636f72655f7072696d6974697665734c4f7574626f756e6448726d704d65737361676504084964011d0200080124726563697069656e741d02010849640001106461746134015073705f7374643a3a7665633a3a5665633c75383e0000cd07087c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d60436f646555706772616465417574686f72697a6174696f6e0404540000080124636f64655f6861736830011c543a3a48617368000134636865636b5f76657273696f6eac0110626f6f6c0000d1070c7c63756d756c75735f70616c6c65745f70617261636861696e5f73797374656d1870616c6c6574144572726f720404540001204c4f7665726c617070696e6755706772616465730000041901417474656d707420746f20757067726164652076616c69646174696f6e2066756e6374696f6e207768696c65206578697374696e6720757067726164652070656e64696e672e5050726f686962697465644279506f6c6b61646f740001044d01506f6c6b61646f742063757272656e746c792070726f68696269747320746869732070617261636861696e2066726f6d20757067726164696e67206974732076616c69646174696f6e2066756e6374696f6e2e18546f6f426967000208450154686520737570706c6965642076616c69646174696f6e2066756e6374696f6e2068617320636f6d70696c656420696e746f206120626c6f62206c6172676572207468616e20506f6c6b61646f742069733c77696c6c696e6720746f2072756e2e6856616c69646174696f6e446174614e6f74417661696c61626c650003041d0154686520696e686572656e7420776869636820737570706c696573207468652076616c69646174696f6e206461746120646964206e6f742072756e207468697320626c6f636b2e74486f7374436f6e66696775726174696f6e4e6f74417661696c61626c65000404290154686520696e686572656e7420776869636820737570706c6965732074686520686f737420636f6e66696775726174696f6e20646964206e6f742072756e207468697320626c6f636b2e304e6f745363686564756c6564000504d84e6f2076616c69646174696f6e2066756e6374696f6e20757067726164652069732063757272656e746c79207363686564756c65642e444e6f7468696e67417574686f72697a6564000604904e6f20636f6465207570677261646520686173206265656e20617574686f72697a65642e30556e617574686f72697a6564000704bc54686520676976656e20636f6465207570677261646520686173206e6f74206265656e20617574686f72697a65642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ed507000002d90700d907086463756d756c75735f70616c6c65745f78636d705f717565756554496e626f756e644368616e6e656c44657461696c7300000c011873656e6465721d0201185061726149640001147374617465dd070130496e626f756e6453746174650001406d6573736167655f6d65746164617461e10701a85665633c2852656c6179426c6f636b4e756d6265722c2058636d704d657373616765466f726d6174293e0000dd07086463756d756c75735f70616c6c65745f78636d705f717565756530496e626f756e645374617465000108084f6b0000002453757370656e64656400010000e107000002e50700e5070000040820e90700e9070c48706f6c6b61646f745f70617261636861696e287072696d6974697665734458636d704d657373616765466f726d617400010c60436f6e636174656e6174656456657273696f6e656458636d0000005c436f6e636174656e61746564456e636f646564426c6f620001001c5369676e616c7300020000ed07000004081d022000f107000002f50700f507086463756d756c75735f70616c6c65745f78636d705f7175657565584f7574626f756e644368616e6e656c44657461696c730000140124726563697069656e741d0201185061726149640001147374617465f90701344f7574626f756e6453746174650001347369676e616c735f6578697374ac0110626f6f6c00012c66697273745f696e646578e0010c7531360001286c6173745f696e646578e0010c7531360000f907086463756d756c75735f70616c6c65745f78636d705f7175657565344f7574626f756e645374617465000108084f6b0000002453757370656e64656400010000fd07000004081d02e0000108086463756d756c75735f70616c6c65745f78636d705f71756575653c5175657565436f6e66696744617461000018014473757370656e645f7468726573686f6c6420010c75333200013864726f705f7468726573686f6c6420010c753332000140726573756d655f7468726573686f6c6420010c7533320001407468726573686f6c645f7765696768742801185765696768740001547765696768745f72657374726963745f646563617928011857656967687400016878636d705f6d61785f696e646976696475616c5f776569676874280118576569676874000005080000040c1d0220340009080c6463756d756c75735f70616c6c65745f78636d705f71756575651870616c6c6574144572726f72040454000114304661696c6564546f53656e640000046c4661696c656420746f2073656e642058434d206d6573736167652e3042616458636d4f726967696e0001043c4261642058434d206f726967696e2e1842616458636d000204344261642058434d20646174612e484261644f766572776569676874496e64657800030454426164206f76657277656967687420696e6465782e3c5765696768744f7665724c696d6974000404f850726f76696465642077656967687420697320706f737369626c79206e6f7420656e6f75676820746f206578656375746520746865206d6573736167652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e0d080c2870616c6c65745f78636d1870616c6c65742c5175657279537461747573042c426c6f636b4e756d6265720110010c1c50656e64696e67100124726573706f6e646572f102015856657273696f6e65644d756c74694c6f636174696f6e00014c6d617962655f6d617463685f71756572696572110801784f7074696f6e3c56657273696f6e65644d756c74694c6f636174696f6e3e0001306d617962655f6e6f74696679150801404f7074696f6e3c2875382c207538293e00011c74696d656f757410012c426c6f636b4e756d6265720000003c56657273696f6e4e6f7469666965720801186f726967696ef102015856657273696f6e65644d756c74694c6f636174696f6e00012469735f616374697665ac0110626f6f6c000100145265616479080120726573706f6e73651d08014456657273696f6e6564526573706f6e7365000108617410012c426c6f636b4e756d62657200020000110804184f7074696f6e04045401f1020108104e6f6e6500000010536f6d650400f1020000010000150804184f7074696f6e0404540119080108104e6f6e6500000010536f6d650400190800000100001908000004080808001d08080c78636d4456657273696f6e6564526573706f6e73650001080856320400c905013076323a3a526573706f6e736500020008563304007502013076333a3a526573706f6e73650003000021080000040820f1020025080000040c1028200029080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454012d08045300000400310801185665633c543e00002d0800000408f102200031080000022d080035080c2870616c6c65745f78636d1870616c6c65745456657273696f6e4d6967726174696f6e53746167650001105c4d696772617465537570706f7274656456657273696f6e0000005c4d69677261746556657273696f6e4e6f74696669657273000100504e6f7469667943757272656e745461726765747304003908013c4f7074696f6e3c5665633c75383e3e000200684d696772617465416e644e6f746966794f6c645461726765747300030000390804184f7074696f6e04045401340108104e6f6e6500000010536f6d6504003400000100003d080000040c20004108004108080c78636d4056657273696f6e65644173736574496400010408563304006502012c76333a3a417373657449640003000045080c2870616c6c65745f78636d1870616c6c65746852656d6f74654c6f636b656446756e6769626c655265636f72640848436f6e73756d65724964656e74696669657201b4304d6178436f6e73756d6572730000100118616d6f756e74180110753132380001146f776e6572f102015856657273696f6e65644d756c74694c6f636174696f6e0001186c6f636b6572f102015856657273696f6e65644d756c74694c6f636174696f6e000124636f6e73756d657273490801d0426f756e6465645665633c28436f6e73756d65724964656e7469666965722c2075313238292c204d6178436f6e73756d6572733e000049080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454014d08045300000400510801185665633c543e00004d0800000408b4180051080000024d080055080c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540159080453000004005d0801185665633c543e000059080000040818f102005d0800000259080061080c2870616c6c65745f78636d1870616c6c6574144572726f720404540001502c556e726561636861626c650000085d0154686520646573697265642064657374696e6174696f6e2077617320756e726561636861626c652c2067656e6572616c6c7920626563617573652074686572652069732061206e6f20776179206f6620726f7574696e6718746f2069742e2c53656e644661696c757265000108610154686572652077617320736f6d65206f746865722069737375652028692e652e206e6f7420746f20646f207769746820726f7574696e672920696e2073656e64696e6720746865206d6573736167652e2050657268617073a861206c61636b206f6620737061636520666f7220627566666572696e6720746865206d6573736167652e2046696c74657265640002049c546865206d65737361676520657865637574696f6e206661696c73207468652066696c7465722e48556e776569676861626c654d657373616765000304b4546865206d65737361676527732077656967687420636f756c64206e6f742062652064657465726d696e65642e6044657374696e6174696f6e4e6f74496e7665727469626c65000404f05468652064657374696e6174696f6e20604d756c74694c6f636174696f6e602070726f76696465642063616e6e6f7420626520696e7665727465642e14456d707479000504805468652061737365747320746f2062652073656e742061726520656d7074792e3843616e6e6f745265616e63686f720006043501436f756c64206e6f742072652d616e63686f72207468652061737365747320746f206465636c61726520746865206665657320666f72207468652064657374696e6174696f6e20636861696e2e34546f6f4d616e79417373657473000704c4546f6f206d616e79206173736574732068617665206265656e20617474656d7074656420666f72207472616e736665722e34496e76616c69644f726967696e000804784f726967696e20697320696e76616c696420666f722073656e64696e672e2842616456657273696f6e00090421015468652076657273696f6e206f6620746865206056657273696f6e6564602076616c75652075736564206973206e6f742061626c6520746f20626520696e7465727072657465642e2c4261644c6f636174696f6e000a08410154686520676976656e206c6f636174696f6e20636f756c64206e6f7420626520757365642028652e672e20626563617573652069742063616e6e6f742062652065787072657373656420696e2074686560646573697265642076657273696f6e206f662058434d292e384e6f537562736372697074696f6e000b04bc546865207265666572656e63656420737562736372697074696f6e20636f756c64206e6f7420626520666f756e642e44416c726561647953756273637269626564000c041101546865206c6f636174696f6e20697320696e76616c69642073696e636520697420616c726561647920686173206120737562736372697074696f6e2066726f6d2075732e30496e76616c69644173736574000d0480496e76616c696420617373657420666f7220746865206f7065726174696f6e2e284c6f7742616c616e6365000e044101546865206f776e657220646f6573206e6f74206f776e2028616c6c29206f662074686520617373657420746861742074686579207769736820746f20646f20746865206f7065726174696f6e206f6e2e30546f6f4d616e794c6f636b73000f04c0546865206173736574206f776e65722068617320746f6f206d616e79206c6f636b73206f6e207468652061737365742e4c4163636f756e744e6f74536f7665726569676e001004310154686520676976656e206163636f756e74206973206e6f7420616e206964656e7469666961626c6520736f7665726569676e206163636f756e7420666f7220616e79206c6f636174696f6e2e28466565734e6f744d65740011042901546865206f7065726174696f6e207265717569726564206665657320746f20626520706169642077686963682074686520696e69746961746f7220636f756c64206e6f74206d6565742e304c6f636b4e6f74466f756e64001204f4412072656d6f7465206c6f636b20776974682074686520636f72726573706f6e64696e67206461746120636f756c64206e6f7420626520666f756e642e14496e557365001304490154686520756e6c6f636b206f7065726174696f6e2063616e6e6f742073756363656564206265636175736520746865726520617265207374696c6c20636f6e73756d657273206f6620746865206c6f636b2e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e65080c4863756d756c75735f70616c6c65745f78636d1870616c6c6574144572726f72040454000100048054686520604572726f726020656e756d206f6620746869732070616c6c65742e6908086063756d756c75735f70616c6c65745f646d705f717565756528436f6e6669674461746100000401386d61785f696e646976696475616c28011857656967687400006d08086063756d756c75735f70616c6c65745f646d705f71756575653450616765496e6465784461746100000c0128626567696e5f7573656420012c50616765436f756e746572000120656e645f7573656420012c50616765436f756e7465720001406f7665727765696768745f636f756e7410013c4f766572776569676874496e6465780000710800000275080075080000040820340079080c6063756d756c75735f70616c6c65745f646d705f71756575651870616c6c6574144572726f720404540001081c556e6b6e6f776e0000048c546865206d65737361676520696e64657820676976656e20697320756e6b6e6f776e2e244f7665724c696d6974000104310154686520616d6f756e74206f662077656967687420676976656e20697320706f737369626c79206e6f7420656e6f75676820666f7220657865637574696e6720746865206d6573736167652e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e7d08102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c416464726573730159031043616c6c014104245369676e6174757265014d0514457874726101810800040034000000810800000420850889088d08910895089d08a108a50800850810306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e64657204045400000000890810306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e040454000000008d0810306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e04045400000000910810306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000950810306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c697479040454000004009908010c45726100009908102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff00009d0810306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e6365040454000004002c0120543a3a4e6f6e63650000a10810306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b57656967687404045400000000a508086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e74040454000004004102013042616c616e63654f663c543e0000a01853797374656d011853797374656d401c4163636f756e7401010402000c510100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e74000020040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010024180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e000020040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b486173680101040510308000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101040520340400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d626572010010200000000000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801003080000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010038040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004804001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e74010020100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f70696373010104023001030400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e005901205468652076616c756520686173207468652074797065206028426c6f636b4e756d626572466f723c543e2c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000050304000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100ac0400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100ac0400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e50686173650000fd02040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e010d0301541830426c6f636b576569676874731d036d01025b1f5d00070088526a7402004001c2a0a91d000107d00918a44b0200d000010700e6bd4f570200f000010000c2a0a91d000107d0abacbe680200200101070088526a7402004001010700a2941a1d02005000c2a0a91d0000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e6774682d033000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e7410206009000000000000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e204462576569676874350340089d26020000000000dce704000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6e39039103386b696c742d7370697269746e6574386b696c742d7370697269746e657401000000242c0000000000003cdf6acb689907609b0400000037e397fc7c91f5e402000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab5270590300000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000dd718d5cc53262d401000000ea93e3f16f3d69620200000026609555c065660302000000a47b7d544994c99b0100000045bfba51a310b22301000000c3b3e8d33273990d0100000008000000000484204765742074686520636861696e27732063757272656e742076657273696f6e2e2853533538507265666978e008260014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e014903002454696d657374616d70012454696d657374616d70080c4e6f7701001020000000000000000004902043757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100ac040004b420446964207468652074696d657374616d7020676574207570646174656420696e207468697320626c6f636b3f014d030004344d696e696d756d506572696f6410207017000000000000104d0120546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e204265776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a5d0120706572696f6420746861742074686520626c6f636b2070726f64756374696f6e206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c5d012067656e6572616c6c7920776f726b2077697468207468697320746f2064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20652e672e20466f7220417572612c2069742077696c6c206265a020646f75626c65207468697320706572696f64206f6e2064656661756c742073657474696e67732e00021c496e6469636573011c496e646963657304204163636f756e7473000104021051030400048820546865206c6f6f6b75702066726f6d20696e64657820746f206163636f756e742e0155030178041c4465706f736974184000b47cf328350000000000000000000004ac20546865206465706f736974206e656564656420666f7220726573657276696e6720616e20696e6465782e016103052042616c616e636573012042616c616e6365731c34546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b7301010402006503040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20526573657276657301010402007503040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e14486f6c6473010104020081030400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a657301010402008d030400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e01a103017c14484578697374656e7469616c4465706f736974184000a0724e18090000000000000000000020410120546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d5553542042452047524541544552205448414e205a45524f2100590120496620796f75202a7265616c6c792a206e65656420697420746f206265207a65726f2c20796f752063616e20656e61626c652074686520666561747572652060696e7365637572655f7a65726f5f65646020666f72610120746869732070616c6c65742e20486f77657665722c20796f7520646f20736f20617420796f7572206f776e207269736b3a20746869732077696c6c206f70656e2075702061206d616a6f7220446f5320766563746f722e590120496e206361736520796f752068617665206d756c7469706c6520736f7572636573206f662070726f7669646572207265666572656e6365732c20796f75206d617920616c736f2067657420756e65787065637465648c206265686176696f757220696620796f7520736574207468697320746f207a65726f2e00f020426f74746f6d206c696e653a20446f20796f757273656c662061206661766f757220616e64206d616b65206974206174206c65617374206f6e6521204d61784c6f636b7320103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d61785265736572766573201032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e204d6178486f6c647320103200000004190120546865206d6178696d756d206e756d626572206f6620686f6c647320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e284d6178467265657a657320103200000004610120546865206d6178696d756d206e756d626572206f6620696e646976696475616c20667265657a65206c6f636b7320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e01a50306485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100a90340000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100ad0304000000018404604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e00071041757261011041757261082c417574686f7269746965730100b1030400046c205468652063757272656e7420617574686f72697479207365742e2c43757272656e74536c6f740100c1032000000000000000000c80205468652063757272656e7420736c6f74206f66207468697320626c6f636b2e009420546869732077696c6c2062652073657420696e20606f6e5f696e697469616c697a65602e00000000171c53657373696f6e011c53657373696f6e1c2856616c696461746f72730100b9010400047c205468652063757272656e7420736574206f662076616c696461746f72732e3043757272656e74496e646578010020100000000004782043757272656e7420696e646578206f66207468652073657373696f6e2e345175657565644368616e6765640100ac040008390120547275652069662074686520756e6465726c79696e672065636f6e6f6d6963206964656e746974696573206f7220776569676874696e6720626568696e64207468652076616c696461746f7273a420686173206368616e67656420696e20746865207175657565642076616c696461746f72207365742e285175657565644b6579730100c5030400083d012054686520717565756564206b65797320666f7220746865206e6578742073657373696f6e2e205768656e20746865206e6578742073657373696f6e20626567696e732c207468657365206b657973e02077696c6c206265207573656420746f2064657465726d696e65207468652076616c696461746f7227732073657373696f6e206b6579732e4844697361626c656456616c696461746f72730100d1030400148020496e6469636573206f662064697361626c65642076616c696461746f72732e003d01205468652076656320697320616c77617973206b65707420736f7274656420736f20746861742077652063616e2066696e642077686574686572206120676976656e2076616c696461746f722069733d012064697361626c6564207573696e672062696e617279207365617263682e204974206765747320636c6561726564207768656e20606f6e5f73657373696f6e5f656e64696e67602072657475726e73642061206e657720736574206f66206964656e7469746965732e204e6578744b6579730001040500cd030400049c20546865206e6578742073657373696f6e206b65797320666f7220612076616c696461746f722e204b65794f776e657200010405d50300040004090120546865206f776e6572206f662061206b65792e20546865206b65792069732074686520604b657954797065496460202b2074686520656e636f646564206b65792e01dd0301880001e103164050617261636861696e5374616b696e67014050617261636861696e5374616b696e6740544d617853656c656374656443616e64696461746573010020100000000004090120546865206d6178696d756d206e756d626572206f6620636f6c6c61746f722063616e646964617465732073656c6563746564206174206561636820726f756e642e14526f756e640100e50350000000000000000000000000140000000000000004e82043757272656e7420726f756e64206e756d62657220616e64206e65787420726f756e64207363686564756c6564207472616e736974696f6e2e384c61737444656c65676174696f6e0101040500e903200000000000000000140d012044656c65676174696f6e20696e666f726d6174696f6e20666f7220746865206c61746573742073657373696f6e20696e20776869636820612064656c656761746f722c2064656c6567617465642e000501204974206d6170732066726f6d20616e206163636f756e7420746f20746865206e756d626572206f662064656c65676174696f6e7320696e20746865206c617374982073657373696f6e20696e2077686963682074686579202872652d2964656c6567617465642e3844656c656761746f7253746174650001040500ed0304000c802044656c65676174696f6e207374616b696e6720696e666f726d6174696f6e2e00cc204974206d6170732066726f6d20616e206163636f756e7420746f206974732064656c65676174696f6e2064657461696c732e3443616e646964617465506f6f6c0001040500f103040010a420546865207374616b696e6720696e666f726d6174696f6e20666f7220612063616e6469646174652e00b0204974206d6170732066726f6d20616e206163636f756e7420746f2069747320696e666f726d6174696f6e2eb8204d6f72656f7665722c20697420636f756e747320746865206e756d626572206f662063616e646964617465732e5c436f756e746572466f7243616e646964617465506f6f6c010020100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617048546f74616c436f6c6c61746f725374616b650100050480000000000000000000000000000000000000000000000000000000000000000014f420546f74616c2066756e6473206c6f636b656420746f206261636b207468652063757272656e746c792073656c656374656420636f6c6c61746f72732ed0205468652073756d206f6620616c6c20636f6c6c61746f7220616e642074686569722064656c656761746f72207374616b65732e002101204e6f74653a20546865726520617265206d6f72652066756e6473206c6f636b656420627920746869732070616c6c65742c2073696e636520746865206261636b696e6720666f720901206e6f6e20636f6c6c6174696e672063616e64696461746573206973206e6f7420696e636c7564656420696e2060546f74616c436f6c6c61746f725374616b65602e34546f7043616e6469646174657301000904040028e82054686520636f6c6c61746f722063616e64696461746573207769746820746865206869676865737420616d6f756e74206f66207374616b652e00190120456163682074696d6520746865207374616b65206f66206120636f6c6c61746f7220697320696e637265617365642c20697420697320636865636b65642077686574686572050120746869732070757368657320616e6f746865722063616e646964617465206f7574206f6620746865206c6973742e205768656e20746865207374616b652069732101207265647563656420686f77657665722c206974206973206e6f7420636865636b656420696620616e6f746865722063616e64696461746520686173206d6f7265207374616b652c11012073696e6365207468697320776f756c64207265717569726520697465726174696e67206f7665722074686520656e74697265206043616e646964617465506f6f6c602e001501205468657265206d75737420616c77617973206265206d6f72652063616e64696461746573207468616e20604d617853656c656374656443616e646964617465736020736f0d012074686174206120636f6c6c61746f722063616e2064726f70206f7574206f662074686520636f6c6c61746f7220736574206279207265647563696e672074686569721c207374616b652e3c496e666c6174696f6e436f6e66696701001104c0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000046420496e666c6174696f6e20636f6e66696775726174696f6e2e24556e7374616b696e6701010405001d0404001088205468652066756e64732077616974696e6720746f20626520756e7374616b65642e001d01204974206d6170732066726f6d206163636f756e747320746f20616c6c207468652066756e64732061646472657373656420746f207468656d20696e20746865206675747572652020626c6f636b732e644d6178436f6c6c61746f7243616e6469646174655374616b65010018400000000000000000000000000000000004cc20546865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e6469646174652063616e207374616b652e4c4c617374526577617264526564756374696f6e010010200000000000000000140d0120546865207965617220696e20776869636820746865206c617374206175746f6d6174696320726564756374696f6e206f66207468652072657761726420726174657328206f636375727265642e00250120497420737461727473206174207a65726f2061742067656e6573697320616e6420696e6372656d656e7473206279206f6e6520657665727920424c4f434b535f5045525f5945415234206d616e7920626c6f636b732e38426c6f636b73417574686f726564010104050010200000000000000000080d0120546865206e756d626572206f6620617574686f72656420626c6f636b7320666f7220636f6c6c61746f72732e20497420697320757064617465642076696120746865b020606e6f74655f617574686f726020686f6f6b207768656e20617574686f72696e67206120626c6f636b202e38426c6f636b73526577617264656401010405001020000000000000000024210120546865206e756d626572206f6620626c6f636b7320666f7220776869636820726577617264732068617665206265656e20636c61696d656420627920616e20616464726573732e00190120466f7220636f6c6c61746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f7265642e2049742069732075706461746564207768656ecc20696e6372656d656e74696e6720636f6c6c61746f7220726577617264732c20656974686572207768656e2063616c6c696e67e02060696e635f636f6c6c61746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e00250120466f722064656c656761746f72732c20746869732063616e206265206174206d6f737420426c6f636b73417574686f726564206f662074686520636f6c6c61746f722e497420697305012075706461746564207768656e20696e6372656d656e74696e672064656c656761746f7220726577617264732c20656974686572207768656e2063616c6c696e67e42060696e635f64656c656761746f725f7265776172647360206f72207570646174696e67207468652060496e666c6174696f6e496e666f602e1c5265776172647301010405001840000000000000000000000000000000000c01012054686520616363756d756c61746564207265776172647320666f7220636f6c6c61746f722063616e6469646174657320616e642064656c656761746f72732e001101204974206d6170732066726f6d206163636f756e747320746f20746865697220746f74616c20726577617264732073696e636520746865206c617374207061796f75742e34466f7263654e6577526f756e640100ac040000012d04018c3c444d696e426c6f636b73506572526f756e6410202c0100000000000004d4204d696e696d756d206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e64732063616e206c6173742e5444656661756c74426c6f636b73506572526f756e641020580200000000000008fc2044656661756c74206e756d626572206f6620626c6f636b732076616c69646174696f6e20726f756e6473206c6173742c2061732073657420696e207468655c2067656e6573697320636f6e66696775726174696f6e2e345374616b654475726174696f6e1020e0c40000000000000c0501204e756d626572206f6620626c6f636b7320666f7220776869636820756e7374616b65642062616c616e63652077696c6c207374696c6c206265206c6f636b6564f0206265666f72652069742063616e20626520756e6c6f636b6564206279206163746976656c792063616c6c696e67207468652065787472696e7369634c2060756e6c6f636b5f756e7374616b6564602e3845786974517565756544656c6179201002000000080901204e756d626572206f6620726f756e6473206120636f6c6c61746f722068617320746f207374617920616374697665206166746572207375626d697474696e672061c4207265717565737420746f206c656176652074686520736574206f6620636f6c6c61746f722063616e646964617465732e304d696e436f6c6c61746f7273201010000000080d01204d696e696d756d206e756d626572206f6620636f6c6c61746f72732073656c65637465642066726f6d2074686520736574206f662063616e64696461746573206174602065766572792076616c69646174696f6e20726f756e642e504d696e5265717569726564436f6c6c61746f7273201004000000081101204d696e696d756d206e756d626572206f6620636f6c6c61746f72732077686963682063616e6e6f74206c6561766520746865206e6574776f726b2069662074686572653c20617265206e6f206f74686572732e584d617844656c65676174696f6e73506572526f756e64201001000000140101204d6178696d756d206e756d626572206f662064656c65676174696f6e732077686963682063616e206265206d6164652077697468696e207468652073616d651c20726f756e642e000d01204e4f54453a20546f2070726576656e742072652d64656c65676174696f6e2d7265776172642061747461636b732c2077652073686f756c64206b65657020746869732c20746f206265206f6e652e604d617844656c656761746f7273506572436f6c6c61746f7220102300000004e4204d6178696d756d206e756d626572206f662064656c656761746f727320612073696e676c6520636f6c6c61746f722063616e20686176652e404d6178546f7043616e6469646174657320104b00000004a0204d6178696d756d2073697a65206f662074686520746f702063616e64696461746573207365742e404d696e436f6c6c61746f725374616b6518400000e8890423c78a0000000000000000080901204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520656c65637465642061732076616c696461746f723420666f72206120726f756e642e644d696e436f6c6c61746f7243616e6469646174655374616b6518400000e8890423c78a0000000000000000080501204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f20626520616464656420746f2074686520736574206f66302063616e646964617465732e444d696e44656c656761746f725374616b651840000082dfe40d4700000000000000000004f8204d696e696d756d207374616b6520726571756972656420666f7220616e79206163636f756e7420746f206265636f6d6520612064656c656761746f722e484d6178556e7374616b65526571756573747320100a00000028e8204d6178206e756d626572206f6620636f6e63757272656e742061637469766520756e7374616b696e67207265717565737473206265666f72652c20756e6c6f636b696e672e001501204e4f54453a20546f2070726f7465637420616761696e737420697272656d6f766162696c697479206f6620612063616e646964617465206f722064656c656761746f722cf4207765206f6e6c7920616c6c6f7720666f72204d6178556e7374616b655265717565737473202d2031206d616e79206d616e75616c20756e7374616b6501012072657175657374732e20546865206c617374206f6e6520736572766573206173206120706c616365686f6c64657220666f7220746865206361736573206f66f02063616c6c696e672065697468657220606b69636b5f64656c656761746f72602c20666f7263655f72656d6f76655f63616e64696461746560206f7209012060657865637574655f6c656176655f63616e64696461746573602e204f74686572776973652c2061207573657220636f756c64206d6178206f75742074686569720d0120756e7374616b6520726571756573747320616e642070726576656e74207468656d73656c7665732066726f6d206265696e67206b69636b65642066726f6d20746865f020736574206f662063616e646964617465732f64656c656761746f727320756e74696c207468657920756e6c6f636b2074686569722066756e64732e484e6574776f726b5265776172645374617274102048a3c800000000000c110120546865207374617274696e6720626c6f636b206e756d62657220666f7220746865206e6574776f726b20726577617264732e204f6e6365207468652063757272656e74090120626c6f636b206e756d626572206578636565647320746869732073746172742c207468652062656e65666963696172792077696c6c2072656365697665207468658420636f6e666967757265642072657761726420696e206561636820626c6f636b2e444e6574776f726b52657761726452617465902000008a5d784563010c0d0120546865207261746520696e2070657263656e7420666f7220746865206e6574776f726b207265776172647320776869636820617265206261736564206f6e207468650901206d6178696d756d206e756d626572206f6620636f6c6c61746f727320616e6420746865206d6178696d756d20616d6f756e74206120636f6c6c61746f722063616e1c207374616b652e0131041528417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e00000000141c41757261457874011c41757261457874042c417574686f7269746965730100b103040014942053657276657320617320636163686520666f722074686520617574686f7269746965732e0071012054686520617574686f72697469657320696e204175526120617265206f7665727772697474656e20696e20606f6e5f696e697469616c697a6560207768656e2077652073776974636820746f2061206e65772073657373696f6e2c790120627574207765207265717569726520746865206f6c6420617574686f72697469657320746f2076657269667920746865207365616c207768656e2076616c69646174696e67206120506f562e20546869732077696c6c20616c77617973f0206265207570646174656420746f20746865206c6174657374204175526120617574686f72697469657320696e20606f6e5f66696e616c697a65602e00000000182444656d6f6372616379012444656d6f6372616379303c5075626c696350726f70436f756e74010020100000000004f420546865206e756d626572206f6620287075626c6963292070726f706f73616c7320746861742068617665206265656e206d61646520736f206661722e2c5075626c696350726f707301003504040004050120546865207075626c69632070726f706f73616c732e20556e736f727465642e20546865207365636f6e64206974656d206973207468652070726f706f73616c2e244465706f7369744f660001040520110604000c842054686f73652077686f2068617665206c6f636b65642061206465706f7369742e00d82054574f582d4e4f54453a20536166652c20617320696e6372656173696e6720696e7465676572206b6579732061726520736166652e3c5265666572656e64756d436f756e74010020100000000004310120546865206e6578742066726565207265666572656e64756d20696e6465782c20616b6120746865206e756d626572206f66207265666572656e6461207374617274656420736f206661722e344c6f77657374556e62616b6564010020100000000008250120546865206c6f77657374207265666572656e64756d20696e64657820726570726573656e74696e6720616e20756e62616b6564207265666572656e64756d2e20457175616c20746fdc20605265666572656e64756d436f756e74602069662074686572652069736e2774206120756e62616b6564207265666572656e64756d2e405265666572656e64756d496e666f4f660001040520190604000cb420496e666f726d6174696f6e20636f6e6365726e696e6720616e7920676976656e207265666572656e64756d2e0009012054574f582d4e4f54453a205341464520617320696e646578657320617265206e6f7420756e64657220616e2061747461636b6572e280997320636f6e74726f6c2e20566f74696e674f6601010405002506e800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000105d0120416c6c20766f74657320666f72206120706172746963756c617220766f7465722e2057652073746f7265207468652062616c616e636520666f7220746865206e756d626572206f6620766f74657320746861742077655d012068617665207265636f726465642e20546865207365636f6e64206974656d2069732074686520746f74616c20616d6f756e74206f662064656c65676174696f6e732c20746861742077696c6c2062652061646465642e00e82054574f582d4e4f54453a205341464520617320604163636f756e7449646073206172652063727970746f2068617368657320616e797761792e544c6173745461626c656457617345787465726e616c0100ac0400085901205472756520696620746865206c617374207265666572656e64756d207461626c656420776173207375626d69747465642065787465726e616c6c792e2046616c7365206966206974207761732061207075626c6963282070726f706f73616c2e304e65787445787465726e616c00003d06040010590120546865207265666572656e64756d20746f206265207461626c6564207768656e6576657220697420776f756c642062652076616c696420746f207461626c6520616e2065787465726e616c2070726f706f73616c2e550120546869732068617070656e73207768656e2061207265666572656e64756d206e6565647320746f206265207461626c656420616e64206f6e65206f662074776f20636f6e646974696f6e7320617265206d65743aa4202d20604c6173745461626c656457617345787465726e616c60206973206066616c7365603b206f7268202d20605075626c696350726f70736020697320656d7074792e24426c61636b6c6973740001040630410604000851012041207265636f7264206f662077686f207665746f656420776861742e204d6170732070726f706f73616c206861736820746f206120706f737369626c65206578697374656e7420626c6f636b206e756d626572e82028756e74696c207768656e206974206d6179206e6f742062652072657375626d69747465642920616e642077686f207665746f65642069742e3443616e63656c6c6174696f6e730101040630ac0400042901205265636f7264206f6620616c6c2070726f706f73616c7320746861742068617665206265656e207375626a65637420746f20656d657267656e63792063616e63656c6c6174696f6e2e284d657461646174614f6600010402a430040018ec2047656e6572616c20696e666f726d6174696f6e20636f6e6365726e696e6720616e792070726f706f73616c206f72207265666572656e64756d2e6901205468652060507265696d61676548617368602072656665727320746f2074686520707265696d616765206f66207468652060507265696d61676573602070726f76696465722077686963682063616e2062652061204a534f4e882064756d70206f7220495046532068617368206f662061204a534f4e2066696c652e00750120436f6e73696465722061206761726261676520636f6c6c656374696f6e20666f722061206d65746164617461206f662066696e6973686564207265666572656e64756d7320746f2060756e7265717565737460202872656d6f76652944206c6172676520707265696d616765732e0145040194303c456e6163746d656e74506572696f641020201c00000000000014e82054686520706572696f64206265747765656e20612070726f706f73616c206265696e6720617070726f76656420616e6420656e61637465642e0031012049742073686f756c642067656e6572616c6c792062652061206c6974746c65206d6f7265207468616e2074686520756e7374616b6520706572696f6420746f20656e737572652074686174510120766f74696e67207374616b657273206861766520616e206f70706f7274756e69747920746f2072656d6f7665207468656d73656c7665732066726f6d207468652073797374656d20696e207468652063617365b4207768657265207468657920617265206f6e20746865206c6f73696e672073696465206f66206120766f74652e304c61756e6368506572696f641020e0c400000000000004e420486f77206f6674656e2028696e20626c6f636b7329206e6577207075626c6963207265666572656e646120617265206c61756e636865642e30566f74696e67506572696f641020e0c400000000000004b820486f77206f6674656e2028696e20626c6f636b732920746f20636865636b20666f72206e657720766f7465732e44566f74654c6f636b696e67506572696f641020e0c4000000000000109020546865206d696e696d756d20706572696f64206f6620766f7465206c6f636b696e672e0065012049742073686f756c64206265206e6f2073686f72746572207468616e20656e6163746d656e7420706572696f6420746f20656e73757265207468617420696e207468652063617365206f6620616e20617070726f76616c2c49012074686f7365207375636365737366756c20766f7465727320617265206c6f636b656420696e746f2074686520636f6e73657175656e636573207468617420746865697220766f74657320656e7461696c2e384d696e696d756d4465706f73697418400080c6a47e8d0300000000000000000004350120546865206d696e696d756d20616d6f756e7420746f20626520757365642061732061206465706f73697420666f722061207075626c6963207265666572656e64756d2070726f706f73616c2e38496e7374616e74416c6c6f776564ac04010c550120496e64696361746f7220666f72207768657468657220616e20656d657267656e6379206f726967696e206973206576656e20616c6c6f77656420746f2068617070656e2e20536f6d6520636861696e73206d617961012077616e7420746f207365742074686973207065726d616e656e746c7920746f206066616c7365602c206f7468657273206d61792077616e7420746f20636f6e646974696f6e206974206f6e207468696e67732073756368a020617320616e207570677261646520686176696e672068617070656e656420726563656e746c792e5446617374547261636b566f74696e67506572696f641020840300000000000004ec204d696e696d756d20766f74696e6720706572696f6420616c6c6f77656420666f72206120666173742d747261636b207265666572656e64756d2e34436f6f6c6f6666506572696f641020e0c400000000000004610120506572696f6420696e20626c6f636b7320776865726520616e2065787465726e616c2070726f706f73616c206d6179206e6f742062652072652d7375626d6974746564206166746572206265696e67207665746f65642e204d6178566f74657320106400000010b020546865206d6178696d756d206e756d626572206f6620766f74657320666f7220616e206163636f756e742e00d420416c736f207573656420746f20636f6d70757465207765696768742c20616e206f7665726c79206269672076616c75652063616e1501206c65616420746f2065787472696e7369632077697468207665727920626967207765696768743a20736565206064656c65676174656020666f7220696e7374616e63652e304d617850726f706f73616c73201064000000040d0120546865206d6178696d756d206e756d626572206f66207075626c69632070726f706f73616c7320746861742063616e20657869737420617420616e792074696d652e2c4d61784465706f73697473201064000000041d0120546865206d6178696d756d206e756d626572206f66206465706f736974732061207075626c69632070726f706f73616c206d6179206861766520617420616e792074696d652e384d6178426c61636b6c697374656420106400000004d820546865206d6178696d756d206e756d626572206f66206974656d732077686963682063616e20626520626c61636b6c69737465642e0145061e1c436f756e63696c011c436f756e63696c182450726f706f73616c7301004906040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f6600010406304104040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700010406304d06040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e74010020100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100b9010400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e01550401a804444d617850726f706f73616c576569676874282807004429353a0200a00004250120546865206d6178696d756d20776569676874206f6620612064697370617463682063616c6c20746861742063616e2062652070726f706f73656420616e642065786563757465642e0151061f48546563686e6963616c436f6d6d69747465650148546563686e6963616c436f6d6d6974746565182450726f706f73616c7301005506040004902054686520686173686573206f6620746865206163746976652070726f706f73616c732e2850726f706f73616c4f6600010406304104040004cc2041637475616c2070726f706f73616c20666f72206120676976656e20686173682c20696620697427732063757272656e742e18566f74696e6700010406304d06040004b420566f746573206f6e206120676976656e2070726f706f73616c2c206966206974206973206f6e676f696e672e3450726f706f73616c436f756e74010020100000000004482050726f706f73616c7320736f206661722e1c4d656d626572730100b9010400043901205468652063757272656e74206d656d62657273206f662074686520636f6c6c6563746976652e20546869732069732073746f72656420736f7274656420286a7573742062792076616c7565292e145072696d65000000040004650120546865207072696d65206d656d62657220746861742068656c70732064657465726d696e65207468652064656661756c7420766f7465206265686176696f7220696e2063617365206f6620616273656e746174696f6e732e015d0401b804444d617850726f706f73616c576569676874282807004429353a0200a00004250120546865206d6178696d756d20776569676874206f6620612064697370617463682063616c6c20746861742063616e2062652070726f706f73656420616e642065786563757465642e015906204c546563686e6963616c4d656d62657273686970014c546563686e6963616c4d656d62657273686970081c4d656d6265727301005d06040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01610401bc000161062220547265617375727901205472656173757279103450726f706f73616c436f756e74010020100000000004a4204e756d626572206f662070726f706f73616c7320746861742068617665206265656e206d6164652e2450726f706f73616c73000104052065060400047c2050726f706f73616c7320746861742068617665206265656e206d6164652e2c4465616374697661746564010018400000000000000000000000000000000004f02054686520616d6f756e7420776869636820686173206265656e207265706f7274656420617320696e61637469766520746f2043757272656e63792e24417070726f76616c7301006906040004f82050726f706f73616c20696e646963657320746861742068617665206265656e20617070726f76656420627574206e6f742079657420617761726465642e01650401c01c3050726f706f73616c426f6e646d061050c30000085501204672616374696f6e206f6620612070726f706f73616c27732076616c756520746861742073686f756c6420626520626f6e64656420696e206f7264657220746f20706c616365207468652070726f706f73616c2e110120416e2061636365707465642070726f706f73616c2067657473207468657365206261636b2e20412072656a65637465642070726f706f73616c20646f6573206e6f742e4c50726f706f73616c426f6e644d696e696d756d1840000082dfe40d47000000000000000000044901204d696e696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e4c50726f706f73616c426f6e644d6178696d756d71060400044901204d6178696d756d20616d6f756e74206f662066756e647320746861742073686f756c6420626520706c6163656420696e2061206465706f73697420666f72206d616b696e6720612070726f706f73616c2e2c5370656e64506572696f641020c0a8000000000000048820506572696f64206265747765656e2073756363657373697665207370656e64732e104275726e6d0610000000000411012050657263656e74616765206f662073706172652066756e64732028696620616e7929207468617420617265206275726e7420706572207370656e6420706572696f642e2050616c6c657449647506206b696c742f7473790419012054686520747265617375727927732070616c6c65742069642c207573656420666f72206465726976696e672069747320736f7665726569676e206163636f756e742049442e304d6178417070726f76616c732010640000000c150120546865206d6178696d756d206e756d626572206f6620617070726f76616c7320746861742063616e207761697420696e20746865207370656e64696e672071756575652e004d01204e4f54453a205468697320706172616d6574657220697320616c736f20757365642077697468696e2074686520426f756e746965732050616c6c657420657874656e73696f6e20696620656e61626c65642e017906231c5574696c6974790001690401c4044c626174636865645f63616c6c735f6c696d69742010aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e017d06281c56657374696e67011c56657374696e67081c56657374696e6700010402008106040004d820496e666f726d6174696f6e20726567617264696e67207468652076657374696e67206f66206120676976656e206163636f756e742e3853746f7261676556657273696f6e0100890604000c7c2053746f726167652076657273696f6e206f66207468652070616c6c65742e003101204e6577206e6574776f726b732073746172742077697468206c61746573742076657273696f6e2c2061732064657465726d696e6564206279207468652067656e65736973206275696c642e01910401c808444d696e5665737465645472616e73666572184000407a10f35a0000000000000000000004e820546865206d696e696d756d20616d6f756e74207472616e7366657272656420746f2063616c6c20607665737465645f7472616e73666572602e4c4d617856657374696e675363686564756c657320101c00000000018d0629245363686564756c657201245363686564756c65720c3c496e636f6d706c65746553696e6365000010040000184167656e6461010104051091060400044d01204974656d7320746f2062652065786563757465642c20696e64657865642062792074686520626c6f636b206e756d626572207468617420746865792073686f756c64206265206578656375746564206f6e2e184c6f6f6b75700001040504d0040010f8204c6f6f6b75702066726f6d2061206e616d6520746f2074686520626c6f636b206e756d62657220616e6420696e646578206f6620746865207461736b2e00590120466f72207633202d3e207634207468652070726576696f75736c7920756e626f756e646564206964656e7469746965732061726520426c616b65322d3235362068617368656420746f20666f726d2074686520763430206964656e7469746965732e01990401cc08344d6178696d756d57656967687428280700a0db215d0200000104290120546865206d6178696d756d207765696768742074686174206d6179206265207363686564756c65642070657220626c6f636b20666f7220616e7920646973706174636861626c65732e504d61785363686564756c6564506572426c6f636b201032000000141d0120546865206d6178696d756d206e756d626572206f66207363686564756c65642063616c6c7320696e2074686520717565756520666f7220612073696e676c6520626c6f636b2e0018204e4f54453a5101202b20446570656e64656e742070616c6c657473272062656e63686d61726b73206d696768742072657175697265206120686967686572206c696d697420666f72207468652073657474696e672e205365742061c420686967686572206c696d697420756e646572206072756e74696d652d62656e63686d61726b736020666561747572652e01a1062a1450726f7879011450726f7879081c50726f786965730101040500a5064400000000000000000000000000000000000845012054686520736574206f66206163636f756e742070726f786965732e204d61707320746865206163636f756e74207768696368206861732064656c65676174656420746f20746865206163636f756e7473210120776869636820617265206265696e672064656c65676174656420746f2c20746f67657468657220776974682074686520616d6f756e742068656c64206f6e206465706f7369742e34416e6e6f756e63656d656e74730101040500b50644000000000000000000000000000000000004ac2054686520616e6e6f756e63656d656e7473206d616465206279207468652070726f787920286b6579292e01a10401d8184050726f78794465706f7369744261736518400020f7a54b330000000000000000000010110120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720612070726f78792e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069732501206073697a656f662842616c616e6365296020627974657320616e642077686f7365206b65792073697a65206973206073697a656f66284163636f756e74496429602062797465732e4850726f78794465706f736974466163746f72184000f4a92b80010000000000000000000014bc2054686520616d6f756e74206f662063757272656e6379206e6565646564207065722070726f78792061646465642e00350120546869732069732068656c6420666f7220616464696e6720333220627974657320706c757320616e20696e7374616e6365206f66206050726f78795479706560206d6f726520696e746f20616101207072652d6578697374696e672073746f726167652076616c75652e20546875732c207768656e20636f6e6669677572696e67206050726f78794465706f736974466163746f7260206f6e652073686f756c642074616b65f420696e746f206163636f756e7420603332202b2070726f78795f747970652e656e636f646528292e6c656e282960206279746573206f6620646174612e284d617850726f7869657320100a00000004f020546865206d6178696d756d20616d6f756e74206f662070726f7869657320616c6c6f77656420666f7220612073696e676c65206163636f756e742e284d617850656e64696e6720100a00000004450120546865206d6178696d756d20616d6f756e74206f662074696d652d64656c6179656420616e6e6f756e63656d656e747320746861742061726520616c6c6f77656420746f2062652070656e64696e672e5c416e6e6f756e63656d656e744465706f7369744261736518400020f7a54b330000000000000000000010310120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e6720616e20616e6e6f756e63656d656e742e00490120546869732069732068656c64207768656e2061206e65772073746f72616765206974656d20686f6c64696e672061206042616c616e636560206973206372656174656420287479706963616c6c7920313620206279746573292e64416e6e6f756e63656d656e744465706f736974466163746f72184000e8535700030000000000000000000010d42054686520616d6f756e74206f662063757272656e6379206e65656465642070657220616e6e6f756e63656d656e74206d6164652e00590120546869732069732068656c6420666f7220616464696e6720616e20604163636f756e744964602c2060486173686020616e642060426c6f636b4e756d6265726020287479706963616c6c79203638206279746573298c20696e746f2061207072652d6578697374696e672073746f726167652076616c75652e01c5062b20507265696d6167650120507265696d6167650824537461747573466f720001040630c9060400049020546865207265717565737420737461747573206f66206120676976656e20686173682e2c507265696d616765466f7200010406d506d90604000001a90401e40001dd062c38546970734d656d626572736869700138546970734d656d62657273686970081c4d656d626572730100e106040004c8205468652063757272656e74206d656d626572736869702c2073746f72656420617320616e206f726465726564205665632e145072696d65000000040004a4205468652063757272656e74207072696d65206d656d6265722c206966206f6e65206578697374732e01ad0401e80001e5062d10546970730110546970730810546970730001040530e90604000c650120546970734d6170207468617420617265206e6f742079657420636f6d706c657465642e204b65796564206279207468652068617368206f66206028726561736f6e2c2077686f29602066726f6d207468652076616c75652e3d012054686973206861732074686520696e73656375726520656e756d657261626c6520686173682066756e6374696f6e2073696e636520746865206b657920697473656c6620697320616c7265616479802067756172616e7465656420746f20626520612073656375726520686173682e1c526561736f6e7300010406303404000849012053696d706c6520707265696d616765206c6f6f6b75702066726f6d2074686520726561736f6e2773206861736820746f20746865206f726967696e616c20646174612e20416761696e2c2068617320616e610120696e73656375726520656e756d657261626c6520686173682073696e636520746865206b65792069732067756172616e7465656420746f2062652074686520726573756c74206f6620612073656375726520686173682e01b10401ec144c4d6178696d756d526561736f6e4c656e6774682010004000000c88204d6178696d756d2061636365707461626c6520726561736f6e206c656e6774682e0065012042656e63686d61726b7320646570656e64206f6e20746869732076616c75652c206265207375726520746f2075706461746520776569676874732066696c65207768656e206368616e67696e6720746869732076616c756548446174614465706f73697450657242797465184000743ba40b00000000000000000000000461012054686520616d6f756e742068656c64206f6e206465706f7369742070657220627974652077697468696e2074686520746970207265706f727420726561736f6e206f7220626f756e7479206465736372697074696f6e2e30546970436f756e74646f776e1020201c0000000000000445012054686520706572696f6420666f722077686963682061207469702072656d61696e73206f70656e20616674657220697320686173206163686965766564207468726573686f6c6420746970706572732e3454697046696e64657273466565f5060400043501205468652070657263656e74206f66207468652066696e616c2074697020776869636820676f657320746f20746865206f726967696e616c207265706f72746572206f6620746865207469702e505469705265706f72744465706f73697442617365184000f45628fa320000000000000000000004d42054686520616d6f756e742068656c64206f6e206465706f73697420666f7220706c6163696e67206120746970207265706f72742e01f9062e204d756c746973696701204d756c746973696704244d756c7469736967730001080502fd060107040004942054686520736574206f66206f70656e206d756c7469736967206f7065726174696f6e732e01b50401f00c2c4465706f73697442617365184000801b84ee320000000000000000000018590120546865206261736520616d6f756e74206f662063757272656e6379206e656564656420746f207265736572766520666f72206372656174696e672061206d756c746973696720657865637574696f6e206f7220746f842073746f726520612064697370617463682063616c6c20666f72206c617465722e00010120546869732069732068656c6420666f7220616e206164646974696f6e616c2073746f72616765206974656d2077686f73652076616c75652073697a652069733101206034202b2073697a656f662828426c6f636b4e756d6265722c2042616c616e63652c204163636f756e74496429296020627974657320616e642077686f7365206b65792073697a652069738020603332202b2073697a656f66284163636f756e74496429602062797465732e344465706f736974466163746f72184000743ba40b00000000000000000000000c55012054686520616d6f756e74206f662063757272656e6379206e65656465642070657220756e6974207468726573686f6c64207768656e206372656174696e672061206d756c746973696720657865637574696f6e2e00250120546869732069732068656c6420666f7220616464696e67203332206279746573206d6f726520696e746f2061207072652d6578697374696e672073746f726167652076616c75652e384d61785369676e61746f7269657320104000000004ec20546865206d6178696d756d20616d6f756e74206f66207369676e61746f7269657320616c6c6f77656420696e20746865206d756c74697369672e0109072f14437479706501144374797065041843747970657300010402300d0704001060204354797065732073746f726564206f6e20636861696e2e001901204974206d6170732066726f6d2061204354797065206861736820746f206974732063726561746f7220616e6420626c6f636b206e756d62657220696e207768696368206974342077617320637265617465642e01bd0401f8000111073d2c4174746573746174696f6e012c4174746573746174696f6e08304174746573746174696f6e730001040230150704000c78204174746573746174696f6e732073746f726564206f6e20636861696e2e00cc204974206d6170732066726f6d206120636c61696d206861736820746f207468652066756c6c206174746573746174696f6e2e5045787465726e616c4174746573746174696f6e7301010805021907ac04000ca02044656c656761746564206174746573746174696f6e732073746f726564206f6e20636861696e2e00e8204974206d6170732066726f6d20612064656c65676174696f6e20494420746f206120766563746f72206f6620636c61696d206861736865732e01c10401fc081c4465706f7369741840001cc9dd006e0000000000000000000004e420546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720616e206174746573746174696f6e2e604d617844656c6567617465644174746573746174696f6e732010e803000008090120546865206d6178696d756d206e756d626572206f662064656c656761746564206174746573746174696f6e732077686963682063616e206265206d61646520627954207468652073616d652064656c65676174696f6e2e011d073e2844656c65676174696f6e012844656c65676174696f6e083c44656c65676174696f6e4e6f6465730001040230210704000c882044656c65676174696f6e206e6f6465732073746f726564206f6e20636861696e2e00b0204974206d6170732066726f6d2061206e6f646520494420746f20746865206e6f64652064657461696c732e5444656c65676174696f6e48696572617263686965730001040230350704000ca02044656c65676174696f6e2068696572617263686965732073746f726564206f6e20636861696e2e00dc204974206d61707320666f7220612028726f6f7429206e6f646520494420746f20746865206869657261726368792064657461696c732e01d104010901181c4465706f73697418400080c6a47e8d0300000000000000000004dc20546865206465706f736974207468617420697320726571756972656420666f722073746f72696e6720612064656c65676174696f6e2e584d61785369676e6174757265427974654c656e677468e008400000384d61785265766f636174696f6e73201005000000047c204d6178696d756d206e756d626572206f66207265766f636174696f6e732e2c4d617852656d6f76616c7320100500000004f4204d6178696d756d206e756d626572206f662072656d6f76616c732e2053686f756c642062652073616d65206173204d61785265766f636174696f6e733c4d6178506172656e74436865636b73201005000000080d01204d6178696d756d206e756d626572206f6620757077617264732074726176657273616c73206f66207468652064656c65676174696f6e20747265652066726f6d2061f0206e6f646520746f2074686520726f6f7420616e64207468757320746865206465707468206f66207468652064656c65676174696f6e20747265652e2c4d61784368696c6472656e2010e80300000c0d01204d6178696d756d206e756d626572206f6620616c6c206368696c6472656e20666f7220612064656c65676174696f6e206e6f64652e20466f7220612062696e617279fc20747265652c20746869732073686f756c6420626520747769636520746865206d6178696d756d206465707468206f662074686520747265652c20692e652e5c206032205e204d6178506172656e74436865636b73602e0139073f0c446964010c446964100c44696400010402003d0704000c5820444944732073746f726564206f6e20636861696e2e00c8204974206d6170732066726f6d206120444944206964656e74696669657220746f20746865204449442064657461696c732e4053657276696365456e64706f696e747300010805025d07f90404000ca0205365727669636520656e64706f696e7473206173736f636961746564207769746820444944732e000901204974206d6170732066726f6d2028444944206964656e7469666965722c20736572766963652049442920746f2074686520736572766963652064657461696c732e44446964456e64706f696e7473436f756e7401010402002010000000000cac20436f756e746572206f66207365727669636520656e64706f696e747320666f722065616368204449442e00cc204974206d6170732066726f6d2028444944206964656e7469666965722920746f20612033322d62697420636f756e7465722e30446964426c61636b6c6973740001040200b40400141d012054686520736574206f66204449447320746861742068617665206265656e2064656c6574656420616e642063616e6e6f74207468657265666f726520626520637265617465647020616761696e20666f7220736563757269747920726561736f6e732e002101204974206d6170732066726f6d206120444944206964656e74696669657220746f206120756e6974207475706c652c20666f72207468652073616b65206f6620747261636b696e674420444944206964656e746966696572732e01ed04011101382c426173654465706f736974184000008d49fd1a07000000000000000000100d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974f820746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f73697473fc20696e6372656173652062792074686520616d6f756e74206f662075736564206b65797320616e64207365727669636520656e64706f696e74732e20546865c8206465706f7369742063616e206265207265636c61696d6564207768656e20746865204449442069732064656c657465642e5853657276696365456e64706f696e744465706f736974184000f024eebded00000000000000000000100d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368207365727669636520656e64706f696e7409012061732061206465706f73697420746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e205468651501206465706f7369742063616e206265207265636c61696d6564207768656e20746865207365727669636520656e64706f696e742069732072656d6f766564206f722074686534204449442064656c657465642e284b65794465706f736974184000dc20749701000000000000000000000805012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368206164646564206b65792061732061e4206465706f73697420746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e0c466565184000203d88792d000000000000000000000c09012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f7220656163682044494420617320612066656520746f0d0120696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206665652077696c6c206e6f74206765748820726566756e646564207768656e20746865204449442069732064656c657465642e4c4d61785075626c69634b6579735065724469642010140000000c1101204d6178696d756d206e756d626572206f6620746f74616c207075626c6963206b6579732077686963682063616e2062652073746f7265642070657220444944206b6579d8206964656e7469666965722e205468697320696e636c7564657320746865206f6e65732063757272656e746c79207573656420666f72f02061757468656e7469636174696f6e2c206b65792061677265656d656e742c206174746573746174696f6e2c20616e642064656c65676174696f6e2e584d61784e65774b657941677265656d656e744b65797320100a000000081501204d6178696d756d206e756d626572206f66206b65792061677265656d656e74206b65797320746861742063616e20626520616464656420696e2061206372656174696f6e2c206f7065726174696f6e2e604d6178546f74616c4b657941677265656d656e744b657973201013000000101101204d6178696d756d206e756d626572206f6620746f74616c206b65792061677265656d656e74206b65797320746861742063616e2062652073746f72656420666f7220613420444944207375626a6563742e00c42053686f756c642062652067726561746572207468616e20604d61784e65774b657941677265656d656e744b657973602e4c4d6178426c6f636b73547856616c696469747910202c0100000000000008ec20546865206d6178696d756d206e756d626572206f6620626c6f636b732061204449442d617574686f72697a6564206f7065726174696f6e2069739420636f6e736964657265642076616c696420616674657220697473206372656174696f6e2e644d61784e756d6265724f66536572766963657350657244696420101900000004fc20546865206d6178696d756d206e756d626572206f6620736572766963657320746861742063616e2062652073746f72656420756e6465722061204449442e484d61785365727669636549644c656e677468201032000000049020546865206d6178696d756d206c656e677468206f66206120736572766963652049442e504d617853657276696365547970654c656e67746820103200000004c820546865206d6178696d756d206c656e677468206f66206120736572766963652074797065206465736372697074696f6e2e684d61784e756d6265724f6654797065735065725365727669636520100100000004090120546865206d6178696d756d206e756d626572206f662061207479706573206465736372697074696f6e20666f722061207365727669636520656e64706f696e742e4c4d61785365727669636555726c4c656e6774682010d0070000049420546865206d6178696d756d206c656e677468206f66206120736572766963652055524c2e644d61784e756d6265724f6655726c735065725365727669636520100200000004d420546865206d6178696d756d206e756d626572206f6620612055524c7320666f722061207365727669636520656e64706f696e742e0161074024496e666c6174696f6e000000084c496e697469616c506572696f644c656e677468102048a3c800000000000c050120546865206c656e677468206f662074686520696e697469616c20706572696f6420696e2077686963682074686520636f6e7374616e74207265776172642069731101206d696e7465642e204f6e6365207468652063757272656e7420626c6f636b206578636565647320746869732c207265776172647320617265206e6f206675727468657220206973737565642e4c496e697469616c506572696f64526577617264184036f539fdaeb30200000000000000000008fc2054686520616d6f756e74206f66206e65776c792069737375656420746f6b656e732070657220626c6f636b20647572696e672074686520696e697469616c2020706572696f642e0042244469644c6f6f6b757001244469644c6f6f6b75700834436f6e6e6563746564446964730001040219016507040004a8204d617070696e672066726f6d206163636f756e74206964656e7469666965727320746f20444944732e44436f6e6e65637465644163636f756e747300010802026907b404000cbc204d617070696e672066726f6d2028444944202b206163636f756e74206964656e74696669657229202d3e2028292e0d012054686520656d707479207475706c65206973207573656420617320612073656e74696e656c2076616c756520746f2073696d706c7920696e64696361746520746865982070726573656e6365206f66206120676976656e207475706c6520696e20746865206d61702e014505011501041c4465706f736974184000c0afd69136000000000000000000000c0d012054686520616d6f756e74206f662062616c616e636520746861742077696c6c2062652074616b656e20666f722065616368204449442061732061206465706f736974110120746f20696e63656e746976697365206661697220757365206f6620746865206f6e20636861696e2073746f726167652e20546865206465706f7369742063616e2062658c207265636c61696d6564207768656e20746865204449442069732064656c657465642e016d074324576562334e616d65730124576562334e616d65730c144f776e6572000104022901710704000488204d6170206f66206e616d65202d3e206f776e6572736869702064657461696c732e144e616d65730001040200290104000458204d6170206f66206f776e6572202d3e206e616d652e1842616e6e6564000104022901b404000c4c204d6170206f66206e616d65202d3e2028292e00e02049662061206e616d65206b65792069732070726573656e742c20746865206e616d652069732063757272656e746c792062616e6e65642e0155050125010c1c4465706f736974184000d450a85d6b0000000000000000000004bc2054686520616d6f756e74206f66204b494c5420746f206465706f73697420746f20636c61696d2061206e616d652e344d696e4e616d654c656e677468201003000000048820546865206d696e20656e636f646564206c656e677468206f662061206e616d652e344d61784e616d654c656e677468201020000000048820546865206d617820656e636f646564206c656e677468206f662061206e616d652e01750744445075626c696343726564656e7469616c7301445075626c696343726564656e7469616c73082c43726564656e7469616c730001080502d101790704000cc020546865206d6170206f66207075626c69632063726564656e7469616c7320616c72656164792061747465737465642ef0204974206d6170732066726f6d206120287375626a656374206964202b2063726564656e7469616c20696429202d3e20746865206372656174696f6e6c2064657461696c73206f66207468652063726564656e7469616c2e4843726564656e7469616c5375626a656374730001040230350104001025012041207265766572736520696e646578206d617070696e672066726f6d2063726564656e7469616c20494420746f20746865207375626a656374207468652063726564656e7469616c3c207761732069737375656420746f2e001901204974206974207573656420746f20706572666f726d20656666696369656e74206c6f6f6b7570206f662063726564656e7469616c7320676976656e2074686569722049442e0159050131010c1c4465706f7369741840005c6a51fc45000000000000000000000411012054686520616d6f756e74206f6620746f6b656e7320746f2072657365727665207768656e20617474657374696e672061207075626c69632063726564656e7469616c2e584d6178456e636f646564436c61696d734c656e6774682010a0860100040d0120546865206d6178696d756d206c656e67746820696e206279746573206f662074686520656e636f64656420636c61696d73206f6620612063726564656e7469616c2e484d61785375626a65637449644c656e67746820100c01000008e820546865206d6178696d756d206c656e67746820696e206279746573206f6620746865207261772063726564656e7469616c207375626a65637430206964656e7469666965722e017d0745244d6967726174696f6e01244d6967726174696f6e04304d696772617465644b6579730001040230b404000001690501a10104584d61784d6967726174696f6e7350657250616c6c657420106400000004b420546865206d617820616d6f756e74206f6e206d6967726174696f6e7320666f7220656163682070616c6c6574018107462c44697050726f7669646572012c44697050726f7669646572044c4964656e74697479436f6d6d69746d656e747300010802058507300400102101205468652070616c6c657420636f6e7461696e7320612073696e676c652073746f7261676520656c656d656e742c2074686520604964656e74697479436f6d6d69746d656e747360150120646f75626c65206d61702e20497473206669727374206b65792069732074686520604964656e74696669657260206f66207375626a656374732c207768696c6520746865f8207365636f6e64206b65792069732074686520636f6d6d69746d656e742076657273696f6e2e205468652076616c75657320617265206964656e746974793420636f6d6d69746d656e74732e016d0501d9010001890747384465706f73697453746f7261676501384465706f73697453746f7261676504204465706f7369747300010802028d07e90104000c19012053746f72616765206f6620616c6c206465706f736974732e20497473206669727374206b65792069732061206e616d6573706163652c20616e6420746865207365636f6e641101206f6e6520746865206465706f736974206b65792e204974732076616c756520696e636c75646573207468652064657461696c73206173736f63696174656420746f206148206465706f73697420696e7374616e63652e01750501dd0104304d61784b65794c656e677468201023000000047020546865206d6178696d756d206c656e677468206f66206b6579732e019107483c50617261636861696e53797374656d013c50617261636861696e53797374656d545450656e64696e6756616c69646174696f6e436f64650100340400107d0120496e2063617365206f662061207363686564756c656420757067726164652c20746869732073746f72616765206669656c6420636f6e7461696e73207468652076616c69646174696f6e20636f646520746f206265206170706c6965642e00090220417320736f6f6e206173207468652072656c617920636861696e2067697665732075732074686520676f2d6168656164207369676e616c2c2077652077696c6c206f766572777269746520746865205b603a636f6465605d5b73705f636f72653a3a73746f726167653a3a77656c6c5f6b6e6f776e5f6b6579733a3a434f44455dad012077686963682077696c6c20726573756c7420746865206e65787420626c6f636b2070726f63657373207769746820746865206e65772076616c69646174696f6e20636f64652e205468697320636f6e636c756465732074686520757067726164652070726f636573732e444e657756616c69646174696f6e436f64650000340400145d012056616c69646174696f6e20636f6465207468617420697320736574206279207468652070617261636861696e20616e6420697320746f20626520636f6d6d756e69636174656420746f20636f6c6c61746f7220616e647820636f6e73657175656e746c79207468652072656c61792d636861696e2e00650120546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b206966206e6f206f746865722070616c6c657420616c7265616479207365742c207468652076616c75652e3856616c69646174696f6e446174610000810504000cd020546865205b6050657273697374656456616c69646174696f6e44617461605d2073657420666f72207468697320626c6f636b2e2d0120546869732076616c756520697320657870656374656420746f20626520736574206f6e6c79206f6e63652070657220626c6f636b20616e642069742773206e657665722073746f7265643420696e2074686520747269652e5044696453657456616c69646174696f6e436f64650100ac040004e02057657265207468652076616c69646174696f6e20646174612073657420746f206e6f74696679207468652072656c617920636861696e3f644c61737452656c6179436861696e426c6f636b4e756d6265720100201000000000041d01205468652072656c617920636861696e20626c6f636b206e756d626572206173736f636961746564207769746820746865206c6173742070617261636861696e20626c6f636b2e60557067726164655265737472696374696f6e5369676e616c0100950704001c750120416e206f7074696f6e20776869636820696e64696361746573206966207468652072656c61792d636861696e20726573747269637473207369676e616c6c696e6720612076616c69646174696f6e20636f646520757067726164652e610120496e206f7468657220776f7264732c20696620746869732069732060536f6d656020616e64205b604e657756616c69646174696f6e436f6465605d2069732060536f6d6560207468656e207468652070726f64756365646c2063616e6469646174652077696c6c20626520696e76616c69642e00710120546869732073746f72616765206974656d2069732061206d6972726f72206f662074686520636f72726573706f6e64696e672076616c756520666f72207468652063757272656e742070617261636861696e2066726f6d207468656d012072656c61792d636861696e2e20546869732076616c756520697320657068656d6572616c207768696368206d65616e7320697420646f65736e277420686974207468652073746f726167652e20546869732076616c756520697360207365742061667465722074686520696e686572656e742e3c52656c6179537461746550726f6f6600008905040018c4205468652073746174652070726f6f6620666f7220746865206c6173742072656c617920706172656e7420626c6f636b2e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e5852656c6576616e744d6573736167696e67537461746500009d0704001c65012054686520736e617073686f74206f6620736f6d652073746174652072656c6174656420746f206d6573736167696e672072656c6576616e7420746f207468652063757272656e742070617261636861696e2061732070657248207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e44486f7374436f6e66696775726174696f6e0000b1070400182901205468652070617261636861696e20686f737420636f6e66696775726174696f6e207468617420776173206f627461696e65642066726f6d207468652072656c617920706172656e742e006d012054686973206669656c64206973206d65616e7420746f2062652075706461746564206561636820626c6f636b2077697468207468652076616c69646174696f6e206461746120696e686572656e742e205468657265666f72652c4d01206265666f72652070726f63657373696e67206f662074686520696e686572656e742c20652e672e20696e20606f6e5f696e697469616c697a656020746869732064617461206d6179206265207374616c652e00ac2054686973206461746120697320616c736f20616273656e742066726f6d207468652067656e657369732e384c617374446d714d7163486561640100b50780000000000000000000000000000000000000000000000000000000000000000010f420546865206c61737420646f776e77617264206d65737361676520717565756520636861696e20686561642077652068617665206f627365727665642e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e404c61737448726d704d716348656164730100b907040010490120546865206d65737361676520717565756520636861696e2068656164732077652068617665206f62736572766564207065722065616368206368616e6e656c20696e636f6d696e67206368616e6e656c2e00650120546869732076616c7565206973206c6f61646564206265666f726520616e642073617665642061667465722070726f63657373696e6720696e626f756e6420646f776e77617264206d65737361676573206361727269656460206279207468652073797374656d20696e686572656e742e6450726f636573736564446f776e776172644d6573736167657301002010000000000cc8204e756d626572206f6620646f776e77617264206d657373616765732070726f63657373656420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e3448726d7057617465726d61726b01002010000000000ca02048524d502077617465726d61726b2074686174207761732073657420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5048726d704f7574626f756e644d657373616765730100c50704000ca42048524d50206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e385570776172644d657373616765730100190304000cac20557077617264206d65737361676573207468617420776572652073656e7420696e206120626c6f636b2e00ec20546869732077696c6c20626520636c656172656420696e20606f6e5f696e697469616c697a6560206f662065616368206e657720626c6f636b2e5450656e64696e675570776172644d6573736167657301001903040004310120557077617264206d65737361676573207468617420617265207374696c6c2070656e64696e6720616e64206e6f74207965742073656e6420746f207468652072656c617920636861696e2e84416e6e6f756e63656448726d704d6573736167657350657243616e646964617465010020100000000008650120546865206e756d626572206f662048524d50206d65737361676573207765206f6273657276656420696e20606f6e5f696e697469616c697a656020616e64207468757320757365642074686174206e756d62657220666f72f020616e6e6f756e63696e672074686520776569676874206f6620606f6e5f696e697469616c697a656020616e6420606f6e5f66696e616c697a65602e68526573657276656458636d705765696768744f766572726964650000280400085d01205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e672058434d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e645265736572766564446d705765696768744f766572726964650000280400085901205468652077656967687420776520726573657276652061742074686520626567696e6e696e67206f662074686520626c6f636b20666f722070726f63657373696e6720444d50206d657373616765732e2054686973b8206f76657272696465732074686520616d6f756e742073657420696e2074686520436f6e6669672074726169742e44417574686f72697a6564557067726164650000cd07040004b820546865206e65787420617574686f72697a656420757067726164652c206966207468657265206973206f6e652e60437573746f6d56616c69646174696f6e486561644461746100003404000c2901204120637573746f6d2068656164206461746120746861742073686f756c642062652072657475726e656420617320726573756c74206f66206076616c69646174655f626c6f636b602e00110120536565206050616c6c65743a3a7365745f637573746f6d5f76616c69646174696f6e5f686561645f646174616020666f72206d6f726520696e666f726d6174696f6e2e0179050111020001d107503450617261636861696e496e666f013450617261636861696e496e666f042c50617261636861696e496401001d0210640000000001ad05000000512458636d705175657565012458636d7051756575652844496e626f756e6458636d705374617475730100d5070400049420537461747573206f662074686520696e626f756e642058434d50206368616e6e656c732e4c496e626f756e6458636d704d657373616765730101080205ed0734040004190120496e626f756e64206167677265676174652058434d50206d657373616765732e2049742063616e206f6e6c79206265206f6e6520706572205061726149642f626c6f636b2e484f7574626f756e6458636d705374617475730100f1070400185d0120546865206e6f6e2d656d7074792058434d50206368616e6e656c7320696e206f72646572206f66206265636f6d696e67206e6f6e2d656d7074792c20616e642074686520696e646578206f6620746865206669727374510120616e64206c617374206f7574626f756e64206d6573736167652e204966207468652074776f20696e64696365732061726520657175616c2c207468656e20697420696e6469636174657320616e20656d707479590120717565756520616e64207468657265206d7573742062652061206e6f6e2d604f6b6020604f7574626f756e64537461747573602e20576520617373756d65207175657565732067726f77206e6f20677265617465725901207468616e203635353335206974656d732e20517565756520696e646963657320666f72206e6f726d616c206d6573736167657320626567696e206174206f6e653b207a65726f20697320726573657276656420696e11012063617365206f6620746865206e65656420746f2073656e64206120686967682d7072696f72697479207369676e616c206d657373616765207468697320626c6f636b2e09012054686520626f6f6c20697320747275652069662074686572652069732061207369676e616c206d6573736167652077616974696e6720746f2062652073656e742e504f7574626f756e6458636d704d657373616765730101080205fd0734040004bc20546865206d65737361676573206f7574626f756e6420696e206120676976656e2058434d50206368616e6e656c2e385369676e616c4d65737361676573010104021d0234040004a020416e79207369676e616c206d657373616765732077616974696e6720746f2062652073656e742e2c5175657565436f6e6669670100010874020000000500000001000000821a06000008000700c817a804020004000415012054686520636f6e66696775726174696f6e20776869636820636f6e74726f6c73207468652064796e616d696373206f6620746865206f7574626f756e642071756575652e284f76657277656967687400010405100508040010050120546865206d657373616765732074686174206578636565646564206d617820696e646976696475616c206d65737361676520776569676874206275646765742e003901205468657365206d657373616765207374617920696e20746869732073746f72616765206d617020756e74696c207468657920617265206d616e75616c6c79206469737061746368656420766961582060736572766963655f6f766572776569676874602e50436f756e746572466f724f766572776569676874010020100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d61703c4f766572776569676874436f756e7401001020000000000000000008690120546865206e756d626572206f66206f766572776569676874206d657373616765732065766572207265636f7264656420696e20604f766572776569676874602e20416c736f20646f75626c657320617320746865206e6578748420617661696c61626c652066726565206f76657277656967687420696e6465782e38517565756553757370656e6465640100ac04000441012057686574686572206f72206e6f74207468652058434d502071756575652069732073757370656e6465642066726f6d20657865637574696e6720696e636f6d696e672058434d73206f72206e6f742e01b10501150200010908522c506f6c6b61646f7458636d012c506f6c6b61646f7458636d30305175657279436f756e746572010010200000000000000000048820546865206c617465737420617661696c61626c6520717565727920696e6465782e1c5175657269657300010402100d080400045420546865206f6e676f696e6720717565726965732e28417373657454726170730101040630201000000000106820546865206578697374696e672061737365742074726170732e007501204b65792069732074686520626c616b6532203235362068617368206f6620286f726967696e2c2076657273696f6e656420604d756c7469417373657473602920706169722e2056616c756520697320746865206e756d626572206f661d012074696d65732074686973207061697220686173206265656e20747261707065642028757375616c6c79206a75737420312069662069742065786973747320617420616c6c292e385361666558636d56657273696f6e00002004000861012044656661756c742076657273696f6e20746f20656e636f64652058434d207768656e206c61746573742076657273696f6e206f662064657374696e6174696f6e20697320756e6b6e6f776e2e20496620604e6f6e65602c3d01207468656e207468652064657374696e6174696f6e732077686f73652058434d2076657273696f6e20697320756e6b6e6f776e2061726520636f6e7369646572656420756e726561636861626c652e40537570706f7274656456657273696f6e0001080502210820040004f020546865204c61746573742076657273696f6e732074686174207765206b6e6f7720766172696f7573206c6f636174696f6e7320737570706f72742e4056657273696f6e4e6f746966696572730001080502210810040004050120416c6c206c6f636174696f6e7320746861742077652068617665207265717565737465642076657273696f6e206e6f74696669636174696f6e732066726f6d2e5056657273696f6e4e6f746966795461726765747300010805022108250804000871012054686520746172676574206c6f636174696f6e73207468617420617265207375627363726962656420746f206f75722076657273696f6e206368616e6765732c2061732077656c6c20617320746865206d6f737420726563656e7494206f66206f75722076657273696f6e7320776520696e666f726d6564207468656d206f662e5456657273696f6e446973636f7665727951756575650100290804000c65012044657374696e6174696f6e732077686f7365206c61746573742058434d2076657273696f6e20776520776f756c64206c696b6520746f206b6e6f772e204475706c696361746573206e6f7420616c6c6f7765642c20616e6471012074686520607533326020636f756e74657220697320746865206e756d626572206f662074696d6573207468617420612073656e6420746f207468652064657374696e6174696f6e20686173206265656e20617474656d707465642c8c20776869636820697320757365642061732061207072696f726974697a6174696f6e2e4043757272656e744d6967726174696f6e000035080400049c205468652063757272656e74206d6967726174696f6e27732073746167652c20696620616e792e5452656d6f74654c6f636b656446756e6769626c657300010c0502023d084508040004f02046756e6769626c6520617373657473207768696368207765206b6e6f7720617265206c6f636b6564206f6e20612072656d6f746520636861696e2e3c4c6f636b656446756e6769626c657300010402005508040004e02046756e6769626c6520617373657473207768696368207765206b6e6f7720617265206c6f636b6564206f6e207468697320636861696e2e5458636d457865637574696f6e53757370656e6465640100ac040004b420476c6f62616c2073757370656e73696f6e207374617465206f66207468652058434d206578656375746f722e01b50501210200016108532843756d756c757358636d000001f502000165085420446d7051756575650120446d7051756575651434436f6e66696775726174696f6e01006908280700e40b540202000400044c2054686520636f6e66696775726174696f6e2e2450616765496e64657801006d084000000000000000000000000000000000044020546865207061676520696e6465782e1450616765730101040220710804000444205468652071756575652070616765732e284f766572776569676874000104021075080400046420546865206f766572776569676874206d657373616765732e50436f756e746572466f724f766572776569676874010020100000000004ac436f756e74657220666f72207468652072656c6174656420636f756e7465642073746f72616765206d617001090601f90200017908557d08042048436865636b4e6f6e5a65726f53656e6465728508b440436865636b5370656356657273696f6e89082038436865636b547856657273696f6e8d082030436865636b47656e6573697391083038436865636b4d6f7274616c69747995083028436865636b4e6f6e63659d08b42c436865636b576569676874a108b4604368617267655472616e73616374696f6e5061796d656e74a508b4a901"} \ No newline at end of file diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index c69b38c99..d56d5b832 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.35.0", + "version": "0.35.1", "description": "", "types": "./lib/index.d.ts", "type": "module", diff --git a/packages/augment-api/src/interfaces/augment-api-consts.ts b/packages/augment-api/src/interfaces/augment-api-consts.ts index 88b816900..041a6132e 100644 --- a/packages/augment-api/src/interfaces/augment-api-consts.ts +++ b/packages/augment-api/src/interfaces/augment-api-consts.ts @@ -149,6 +149,12 @@ declare module '@polkadot/api-base/types/consts' { **/ votingPeriod: u64 & AugmentedConst; }; + depositStorage: { + /** + * The maximum length of keys. + **/ + maxKeyLength: u32 & AugmentedConst; + }; did: { /** * The amount of balance that will be taken for each DID as a deposit diff --git a/packages/augment-api/src/interfaces/augment-api-errors.ts b/packages/augment-api/src/interfaces/augment-api-errors.ts index 1e5e6e5ac..fade5bfc0 100644 --- a/packages/augment-api/src/interfaces/augment-api-errors.ts +++ b/packages/augment-api/src/interfaces/augment-api-errors.ts @@ -336,6 +336,35 @@ declare module '@polkadot/api-base/types/errors' { **/ WrongUpperBound: AugmentedError; }; + depositStorage: { + /** + * A deposit with the provided key already exists within the specified + * namespace. + **/ + DepositExisting: AugmentedError; + /** + * The deposit with the provided key was not found within the specified + * namespace. + **/ + DepositNotFound: AugmentedError; + /** + * The origin did not have enough fund to pay for the deposit. + **/ + FailedToHold: AugmentedError; + /** + * Error when trying to release a previously-reserved deposit. + **/ + FailedToRelease: AugmentedError; + /** + * The external hook failed. + **/ + Hook: AugmentedError; + /** + * The origin was not authorized to perform the operation on the + * specified deposit entry. + **/ + Unauthorized: AugmentedError; + }; did: { /** * The DID has already been previously deleted. @@ -483,6 +512,24 @@ declare module '@polkadot/api-base/types/errors' { **/ OutdatedProof: AugmentedError; }; + dipProvider: { + /** + * The specified commitment cannot be found. + **/ + CommitmentNotFound: AugmentedError; + /** + * Error inside the external hook logic. + **/ + Hook: AugmentedError; + /** + * Error when generating a commitment for the retrieved identity. + **/ + IdentityCommitmentGenerator: AugmentedError; + /** + * Error when retrieving the identity details of the provided subject. + **/ + IdentityProvider: AugmentedError; + }; dmpQueue: { /** * The amount of weight given is possibly not enough for executing the message. diff --git a/packages/augment-api/src/interfaces/augment-api-events.ts b/packages/augment-api/src/interfaces/augment-api-events.ts index 2acd5b245..883018aee 100644 --- a/packages/augment-api/src/interfaces/augment-api-events.ts +++ b/packages/augment-api/src/interfaces/augment-api-events.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types'; import type { Bytes, Null, Option, Result, U8aFixed, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, H256, Perquintill } from '@polkadot/types/interfaces/runtime'; -import type { DelegationDelegationHierarchyPermissions, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletDidLookupLinkableAccountLinkableAccountId, PalletMigrationEntriesToMigrate, PalletMultisigTimepoint, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpRuntimeDispatchError, SpWeightsWeightV2Weight, SpiritnetRuntimeProxyType, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; +import type { DelegationDelegationHierarchyPermissions, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletDepositStorageDepositDepositEntry, PalletDidLookupLinkableAccountLinkableAccountId, PalletMigrationEntriesToMigrate, PalletMultisigTimepoint, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonDipDepositDepositNamespace, SpRuntimeDispatchError, SpWeightsWeightV2Weight, SpiritnetRuntimeProxyType, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; export type __AugmentedEvent = AugmentedEvent; @@ -294,6 +294,16 @@ declare module '@polkadot/api-base/types/events' { **/ Voted: AugmentedEvent; }; + depositStorage: { + /** + * A new deposit has been reserved and stored. + **/ + DepositAdded: AugmentedEvent; + /** + * A deposit has been released and deleted from storage. + **/ + DepositReclaimed: AugmentedEvent; + }; did: { /** * A DID-authorised call has been executed. @@ -334,6 +344,16 @@ declare module '@polkadot/api-base/types/events' { **/ MigrationProgress: AugmentedEvent; }; + dipProvider: { + /** + * A new commitment has been stored. + **/ + VersionedIdentityCommitted: AugmentedEvent; + /** + * A commitment has been deleted. + **/ + VersionedIdentityDeleted: AugmentedEvent; + }; dmpQueue: { /** * Downward message executed with the given outcome. diff --git a/packages/augment-api/src/interfaces/augment-api-query.ts b/packages/augment-api/src/interfaces/augment-api-query.ts index e591421e8..4b6dcbff9 100644 --- a/packages/augment-api/src/interfaces/augment-api-query.ts +++ b/packages/augment-api/src/interfaces/augment-api-query.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/ import type { BTreeMap, Bytes, Null, Option, U8aFixed, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec'; import type { AnyNumber, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H256 } from '@polkadot/types/interfaces/runtime'; -import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesIdAmountRuntimeFreezeReason, PalletBalancesIdAmountRuntimeHoldReason, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupConnectionRecord, PalletDidLookupLinkableAccountLinkableAccountId, PalletMultisigMultisig, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV5AbridgedHostConfiguration, PolkadotPrimitivesV5PersistedValidationData, PolkadotPrimitivesV5UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, SpiritnetRuntimeSessionKeys, XcmVersionedAssetId, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; +import type { AttestationAttestationsAttestationDetails, CtypeCtypeEntry, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DidDidDetails, DidServiceEndpointsDidEndpoint, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesIdAmountRuntimeFreezeReason, PalletBalancesIdAmountRuntimeHoldReason, PalletBalancesReserveData, PalletCollectiveVotes, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDepositStorageDepositDepositEntry, PalletDidLookupConnectionRecord, PalletDidLookupLinkableAccountLinkableAccountId, PalletMultisigMultisig, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyProxyDefinition, PalletSchedulerScheduled, PalletTipsOpenTip, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainStakingCandidate, ParachainStakingDelegationCounter, ParachainStakingInflationInflationInfo, ParachainStakingRoundInfo, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV5AbridgedHostConfiguration, PolkadotPrimitivesV5PersistedValidationData, PolkadotPrimitivesV5UpgradeRestriction, PublicCredentialsCredentialsCredentialEntry, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonDipDepositDepositNamespace, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, SpiritnetRuntimeSessionKeys, XcmVersionedAssetId, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; import type { Observable } from '@polkadot/types/types'; export type __AugmentedQuery = AugmentedQuery unknown>; @@ -230,6 +230,14 @@ declare module '@polkadot/api-base/types/storage' { **/ votingOf: AugmentedQuery Observable, [AccountId32]>; }; + depositStorage: { + /** + * Storage of all deposits. Its first key is a namespace, and the second + * one the deposit key. Its value includes the details associated to a + * deposit instance. + **/ + deposits: AugmentedQuery Observable>, [RuntimeCommonDipDepositDepositNamespace, Bytes]>; + }; did: { /** * DIDs stored on chain. @@ -270,6 +278,15 @@ declare module '@polkadot/api-base/types/storage' { **/ connectedDids: AugmentedQuery Observable>, [PalletDidLookupLinkableAccountLinkableAccountId]>; }; + dipProvider: { + /** + * The pallet contains a single storage element, the `IdentityCommitments` + * double map. Its first key is the `Identifier` of subjects, while the + * second key is the commitment version. The values are identity + * commitments. + **/ + identityCommitments: AugmentedQuery Observable>, [AccountId32, u16]>; + }; dmpQueue: { /** * The configuration. diff --git a/packages/augment-api/src/interfaces/augment-api-runtime.ts b/packages/augment-api/src/interfaces/augment-api-runtime.ts index 9c5d8d675..6b00898fa 100644 --- a/packages/augment-api/src/interfaces/augment-api-runtime.ts +++ b/packages/augment-api/src/interfaces/augment-api-runtime.ts @@ -5,7 +5,7 @@ // this is required to allow for ambient/previous definitions import '@polkadot/api-base/types/calls'; -import type { DidApiAccountId, PublicCredentialError, PublicCredentialFilter, RawDidLinkedInfo, StakingRates } from '@kiltprotocol/augment-api/extraDefs'; +import type { CompleteMerkleProof, DidApiAccountId, DipProofRequest, PublicCredentialError, PublicCredentialFilter, RawDidLinkedInfo, RuntimeApiDipProofError, StakingRates } from '@kiltprotocol/augment-api/extraDefs'; import type { ApiTypes, AugmentedCall, DecoratedCallBase } from '@polkadot/api-base/types'; import type { Bytes, Null, Option, Result, Text, Vec, u32 } from '@polkadot/types-codec'; import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; @@ -102,6 +102,13 @@ declare module '@polkadot/api-base/types/calls' { **/ queryByWeb3Name: AugmentedCall Observable>>; }; + /** 0xc3b3e8d33273990d/1 */ + dipProvider: { + /** + * Generate a Merkle proof for the DIP protocol for the specified request parameters. + **/ + generateProof: AugmentedCall Observable>>; + }; /** 0x37e397fc7c91f5e4/2 */ metadata: { /** diff --git a/packages/augment-api/src/interfaces/augment-api-tx.ts b/packages/augment-api/src/interfaces/augment-api-tx.ts index 27b9bb1d4..a0c13bd32 100644 --- a/packages/augment-api/src/interfaces/augment-api-tx.ts +++ b/packages/augment-api/src/interfaces/augment-api-tx.ts @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableE import type { Bytes, Compact, Option, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H256, MultiAddress, Perquintill } from '@polkadot/types/interfaces/runtime'; -import type { CumulusPrimitivesParachainInherentParachainInherentData, DelegationDelegationHierarchyPermissions, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidServiceEndpointsDidEndpoint, FrameSupportPreimagesBounded, PalletDemocracyConviction, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDidLookupAssociateAccountRequest, PalletDidLookupLinkableAccountLinkableAccountId, PalletMigrationEntriesToMigrate, PalletMultisigTimepoint, PalletVestingVestingInfo, PublicCredentialsCredentialsCredential, RuntimeCommonAuthorizationPalletAuthorize, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeSessionKeys, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { CumulusPrimitivesParachainInherentParachainInherentData, DelegationDelegationHierarchyPermissions, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidServiceEndpointsDidEndpoint, FrameSupportPreimagesBounded, PalletDemocracyConviction, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDidLookupAssociateAccountRequest, PalletDidLookupLinkableAccountLinkableAccountId, PalletMigrationEntriesToMigrate, PalletMultisigTimepoint, PalletVestingVestingInfo, PublicCredentialsCredentialsCredential, RuntimeCommonAuthorizationPalletAuthorize, RuntimeCommonDipDepositDepositNamespace, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeSessionKeys, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>; export type __SubmittableExtrinsic = SubmittableExtrinsic; @@ -225,6 +225,12 @@ declare module '@polkadot/api-base/types/submittable' { **/ vote: AugmentedSubmittable<(refIndex: Compact | AnyNumber | Uint8Array, vote: PalletDemocracyVoteAccountVote | { Standard: any } | { Split: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, PalletDemocracyVoteAccountVote]>; }; + depositStorage: { + /** + * See [`Pallet::reclaim_deposit`]. + **/ + reclaimDeposit: AugmentedSubmittable<(namespace: RuntimeCommonDipDepositDepositNamespace | 'DipProvider' | number | Uint8Array, key: Bytes | string | Uint8Array) => SubmittableExtrinsic, [RuntimeCommonDipDepositDepositNamespace, Bytes]>; + }; did: { /** * See [`Pallet::add_key_agreement_key`]. @@ -325,6 +331,16 @@ declare module '@polkadot/api-base/types/submittable' { **/ updateDeposit: AugmentedSubmittable<(account: PalletDidLookupLinkableAccountLinkableAccountId | { AccountId20: any } | { AccountId32: any } | string | Uint8Array) => SubmittableExtrinsic, [PalletDidLookupLinkableAccountLinkableAccountId]>; }; + dipProvider: { + /** + * See [`Pallet::commit_identity`]. + **/ + commitIdentity: AugmentedSubmittable<(identifier: AccountId32 | string | Uint8Array, version: Option | null | Uint8Array | u16 | AnyNumber) => SubmittableExtrinsic, [AccountId32, Option]>; + /** + * See [`Pallet::delete_identity_commitment`]. + **/ + deleteIdentityCommitment: AugmentedSubmittable<(identifier: AccountId32 | string | Uint8Array, version: Option | null | Uint8Array | u16 | AnyNumber) => SubmittableExtrinsic, [AccountId32, Option]>; + }; dmpQueue: { /** * See [`Pallet::service_overweight`]. diff --git a/packages/augment-api/src/interfaces/augment-types.ts b/packages/augment-api/src/interfaces/augment-types.ts index 85bb41fe3..84891524e 100644 --- a/packages/augment-api/src/interfaces/augment-types.ts +++ b/packages/augment-api/src/interfaces/augment-types.ts @@ -5,7 +5,7 @@ // this is required to allow for ambient/previous definitions import '@polkadot/types/types/registry'; -import type { DidApiAccountId, PublicCredentialError, PublicCredentialFilter, RawDidLinkedInfo, StakingRates } from '@kiltprotocol/augment-api/extraDefs'; +import type { BlindedLeaves, BlindedValue, CompleteMerkleProof, DidApiAccountId, DidIdentityProviderError, DidMerkleProofError, DipProofRequest, IdentityCommitmentVersion, KeyRelationship, LinkedDidIdentityProviderError, MerkleProof, MerkleRoot, PublicCredentialError, PublicCredentialFilter, RawDidLinkedInfo, RevealedAccountId, RevealedDidKey, RevealedLeaf, RevealedLeaves, RevealedWeb3Name, RuntimeApiDipProofError, StakingRates, VerificationRelationship } from '@kiltprotocol/augment-api/extraDefs'; import type { Data, StorageKey } from '@polkadot/types'; import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, ISize, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, i128, i16, i256, i32, i64, i8, isize, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec'; import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets'; @@ -171,6 +171,8 @@ declare module '@polkadot/types/types/registry' { Bidder: Bidder; BidKind: BidKind; BitVec: BitVec; + BlindedLeaves: BlindedLeaves; + BlindedValue: BlindedValue; Block: Block; BlockAttestations: BlockAttestations; BlockHash: BlockHash; @@ -243,6 +245,7 @@ declare module '@polkadot/types/types/registry' { CompactAssignmentsWith24: CompactAssignmentsWith24; CompactScore: CompactScore; CompactScoreCompact: CompactScoreCompact; + CompleteMerkleProof: CompleteMerkleProof; ConfigData: ConfigData; Consensus: Consensus; ConsensusEngineId: ConsensusEngineId; @@ -334,9 +337,12 @@ declare module '@polkadot/types/types/registry' { DepositBalanceOf: DepositBalanceOf; DestroyWitness: DestroyWitness; DidApiAccountId: DidApiAccountId; + DidIdentityProviderError: DidIdentityProviderError; + DidMerkleProofError: DidMerkleProofError; Digest: Digest; DigestItem: DigestItem; DigestOf: DigestOf; + DipProofRequest: DipProofRequest; DispatchClass: DispatchClass; DispatchError: DispatchError; DispatchErrorModule: DispatchErrorModule; @@ -557,6 +563,7 @@ declare module '@polkadot/types/types/registry' { i8: i8; I8: I8; IdentificationTuple: IdentificationTuple; + IdentityCommitmentVersion: IdentityCommitmentVersion; IdentityFields: IdentityFields; IdentityInfo: IdentityInfo; IdentityInfoAdditional: IdentityInfoAdditional; @@ -610,6 +617,7 @@ declare module '@polkadot/types/types/registry' { Justifications: Justifications; Key: Key; KeyOwnerProof: KeyOwnerProof; + KeyRelationship: KeyRelationship; Keys: Keys; KeyType: KeyType; KeyTypeId: KeyTypeId; @@ -624,6 +632,7 @@ declare module '@polkadot/types/types/registry' { LegacyTransaction: LegacyTransaction; Limits: Limits; LimitsTo264: LimitsTo264; + LinkedDidIdentityProviderError: LinkedDidIdentityProviderError; LocalValidationData: LocalValidationData; LockIdentifier: LockIdentifier; LookupSource: LookupSource; @@ -633,6 +642,8 @@ declare module '@polkadot/types/types/registry' { MaybeVrf: MaybeVrf; MemberCount: MemberCount; MembershipProof: MembershipProof; + MerkleProof: MerkleProof; + MerkleRoot: MerkleRoot; MessageData: MessageData; MessageId: MessageId; MessageIngestionType: MessageIngestionType; @@ -893,11 +904,17 @@ declare module '@polkadot/types/types/registry' { ResponseV2Error: ResponseV2Error; ResponseV2Result: ResponseV2Result; Retriable: Retriable; + RevealedAccountId: RevealedAccountId; + RevealedDidKey: RevealedDidKey; + RevealedLeaf: RevealedLeaf; + RevealedLeaves: RevealedLeaves; + RevealedWeb3Name: RevealedWeb3Name; RewardDestination: RewardDestination; RewardPoint: RewardPoint; RoundSnapshot: RoundSnapshot; RoundState: RoundState; RpcMethods: RpcMethods; + RuntimeApiDipProofError: RuntimeApiDipProofError; RuntimeApiMetadataLatest: RuntimeApiMetadataLatest; RuntimeApiMetadataV15: RuntimeApiMetadataV15; RuntimeApiMethodMetadataV15: RuntimeApiMethodMetadataV15; @@ -1154,6 +1171,7 @@ declare module '@polkadot/types/types/registry' { ValidityAttestation: ValidityAttestation; ValidTransaction: ValidTransaction; VecInboundHrmpMessage: VecInboundHrmpMessage; + VerificationRelationship: VerificationRelationship; VersionedMultiAsset: VersionedMultiAsset; VersionedMultiAssets: VersionedMultiAssets; VersionedMultiLocation: VersionedMultiLocation; diff --git a/packages/augment-api/src/interfaces/extraDefs/definitions.ts b/packages/augment-api/src/interfaces/extraDefs/definitions.ts index 4a453dcf2..549c7bc54 100644 --- a/packages/augment-api/src/interfaces/extraDefs/definitions.ts +++ b/packages/augment-api/src/interfaces/extraDefs/definitions.ts @@ -1,6 +1,6 @@ /* eslint-disable */ -import { types, didCalls, stakingCalls, publicCredentialsCalls } from '@kiltprotocol/type-definitions' +import { types, didCalls, stakingCalls, publicCredentialsCalls, dipProviderCalls } from '@kiltprotocol/type-definitions' // Only types and runtime calls can be exported from here. export default { @@ -9,5 +9,6 @@ export default { ...didCalls, ...stakingCalls, ...publicCredentialsCalls, + ...dipProviderCalls, } } diff --git a/packages/augment-api/src/interfaces/extraDefs/types.ts b/packages/augment-api/src/interfaces/extraDefs/types.ts index 6a8d2ddd8..976923a3e 100644 --- a/packages/augment-api/src/interfaces/extraDefs/types.ts +++ b/packages/augment-api/src/interfaces/extraDefs/types.ts @@ -1,13 +1,79 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -import type { Enum, Option, Struct, Text, Vec } from '@polkadot/types-codec'; -import type { AccountId32, Hash, Perquintill } from '@polkadot/types/interfaces/runtime'; +import type { Bytes, Enum, Option, Struct, Text, Vec, bool, u16 } from '@polkadot/types-codec'; +import type { AccountId32, BlockNumber, Hash, Perquintill } from '@polkadot/types/interfaces/runtime'; // FIXME: manually added as they are not automatically imported -import type { DidServiceEndpointsDidEndpoint, DidDidDetails, PalletDidLookupLinkableAccountLinkableAccountId } from '@polkadot/types/lookup' +import type { DidServiceEndpointsDidEndpoint, DidDidDetails, DidDidDetailsDidPublicKeyDetails, PalletDidLookupLinkableAccountLinkableAccountId } from '@polkadot/types/lookup' + +/** @name BlindedLeaves */ +export interface BlindedLeaves extends Vec { } + +/** @name BlindedValue */ +export interface BlindedValue extends Bytes { } + +/** @name CompleteMerkleProof */ +export interface CompleteMerkleProof extends Struct { + readonly root: MerkleRoot; + readonly proof: MerkleProof; +} /** @name DidApiAccountId */ -export interface DidApiAccountId extends PalletDidLookupLinkableAccountLinkableAccountId {} +export interface DidApiAccountId extends PalletDidLookupLinkableAccountLinkableAccountId { } + +/** @name DidIdentityProviderError */ +export interface DidIdentityProviderError extends Enum { + readonly isDidNotFound: boolean; + readonly isInternal: boolean; + readonly type: 'DidNotFound' | 'Internal'; +} + +/** @name DidMerkleProofError */ +export interface DidMerkleProofError extends Enum { + readonly isUnsupportedVersion: boolean; + readonly isKeyNotFound: boolean; + readonly isLinkedAccountNotFound: boolean; + readonly isWeb3NameNotFound: boolean; + readonly isInternal: boolean; + readonly type: 'UnsupportedVersion' | 'KeyNotFound' | 'LinkedAccountNotFound' | 'Web3NameNotFound' | 'Internal'; +} + +/** @name DipProofRequest */ +export interface DipProofRequest extends Struct { + readonly identifier: AccountId32; + readonly version: IdentityCommitmentVersion; + readonly proofKeys: Vec; + readonly accounts: Vec; + readonly shouldIncludeWeb3Name: bool; +} + +/** @name IdentityCommitmentVersion */ +export interface IdentityCommitmentVersion extends u16 { } + +/** @name KeyRelationship */ +export interface KeyRelationship extends Enum { + readonly isEncryption: boolean; + readonly isVerification: boolean; + readonly asVerification: VerificationRelationship; + readonly type: 'Encryption' | 'Verification'; +} + +/** @name LinkedDidIdentityProviderError */ +export interface LinkedDidIdentityProviderError extends Enum { + readonly isDidNotFound: boolean; + readonly isDidDeleted: boolean; + readonly isInternal: boolean; + readonly type: 'DidNotFound' | 'DidDeleted' | 'Internal'; +} + +/** @name MerkleProof */ +export interface MerkleProof extends Struct { + readonly blinded: BlindedLeaves; + readonly revealed: RevealedLeaves; +} + +/** @name MerkleRoot */ +export interface MerkleRoot extends Hash { } /** @name PublicCredentialError */ export interface PublicCredentialError extends Enum { @@ -33,6 +99,45 @@ export interface RawDidLinkedInfo extends Struct { readonly details: DidDidDetails; } +/** @name RevealedAccountId */ +export interface RevealedAccountId extends PalletDidLookupLinkableAccountLinkableAccountId { } + +/** @name RevealedDidKey */ +export interface RevealedDidKey extends Struct { + readonly id: Hash; + readonly relationship: KeyRelationship; + readonly details: DidDidDetailsDidPublicKeyDetails; +} + +/** @name RevealedLeaf */ +export interface RevealedLeaf extends Enum { + readonly isDidKey: boolean; + readonly asDidKey: RevealedDidKey; + readonly isWeb3Name: boolean; + readonly asWeb3Name: RevealedWeb3Name; + readonly isLinkedAccount: boolean; + readonly asLinkedAccount: RevealedAccountId; + readonly type: 'DidKey' | 'Web3Name' | 'LinkedAccount'; +} + +/** @name RevealedLeaves */ +export interface RevealedLeaves extends Vec { } + +/** @name RevealedWeb3Name */ +export interface RevealedWeb3Name extends Struct { + readonly web3Name: Text; + readonly claimedAt: BlockNumber; +} + +/** @name RuntimeApiDipProofError */ +export interface RuntimeApiDipProofError extends Enum { + readonly isIdentityProvider: boolean; + readonly asIdentityProvider: LinkedDidIdentityProviderError; + readonly isMerkleProof: boolean; + readonly asMerkleProof: DidMerkleProofError; + readonly type: 'IdentityProvider' | 'MerkleProof'; +} + /** @name StakingRates */ export interface StakingRates extends Struct { readonly collatorStakingRate: Perquintill; @@ -41,4 +146,13 @@ export interface StakingRates extends Struct { readonly delegatorRewardRate: Perquintill; } +/** @name VerificationRelationship */ +export interface VerificationRelationship extends Enum { + readonly isAuthentication: boolean; + readonly isCapabilityDelegation: boolean; + readonly isCapabilityInvocation: boolean; + readonly isAssertionMethod: boolean; + readonly type: 'Authentication' | 'CapabilityDelegation' | 'CapabilityInvocation' | 'AssertionMethod'; +} + export type PHANTOM_EXTRADEFS = 'extraDefs'; diff --git a/packages/augment-api/src/interfaces/lookup.ts b/packages/augment-api/src/interfaces/lookup.ts index 6ed6d72e1..fc0a19596 100644 --- a/packages/augment-api/src/interfaces/lookup.ts +++ b/packages/augment-api/src/interfaces/lookup.ts @@ -926,7 +926,182 @@ export default { **/ SpiritnetRuntimeRuntime: 'Null', /** - * Lookup118: cumulus_pallet_parachain_system::pallet::Event + * Lookup118: pallet_dip_provider::pallet::Event + **/ + PalletDipProviderEvent: { + _enum: { + VersionedIdentityCommitted: { + identifier: 'AccountId32', + commitment: 'H256', + version: 'u16', + }, + VersionedIdentityDeleted: { + identifier: 'AccountId32', + version: 'u16' + } + } + }, + /** + * Lookup119: pallet_deposit_storage::pallet::Event + **/ + PalletDepositStorageEvent: { + _enum: { + DepositAdded: { + namespace: 'RuntimeCommonDipDepositDepositNamespace', + key: 'Bytes', + depositEntry: 'PalletDepositStorageDepositDepositEntry', + }, + DepositReclaimed: { + namespace: 'RuntimeCommonDipDepositDepositNamespace', + key: 'Bytes', + depositEntry: 'PalletDepositStorageDepositDepositEntry' + } + } + }, + /** + * Lookup120: runtime_common::dip::deposit::DepositNamespace + **/ + RuntimeCommonDipDepositDepositNamespace: { + _enum: ['DipProvider'] + }, + /** + * Lookup122: pallet_deposit_storage::deposit::DepositEntry + **/ + PalletDepositStorageDepositDepositEntry: { + deposit: 'KiltSupportDeposit', + reason: 'SpiritnetRuntimeRuntimeHoldReason' + }, + /** + * Lookup123: spiritnet_runtime::RuntimeHoldReason + **/ + SpiritnetRuntimeRuntimeHoldReason: { + _enum: { + __Unused0: 'Null', + __Unused1: 'Null', + __Unused2: 'Null', + __Unused3: 'Null', + __Unused4: 'Null', + __Unused5: 'Null', + __Unused6: 'Null', + __Unused7: 'Null', + __Unused8: 'Null', + __Unused9: 'Null', + __Unused10: 'Null', + __Unused11: 'Null', + __Unused12: 'Null', + __Unused13: 'Null', + __Unused14: 'Null', + __Unused15: 'Null', + __Unused16: 'Null', + __Unused17: 'Null', + __Unused18: 'Null', + __Unused19: 'Null', + __Unused20: 'Null', + __Unused21: 'Null', + __Unused22: 'Null', + __Unused23: 'Null', + __Unused24: 'Null', + __Unused25: 'Null', + __Unused26: 'Null', + __Unused27: 'Null', + __Unused28: 'Null', + __Unused29: 'Null', + __Unused30: 'Null', + __Unused31: 'Null', + __Unused32: 'Null', + __Unused33: 'Null', + __Unused34: 'Null', + __Unused35: 'Null', + __Unused36: 'Null', + __Unused37: 'Null', + __Unused38: 'Null', + __Unused39: 'Null', + __Unused40: 'Null', + __Unused41: 'Null', + __Unused42: 'Null', + __Unused43: 'Null', + __Unused44: 'Null', + __Unused45: 'Null', + __Unused46: 'Null', + __Unused47: 'Null', + __Unused48: 'Null', + __Unused49: 'Null', + __Unused50: 'Null', + __Unused51: 'Null', + __Unused52: 'Null', + __Unused53: 'Null', + __Unused54: 'Null', + __Unused55: 'Null', + __Unused56: 'Null', + __Unused57: 'Null', + __Unused58: 'Null', + __Unused59: 'Null', + __Unused60: 'Null', + __Unused61: 'Null', + Attestation: 'AttestationHoldReason', + Delegation: 'DelegationHoldReason', + Did: 'DidHoldReason', + __Unused65: 'Null', + __Unused66: 'Null', + DidLookup: 'PalletDidLookupHoldReason', + Web3Names: 'PalletWeb3NamesHoldReason', + PublicCredentials: 'PublicCredentialsHoldReason', + __Unused70: 'Null', + __Unused71: 'Null', + DepositStorage: 'PalletDepositStorageHoldReason' + } + }, + /** + * Lookup124: attestation::pallet::HoldReason + **/ + AttestationHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup125: delegation::pallet::HoldReason + **/ + DelegationHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup126: did::pallet::HoldReason + **/ + DidHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup127: pallet_did_lookup::pallet::HoldReason + **/ + PalletDidLookupHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup128: pallet_web3_names::pallet::HoldReason + **/ + PalletWeb3NamesHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup129: public_credentials::pallet::HoldReason + **/ + PublicCredentialsHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup130: pallet_deposit_storage::pallet::HoldReason + **/ + PalletDepositStorageHoldReason: { + _enum: ['Deposit'] + }, + /** + * Lookup131: kilt_support::deposit::Deposit + **/ + KiltSupportDeposit: { + owner: 'AccountId32', + amount: 'u128' + }, + /** + * Lookup132: cumulus_pallet_parachain_system::pallet::Event **/ CumulusPalletParachainSystemEvent: { _enum: { @@ -951,7 +1126,7 @@ export default { } }, /** - * Lookup119: cumulus_pallet_xcmp_queue::pallet::Event + * Lookup133: cumulus_pallet_xcmp_queue::pallet::Event **/ CumulusPalletXcmpQueueEvent: { _enum: { @@ -988,7 +1163,7 @@ export default { } }, /** - * Lookup120: xcm::v3::traits::Error + * Lookup134: xcm::v3::traits::Error **/ XcmV3TraitsError: { _enum: { @@ -1035,7 +1210,7 @@ export default { } }, /** - * Lookup122: pallet_xcm::pallet::Event + * Lookup136: pallet_xcm::pallet::Event **/ PalletXcmEvent: { _enum: { @@ -1157,7 +1332,7 @@ export default { } }, /** - * Lookup123: xcm::v3::traits::Outcome + * Lookup137: xcm::v3::traits::Outcome **/ XcmV3TraitsOutcome: { _enum: { @@ -1167,14 +1342,14 @@ export default { } }, /** - * Lookup124: xcm::v3::multilocation::MultiLocation + * Lookup138: xcm::v3::multilocation::MultiLocation **/ XcmV3MultiLocation: { parents: 'u8', interior: 'XcmV3Junctions' }, /** - * Lookup125: xcm::v3::junctions::Junctions + * Lookup139: xcm::v3::junctions::Junctions **/ XcmV3Junctions: { _enum: { @@ -1190,7 +1365,7 @@ export default { } }, /** - * Lookup126: xcm::v3::junction::Junction + * Lookup140: xcm::v3::junction::Junction **/ XcmV3Junction: { _enum: { @@ -1222,7 +1397,7 @@ export default { } }, /** - * Lookup129: xcm::v3::junction::NetworkId + * Lookup143: xcm::v3::junction::NetworkId **/ XcmV3JunctionNetworkId: { _enum: { @@ -1244,7 +1419,7 @@ export default { } }, /** - * Lookup131: xcm::v3::junction::BodyId + * Lookup145: xcm::v3::junction::BodyId **/ XcmV3JunctionBodyId: { _enum: { @@ -1261,7 +1436,7 @@ export default { } }, /** - * Lookup132: xcm::v3::junction::BodyPart + * Lookup146: xcm::v3::junction::BodyPart **/ XcmV3JunctionBodyPart: { _enum: { @@ -1284,11 +1459,11 @@ export default { } }, /** - * Lookup133: xcm::v3::Xcm + * Lookup147: xcm::v3::Xcm **/ XcmV3Xcm: 'Vec', /** - * Lookup135: xcm::v3::Instruction + * Lookup149: xcm::v3::Instruction **/ XcmV3Instruction: { _enum: { @@ -1430,18 +1605,18 @@ export default { } }, /** - * Lookup136: xcm::v3::multiasset::MultiAssets + * Lookup150: xcm::v3::multiasset::MultiAssets **/ XcmV3MultiassetMultiAssets: 'Vec', /** - * Lookup138: xcm::v3::multiasset::MultiAsset + * Lookup152: xcm::v3::multiasset::MultiAsset **/ XcmV3MultiAsset: { id: 'XcmV3MultiassetAssetId', fun: 'XcmV3MultiassetFungibility' }, /** - * Lookup139: xcm::v3::multiasset::AssetId + * Lookup153: xcm::v3::multiasset::AssetId **/ XcmV3MultiassetAssetId: { _enum: { @@ -1450,7 +1625,7 @@ export default { } }, /** - * Lookup140: xcm::v3::multiasset::Fungibility + * Lookup154: xcm::v3::multiasset::Fungibility **/ XcmV3MultiassetFungibility: { _enum: { @@ -1459,7 +1634,7 @@ export default { } }, /** - * Lookup141: xcm::v3::multiasset::AssetInstance + * Lookup155: xcm::v3::multiasset::AssetInstance **/ XcmV3MultiassetAssetInstance: { _enum: { @@ -1472,7 +1647,7 @@ export default { } }, /** - * Lookup143: xcm::v3::Response + * Lookup157: xcm::v3::Response **/ XcmV3Response: { _enum: { @@ -1485,7 +1660,7 @@ export default { } }, /** - * Lookup147: xcm::v3::PalletInfo + * Lookup161: xcm::v3::PalletInfo **/ XcmV3PalletInfo: { index: 'Compact', @@ -1496,7 +1671,7 @@ export default { patch: 'Compact' }, /** - * Lookup150: xcm::v3::MaybeErrorCode + * Lookup164: xcm::v3::MaybeErrorCode **/ XcmV3MaybeErrorCode: { _enum: { @@ -1506,19 +1681,19 @@ export default { } }, /** - * Lookup153: xcm::v2::OriginKind + * Lookup167: xcm::v2::OriginKind **/ XcmV2OriginKind: { _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm'] }, /** - * Lookup154: xcm::double_encoded::DoubleEncoded + * Lookup168: xcm::double_encoded::DoubleEncoded **/ XcmDoubleEncoded: { encoded: 'Bytes' }, /** - * Lookup155: xcm::v3::QueryResponseInfo + * Lookup169: xcm::v3::QueryResponseInfo **/ XcmV3QueryResponseInfo: { destination: 'XcmV3MultiLocation', @@ -1526,7 +1701,7 @@ export default { maxWeight: 'SpWeightsWeightV2Weight' }, /** - * Lookup156: xcm::v3::multiasset::MultiAssetFilter + * Lookup170: xcm::v3::multiasset::MultiAssetFilter **/ XcmV3MultiassetMultiAssetFilter: { _enum: { @@ -1535,7 +1710,7 @@ export default { } }, /** - * Lookup157: xcm::v3::multiasset::WildMultiAsset + * Lookup171: xcm::v3::multiasset::WildMultiAsset **/ XcmV3MultiassetWildMultiAsset: { _enum: { @@ -1553,13 +1728,13 @@ export default { } }, /** - * Lookup158: xcm::v3::multiasset::WildFungibility + * Lookup172: xcm::v3::multiasset::WildFungibility **/ XcmV3MultiassetWildFungibility: { _enum: ['Fungible', 'NonFungible'] }, /** - * Lookup159: xcm::v3::WeightLimit + * Lookup173: xcm::v3::WeightLimit **/ XcmV3WeightLimit: { _enum: { @@ -1568,7 +1743,7 @@ export default { } }, /** - * Lookup160: xcm::VersionedMultiAssets + * Lookup174: xcm::VersionedMultiAssets **/ XcmVersionedMultiAssets: { _enum: { @@ -1579,18 +1754,18 @@ export default { } }, /** - * Lookup161: xcm::v2::multiasset::MultiAssets + * Lookup175: xcm::v2::multiasset::MultiAssets **/ XcmV2MultiassetMultiAssets: 'Vec', /** - * Lookup163: xcm::v2::multiasset::MultiAsset + * Lookup177: xcm::v2::multiasset::MultiAsset **/ XcmV2MultiAsset: { id: 'XcmV2MultiassetAssetId', fun: 'XcmV2MultiassetFungibility' }, /** - * Lookup164: xcm::v2::multiasset::AssetId + * Lookup178: xcm::v2::multiasset::AssetId **/ XcmV2MultiassetAssetId: { _enum: { @@ -1599,14 +1774,14 @@ export default { } }, /** - * Lookup165: xcm::v2::multilocation::MultiLocation + * Lookup179: xcm::v2::multilocation::MultiLocation **/ XcmV2MultiLocation: { parents: 'u8', interior: 'XcmV2MultilocationJunctions' }, /** - * Lookup166: xcm::v2::multilocation::Junctions + * Lookup180: xcm::v2::multilocation::Junctions **/ XcmV2MultilocationJunctions: { _enum: { @@ -1622,7 +1797,7 @@ export default { } }, /** - * Lookup167: xcm::v2::junction::Junction + * Lookup181: xcm::v2::junction::Junction **/ XcmV2Junction: { _enum: { @@ -1650,7 +1825,7 @@ export default { } }, /** - * Lookup168: xcm::v2::NetworkId + * Lookup182: xcm::v2::NetworkId **/ XcmV2NetworkId: { _enum: { @@ -1661,7 +1836,7 @@ export default { } }, /** - * Lookup170: xcm::v2::BodyId + * Lookup184: xcm::v2::BodyId **/ XcmV2BodyId: { _enum: { @@ -1678,7 +1853,7 @@ export default { } }, /** - * Lookup171: xcm::v2::BodyPart + * Lookup185: xcm::v2::BodyPart **/ XcmV2BodyPart: { _enum: { @@ -1701,7 +1876,7 @@ export default { } }, /** - * Lookup172: xcm::v2::multiasset::Fungibility + * Lookup186: xcm::v2::multiasset::Fungibility **/ XcmV2MultiassetFungibility: { _enum: { @@ -1710,7 +1885,7 @@ export default { } }, /** - * Lookup173: xcm::v2::multiasset::AssetInstance + * Lookup187: xcm::v2::multiasset::AssetInstance **/ XcmV2MultiassetAssetInstance: { _enum: { @@ -1724,7 +1899,7 @@ export default { } }, /** - * Lookup174: xcm::VersionedMultiLocation + * Lookup188: xcm::VersionedMultiLocation **/ XcmVersionedMultiLocation: { _enum: { @@ -1735,7 +1910,7 @@ export default { } }, /** - * Lookup175: cumulus_pallet_xcm::pallet::Event + * Lookup189: cumulus_pallet_xcm::pallet::Event **/ CumulusPalletXcmEvent: { _enum: { @@ -1745,7 +1920,7 @@ export default { } }, /** - * Lookup176: cumulus_pallet_dmp_queue::pallet::Event + * Lookup190: cumulus_pallet_dmp_queue::pallet::Event **/ CumulusPalletDmpQueueEvent: { _enum: { @@ -1782,7 +1957,7 @@ export default { } }, /** - * Lookup177: frame_system::Phase + * Lookup191: frame_system::Phase **/ FrameSystemPhase: { _enum: { @@ -1792,14 +1967,14 @@ export default { } }, /** - * Lookup179: frame_system::LastRuntimeUpgradeInfo + * Lookup193: frame_system::LastRuntimeUpgradeInfo **/ FrameSystemLastRuntimeUpgradeInfo: { specVersion: 'Compact', specName: 'Text' }, /** - * Lookup181: frame_system::pallet::Call + * Lookup195: frame_system::pallet::Call **/ FrameSystemCall: { _enum: { @@ -1834,7 +2009,7 @@ export default { } }, /** - * Lookup185: frame_system::limits::BlockWeights + * Lookup199: frame_system::limits::BlockWeights **/ FrameSystemLimitsBlockWeights: { baseBlock: 'SpWeightsWeightV2Weight', @@ -1842,7 +2017,7 @@ export default { perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass' }, /** - * Lookup186: frame_support::dispatch::PerDispatchClass + * Lookup200: frame_support::dispatch::PerDispatchClass **/ FrameSupportDispatchPerDispatchClassWeightsPerClass: { normal: 'FrameSystemLimitsWeightsPerClass', @@ -1850,7 +2025,7 @@ export default { mandatory: 'FrameSystemLimitsWeightsPerClass' }, /** - * Lookup187: frame_system::limits::WeightsPerClass + * Lookup201: frame_system::limits::WeightsPerClass **/ FrameSystemLimitsWeightsPerClass: { baseExtrinsic: 'SpWeightsWeightV2Weight', @@ -1859,13 +2034,13 @@ export default { reserved: 'Option' }, /** - * Lookup189: frame_system::limits::BlockLength + * Lookup203: frame_system::limits::BlockLength **/ FrameSystemLimitsBlockLength: { max: 'FrameSupportDispatchPerDispatchClassU32' }, /** - * Lookup190: frame_support::dispatch::PerDispatchClass + * Lookup204: frame_support::dispatch::PerDispatchClass **/ FrameSupportDispatchPerDispatchClassU32: { normal: 'u32', @@ -1873,14 +2048,14 @@ export default { mandatory: 'u32' }, /** - * Lookup191: sp_weights::RuntimeDbWeight + * Lookup205: sp_weights::RuntimeDbWeight **/ SpWeightsRuntimeDbWeight: { read: 'u64', write: 'u64' }, /** - * Lookup192: sp_version::RuntimeVersion + * Lookup206: sp_version::RuntimeVersion **/ SpVersionRuntimeVersion: { specName: 'Text', @@ -1893,13 +2068,13 @@ export default { stateVersion: 'u8' }, /** - * Lookup196: frame_system::pallet::Error + * Lookup210: frame_system::pallet::Error **/ FrameSystemError: { _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered'] }, /** - * Lookup197: pallet_timestamp::pallet::Call + * Lookup211: pallet_timestamp::pallet::Call **/ PalletTimestampCall: { _enum: { @@ -1909,7 +2084,7 @@ export default { } }, /** - * Lookup199: pallet_indices::pallet::Call + * Lookup213: pallet_indices::pallet::Call **/ PalletIndicesCall: { _enum: { @@ -1940,13 +2115,13 @@ export default { } }, /** - * Lookup202: pallet_indices::pallet::Error + * Lookup216: pallet_indices::pallet::Error **/ PalletIndicesError: { _enum: ['NotAssigned', 'NotOwner', 'InUse', 'NotTransfer', 'Permanent'] }, /** - * Lookup204: pallet_balances::types::BalanceLock + * Lookup218: pallet_balances::types::BalanceLock **/ PalletBalancesBalanceLock: { id: '[u8;8]', @@ -1954,147 +2129,34 @@ export default { reasons: 'PalletBalancesReasons' }, /** - * Lookup205: pallet_balances::types::Reasons + * Lookup219: pallet_balances::types::Reasons **/ PalletBalancesReasons: { _enum: ['Fee', 'Misc', 'All'] }, /** - * Lookup208: pallet_balances::types::ReserveData + * Lookup222: pallet_balances::types::ReserveData **/ PalletBalancesReserveData: { id: '[u8;8]', amount: 'u128' }, /** - * Lookup211: pallet_balances::types::IdAmount + * Lookup225: pallet_balances::types::IdAmount **/ PalletBalancesIdAmountRuntimeHoldReason: { id: 'SpiritnetRuntimeRuntimeHoldReason', amount: 'u128' }, /** - * Lookup212: spiritnet_runtime::RuntimeHoldReason - **/ - SpiritnetRuntimeRuntimeHoldReason: { - _enum: { - __Unused0: 'Null', - __Unused1: 'Null', - __Unused2: 'Null', - __Unused3: 'Null', - __Unused4: 'Null', - __Unused5: 'Null', - __Unused6: 'Null', - __Unused7: 'Null', - __Unused8: 'Null', - __Unused9: 'Null', - __Unused10: 'Null', - __Unused11: 'Null', - __Unused12: 'Null', - __Unused13: 'Null', - __Unused14: 'Null', - __Unused15: 'Null', - __Unused16: 'Null', - __Unused17: 'Null', - __Unused18: 'Null', - __Unused19: 'Null', - __Unused20: 'Null', - __Unused21: 'Null', - __Unused22: 'Null', - __Unused23: 'Null', - __Unused24: 'Null', - __Unused25: 'Null', - __Unused26: 'Null', - __Unused27: 'Null', - __Unused28: 'Null', - __Unused29: 'Null', - __Unused30: 'Null', - __Unused31: 'Null', - __Unused32: 'Null', - __Unused33: 'Null', - __Unused34: 'Null', - __Unused35: 'Null', - __Unused36: 'Null', - __Unused37: 'Null', - __Unused38: 'Null', - __Unused39: 'Null', - __Unused40: 'Null', - __Unused41: 'Null', - __Unused42: 'Null', - __Unused43: 'Null', - __Unused44: 'Null', - __Unused45: 'Null', - __Unused46: 'Null', - __Unused47: 'Null', - __Unused48: 'Null', - __Unused49: 'Null', - __Unused50: 'Null', - __Unused51: 'Null', - __Unused52: 'Null', - __Unused53: 'Null', - __Unused54: 'Null', - __Unused55: 'Null', - __Unused56: 'Null', - __Unused57: 'Null', - __Unused58: 'Null', - __Unused59: 'Null', - __Unused60: 'Null', - __Unused61: 'Null', - Attestation: 'AttestationHoldReason', - Delegation: 'DelegationHoldReason', - Did: 'DidHoldReason', - __Unused65: 'Null', - __Unused66: 'Null', - DidLookup: 'PalletDidLookupHoldReason', - Web3Names: 'PalletWeb3NamesHoldReason', - PublicCredentials: 'PublicCredentialsHoldReason' - } - }, - /** - * Lookup213: attestation::pallet::HoldReason - **/ - AttestationHoldReason: { - _enum: ['Deposit'] - }, - /** - * Lookup214: delegation::pallet::HoldReason - **/ - DelegationHoldReason: { - _enum: ['Deposit'] - }, - /** - * Lookup215: did::pallet::HoldReason - **/ - DidHoldReason: { - _enum: ['Deposit'] - }, - /** - * Lookup216: pallet_did_lookup::pallet::HoldReason - **/ - PalletDidLookupHoldReason: { - _enum: ['Deposit'] - }, - /** - * Lookup217: pallet_web3_names::pallet::HoldReason - **/ - PalletWeb3NamesHoldReason: { - _enum: ['Deposit'] - }, - /** - * Lookup218: public_credentials::pallet::HoldReason - **/ - PublicCredentialsHoldReason: { - _enum: ['Deposit'] - }, - /** - * Lookup221: pallet_balances::types::IdAmount + * Lookup228: pallet_balances::types::IdAmount **/ PalletBalancesIdAmountRuntimeFreezeReason: { id: 'SpiritnetRuntimeRuntimeFreezeReason', amount: 'u128' }, /** - * Lookup222: spiritnet_runtime::RuntimeFreezeReason + * Lookup229: spiritnet_runtime::RuntimeFreezeReason **/ SpiritnetRuntimeRuntimeFreezeReason: { _enum: { @@ -2123,13 +2185,13 @@ export default { } }, /** - * Lookup223: parachain_staking::pallet::FreezeReason + * Lookup230: parachain_staking::pallet::FreezeReason **/ ParachainStakingFreezeReason: { _enum: ['Staking'] }, /** - * Lookup225: pallet_balances::pallet::Call + * Lookup232: pallet_balances::pallet::Call **/ PalletBalancesCall: { _enum: { @@ -2173,37 +2235,37 @@ export default { } }, /** - * Lookup226: pallet_balances::pallet::Error + * Lookup233: pallet_balances::pallet::Error **/ PalletBalancesError: { _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'Expendability', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves', 'TooManyHolds', 'TooManyFreezes'] }, /** - * Lookup228: pallet_transaction_payment::Releases + * Lookup235: pallet_transaction_payment::Releases **/ PalletTransactionPaymentReleases: { _enum: ['V1Ancient', 'V2'] }, /** - * Lookup230: sp_consensus_aura::sr25519::app_sr25519::Public + * Lookup237: sp_consensus_aura::sr25519::app_sr25519::Public **/ SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public', /** - * Lookup231: sp_core::sr25519::Public + * Lookup238: sp_core::sr25519::Public **/ SpCoreSr25519Public: '[u8;32]', /** - * Lookup236: spiritnet_runtime::SessionKeys + * Lookup243: spiritnet_runtime::SessionKeys **/ SpiritnetRuntimeSessionKeys: { aura: 'SpConsensusAuraSr25519AppSr25519Public' }, /** - * Lookup239: sp_core::crypto::KeyTypeId + * Lookup246: sp_core::crypto::KeyTypeId **/ SpCoreCryptoKeyTypeId: '[u8;4]', /** - * Lookup240: pallet_session::pallet::Call + * Lookup247: pallet_session::pallet::Call **/ PalletSessionCall: { _enum: { @@ -2218,13 +2280,13 @@ export default { } }, /** - * Lookup241: pallet_session::pallet::Error + * Lookup248: pallet_session::pallet::Error **/ PalletSessionError: { _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount'] }, /** - * Lookup242: parachain_staking::types::RoundInfo + * Lookup249: parachain_staking::types::RoundInfo **/ ParachainStakingRoundInfo: { current: 'u32', @@ -2232,21 +2294,21 @@ export default { length: 'u64' }, /** - * Lookup243: parachain_staking::types::DelegationCounter + * Lookup250: parachain_staking::types::DelegationCounter **/ ParachainStakingDelegationCounter: { round: 'u32', counter: 'u32' }, /** - * Lookup244: parachain_staking::types::Stake + * Lookup251: parachain_staking::types::Stake **/ ParachainStakingStake: { owner: 'AccountId32', amount: 'u128' }, /** - * Lookup245: parachain_staking::types::Candidate + * Lookup252: parachain_staking::types::Candidate **/ ParachainStakingCandidate: { id: 'AccountId32', @@ -2256,11 +2318,11 @@ export default { status: 'ParachainStakingCandidateStatus' }, /** - * Lookup246: parachain_staking::set::OrderedSet, S> + * Lookup253: parachain_staking::set::OrderedSet, S> **/ ParachainStakingSetOrderedSet: 'Vec', /** - * Lookup249: parachain_staking::types::CandidateStatus + * Lookup256: parachain_staking::types::CandidateStatus **/ ParachainStakingCandidateStatus: { _enum: { @@ -2269,35 +2331,35 @@ export default { } }, /** - * Lookup250: parachain_staking::types::TotalStake + * Lookup257: parachain_staking::types::TotalStake **/ ParachainStakingTotalStake: { collators: 'u128', delegators: 'u128' }, /** - * Lookup253: parachain_staking::inflation::InflationInfo + * Lookup260: parachain_staking::inflation::InflationInfo **/ ParachainStakingInflationInflationInfo: { collator: 'ParachainStakingInflationStakingInfo', delegator: 'ParachainStakingInflationStakingInfo' }, /** - * Lookup254: parachain_staking::inflation::StakingInfo + * Lookup261: parachain_staking::inflation::StakingInfo **/ ParachainStakingInflationStakingInfo: { maxRate: 'Perquintill', rewardRate: 'ParachainStakingInflationRewardRate' }, /** - * Lookup255: parachain_staking::inflation::RewardRate + * Lookup262: parachain_staking::inflation::RewardRate **/ ParachainStakingInflationRewardRate: { annual: 'Perquintill', perBlock: 'Perquintill' }, /** - * Lookup260: parachain_staking::pallet::Call + * Lookup267: parachain_staking::pallet::Call **/ ParachainStakingCall: { _enum: { @@ -2364,13 +2426,13 @@ export default { } }, /** - * Lookup261: parachain_staking::pallet::Error + * Lookup268: parachain_staking::pallet::Error **/ ParachainStakingError: { _enum: ['DelegatorNotFound', 'CandidateNotFound', 'DelegatorExists', 'CandidateExists', 'ValStakeZero', 'ValStakeBelowMin', 'ValStakeAboveMax', 'DelegationBelowMin', 'AlreadyLeaving', 'NotLeaving', 'CannotLeaveYet', 'CannotJoinBeforeUnlocking', 'AlreadyDelegating', 'NotYetDelegating', 'DelegationsPerRoundExceeded', 'TooManyDelegators', 'TooFewCollatorCandidates', 'CannotStakeIfLeaving', 'CannotDelegateIfLeaving', 'MaxCollatorsPerDelegatorExceeded', 'AlreadyDelegatedCollator', 'DelegationNotFound', 'Underflow', 'CannotSetAboveMax', 'CannotSetBelowMin', 'InvalidSchedule', 'NoMoreUnstaking', 'TooEarly', 'StakeNotFound', 'UnstakingIsEmpty', 'RewardsNotFound'] }, /** - * Lookup264: frame_support::traits::preimages::Bounded + * Lookup271: frame_support::traits::preimages::Bounded **/ FrameSupportPreimagesBounded: { _enum: { @@ -2391,7 +2453,7 @@ export default { } }, /** - * Lookup266: pallet_democracy::pallet::Call + * Lookup273: pallet_democracy::pallet::Call **/ PalletDemocracyCall: { _enum: { @@ -2460,13 +2522,13 @@ export default { } }, /** - * Lookup267: pallet_democracy::conviction::Conviction + * Lookup274: pallet_democracy::conviction::Conviction **/ PalletDemocracyConviction: { _enum: ['None', 'Locked1x', 'Locked2x', 'Locked3x', 'Locked4x', 'Locked5x', 'Locked6x'] }, /** - * Lookup270: pallet_collective::pallet::Call + * Lookup277: pallet_collective::pallet::Call **/ PalletCollectiveCall: { _enum: { @@ -2502,7 +2564,7 @@ export default { } }, /** - * Lookup273: pallet_membership::pallet::Call + * Lookup280: pallet_membership::pallet::Call **/ PalletMembershipCall: { _enum: { @@ -2532,7 +2594,7 @@ export default { } }, /** - * Lookup274: pallet_treasury::pallet::Call + * Lookup281: pallet_treasury::pallet::Call **/ PalletTreasuryCall: { _enum: { @@ -2556,7 +2618,7 @@ export default { } }, /** - * Lookup275: pallet_utility::pallet::Call + * Lookup282: pallet_utility::pallet::Call **/ PalletUtilityCall: { _enum: { @@ -2584,7 +2646,7 @@ export default { } }, /** - * Lookup277: spiritnet_runtime::OriginCaller + * Lookup284: spiritnet_runtime::OriginCaller **/ SpiritnetRuntimeOriginCaller: { _enum: { @@ -2676,7 +2738,7 @@ export default { } }, /** - * Lookup278: frame_support::dispatch::RawOrigin + * Lookup285: frame_support::dispatch::RawOrigin **/ FrameSupportDispatchRawOrigin: { _enum: { @@ -2686,7 +2748,7 @@ export default { } }, /** - * Lookup279: pallet_collective::RawOrigin + * Lookup286: pallet_collective::RawOrigin **/ PalletCollectiveRawOrigin: { _enum: { @@ -2696,14 +2758,14 @@ export default { } }, /** - * Lookup281: did::origin::DidRawOrigin + * Lookup288: did::origin::DidRawOrigin **/ DidOriginDidRawOrigin: { id: 'AccountId32', submitter: 'AccountId32' }, /** - * Lookup282: pallet_xcm::pallet::Origin + * Lookup289: pallet_xcm::pallet::Origin **/ PalletXcmOrigin: { _enum: { @@ -2712,7 +2774,7 @@ export default { } }, /** - * Lookup283: cumulus_pallet_xcm::pallet::Origin + * Lookup290: cumulus_pallet_xcm::pallet::Origin **/ CumulusPalletXcmOrigin: { _enum: { @@ -2721,11 +2783,11 @@ export default { } }, /** - * Lookup284: sp_core::Void + * Lookup291: sp_core::Void **/ SpCoreVoid: 'Null', /** - * Lookup285: pallet_vesting::pallet::Call + * Lookup292: pallet_vesting::pallet::Call **/ PalletVestingCall: { _enum: { @@ -2749,7 +2811,7 @@ export default { } }, /** - * Lookup286: pallet_vesting::vesting_info::VestingInfo + * Lookup293: pallet_vesting::vesting_info::VestingInfo **/ PalletVestingVestingInfo: { locked: 'u128', @@ -2757,7 +2819,7 @@ export default { startingBlock: 'u64' }, /** - * Lookup287: pallet_scheduler::pallet::Call + * Lookup294: pallet_scheduler::pallet::Call **/ PalletSchedulerCall: { _enum: { @@ -2797,7 +2859,7 @@ export default { } }, /** - * Lookup289: pallet_proxy::pallet::Call + * Lookup296: pallet_proxy::pallet::Call **/ PalletProxyCall: { _enum: { @@ -2850,7 +2912,7 @@ export default { } }, /** - * Lookup291: pallet_preimage::pallet::Call + * Lookup298: pallet_preimage::pallet::Call **/ PalletPreimageCall: { _enum: { @@ -2878,7 +2940,7 @@ export default { } }, /** - * Lookup293: pallet_tips::pallet::Call + * Lookup300: pallet_tips::pallet::Call **/ PalletTipsCall: { _enum: { @@ -2919,7 +2981,7 @@ export default { } }, /** - * Lookup294: pallet_multisig::pallet::Call + * Lookup301: pallet_multisig::pallet::Call **/ PalletMultisigCall: { _enum: { @@ -2950,7 +3012,7 @@ export default { } }, /** - * Lookup296: ctype::pallet::Call + * Lookup303: ctype::pallet::Call **/ CtypeCall: { _enum: { @@ -2964,7 +3026,7 @@ export default { } }, /** - * Lookup297: attestation::pallet::Call + * Lookup304: attestation::pallet::Call **/ AttestationCall: { _enum: { @@ -2993,7 +3055,7 @@ export default { } }, /** - * Lookup299: runtime_common::authorization::PalletAuthorize> + * Lookup306: runtime_common::authorization::PalletAuthorize> **/ RuntimeCommonAuthorizationPalletAuthorize: { _enum: { @@ -3001,14 +3063,14 @@ export default { } }, /** - * Lookup300: delegation::access_control::DelegationAc + * Lookup307: delegation::access_control::DelegationAc **/ DelegationAccessControlDelegationAc: { subjectNodeId: 'H256', maxChecks: 'u32' }, /** - * Lookup301: delegation::pallet::Call + * Lookup308: delegation::pallet::Call **/ DelegationCall: { _enum: { @@ -3045,7 +3107,7 @@ export default { } }, /** - * Lookup302: did::did_details::DidSignature + * Lookup309: did::did_details::DidSignature **/ DidDidDetailsDidSignature: { _enum: { @@ -3055,19 +3117,19 @@ export default { } }, /** - * Lookup303: sp_core::ed25519::Signature + * Lookup310: sp_core::ed25519::Signature **/ SpCoreEd25519Signature: '[u8;64]', /** - * Lookup305: sp_core::sr25519::Signature + * Lookup312: sp_core::sr25519::Signature **/ SpCoreSr25519Signature: '[u8;64]', /** - * Lookup306: sp_core::ecdsa::Signature + * Lookup313: sp_core::ecdsa::Signature **/ SpCoreEcdsaSignature: '[u8;65]', /** - * Lookup308: did::pallet::Call + * Lookup315: did::pallet::Call **/ DidCall: { _enum: { @@ -3123,7 +3185,7 @@ export default { } }, /** - * Lookup309: did::did_details::DidCreationDetails> + * Lookup316: did::did_details::DidCreationDetails> **/ DidDidDetailsDidCreationDetails: { did: 'AccountId32', @@ -3134,11 +3196,11 @@ export default { newServiceDetails: 'Vec' }, /** - * Lookup310: runtime_common::constants::did::MaxNewKeyAgreementKeys + * Lookup317: runtime_common::constants::did::MaxNewKeyAgreementKeys **/ RuntimeCommonConstantsDidMaxNewKeyAgreementKeys: 'Null', /** - * Lookup311: did::service_endpoints::DidEndpoint + * Lookup318: did::service_endpoints::DidEndpoint **/ DidServiceEndpointsDidEndpoint: { id: 'Bytes', @@ -3146,7 +3208,7 @@ export default { urls: 'Vec' }, /** - * Lookup320: did::did_details::DidEncryptionKey + * Lookup327: did::did_details::DidEncryptionKey **/ DidDidDetailsDidEncryptionKey: { _enum: { @@ -3154,7 +3216,7 @@ export default { } }, /** - * Lookup324: did::did_details::DidVerificationKey + * Lookup331: did::did_details::DidVerificationKey **/ DidDidDetailsDidVerificationKey: { _enum: { @@ -3165,15 +3227,15 @@ export default { } }, /** - * Lookup325: sp_core::ed25519::Public + * Lookup332: sp_core::ed25519::Public **/ SpCoreEd25519Public: '[u8;32]', /** - * Lookup326: sp_core::ecdsa::Public + * Lookup333: sp_core::ecdsa::Public **/ SpCoreEcdsaPublic: '[u8;33]', /** - * Lookup329: did::did_details::DidAuthorizedCallOperation + * Lookup336: did::did_details::DidAuthorizedCallOperation **/ DidDidDetailsDidAuthorizedCallOperation: { did: 'AccountId32', @@ -3183,7 +3245,7 @@ export default { submitter: 'AccountId32' }, /** - * Lookup330: pallet_did_lookup::pallet::Call + * Lookup337: pallet_did_lookup::pallet::Call **/ PalletDidLookupCall: { _enum: { @@ -3208,7 +3270,7 @@ export default { } }, /** - * Lookup331: pallet_did_lookup::associate_account_request::AssociateAccountRequest + * Lookup338: pallet_did_lookup::associate_account_request::AssociateAccountRequest **/ PalletDidLookupAssociateAccountRequest: { _enum: { @@ -3217,7 +3279,7 @@ export default { } }, /** - * Lookup332: sp_runtime::MultiSignature + * Lookup339: sp_runtime::MultiSignature **/ SpRuntimeMultiSignature: { _enum: { @@ -3227,11 +3289,11 @@ export default { } }, /** - * Lookup333: pallet_did_lookup::account::EthereumSignature + * Lookup340: pallet_did_lookup::account::EthereumSignature **/ PalletDidLookupAccountEthereumSignature: 'SpCoreEcdsaSignature', /** - * Lookup334: pallet_web3_names::pallet::Call + * Lookup341: pallet_web3_names::pallet::Call **/ PalletWeb3NamesCall: { _enum: { @@ -3255,7 +3317,7 @@ export default { } }, /** - * Lookup335: public_credentials::pallet::Call + * Lookup342: public_credentials::pallet::Call **/ PublicCredentialsCall: { _enum: { @@ -3286,7 +3348,7 @@ export default { } }, /** - * Lookup336: public_credentials::credentials::Credential, bounded_collections::bounded_vec::BoundedVec, runtime_common::authorization::PalletAuthorize>> + * Lookup343: public_credentials::credentials::Credential, bounded_collections::bounded_vec::BoundedVec, runtime_common::authorization::PalletAuthorize>> **/ PublicCredentialsCredentialsCredential: { ctypeHash: 'H256', @@ -3295,7 +3357,7 @@ export default { authorization: 'Option' }, /** - * Lookup339: pallet_migration::pallet::Call + * Lookup346: pallet_migration::pallet::Call **/ PalletMigrationCall: { _enum: { @@ -3305,7 +3367,33 @@ export default { } }, /** - * Lookup340: cumulus_pallet_parachain_system::pallet::Call + * Lookup347: pallet_dip_provider::pallet::Call + **/ + PalletDipProviderCall: { + _enum: { + commit_identity: { + identifier: 'AccountId32', + version: 'Option', + }, + delete_identity_commitment: { + identifier: 'AccountId32', + version: 'Option' + } + } + }, + /** + * Lookup349: pallet_deposit_storage::pallet::Call + **/ + PalletDepositStorageCall: { + _enum: { + reclaim_deposit: { + namespace: 'RuntimeCommonDipDepositDepositNamespace', + key: 'Bytes' + } + } + }, + /** + * Lookup350: cumulus_pallet_parachain_system::pallet::Call **/ CumulusPalletParachainSystemCall: { _enum: { @@ -3325,7 +3413,7 @@ export default { } }, /** - * Lookup341: cumulus_primitives_parachain_inherent::ParachainInherentData + * Lookup351: cumulus_primitives_parachain_inherent::ParachainInherentData **/ CumulusPrimitivesParachainInherentParachainInherentData: { validationData: 'PolkadotPrimitivesV5PersistedValidationData', @@ -3334,7 +3422,7 @@ export default { horizontalMessages: 'BTreeMap>' }, /** - * Lookup342: polkadot_primitives::v5::PersistedValidationData + * Lookup352: polkadot_primitives::v5::PersistedValidationData **/ PolkadotPrimitivesV5PersistedValidationData: { parentHead: 'Bytes', @@ -3343,31 +3431,31 @@ export default { maxPovSize: 'u32' }, /** - * Lookup344: sp_trie::storage_proof::StorageProof + * Lookup354: sp_trie::storage_proof::StorageProof **/ SpTrieStorageProof: { trieNodes: 'BTreeSet' }, /** - * Lookup347: polkadot_core_primitives::InboundDownwardMessage + * Lookup357: polkadot_core_primitives::InboundDownwardMessage **/ PolkadotCorePrimitivesInboundDownwardMessage: { sentAt: 'u32', msg: 'Bytes' }, /** - * Lookup350: polkadot_core_primitives::InboundHrmpMessage + * Lookup360: polkadot_core_primitives::InboundHrmpMessage **/ PolkadotCorePrimitivesInboundHrmpMessage: { sentAt: 'u32', data: 'Bytes' }, /** - * Lookup353: parachain_info::pallet::Call + * Lookup363: parachain_info::pallet::Call **/ ParachainInfoCall: 'Null', /** - * Lookup354: cumulus_pallet_xcmp_queue::pallet::Call + * Lookup364: cumulus_pallet_xcmp_queue::pallet::Call **/ CumulusPalletXcmpQueueCall: { _enum: { @@ -3416,7 +3504,7 @@ export default { } }, /** - * Lookup355: pallet_xcm::pallet::Call + * Lookup365: pallet_xcm::pallet::Call **/ PalletXcmCall: { _enum: { @@ -3473,7 +3561,7 @@ export default { } }, /** - * Lookup356: xcm::VersionedXcm + * Lookup366: xcm::VersionedXcm **/ XcmVersionedXcm: { _enum: { @@ -3484,11 +3572,11 @@ export default { } }, /** - * Lookup357: xcm::v2::Xcm + * Lookup367: xcm::v2::Xcm **/ XcmV2Xcm: 'Vec', /** - * Lookup359: xcm::v2::Instruction + * Lookup369: xcm::v2::Instruction **/ XcmV2Instruction: { _enum: { @@ -3586,7 +3674,7 @@ export default { } }, /** - * Lookup360: xcm::v2::Response + * Lookup370: xcm::v2::Response **/ XcmV2Response: { _enum: { @@ -3597,7 +3685,7 @@ export default { } }, /** - * Lookup363: xcm::v2::traits::Error + * Lookup373: xcm::v2::traits::Error **/ XcmV2TraitsError: { _enum: { @@ -3630,7 +3718,7 @@ export default { } }, /** - * Lookup364: xcm::v2::multiasset::MultiAssetFilter + * Lookup374: xcm::v2::multiasset::MultiAssetFilter **/ XcmV2MultiassetMultiAssetFilter: { _enum: { @@ -3639,7 +3727,7 @@ export default { } }, /** - * Lookup365: xcm::v2::multiasset::WildMultiAsset + * Lookup375: xcm::v2::multiasset::WildMultiAsset **/ XcmV2MultiassetWildMultiAsset: { _enum: { @@ -3651,13 +3739,13 @@ export default { } }, /** - * Lookup366: xcm::v2::multiasset::WildFungibility + * Lookup376: xcm::v2::multiasset::WildFungibility **/ XcmV2MultiassetWildFungibility: { _enum: ['Fungible', 'NonFungible'] }, /** - * Lookup367: xcm::v2::WeightLimit + * Lookup377: xcm::v2::WeightLimit **/ XcmV2WeightLimit: { _enum: { @@ -3666,7 +3754,7 @@ export default { } }, /** - * Lookup376: cumulus_pallet_dmp_queue::pallet::Call + * Lookup386: cumulus_pallet_dmp_queue::pallet::Call **/ CumulusPalletDmpQueueCall: { _enum: { @@ -3677,7 +3765,7 @@ export default { } }, /** - * Lookup380: pallet_democracy::types::ReferendumInfo, Balance> + * Lookup390: pallet_democracy::types::ReferendumInfo, Balance> **/ PalletDemocracyReferendumInfo: { _enum: { @@ -3689,7 +3777,7 @@ export default { } }, /** - * Lookup381: pallet_democracy::types::ReferendumStatus, Balance> + * Lookup391: pallet_democracy::types::ReferendumStatus, Balance> **/ PalletDemocracyReferendumStatus: { end: 'u64', @@ -3699,7 +3787,7 @@ export default { tally: 'PalletDemocracyTally' }, /** - * Lookup382: pallet_democracy::types::Tally + * Lookup392: pallet_democracy::types::Tally **/ PalletDemocracyTally: { ayes: 'u128', @@ -3707,7 +3795,7 @@ export default { turnout: 'u128' }, /** - * Lookup383: pallet_democracy::vote::Voting + * Lookup393: pallet_democracy::vote::Voting **/ PalletDemocracyVoteVoting: { _enum: { @@ -3726,24 +3814,24 @@ export default { } }, /** - * Lookup387: pallet_democracy::types::Delegations + * Lookup397: pallet_democracy::types::Delegations **/ PalletDemocracyDelegations: { votes: 'u128', capital: 'u128' }, /** - * Lookup388: pallet_democracy::vote::PriorLock + * Lookup398: pallet_democracy::vote::PriorLock **/ PalletDemocracyVotePriorLock: '(u64,u128)', /** - * Lookup391: pallet_democracy::pallet::Error + * Lookup401: pallet_democracy::pallet::Error **/ PalletDemocracyError: { _enum: ['ValueLow', 'ProposalMissing', 'AlreadyCanceled', 'DuplicateProposal', 'ProposalBlacklisted', 'NotSimpleMajority', 'InvalidHash', 'NoProposal', 'AlreadyVetoed', 'ReferendumInvalid', 'NoneWaiting', 'NotVoter', 'NoPermission', 'AlreadyDelegating', 'InsufficientFunds', 'NotDelegating', 'VotesExist', 'InstantNotAllowed', 'Nonsense', 'WrongUpperBound', 'MaxVotesReached', 'TooMany', 'VotingPeriodLow', 'PreimageNotExist'] }, /** - * Lookup393: pallet_collective::Votes + * Lookup403: pallet_collective::Votes **/ PalletCollectiveVotes: { index: 'u32', @@ -3753,19 +3841,19 @@ export default { end: 'u64' }, /** - * Lookup394: pallet_collective::pallet::Error + * Lookup404: pallet_collective::pallet::Error **/ PalletCollectiveError: { _enum: ['NotMember', 'DuplicateProposal', 'ProposalMissing', 'WrongIndex', 'DuplicateVote', 'AlreadyInitialized', 'TooEarly', 'TooManyProposals', 'WrongProposalWeight', 'WrongProposalLength'] }, /** - * Lookup398: pallet_membership::pallet::Error + * Lookup408: pallet_membership::pallet::Error **/ PalletMembershipError: { _enum: ['AlreadyMember', 'NotMember', 'TooManyMembers'] }, /** - * Lookup399: pallet_treasury::Proposal + * Lookup409: pallet_treasury::Proposal **/ PalletTreasuryProposal: { proposer: 'AccountId32', @@ -3774,35 +3862,35 @@ export default { bond: 'u128' }, /** - * Lookup403: frame_support::PalletId + * Lookup413: frame_support::PalletId **/ FrameSupportPalletId: '[u8;8]', /** - * Lookup404: pallet_treasury::pallet::Error + * Lookup414: pallet_treasury::pallet::Error **/ PalletTreasuryError: { _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved'] }, /** - * Lookup405: pallet_utility::pallet::Error + * Lookup415: pallet_utility::pallet::Error **/ PalletUtilityError: { _enum: ['TooManyCalls'] }, /** - * Lookup408: pallet_vesting::Releases + * Lookup418: pallet_vesting::Releases **/ PalletVestingReleases: { _enum: ['V0', 'V1'] }, /** - * Lookup409: pallet_vesting::pallet::Error + * Lookup419: pallet_vesting::pallet::Error **/ PalletVestingError: { _enum: ['NotVesting', 'AtMaxVestingSchedules', 'AmountLow', 'ScheduleIndexOutOfBounds', 'InvalidScheduleParams'] }, /** - * Lookup412: pallet_scheduler::Scheduled, BlockNumber, spiritnet_runtime::OriginCaller, sp_core::crypto::AccountId32> + * Lookup422: pallet_scheduler::Scheduled, BlockNumber, spiritnet_runtime::OriginCaller, sp_core::crypto::AccountId32> **/ PalletSchedulerScheduled: { maybeId: 'Option<[u8;32]>', @@ -3812,13 +3900,13 @@ export default { origin: 'SpiritnetRuntimeOriginCaller' }, /** - * Lookup414: pallet_scheduler::pallet::Error + * Lookup424: pallet_scheduler::pallet::Error **/ PalletSchedulerError: { _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange', 'Named'] }, /** - * Lookup417: pallet_proxy::ProxyDefinition + * Lookup427: pallet_proxy::ProxyDefinition **/ PalletProxyProxyDefinition: { delegate: 'AccountId32', @@ -3826,7 +3914,7 @@ export default { delay: 'u64' }, /** - * Lookup421: pallet_proxy::Announcement + * Lookup431: pallet_proxy::Announcement **/ PalletProxyAnnouncement: { real: 'AccountId32', @@ -3834,13 +3922,13 @@ export default { height: 'u64' }, /** - * Lookup423: pallet_proxy::pallet::Error + * Lookup433: pallet_proxy::pallet::Error **/ PalletProxyError: { _enum: ['TooMany', 'NotFound', 'NotProxy', 'Unproxyable', 'Duplicate', 'NoPermission', 'Unannounced', 'NoSelfProxy'] }, /** - * Lookup424: pallet_preimage::RequestStatus + * Lookup434: pallet_preimage::RequestStatus **/ PalletPreimageRequestStatus: { _enum: { @@ -3856,13 +3944,13 @@ export default { } }, /** - * Lookup429: pallet_preimage::pallet::Error + * Lookup439: pallet_preimage::pallet::Error **/ PalletPreimageError: { _enum: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested'] }, /** - * Lookup432: pallet_tips::OpenTip + * Lookup442: pallet_tips::OpenTip **/ PalletTipsOpenTip: { reason: 'H256', @@ -3874,13 +3962,13 @@ export default { findersFee: 'bool' }, /** - * Lookup436: pallet_tips::pallet::Error + * Lookup446: pallet_tips::pallet::Error **/ PalletTipsError: { _enum: ['ReasonTooBig', 'AlreadyKnown', 'UnknownTip', 'NotFinder', 'StillOpen', 'Premature'] }, /** - * Lookup438: pallet_multisig::Multisig + * Lookup448: pallet_multisig::Multisig **/ PalletMultisigMultisig: { when: 'PalletMultisigTimepoint', @@ -3889,26 +3977,26 @@ export default { approvals: 'Vec' }, /** - * Lookup440: pallet_multisig::pallet::Error + * Lookup450: pallet_multisig::pallet::Error **/ PalletMultisigError: { _enum: ['MinimumThreshold', 'AlreadyApproved', 'NoApprovalsNeeded', 'TooFewSignatories', 'TooManySignatories', 'SignatoriesOutOfOrder', 'SenderInSignatories', 'NotFound', 'NotOwner', 'NoTimepoint', 'WrongTimepoint', 'UnexpectedTimepoint', 'MaxWeightTooLow', 'AlreadyStored'] }, /** - * Lookup441: ctype::ctype_entry::CtypeEntry + * Lookup451: ctype::ctype_entry::CtypeEntry **/ CtypeCtypeEntry: { creator: 'AccountId32', createdAt: 'u64' }, /** - * Lookup442: ctype::pallet::Error + * Lookup452: ctype::pallet::Error **/ CtypeError: { _enum: ['NotFound', 'AlreadyExists', 'UnableToPayFees'] }, /** - * Lookup443: attestation::attestations::AttestationDetails, sp_core::crypto::AccountId32, Balance> + * Lookup453: attestation::attestations::AttestationDetails, sp_core::crypto::AccountId32, Balance> **/ AttestationAttestationsAttestationDetails: { ctypeHash: 'H256', @@ -3918,20 +4006,13 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup444: kilt_support::deposit::Deposit - **/ - KiltSupportDeposit: { - owner: 'AccountId32', - amount: 'u128' - }, - /** - * Lookup446: attestation::pallet::Error + * Lookup455: attestation::pallet::Error **/ AttestationError: { _enum: ['AlreadyAttested', 'AlreadyRevoked', 'NotFound', 'CTypeMismatch', 'NotAuthorized', 'MaxDelegatedAttestationsExceeded'] }, /** - * Lookup447: delegation::delegation_hierarchy::DelegationNode, sp_core::crypto::AccountId32, Balance> + * Lookup456: delegation::delegation_hierarchy::DelegationNode, sp_core::crypto::AccountId32, Balance> **/ DelegationDelegationHierarchyDelegationNode: { hierarchyRootId: 'H256', @@ -3941,11 +4022,11 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup448: runtime_common::constants::delegation::MaxChildren + * Lookup457: runtime_common::constants::delegation::MaxChildren **/ RuntimeCommonConstantsDelegationMaxChildren: 'Null', /** - * Lookup449: delegation::delegation_hierarchy::DelegationDetails + * Lookup458: delegation::delegation_hierarchy::DelegationDetails **/ DelegationDelegationHierarchyDelegationDetails: { owner: 'AccountId32', @@ -3953,19 +4034,19 @@ export default { permissions: 'DelegationDelegationHierarchyPermissions' }, /** - * Lookup452: delegation::delegation_hierarchy::DelegationHierarchyDetails + * Lookup461: delegation::delegation_hierarchy::DelegationHierarchyDetails **/ DelegationDelegationHierarchyDelegationHierarchyDetails: { ctypeHash: 'H256' }, /** - * Lookup453: delegation::pallet::Error + * Lookup462: delegation::pallet::Error **/ DelegationError: { _enum: ['DelegationAlreadyExists', 'InvalidDelegateSignature', 'DelegationNotFound', 'DelegateNotFound', 'HierarchyAlreadyExists', 'HierarchyNotFound', 'MaxSearchDepthReached', 'NotOwnerOfParentDelegation', 'NotOwnerOfDelegationHierarchy', 'ParentDelegationNotFound', 'ParentDelegationRevoked', 'UnauthorizedRevocation', 'UnauthorizedRemoval', 'UnauthorizedDelegation', 'AccessDenied', 'ExceededRevocationBounds', 'ExceededRemovalBounds', 'MaxRevocationsTooLarge', 'MaxRemovalsTooLarge', 'MaxParentChecksTooLarge', 'Internal', 'MaxChildrenExceeded'] }, /** - * Lookup454: did::did_details::DidDetails + * Lookup463: did::did_details::DidDetails **/ DidDidDetails: { authenticationKey: 'H256', @@ -3977,14 +4058,14 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup457: did::did_details::DidPublicKeyDetails + * Lookup466: did::did_details::DidPublicKeyDetails **/ DidDidDetailsDidPublicKeyDetails: { key: 'DidDidDetailsDidPublicKey', blockNumber: 'u64' }, /** - * Lookup458: did::did_details::DidPublicKey + * Lookup467: did::did_details::DidPublicKey **/ DidDidDetailsDidPublicKey: { _enum: { @@ -3993,26 +4074,26 @@ export default { } }, /** - * Lookup463: did::pallet::Error + * Lookup472: did::pallet::Error **/ DidError: { _enum: ['InvalidSignatureFormat', 'InvalidSignature', 'AlreadyExists', 'NotFound', 'VerificationKeyNotFound', 'InvalidNonce', 'UnsupportedDidAuthorizationCall', 'InvalidDidAuthorizationCall', 'MaxNewKeyAgreementKeysLimitExceeded', 'MaxPublicKeysExceeded', 'MaxKeyAgreementKeysExceeded', 'BadDidOrigin', 'TransactionExpired', 'AlreadyDeleted', 'NotOwnerOfDeposit', 'UnableToPayFees', 'MaxNumberOfServicesExceeded', 'MaxServiceIdLengthExceeded', 'MaxServiceTypeLengthExceeded', 'MaxNumberOfTypesPerServiceExceeded', 'MaxServiceUrlLengthExceeded', 'MaxNumberOfUrlsPerServiceExceeded', 'ServiceAlreadyExists', 'ServiceNotFound', 'InvalidServiceEncoding', 'MaxStoredEndpointsCountExceeded', 'Internal'] }, /** - * Lookup464: pallet_did_lookup::connection_record::ConnectionRecord + * Lookup473: pallet_did_lookup::connection_record::ConnectionRecord **/ PalletDidLookupConnectionRecord: { did: 'AccountId32', deposit: 'KiltSupportDeposit' }, /** - * Lookup466: pallet_did_lookup::pallet::Error + * Lookup475: pallet_did_lookup::pallet::Error **/ PalletDidLookupError: { _enum: ['NotFound', 'NotAuthorized', 'OutdatedProof', 'InsufficientFunds', 'Migration'] }, /** - * Lookup467: pallet_web3_names::web3_name::Web3NameOwnership, BlockNumber> + * Lookup476: pallet_web3_names::web3_name::Web3NameOwnership, BlockNumber> **/ PalletWeb3NamesWeb3NameWeb3NameOwnership: { owner: 'AccountId32', @@ -4020,13 +4101,13 @@ export default { deposit: 'KiltSupportDeposit' }, /** - * Lookup468: pallet_web3_names::pallet::Error + * Lookup477: pallet_web3_names::pallet::Error **/ PalletWeb3NamesError: { _enum: ['InsufficientFunds', 'AlreadyExists', 'NotFound', 'OwnerAlreadyExists', 'OwnerNotFound', 'Banned', 'NotBanned', 'AlreadyBanned', 'NotAuthorized', 'TooShort', 'TooLong', 'InvalidCharacter'] }, /** - * Lookup469: public_credentials::credentials::CredentialEntry> + * Lookup478: public_credentials::credentials::CredentialEntry> **/ PublicCredentialsCredentialsCredentialEntry: { ctypeHash: 'H256', @@ -4037,25 +4118,49 @@ export default { authorizationId: 'Option' }, /** - * Lookup470: public_credentials::pallet::Error + * Lookup479: public_credentials::pallet::Error **/ PublicCredentialsError: { _enum: ['AlreadyAttested', 'NotFound', 'UnableToPayFees', 'InvalidInput', 'NotAuthorized', 'Internal'] }, /** - * Lookup471: pallet_migration::pallet::Error + * Lookup480: pallet_migration::pallet::Error **/ PalletMigrationError: { _enum: ['KeyParse'] }, /** - * Lookup473: polkadot_primitives::v5::UpgradeRestriction + * Lookup482: pallet_dip_provider::pallet::Error + **/ + PalletDipProviderError: { + _enum: { + CommitmentNotFound: 'Null', + IdentityProvider: 'u16', + IdentityCommitmentGenerator: 'u16', + Hook: 'u16' + } + }, + /** + * Lookup484: pallet_deposit_storage::pallet::Error + **/ + PalletDepositStorageError: { + _enum: { + DepositNotFound: 'Null', + DepositExisting: 'Null', + Unauthorized: 'Null', + FailedToHold: 'Null', + FailedToRelease: 'Null', + Hook: 'u16' + } + }, + /** + * Lookup486: polkadot_primitives::v5::UpgradeRestriction **/ PolkadotPrimitivesV5UpgradeRestriction: { _enum: ['Present'] }, /** - * Lookup474: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot + * Lookup487: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot **/ CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { dmqMqcHead: 'H256', @@ -4064,14 +4169,14 @@ export default { egressChannels: 'Vec<(u32,PolkadotPrimitivesV5AbridgedHrmpChannel)>' }, /** - * Lookup475: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispachQueueSize + * Lookup488: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispachQueueSize **/ CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: { remainingCount: 'u32', remainingSize: 'u32' }, /** - * Lookup478: polkadot_primitives::v5::AbridgedHrmpChannel + * Lookup491: polkadot_primitives::v5::AbridgedHrmpChannel **/ PolkadotPrimitivesV5AbridgedHrmpChannel: { maxCapacity: 'u32', @@ -4082,7 +4187,7 @@ export default { mqcHead: 'Option' }, /** - * Lookup479: polkadot_primitives::v5::AbridgedHostConfiguration + * Lookup492: polkadot_primitives::v5::AbridgedHostConfiguration **/ PolkadotPrimitivesV5AbridgedHostConfiguration: { maxCodeSize: 'u32', @@ -4096,27 +4201,27 @@ export default { validationUpgradeDelay: 'u32' }, /** - * Lookup485: polkadot_core_primitives::OutboundHrmpMessage + * Lookup498: polkadot_core_primitives::OutboundHrmpMessage **/ PolkadotCorePrimitivesOutboundHrmpMessage: { recipient: 'u32', data: 'Bytes' }, /** - * Lookup486: cumulus_pallet_parachain_system::CodeUpgradeAuthorization + * Lookup499: cumulus_pallet_parachain_system::CodeUpgradeAuthorization **/ CumulusPalletParachainSystemCodeUpgradeAuthorization: { codeHash: 'H256', checkVersion: 'bool' }, /** - * Lookup487: cumulus_pallet_parachain_system::pallet::Error + * Lookup500: cumulus_pallet_parachain_system::pallet::Error **/ CumulusPalletParachainSystemError: { _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized'] }, /** - * Lookup489: cumulus_pallet_xcmp_queue::InboundChannelDetails + * Lookup502: cumulus_pallet_xcmp_queue::InboundChannelDetails **/ CumulusPalletXcmpQueueInboundChannelDetails: { sender: 'u32', @@ -4124,19 +4229,19 @@ export default { messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>' }, /** - * Lookup490: cumulus_pallet_xcmp_queue::InboundState + * Lookup503: cumulus_pallet_xcmp_queue::InboundState **/ CumulusPalletXcmpQueueInboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup493: polkadot_parachain::primitives::XcmpMessageFormat + * Lookup506: polkadot_parachain::primitives::XcmpMessageFormat **/ PolkadotParachainPrimitivesXcmpMessageFormat: { _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals'] }, /** - * Lookup496: cumulus_pallet_xcmp_queue::OutboundChannelDetails + * Lookup509: cumulus_pallet_xcmp_queue::OutboundChannelDetails **/ CumulusPalletXcmpQueueOutboundChannelDetails: { recipient: 'u32', @@ -4146,13 +4251,13 @@ export default { lastIndex: 'u16' }, /** - * Lookup497: cumulus_pallet_xcmp_queue::OutboundState + * Lookup510: cumulus_pallet_xcmp_queue::OutboundState **/ CumulusPalletXcmpQueueOutboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup499: cumulus_pallet_xcmp_queue::QueueConfigData + * Lookup512: cumulus_pallet_xcmp_queue::QueueConfigData **/ CumulusPalletXcmpQueueQueueConfigData: { suspendThreshold: 'u32', @@ -4163,13 +4268,13 @@ export default { xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight' }, /** - * Lookup501: cumulus_pallet_xcmp_queue::pallet::Error + * Lookup514: cumulus_pallet_xcmp_queue::pallet::Error **/ CumulusPalletXcmpQueueError: { _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit'] }, /** - * Lookup502: pallet_xcm::pallet::QueryStatus + * Lookup515: pallet_xcm::pallet::QueryStatus **/ PalletXcmQueryStatus: { _enum: { @@ -4190,7 +4295,7 @@ export default { } }, /** - * Lookup506: xcm::VersionedResponse + * Lookup519: xcm::VersionedResponse **/ XcmVersionedResponse: { _enum: { @@ -4201,7 +4306,7 @@ export default { } }, /** - * Lookup512: pallet_xcm::pallet::VersionMigrationStage + * Lookup525: pallet_xcm::pallet::VersionMigrationStage **/ PalletXcmVersionMigrationStage: { _enum: { @@ -4212,7 +4317,7 @@ export default { } }, /** - * Lookup515: xcm::VersionedAssetId + * Lookup528: xcm::VersionedAssetId **/ XcmVersionedAssetId: { _enum: { @@ -4223,32 +4328,32 @@ export default { } }, /** - * Lookup516: pallet_xcm::pallet::RemoteLockedFungibleRecord + * Lookup529: pallet_xcm::pallet::RemoteLockedFungibleRecord **/ PalletXcmRemoteLockedFungibleRecord: { amount: 'u128', owner: 'XcmVersionedMultiLocation', locker: 'XcmVersionedMultiLocation', - consumers: 'Vec<([u8;8],u128)>' + consumers: 'Vec<(Null,u128)>' }, /** - * Lookup523: pallet_xcm::pallet::Error + * Lookup536: pallet_xcm::pallet::Error **/ PalletXcmError: { _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed', 'InvalidAsset', 'LowBalance', 'TooManyLocks', 'AccountNotSovereign', 'FeesNotMet', 'LockNotFound', 'InUse'] }, /** - * Lookup524: cumulus_pallet_xcm::pallet::Error + * Lookup537: cumulus_pallet_xcm::pallet::Error **/ CumulusPalletXcmError: 'Null', /** - * Lookup525: cumulus_pallet_dmp_queue::ConfigData + * Lookup538: cumulus_pallet_dmp_queue::ConfigData **/ CumulusPalletDmpQueueConfigData: { maxIndividual: 'SpWeightsWeightV2Weight' }, /** - * Lookup526: cumulus_pallet_dmp_queue::PageIndexData + * Lookup539: cumulus_pallet_dmp_queue::PageIndexData **/ CumulusPalletDmpQueuePageIndexData: { beginUsed: 'u32', @@ -4256,37 +4361,37 @@ export default { overweightCount: 'u64' }, /** - * Lookup529: cumulus_pallet_dmp_queue::pallet::Error + * Lookup542: cumulus_pallet_dmp_queue::pallet::Error **/ CumulusPalletDmpQueueError: { _enum: ['Unknown', 'OverLimit'] }, /** - * Lookup532: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender + * Lookup545: frame_system::extensions::check_non_zero_sender::CheckNonZeroSender **/ FrameSystemExtensionsCheckNonZeroSender: 'Null', /** - * Lookup533: frame_system::extensions::check_spec_version::CheckSpecVersion + * Lookup546: frame_system::extensions::check_spec_version::CheckSpecVersion **/ FrameSystemExtensionsCheckSpecVersion: 'Null', /** - * Lookup534: frame_system::extensions::check_tx_version::CheckTxVersion + * Lookup547: frame_system::extensions::check_tx_version::CheckTxVersion **/ FrameSystemExtensionsCheckTxVersion: 'Null', /** - * Lookup535: frame_system::extensions::check_genesis::CheckGenesis + * Lookup548: frame_system::extensions::check_genesis::CheckGenesis **/ FrameSystemExtensionsCheckGenesis: 'Null', /** - * Lookup538: frame_system::extensions::check_nonce::CheckNonce + * Lookup551: frame_system::extensions::check_nonce::CheckNonce **/ FrameSystemExtensionsCheckNonce: 'Compact', /** - * Lookup539: frame_system::extensions::check_weight::CheckWeight + * Lookup552: frame_system::extensions::check_weight::CheckWeight **/ FrameSystemExtensionsCheckWeight: 'Null', /** - * Lookup540: pallet_transaction_payment::ChargeTransactionPayment + * Lookup553: pallet_transaction_payment::ChargeTransactionPayment **/ PalletTransactionPaymentChargeTransactionPayment: 'Compact' }; diff --git a/packages/augment-api/src/interfaces/registry.ts b/packages/augment-api/src/interfaces/registry.ts index 1a828d420..ba7b91c48 100644 --- a/packages/augment-api/src/interfaces/registry.ts +++ b/packages/augment-api/src/interfaces/registry.ts @@ -5,7 +5,7 @@ // this is required to allow for ambient/previous definitions import '@polkadot/types/types/registry'; -import type { AttestationAttestationsAttestationDetails, AttestationCall, AttestationError, AttestationEvent, AttestationHoldReason, CtypeCall, CtypeCtypeEntry, CtypeError, CtypeEvent, CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, DelegationAccessControlDelegationAc, DelegationCall, DelegationDelegationHierarchyDelegationDetails, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DelegationDelegationHierarchyPermissions, DelegationError, DelegationEvent, DelegationHoldReason, DidCall, DidDidDetails, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidPublicKey, DidDidDetailsDidPublicKeyDetails, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidError, DidEvent, DidHoldReason, DidOriginDidRawOrigin, DidServiceEndpointsDidEndpoint, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, KiltAssetDidsAssetV1AssetId, KiltAssetDidsAssetV1EvmSmartContractFungibleReference, KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference, KiltAssetDidsAssetV1GenericAssetId, KiltAssetDidsChainV1ChainId, KiltAssetDidsChainV1GenericChainId, KiltAssetDidsChainV1GenesisHexHash32Reference, KiltAssetDidsV1AssetDid, KiltSupportDeposit, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesIdAmountRuntimeFreezeReason, PalletBalancesIdAmountRuntimeHoldReason, PalletBalancesReasons, PalletBalancesReserveData, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDidLookupAccountAccountId20, PalletDidLookupAccountEthereumSignature, PalletDidLookupAssociateAccountRequest, PalletDidLookupCall, PalletDidLookupConnectionRecord, PalletDidLookupError, PalletDidLookupEvent, PalletDidLookupHoldReason, PalletDidLookupLinkableAccountLinkableAccountId, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletMigrationCall, PalletMigrationEntriesToMigrate, PalletMigrationError, PalletMigrationEvent, PalletMultisigCall, PalletMultisigError, PalletMultisigEvent, PalletMultisigMultisig, PalletMultisigTimepoint, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletTimestampCall, PalletTipsCall, PalletTipsError, PalletTipsEvent, PalletTipsOpenTip, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesCall, PalletWeb3NamesError, PalletWeb3NamesEvent, PalletWeb3NamesHoldReason, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainInfoCall, ParachainStakingCall, ParachainStakingCandidate, ParachainStakingCandidateStatus, ParachainStakingDelegationCounter, ParachainStakingError, ParachainStakingEvent, ParachainStakingFreezeReason, ParachainStakingInflationInflationInfo, ParachainStakingInflationRewardRate, ParachainStakingInflationStakingInfo, ParachainStakingRoundInfo, ParachainStakingSetOrderedSet, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV5AbridgedHostConfiguration, PolkadotPrimitivesV5AbridgedHrmpChannel, PolkadotPrimitivesV5PersistedValidationData, PolkadotPrimitivesV5UpgradeRestriction, PublicCredentialsCall, PublicCredentialsCredentialsCredential, PublicCredentialsCredentialsCredentialEntry, PublicCredentialsError, PublicCredentialsEvent, PublicCredentialsHoldReason, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonAuthorizationPalletAuthorize, RuntimeCommonConstantsDelegationMaxChildren, RuntimeCommonConstantsDidMaxNewKeyAgreementKeys, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaPublic, SpCoreEcdsaSignature, SpCoreEd25519Public, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeRuntime, SpiritnetRuntimeRuntimeFreezeReason, SpiritnetRuntimeRuntimeHoldReason, SpiritnetRuntimeSessionKeys, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedAssetId, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedResponse, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { AttestationAttestationsAttestationDetails, AttestationCall, AttestationError, AttestationEvent, AttestationHoldReason, CtypeCall, CtypeCtypeEntry, CtypeError, CtypeEvent, CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, DelegationAccessControlDelegationAc, DelegationCall, DelegationDelegationHierarchyDelegationDetails, DelegationDelegationHierarchyDelegationHierarchyDetails, DelegationDelegationHierarchyDelegationNode, DelegationDelegationHierarchyPermissions, DelegationError, DelegationEvent, DelegationHoldReason, DidCall, DidDidDetails, DidDidDetailsDidAuthorizedCallOperation, DidDidDetailsDidCreationDetails, DidDidDetailsDidEncryptionKey, DidDidDetailsDidPublicKey, DidDidDetailsDidPublicKeyDetails, DidDidDetailsDidSignature, DidDidDetailsDidVerificationKey, DidError, DidEvent, DidHoldReason, DidOriginDidRawOrigin, DidServiceEndpointsDidEndpoint, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonZeroSender, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, KiltAssetDidsAssetV1AssetId, KiltAssetDidsAssetV1EvmSmartContractFungibleReference, KiltAssetDidsAssetV1EvmSmartContractNonFungibleReference, KiltAssetDidsAssetV1GenericAssetId, KiltAssetDidsChainV1ChainId, KiltAssetDidsChainV1GenericChainId, KiltAssetDidsChainV1GenesisHexHash32Reference, KiltAssetDidsV1AssetDid, KiltSupportDeposit, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesIdAmountRuntimeFreezeReason, PalletBalancesIdAmountRuntimeHoldReason, PalletBalancesReasons, PalletBalancesReserveData, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletDepositStorageCall, PalletDepositStorageDepositDepositEntry, PalletDepositStorageError, PalletDepositStorageEvent, PalletDepositStorageHoldReason, PalletDidLookupAccountAccountId20, PalletDidLookupAccountEthereumSignature, PalletDidLookupAssociateAccountRequest, PalletDidLookupCall, PalletDidLookupConnectionRecord, PalletDidLookupError, PalletDidLookupEvent, PalletDidLookupHoldReason, PalletDidLookupLinkableAccountLinkableAccountId, PalletDipProviderCall, PalletDipProviderError, PalletDipProviderEvent, PalletIndicesCall, PalletIndicesError, PalletIndicesEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletMigrationCall, PalletMigrationEntriesToMigrate, PalletMigrationError, PalletMigrationEvent, PalletMultisigCall, PalletMultisigError, PalletMultisigEvent, PalletMultisigMultisig, PalletMultisigTimepoint, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletProxyAnnouncement, PalletProxyCall, PalletProxyError, PalletProxyEvent, PalletProxyProxyDefinition, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletTimestampCall, PalletTipsCall, PalletTipsError, PalletTipsEvent, PalletTipsOpenTip, PalletTransactionPaymentChargeTransactionPayment, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUtilityCall, PalletUtilityError, PalletUtilityEvent, PalletVestingCall, PalletVestingError, PalletVestingEvent, PalletVestingReleases, PalletVestingVestingInfo, PalletWeb3NamesCall, PalletWeb3NamesError, PalletWeb3NamesEvent, PalletWeb3NamesHoldReason, PalletWeb3NamesWeb3NameWeb3NameOwnership, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainInfoCall, ParachainStakingCall, ParachainStakingCandidate, ParachainStakingCandidateStatus, ParachainStakingDelegationCounter, ParachainStakingError, ParachainStakingEvent, ParachainStakingFreezeReason, ParachainStakingInflationInflationInfo, ParachainStakingInflationRewardRate, ParachainStakingInflationStakingInfo, ParachainStakingRoundInfo, ParachainStakingSetOrderedSet, ParachainStakingStake, ParachainStakingTotalStake, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV5AbridgedHostConfiguration, PolkadotPrimitivesV5AbridgedHrmpChannel, PolkadotPrimitivesV5PersistedValidationData, PolkadotPrimitivesV5UpgradeRestriction, PublicCredentialsCall, PublicCredentialsCredentialsCredential, PublicCredentialsCredentialsCredentialEntry, PublicCredentialsError, PublicCredentialsEvent, PublicCredentialsHoldReason, RuntimeCommonAssetsAssetDid, RuntimeCommonAuthorizationAuthorizationId, RuntimeCommonAuthorizationPalletAuthorize, RuntimeCommonConstantsDelegationMaxChildren, RuntimeCommonConstantsDidMaxNewKeyAgreementKeys, RuntimeCommonDipDepositDepositNamespace, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaPublic, SpCoreEcdsaSignature, SpCoreEd25519Public, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, SpiritnetRuntimeOriginCaller, SpiritnetRuntimeProxyType, SpiritnetRuntimeRuntime, SpiritnetRuntimeRuntimeFreezeReason, SpiritnetRuntimeRuntimeHoldReason, SpiritnetRuntimeSessionKeys, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedAssetId, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedResponse, XcmVersionedXcm } from '@polkadot/types/lookup'; declare module '@polkadot/types/types/registry' { interface InterfaceTypes { @@ -126,6 +126,11 @@ declare module '@polkadot/types/types/registry' { PalletDemocracyVotePriorLock: PalletDemocracyVotePriorLock; PalletDemocracyVoteThreshold: PalletDemocracyVoteThreshold; PalletDemocracyVoteVoting: PalletDemocracyVoteVoting; + PalletDepositStorageCall: PalletDepositStorageCall; + PalletDepositStorageDepositDepositEntry: PalletDepositStorageDepositDepositEntry; + PalletDepositStorageError: PalletDepositStorageError; + PalletDepositStorageEvent: PalletDepositStorageEvent; + PalletDepositStorageHoldReason: PalletDepositStorageHoldReason; PalletDidLookupAccountAccountId20: PalletDidLookupAccountAccountId20; PalletDidLookupAccountEthereumSignature: PalletDidLookupAccountEthereumSignature; PalletDidLookupAssociateAccountRequest: PalletDidLookupAssociateAccountRequest; @@ -135,6 +140,9 @@ declare module '@polkadot/types/types/registry' { PalletDidLookupEvent: PalletDidLookupEvent; PalletDidLookupHoldReason: PalletDidLookupHoldReason; PalletDidLookupLinkableAccountLinkableAccountId: PalletDidLookupLinkableAccountLinkableAccountId; + PalletDipProviderCall: PalletDipProviderCall; + PalletDipProviderError: PalletDipProviderError; + PalletDipProviderEvent: PalletDipProviderEvent; PalletIndicesCall: PalletIndicesCall; PalletIndicesError: PalletIndicesError; PalletIndicesEvent: PalletIndicesEvent; @@ -232,6 +240,7 @@ declare module '@polkadot/types/types/registry' { RuntimeCommonAuthorizationPalletAuthorize: RuntimeCommonAuthorizationPalletAuthorize; RuntimeCommonConstantsDelegationMaxChildren: RuntimeCommonConstantsDelegationMaxChildren; RuntimeCommonConstantsDidMaxNewKeyAgreementKeys: RuntimeCommonConstantsDidMaxNewKeyAgreementKeys; + RuntimeCommonDipDepositDepositNamespace: RuntimeCommonDipDepositDepositNamespace; SpArithmeticArithmeticError: SpArithmeticArithmeticError; SpConsensusAuraSr25519AppSr25519Public: SpConsensusAuraSr25519AppSr25519Public; SpCoreCryptoKeyTypeId: SpCoreCryptoKeyTypeId; diff --git a/packages/augment-api/src/interfaces/types-lookup.ts b/packages/augment-api/src/interfaces/types-lookup.ts index 5e40e6f2f..59ac7dfd5 100644 --- a/packages/augment-api/src/interfaces/types-lookup.ts +++ b/packages/augment-api/src/interfaces/types-lookup.ts @@ -1017,7 +1017,119 @@ declare module '@polkadot/types/lookup' { /** @name SpiritnetRuntimeRuntime (106) */ type SpiritnetRuntimeRuntime = Null; - /** @name CumulusPalletParachainSystemEvent (118) */ + /** @name PalletDipProviderEvent (118) */ + interface PalletDipProviderEvent extends Enum { + readonly isVersionedIdentityCommitted: boolean; + readonly asVersionedIdentityCommitted: { + readonly identifier: AccountId32; + readonly commitment: H256; + readonly version: u16; + } & Struct; + readonly isVersionedIdentityDeleted: boolean; + readonly asVersionedIdentityDeleted: { + readonly identifier: AccountId32; + readonly version: u16; + } & Struct; + readonly type: 'VersionedIdentityCommitted' | 'VersionedIdentityDeleted'; + } + + /** @name PalletDepositStorageEvent (119) */ + interface PalletDepositStorageEvent extends Enum { + readonly isDepositAdded: boolean; + readonly asDepositAdded: { + readonly namespace: RuntimeCommonDipDepositDepositNamespace; + readonly key: Bytes; + readonly depositEntry: PalletDepositStorageDepositDepositEntry; + } & Struct; + readonly isDepositReclaimed: boolean; + readonly asDepositReclaimed: { + readonly namespace: RuntimeCommonDipDepositDepositNamespace; + readonly key: Bytes; + readonly depositEntry: PalletDepositStorageDepositDepositEntry; + } & Struct; + readonly type: 'DepositAdded' | 'DepositReclaimed'; + } + + /** @name RuntimeCommonDipDepositDepositNamespace (120) */ + interface RuntimeCommonDipDepositDepositNamespace extends Enum { + readonly isDipProvider: boolean; + readonly type: 'DipProvider'; + } + + /** @name PalletDepositStorageDepositDepositEntry (122) */ + interface PalletDepositStorageDepositDepositEntry extends Struct { + readonly deposit: KiltSupportDeposit; + readonly reason: SpiritnetRuntimeRuntimeHoldReason; + } + + /** @name SpiritnetRuntimeRuntimeHoldReason (123) */ + interface SpiritnetRuntimeRuntimeHoldReason extends Enum { + readonly isAttestation: boolean; + readonly asAttestation: AttestationHoldReason; + readonly isDelegation: boolean; + readonly asDelegation: DelegationHoldReason; + readonly isDid: boolean; + readonly asDid: DidHoldReason; + readonly isDidLookup: boolean; + readonly asDidLookup: PalletDidLookupHoldReason; + readonly isWeb3Names: boolean; + readonly asWeb3Names: PalletWeb3NamesHoldReason; + readonly isPublicCredentials: boolean; + readonly asPublicCredentials: PublicCredentialsHoldReason; + readonly isDepositStorage: boolean; + readonly asDepositStorage: PalletDepositStorageHoldReason; + readonly type: 'Attestation' | 'Delegation' | 'Did' | 'DidLookup' | 'Web3Names' | 'PublicCredentials' | 'DepositStorage'; + } + + /** @name AttestationHoldReason (124) */ + interface AttestationHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name DelegationHoldReason (125) */ + interface DelegationHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name DidHoldReason (126) */ + interface DidHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name PalletDidLookupHoldReason (127) */ + interface PalletDidLookupHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name PalletWeb3NamesHoldReason (128) */ + interface PalletWeb3NamesHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name PublicCredentialsHoldReason (129) */ + interface PublicCredentialsHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name PalletDepositStorageHoldReason (130) */ + interface PalletDepositStorageHoldReason extends Enum { + readonly isDeposit: boolean; + readonly type: 'Deposit'; + } + + /** @name KiltSupportDeposit (131) */ + interface KiltSupportDeposit extends Struct { + readonly owner: AccountId32; + readonly amount: u128; + } + + /** @name CumulusPalletParachainSystemEvent (132) */ interface CumulusPalletParachainSystemEvent extends Enum { readonly isValidationFunctionStored: boolean; readonly isValidationFunctionApplied: boolean; @@ -1045,7 +1157,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed' | 'UpwardMessageSent'; } - /** @name CumulusPalletXcmpQueueEvent (119) */ + /** @name CumulusPalletXcmpQueueEvent (133) */ interface CumulusPalletXcmpQueueEvent extends Enum { readonly isSuccess: boolean; readonly asSuccess: { @@ -1087,7 +1199,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced'; } - /** @name XcmV3TraitsError (120) */ + /** @name XcmV3TraitsError (134) */ interface XcmV3TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; @@ -1134,7 +1246,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'LocationFull' | 'LocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'ExpectationFalse' | 'PalletNotFound' | 'NameMismatch' | 'VersionIncompatible' | 'HoldingWouldOverflow' | 'ExportError' | 'ReanchorFailed' | 'NoDeal' | 'FeesNotMet' | 'LockError' | 'NoPermission' | 'Unanchored' | 'NotDepositable' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable' | 'ExceedsStackLimit'; } - /** @name PalletXcmEvent (122) */ + /** @name PalletXcmEvent (136) */ interface PalletXcmEvent extends Enum { readonly isAttempted: boolean; readonly asAttempted: { @@ -1271,7 +1383,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'InvalidQuerierVersion' | 'InvalidQuerier' | 'VersionNotifyStarted' | 'VersionNotifyRequested' | 'VersionNotifyUnrequested' | 'FeesPaid' | 'AssetsClaimed'; } - /** @name XcmV3TraitsOutcome (123) */ + /** @name XcmV3TraitsOutcome (137) */ interface XcmV3TraitsOutcome extends Enum { readonly isComplete: boolean; readonly asComplete: SpWeightsWeightV2Weight; @@ -1282,13 +1394,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Complete' | 'Incomplete' | 'Error'; } - /** @name XcmV3MultiLocation (124) */ + /** @name XcmV3MultiLocation (138) */ interface XcmV3MultiLocation extends Struct { readonly parents: u8; readonly interior: XcmV3Junctions; } - /** @name XcmV3Junctions (125) */ + /** @name XcmV3Junctions (139) */ interface XcmV3Junctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; @@ -1310,7 +1422,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; } - /** @name XcmV3Junction (126) */ + /** @name XcmV3Junction (140) */ interface XcmV3Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; @@ -1349,7 +1461,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality' | 'GlobalConsensus'; } - /** @name XcmV3JunctionNetworkId (129) */ + /** @name XcmV3JunctionNetworkId (143) */ interface XcmV3JunctionNetworkId extends Enum { readonly isByGenesis: boolean; readonly asByGenesis: U8aFixed; @@ -1372,7 +1484,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ByGenesis' | 'ByFork' | 'Polkadot' | 'Kusama' | 'Westend' | 'Rococo' | 'Wococo' | 'Ethereum' | 'BitcoinCore' | 'BitcoinCash'; } - /** @name XcmV3JunctionBodyId (131) */ + /** @name XcmV3JunctionBodyId (145) */ interface XcmV3JunctionBodyId extends Enum { readonly isUnit: boolean; readonly isMoniker: boolean; @@ -1389,7 +1501,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unit' | 'Moniker' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; } - /** @name XcmV3JunctionBodyPart (132) */ + /** @name XcmV3JunctionBodyPart (146) */ interface XcmV3JunctionBodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; @@ -1414,10 +1526,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; } - /** @name XcmV3Xcm (133) */ + /** @name XcmV3Xcm (147) */ interface XcmV3Xcm extends Vec {} - /** @name XcmV3Instruction (135) */ + /** @name XcmV3Instruction (149) */ interface XcmV3Instruction extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: XcmV3MultiassetMultiAssets; @@ -1599,16 +1711,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'ReportHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion' | 'BurnAsset' | 'ExpectAsset' | 'ExpectOrigin' | 'ExpectError' | 'ExpectTransactStatus' | 'QueryPallet' | 'ExpectPallet' | 'ReportTransactStatus' | 'ClearTransactStatus' | 'UniversalOrigin' | 'ExportMessage' | 'LockAsset' | 'UnlockAsset' | 'NoteUnlockable' | 'RequestUnlock' | 'SetFeesMode' | 'SetTopic' | 'ClearTopic' | 'AliasOrigin' | 'UnpaidExecution'; } - /** @name XcmV3MultiassetMultiAssets (136) */ + /** @name XcmV3MultiassetMultiAssets (150) */ interface XcmV3MultiassetMultiAssets extends Vec {} - /** @name XcmV3MultiAsset (138) */ + /** @name XcmV3MultiAsset (152) */ interface XcmV3MultiAsset extends Struct { readonly id: XcmV3MultiassetAssetId; readonly fun: XcmV3MultiassetFungibility; } - /** @name XcmV3MultiassetAssetId (139) */ + /** @name XcmV3MultiassetAssetId (153) */ interface XcmV3MultiassetAssetId extends Enum { readonly isConcrete: boolean; readonly asConcrete: XcmV3MultiLocation; @@ -1617,7 +1729,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Concrete' | 'Abstract'; } - /** @name XcmV3MultiassetFungibility (140) */ + /** @name XcmV3MultiassetFungibility (154) */ interface XcmV3MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; @@ -1626,7 +1738,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV3MultiassetAssetInstance (141) */ + /** @name XcmV3MultiassetAssetInstance (155) */ interface XcmV3MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -1642,7 +1754,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32'; } - /** @name XcmV3Response (143) */ + /** @name XcmV3Response (157) */ interface XcmV3Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; @@ -1658,7 +1770,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version' | 'PalletsInfo' | 'DispatchResult'; } - /** @name XcmV3PalletInfo (147) */ + /** @name XcmV3PalletInfo (161) */ interface XcmV3PalletInfo extends Struct { readonly index: Compact; readonly name: Bytes; @@ -1668,7 +1780,7 @@ declare module '@polkadot/types/lookup' { readonly patch: Compact; } - /** @name XcmV3MaybeErrorCode (150) */ + /** @name XcmV3MaybeErrorCode (164) */ interface XcmV3MaybeErrorCode extends Enum { readonly isSuccess: boolean; readonly isError: boolean; @@ -1678,7 +1790,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Success' | 'Error' | 'TruncatedError'; } - /** @name XcmV2OriginKind (153) */ + /** @name XcmV2OriginKind (167) */ interface XcmV2OriginKind extends Enum { readonly isNative: boolean; readonly isSovereignAccount: boolean; @@ -1687,19 +1799,19 @@ declare module '@polkadot/types/lookup' { readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm'; } - /** @name XcmDoubleEncoded (154) */ + /** @name XcmDoubleEncoded (168) */ interface XcmDoubleEncoded extends Struct { readonly encoded: Bytes; } - /** @name XcmV3QueryResponseInfo (155) */ + /** @name XcmV3QueryResponseInfo (169) */ interface XcmV3QueryResponseInfo extends Struct { readonly destination: XcmV3MultiLocation; readonly queryId: Compact; readonly maxWeight: SpWeightsWeightV2Weight; } - /** @name XcmV3MultiassetMultiAssetFilter (156) */ + /** @name XcmV3MultiassetMultiAssetFilter (170) */ interface XcmV3MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; readonly asDefinite: XcmV3MultiassetMultiAssets; @@ -1708,7 +1820,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Definite' | 'Wild'; } - /** @name XcmV3MultiassetWildMultiAsset (157) */ + /** @name XcmV3MultiassetWildMultiAsset (171) */ interface XcmV3MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; @@ -1727,14 +1839,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'All' | 'AllOf' | 'AllCounted' | 'AllOfCounted'; } - /** @name XcmV3MultiassetWildFungibility (158) */ + /** @name XcmV3MultiassetWildFungibility (172) */ interface XcmV3MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV3WeightLimit (159) */ + /** @name XcmV3WeightLimit (173) */ interface XcmV3WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; @@ -1742,7 +1854,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unlimited' | 'Limited'; } - /** @name XcmVersionedMultiAssets (160) */ + /** @name XcmVersionedMultiAssets (174) */ interface XcmVersionedMultiAssets extends Enum { readonly isV2: boolean; readonly asV2: XcmV2MultiassetMultiAssets; @@ -1751,16 +1863,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'V2' | 'V3'; } - /** @name XcmV2MultiassetMultiAssets (161) */ + /** @name XcmV2MultiassetMultiAssets (175) */ interface XcmV2MultiassetMultiAssets extends Vec {} - /** @name XcmV2MultiAsset (163) */ + /** @name XcmV2MultiAsset (177) */ interface XcmV2MultiAsset extends Struct { readonly id: XcmV2MultiassetAssetId; readonly fun: XcmV2MultiassetFungibility; } - /** @name XcmV2MultiassetAssetId (164) */ + /** @name XcmV2MultiassetAssetId (178) */ interface XcmV2MultiassetAssetId extends Enum { readonly isConcrete: boolean; readonly asConcrete: XcmV2MultiLocation; @@ -1769,13 +1881,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Concrete' | 'Abstract'; } - /** @name XcmV2MultiLocation (165) */ + /** @name XcmV2MultiLocation (179) */ interface XcmV2MultiLocation extends Struct { readonly parents: u8; readonly interior: XcmV2MultilocationJunctions; } - /** @name XcmV2MultilocationJunctions (166) */ + /** @name XcmV2MultilocationJunctions (180) */ interface XcmV2MultilocationJunctions extends Enum { readonly isHere: boolean; readonly isX1: boolean; @@ -1797,7 +1909,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; } - /** @name XcmV2Junction (167) */ + /** @name XcmV2Junction (181) */ interface XcmV2Junction extends Enum { readonly isParachain: boolean; readonly asParachain: Compact; @@ -1831,7 +1943,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; } - /** @name XcmV2NetworkId (168) */ + /** @name XcmV2NetworkId (182) */ interface XcmV2NetworkId extends Enum { readonly isAny: boolean; readonly isNamed: boolean; @@ -1841,7 +1953,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama'; } - /** @name XcmV2BodyId (170) */ + /** @name XcmV2BodyId (184) */ interface XcmV2BodyId extends Enum { readonly isUnit: boolean; readonly isNamed: boolean; @@ -1858,7 +1970,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; } - /** @name XcmV2BodyPart (171) */ + /** @name XcmV2BodyPart (185) */ interface XcmV2BodyPart extends Enum { readonly isVoice: boolean; readonly isMembers: boolean; @@ -1883,7 +1995,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; } - /** @name XcmV2MultiassetFungibility (172) */ + /** @name XcmV2MultiassetFungibility (186) */ interface XcmV2MultiassetFungibility extends Enum { readonly isFungible: boolean; readonly asFungible: Compact; @@ -1892,7 +2004,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV2MultiassetAssetInstance (173) */ + /** @name XcmV2MultiassetAssetInstance (187) */ interface XcmV2MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -1910,7 +2022,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob'; } - /** @name XcmVersionedMultiLocation (174) */ + /** @name XcmVersionedMultiLocation (188) */ interface XcmVersionedMultiLocation extends Enum { readonly isV2: boolean; readonly asV2: XcmV2MultiLocation; @@ -1919,7 +2031,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'V2' | 'V3'; } - /** @name CumulusPalletXcmEvent (175) */ + /** @name CumulusPalletXcmEvent (189) */ interface CumulusPalletXcmEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: U8aFixed; @@ -1930,7 +2042,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward'; } - /** @name CumulusPalletDmpQueueEvent (176) */ + /** @name CumulusPalletDmpQueueEvent (190) */ interface CumulusPalletDmpQueueEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: { @@ -1972,7 +2084,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced' | 'MaxMessagesExhausted'; } - /** @name FrameSystemPhase (177) */ + /** @name FrameSystemPhase (191) */ interface FrameSystemPhase extends Enum { readonly isApplyExtrinsic: boolean; readonly asApplyExtrinsic: u32; @@ -1981,13 +2093,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; } - /** @name FrameSystemLastRuntimeUpgradeInfo (179) */ + /** @name FrameSystemLastRuntimeUpgradeInfo (193) */ interface FrameSystemLastRuntimeUpgradeInfo extends Struct { readonly specVersion: Compact; readonly specName: Text; } - /** @name FrameSystemCall (181) */ + /** @name FrameSystemCall (195) */ interface FrameSystemCall extends Enum { readonly isRemark: boolean; readonly asRemark: { @@ -2025,21 +2137,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent'; } - /** @name FrameSystemLimitsBlockWeights (185) */ + /** @name FrameSystemLimitsBlockWeights (199) */ interface FrameSystemLimitsBlockWeights extends Struct { readonly baseBlock: SpWeightsWeightV2Weight; readonly maxBlock: SpWeightsWeightV2Weight; readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; } - /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (186) */ + /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (200) */ interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { readonly normal: FrameSystemLimitsWeightsPerClass; readonly operational: FrameSystemLimitsWeightsPerClass; readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name FrameSystemLimitsWeightsPerClass (187) */ + /** @name FrameSystemLimitsWeightsPerClass (201) */ interface FrameSystemLimitsWeightsPerClass extends Struct { readonly baseExtrinsic: SpWeightsWeightV2Weight; readonly maxExtrinsic: Option; @@ -2047,25 +2159,25 @@ declare module '@polkadot/types/lookup' { readonly reserved: Option; } - /** @name FrameSystemLimitsBlockLength (189) */ + /** @name FrameSystemLimitsBlockLength (203) */ interface FrameSystemLimitsBlockLength extends Struct { readonly max: FrameSupportDispatchPerDispatchClassU32; } - /** @name FrameSupportDispatchPerDispatchClassU32 (190) */ + /** @name FrameSupportDispatchPerDispatchClassU32 (204) */ interface FrameSupportDispatchPerDispatchClassU32 extends Struct { readonly normal: u32; readonly operational: u32; readonly mandatory: u32; } - /** @name SpWeightsRuntimeDbWeight (191) */ + /** @name SpWeightsRuntimeDbWeight (205) */ interface SpWeightsRuntimeDbWeight extends Struct { readonly read: u64; readonly write: u64; } - /** @name SpVersionRuntimeVersion (192) */ + /** @name SpVersionRuntimeVersion (206) */ interface SpVersionRuntimeVersion extends Struct { readonly specName: Text; readonly implName: Text; @@ -2077,7 +2189,7 @@ declare module '@polkadot/types/lookup' { readonly stateVersion: u8; } - /** @name FrameSystemError (196) */ + /** @name FrameSystemError (210) */ interface FrameSystemError extends Enum { readonly isInvalidSpecName: boolean; readonly isSpecVersionNeedsToIncrease: boolean; @@ -2088,7 +2200,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered'; } - /** @name PalletTimestampCall (197) */ + /** @name PalletTimestampCall (211) */ interface PalletTimestampCall extends Enum { readonly isSet: boolean; readonly asSet: { @@ -2097,7 +2209,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Set'; } - /** @name PalletIndicesCall (199) */ + /** @name PalletIndicesCall (213) */ interface PalletIndicesCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -2125,7 +2237,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'Transfer' | 'Free' | 'ForceTransfer' | 'Freeze'; } - /** @name PalletIndicesError (202) */ + /** @name PalletIndicesError (216) */ interface PalletIndicesError extends Enum { readonly isNotAssigned: boolean; readonly isNotOwner: boolean; @@ -2135,14 +2247,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotAssigned' | 'NotOwner' | 'InUse' | 'NotTransfer' | 'Permanent'; } - /** @name PalletBalancesBalanceLock (204) */ + /** @name PalletBalancesBalanceLock (218) */ interface PalletBalancesBalanceLock extends Struct { readonly id: U8aFixed; readonly amount: u128; readonly reasons: PalletBalancesReasons; } - /** @name PalletBalancesReasons (205) */ + /** @name PalletBalancesReasons (219) */ interface PalletBalancesReasons extends Enum { readonly isFee: boolean; readonly isMisc: boolean; @@ -2150,91 +2262,38 @@ declare module '@polkadot/types/lookup' { readonly type: 'Fee' | 'Misc' | 'All'; } - /** @name PalletBalancesReserveData (208) */ + /** @name PalletBalancesReserveData (222) */ interface PalletBalancesReserveData extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name PalletBalancesIdAmountRuntimeHoldReason (211) */ + /** @name PalletBalancesIdAmountRuntimeHoldReason (225) */ interface PalletBalancesIdAmountRuntimeHoldReason extends Struct { readonly id: SpiritnetRuntimeRuntimeHoldReason; readonly amount: u128; } - /** @name SpiritnetRuntimeRuntimeHoldReason (212) */ - interface SpiritnetRuntimeRuntimeHoldReason extends Enum { - readonly isAttestation: boolean; - readonly asAttestation: AttestationHoldReason; - readonly isDelegation: boolean; - readonly asDelegation: DelegationHoldReason; - readonly isDid: boolean; - readonly asDid: DidHoldReason; - readonly isDidLookup: boolean; - readonly asDidLookup: PalletDidLookupHoldReason; - readonly isWeb3Names: boolean; - readonly asWeb3Names: PalletWeb3NamesHoldReason; - readonly isPublicCredentials: boolean; - readonly asPublicCredentials: PublicCredentialsHoldReason; - readonly type: 'Attestation' | 'Delegation' | 'Did' | 'DidLookup' | 'Web3Names' | 'PublicCredentials'; - } - - /** @name AttestationHoldReason (213) */ - interface AttestationHoldReason extends Enum { - readonly isDeposit: boolean; - readonly type: 'Deposit'; - } - - /** @name DelegationHoldReason (214) */ - interface DelegationHoldReason extends Enum { - readonly isDeposit: boolean; - readonly type: 'Deposit'; - } - - /** @name DidHoldReason (215) */ - interface DidHoldReason extends Enum { - readonly isDeposit: boolean; - readonly type: 'Deposit'; - } - - /** @name PalletDidLookupHoldReason (216) */ - interface PalletDidLookupHoldReason extends Enum { - readonly isDeposit: boolean; - readonly type: 'Deposit'; - } - - /** @name PalletWeb3NamesHoldReason (217) */ - interface PalletWeb3NamesHoldReason extends Enum { - readonly isDeposit: boolean; - readonly type: 'Deposit'; - } - - /** @name PublicCredentialsHoldReason (218) */ - interface PublicCredentialsHoldReason extends Enum { - readonly isDeposit: boolean; - readonly type: 'Deposit'; - } - - /** @name PalletBalancesIdAmountRuntimeFreezeReason (221) */ + /** @name PalletBalancesIdAmountRuntimeFreezeReason (228) */ interface PalletBalancesIdAmountRuntimeFreezeReason extends Struct { readonly id: SpiritnetRuntimeRuntimeFreezeReason; readonly amount: u128; } - /** @name SpiritnetRuntimeRuntimeFreezeReason (222) */ + /** @name SpiritnetRuntimeRuntimeFreezeReason (229) */ interface SpiritnetRuntimeRuntimeFreezeReason extends Enum { readonly isParachainStaking: boolean; readonly asParachainStaking: ParachainStakingFreezeReason; readonly type: 'ParachainStaking'; } - /** @name ParachainStakingFreezeReason (223) */ + /** @name ParachainStakingFreezeReason (230) */ interface ParachainStakingFreezeReason extends Enum { readonly isStaking: boolean; readonly type: 'Staking'; } - /** @name PalletBalancesCall (225) */ + /** @name PalletBalancesCall (232) */ interface PalletBalancesCall extends Enum { readonly isTransferAllowDeath: boolean; readonly asTransferAllowDeath: { @@ -2285,7 +2344,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TransferAllowDeath' | 'SetBalanceDeprecated' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve' | 'UpgradeAccounts' | 'Transfer' | 'ForceSetBalance'; } - /** @name PalletBalancesError (226) */ + /** @name PalletBalancesError (233) */ interface PalletBalancesError extends Enum { readonly isVestingBalance: boolean; readonly isLiquidityRestrictions: boolean; @@ -2300,28 +2359,28 @@ declare module '@polkadot/types/lookup' { readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'Expendability' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves' | 'TooManyHolds' | 'TooManyFreezes'; } - /** @name PalletTransactionPaymentReleases (228) */ + /** @name PalletTransactionPaymentReleases (235) */ interface PalletTransactionPaymentReleases extends Enum { readonly isV1Ancient: boolean; readonly isV2: boolean; readonly type: 'V1Ancient' | 'V2'; } - /** @name SpConsensusAuraSr25519AppSr25519Public (230) */ + /** @name SpConsensusAuraSr25519AppSr25519Public (237) */ interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {} - /** @name SpCoreSr25519Public (231) */ + /** @name SpCoreSr25519Public (238) */ interface SpCoreSr25519Public extends U8aFixed {} - /** @name SpiritnetRuntimeSessionKeys (236) */ + /** @name SpiritnetRuntimeSessionKeys (243) */ interface SpiritnetRuntimeSessionKeys extends Struct { readonly aura: SpConsensusAuraSr25519AppSr25519Public; } - /** @name SpCoreCryptoKeyTypeId (239) */ + /** @name SpCoreCryptoKeyTypeId (246) */ interface SpCoreCryptoKeyTypeId extends U8aFixed {} - /** @name PalletSessionCall (240) */ + /** @name PalletSessionCall (247) */ interface PalletSessionCall extends Enum { readonly isSetKeys: boolean; readonly asSetKeys: { @@ -2332,7 +2391,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetKeys' | 'PurgeKeys'; } - /** @name PalletSessionError (241) */ + /** @name PalletSessionError (248) */ interface PalletSessionError extends Enum { readonly isInvalidProof: boolean; readonly isNoAssociatedValidatorId: boolean; @@ -2342,26 +2401,26 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount'; } - /** @name ParachainStakingRoundInfo (242) */ + /** @name ParachainStakingRoundInfo (249) */ interface ParachainStakingRoundInfo extends Struct { readonly current: u32; readonly first: u64; readonly length: u64; } - /** @name ParachainStakingDelegationCounter (243) */ + /** @name ParachainStakingDelegationCounter (250) */ interface ParachainStakingDelegationCounter extends Struct { readonly round: u32; readonly counter: u32; } - /** @name ParachainStakingStake (244) */ + /** @name ParachainStakingStake (251) */ interface ParachainStakingStake extends Struct { readonly owner: AccountId32; readonly amount: u128; } - /** @name ParachainStakingCandidate (245) */ + /** @name ParachainStakingCandidate (252) */ interface ParachainStakingCandidate extends Struct { readonly id: AccountId32; readonly stake: u128; @@ -2370,10 +2429,10 @@ declare module '@polkadot/types/lookup' { readonly status: ParachainStakingCandidateStatus; } - /** @name ParachainStakingSetOrderedSet (246) */ + /** @name ParachainStakingSetOrderedSet (253) */ interface ParachainStakingSetOrderedSet extends Vec {} - /** @name ParachainStakingCandidateStatus (249) */ + /** @name ParachainStakingCandidateStatus (256) */ interface ParachainStakingCandidateStatus extends Enum { readonly isActive: boolean; readonly isLeaving: boolean; @@ -2381,31 +2440,31 @@ declare module '@polkadot/types/lookup' { readonly type: 'Active' | 'Leaving'; } - /** @name ParachainStakingTotalStake (250) */ + /** @name ParachainStakingTotalStake (257) */ interface ParachainStakingTotalStake extends Struct { readonly collators: u128; readonly delegators: u128; } - /** @name ParachainStakingInflationInflationInfo (253) */ + /** @name ParachainStakingInflationInflationInfo (260) */ interface ParachainStakingInflationInflationInfo extends Struct { readonly collator: ParachainStakingInflationStakingInfo; readonly delegator: ParachainStakingInflationStakingInfo; } - /** @name ParachainStakingInflationStakingInfo (254) */ + /** @name ParachainStakingInflationStakingInfo (261) */ interface ParachainStakingInflationStakingInfo extends Struct { readonly maxRate: Perquintill; readonly rewardRate: ParachainStakingInflationRewardRate; } - /** @name ParachainStakingInflationRewardRate (255) */ + /** @name ParachainStakingInflationRewardRate (262) */ interface ParachainStakingInflationRewardRate extends Struct { readonly annual: Perquintill; readonly perBlock: Perquintill; } - /** @name ParachainStakingCall (260) */ + /** @name ParachainStakingCall (267) */ interface ParachainStakingCall extends Enum { readonly isForceNewRound: boolean; readonly isSetInflation: boolean; @@ -2474,7 +2533,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ForceNewRound' | 'SetInflation' | 'SetMaxSelectedCandidates' | 'SetBlocksPerRound' | 'SetMaxCandidateStake' | 'ForceRemoveCandidate' | 'JoinCandidates' | 'InitLeaveCandidates' | 'ExecuteLeaveCandidates' | 'CancelLeaveCandidates' | 'CandidateStakeMore' | 'CandidateStakeLess' | 'JoinDelegators' | 'LeaveDelegators' | 'DelegatorStakeMore' | 'DelegatorStakeLess' | 'UnlockUnstaked' | 'ClaimRewards' | 'IncrementCollatorRewards' | 'IncrementDelegatorRewards' | 'ExecuteScheduledRewardChange'; } - /** @name ParachainStakingError (261) */ + /** @name ParachainStakingError (268) */ interface ParachainStakingError extends Enum { readonly isDelegatorNotFound: boolean; readonly isCandidateNotFound: boolean; @@ -2510,7 +2569,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'DelegatorNotFound' | 'CandidateNotFound' | 'DelegatorExists' | 'CandidateExists' | 'ValStakeZero' | 'ValStakeBelowMin' | 'ValStakeAboveMax' | 'DelegationBelowMin' | 'AlreadyLeaving' | 'NotLeaving' | 'CannotLeaveYet' | 'CannotJoinBeforeUnlocking' | 'AlreadyDelegating' | 'NotYetDelegating' | 'DelegationsPerRoundExceeded' | 'TooManyDelegators' | 'TooFewCollatorCandidates' | 'CannotStakeIfLeaving' | 'CannotDelegateIfLeaving' | 'MaxCollatorsPerDelegatorExceeded' | 'AlreadyDelegatedCollator' | 'DelegationNotFound' | 'Underflow' | 'CannotSetAboveMax' | 'CannotSetBelowMin' | 'InvalidSchedule' | 'NoMoreUnstaking' | 'TooEarly' | 'StakeNotFound' | 'UnstakingIsEmpty' | 'RewardsNotFound'; } - /** @name FrameSupportPreimagesBounded (264) */ + /** @name FrameSupportPreimagesBounded (271) */ interface FrameSupportPreimagesBounded extends Enum { readonly isLegacy: boolean; readonly asLegacy: { @@ -2526,7 +2585,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Legacy' | 'Inline' | 'Lookup'; } - /** @name PalletDemocracyCall (266) */ + /** @name PalletDemocracyCall (273) */ interface PalletDemocracyCall extends Enum { readonly isPropose: boolean; readonly asPropose: { @@ -2610,7 +2669,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'Blacklist' | 'CancelProposal' | 'SetMetadata'; } - /** @name PalletDemocracyConviction (267) */ + /** @name PalletDemocracyConviction (274) */ interface PalletDemocracyConviction extends Enum { readonly isNone: boolean; readonly isLocked1x: boolean; @@ -2622,7 +2681,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x'; } - /** @name PalletCollectiveCall (270) */ + /** @name PalletCollectiveCall (277) */ interface PalletCollectiveCall extends Enum { readonly isSetMembers: boolean; readonly asSetMembers: { @@ -2661,7 +2720,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'DisapproveProposal' | 'Close'; } - /** @name PalletMembershipCall (273) */ + /** @name PalletMembershipCall (280) */ interface PalletMembershipCall extends Enum { readonly isAddMember: boolean; readonly asAddMember: { @@ -2692,7 +2751,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AddMember' | 'RemoveMember' | 'SwapMember' | 'ResetMembers' | 'ChangeKey' | 'SetPrime' | 'ClearPrime'; } - /** @name PalletTreasuryCall (274) */ + /** @name PalletTreasuryCall (281) */ interface PalletTreasuryCall extends Enum { readonly isProposeSpend: boolean; readonly asProposeSpend: { @@ -2719,7 +2778,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval'; } - /** @name PalletUtilityCall (275) */ + /** @name PalletUtilityCall (282) */ interface PalletUtilityCall extends Enum { readonly isBatch: boolean; readonly asBatch: { @@ -2751,7 +2810,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Batch' | 'AsDerivative' | 'BatchAll' | 'DispatchAs' | 'ForceBatch' | 'WithWeight'; } - /** @name SpiritnetRuntimeOriginCaller (277) */ + /** @name SpiritnetRuntimeOriginCaller (284) */ interface SpiritnetRuntimeOriginCaller extends Enum { readonly isSystem: boolean; readonly asSystem: FrameSupportDispatchRawOrigin; @@ -2769,7 +2828,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'System' | 'Void' | 'Council' | 'TechnicalCommittee' | 'Did' | 'PolkadotXcm' | 'CumulusXcm'; } - /** @name FrameSupportDispatchRawOrigin (278) */ + /** @name FrameSupportDispatchRawOrigin (285) */ interface FrameSupportDispatchRawOrigin extends Enum { readonly isRoot: boolean; readonly isSigned: boolean; @@ -2778,7 +2837,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Root' | 'Signed' | 'None'; } - /** @name PalletCollectiveRawOrigin (279) */ + /** @name PalletCollectiveRawOrigin (286) */ interface PalletCollectiveRawOrigin extends Enum { readonly isMembers: boolean; readonly asMembers: ITuple<[u32, u32]>; @@ -2788,13 +2847,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Members' | 'Member' | 'Phantom'; } - /** @name DidOriginDidRawOrigin (281) */ + /** @name DidOriginDidRawOrigin (288) */ interface DidOriginDidRawOrigin extends Struct { readonly id: AccountId32; readonly submitter: AccountId32; } - /** @name PalletXcmOrigin (282) */ + /** @name PalletXcmOrigin (289) */ interface PalletXcmOrigin extends Enum { readonly isXcm: boolean; readonly asXcm: XcmV3MultiLocation; @@ -2803,7 +2862,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Xcm' | 'Response'; } - /** @name CumulusPalletXcmOrigin (283) */ + /** @name CumulusPalletXcmOrigin (290) */ interface CumulusPalletXcmOrigin extends Enum { readonly isRelay: boolean; readonly isSiblingParachain: boolean; @@ -2811,10 +2870,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Relay' | 'SiblingParachain'; } - /** @name SpCoreVoid (284) */ + /** @name SpCoreVoid (291) */ type SpCoreVoid = Null; - /** @name PalletVestingCall (285) */ + /** @name PalletVestingCall (292) */ interface PalletVestingCall extends Enum { readonly isVest: boolean; readonly isVestOther: boolean; @@ -2840,14 +2899,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'Vest' | 'VestOther' | 'VestedTransfer' | 'ForceVestedTransfer' | 'MergeSchedules'; } - /** @name PalletVestingVestingInfo (286) */ + /** @name PalletVestingVestingInfo (293) */ interface PalletVestingVestingInfo extends Struct { readonly locked: u128; readonly perBlock: u128; readonly startingBlock: u64; } - /** @name PalletSchedulerCall (287) */ + /** @name PalletSchedulerCall (294) */ interface PalletSchedulerCall extends Enum { readonly isSchedule: boolean; readonly asSchedule: { @@ -2891,7 +2950,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Schedule' | 'Cancel' | 'ScheduleNamed' | 'CancelNamed' | 'ScheduleAfter' | 'ScheduleNamedAfter'; } - /** @name PalletProxyCall (289) */ + /** @name PalletProxyCall (296) */ interface PalletProxyCall extends Enum { readonly isProxy: boolean; readonly asProxy: { @@ -2951,7 +3010,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Proxy' | 'AddProxy' | 'RemoveProxy' | 'RemoveProxies' | 'CreatePure' | 'KillPure' | 'Announce' | 'RemoveAnnouncement' | 'RejectAnnouncement' | 'ProxyAnnounced'; } - /** @name PalletPreimageCall (291) */ + /** @name PalletPreimageCall (298) */ interface PalletPreimageCall extends Enum { readonly isNotePreimage: boolean; readonly asNotePreimage: { @@ -2972,7 +3031,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage'; } - /** @name PalletTipsCall (293) */ + /** @name PalletTipsCall (300) */ interface PalletTipsCall extends Enum { readonly isReportAwesome: boolean; readonly asReportAwesome: { @@ -3005,7 +3064,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ReportAwesome' | 'RetractTip' | 'TipNew' | 'Tip' | 'CloseTip' | 'SlashTip'; } - /** @name PalletMultisigCall (294) */ + /** @name PalletMultisigCall (301) */ interface PalletMultisigCall extends Enum { readonly isAsMultiThreshold1: boolean; readonly asAsMultiThreshold1: { @@ -3038,7 +3097,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AsMultiThreshold1' | 'AsMulti' | 'ApproveAsMulti' | 'CancelAsMulti'; } - /** @name CtypeCall (296) */ + /** @name CtypeCall (303) */ interface CtypeCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -3052,7 +3111,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'SetBlockNumber'; } - /** @name AttestationCall (297) */ + /** @name AttestationCall (304) */ interface AttestationCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -3085,20 +3144,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'Revoke' | 'Remove' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name RuntimeCommonAuthorizationPalletAuthorize (299) */ + /** @name RuntimeCommonAuthorizationPalletAuthorize (306) */ interface RuntimeCommonAuthorizationPalletAuthorize extends Enum { readonly isDelegation: boolean; readonly asDelegation: DelegationAccessControlDelegationAc; readonly type: 'Delegation'; } - /** @name DelegationAccessControlDelegationAc (300) */ + /** @name DelegationAccessControlDelegationAc (307) */ interface DelegationAccessControlDelegationAc extends Struct { readonly subjectNodeId: H256; readonly maxChecks: u32; } - /** @name DelegationCall (301) */ + /** @name DelegationCall (308) */ interface DelegationCall extends Enum { readonly isCreateHierarchy: boolean; readonly asCreateHierarchy: { @@ -3140,7 +3199,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CreateHierarchy' | 'AddDelegation' | 'RevokeDelegation' | 'RemoveDelegation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name DidDidDetailsDidSignature (302) */ + /** @name DidDidDetailsDidSignature (309) */ interface DidDidDetailsDidSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -3151,16 +3210,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name SpCoreEd25519Signature (303) */ + /** @name SpCoreEd25519Signature (310) */ interface SpCoreEd25519Signature extends U8aFixed {} - /** @name SpCoreSr25519Signature (305) */ + /** @name SpCoreSr25519Signature (312) */ interface SpCoreSr25519Signature extends U8aFixed {} - /** @name SpCoreEcdsaSignature (306) */ + /** @name SpCoreEcdsaSignature (313) */ interface SpCoreEcdsaSignature extends U8aFixed {} - /** @name DidCall (308) */ + /** @name DidCall (315) */ interface DidCall extends Enum { readonly isCreate: boolean; readonly asCreate: { @@ -3228,7 +3287,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Create' | 'SetAuthenticationKey' | 'SetDelegationKey' | 'RemoveDelegationKey' | 'SetAttestationKey' | 'RemoveAttestationKey' | 'AddKeyAgreementKey' | 'RemoveKeyAgreementKey' | 'AddServiceEndpoint' | 'RemoveServiceEndpoint' | 'Delete' | 'ReclaimDeposit' | 'SubmitDidCall' | 'ChangeDepositOwner' | 'UpdateDeposit' | 'DispatchAs' | 'CreateFromAccount'; } - /** @name DidDidDetailsDidCreationDetails (309) */ + /** @name DidDidDetailsDidCreationDetails (316) */ interface DidDidDetailsDidCreationDetails extends Struct { readonly did: AccountId32; readonly submitter: AccountId32; @@ -3238,24 +3297,24 @@ declare module '@polkadot/types/lookup' { readonly newServiceDetails: Vec; } - /** @name RuntimeCommonConstantsDidMaxNewKeyAgreementKeys (310) */ + /** @name RuntimeCommonConstantsDidMaxNewKeyAgreementKeys (317) */ type RuntimeCommonConstantsDidMaxNewKeyAgreementKeys = Null; - /** @name DidServiceEndpointsDidEndpoint (311) */ + /** @name DidServiceEndpointsDidEndpoint (318) */ interface DidServiceEndpointsDidEndpoint extends Struct { readonly id: Bytes; readonly serviceTypes: Vec; readonly urls: Vec; } - /** @name DidDidDetailsDidEncryptionKey (320) */ + /** @name DidDidDetailsDidEncryptionKey (327) */ interface DidDidDetailsDidEncryptionKey extends Enum { readonly isX25519: boolean; readonly asX25519: U8aFixed; readonly type: 'X25519'; } - /** @name DidDidDetailsDidVerificationKey (324) */ + /** @name DidDidDetailsDidVerificationKey (331) */ interface DidDidDetailsDidVerificationKey extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Public; @@ -3268,13 +3327,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa' | 'Account'; } - /** @name SpCoreEd25519Public (325) */ + /** @name SpCoreEd25519Public (332) */ interface SpCoreEd25519Public extends U8aFixed {} - /** @name SpCoreEcdsaPublic (326) */ + /** @name SpCoreEcdsaPublic (333) */ interface SpCoreEcdsaPublic extends U8aFixed {} - /** @name DidDidDetailsDidAuthorizedCallOperation (329) */ + /** @name DidDidDetailsDidAuthorizedCallOperation (336) */ interface DidDidDetailsDidAuthorizedCallOperation extends Struct { readonly did: AccountId32; readonly txCounter: u64; @@ -3283,7 +3342,7 @@ declare module '@polkadot/types/lookup' { readonly submitter: AccountId32; } - /** @name PalletDidLookupCall (330) */ + /** @name PalletDidLookupCall (337) */ interface PalletDidLookupCall extends Enum { readonly isAssociateAccount: boolean; readonly asAssociateAccount: { @@ -3311,7 +3370,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AssociateAccount' | 'AssociateSender' | 'RemoveSenderAssociation' | 'RemoveAccountAssociation' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PalletDidLookupAssociateAccountRequest (331) */ + /** @name PalletDidLookupAssociateAccountRequest (338) */ interface PalletDidLookupAssociateAccountRequest extends Enum { readonly isPolkadot: boolean; readonly asPolkadot: ITuple<[AccountId32, SpRuntimeMultiSignature]>; @@ -3320,7 +3379,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Polkadot' | 'Ethereum'; } - /** @name SpRuntimeMultiSignature (332) */ + /** @name SpRuntimeMultiSignature (339) */ interface SpRuntimeMultiSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -3331,10 +3390,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name PalletDidLookupAccountEthereumSignature (333) */ + /** @name PalletDidLookupAccountEthereumSignature (340) */ interface PalletDidLookupAccountEthereumSignature extends SpCoreEcdsaSignature {} - /** @name PalletWeb3NamesCall (334) */ + /** @name PalletWeb3NamesCall (341) */ interface PalletWeb3NamesCall extends Enum { readonly isClaim: boolean; readonly asClaim: { @@ -3361,7 +3420,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Claim' | 'ReleaseByOwner' | 'ReclaimDeposit' | 'Ban' | 'Unban' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PublicCredentialsCall (335) */ + /** @name PublicCredentialsCall (342) */ interface PublicCredentialsCall extends Enum { readonly isAdd: boolean; readonly asAdd: { @@ -3397,7 +3456,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Add' | 'Revoke' | 'Unrevoke' | 'Remove' | 'ReclaimDeposit' | 'ChangeDepositOwner' | 'UpdateDeposit'; } - /** @name PublicCredentialsCredentialsCredential (336) */ + /** @name PublicCredentialsCredentialsCredential (343) */ interface PublicCredentialsCredentialsCredential extends Struct { readonly ctypeHash: H256; readonly subject: Bytes; @@ -3405,7 +3464,7 @@ declare module '@polkadot/types/lookup' { readonly authorization: Option; } - /** @name PalletMigrationCall (339) */ + /** @name PalletMigrationCall (346) */ interface PalletMigrationCall extends Enum { readonly isUpdateBalance: boolean; readonly asUpdateBalance: { @@ -3414,7 +3473,32 @@ declare module '@polkadot/types/lookup' { readonly type: 'UpdateBalance'; } - /** @name CumulusPalletParachainSystemCall (340) */ + /** @name PalletDipProviderCall (347) */ + interface PalletDipProviderCall extends Enum { + readonly isCommitIdentity: boolean; + readonly asCommitIdentity: { + readonly identifier: AccountId32; + readonly version: Option; + } & Struct; + readonly isDeleteIdentityCommitment: boolean; + readonly asDeleteIdentityCommitment: { + readonly identifier: AccountId32; + readonly version: Option; + } & Struct; + readonly type: 'CommitIdentity' | 'DeleteIdentityCommitment'; + } + + /** @name PalletDepositStorageCall (349) */ + interface PalletDepositStorageCall extends Enum { + readonly isReclaimDeposit: boolean; + readonly asReclaimDeposit: { + readonly namespace: RuntimeCommonDipDepositDepositNamespace; + readonly key: Bytes; + } & Struct; + readonly type: 'ReclaimDeposit'; + } + + /** @name CumulusPalletParachainSystemCall (350) */ interface CumulusPalletParachainSystemCall extends Enum { readonly isSetValidationData: boolean; readonly asSetValidationData: { @@ -3436,7 +3520,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade'; } - /** @name CumulusPrimitivesParachainInherentParachainInherentData (341) */ + /** @name CumulusPrimitivesParachainInherentParachainInherentData (351) */ interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { readonly validationData: PolkadotPrimitivesV5PersistedValidationData; readonly relayChainState: SpTrieStorageProof; @@ -3444,7 +3528,7 @@ declare module '@polkadot/types/lookup' { readonly horizontalMessages: BTreeMap>; } - /** @name PolkadotPrimitivesV5PersistedValidationData (342) */ + /** @name PolkadotPrimitivesV5PersistedValidationData (352) */ interface PolkadotPrimitivesV5PersistedValidationData extends Struct { readonly parentHead: Bytes; readonly relayParentNumber: u32; @@ -3452,27 +3536,27 @@ declare module '@polkadot/types/lookup' { readonly maxPovSize: u32; } - /** @name SpTrieStorageProof (344) */ + /** @name SpTrieStorageProof (354) */ interface SpTrieStorageProof extends Struct { readonly trieNodes: BTreeSet; } - /** @name PolkadotCorePrimitivesInboundDownwardMessage (347) */ + /** @name PolkadotCorePrimitivesInboundDownwardMessage (357) */ interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { readonly sentAt: u32; readonly msg: Bytes; } - /** @name PolkadotCorePrimitivesInboundHrmpMessage (350) */ + /** @name PolkadotCorePrimitivesInboundHrmpMessage (360) */ interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { readonly sentAt: u32; readonly data: Bytes; } - /** @name ParachainInfoCall (353) */ + /** @name ParachainInfoCall (363) */ type ParachainInfoCall = Null; - /** @name CumulusPalletXcmpQueueCall (354) */ + /** @name CumulusPalletXcmpQueueCall (364) */ interface CumulusPalletXcmpQueueCall extends Enum { readonly isServiceOverweight: boolean; readonly asServiceOverweight: { @@ -3508,7 +3592,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight'; } - /** @name PalletXcmCall (355) */ + /** @name PalletXcmCall (365) */ interface PalletXcmCall extends Enum { readonly isSend: boolean; readonly asSend: { @@ -3574,7 +3658,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets' | 'ForceSuspension'; } - /** @name XcmVersionedXcm (356) */ + /** @name XcmVersionedXcm (366) */ interface XcmVersionedXcm extends Enum { readonly isV2: boolean; readonly asV2: XcmV2Xcm; @@ -3583,10 +3667,10 @@ declare module '@polkadot/types/lookup' { readonly type: 'V2' | 'V3'; } - /** @name XcmV2Xcm (357) */ + /** @name XcmV2Xcm (367) */ interface XcmV2Xcm extends Vec {} - /** @name XcmV2Instruction (359) */ + /** @name XcmV2Instruction (369) */ interface XcmV2Instruction extends Enum { readonly isWithdrawAsset: boolean; readonly asWithdrawAsset: XcmV2MultiassetMultiAssets; @@ -3706,7 +3790,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion'; } - /** @name XcmV2Response (360) */ + /** @name XcmV2Response (370) */ interface XcmV2Response extends Enum { readonly isNull: boolean; readonly isAssets: boolean; @@ -3718,7 +3802,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version'; } - /** @name XcmV2TraitsError (363) */ + /** @name XcmV2TraitsError (373) */ interface XcmV2TraitsError extends Enum { readonly isOverflow: boolean; readonly isUnimplemented: boolean; @@ -3751,7 +3835,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable'; } - /** @name XcmV2MultiassetMultiAssetFilter (364) */ + /** @name XcmV2MultiassetMultiAssetFilter (374) */ interface XcmV2MultiassetMultiAssetFilter extends Enum { readonly isDefinite: boolean; readonly asDefinite: XcmV2MultiassetMultiAssets; @@ -3760,7 +3844,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Definite' | 'Wild'; } - /** @name XcmV2MultiassetWildMultiAsset (365) */ + /** @name XcmV2MultiassetWildMultiAsset (375) */ interface XcmV2MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; readonly isAllOf: boolean; @@ -3771,14 +3855,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'All' | 'AllOf'; } - /** @name XcmV2MultiassetWildFungibility (366) */ + /** @name XcmV2MultiassetWildFungibility (376) */ interface XcmV2MultiassetWildFungibility extends Enum { readonly isFungible: boolean; readonly isNonFungible: boolean; readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV2WeightLimit (367) */ + /** @name XcmV2WeightLimit (377) */ interface XcmV2WeightLimit extends Enum { readonly isUnlimited: boolean; readonly isLimited: boolean; @@ -3786,7 +3870,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unlimited' | 'Limited'; } - /** @name CumulusPalletDmpQueueCall (376) */ + /** @name CumulusPalletDmpQueueCall (386) */ interface CumulusPalletDmpQueueCall extends Enum { readonly isServiceOverweight: boolean; readonly asServiceOverweight: { @@ -3796,7 +3880,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ServiceOverweight'; } - /** @name PalletDemocracyReferendumInfo (380) */ + /** @name PalletDemocracyReferendumInfo (390) */ interface PalletDemocracyReferendumInfo extends Enum { readonly isOngoing: boolean; readonly asOngoing: PalletDemocracyReferendumStatus; @@ -3808,7 +3892,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ongoing' | 'Finished'; } - /** @name PalletDemocracyReferendumStatus (381) */ + /** @name PalletDemocracyReferendumStatus (391) */ interface PalletDemocracyReferendumStatus extends Struct { readonly end: u64; readonly proposal: FrameSupportPreimagesBounded; @@ -3817,14 +3901,14 @@ declare module '@polkadot/types/lookup' { readonly tally: PalletDemocracyTally; } - /** @name PalletDemocracyTally (382) */ + /** @name PalletDemocracyTally (392) */ interface PalletDemocracyTally extends Struct { readonly ayes: u128; readonly nays: u128; readonly turnout: u128; } - /** @name PalletDemocracyVoteVoting (383) */ + /** @name PalletDemocracyVoteVoting (393) */ interface PalletDemocracyVoteVoting extends Enum { readonly isDirect: boolean; readonly asDirect: { @@ -3843,16 +3927,16 @@ declare module '@polkadot/types/lookup' { readonly type: 'Direct' | 'Delegating'; } - /** @name PalletDemocracyDelegations (387) */ + /** @name PalletDemocracyDelegations (397) */ interface PalletDemocracyDelegations extends Struct { readonly votes: u128; readonly capital: u128; } - /** @name PalletDemocracyVotePriorLock (388) */ + /** @name PalletDemocracyVotePriorLock (398) */ interface PalletDemocracyVotePriorLock extends ITuple<[u64, u128]> {} - /** @name PalletDemocracyError (391) */ + /** @name PalletDemocracyError (401) */ interface PalletDemocracyError extends Enum { readonly isValueLow: boolean; readonly isProposalMissing: boolean; @@ -3881,7 +3965,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ValueLow' | 'ProposalMissing' | 'AlreadyCanceled' | 'DuplicateProposal' | 'ProposalBlacklisted' | 'NotSimpleMajority' | 'InvalidHash' | 'NoProposal' | 'AlreadyVetoed' | 'ReferendumInvalid' | 'NoneWaiting' | 'NotVoter' | 'NoPermission' | 'AlreadyDelegating' | 'InsufficientFunds' | 'NotDelegating' | 'VotesExist' | 'InstantNotAllowed' | 'Nonsense' | 'WrongUpperBound' | 'MaxVotesReached' | 'TooMany' | 'VotingPeriodLow' | 'PreimageNotExist'; } - /** @name PalletCollectiveVotes (393) */ + /** @name PalletCollectiveVotes (403) */ interface PalletCollectiveVotes extends Struct { readonly index: u32; readonly threshold: u32; @@ -3890,7 +3974,7 @@ declare module '@polkadot/types/lookup' { readonly end: u64; } - /** @name PalletCollectiveError (394) */ + /** @name PalletCollectiveError (404) */ interface PalletCollectiveError extends Enum { readonly isNotMember: boolean; readonly isDuplicateProposal: boolean; @@ -3905,7 +3989,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotMember' | 'DuplicateProposal' | 'ProposalMissing' | 'WrongIndex' | 'DuplicateVote' | 'AlreadyInitialized' | 'TooEarly' | 'TooManyProposals' | 'WrongProposalWeight' | 'WrongProposalLength'; } - /** @name PalletMembershipError (398) */ + /** @name PalletMembershipError (408) */ interface PalletMembershipError extends Enum { readonly isAlreadyMember: boolean; readonly isNotMember: boolean; @@ -3913,7 +3997,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyMember' | 'NotMember' | 'TooManyMembers'; } - /** @name PalletTreasuryProposal (399) */ + /** @name PalletTreasuryProposal (409) */ interface PalletTreasuryProposal extends Struct { readonly proposer: AccountId32; readonly value: u128; @@ -3921,10 +4005,10 @@ declare module '@polkadot/types/lookup' { readonly bond: u128; } - /** @name FrameSupportPalletId (403) */ + /** @name FrameSupportPalletId (413) */ interface FrameSupportPalletId extends U8aFixed {} - /** @name PalletTreasuryError (404) */ + /** @name PalletTreasuryError (414) */ interface PalletTreasuryError extends Enum { readonly isInsufficientProposersBalance: boolean; readonly isInvalidIndex: boolean; @@ -3934,20 +4018,20 @@ declare module '@polkadot/types/lookup' { readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved'; } - /** @name PalletUtilityError (405) */ + /** @name PalletUtilityError (415) */ interface PalletUtilityError extends Enum { readonly isTooManyCalls: boolean; readonly type: 'TooManyCalls'; } - /** @name PalletVestingReleases (408) */ + /** @name PalletVestingReleases (418) */ interface PalletVestingReleases extends Enum { readonly isV0: boolean; readonly isV1: boolean; readonly type: 'V0' | 'V1'; } - /** @name PalletVestingError (409) */ + /** @name PalletVestingError (419) */ interface PalletVestingError extends Enum { readonly isNotVesting: boolean; readonly isAtMaxVestingSchedules: boolean; @@ -3957,7 +4041,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotVesting' | 'AtMaxVestingSchedules' | 'AmountLow' | 'ScheduleIndexOutOfBounds' | 'InvalidScheduleParams'; } - /** @name PalletSchedulerScheduled (412) */ + /** @name PalletSchedulerScheduled (422) */ interface PalletSchedulerScheduled extends Struct { readonly maybeId: Option; readonly priority: u8; @@ -3966,7 +4050,7 @@ declare module '@polkadot/types/lookup' { readonly origin: SpiritnetRuntimeOriginCaller; } - /** @name PalletSchedulerError (414) */ + /** @name PalletSchedulerError (424) */ interface PalletSchedulerError extends Enum { readonly isFailedToSchedule: boolean; readonly isNotFound: boolean; @@ -3976,21 +4060,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange' | 'Named'; } - /** @name PalletProxyProxyDefinition (417) */ + /** @name PalletProxyProxyDefinition (427) */ interface PalletProxyProxyDefinition extends Struct { readonly delegate: AccountId32; readonly proxyType: SpiritnetRuntimeProxyType; readonly delay: u64; } - /** @name PalletProxyAnnouncement (421) */ + /** @name PalletProxyAnnouncement (431) */ interface PalletProxyAnnouncement extends Struct { readonly real: AccountId32; readonly callHash: H256; readonly height: u64; } - /** @name PalletProxyError (423) */ + /** @name PalletProxyError (433) */ interface PalletProxyError extends Enum { readonly isTooMany: boolean; readonly isNotFound: boolean; @@ -4003,7 +4087,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooMany' | 'NotFound' | 'NotProxy' | 'Unproxyable' | 'Duplicate' | 'NoPermission' | 'Unannounced' | 'NoSelfProxy'; } - /** @name PalletPreimageRequestStatus (424) */ + /** @name PalletPreimageRequestStatus (434) */ interface PalletPreimageRequestStatus extends Enum { readonly isUnrequested: boolean; readonly asUnrequested: { @@ -4019,7 +4103,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unrequested' | 'Requested'; } - /** @name PalletPreimageError (429) */ + /** @name PalletPreimageError (439) */ interface PalletPreimageError extends Enum { readonly isTooBig: boolean; readonly isAlreadyNoted: boolean; @@ -4030,7 +4114,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooBig' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested'; } - /** @name PalletTipsOpenTip (432) */ + /** @name PalletTipsOpenTip (442) */ interface PalletTipsOpenTip extends Struct { readonly reason: H256; readonly who: AccountId32; @@ -4041,7 +4125,7 @@ declare module '@polkadot/types/lookup' { readonly findersFee: bool; } - /** @name PalletTipsError (436) */ + /** @name PalletTipsError (446) */ interface PalletTipsError extends Enum { readonly isReasonTooBig: boolean; readonly isAlreadyKnown: boolean; @@ -4052,7 +4136,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ReasonTooBig' | 'AlreadyKnown' | 'UnknownTip' | 'NotFinder' | 'StillOpen' | 'Premature'; } - /** @name PalletMultisigMultisig (438) */ + /** @name PalletMultisigMultisig (448) */ interface PalletMultisigMultisig extends Struct { readonly when: PalletMultisigTimepoint; readonly deposit: u128; @@ -4060,7 +4144,7 @@ declare module '@polkadot/types/lookup' { readonly approvals: Vec; } - /** @name PalletMultisigError (440) */ + /** @name PalletMultisigError (450) */ interface PalletMultisigError extends Enum { readonly isMinimumThreshold: boolean; readonly isAlreadyApproved: boolean; @@ -4079,13 +4163,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'MinimumThreshold' | 'AlreadyApproved' | 'NoApprovalsNeeded' | 'TooFewSignatories' | 'TooManySignatories' | 'SignatoriesOutOfOrder' | 'SenderInSignatories' | 'NotFound' | 'NotOwner' | 'NoTimepoint' | 'WrongTimepoint' | 'UnexpectedTimepoint' | 'MaxWeightTooLow' | 'AlreadyStored'; } - /** @name CtypeCtypeEntry (441) */ + /** @name CtypeCtypeEntry (451) */ interface CtypeCtypeEntry extends Struct { readonly creator: AccountId32; readonly createdAt: u64; } - /** @name CtypeError (442) */ + /** @name CtypeError (452) */ interface CtypeError extends Enum { readonly isNotFound: boolean; readonly isAlreadyExists: boolean; @@ -4093,7 +4177,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotFound' | 'AlreadyExists' | 'UnableToPayFees'; } - /** @name AttestationAttestationsAttestationDetails (443) */ + /** @name AttestationAttestationsAttestationDetails (453) */ interface AttestationAttestationsAttestationDetails extends Struct { readonly ctypeHash: H256; readonly attester: AccountId32; @@ -4102,13 +4186,7 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name KiltSupportDeposit (444) */ - interface KiltSupportDeposit extends Struct { - readonly owner: AccountId32; - readonly amount: u128; - } - - /** @name AttestationError (446) */ + /** @name AttestationError (455) */ interface AttestationError extends Enum { readonly isAlreadyAttested: boolean; readonly isAlreadyRevoked: boolean; @@ -4119,7 +4197,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyAttested' | 'AlreadyRevoked' | 'NotFound' | 'CTypeMismatch' | 'NotAuthorized' | 'MaxDelegatedAttestationsExceeded'; } - /** @name DelegationDelegationHierarchyDelegationNode (447) */ + /** @name DelegationDelegationHierarchyDelegationNode (456) */ interface DelegationDelegationHierarchyDelegationNode extends Struct { readonly hierarchyRootId: H256; readonly parent: Option; @@ -4128,22 +4206,22 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name RuntimeCommonConstantsDelegationMaxChildren (448) */ + /** @name RuntimeCommonConstantsDelegationMaxChildren (457) */ type RuntimeCommonConstantsDelegationMaxChildren = Null; - /** @name DelegationDelegationHierarchyDelegationDetails (449) */ + /** @name DelegationDelegationHierarchyDelegationDetails (458) */ interface DelegationDelegationHierarchyDelegationDetails extends Struct { readonly owner: AccountId32; readonly revoked: bool; readonly permissions: DelegationDelegationHierarchyPermissions; } - /** @name DelegationDelegationHierarchyDelegationHierarchyDetails (452) */ + /** @name DelegationDelegationHierarchyDelegationHierarchyDetails (461) */ interface DelegationDelegationHierarchyDelegationHierarchyDetails extends Struct { readonly ctypeHash: H256; } - /** @name DelegationError (453) */ + /** @name DelegationError (462) */ interface DelegationError extends Enum { readonly isDelegationAlreadyExists: boolean; readonly isInvalidDelegateSignature: boolean; @@ -4170,7 +4248,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'DelegationAlreadyExists' | 'InvalidDelegateSignature' | 'DelegationNotFound' | 'DelegateNotFound' | 'HierarchyAlreadyExists' | 'HierarchyNotFound' | 'MaxSearchDepthReached' | 'NotOwnerOfParentDelegation' | 'NotOwnerOfDelegationHierarchy' | 'ParentDelegationNotFound' | 'ParentDelegationRevoked' | 'UnauthorizedRevocation' | 'UnauthorizedRemoval' | 'UnauthorizedDelegation' | 'AccessDenied' | 'ExceededRevocationBounds' | 'ExceededRemovalBounds' | 'MaxRevocationsTooLarge' | 'MaxRemovalsTooLarge' | 'MaxParentChecksTooLarge' | 'Internal' | 'MaxChildrenExceeded'; } - /** @name DidDidDetails (454) */ + /** @name DidDidDetails (463) */ interface DidDidDetails extends Struct { readonly authenticationKey: H256; readonly keyAgreementKeys: BTreeSet; @@ -4181,13 +4259,13 @@ declare module '@polkadot/types/lookup' { readonly deposit: KiltSupportDeposit; } - /** @name DidDidDetailsDidPublicKeyDetails (457) */ + /** @name DidDidDetailsDidPublicKeyDetails (466) */ interface DidDidDetailsDidPublicKeyDetails extends Struct { readonly key: DidDidDetailsDidPublicKey; readonly blockNumber: u64; } - /** @name DidDidDetailsDidPublicKey (458) */ + /** @name DidDidDetailsDidPublicKey (467) */ interface DidDidDetailsDidPublicKey extends Enum { readonly isPublicVerificationKey: boolean; readonly asPublicVerificationKey: DidDidDetailsDidVerificationKey; @@ -4196,7 +4274,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'PublicVerificationKey' | 'PublicEncryptionKey'; } - /** @name DidError (463) */ + /** @name DidError (472) */ interface DidError extends Enum { readonly isInvalidSignatureFormat: boolean; readonly isInvalidSignature: boolean; @@ -4228,13 +4306,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'InvalidSignatureFormat' | 'InvalidSignature' | 'AlreadyExists' | 'NotFound' | 'VerificationKeyNotFound' | 'InvalidNonce' | 'UnsupportedDidAuthorizationCall' | 'InvalidDidAuthorizationCall' | 'MaxNewKeyAgreementKeysLimitExceeded' | 'MaxPublicKeysExceeded' | 'MaxKeyAgreementKeysExceeded' | 'BadDidOrigin' | 'TransactionExpired' | 'AlreadyDeleted' | 'NotOwnerOfDeposit' | 'UnableToPayFees' | 'MaxNumberOfServicesExceeded' | 'MaxServiceIdLengthExceeded' | 'MaxServiceTypeLengthExceeded' | 'MaxNumberOfTypesPerServiceExceeded' | 'MaxServiceUrlLengthExceeded' | 'MaxNumberOfUrlsPerServiceExceeded' | 'ServiceAlreadyExists' | 'ServiceNotFound' | 'InvalidServiceEncoding' | 'MaxStoredEndpointsCountExceeded' | 'Internal'; } - /** @name PalletDidLookupConnectionRecord (464) */ + /** @name PalletDidLookupConnectionRecord (473) */ interface PalletDidLookupConnectionRecord extends Struct { readonly did: AccountId32; readonly deposit: KiltSupportDeposit; } - /** @name PalletDidLookupError (466) */ + /** @name PalletDidLookupError (475) */ interface PalletDidLookupError extends Enum { readonly isNotFound: boolean; readonly isNotAuthorized: boolean; @@ -4244,14 +4322,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotFound' | 'NotAuthorized' | 'OutdatedProof' | 'InsufficientFunds' | 'Migration'; } - /** @name PalletWeb3NamesWeb3NameWeb3NameOwnership (467) */ + /** @name PalletWeb3NamesWeb3NameWeb3NameOwnership (476) */ interface PalletWeb3NamesWeb3NameWeb3NameOwnership extends Struct { readonly owner: AccountId32; readonly claimedAt: u64; readonly deposit: KiltSupportDeposit; } - /** @name PalletWeb3NamesError (468) */ + /** @name PalletWeb3NamesError (477) */ interface PalletWeb3NamesError extends Enum { readonly isInsufficientFunds: boolean; readonly isAlreadyExists: boolean; @@ -4268,7 +4346,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'InsufficientFunds' | 'AlreadyExists' | 'NotFound' | 'OwnerAlreadyExists' | 'OwnerNotFound' | 'Banned' | 'NotBanned' | 'AlreadyBanned' | 'NotAuthorized' | 'TooShort' | 'TooLong' | 'InvalidCharacter'; } - /** @name PublicCredentialsCredentialsCredentialEntry (469) */ + /** @name PublicCredentialsCredentialsCredentialEntry (478) */ interface PublicCredentialsCredentialsCredentialEntry extends Struct { readonly ctypeHash: H256; readonly attester: AccountId32; @@ -4278,7 +4356,7 @@ declare module '@polkadot/types/lookup' { readonly authorizationId: Option; } - /** @name PublicCredentialsError (470) */ + /** @name PublicCredentialsError (479) */ interface PublicCredentialsError extends Enum { readonly isAlreadyAttested: boolean; readonly isNotFound: boolean; @@ -4289,19 +4367,43 @@ declare module '@polkadot/types/lookup' { readonly type: 'AlreadyAttested' | 'NotFound' | 'UnableToPayFees' | 'InvalidInput' | 'NotAuthorized' | 'Internal'; } - /** @name PalletMigrationError (471) */ + /** @name PalletMigrationError (480) */ interface PalletMigrationError extends Enum { readonly isKeyParse: boolean; readonly type: 'KeyParse'; } - /** @name PolkadotPrimitivesV5UpgradeRestriction (473) */ + /** @name PalletDipProviderError (482) */ + interface PalletDipProviderError extends Enum { + readonly isCommitmentNotFound: boolean; + readonly isIdentityProvider: boolean; + readonly asIdentityProvider: u16; + readonly isIdentityCommitmentGenerator: boolean; + readonly asIdentityCommitmentGenerator: u16; + readonly isHook: boolean; + readonly asHook: u16; + readonly type: 'CommitmentNotFound' | 'IdentityProvider' | 'IdentityCommitmentGenerator' | 'Hook'; + } + + /** @name PalletDepositStorageError (484) */ + interface PalletDepositStorageError extends Enum { + readonly isDepositNotFound: boolean; + readonly isDepositExisting: boolean; + readonly isUnauthorized: boolean; + readonly isFailedToHold: boolean; + readonly isFailedToRelease: boolean; + readonly isHook: boolean; + readonly asHook: u16; + readonly type: 'DepositNotFound' | 'DepositExisting' | 'Unauthorized' | 'FailedToHold' | 'FailedToRelease' | 'Hook'; + } + + /** @name PolkadotPrimitivesV5UpgradeRestriction (486) */ interface PolkadotPrimitivesV5UpgradeRestriction extends Enum { readonly isPresent: boolean; readonly type: 'Present'; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (474) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (487) */ interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { readonly dmqMqcHead: H256; readonly relayDispatchQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize; @@ -4309,13 +4411,13 @@ declare module '@polkadot/types/lookup' { readonly egressChannels: Vec>; } - /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize (475) */ + /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize (488) */ interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize extends Struct { readonly remainingCount: u32; readonly remainingSize: u32; } - /** @name PolkadotPrimitivesV5AbridgedHrmpChannel (478) */ + /** @name PolkadotPrimitivesV5AbridgedHrmpChannel (491) */ interface PolkadotPrimitivesV5AbridgedHrmpChannel extends Struct { readonly maxCapacity: u32; readonly maxTotalSize: u32; @@ -4325,7 +4427,7 @@ declare module '@polkadot/types/lookup' { readonly mqcHead: Option; } - /** @name PolkadotPrimitivesV5AbridgedHostConfiguration (479) */ + /** @name PolkadotPrimitivesV5AbridgedHostConfiguration (492) */ interface PolkadotPrimitivesV5AbridgedHostConfiguration extends Struct { readonly maxCodeSize: u32; readonly maxHeadDataSize: u32; @@ -4338,19 +4440,19 @@ declare module '@polkadot/types/lookup' { readonly validationUpgradeDelay: u32; } - /** @name PolkadotCorePrimitivesOutboundHrmpMessage (485) */ + /** @name PolkadotCorePrimitivesOutboundHrmpMessage (498) */ interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { readonly recipient: u32; readonly data: Bytes; } - /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (486) */ + /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (499) */ interface CumulusPalletParachainSystemCodeUpgradeAuthorization extends Struct { readonly codeHash: H256; readonly checkVersion: bool; } - /** @name CumulusPalletParachainSystemError (487) */ + /** @name CumulusPalletParachainSystemError (500) */ interface CumulusPalletParachainSystemError extends Enum { readonly isOverlappingUpgrades: boolean; readonly isProhibitedByPolkadot: boolean; @@ -4363,21 +4465,21 @@ declare module '@polkadot/types/lookup' { readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized'; } - /** @name CumulusPalletXcmpQueueInboundChannelDetails (489) */ + /** @name CumulusPalletXcmpQueueInboundChannelDetails (502) */ interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct { readonly sender: u32; readonly state: CumulusPalletXcmpQueueInboundState; readonly messageMetadata: Vec>; } - /** @name CumulusPalletXcmpQueueInboundState (490) */ + /** @name CumulusPalletXcmpQueueInboundState (503) */ interface CumulusPalletXcmpQueueInboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name PolkadotParachainPrimitivesXcmpMessageFormat (493) */ + /** @name PolkadotParachainPrimitivesXcmpMessageFormat (506) */ interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum { readonly isConcatenatedVersionedXcm: boolean; readonly isConcatenatedEncodedBlob: boolean; @@ -4385,7 +4487,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals'; } - /** @name CumulusPalletXcmpQueueOutboundChannelDetails (496) */ + /** @name CumulusPalletXcmpQueueOutboundChannelDetails (509) */ interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct { readonly recipient: u32; readonly state: CumulusPalletXcmpQueueOutboundState; @@ -4394,14 +4496,14 @@ declare module '@polkadot/types/lookup' { readonly lastIndex: u16; } - /** @name CumulusPalletXcmpQueueOutboundState (497) */ + /** @name CumulusPalletXcmpQueueOutboundState (510) */ interface CumulusPalletXcmpQueueOutboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name CumulusPalletXcmpQueueQueueConfigData (499) */ + /** @name CumulusPalletXcmpQueueQueueConfigData (512) */ interface CumulusPalletXcmpQueueQueueConfigData extends Struct { readonly suspendThreshold: u32; readonly dropThreshold: u32; @@ -4411,7 +4513,7 @@ declare module '@polkadot/types/lookup' { readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight; } - /** @name CumulusPalletXcmpQueueError (501) */ + /** @name CumulusPalletXcmpQueueError (514) */ interface CumulusPalletXcmpQueueError extends Enum { readonly isFailedToSend: boolean; readonly isBadXcmOrigin: boolean; @@ -4421,7 +4523,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit'; } - /** @name PalletXcmQueryStatus (502) */ + /** @name PalletXcmQueryStatus (515) */ interface PalletXcmQueryStatus extends Enum { readonly isPending: boolean; readonly asPending: { @@ -4443,7 +4545,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Pending' | 'VersionNotifier' | 'Ready'; } - /** @name XcmVersionedResponse (506) */ + /** @name XcmVersionedResponse (519) */ interface XcmVersionedResponse extends Enum { readonly isV2: boolean; readonly asV2: XcmV2Response; @@ -4452,7 +4554,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'V2' | 'V3'; } - /** @name PalletXcmVersionMigrationStage (512) */ + /** @name PalletXcmVersionMigrationStage (525) */ interface PalletXcmVersionMigrationStage extends Enum { readonly isMigrateSupportedVersion: boolean; readonly isMigrateVersionNotifiers: boolean; @@ -4462,22 +4564,22 @@ declare module '@polkadot/types/lookup' { readonly type: 'MigrateSupportedVersion' | 'MigrateVersionNotifiers' | 'NotifyCurrentTargets' | 'MigrateAndNotifyOldTargets'; } - /** @name XcmVersionedAssetId (515) */ + /** @name XcmVersionedAssetId (528) */ interface XcmVersionedAssetId extends Enum { readonly isV3: boolean; readonly asV3: XcmV3MultiassetAssetId; readonly type: 'V3'; } - /** @name PalletXcmRemoteLockedFungibleRecord (516) */ + /** @name PalletXcmRemoteLockedFungibleRecord (529) */ interface PalletXcmRemoteLockedFungibleRecord extends Struct { readonly amount: u128; readonly owner: XcmVersionedMultiLocation; readonly locker: XcmVersionedMultiLocation; - readonly consumers: Vec>; + readonly consumers: Vec>; } - /** @name PalletXcmError (523) */ + /** @name PalletXcmError (536) */ interface PalletXcmError extends Enum { readonly isUnreachable: boolean; readonly isSendFailure: boolean; @@ -4502,47 +4604,47 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed' | 'InvalidAsset' | 'LowBalance' | 'TooManyLocks' | 'AccountNotSovereign' | 'FeesNotMet' | 'LockNotFound' | 'InUse'; } - /** @name CumulusPalletXcmError (524) */ + /** @name CumulusPalletXcmError (537) */ type CumulusPalletXcmError = Null; - /** @name CumulusPalletDmpQueueConfigData (525) */ + /** @name CumulusPalletDmpQueueConfigData (538) */ interface CumulusPalletDmpQueueConfigData extends Struct { readonly maxIndividual: SpWeightsWeightV2Weight; } - /** @name CumulusPalletDmpQueuePageIndexData (526) */ + /** @name CumulusPalletDmpQueuePageIndexData (539) */ interface CumulusPalletDmpQueuePageIndexData extends Struct { readonly beginUsed: u32; readonly endUsed: u32; readonly overweightCount: u64; } - /** @name CumulusPalletDmpQueueError (529) */ + /** @name CumulusPalletDmpQueueError (542) */ interface CumulusPalletDmpQueueError extends Enum { readonly isUnknown: boolean; readonly isOverLimit: boolean; readonly type: 'Unknown' | 'OverLimit'; } - /** @name FrameSystemExtensionsCheckNonZeroSender (532) */ + /** @name FrameSystemExtensionsCheckNonZeroSender (545) */ type FrameSystemExtensionsCheckNonZeroSender = Null; - /** @name FrameSystemExtensionsCheckSpecVersion (533) */ + /** @name FrameSystemExtensionsCheckSpecVersion (546) */ type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckTxVersion (534) */ + /** @name FrameSystemExtensionsCheckTxVersion (547) */ type FrameSystemExtensionsCheckTxVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (535) */ + /** @name FrameSystemExtensionsCheckGenesis (548) */ type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (538) */ + /** @name FrameSystemExtensionsCheckNonce (551) */ interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (539) */ + /** @name FrameSystemExtensionsCheckWeight (552) */ type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTransactionPaymentChargeTransactionPayment (540) */ + /** @name PalletTransactionPaymentChargeTransactionPayment (553) */ interface PalletTransactionPaymentChargeTransactionPayment extends Compact {} } // declare module diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index b7688dc16..c61685679 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.35.0", + "version": "0.35.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 7101997ae..59488a463 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.35.0", + "version": "0.35.1", "description": "", "type": "commonjs", "main": "./lib/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 5e4f38643..6c10696d7 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.35.0", + "version": "0.35.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index e1d8b47e1..18f453ebf 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.35.0", + "version": "0.35.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/src/DidDetails/FullDidDetails.ts b/packages/did/src/DidDetails/FullDidDetails.ts index 8c3df841e..008a5cbf8 100644 --- a/packages/did/src/DidDetails/FullDidDetails.ts +++ b/packages/did/src/DidDetails/FullDidDetails.ts @@ -39,6 +39,7 @@ const methodMapping: Record = { 'did.reclaimDeposit': undefined, 'did.submitDidCall': undefined, didLookup: 'authentication', + dipProvider: 'authentication', publicCredentials: 'assertionMethod', web3Names: 'authentication', } diff --git a/packages/messaging/package.json b/packages/messaging/package.json index c65cd26ad..bb1fd1974 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.35.0", + "version": "0.35.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index 4fa122d81..c1b4d7f15 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.35.0", + "version": "0.35.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 48e4991b5..2ead0f95a 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.35.0", + "version": "0.35.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/src/index.ts b/packages/type-definitions/src/index.ts index 481a07245..8f9fcd605 100644 --- a/packages/type-definitions/src/index.ts +++ b/packages/type-definitions/src/index.ts @@ -26,12 +26,14 @@ import { types10410 } from './types_10410.js' import { types10720 } from './types_10720.js' import { types10800 } from './types_10800.js' import { types10900 } from './types_10900.js' +import { types11200 } from './types_11200.js' // Custom runtime calls import { calls as didCalls } from './runtime/did.js' import { calls as stakingCalls } from './runtime/staking.js' import { calls as publicCredentialsCalls } from './runtime/publicCredentials.js' +import { calls as dipProviderCalls } from './runtime/dipProvider.js' export { types8, @@ -50,12 +52,14 @@ export { types10720, types10800, types10900, - types10900 as types, + types11200, + types11200 as types, } export { calls as didCalls } from './runtime/did.js' export { calls as stakingCalls } from './runtime/staking.js' export { calls as publicCredentialsCalls } from './runtime/publicCredentials.js' +export { calls as dipProviderCalls } from './runtime/dipProvider.js' const defaultTypesBundle: OverrideVersionedType[] = [ { @@ -119,9 +123,13 @@ const defaultTypesBundle: OverrideVersionedType[] = [ types: types10800, }, { - minmax: [10900, undefined], + minmax: [10900, 11199], types: types10900, }, + { + minmax: [11200, undefined], + types: types11200, + }, ] // Current runtime version: 10730 @@ -132,6 +140,7 @@ export const typesBundle: OverrideBundleType = { ...didCalls, ...stakingCalls, ...publicCredentialsCalls, + ...dipProviderCalls, }, types: defaultTypesBundle, }, @@ -140,6 +149,7 @@ export const typesBundle: OverrideBundleType = { ...didCalls, ...stakingCalls, ...publicCredentialsCalls, + ...dipProviderCalls, }, types: defaultTypesBundle, }, @@ -148,6 +158,7 @@ export const typesBundle: OverrideBundleType = { ...didCalls, ...stakingCalls, ...publicCredentialsCalls, + ...dipProviderCalls, }, types: defaultTypesBundle, }, @@ -156,6 +167,7 @@ export const typesBundle: OverrideBundleType = { ...didCalls, ...stakingCalls, ...publicCredentialsCalls, + ...dipProviderCalls, }, types: defaultTypesBundle, }, @@ -164,6 +176,7 @@ export const typesBundle: OverrideBundleType = { ...didCalls, ...stakingCalls, ...publicCredentialsCalls, + ...dipProviderCalls, }, types: defaultTypesBundle, }, @@ -178,6 +191,7 @@ export const typesBundle: OverrideBundleType = { runtime: { ...didCalls, ...publicCredentialsCalls, + ...dipProviderCalls, }, types: defaultTypesBundle, }, diff --git a/packages/type-definitions/src/runtime/dipProvider.ts b/packages/type-definitions/src/runtime/dipProvider.ts new file mode 100644 index 000000000..b5cb5afc2 --- /dev/null +++ b/packages/type-definitions/src/runtime/dipProvider.ts @@ -0,0 +1,29 @@ +/** + * Copyright (c) 2018-2023, BOTLabs GmbH. + * + * This source code is licensed under the BSD 4-Clause "Original" license + * found in the LICENSE file in the root directory of this source tree. + */ + +import type { DefinitionsCall } from '@polkadot/types/types' + +export const calls: DefinitionsCall = { + DipProvider: [ + { + methods: { + generate_proof: { + description: + 'Generate a Merkle proof for the DIP protocol for the specified request parameters.', + params: [ + { + name: 'request', + type: 'DipProofRequest', + }, + ], + type: 'Result', + }, + }, + version: 1, + }, + ], +} diff --git a/packages/type-definitions/src/types_11200.ts b/packages/type-definitions/src/types_11200.ts new file mode 100644 index 000000000..2d332fc9d --- /dev/null +++ b/packages/type-definitions/src/types_11200.ts @@ -0,0 +1,87 @@ +/** + * Copyright (c) 2018-2023, BOTLabs GmbH. + * + * This source code is licensed under the BSD 4-Clause "Original" license + * found in the LICENSE file in the root directory of this source tree. + */ + +import type { RegistryTypes } from '@polkadot/types/types' + +import { types10900 } from './types_10900.js' + +export const types11200: RegistryTypes = { + ...types10900, + IdentityCommitmentVersion: 'u16', + // DipProvider state_call + DipProofRequest: { + identifier: 'AccountId32', + version: 'IdentityCommitmentVersion', + proofKeys: 'Vec', + accounts: 'Vec', + shouldIncludeWeb3Name: 'bool', + }, + CompleteMerkleProof: { + root: 'MerkleRoot', + proof: 'MerkleProof', + }, + MerkleRoot: 'Hash', + MerkleProof: { + blinded: 'BlindedLeaves', + revealed: 'RevealedLeaves', + }, + BlindedLeaves: 'Vec', + BlindedValue: 'Bytes', + RevealedLeaves: 'Vec', + RevealedLeaf: { + _enum: { + DidKey: 'RevealedDidKey', + Web3Name: 'RevealedWeb3Name', + LinkedAccount: 'RevealedAccountId', + }, + }, + RevealedDidKey: { + id: 'Hash', + relationship: 'KeyRelationship', + details: 'DidDidDetailsDidPublicKeyDetails', + }, + KeyRelationship: { + _enum: { + Encryption: 'Null', + Verification: 'VerificationRelationship', + }, + }, + VerificationRelationship: { + _enum: [ + 'Authentication', + 'CapabilityDelegation', + 'CapabilityInvocation', + 'AssertionMethod', + ], + }, + RevealedWeb3Name: { + web3Name: 'Text', + claimedAt: 'BlockNumber', + }, + RevealedAccountId: 'PalletDidLookupLinkableAccountLinkableAccountId', + RuntimeApiDipProofError: { + _enum: { + IdentityProvider: 'LinkedDidIdentityProviderError', + MerkleProof: 'DidMerkleProofError', + }, + }, + LinkedDidIdentityProviderError: { + _enum: ['DidNotFound', 'DidDeleted', 'Internal'], + }, + DidIdentityProviderError: { + _enum: ['DidNotFound', 'Internal'], + }, + DidMerkleProofError: { + _enum: [ + 'UnsupportedVersion', + 'KeyNotFound', + 'LinkedAccountNotFound', + 'Web3NameNotFound', + 'Internal', + ], + }, +} diff --git a/packages/types/package.json b/packages/types/package.json index 4c4f903c5..37e1c59f9 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.35.0", + "version": "0.35.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 274aafada..515c0f4a6 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.35.0", + "version": "0.35.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index c449d7c42..17cf12221 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.35.0", + "version": "0.35.1", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/tests/integration/Did.spec.ts b/tests/integration/Did.spec.ts index c81635f47..0ff5b1f69 100644 --- a/tests/integration/Did.spec.ts +++ b/tests/integration/Did.spec.ts @@ -1268,8 +1268,7 @@ describe('Runtime constraints', () => { }) it('should not be possible to create a DID with a service endpoint that has a URI that is too long', async () => { - const uri = - 'a:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' + const uri = `a:${'a'.repeat(1_999)}` const limit = api.consts.did.maxServiceUrlLength.toNumber() expect(uri.length).toBeGreaterThan(limit) }) From 5dccfc836a8f6a7a51edd6aa5505febd2a65cef7 Mon Sep 17 00:00:00 2001 From: Skedley <48058984+Dudleyneedham@users.noreply.github.com> Date: Wed, 22 May 2024 13:11:53 +0200 Subject: [PATCH 50/52] fix: CType ID is checked in presentation (#866) fix: bug where ctype provided does not match credential ctype id --- packages/core/src/credential/Credential.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/core/src/credential/Credential.ts b/packages/core/src/credential/Credential.ts index ca24f967f..16a7b5444 100644 --- a/packages/core/src/credential/Credential.ts +++ b/packages/core/src/credential/Credential.ts @@ -301,10 +301,15 @@ export function verifyWellFormed( verifyDataIntegrity(credential) if (ctype) { + if (`kilt:ctype:${credential.claim.cTypeHash}` !== ctype.$id) { + throw new SDKErrors.CTypeIdMismatchError( + ctype.$id, + credential.claim.cTypeHash + ) + } verifyClaimAgainstSchema(credential.claim.contents, ctype) } } - /** * Queries the attestation record for a credential and matches their data. Fails if no attestation exists, if it is revoked, or if the attestation data does not match the credential. * From 1881c4424b6b82d4501e6f4135ba58cded937273 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner Date: Thu, 30 May 2024 16:29:28 +0200 Subject: [PATCH 51/52] chore: set version 0.35.2 --- package.json | 2 +- packages/asset-did/package.json | 2 +- packages/augment-api/package.json | 2 +- packages/chain-helpers/package.json | 2 +- packages/config/package.json | 2 +- packages/core/package.json | 2 +- packages/did/package.json | 2 +- packages/messaging/package.json | 2 +- packages/sdk-js/package.json | 2 +- packages/type-definitions/package.json | 2 +- packages/types/package.json | 2 +- packages/utils/package.json | 2 +- packages/vc-export/package.json | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index 2f1243e28..7e301e443 100644 --- a/package.json +++ b/package.json @@ -68,6 +68,6 @@ "typedoc": "^0.23.0", "typescript": "^4.8.3" }, - "version": "0.35.1", + "version": "0.35.2", "packageManager": "yarn@3.3.1" } diff --git a/packages/asset-did/package.json b/packages/asset-did/package.json index 049620066..04f014d8d 100644 --- a/packages/asset-did/package.json +++ b/packages/asset-did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/asset-did", - "version": "0.35.1", + "version": "0.35.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/augment-api/package.json b/packages/augment-api/package.json index d56d5b832..209125052 100644 --- a/packages/augment-api/package.json +++ b/packages/augment-api/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/augment-api", - "version": "0.35.1", + "version": "0.35.2", "description": "", "types": "./lib/index.d.ts", "type": "module", diff --git a/packages/chain-helpers/package.json b/packages/chain-helpers/package.json index c61685679..2728adcf0 100644 --- a/packages/chain-helpers/package.json +++ b/packages/chain-helpers/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/chain-helpers", - "version": "0.35.1", + "version": "0.35.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/config/package.json b/packages/config/package.json index 59488a463..6a7f3dbae 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/config", - "version": "0.35.1", + "version": "0.35.2", "description": "", "type": "commonjs", "main": "./lib/index.js", diff --git a/packages/core/package.json b/packages/core/package.json index 6c10696d7..1f878038e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/core", - "version": "0.35.1", + "version": "0.35.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/did/package.json b/packages/did/package.json index 18f453ebf..7e020c292 100644 --- a/packages/did/package.json +++ b/packages/did/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/did", - "version": "0.35.1", + "version": "0.35.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/messaging/package.json b/packages/messaging/package.json index bb1fd1974..db4b9d73e 100644 --- a/packages/messaging/package.json +++ b/packages/messaging/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/messaging", - "version": "0.35.1", + "version": "0.35.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/sdk-js/package.json b/packages/sdk-js/package.json index c1b4d7f15..766b37009 100644 --- a/packages/sdk-js/package.json +++ b/packages/sdk-js/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/sdk-js", - "version": "0.35.1", + "version": "0.35.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/type-definitions/package.json b/packages/type-definitions/package.json index 2ead0f95a..9a2b48aaf 100644 --- a/packages/type-definitions/package.json +++ b/packages/type-definitions/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/type-definitions", - "version": "0.35.1", + "version": "0.35.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/types/package.json b/packages/types/package.json index 37e1c59f9..d2f9935d0 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/types", - "version": "0.35.1", + "version": "0.35.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/utils/package.json b/packages/utils/package.json index 515c0f4a6..cec147e3f 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/utils", - "version": "0.35.1", + "version": "0.35.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", diff --git a/packages/vc-export/package.json b/packages/vc-export/package.json index 17cf12221..7e97be042 100644 --- a/packages/vc-export/package.json +++ b/packages/vc-export/package.json @@ -1,6 +1,6 @@ { "name": "@kiltprotocol/vc-export", - "version": "0.35.1", + "version": "0.35.2", "description": "", "main": "./lib/cjs/index.js", "module": "./lib/esm/index.js", From ec335d7086fa6673d2da45cd89f54ed02a09a287 Mon Sep 17 00:00:00 2001 From: Raphael Flechtner <39338561+rflechtner@users.noreply.github.com> Date: Thu, 8 Aug 2024 14:14:43 +0200 Subject: [PATCH 52/52] chore: release v1 (#897) Combines a series of changes we've made to make the SDK more user-friendly. This is a major breaking change compared to existing `0.x.x` versions. - Releases version 1 of `@kiltprotocol/sdk-js` with a reduced, simplified, high-level surface that allows long-term support. - This uses new releases (version 0.100.0) of the following packages: - `@kiltprotocol/chain-helpers` - `@kiltprotocol/types` - `@kiltprotocol/config` - `@kiltprotocol/did` - `@kiltprotocol/utils` - It also introduces the following packages: - `@kiltprotocol/credentials`: Provides functionality to issue and verify Verifiable Credentials and Verifiable Presentations; helps with creating and loading CTypes. - `@kiltprotocol/legacy-credentials`: Provides legacy credential functionality formally provided by `@kiltprotocol/core`. - `@kiltprotocol/asset-credentials`: Provides functionality around Asset DIDs and Asset Credentials. - `@kiltprotocol/jsonld-suites`: Provides helpers for issuing and verifying KILT credentials using `@digitalbazaar/vc`. - The following packages have been discontinued or moved: - `@kiltprotocol/augment-api` & `@kiltprotocol/type-definitions`: Moved into a new repository (KILTprotocol/types-augment). - `@kiltprotocol/vc-export`: Discontinued; Most functionality moved to `@kiltprotocol/jsonld-suites`, conversion between VCs and legacy credentials has moved to `@kiltprotocol/legacy-credentials`. - `@kiltprotocol/asset-did`: Discontinued; Moved into `@kiltprotocol/asset-credentials`. - `@kiltprotocol/core`: Discontinued; Most functions have moved into `@kiltprotocol/legacy-credentials`; CType-related functions have moved to `@kiltprotocol/credentials`; functions relating to connecting to a blockchain node have moved to `@kiltprotocol/chain-helpers`. - `@kiltprotocol/messaging`: Discontinued; Functionality has been moved to `@kiltprotocol/kilt-extension-api` --------- Co-authored-by: Abdulrahim Al Methiab Co-authored-by: Antonio Co-authored-by: Skedley <48058984+Dudleyneedham@users.noreply.github.com> --- .eslintrc.js | 9 +- .github/actions/cached-image-pull/action.yml | 2 +- .github/workflows/devpackpublish.yml | 18 +- .github/workflows/docpublish.yml | 2 +- .github/workflows/npmpublish-rc.yml | 28 +- .github/workflows/npmpublish.yml | 12 +- .github/workflows/test-node-candidate.yml | 33 +- .github/workflows/tests-polkadot-deps.yml | 30 +- .github/workflows/tests.yml | 51 +- .nvmrc | 2 +- .prettierignore | 1 - .../@yarnpkg/plugin-interactive-tools.cjs | 363 - .../@yarnpkg/plugin-workspace-tools.cjs | 28 - .yarn/releases/yarn-3.3.1.cjs | 823 -- .yarn/releases/yarn-4.1.1.cjs | 893 ++ .yarnrc.yml | 8 +- LICENSE | 2 +- docs/contribution-guide.md | 6 +- jest.config.js | 15 +- license-header.js | 2 +- package.json | 17 +- .../README.md | 11 +- .../package.json | 33 +- .../credentials}/PublicCredential.chain.ts | 163 +- .../src/credentials}/PublicCredential.spec.ts | 23 +- .../src/credentials}/PublicCredential.ts | 44 +- .../src/credentials}/index.ts | 2 +- .../src/dids/index.ts} | 32 +- packages/asset-credentials/src/index.ts | 13 + .../tsconfig.build.json | 0 .../tsconfig.esm.json | 0 packages/asset-did/package.json | 36 - packages/augment-api/README.md | 14 - packages/augment-api/extraDefs/package.json | 7 - packages/augment-api/index.cjs | 10 - packages/augment-api/index.mjs | 10 - packages/augment-api/metadata/spiritnet.json | 1 - packages/augment-api/package.json | 54 - .../augment-api/scripts/fetchMetadata.cjs | 82 - packages/augment-api/scripts/fixTypes.mjs | 33 - packages/augment-api/src/index.ts | 13 - .../src/interfaces/augment-api-consts.ts | 597 -- .../src/interfaces/augment-api-errors.ts | 1285 --- .../src/interfaces/augment-api-events.ts | 1049 --- .../src/interfaces/augment-api-query.ts | 962 -- .../src/interfaces/augment-api-rpc.ts | 617 -- .../src/interfaces/augment-api-runtime.ts | 215 - .../src/interfaces/augment-api-tx.ts | 965 -- .../augment-api/src/interfaces/augment-api.ts | 10 - .../src/interfaces/augment-types.ts | 1240 --- .../augment-api/src/interfaces/definitions.ts | 3 - .../src/interfaces/extraDefs/definitions.ts | 14 - .../src/interfaces/extraDefs/index.ts | 4 - .../src/interfaces/extraDefs/types.ts | 158 - packages/augment-api/src/interfaces/index.ts | 4 - packages/augment-api/src/interfaces/lookup.ts | 4397 --------- .../augment-api/src/interfaces/registry.ts | 321 - .../src/interfaces/types-lookup.ts | 4650 ---------- packages/augment-api/src/interfaces/types.ts | 4 - packages/augment-api/src/types.ts | 11 - packages/augment-api/tsconfig.build.json | 31 - packages/chain-helpers/package.json | 30 +- .../src/balance/Balance.utils.spec.ts | 2 +- .../src/balance/Balance.utils.ts | 22 +- .../src/blockchain/Blockchain.spec.ts | 2 +- .../src/blockchain/Blockchain.ts | 135 +- .../blockchain/SubscriptionPromise.spec.ts | 2 +- .../src/blockchain/SubscriptionPromise.ts | 4 +- .../chain-helpers/src/blockchain/index.ts | 2 +- .../src/connect/index.ts} | 2 +- .../src/errorhandling/ErrorHandler.spec.ts | 2 +- .../src/errorhandling/ErrorHandler.ts | 2 +- .../chain-helpers/src/errorhandling/index.ts | 2 +- packages/chain-helpers/src/index.ts | 4 +- packages/config/package.json | 13 +- packages/config/src/ConfigService.spec.ts | 3 +- packages/config/src/ConfigService.ts | 2 +- packages/config/src/index.ts | 2 +- packages/core/src/index.ts | 22 - packages/core/src/kilt/index.ts | 8 - packages/core/src/quote/Quote.spec.ts | 266 - packages/core/src/quote/Quote.ts | 198 - packages/core/src/quote/QuoteSchema.ts | 56 - packages/core/src/quote/index.ts | 9 - packages/core/src/utils.ts | 89 - packages/{core => credentials}/README.md | 4 +- packages/credentials/package.json | 67 + .../src/V1/KiltAttestationProofV1.spec.ts | 279 + .../src/V1/KiltAttestationProofV1.ts | 776 ++ .../src/V1/KiltCredentialV1.spec.ts | 53 + .../credentials/src/V1/KiltCredentialV1.ts | 390 + .../src/V1/KiltRevocationStatusV1.ts | 107 + packages/credentials/src/V1/common.ts | 156 + packages/credentials/src/V1/constants.ts | 20 + packages/credentials/src/V1/index.ts | 16 + packages/credentials/src/V1/types.ts | 196 + .../src/attestation/Attestation.chain.ts | 8 +- .../src/attestation/Attestation.spec.ts | 66 +- .../src/attestation/Attestation.ts | 61 +- .../src/attestation/index.ts | 2 +- .../src/ctype/CType.chain.ts | 151 +- .../src/ctype/CType.metadata.spec.ts | 2 +- .../src/ctype/CType.schemas.ts | 2 +- .../src/ctype/CType.spec.ts | 117 +- .../{core => credentials}/src/ctype/CType.ts | 24 +- packages/credentials/src/ctype/CTypeLoader.ts | 40 + .../src/ctype/Ctype.nested.spec.ts | 35 +- .../{core => credentials}/src/ctype/index.ts | 3 +- .../src/delegation/DelegationDecoder.ts | 17 +- .../DelegationHierarchyDetails.chain.ts | 4 +- .../src/delegation/DelegationNode.chain.ts | 6 +- .../src/delegation/DelegationNode.spec.ts | 10 +- .../src/delegation/DelegationNode.ts | 85 +- .../src/delegation/DelegationNode.utils.ts | 6 +- .../src/delegation/index.ts | 2 +- packages/credentials/src/holder.ts | 204 + packages/credentials/src/index.ts | 21 + packages/credentials/src/interfaces.ts | 66 + packages/credentials/src/issuer.ts | 136 + .../src/presentation/Presentation.spec.ts | 212 + .../src/presentation/Presentation.ts | 317 + .../src/presentation}/index.ts | 4 +- .../credentials/src/proofs/DataIntegrity.ts | 493 ++ packages/credentials/src/proofs/utils.ts | 70 + packages/credentials/src/verifier.ts | 353 + .../{core => credentials}/tsconfig.build.json | 0 .../{core => credentials}/tsconfig.esm.json | 0 packages/did/package.json | 34 +- packages/did/src/Did.chain.spec.ts | 38 +- packages/did/src/Did.chain.ts | 407 +- packages/did/src/Did.rpc.ts | 216 +- packages/did/src/Did.signature.spec.ts | 328 +- packages/did/src/Did.signature.ts | 221 +- packages/did/src/Did.utils.ts | 219 +- .../did/src/DidDetails/DidDetails.spec.ts | 122 - packages/did/src/DidDetails/DidDetails.ts | 183 +- .../did/src/DidDetails/FullDidDetails.spec.ts | 77 +- packages/did/src/DidDetails/FullDidDetails.ts | 174 +- .../src/DidDetails/LightDidDetails.spec.ts | 162 +- .../did/src/DidDetails/LightDidDetails.ts | 157 +- packages/did/src/DidDetails/index.ts | 19 +- .../src/DidDocumentExporter/DidContexts.ts | 196 - .../DidDocumentExporter.spec.ts | 320 - .../DidDocumentExporter.ts | 106 - .../did/src/DidDocumentExporter/README.md | 5 - packages/did/src/DidDocumentExporter/index.ts | 9 - .../did/src/DidLinks/AccountLinks.chain.ts | 32 +- packages/did/src/DidLinks/index.ts | 2 +- packages/did/src/DidResolver/DidContexts.ts | 123 + .../did/src/DidResolver/DidResolver.spec.ts | 1171 ++- packages/did/src/DidResolver/DidResolver.ts | 498 +- packages/did/src/DidResolver/index.ts | 3 +- packages/did/src/index.ts | 3 +- packages/jsonld-suites/README.md | 50 + packages/{core => jsonld-suites}/package.json | 30 +- packages/jsonld-suites/src/context/context.ts | 161 + .../src}/context/index.ts | 8 +- packages/jsonld-suites/src/documentLoader.ts | 197 + .../src/examples/KiltCredentialV1.json | 42 + packages/jsonld-suites/src/index.ts | 11 + .../src/purposes/NoProofPurpose.ts | 57 + .../src/purposes}/index.ts | 4 +- .../src/suites/KiltAttestationProofV1.spec.ts | 581 ++ .../src/suites/KiltAttestationProofV1.ts | 246 + .../src/suites/Sr25519Signature2020.spec.ts | 169 + .../src/suites/Sr25519Signature2020.ts | 274 + .../src/suites/Sr25519VerificationKey.ts | 350 + .../suites/Sr25519VerificationKey2020.spec.ts | 60 + packages/jsonld-suites/src/suites/index.ts | 10 + packages/jsonld-suites/src/suites/types.ts | 28 + packages/jsonld-suites/src/suites/utils.ts | 29 + .../index.ts => jsonld-suites/src/types.ts} | 4 +- .../tsconfig.build.json | 1 + .../tsconfig.esm.json | 0 packages/legacy-credentials/README.md | 5 + .../package.json | 25 +- .../src}/Claim.spec.ts | 53 +- .../claim => legacy-credentials/src}/Claim.ts | 121 +- .../src}/Credential.spec.ts | 288 +- .../src}/Credential.ts | 186 +- packages/legacy-credentials/src/index.ts | 11 + packages/legacy-credentials/src/utils.ts | 62 + .../legacy-credentials/src/vcInterop.spec.ts | 240 + packages/legacy-credentials/src/vcInterop.ts | 184 + .../tsconfig.build.json | 0 .../tsconfig.esm.json | 0 packages/messaging/README.md | 24 - packages/messaging/src/Message.spec.ts | 1336 --- packages/messaging/src/Message.ts | 452 - packages/messaging/src/index.ts | 19 - packages/sdk-js/package.json | 21 +- packages/sdk-js/src/DidHelpers/checkResult.ts | 313 + packages/sdk-js/src/DidHelpers/common.ts | 123 + .../sdk-js/src/DidHelpers/createDid.spec.ts | 85 + packages/sdk-js/src/DidHelpers/createDid.ts | 105 + .../src/DidHelpers/deactivateDid.spec.ts | 75 + .../sdk-js/src/DidHelpers/deactivateDid.ts | 27 + packages/sdk-js/src/DidHelpers/index.ts | 17 + .../sdk-js/src/DidHelpers/selectSigner.ts | 48 + .../sdk-js/src/DidHelpers/service.spec.ts | 136 + packages/sdk-js/src/DidHelpers/service.ts | 58 + .../sdk-js/src/DidHelpers/transact.spec.ts | 143 + packages/sdk-js/src/DidHelpers/transact.ts | 104 + .../src/DidHelpers/verificationMethod.spec.ts | 261 + .../src/DidHelpers/verificationMethod.ts | 149 + .../sdk-js/src/DidHelpers/w3names.spec.ts | 108 + packages/sdk-js/src/DidHelpers/w3names.ts | 45 + packages/sdk-js/src/index.ts | 32 +- packages/sdk-js/tsconfig.build.json | 3 + packages/sdk-js/webpack.config.js | 2 +- packages/type-definitions/package.json | 36 - packages/type-definitions/src/index.ts | 199 - packages/type-definitions/src/mergeType.ts | 28 - packages/type-definitions/src/runtime/did.ts | 113 - .../src/runtime/dipProvider.ts | 29 - .../src/runtime/publicCredentials.ts | 46 - .../type-definitions/src/runtime/staking.ts | 35 - packages/type-definitions/src/types_10.ts | 245 - packages/type-definitions/src/types_10410.ts | 21 - packages/type-definitions/src/types_10720.ts | 24 - packages/type-definitions/src/types_10800.ts | 33 - packages/type-definitions/src/types_10900.ts | 16 - packages/type-definitions/src/types_11200.ts | 87 - packages/type-definitions/src/types_12.ts | 33 - packages/type-definitions/src/types_17.ts | 31 - packages/type-definitions/src/types_18.ts | 38 - packages/type-definitions/src/types_19.ts | 73 - packages/type-definitions/src/types_20.ts | 122 - packages/type-definitions/src/types_21.ts | 74 - packages/type-definitions/src/types_23.ts | 48 - packages/type-definitions/src/types_25.ts | 22 - packages/type-definitions/src/types_2700.ts | 129 - packages/type-definitions/src/types_8.ts | 88 - packages/type-definitions/src/types_9.ts | 186 - packages/types/package.json | 14 +- packages/types/src/Address.ts | 12 +- packages/types/src/AssetDid.ts | 20 +- packages/types/src/Attestation.ts | 6 +- packages/types/src/Balance.ts | 2 +- packages/types/src/CType.ts | 2 +- packages/types/src/CTypeMetadata.ts | 2 +- packages/types/src/Claim.ts | 6 +- packages/types/src/Credential.ts | 4 +- packages/types/src/CryptoCallbacks.ts | 148 - packages/types/src/Delegation.ts | 6 +- packages/types/src/Deposit.ts | 2 +- packages/types/src/Did.ts | 103 + packages/types/src/DidDocument.ts | 176 - packages/types/src/DidDocumentExporter.ts | 110 - packages/types/src/DidHelpers.ts | 117 + packages/types/src/DidResolver.ts | 272 +- packages/types/src/Imported.ts | 5 +- packages/types/src/Message.ts | 269 - packages/types/src/PublicCredential.ts | 22 +- packages/types/src/Quote.ts | 33 - packages/types/src/Signers.ts | 35 + packages/types/src/SubscriptionPromise.ts | 2 +- packages/types/src/Terms.ts | 20 - packages/types/src/index.ts | 11 +- packages/utils/package.json | 22 +- packages/utils/src/CAIP/CAIP.spec.ts | 58 + packages/utils/src/CAIP/caip19.ts | 47 + packages/utils/src/CAIP/caip2.ts | 51 + .../src/balance => utils/src/CAIP}/index.ts | 5 +- packages/utils/src/Crypto.spec.ts | 2 +- packages/utils/src/Crypto.ts | 15 +- packages/utils/src/DataUtils.spec.ts | 2 +- packages/utils/src/DataUtils.ts | 2 +- packages/utils/src/Multikey.ts | 184 + packages/utils/src/SDKErrors.ts | 62 +- packages/utils/src/Signers.ts | 501 ++ packages/utils/src/UUID.spec.ts | 2 +- packages/utils/src/UUID.ts | 4 +- packages/utils/src/cbor.ts | 2 +- packages/utils/src/index.ts | 5 +- packages/utils/src/ss58Format.ts | 2 +- packages/vc-export/README.md | 143 - packages/vc-export/src/constants.ts | 33 - .../src/exportToVerifiableCredential.spec.ts | 485 - .../src/exportToVerifiableCredential.ts | 163 - packages/vc-export/src/index.ts | 17 - packages/vc-export/src/presentationUtils.ts | 133 - packages/vc-export/src/types.ts | 86 - .../vc-export/src/vc-js/context/context.ts | 82 - .../vc-export/src/vc-js/documentLoader.ts | 24 - .../src/vc-js/examples/example-vc.json | 53 - packages/vc-export/src/vc-js/index.ts | 10 - .../src/vc-js/suites/KiltAbstractSuite.ts | 100 - .../vc-js/suites/KiltAttestedSuite.spec.ts | 178 - .../src/vc-js/suites/KiltAttestedSuite.ts | 84 - .../vc-js/suites/KiltIntegritySuite.spec.ts | 161 - .../src/vc-js/suites/KiltIntegritySuite.ts | 65 - .../vc-js/suites/KiltSignatureSuite.spec.ts | 197 - .../src/vc-js/suites/KiltSignatureSuite.ts | 61 - packages/vc-export/src/vc-js/suites/index.ts | 10 - .../vc-export/src/vc-js/types/crypto-ld.d.ts | 1 - .../src/vc-js/types/jsonld-signatures.d.ts | 74 - packages/vc-export/src/vc-js/types/vc.d.ts | 25 - packages/vc-export/src/verificationUtils.ts | 331 - packages/vc-export/tsconfig.build.json | 17 - packages/vc-export/tsconfig.esm.json | 7 - tests/breakingChanges/BreakingChanges.spec.ts | 199 +- tests/bundle/bundle-test.ts | 658 +- tests/bundle/bundle.spec.ts | 4 +- tests/bundle/playwright.config.ts | 2 +- tests/integration/AccountLinking.spec.ts | 78 +- tests/integration/Attestation.spec.ts | 148 +- tests/integration/Balance.spec.ts | 8 +- tests/integration/Blockchain.spec.ts | 11 +- tests/integration/Ctypes.spec.ts | 33 +- tests/integration/Delegation.spec.ts | 115 +- tests/integration/Deposit.spec.ts | 106 +- tests/integration/Did.spec.ts | 795 +- tests/integration/ErrorHandler.spec.ts | 12 +- tests/integration/PublicCredentials.spec.ts | 175 +- tests/integration/Web3Names.spec.ts | 50 +- tests/integration/didHelpers.spec.ts | 438 + tests/integration/utils.ts | 16 +- tests/testUtils/TestUtils.ts | 474 +- tests/testUtils/index.ts | 2 +- tests/testUtils/metadata/spiritnet.json | 1 + tests/testUtils/metadata/spiritnet.ts | 6 +- tests/testUtils/mocks/index.ts | 2 +- tests/testUtils/mocks/mockedApi.ts | 2 +- tests/testUtils/mocks/mockedApi.utils.ts | 2 +- tests/testUtils/mocks/typeRegistry.ts | 2 +- tests/testUtils/testData.ts | 206 + tsconfig.docs.json | 19 +- tsconfig.json | 13 +- yarn.lock | 7867 +++++++++-------- 330 files changed, 20893 insertions(+), 34133 deletions(-) delete mode 100644 .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs delete mode 100644 .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs delete mode 100755 .yarn/releases/yarn-3.3.1.cjs create mode 100755 .yarn/releases/yarn-4.1.1.cjs rename packages/{asset-did => asset-credentials}/README.md (59%) rename packages/{messaging => asset-credentials}/package.json (58%) rename packages/{core/src/publicCredential => asset-credentials/src/credentials}/PublicCredential.chain.ts (51%) rename packages/{core/src/publicCredential => asset-credentials/src/credentials}/PublicCredential.spec.ts (88%) rename packages/{core/src/publicCredential => asset-credentials/src/credentials}/PublicCredential.ts (75%) rename packages/{core/src/publicCredential => asset-credentials/src/credentials}/index.ts (90%) rename packages/{asset-did/src/AssetDid.ts => asset-credentials/src/dids/index.ts} (61%) create mode 100644 packages/asset-credentials/src/index.ts rename packages/{asset-did => asset-credentials}/tsconfig.build.json (100%) rename packages/{asset-did => asset-credentials}/tsconfig.esm.json (100%) delete mode 100644 packages/asset-did/package.json delete mode 100644 packages/augment-api/README.md delete mode 100644 packages/augment-api/extraDefs/package.json delete mode 100644 packages/augment-api/index.cjs delete mode 100644 packages/augment-api/index.mjs delete mode 100644 packages/augment-api/metadata/spiritnet.json delete mode 100644 packages/augment-api/package.json delete mode 100644 packages/augment-api/scripts/fetchMetadata.cjs delete mode 100755 packages/augment-api/scripts/fixTypes.mjs delete mode 100644 packages/augment-api/src/index.ts delete mode 100644 packages/augment-api/src/interfaces/augment-api-consts.ts delete mode 100644 packages/augment-api/src/interfaces/augment-api-errors.ts delete mode 100644 packages/augment-api/src/interfaces/augment-api-events.ts delete mode 100644 packages/augment-api/src/interfaces/augment-api-query.ts delete mode 100644 packages/augment-api/src/interfaces/augment-api-rpc.ts delete mode 100644 packages/augment-api/src/interfaces/augment-api-runtime.ts delete mode 100644 packages/augment-api/src/interfaces/augment-api-tx.ts delete mode 100644 packages/augment-api/src/interfaces/augment-api.ts delete mode 100644 packages/augment-api/src/interfaces/augment-types.ts delete mode 100644 packages/augment-api/src/interfaces/definitions.ts delete mode 100644 packages/augment-api/src/interfaces/extraDefs/definitions.ts delete mode 100644 packages/augment-api/src/interfaces/extraDefs/index.ts delete mode 100644 packages/augment-api/src/interfaces/extraDefs/types.ts delete mode 100644 packages/augment-api/src/interfaces/index.ts delete mode 100644 packages/augment-api/src/interfaces/lookup.ts delete mode 100644 packages/augment-api/src/interfaces/registry.ts delete mode 100644 packages/augment-api/src/interfaces/types-lookup.ts delete mode 100644 packages/augment-api/src/interfaces/types.ts delete mode 100644 packages/augment-api/src/types.ts delete mode 100644 packages/augment-api/tsconfig.build.json rename packages/{core => chain-helpers}/src/balance/Balance.utils.spec.ts (99%) rename packages/{core => chain-helpers}/src/balance/Balance.utils.ts (85%) rename packages/{core/src/kilt/Kilt.ts => chain-helpers/src/connect/index.ts} (98%) delete mode 100644 packages/core/src/index.ts delete mode 100644 packages/core/src/kilt/index.ts delete mode 100644 packages/core/src/quote/Quote.spec.ts delete mode 100644 packages/core/src/quote/Quote.ts delete mode 100644 packages/core/src/quote/QuoteSchema.ts delete mode 100644 packages/core/src/quote/index.ts delete mode 100644 packages/core/src/utils.ts rename packages/{core => credentials}/README.md (89%) create mode 100644 packages/credentials/package.json create mode 100644 packages/credentials/src/V1/KiltAttestationProofV1.spec.ts create mode 100644 packages/credentials/src/V1/KiltAttestationProofV1.ts create mode 100644 packages/credentials/src/V1/KiltCredentialV1.spec.ts create mode 100644 packages/credentials/src/V1/KiltCredentialV1.ts create mode 100644 packages/credentials/src/V1/KiltRevocationStatusV1.ts create mode 100644 packages/credentials/src/V1/common.ts create mode 100644 packages/credentials/src/V1/constants.ts create mode 100644 packages/credentials/src/V1/index.ts create mode 100644 packages/credentials/src/V1/types.ts rename packages/{core => credentials}/src/attestation/Attestation.chain.ts (85%) rename packages/{core => credentials}/src/attestation/Attestation.spec.ts (70%) rename packages/{core => credentials}/src/attestation/Attestation.ts (56%) rename packages/{core => credentials}/src/attestation/index.ts (84%) rename packages/{core => credentials}/src/ctype/CType.chain.ts (52%) rename packages/{core => credentials}/src/ctype/CType.metadata.spec.ts (97%) rename packages/{core => credentials}/src/ctype/CType.schemas.ts (99%) rename packages/{core => credentials}/src/ctype/CType.spec.ts (81%) rename packages/{core => credentials}/src/ctype/CType.ts (90%) create mode 100644 packages/credentials/src/ctype/CTypeLoader.ts rename packages/{core => credentials}/src/ctype/Ctype.nested.spec.ts (88%) rename packages/{core => credentials}/src/ctype/index.ts (77%) rename packages/{core => credentials}/src/delegation/DelegationDecoder.ts (80%) rename packages/{core => credentials}/src/delegation/DelegationHierarchyDetails.chain.ts (90%) rename packages/{core => credentials}/src/delegation/DelegationNode.chain.ts (94%) rename packages/{core => credentials}/src/delegation/DelegationNode.spec.ts (99%) rename packages/{core => credentials}/src/delegation/DelegationNode.ts (85%) rename packages/{core => credentials}/src/delegation/DelegationNode.utils.ts (95%) rename packages/{core => credentials}/src/delegation/index.ts (86%) create mode 100644 packages/credentials/src/holder.ts create mode 100644 packages/credentials/src/index.ts create mode 100644 packages/credentials/src/interfaces.ts create mode 100644 packages/credentials/src/issuer.ts create mode 100644 packages/credentials/src/presentation/Presentation.spec.ts create mode 100644 packages/credentials/src/presentation/Presentation.ts rename packages/{asset-did/src => credentials/src/presentation}/index.ts (67%) create mode 100644 packages/credentials/src/proofs/DataIntegrity.ts create mode 100644 packages/credentials/src/proofs/utils.ts create mode 100644 packages/credentials/src/verifier.ts rename packages/{core => credentials}/tsconfig.build.json (100%) rename packages/{core => credentials}/tsconfig.esm.json (100%) delete mode 100644 packages/did/src/DidDetails/DidDetails.spec.ts delete mode 100644 packages/did/src/DidDocumentExporter/DidContexts.ts delete mode 100644 packages/did/src/DidDocumentExporter/DidDocumentExporter.spec.ts delete mode 100644 packages/did/src/DidDocumentExporter/DidDocumentExporter.ts delete mode 100644 packages/did/src/DidDocumentExporter/README.md delete mode 100644 packages/did/src/DidDocumentExporter/index.ts create mode 100644 packages/did/src/DidResolver/DidContexts.ts create mode 100644 packages/jsonld-suites/README.md rename packages/{core => jsonld-suites}/package.json (68%) create mode 100644 packages/jsonld-suites/src/context/context.ts rename packages/{vc-export/src/vc-js => jsonld-suites/src}/context/index.ts (51%) create mode 100644 packages/jsonld-suites/src/documentLoader.ts create mode 100644 packages/jsonld-suites/src/examples/KiltCredentialV1.json create mode 100644 packages/jsonld-suites/src/index.ts create mode 100644 packages/jsonld-suites/src/purposes/NoProofPurpose.ts rename packages/{core/src/claim => jsonld-suites/src/purposes}/index.ts (66%) create mode 100644 packages/jsonld-suites/src/suites/KiltAttestationProofV1.spec.ts create mode 100644 packages/jsonld-suites/src/suites/KiltAttestationProofV1.ts create mode 100644 packages/jsonld-suites/src/suites/Sr25519Signature2020.spec.ts create mode 100644 packages/jsonld-suites/src/suites/Sr25519Signature2020.ts create mode 100644 packages/jsonld-suites/src/suites/Sr25519VerificationKey.ts create mode 100644 packages/jsonld-suites/src/suites/Sr25519VerificationKey2020.spec.ts create mode 100644 packages/jsonld-suites/src/suites/index.ts create mode 100644 packages/jsonld-suites/src/suites/types.ts create mode 100644 packages/jsonld-suites/src/suites/utils.ts rename packages/{core/src/credential/index.ts => jsonld-suites/src/types.ts} (67%) rename packages/{type-definitions => jsonld-suites}/tsconfig.build.json (92%) rename packages/{messaging => jsonld-suites}/tsconfig.esm.json (100%) create mode 100644 packages/legacy-credentials/README.md rename packages/{vc-export => legacy-credentials}/package.json (72%) rename packages/{core/src/claim => legacy-credentials/src}/Claim.spec.ts (72%) rename packages/{core/src/claim => legacy-credentials/src}/Claim.ts (60%) rename packages/{core/src/credential => legacy-credentials/src}/Credential.spec.ts (80%) rename packages/{core/src/credential => legacy-credentials/src}/Credential.ts (70%) create mode 100644 packages/legacy-credentials/src/index.ts create mode 100644 packages/legacy-credentials/src/utils.ts create mode 100644 packages/legacy-credentials/src/vcInterop.spec.ts create mode 100644 packages/legacy-credentials/src/vcInterop.ts rename packages/{messaging => legacy-credentials}/tsconfig.build.json (100%) rename packages/{type-definitions => legacy-credentials}/tsconfig.esm.json (100%) delete mode 100644 packages/messaging/README.md delete mode 100644 packages/messaging/src/Message.spec.ts delete mode 100644 packages/messaging/src/Message.ts delete mode 100644 packages/messaging/src/index.ts create mode 100644 packages/sdk-js/src/DidHelpers/checkResult.ts create mode 100644 packages/sdk-js/src/DidHelpers/common.ts create mode 100644 packages/sdk-js/src/DidHelpers/createDid.spec.ts create mode 100644 packages/sdk-js/src/DidHelpers/createDid.ts create mode 100644 packages/sdk-js/src/DidHelpers/deactivateDid.spec.ts create mode 100644 packages/sdk-js/src/DidHelpers/deactivateDid.ts create mode 100644 packages/sdk-js/src/DidHelpers/index.ts create mode 100644 packages/sdk-js/src/DidHelpers/selectSigner.ts create mode 100644 packages/sdk-js/src/DidHelpers/service.spec.ts create mode 100644 packages/sdk-js/src/DidHelpers/service.ts create mode 100644 packages/sdk-js/src/DidHelpers/transact.spec.ts create mode 100644 packages/sdk-js/src/DidHelpers/transact.ts create mode 100644 packages/sdk-js/src/DidHelpers/verificationMethod.spec.ts create mode 100644 packages/sdk-js/src/DidHelpers/verificationMethod.ts create mode 100644 packages/sdk-js/src/DidHelpers/w3names.spec.ts create mode 100644 packages/sdk-js/src/DidHelpers/w3names.ts delete mode 100644 packages/type-definitions/package.json delete mode 100644 packages/type-definitions/src/index.ts delete mode 100644 packages/type-definitions/src/mergeType.ts delete mode 100644 packages/type-definitions/src/runtime/did.ts delete mode 100644 packages/type-definitions/src/runtime/dipProvider.ts delete mode 100644 packages/type-definitions/src/runtime/publicCredentials.ts delete mode 100644 packages/type-definitions/src/runtime/staking.ts delete mode 100644 packages/type-definitions/src/types_10.ts delete mode 100644 packages/type-definitions/src/types_10410.ts delete mode 100644 packages/type-definitions/src/types_10720.ts delete mode 100644 packages/type-definitions/src/types_10800.ts delete mode 100644 packages/type-definitions/src/types_10900.ts delete mode 100644 packages/type-definitions/src/types_11200.ts delete mode 100644 packages/type-definitions/src/types_12.ts delete mode 100644 packages/type-definitions/src/types_17.ts delete mode 100644 packages/type-definitions/src/types_18.ts delete mode 100644 packages/type-definitions/src/types_19.ts delete mode 100644 packages/type-definitions/src/types_20.ts delete mode 100644 packages/type-definitions/src/types_21.ts delete mode 100644 packages/type-definitions/src/types_23.ts delete mode 100644 packages/type-definitions/src/types_25.ts delete mode 100644 packages/type-definitions/src/types_2700.ts delete mode 100644 packages/type-definitions/src/types_8.ts delete mode 100644 packages/type-definitions/src/types_9.ts delete mode 100644 packages/types/src/CryptoCallbacks.ts create mode 100644 packages/types/src/Did.ts delete mode 100644 packages/types/src/DidDocument.ts delete mode 100644 packages/types/src/DidDocumentExporter.ts create mode 100644 packages/types/src/DidHelpers.ts delete mode 100644 packages/types/src/Message.ts delete mode 100644 packages/types/src/Quote.ts create mode 100644 packages/types/src/Signers.ts delete mode 100644 packages/types/src/Terms.ts create mode 100644 packages/utils/src/CAIP/CAIP.spec.ts create mode 100644 packages/utils/src/CAIP/caip19.ts create mode 100644 packages/utils/src/CAIP/caip2.ts rename packages/{core/src/balance => utils/src/CAIP}/index.ts (57%) create mode 100644 packages/utils/src/Multikey.ts create mode 100644 packages/utils/src/Signers.ts delete mode 100644 packages/vc-export/README.md delete mode 100644 packages/vc-export/src/constants.ts delete mode 100644 packages/vc-export/src/exportToVerifiableCredential.spec.ts delete mode 100644 packages/vc-export/src/exportToVerifiableCredential.ts delete mode 100644 packages/vc-export/src/index.ts delete mode 100644 packages/vc-export/src/presentationUtils.ts delete mode 100644 packages/vc-export/src/types.ts delete mode 100644 packages/vc-export/src/vc-js/context/context.ts delete mode 100644 packages/vc-export/src/vc-js/documentLoader.ts delete mode 100644 packages/vc-export/src/vc-js/examples/example-vc.json delete mode 100644 packages/vc-export/src/vc-js/index.ts delete mode 100644 packages/vc-export/src/vc-js/suites/KiltAbstractSuite.ts delete mode 100644 packages/vc-export/src/vc-js/suites/KiltAttestedSuite.spec.ts delete mode 100644 packages/vc-export/src/vc-js/suites/KiltAttestedSuite.ts delete mode 100644 packages/vc-export/src/vc-js/suites/KiltIntegritySuite.spec.ts delete mode 100644 packages/vc-export/src/vc-js/suites/KiltIntegritySuite.ts delete mode 100644 packages/vc-export/src/vc-js/suites/KiltSignatureSuite.spec.ts delete mode 100644 packages/vc-export/src/vc-js/suites/KiltSignatureSuite.ts delete mode 100644 packages/vc-export/src/vc-js/suites/index.ts delete mode 100644 packages/vc-export/src/vc-js/types/crypto-ld.d.ts delete mode 100644 packages/vc-export/src/vc-js/types/jsonld-signatures.d.ts delete mode 100644 packages/vc-export/src/vc-js/types/vc.d.ts delete mode 100644 packages/vc-export/src/verificationUtils.ts delete mode 100644 packages/vc-export/tsconfig.build.json delete mode 100644 packages/vc-export/tsconfig.esm.json create mode 100644 tests/integration/didHelpers.spec.ts create mode 100644 tests/testUtils/metadata/spiritnet.json create mode 100644 tests/testUtils/testData.ts diff --git a/.eslintrc.js b/.eslintrc.js index 9952fe2a0..334f08d68 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -152,12 +152,6 @@ module.exports = { 'no-console': 'off', }, }, - { - files: ['**/augment-api/src/interfaces/**/*.ts'], - rules: { - 'license-header/header': 'off', - }, - }, { files: ['tests/**/*'], rules: { @@ -165,7 +159,8 @@ module.exports = { 'jsdoc/require-jsdoc': 'off', 'no-console': 'off', '@typescript-eslint/explicit-function-return-type': 'off', - 'import/no-extraneous-dependencies': 'off' + 'import/no-extraneous-dependencies': 'off', + 'no-underscore-dangle': 'off' }, }, ], diff --git a/.github/actions/cached-image-pull/action.yml b/.github/actions/cached-image-pull/action.yml index 351bb3e6a..efcb0201e 100644 --- a/.github/actions/cached-image-pull/action.yml +++ b/.github/actions/cached-image-pull/action.yml @@ -27,7 +27,7 @@ runs: - name: check image cache id: image-cache - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: ${{ steps.image-file.outputs.path }} key: image-cache-${{ inputs.image }} diff --git a/.github/workflows/devpackpublish.yml b/.github/workflows/devpackpublish.yml index 775829df7..4ba79507e 100644 --- a/.github/workflows/devpackpublish.yml +++ b/.github/workflows/devpackpublish.yml @@ -1,27 +1,17 @@ name: Publish dev package to npm -on: - push: - branches: - - develop - paths: - - '**/*.ts' - - 'package.json' - - '**/package.json' - - '!**/*.spec.ts' - - '!**/__integrationtests__' - - '!**/__mocks__' - - '!docs/**' +on: workflow_dispatch + jobs: build: runs-on: ubuntu-latest if: "! startsWith(github.event.head_commit.message, '[CI Skip]') && github.repository == 'kiltprotocol/sdk-js'" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: # fetch-depth 0 and token needed to push changes on the package.json files back. fetch-depth: 0 token: ${{ secrets.REPO_ACCESS_TOKEN }} - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' diff --git a/.github/workflows/docpublish.yml b/.github/workflows/docpublish.yml index 6d075f62a..c9c5a8e54 100644 --- a/.github/workflows/docpublish.yml +++ b/.github/workflows/docpublish.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install and Build run: | diff --git a/.github/workflows/npmpublish-rc.yml b/.github/workflows/npmpublish-rc.yml index 32757d77c..f7cd5b20e 100644 --- a/.github/workflows/npmpublish-rc.yml +++ b/.github/workflows/npmpublish-rc.yml @@ -1,13 +1,25 @@ name: Publish candidate package -on: workflow_dispatch +on: + workflow_dispatch: + inputs: + npm_tag: + description: The tag with which the package is tagged on npm. + required: true + options: + - dev + - alpha + - beta + - rc + type: choice + default: dev jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' @@ -19,8 +31,8 @@ jobs: needs: build runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' @@ -32,9 +44,9 @@ jobs: run: yarn run bundle - name: Get current package version id: package_version - run: echo "package_version=$(node -pe "require('./package.json').version")" >> $GITHUB_OUTPUT + run: echo "package_version=$(node -pe "require('./package.json').version")" >> $GITHUB_OUTPUT - name: Publish to NPM - run: yarn run publish --tag rc + run: yarn run publish --tag ${{ inputs.npm_tag }} env: YARN_NPM_AUTH_TOKEN: ${{secrets.npm_token}} - name: Repository Dispatch @@ -43,4 +55,4 @@ jobs: token: ${{ secrets.REPO_ACCESS_TOKEN }} repository: KILTProtocol/docs event-type: sdk-update - client-payload: '{"latestTag": "${{ steps.package_version.outputs.package_version }}"}' + client-payload: '{"latestTag": "${{ steps.package_version.outputs.package_version }}"}' diff --git a/.github/workflows/npmpublish.yml b/.github/workflows/npmpublish.yml index 69f679d51..93ffad411 100644 --- a/.github/workflows/npmpublish.yml +++ b/.github/workflows/npmpublish.yml @@ -6,8 +6,8 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' @@ -19,8 +19,8 @@ jobs: needs: build runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' @@ -32,7 +32,7 @@ jobs: run: yarn run bundle - name: Get current package version id: package_version - run: echo "package_version=$(node -pe "require('./package.json').version")" >> $GITHUB_OUTPUT + run: echo "package_version=$(node -pe "require('./package.json').version")" >> $GITHUB_OUTPUT - name: Publish to NPM run: yarn run publish --tag latest env: @@ -43,4 +43,4 @@ jobs: token: ${{ secrets.REPO_ACCESS_TOKEN }} repository: KILTProtocol/docs event-type: sdk-update - client-payload: '{"latestTag": "${{ steps.package_version.outputs.package_version }}"}' + client-payload: '{"latestTag": "${{ steps.package_version.outputs.package_version }}"}' diff --git a/.github/workflows/test-node-candidate.yml b/.github/workflows/test-node-candidate.yml index 47e249598..40b805568 100644 --- a/.github/workflows/test-node-candidate.yml +++ b/.github/workflows/test-node-candidate.yml @@ -12,14 +12,13 @@ env: TESTCONTAINERS_WATCHER_IMG: testcontainers/ryuk:0.3.2 jobs: - build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' @@ -30,7 +29,7 @@ jobs: - name: zip build run: zip -r build.zip . - name: upload build - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: build path: build.zip @@ -39,7 +38,7 @@ jobs: runs-on: ubuntu-latest needs: build steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: make sure testcontainers image is in cache uses: ./.github/actions/cached-image-pull with: @@ -51,20 +50,20 @@ jobs: needs: cache_imgs steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: build - name: unzip run: unzip build.zip -d . - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' - name: Log out node version run: node --version - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v2 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -72,7 +71,7 @@ jobs: - name: Login to Amazon ECR id: login-ecr - uses: aws-actions/amazon-ecr-login@v1 + uses: aws-actions/amazon-ecr-login@v2 - name: pull image env: @@ -97,19 +96,19 @@ jobs: needs: build steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: build - name: unzip run: unzip build.zip -d . - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' - name: yarn bundle run: yarn bundle - name: upload bundle artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: checked-nonmin-bundle path: packages/sdk-js/dist/sdk-js.umd.js @@ -120,21 +119,21 @@ jobs: needs: [cache_imgs, bundle_cache] steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: build - name: unzip run: unzip build.zip -d . - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: checked-nonmin-bundle path: packages/sdk-js/dist - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' - run: basename /packages/sdk-js/dist/ - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v2 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -142,7 +141,7 @@ jobs: - name: Login to Amazon ECR id: login-ecr - uses: aws-actions/amazon-ecr-login@v1 + uses: aws-actions/amazon-ecr-login@v2 - name: pull node image env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} diff --git a/.github/workflows/tests-polkadot-deps.yml b/.github/workflows/tests-polkadot-deps.yml index ce47e76b5..0d5ebedb4 100644 --- a/.github/workflows/tests-polkadot-deps.yml +++ b/.github/workflows/tests-polkadot-deps.yml @@ -13,14 +13,14 @@ jobs: strategy: matrix: - node-version: [16.x, 18.x, 20.x] + node-version: [18.x, 20.x, 22.x] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: master - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'yarn' @@ -35,7 +35,7 @@ jobs: - name: list dependencies run: echo "$(yarn info -A --name-only --json)" > locked_dependencies.txt - name: upload dependencies list - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: deps-${{ matrix.node-version }} path: | @@ -47,7 +47,7 @@ jobs: - name: zip build run: zip -r build.zip . - name: upload build - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: build-${{ matrix.node-version }} path: build.zip @@ -58,16 +58,18 @@ jobs: strategy: matrix: - node-version: [16.x, 18.x] + node-version: [18.x, 20.x] required: ['required'] include: - - node-version: 20.x + - node-version: 16.x + required: 'optional' + - node-version: 22.x required: 'optional' continue-on-error: ${{ matrix.required == 'optional' }} steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: build-${{ matrix.node-version }} - name: unzip @@ -91,9 +93,9 @@ jobs: continue-on-error: ${{ matrix.required == 'optional' }} steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: - name: build-16.x + name: build-20.x - name: unzip run: unzip build.zip -d . @@ -106,9 +108,9 @@ jobs: - name: Login to Amazon ECR id: login-ecr - uses: aws-actions/amazon-ecr-login@v1 + uses: aws-actions/amazon-ecr-login@v2 - - name: pull image + - name: pull node image env: ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }} ECR_REPOSITORY: kilt/prototype-chain @@ -135,9 +137,9 @@ jobs: needs: [test, integration_test] if: failure() steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: - name: deps-16.x + name: deps-20.x - name: set dependencies env run: | echo 'DEPS<> $GITHUB_ENV diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 20904ac9d..6af8a2690 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -37,9 +37,9 @@ jobs: needs: check_skip steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' cache: 'yarn' @@ -50,7 +50,7 @@ jobs: - name: zip build run: zip -r build.zip . - name: upload build - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: build path: build.zip @@ -60,13 +60,13 @@ jobs: needs: build steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: build - name: unzip run: unzip build.zip -d . - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' - name: lint @@ -80,32 +80,36 @@ jobs: strategy: matrix: - node-version: [16, 18] + node-version: [18, 20] required: ['required'] include: - - node-version: 20 + - node-version: 16 + required: 'optional' + - node-version: 22 required: 'optional' continue-on-error: ${{ matrix.required == 'optional' }} steps: - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: build - name: unzip run: unzip build.zip -d . - name: unit tests run: yarn test:ci + env: + YARN_IGNORE_NODE: 1 cache_imgs: runs-on: ubuntu-latest needs: build steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: make sure testcontainers image is in cache uses: ./.github/actions/cached-image-pull with: @@ -127,20 +131,20 @@ jobs: continue-on-error: ${{ matrix.required == 'optional' }} steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: build - name: unzip run: unzip build.zip -d . - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' - name: Log out node version run: node --version - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v2 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -148,7 +152,7 @@ jobs: - name: Login to Amazon ECR id: login-ecr - uses: aws-actions/amazon-ecr-login@v1 + uses: aws-actions/amazon-ecr-login@v2 - name: pull image env: @@ -167,30 +171,29 @@ jobs: - name: run integration tests (cjs) timeout-minutes: 60 run: yarn test:integration -b - + - name: run integration tests (esm) timeout-minutes: 60 run: yarn test:integration:esm -b - bundle_cache: runs-on: ubuntu-latest needs: build steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: build - name: unzip run: unzip build.zip -d . - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' - name: yarn bundle run: yarn bundle - name: upload bundle artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: checked-nonmin-bundle path: packages/sdk-js/dist/sdk-js.umd.js @@ -209,22 +212,22 @@ jobs: continue-on-error: ${{ matrix.required == 'optional' }} steps: - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: build - name: unzip run: unzip build.zip -d . - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: checked-nonmin-bundle path: packages/sdk-js/dist - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version-file: '.nvmrc' - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v2 + uses: aws-actions/configure-aws-credentials@v4 with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} @@ -232,7 +235,7 @@ jobs: - name: Login to Amazon ECR id: login-ecr - uses: aws-actions/amazon-ecr-login@v1 + uses: aws-actions/amazon-ecr-login@v2 - run: basename /packages/sdk-js/dist/ - name: pull node image env: diff --git a/.nvmrc b/.nvmrc index 27cb0ee2c..00b326931 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -lts/Gallium +lts/Iron diff --git a/.prettierignore b/.prettierignore index 380145134..e00e678cb 100644 --- a/.prettierignore +++ b/.prettierignore @@ -6,4 +6,3 @@ lib !package.json jest.* coverage -**/augment-api/src/interfaces/**/*.ts diff --git a/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs b/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs deleted file mode 100644 index 527659ff9..000000000 --- a/.yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs +++ /dev/null @@ -1,363 +0,0 @@ -/* eslint-disable */ -//prettier-ignore -module.exports = { -name: "@yarnpkg/plugin-interactive-tools", -factory: function (require) { -var plugin=(()=>{var PR=Object.create,J1=Object.defineProperty,MR=Object.defineProperties,FR=Object.getOwnPropertyDescriptor,LR=Object.getOwnPropertyDescriptors,RR=Object.getOwnPropertyNames,hh=Object.getOwnPropertySymbols,NR=Object.getPrototypeOf,Z4=Object.prototype.hasOwnProperty,aD=Object.prototype.propertyIsEnumerable;var dD=(i,u,f)=>u in i?J1(i,u,{enumerable:!0,configurable:!0,writable:!0,value:f}):i[u]=f,dt=(i,u)=>{for(var f in u||(u={}))Z4.call(u,f)&&dD(i,f,u[f]);if(hh)for(var f of hh(u))aD.call(u,f)&&dD(i,f,u[f]);return i},zn=(i,u)=>MR(i,LR(u)),BR=i=>J1(i,"__esModule",{value:!0});var Si=(i,u)=>{var f={};for(var c in i)Z4.call(i,c)&&u.indexOf(c)<0&&(f[c]=i[c]);if(i!=null&&hh)for(var c of hh(i))u.indexOf(c)<0&&aD.call(i,c)&&(f[c]=i[c]);return f};var Me=(i,u)=>()=>(u||i((u={exports:{}}).exports,u),u.exports),jR=(i,u)=>{for(var f in u)J1(i,f,{get:u[f],enumerable:!0})},UR=(i,u,f)=>{if(u&&typeof u=="object"||typeof u=="function")for(let c of RR(u))!Z4.call(i,c)&&c!=="default"&&J1(i,c,{get:()=>u[c],enumerable:!(f=FR(u,c))||f.enumerable});return i},Er=i=>UR(BR(J1(i!=null?PR(NR(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var ey=Me((YH,pD)=>{"use strict";var hD=Object.getOwnPropertySymbols,qR=Object.prototype.hasOwnProperty,zR=Object.prototype.propertyIsEnumerable;function WR(i){if(i==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(i)}function HR(){try{if(!Object.assign)return!1;var i=new String("abc");if(i[5]="de",Object.getOwnPropertyNames(i)[0]==="5")return!1;for(var u={},f=0;f<10;f++)u["_"+String.fromCharCode(f)]=f;var c=Object.getOwnPropertyNames(u).map(function(t){return u[t]});if(c.join("")!=="0123456789")return!1;var g={};return"abcdefghijklmnopqrst".split("").forEach(function(t){g[t]=t}),Object.keys(Object.assign({},g)).join("")==="abcdefghijklmnopqrst"}catch(t){return!1}}pD.exports=HR()?Object.assign:function(i,u){for(var f,c=WR(i),g,t=1;t{"use strict";var ty=ey(),as=typeof Symbol=="function"&&Symbol.for,Q1=as?Symbol.for("react.element"):60103,bR=as?Symbol.for("react.portal"):60106,GR=as?Symbol.for("react.fragment"):60107,VR=as?Symbol.for("react.strict_mode"):60108,YR=as?Symbol.for("react.profiler"):60114,$R=as?Symbol.for("react.provider"):60109,KR=as?Symbol.for("react.context"):60110,XR=as?Symbol.for("react.forward_ref"):60112,JR=as?Symbol.for("react.suspense"):60113,QR=as?Symbol.for("react.memo"):60115,ZR=as?Symbol.for("react.lazy"):60116,mD=typeof Symbol=="function"&&Symbol.iterator;function Z1(i){for(var u="https://reactjs.org/docs/error-decoder.html?invariant="+i,f=1;fmh.length&&mh.push(i)}function uy(i,u,f,c){var g=typeof i;(g==="undefined"||g==="boolean")&&(i=null);var t=!1;if(i===null)t=!0;else switch(g){case"string":case"number":t=!0;break;case"object":switch(i.$$typeof){case Q1:case bR:t=!0}}if(t)return f(c,i,u===""?"."+sy(i,0):u),1;if(t=0,u=u===""?".":u+":",Array.isArray(i))for(var C=0;C{"use strict";kD.exports=xD()});var AD=Me((ga,e2)=>{(function(){var i,u="4.17.21",f=200,c="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",g="Expected a function",t="Invalid `variable` option passed into `_.template`",C="__lodash_hash_undefined__",A=500,x="__lodash_placeholder__",D=1,L=2,N=4,j=1,$=2,h=1,re=2,ce=4,Q=8,oe=16,Se=32,me=64,De=128,J=256,Te=512,Oe=30,Le="...",ot=800,ct=16,Ue=1,be=2,At=3,Ot=1/0,Nt=9007199254740991,Je=17976931348623157e292,V=0/0,ne=4294967295,ge=ne-1,Z=ne>>>1,Ae=[["ary",De],["bind",h],["bindKey",re],["curry",Q],["curryRight",oe],["flip",Te],["partial",Se],["partialRight",me],["rearg",J]],at="[object Arguments]",it="[object Array]",Ft="[object AsyncFunction]",jt="[object Boolean]",hn="[object Date]",Un="[object DOMException]",Jt="[object Error]",Yt="[object Function]",cr="[object GeneratorFunction]",w="[object Map]",pt="[object Number]",Mn="[object Null]",Bn="[object Object]",Xn="[object Promise]",vr="[object Proxy]",gr="[object RegExp]",r0="[object Set]",Ci="[object String]",yo="[object Symbol]",Ds="[object Undefined]",Mu="[object WeakMap]",Gf="[object WeakSet]",iu="[object ArrayBuffer]",ou="[object DataView]",ol="[object Float32Array]",ul="[object Float64Array]",Es="[object Int8Array]",Uo="[object Int16Array]",sl="[object Int32Array]",Ss="[object Uint8Array]",Cs="[object Uint8ClampedArray]",Ti="[object Uint16Array]",Fu="[object Uint32Array]",ll=/\b__p \+= '';/g,fl=/\b(__p \+=) '' \+/g,cl=/(__e\(.*?\)|\b__t\)) \+\n'';/g,al=/&(?:amp|lt|gt|quot|#39);/g,Ui=/[&<>"']/g,Mr=RegExp(al.source),Ac=RegExp(Ui.source),of=/<%-([\s\S]+?)%>/g,Ts=/<%([\s\S]+?)%>/g,xs=/<%=([\s\S]+?)%>/g,dl=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,qi=/^\w*$/,qo=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,kr=/[\\^$.*+?()[\]{}|]/g,Fr=RegExp(kr.source),si=/^\s+/,H0=/\s/,b0=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Bt=/\{\n\/\* \[wrapped with (.+)\] \*/,Lu=/,? & /,c0=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ru=/[()=,{}\[\]\/\s]/,ks=/\\(\\)?/g,As=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,uu=/\w*$/,wo=/^[-+]0x[0-9a-f]+$/i,zo=/^0b[01]+$/i,Os=/^\[object .+?Constructor\]$/,Is=/^0o[0-7]+$/i,uf=/^(?:0|[1-9]\d*)$/,_n=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Nu=/($^)/,Wo=/['\n\r\u2028\u2029\\]/g,su="\\ud800-\\udfff",Ps="\\u0300-\\u036f",pl="\\ufe20-\\ufe2f",Vf="\\u20d0-\\u20ff",hl=Ps+pl+Vf,Bu="\\u2700-\\u27bf",ju="a-z\\xdf-\\xf6\\xf8-\\xff",sf="\\xac\\xb1\\xd7\\xf7",ro="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Ms="\\u2000-\\u206f",ml=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Uu="A-Z\\xc0-\\xd6\\xd8-\\xde",G0="\\ufe0e\\ufe0f",Fs=sf+ro+Ms+ml,tt="['\u2019]",zi="["+su+"]",lu="["+Fs+"]",Ho="["+hl+"]",O0="\\d+",vl="["+Bu+"]",gl="["+ju+"]",fu="[^"+su+Fs+O0+Bu+ju+Uu+"]",_l="\\ud83c[\\udffb-\\udfff]",Sn="(?:"+Ho+"|"+_l+")",gt="[^"+su+"]",en="(?:\\ud83c[\\udde6-\\uddff]){2}",I0="[\\ud800-\\udbff][\\udc00-\\udfff]",li="["+Uu+"]",qu="\\u200d",Wi="(?:"+gl+"|"+fu+")",zu="(?:"+li+"|"+fu+")",Wu="(?:"+tt+"(?:d|ll|m|re|s|t|ve))?",Ls="(?:"+tt+"(?:D|LL|M|RE|S|T|VE))?",fi=Sn+"?",e0="["+G0+"]?",io="(?:"+qu+"(?:"+[gt,en,I0].join("|")+")"+e0+fi+")*",D0="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Do="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",i0=e0+fi+io,Rs="(?:"+[vl,en,I0].join("|")+")"+i0,a0="(?:"+[gt+Ho+"?",Ho,en,I0,zi].join("|")+")",Hu=RegExp(tt,"g"),V0=RegExp(Ho,"g"),bu=RegExp(_l+"(?="+_l+")|"+a0+i0,"g"),Ns=RegExp([li+"?"+gl+"+"+Wu+"(?="+[lu,li,"$"].join("|")+")",zu+"+"+Ls+"(?="+[lu,li+Wi,"$"].join("|")+")",li+"?"+Wi+"+"+Wu,li+"+"+Ls,Do,D0,O0,Rs].join("|"),"g"),bo=RegExp("["+qu+su+hl+G0+"]"),P0=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,ln=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],lf=-1,nr={};nr[ol]=nr[ul]=nr[Es]=nr[Uo]=nr[sl]=nr[Ss]=nr[Cs]=nr[Ti]=nr[Fu]=!0,nr[at]=nr[it]=nr[iu]=nr[jt]=nr[ou]=nr[hn]=nr[Jt]=nr[Yt]=nr[w]=nr[pt]=nr[Bn]=nr[gr]=nr[r0]=nr[Ci]=nr[Mu]=!1;var rr={};rr[at]=rr[it]=rr[iu]=rr[ou]=rr[jt]=rr[hn]=rr[ol]=rr[ul]=rr[Es]=rr[Uo]=rr[sl]=rr[w]=rr[pt]=rr[Bn]=rr[gr]=rr[r0]=rr[Ci]=rr[yo]=rr[Ss]=rr[Cs]=rr[Ti]=rr[Fu]=!0,rr[Jt]=rr[Yt]=rr[Mu]=!1;var Go={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Gu={"&":"&","<":"<",">":">",'"':""","'":"'"},yl={"&":"&","<":"<",">":">",""":'"',"'":"'"},cu={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Bs=parseFloat,Vu=parseInt,M0=typeof global=="object"&&global&&global.Object===Object&&global,au=typeof self=="object"&&self&&self.Object===Object&&self,Lr=M0||au||Function("return this")(),F=typeof ga=="object"&&ga&&!ga.nodeType&&ga,R=F&&typeof e2=="object"&&e2&&!e2.nodeType&&e2,U=R&&R.exports===F,H=U&&M0.process,fe=function(){try{var ae=R&&R.require&&R.require("util").types;return ae||H&&H.binding&&H.binding("util")}catch(Be){}}(),ue=fe&&fe.isArrayBuffer,de=fe&&fe.isDate,W=fe&&fe.isMap,ve=fe&&fe.isRegExp,Fe=fe&&fe.isSet,Ge=fe&&fe.isTypedArray;function K(ae,Be,Ie){switch(Ie.length){case 0:return ae.call(Be);case 1:return ae.call(Be,Ie[0]);case 2:return ae.call(Be,Ie[0],Ie[1]);case 3:return ae.call(Be,Ie[0],Ie[1],Ie[2])}return ae.apply(Be,Ie)}function xe(ae,Be,Ie,ht){for(var mt=-1,wn=ae==null?0:ae.length;++mt-1}function wt(ae,Be,Ie){for(var ht=-1,mt=ae==null?0:ae.length;++ht-1;);return Ie}function js(ae,Be){for(var Ie=ae.length;Ie--&&Qe(Be,ae[Ie],0)>-1;);return Ie}function Dl(ae,Be){for(var Ie=ae.length,ht=0;Ie--;)ae[Ie]===Be&&++ht;return ht}var du=Cn(Go),Yu=Cn(Gu);function Us(ae){return"\\"+cu[ae]}function oo(ae,Be){return ae==null?i:ae[Be]}function Hi(ae){return bo.test(ae)}function qs(ae){return P0.test(ae)}function F0(ae){for(var Be,Ie=[];!(Be=ae.next()).done;)Ie.push(Be.value);return Ie}function Gr(ae){var Be=-1,Ie=Array(ae.size);return ae.forEach(function(ht,mt){Ie[++Be]=[mt,ht]}),Ie}function ir(ae,Be){return function(Ie){return ae(Be(Ie))}}function L0(ae,Be){for(var Ie=-1,ht=ae.length,mt=0,wn=[];++Ie-1}function Ju(a,p){var E=this.__data__,I=hf(E,a);return I<0?(++this.size,E.push([a,p])):E[I][1]=p,this}Z0.prototype.clear=df,Z0.prototype.delete=Ba,Z0.prototype.get=Oc,Z0.prototype.has=mu,Z0.prototype.set=Ju;function ei(a){var p=-1,E=a==null?0:a.length;for(this.clear();++p=p?a:p)),a}function vi(a,p,E,I,B,G){var te,se=p&D,Ee=p&L,$e=p&N;if(E&&(te=B?E(a,I,B,G):E(a)),te!==i)return te;if(!Jr(a))return a;var Ke=On(a);if(Ke){if(te=f1(a),!se)return Xr(a,te)}else{var nt=U0(a),Ct=nt==Yt||nt==cr;if(Eu(a))return Od(a,se);if(nt==Bn||nt==at||Ct&&!B){if(te=Ee||Ct?{}:zd(a),!se)return Ee?Zu(a,Wa(te,a)):j0(a,mf(te,a))}else{if(!rr[nt])return B?a:{};te=Wd(a,nt,se)}}G||(G=new co);var Gt=G.get(a);if(Gt)return Gt;G.set(a,te),kp(a)?a.forEach(function(dn){te.add(vi(dn,p,E,dn,a,G))}):Tp(a)&&a.forEach(function(dn,Yn){te.set(Yn,vi(dn,p,E,Yn,a,G))});var an=$e?Ee?Dn:r1:Ee?Yi:q0,qn=Ke?i:an(a);return je(qn||a,function(dn,Yn){qn&&(Yn=dn,dn=a[Yn]),xl(te,Yn,vi(dn,p,E,Yn,a,G))}),te}function Xf(a){var p=q0(a);return function(E){return Rc(E,a,p)}}function Rc(a,p,E){var I=E.length;if(a==null)return!I;for(a=$t(a);I--;){var B=E[I],G=p[B],te=a[B];if(te===i&&!(B in a)||!G(te))return!1}return!0}function Jf(a,p,E){if(typeof a!="function")throw new Yr(g);return wf(function(){a.apply(i,E)},p)}function ao(a,p,E,I){var B=-1,G=xt,te=!0,se=a.length,Ee=[],$e=p.length;if(!se)return Ee;E&&(p=lt(p,qr(E))),I?(G=wt,te=!1):p.length>=f&&(G=So,te=!1,p=new vu(p));e:for(;++BB?0:B+E),I=I===i||I>B?B:jn(I),I<0&&(I+=B),I=E>I?0:Ip(I);E0&&E(se)?p>1?k0(se,p-1,E,I,B):Rt(B,se):I||(B[B.length]=se)}return B}var v=ec(),m=ec(!0);function S(a,p){return a&&v(a,p,q0)}function O(a,p){return a&&m(a,p,q0)}function M(a,p){return st(p,function(E){return rs(a[E])})}function b(a,p){p=Gs(p,a);for(var E=0,I=p.length;a!=null&&Ep}function ut(a,p){return a!=null&&or.call(a,p)}function In(a,p){return a!=null&&p in $t(a)}function A0(a,p,E){return a>=kn(p,E)&&a=120&&Ke.length>=120)?new vu(te&&Ke):i}Ke=a[0];var nt=-1,Ct=se[0];e:for(;++nt-1;)se!==a&&C0.call(se,Ee,1),C0.call(a,Ee,1);return a}function jc(a,p){for(var E=a?p.length:0,I=E-1;E--;){var B=p[E];if(E==I||B!==G){var G=B;es(B)?C0.call(a,B,1):$a(a,B)}}return a}function Ga(a,p){return a+hu(Ai()*(p-a+1))}function Lm(a,p,E,I){for(var B=-1,G=wr(B0((p-a)/(E||1)),0),te=Ie(G);G--;)te[I?G:++B]=a,a+=E;return te}function Va(a,p){var E="";if(!a||p<1||p>Nt)return E;do p%2&&(E+=a),p=hu(p/2),p&&(a+=a);while(p);return E}function Wn(a,p){return m1(Gd(a,p,$i),a+"")}function wd(a){return Fc(Ef(a))}function Dd(a,p){var E=Ef(a);return Yc(E,mi(p,0,E.length))}function Ol(a,p,E,I){if(!Jr(a))return a;p=Gs(p,a);for(var B=-1,G=p.length,te=G-1,se=a;se!=null&&++BB?0:B+p),E=E>B?B:E,E<0&&(E+=B),B=p>E?0:E-p>>>0,p>>>=0;for(var G=Ie(B);++I>>1,te=a[G];te!==null&&!mo(te)&&(E?te<=p:te=f){var $e=p?null:bm(a);if($e)return Y0($e);te=!1,B=So,Ee=new vu}else Ee=p?[]:se;e:for(;++I=I?a:Oo(a,p,E)}var Ad=pu||function(a){return Lr.clearTimeout(a)};function Od(a,p){if(p)return a.slice();var E=a.length,I=Nr?Nr(E):new a.constructor(E);return a.copy(I),I}function Qa(a){var p=new a.constructor(a.byteLength);return new R0(p).set(new R0(a)),p}function jm(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(E,a.byteOffset,a.byteLength)}function Um(a){var p=new a.constructor(a.source,uu.exec(a));return p.lastIndex=a.lastIndex,p}function qm(a){return Wr?$t(Wr.call(a)):{}}function Id(a,p){var E=p?Qa(a.buffer):a.buffer;return new a.constructor(E,a.byteOffset,a.length)}function Pd(a,p){if(a!==p){var E=a!==i,I=a===null,B=a===a,G=mo(a),te=p!==i,se=p===null,Ee=p===p,$e=mo(p);if(!se&&!$e&&!G&&a>p||G&&te&&Ee&&!se&&!$e||I&&te&&Ee||!E&&Ee||!B)return 1;if(!I&&!G&&!$e&&a=se)return Ee;var $e=E[I];return Ee*($e=="desc"?-1:1)}}return a.index-p.index}function gf(a,p,E,I){for(var B=-1,G=a.length,te=E.length,se=-1,Ee=p.length,$e=wr(G-te,0),Ke=Ie(Ee+$e),nt=!I;++se1?E[B-1]:i,te=B>2?E[2]:i;for(G=a.length>3&&typeof G=="function"?(B--,G):i,te&&Ii(E[0],E[1],te)&&(G=B<3?i:G,B=1),p=$t(p);++I-1?B[G?p[te]:te]:i}}function Rd(a){return yu(function(p){var E=p.length,I=E,B=Qn.prototype.thru;for(a&&p.reverse();I--;){var G=p[I];if(typeof G!="function")throw new Yr(g);if(B&&!te&&Gc(G)=="wrapper")var te=new Qn([],!0)}for(I=te?I:E;++I1&&er.reverse(),Ke&&Eese))return!1;var $e=G.get(a),Ke=G.get(p);if($e&&Ke)return $e==p&&Ke==a;var nt=-1,Ct=!0,Gt=E&$?new vu:i;for(G.set(a,p),G.set(p,a);++nt1?"& ":"")+p[I],p=p.join(E>2?", ":" "),a.replace(b0,`{ -/* [wrapped with `+p+`] */ -`)}function Xm(a){return On(a)||Ll(a)||!!(di&&a&&a[di])}function es(a,p){var E=typeof a;return p=p==null?Nt:p,!!p&&(E=="number"||E!="symbol"&&uf.test(a))&&a>-1&&a%1==0&&a0){if(++p>=ot)return arguments[0]}else p=0;return a.apply(i,arguments)}}function Yc(a,p){var E=-1,I=a.length,B=I-1;for(p=p===i?I:p;++E1?a[p-1]:i;return E=typeof E=="function"?(a.pop(),E):i,sp(a,E)});function fp(a){var p=z(a);return p.__chain__=!0,p}function cp(a,p){return p(a),a}function Kc(a,p){return p(a)}var Wv=yu(function(a){var p=a.length,E=p?a[0]:0,I=this.__wrapped__,B=function(G){return Hs(G,a)};return p>1||this.__actions__.length||!(I instanceof nn)||!es(E)?this.thru(B):(I=I.slice(E,+E+(p?1:0)),I.__actions__.push({func:Kc,args:[B],thisArg:i}),new Qn(I,this.__chain__).thru(function(G){return p&&!G.length&&G.push(i),G}))});function Hv(){return fp(this)}function bv(){return new Qn(this.value(),this.__chain__)}function Gv(){this.__values__===i&&(this.__values__=Op(this.value()));var a=this.__index__>=this.__values__.length,p=a?i:this.__values__[this.__index__++];return{done:a,value:p}}function Vv(){return this}function Yv(a){for(var p,E=this;E instanceof Or;){var I=Jd(E);I.__index__=0,I.__values__=i,p?B.__wrapped__=I:p=I;var B=I;E=E.__wrapped__}return B.__wrapped__=a,p}function Ml(){var a=this.__wrapped__;if(a instanceof nn){var p=a;return this.__actions__.length&&(p=new nn(this)),p=p.reverse(),p.__actions__.push({func:Kc,args:[g1],thisArg:i}),new Qn(p,this.__chain__)}return this.thru(g1)}function Fl(){return xd(this.__wrapped__,this.__actions__)}var Xc=_f(function(a,p,E){or.call(a,E)?++a[E]:ti(a,E,1)});function $v(a,p,E){var I=On(a)?rt:Nc;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p,3))}function Kv(a,p){var E=On(a)?st:Qf;return E(a,cn(p,3))}var Xv=Ld(Qd),D1=Ld($c);function Jv(a,p){return k0(Jc(a,p),1)}function Qv(a,p){return k0(Jc(a,p),Ot)}function ap(a,p,E){return E=E===i?1:jn(E),k0(Jc(a,p),E)}function dp(a,p){var E=On(a)?je:$o;return E(a,cn(p,3))}function pp(a,p){var E=On(a)?Xe:kl;return E(a,cn(p,3))}var Zv=_f(function(a,p,E){or.call(a,E)?a[E].push(p):ti(a,E,[p])});function eg(a,p,E,I){a=Vi(a)?a:Ef(a),E=E&&!I?jn(E):0;var B=a.length;return E<0&&(E=wr(B+E,0)),ia(a)?E<=B&&a.indexOf(p,E)>-1:!!B&&Qe(a,p,E)>-1}var tg=Wn(function(a,p,E){var I=-1,B=typeof p=="function",G=Vi(a)?Ie(a.length):[];return $o(a,function(te){G[++I]=B?K(p,te,E):po(te,p,E)}),G}),hp=_f(function(a,p,E){ti(a,E,p)});function Jc(a,p){var E=On(a)?lt:vd;return E(a,cn(p,3))}function ng(a,p,E,I){return a==null?[]:(On(p)||(p=p==null?[]:[p]),E=I?i:E,On(E)||(E=E==null?[]:[E]),Oi(a,p,E))}var rg=_f(function(a,p,E){a[E?0:1].push(p)},function(){return[[],[]]});function mp(a,p,E){var I=On(a)?yn:bn,B=arguments.length<3;return I(a,cn(p,4),E,B,$o)}function ig(a,p,E){var I=On(a)?sn:bn,B=arguments.length<3;return I(a,cn(p,4),E,B,kl)}function og(a,p){var E=On(a)?st:Qf;return E(a,Zc(cn(p,3)))}function ug(a){var p=On(a)?Fc:wd;return p(a)}function sg(a,p,E){(E?Ii(a,p,E):p===i)?p=1:p=jn(p);var I=On(a)?Lc:Dd;return I(a,p)}function lg(a){var p=On(a)?Kf:Ao;return p(a)}function E1(a){if(a==null)return 0;if(Vi(a))return ia(a)?Rr(a):a.length;var p=U0(a);return p==w||p==r0?a.size:Zf(a).length}function fg(a,p,E){var I=On(a)?ar:Nm;return E&&Ii(a,p,E)&&(p=i),I(a,cn(p,3))}var cg=Wn(function(a,p){if(a==null)return[];var E=p.length;return E>1&&Ii(a,p[0],p[1])?p=[]:E>2&&Ii(p[0],p[1],p[2])&&(p=[p[0]]),Oi(a,k0(p,1),[])}),rc=Sl||function(){return Lr.Date.now()};function ag(a,p){if(typeof p!="function")throw new Yr(g);return a=jn(a),function(){if(--a<1)return p.apply(this,arguments)}}function vp(a,p,E){return p=E?i:p,p=a&&p==null?a.length:p,Lt(a,De,i,i,i,i,p)}function gp(a,p){var E;if(typeof p!="function")throw new Yr(g);return a=jn(a),function(){return--a>0&&(E=p.apply(this,arguments)),a<=1&&(p=i),E}}var S1=Wn(function(a,p,E){var I=h;if(E.length){var B=L0(E,An(S1));I|=Se}return Lt(a,I,p,E,B)}),_p=Wn(function(a,p,E){var I=h|re;if(E.length){var B=L0(E,An(_p));I|=Se}return Lt(p,I,a,E,B)});function C1(a,p,E){p=E?i:p;var I=Lt(a,Q,i,i,i,i,i,p);return I.placeholder=C1.placeholder,I}function yp(a,p,E){p=E?i:p;var I=Lt(a,oe,i,i,i,i,i,p);return I.placeholder=yp.placeholder,I}function wp(a,p,E){var I,B,G,te,se,Ee,$e=0,Ke=!1,nt=!1,Ct=!0;if(typeof a!="function")throw new Yr(g);p=Fo(p)||0,Jr(E)&&(Ke=!!E.leading,nt="maxWait"in E,G=nt?wr(Fo(E.maxWait)||0,p):G,Ct="trailing"in E?!!E.trailing:Ct);function Gt(f0){var Jo=I,Su=B;return I=B=i,$e=f0,te=a.apply(Su,Jo),te}function an(f0){return $e=f0,se=wf(Yn,p),Ke?Gt(f0):te}function qn(f0){var Jo=f0-Ee,Su=f0-$e,Zp=p-Jo;return nt?kn(Zp,G-Su):Zp}function dn(f0){var Jo=f0-Ee,Su=f0-$e;return Ee===i||Jo>=p||Jo<0||nt&&Su>=G}function Yn(){var f0=rc();if(dn(f0))return er(f0);se=wf(Yn,qn(f0))}function er(f0){return se=i,Ct&&I?Gt(f0):(I=B=i,te)}function vo(){se!==i&&Ad(se),$e=0,I=Ee=B=se=i}function Pi(){return se===i?te:er(rc())}function Mi(){var f0=rc(),Jo=dn(f0);if(I=arguments,B=this,Ee=f0,Jo){if(se===i)return an(Ee);if(nt)return Ad(se),se=wf(Yn,p),Gt(Ee)}return se===i&&(se=wf(Yn,p)),te}return Mi.cancel=vo,Mi.flush=Pi,Mi}var dg=Wn(function(a,p){return Jf(a,1,p)}),Dp=Wn(function(a,p,E){return Jf(a,Fo(p)||0,E)});function pg(a){return Lt(a,Te)}function Qc(a,p){if(typeof a!="function"||p!=null&&typeof p!="function")throw new Yr(g);var E=function(){var I=arguments,B=p?p.apply(this,I):I[0],G=E.cache;if(G.has(B))return G.get(B);var te=a.apply(this,I);return E.cache=G.set(B,te)||G,te};return E.cache=new(Qc.Cache||ei),E}Qc.Cache=ei;function Zc(a){if(typeof a!="function")throw new Yr(g);return function(){var p=arguments;switch(p.length){case 0:return!a.call(this);case 1:return!a.call(this,p[0]);case 2:return!a.call(this,p[0],p[1]);case 3:return!a.call(this,p[0],p[1],p[2])}return!a.apply(this,p)}}function ea(a){return gp(2,a)}var hg=Bm(function(a,p){p=p.length==1&&On(p[0])?lt(p[0],qr(cn())):lt(k0(p,1),qr(cn()));var E=p.length;return Wn(function(I){for(var B=-1,G=kn(I.length,E);++B=p}),Ll=_i(function(){return arguments}())?_i:function(a){return n0(a)&&or.call(a,"callee")&&!N0.call(a,"callee")},On=Ie.isArray,x1=ue?qr(ue):Re;function Vi(a){return a!=null&&na(a.length)&&!rs(a)}function l0(a){return n0(a)&&Vi(a)}function kg(a){return a===!0||a===!1||n0(a)&&Ye(a)==jt}var Eu=pi||W1,Ag=de?qr(de):Ce;function Og(a){return n0(a)&&a.nodeType===1&&!ic(a)}function Cp(a){if(a==null)return!0;if(Vi(a)&&(On(a)||typeof a=="string"||typeof a.splice=="function"||Eu(a)||Df(a)||Ll(a)))return!a.length;var p=U0(a);if(p==w||p==r0)return!a.size;if(nc(a))return!Zf(a).length;for(var E in a)if(or.call(a,E))return!1;return!0}function Ig(a,p){return ze(a,p)}function Pg(a,p,E){E=typeof E=="function"?E:i;var I=E?E(a,p):i;return I===i?ze(a,p,i,E):!!I}function k1(a){if(!n0(a))return!1;var p=Ye(a);return p==Jt||p==Un||typeof a.message=="string"&&typeof a.name=="string"&&!ic(a)}function Mg(a){return typeof a=="number"&&Br(a)}function rs(a){if(!Jr(a))return!1;var p=Ye(a);return p==Yt||p==cr||p==Ft||p==vr}function A1(a){return typeof a=="number"&&a==jn(a)}function na(a){return typeof a=="number"&&a>-1&&a%1==0&&a<=Nt}function Jr(a){var p=typeof a;return a!=null&&(p=="object"||p=="function")}function n0(a){return a!=null&&typeof a=="object"}var Tp=W?qr(W):on;function Fg(a,p){return a===p||sr(a,p,Nn(p))}function Lg(a,p,E){return E=typeof E=="function"?E:i,sr(a,p,Nn(p),E)}function Rg(a){return xp(a)&&a!=+a}function Ng(a){if(Zm(a))throw new mt(c);return mn(a)}function Bg(a){return a===null}function O1(a){return a==null}function xp(a){return typeof a=="number"||n0(a)&&Ye(a)==pt}function ic(a){if(!n0(a)||Ye(a)!=Bn)return!1;var p=uo(a);if(p===null)return!0;var E=or.call(p,"constructor")&&p.constructor;return typeof E=="function"&&E instanceof E&&bi.call(E)==af}var ra=ve?qr(ve):pr;function jg(a){return A1(a)&&a>=-Nt&&a<=Nt}var kp=Fe?qr(Fe):Hr;function ia(a){return typeof a=="string"||!On(a)&&n0(a)&&Ye(a)==Ci}function mo(a){return typeof a=="symbol"||n0(a)&&Ye(a)==yo}var Df=Ge?qr(Ge):Vn;function Ap(a){return a===i}function Ug(a){return n0(a)&&U0(a)==Mu}function qg(a){return n0(a)&&Ye(a)==Gf}var zg=bc(Ha),Wg=bc(function(a,p){return a<=p});function Op(a){if(!a)return[];if(Vi(a))return ia(a)?Jn(a):Xr(a);if(u0&&a[u0])return F0(a[u0]());var p=U0(a),E=p==w?Gr:p==r0?Y0:Ef;return E(a)}function is(a){if(!a)return a===0?a:0;if(a=Fo(a),a===Ot||a===-Ot){var p=a<0?-1:1;return p*Je}return a===a?a:0}function jn(a){var p=is(a),E=p%1;return p===p?E?p-E:p:0}function Ip(a){return a?mi(jn(a),0,ne):0}function Fo(a){if(typeof a=="number")return a;if(mo(a))return V;if(Jr(a)){var p=typeof a.valueOf=="function"?a.valueOf():a;a=Jr(p)?p+"":p}if(typeof a!="string")return a===0?a:+a;a=E0(a);var E=zo.test(a);return E||Is.test(a)?Vu(a.slice(2),E?2:8):wo.test(a)?V:+a}function oa(a){return yi(a,Yi(a))}function Hg(a){return a?mi(jn(a),-Nt,Nt):a===0?a:0}function yr(a){return a==null?"":ho(a)}var Pp=Io(function(a,p){if(nc(p)||Vi(p)){yi(p,q0(p),a);return}for(var E in p)or.call(p,E)&&xl(a,E,p[E])}),Mp=Io(function(a,p){yi(p,Yi(p),a)}),ua=Io(function(a,p,E,I){yi(p,Yi(p),a,I)}),bg=Io(function(a,p,E,I){yi(p,q0(p),a,I)}),Gg=yu(Hs);function Vg(a,p){var E=dr(a);return p==null?E:mf(E,p)}var Fp=Wn(function(a,p){a=$t(a);var E=-1,I=p.length,B=I>2?p[2]:i;for(B&&Ii(p[0],p[1],B)&&(I=1);++E1),G}),yi(a,Dn(a),E),I&&(E=vi(E,D|L|N,Gm));for(var B=p.length;B--;)$a(E,p[B]);return E});function l_(a,p){return Bp(a,Zc(cn(p)))}var f_=yu(function(a,p){return a==null?{}:Fm(a,p)});function Bp(a,p){if(a==null)return{};var E=lt(Dn(a),function(I){return[I]});return p=cn(p),yd(a,E,function(I,B){return p(I,B[0])})}function c_(a,p,E){p=Gs(p,a);var I=-1,B=p.length;for(B||(B=1,a=i);++Ip){var I=a;a=p,p=I}if(E||a%1||p%1){var B=Ai();return kn(a+B*(p-a+Bs("1e-"+((B+"").length-1))),p)}return Ga(a,p)}var __=yf(function(a,p,E){return p=p.toLowerCase(),a+(E?Wp(p):p)});function Wp(a){return L1(yr(a).toLowerCase())}function Hp(a){return a=yr(a),a&&a.replace(_n,du).replace(V0,"")}function y_(a,p,E){a=yr(a),p=ho(p);var I=a.length;E=E===i?I:mi(jn(E),0,I);var B=E;return E-=p.length,E>=0&&a.slice(E,B)==p}function M1(a){return a=yr(a),a&&Ac.test(a)?a.replace(Ui,Yu):a}function w_(a){return a=yr(a),a&&Fr.test(a)?a.replace(kr,"\\$&"):a}var D_=yf(function(a,p,E){return a+(E?"-":"")+p.toLowerCase()}),bp=yf(function(a,p,E){return a+(E?" ":"")+p.toLowerCase()}),E_=Fd("toLowerCase");function S_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;if(!p||I>=p)return a;var B=(p-I)/2;return Hc(hu(B),E)+a+Hc(B0(B),E)}function C_(a,p,E){a=yr(a),p=jn(p);var I=p?Rr(a):0;return p&&I>>0,E?(a=yr(a),a&&(typeof p=="string"||p!=null&&!ra(p))&&(p=ho(p),!p&&Hi(a))?Vs(Jn(a),0,E):a.split(p,E)):[]}var I_=yf(function(a,p,E){return a+(E?" ":"")+L1(p)});function P_(a,p,E){return a=yr(a),E=E==null?0:mi(jn(E),0,a.length),p=ho(p),a.slice(E,E+p.length)==p}function M_(a,p,E){var I=z.templateSettings;E&&Ii(a,p,E)&&(p=i),a=yr(a),p=ua({},p,I,n1);var B=ua({},p.imports,I.imports,n1),G=q0(B),te=Eo(B,G),se,Ee,$e=0,Ke=p.interpolate||Nu,nt="__p += '",Ct=X0((p.escape||Nu).source+"|"+Ke.source+"|"+(Ke===xs?As:Nu).source+"|"+(p.evaluate||Nu).source+"|$","g"),Gt="//# sourceURL="+(or.call(p,"sourceURL")?(p.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++lf+"]")+` -`;a.replace(Ct,function(dn,Yn,er,vo,Pi,Mi){return er||(er=vo),nt+=a.slice($e,Mi).replace(Wo,Us),Yn&&(se=!0,nt+=`' + -__e(`+Yn+`) + -'`),Pi&&(Ee=!0,nt+=`'; -`+Pi+`; -__p += '`),er&&(nt+=`' + -((__t = (`+er+`)) == null ? '' : __t) + -'`),$e=Mi+dn.length,dn}),nt+=`'; -`;var an=or.call(p,"variable")&&p.variable;if(!an)nt=`with (obj) { -`+nt+` -} -`;else if(Ru.test(an))throw new mt(t);nt=(Ee?nt.replace(ll,""):nt).replace(fl,"$1").replace(cl,"$1;"),nt="function("+(an||"obj")+`) { -`+(an?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(se?", __e = _.escape":"")+(Ee?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+nt+`return __p -}`;var qn=$p(function(){return wn(G,Gt+"return "+nt).apply(i,te)});if(qn.source=nt,k1(qn))throw qn;return qn}function F_(a){return yr(a).toLowerCase()}function L_(a){return yr(a).toUpperCase()}function R_(a,p,E){if(a=yr(a),a&&(E||p===i))return E0(a);if(!a||!(p=ho(p)))return a;var I=Jn(a),B=Jn(p),G=wl(I,B),te=js(I,B)+1;return Vs(I,G,te).join("")}function F1(a,p,E){if(a=yr(a),a&&(E||p===i))return a.slice(0,ai(a)+1);if(!a||!(p=ho(p)))return a;var I=Jn(a),B=js(I,Jn(p))+1;return Vs(I,0,B).join("")}function N_(a,p,E){if(a=yr(a),a&&(E||p===i))return a.replace(si,"");if(!a||!(p=ho(p)))return a;var I=Jn(a),B=wl(I,Jn(p));return Vs(I,B).join("")}function B_(a,p){var E=Oe,I=Le;if(Jr(p)){var B="separator"in p?p.separator:B;E="length"in p?jn(p.length):E,I="omission"in p?ho(p.omission):I}a=yr(a);var G=a.length;if(Hi(a)){var te=Jn(a);G=te.length}if(E>=G)return a;var se=E-Rr(I);if(se<1)return I;var Ee=te?Vs(te,0,se).join(""):a.slice(0,se);if(B===i)return Ee+I;if(te&&(se+=Ee.length-se),ra(B)){if(a.slice(se).search(B)){var $e,Ke=Ee;for(B.global||(B=X0(B.source,yr(uu.exec(B))+"g")),B.lastIndex=0;$e=B.exec(Ke);)var nt=$e.index;Ee=Ee.slice(0,nt===i?se:nt)}}else if(a.indexOf(ho(B),se)!=se){var Ct=Ee.lastIndexOf(B);Ct>-1&&(Ee=Ee.slice(0,Ct))}return Ee+I}function Vp(a){return a=yr(a),a&&Mr.test(a)?a.replace(al,o0):a}var j_=yf(function(a,p,E){return a+(E?" ":"")+p.toUpperCase()}),L1=Fd("toUpperCase");function Yp(a,p,E){return a=yr(a),p=E?i:p,p===i?qs(a)?cf(a):d0(a):a.match(p)||[]}var $p=Wn(function(a,p){try{return K(a,i,p)}catch(E){return k1(E)?E:new mt(E)}}),U_=yu(function(a,p){return je(p,function(E){E=Xo(E),ti(a,E,S1(a[E],a))}),a});function Kp(a){var p=a==null?0:a.length,E=cn();return a=p?lt(a,function(I){if(typeof I[1]!="function")throw new Yr(g);return[E(I[0]),I[1]]}):[],Wn(function(I){for(var B=-1;++BNt)return[];var E=ne,I=kn(a,ne);p=cn(p),a-=ne;for(var B=ci(I,p);++E0||p<0)?new nn(E):(a<0?E=E.takeRight(-a):a&&(E=E.drop(a)),p!==i&&(p=jn(p),E=p<0?E.dropRight(-p):E.take(p-a)),E)},nn.prototype.takeRightWhile=function(a){return this.reverse().takeWhile(a).reverse()},nn.prototype.toArray=function(){return this.take(ne)},S(nn.prototype,function(a,p){var E=/^(?:filter|find|map|reject)|While$/.test(p),I=/^(?:head|last)$/.test(p),B=z[I?"take"+(p=="last"?"Right":""):p],G=I||/^find/.test(p);!B||(z.prototype[p]=function(){var te=this.__wrapped__,se=I?[1]:arguments,Ee=te instanceof nn,$e=se[0],Ke=Ee||On(te),nt=function(Yn){var er=B.apply(z,Rt([Yn],se));return I&&Ct?er[0]:er};Ke&&E&&typeof $e=="function"&&$e.length!=1&&(Ee=Ke=!1);var Ct=this.__chain__,Gt=!!this.__actions__.length,an=G&&!Ct,qn=Ee&&!Gt;if(!G&&Ke){te=qn?te:new nn(this);var dn=a.apply(te,se);return dn.__actions__.push({func:Kc,args:[nt],thisArg:i}),new Qn(dn,Ct)}return an&&qn?a.apply(this,se):(dn=this.thru(nt),an?I?dn.value()[0]:dn.value():dn)})}),je(["pop","push","shift","sort","splice","unshift"],function(a){var p=$r[a],E=/^(?:push|sort|unshift)$/.test(a)?"tap":"thru",I=/^(?:pop|shift)$/.test(a);z.prototype[a]=function(){var B=arguments;if(I&&!this.__chain__){var G=this.value();return p.apply(On(G)?G:[],B)}return this[E](function(te){return p.apply(On(te)?te:[],B)})}}),S(nn.prototype,function(a,p){var E=z[p];if(E){var I=E.name+"";or.call(bt,I)||(bt[I]=[]),bt[I].push({name:p,func:E})}}),bt[zc(i,re).name]=[{name:"wrapper",func:i}],nn.prototype.clone=s0,nn.prototype.reverse=t0,nn.prototype.value=g0,z.prototype.at=Wv,z.prototype.chain=Hv,z.prototype.commit=bv,z.prototype.next=Gv,z.prototype.plant=Yv,z.prototype.reverse=Ml,z.prototype.toJSON=z.prototype.valueOf=z.prototype.value=Fl,z.prototype.first=z.prototype.head,u0&&(z.prototype[u0]=Vv),z},K0=$0();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Lr._=K0,define(function(){return K0})):R?((R.exports=K0)._=K0,F._=K0):Lr._=K0}).call(ga)});var ay=Me((XH,cy)=>{"use strict";var fr=cy.exports;cy.exports.default=fr;var Pr="[",t2="]",ya="\x07",vh=";",OD=process.env.TERM_PROGRAM==="Apple_Terminal";fr.cursorTo=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");return typeof u!="number"?Pr+(i+1)+"G":Pr+(u+1)+";"+(i+1)+"H"};fr.cursorMove=(i,u)=>{if(typeof i!="number")throw new TypeError("The `x` argument is required");let f="";return i<0?f+=Pr+-i+"D":i>0&&(f+=Pr+i+"C"),u<0?f+=Pr+-u+"A":u>0&&(f+=Pr+u+"B"),f};fr.cursorUp=(i=1)=>Pr+i+"A";fr.cursorDown=(i=1)=>Pr+i+"B";fr.cursorForward=(i=1)=>Pr+i+"C";fr.cursorBackward=(i=1)=>Pr+i+"D";fr.cursorLeft=Pr+"G";fr.cursorSavePosition=OD?"7":Pr+"s";fr.cursorRestorePosition=OD?"8":Pr+"u";fr.cursorGetPosition=Pr+"6n";fr.cursorNextLine=Pr+"E";fr.cursorPrevLine=Pr+"F";fr.cursorHide=Pr+"?25l";fr.cursorShow=Pr+"?25h";fr.eraseLines=i=>{let u="";for(let f=0;f[t2,"8",vh,vh,u,ya,i,t2,"8",vh,vh,ya].join("");fr.image=(i,u={})=>{let f=`${t2}1337;File=inline=1`;return u.width&&(f+=`;width=${u.width}`),u.height&&(f+=`;height=${u.height}`),u.preserveAspectRatio===!1&&(f+=";preserveAspectRatio=0"),f+":"+i.toString("base64")+ya};fr.iTerm={setCwd:(i=process.cwd())=>`${t2}50;CurrentDir=${i}${ya}`,annotation:(i,u={})=>{let f=`${t2}1337;`,c=typeof u.x!="undefined",g=typeof u.y!="undefined";if((c||g)&&!(c&&g&&typeof u.length!="undefined"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return i=i.replace(/\|/g,""),f+=u.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",u.length>0?f+=(c?[i,u.length,u.x,u.y]:[u.length,i]).join("|"):f+=i,f+ya}}});var PD=Me((JH,dy)=>{"use strict";var ID=(i,u)=>{for(let f of Reflect.ownKeys(u))Object.defineProperty(i,f,Object.getOwnPropertyDescriptor(u,f));return i};dy.exports=ID;dy.exports.default=ID});var FD=Me((QH,gh)=>{"use strict";var oN=PD(),_h=new WeakMap,MD=(i,u={})=>{if(typeof i!="function")throw new TypeError("Expected a function");let f,c=!1,g=0,t=i.displayName||i.name||"",C=function(...A){if(_h.set(C,++g),c){if(u.throw===!0)throw new Error(`Function \`${t}\` can only be called once`);return f}return c=!0,f=i.apply(this,A),i=null,f};return oN(C,i),_h.set(C,g),C};gh.exports=MD;gh.exports.default=MD;gh.exports.callCount=i=>{if(!_h.has(i))throw new Error(`The given function \`${i.name}\` is not wrapped by the \`onetime\` package`);return _h.get(i)}});var LD=Me((ZH,yh)=>{yh.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&yh.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&yh.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var vy=Me((eb,n2)=>{var uN=require("assert"),r2=LD(),sN=/^win/i.test(process.platform),wh=require("events");typeof wh!="function"&&(wh=wh.EventEmitter);var Bi;process.__signal_exit_emitter__?Bi=process.__signal_exit_emitter__:(Bi=process.__signal_exit_emitter__=new wh,Bi.count=0,Bi.emitted={});Bi.infinite||(Bi.setMaxListeners(Infinity),Bi.infinite=!0);n2.exports=function(i,u){uN.equal(typeof i,"function","a callback must be provided for exit handler"),i2===!1&&RD();var f="exit";u&&u.alwaysLast&&(f="afterexit");var c=function(){Bi.removeListener(f,i),Bi.listeners("exit").length===0&&Bi.listeners("afterexit").length===0&&py()};return Bi.on(f,i),c};n2.exports.unload=py;function py(){!i2||(i2=!1,r2.forEach(function(i){try{process.removeListener(i,hy[i])}catch(u){}}),process.emit=my,process.reallyExit=ND,Bi.count-=1)}function wa(i,u,f){Bi.emitted[i]||(Bi.emitted[i]=!0,Bi.emit(i,u,f))}var hy={};r2.forEach(function(i){hy[i]=function(){var f=process.listeners(i);f.length===Bi.count&&(py(),wa("exit",null,i),wa("afterexit",null,i),sN&&i==="SIGHUP"&&(i="SIGINT"),process.kill(process.pid,i))}});n2.exports.signals=function(){return r2};n2.exports.load=RD;var i2=!1;function RD(){i2||(i2=!0,Bi.count+=1,r2=r2.filter(function(i){try{return process.on(i,hy[i]),!0}catch(u){return!1}}),process.emit=fN,process.reallyExit=lN)}var ND=process.reallyExit;function lN(i){process.exitCode=i||0,wa("exit",process.exitCode,null),wa("afterexit",process.exitCode,null),ND.call(process,process.exitCode)}var my=process.emit;function fN(i,u){if(i==="exit"){u!==void 0&&(process.exitCode=u);var f=my.apply(this,arguments);return wa("exit",process.exitCode,null),wa("afterexit",process.exitCode,null),f}else return my.apply(this,arguments)}});var jD=Me((tb,BD)=>{"use strict";var cN=FD(),aN=vy();BD.exports=cN(()=>{aN(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})});var gy=Me(Da=>{"use strict";var dN=jD(),Dh=!1;Da.show=(i=process.stderr)=>{!i.isTTY||(Dh=!1,i.write("[?25h"))};Da.hide=(i=process.stderr)=>{!i.isTTY||(dN(),Dh=!0,i.write("[?25l"))};Da.toggle=(i,u)=>{i!==void 0&&(Dh=i),Dh?Da.show(u):Da.hide(u)}});var WD=Me(o2=>{"use strict";var UD=o2&&o2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(o2,"__esModule",{value:!0});var qD=UD(ay()),zD=UD(gy()),pN=(i,{showCursor:u=!1}={})=>{let f=0,c="",g=!1,t=C=>{!u&&!g&&(zD.default.hide(),g=!0);let A=C+` -`;A!==c&&(c=A,i.write(qD.default.eraseLines(f)+A),f=A.split(` -`).length)};return t.clear=()=>{i.write(qD.default.eraseLines(f)),c="",f=0},t.done=()=>{c="",f=0,u||(zD.default.show(),g=!1)},t};o2.default={create:pN}});var bD=Me((ib,HD)=>{HD.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY_BUILD_BASE",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}}]});var YD=Me(ru=>{"use strict";var GD=bD(),nl=process.env;Object.defineProperty(ru,"_vendors",{value:GD.map(function(i){return i.constant})});ru.name=null;ru.isPR=null;GD.forEach(function(i){var u=Array.isArray(i.env)?i.env:[i.env],f=u.every(function(c){return VD(c)});if(ru[i.constant]=f,f)switch(ru.name=i.name,typeof i.pr){case"string":ru.isPR=!!nl[i.pr];break;case"object":"env"in i.pr?ru.isPR=i.pr.env in nl&&nl[i.pr.env]!==i.pr.ne:"any"in i.pr?ru.isPR=i.pr.any.some(function(c){return!!nl[c]}):ru.isPR=VD(i.pr);break;default:ru.isPR=null}});ru.isCI=!!(nl.CI||nl.CONTINUOUS_INTEGRATION||nl.BUILD_NUMBER||nl.RUN_ID||ru.name);function VD(i){return typeof i=="string"?!!nl[i]:Object.keys(i).every(function(u){return nl[u]===i[u]})}});var KD=Me((ub,$D)=>{"use strict";$D.exports=YD().isCI});var JD=Me((sb,XD)=>{"use strict";var hN=i=>{let u=new Set;do for(let f of Reflect.ownKeys(i))u.add([i,f]);while((i=Reflect.getPrototypeOf(i))&&i!==Object.prototype);return u};XD.exports=(i,{include:u,exclude:f}={})=>{let c=g=>{let t=C=>typeof C=="string"?g===C:C.test(g);return u?u.some(t):f?!f.some(t):!0};for(let[g,t]of hN(i.constructor.prototype)){if(t==="constructor"||!c(t))continue;let C=Reflect.getOwnPropertyDescriptor(g,t);C&&typeof C.value=="function"&&(i[t]=i[t].bind(i))}return i}});var iE=Me(Sr=>{"use strict";Object.defineProperty(Sr,"__esModule",{value:!0});var Ea,u2,Eh,Sh,_y;typeof window=="undefined"||typeof MessageChannel!="function"?(Sa=null,yy=null,wy=function(){if(Sa!==null)try{var i=Sr.unstable_now();Sa(!0,i),Sa=null}catch(u){throw setTimeout(wy,0),u}},QD=Date.now(),Sr.unstable_now=function(){return Date.now()-QD},Ea=function(i){Sa!==null?setTimeout(Ea,0,i):(Sa=i,setTimeout(wy,0))},u2=function(i,u){yy=setTimeout(i,u)},Eh=function(){clearTimeout(yy)},Sh=function(){return!1},_y=Sr.unstable_forceFrameRate=function(){}):(Ch=window.performance,Dy=window.Date,ZD=window.setTimeout,eE=window.clearTimeout,typeof console!="undefined"&&(tE=window.cancelAnimationFrame,typeof window.requestAnimationFrame!="function"&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),typeof tE!="function"&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")),typeof Ch=="object"&&typeof Ch.now=="function"?Sr.unstable_now=function(){return Ch.now()}:(nE=Dy.now(),Sr.unstable_now=function(){return Dy.now()-nE}),s2=!1,l2=null,Th=-1,Ey=5,Sy=0,Sh=function(){return Sr.unstable_now()>=Sy},_y=function(){},Sr.unstable_forceFrameRate=function(i){0>i||125kh(C,f))x!==void 0&&0>kh(x,C)?(i[c]=x,i[A]=f,c=A):(i[c]=C,i[t]=f,c=t);else if(x!==void 0&&0>kh(x,f))i[c]=x,i[A]=f,c=A;else break e}}return u}return null}function kh(i,u){var f=i.sortIndex-u.sortIndex;return f!==0?f:i.id-u.id}var ds=[],Nf=[],mN=1,_o=null,to=3,Oh=!1,pc=!1,f2=!1;function Ih(i){for(var u=Iu(Nf);u!==null;){if(u.callback===null)Ah(Nf);else if(u.startTime<=i)Ah(Nf),u.sortIndex=u.expirationTime,Ty(ds,u);else break;u=Iu(Nf)}}function xy(i){if(f2=!1,Ih(i),!pc)if(Iu(ds)!==null)pc=!0,Ea(ky);else{var u=Iu(Nf);u!==null&&u2(xy,u.startTime-i)}}function ky(i,u){pc=!1,f2&&(f2=!1,Eh()),Oh=!0;var f=to;try{for(Ih(u),_o=Iu(ds);_o!==null&&(!(_o.expirationTime>u)||i&&!Sh());){var c=_o.callback;if(c!==null){_o.callback=null,to=_o.priorityLevel;var g=c(_o.expirationTime<=u);u=Sr.unstable_now(),typeof g=="function"?_o.callback=g:_o===Iu(ds)&&Ah(ds),Ih(u)}else Ah(ds);_o=Iu(ds)}if(_o!==null)var t=!0;else{var C=Iu(Nf);C!==null&&u2(xy,C.startTime-u),t=!1}return t}finally{_o=null,to=f,Oh=!1}}function rE(i){switch(i){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var vN=_y;Sr.unstable_ImmediatePriority=1;Sr.unstable_UserBlockingPriority=2;Sr.unstable_NormalPriority=3;Sr.unstable_IdlePriority=5;Sr.unstable_LowPriority=4;Sr.unstable_runWithPriority=function(i,u){switch(i){case 1:case 2:case 3:case 4:case 5:break;default:i=3}var f=to;to=i;try{return u()}finally{to=f}};Sr.unstable_next=function(i){switch(to){case 1:case 2:case 3:var u=3;break;default:u=to}var f=to;to=u;try{return i()}finally{to=f}};Sr.unstable_scheduleCallback=function(i,u,f){var c=Sr.unstable_now();if(typeof f=="object"&&f!==null){var g=f.delay;g=typeof g=="number"&&0c?(i.sortIndex=g,Ty(Nf,i),Iu(ds)===null&&i===Iu(Nf)&&(f2?Eh():f2=!0,u2(xy,g-c))):(i.sortIndex=f,Ty(ds,i),pc||Oh||(pc=!0,Ea(ky))),i};Sr.unstable_cancelCallback=function(i){i.callback=null};Sr.unstable_wrapCallback=function(i){var u=to;return function(){var f=to;to=u;try{return i.apply(this,arguments)}finally{to=f}}};Sr.unstable_getCurrentPriorityLevel=function(){return to};Sr.unstable_shouldYield=function(){var i=Sr.unstable_now();Ih(i);var u=Iu(ds);return u!==_o&&_o!==null&&u!==null&&u.callback!==null&&u.startTime<=i&&u.expirationTime<_o.expirationTime||Sh()};Sr.unstable_requestPaint=vN;Sr.unstable_continueExecution=function(){pc||Oh||(pc=!0,Ea(ky))};Sr.unstable_pauseExecution=function(){};Sr.unstable_getFirstCallbackNode=function(){return Iu(ds)};Sr.unstable_Profiling=null});var Ay=Me((fb,oE)=>{"use strict";oE.exports=iE()});var uE=Me((cb,c2)=>{c2.exports=function i(u){"use strict";var f=ey(),c=lr(),g=Ay();function t(v){for(var m="https://reactjs.org/docs/error-decoder.html?invariant="+v,S=1;Sqo||(v.current=qi[qo],qi[qo]=null,qo--)}function Fr(v,m){qo++,qi[qo]=v.current,v.current=m}var si={},H0={current:si},b0={current:!1},Bt=si;function Lu(v,m){var S=v.type.contextTypes;if(!S)return si;var O=v.stateNode;if(O&&O.__reactInternalMemoizedUnmaskedChildContext===m)return O.__reactInternalMemoizedMaskedChildContext;var M={},b;for(b in S)M[b]=m[b];return O&&(v=v.stateNode,v.__reactInternalMemoizedUnmaskedChildContext=m,v.__reactInternalMemoizedMaskedChildContext=M),M}function c0(v){return v=v.childContextTypes,v!=null}function Ru(v){kr(b0,v),kr(H0,v)}function ks(v){kr(b0,v),kr(H0,v)}function As(v,m,S){if(H0.current!==si)throw Error(t(168));Fr(H0,m,v),Fr(b0,S,v)}function uu(v,m,S){var O=v.stateNode;if(v=m.childContextTypes,typeof O.getChildContext!="function")return S;O=O.getChildContext();for(var M in O)if(!(M in v))throw Error(t(108,Oe(m)||"Unknown",M));return f({},S,{},O)}function wo(v){var m=v.stateNode;return m=m&&m.__reactInternalMemoizedMergedChildContext||si,Bt=H0.current,Fr(H0,m,v),Fr(b0,b0.current,v),!0}function zo(v,m,S){var O=v.stateNode;if(!O)throw Error(t(169));S?(m=uu(v,m,Bt),O.__reactInternalMemoizedMergedChildContext=m,kr(b0,v),kr(H0,v),Fr(H0,m,v)):kr(b0,v),Fr(b0,S,v)}var Os=g.unstable_runWithPriority,Is=g.unstable_scheduleCallback,uf=g.unstable_cancelCallback,_n=g.unstable_shouldYield,Nu=g.unstable_requestPaint,Wo=g.unstable_now,su=g.unstable_getCurrentPriorityLevel,Ps=g.unstable_ImmediatePriority,pl=g.unstable_UserBlockingPriority,Vf=g.unstable_NormalPriority,hl=g.unstable_LowPriority,Bu=g.unstable_IdlePriority,ju={},sf=Nu!==void 0?Nu:function(){},ro=null,Ms=null,ml=!1,Uu=Wo(),G0=1e4>Uu?Wo:function(){return Wo()-Uu};function Fs(){switch(su()){case Ps:return 99;case pl:return 98;case Vf:return 97;case hl:return 96;case Bu:return 95;default:throw Error(t(332))}}function tt(v){switch(v){case 99:return Ps;case 98:return pl;case 97:return Vf;case 96:return hl;case 95:return Bu;default:throw Error(t(332))}}function zi(v,m){return v=tt(v),Os(v,m)}function lu(v,m,S){return v=tt(v),Is(v,m,S)}function Ho(v){return ro===null?(ro=[v],Ms=Is(Ps,vl)):ro.push(v),ju}function O0(){if(Ms!==null){var v=Ms;Ms=null,uf(v)}vl()}function vl(){if(!ml&&ro!==null){ml=!0;var v=0;try{var m=ro;zi(99,function(){for(;v=m&&(ai=!0),v.firstContext=null)}function D0(v,m){if(zu!==v&&m!==!1&&m!==0)if((typeof m!="number"||m===1073741823)&&(zu=v,m=1073741823),m={context:v,observedBits:m,next:null},Wi===null){if(qu===null)throw Error(t(308));Wi=m,qu.dependencies={expirationTime:0,firstContext:m,responders:null}}else Wi=Wi.next=m;return Jt?v._currentValue:v._currentValue2}var Do=!1;function i0(v){return{baseState:v,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function Rs(v){return{baseState:v.baseState,firstUpdate:v.firstUpdate,lastUpdate:v.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function a0(v,m){return{expirationTime:v,suspenseConfig:m,tag:0,payload:null,callback:null,next:null,nextEffect:null}}function Hu(v,m){v.lastUpdate===null?v.firstUpdate=v.lastUpdate=m:(v.lastUpdate.next=m,v.lastUpdate=m)}function V0(v,m){var S=v.alternate;if(S===null){var O=v.updateQueue,M=null;O===null&&(O=v.updateQueue=i0(v.memoizedState))}else O=v.updateQueue,M=S.updateQueue,O===null?M===null?(O=v.updateQueue=i0(v.memoizedState),M=S.updateQueue=i0(S.memoizedState)):O=v.updateQueue=Rs(M):M===null&&(M=S.updateQueue=Rs(O));M===null||O===M?Hu(O,m):O.lastUpdate===null||M.lastUpdate===null?(Hu(O,m),Hu(M,m)):(Hu(O,m),M.lastUpdate=m)}function bu(v,m){var S=v.updateQueue;S=S===null?v.updateQueue=i0(v.memoizedState):Ns(v,S),S.lastCapturedUpdate===null?S.firstCapturedUpdate=S.lastCapturedUpdate=m:(S.lastCapturedUpdate.next=m,S.lastCapturedUpdate=m)}function Ns(v,m){var S=v.alternate;return S!==null&&m===S.updateQueue&&(m=v.updateQueue=Rs(m)),m}function bo(v,m,S,O,M,b){switch(S.tag){case 1:return v=S.payload,typeof v=="function"?v.call(b,O,M):v;case 3:v.effectTag=v.effectTag&-4097|64;case 0:if(v=S.payload,M=typeof v=="function"?v.call(b,O,M):v,M==null)break;return f({},O,M);case 2:Do=!0}return O}function P0(v,m,S,O,M){Do=!1,m=Ns(v,m);for(var b=m.baseState,ee=null,Ye=0,Ze=m.firstUpdate,ut=b;Ze!==null;){var In=Ze.expirationTime;Inpr?(Hr=mn,mn=null):Hr=mn.sibling;var Vn=jr(Re,mn,ze[pr],Et);if(Vn===null){mn===null&&(mn=Hr);break}v&&mn&&Vn.alternate===null&&m(Re,mn),Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn,mn=Hr}if(pr===ze.length)return S(Re,mn),on;if(mn===null){for(;prpr?(Hr=mn,mn=null):Hr=mn.sibling;var ni=jr(Re,mn,Vn.value,Et);if(ni===null){mn===null&&(mn=Hr);break}v&&mn&&ni.alternate===null&&m(Re,mn),Ce=b(ni,Ce,pr),sr===null?on=ni:sr.sibling=ni,sr=ni,mn=Hr}if(Vn.done)return S(Re,mn),on;if(mn===null){for(;!Vn.done;pr++,Vn=ze.next())Vn=A0(Re,Vn.value,Et),Vn!==null&&(Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn);return on}for(mn=O(Re,mn);!Vn.done;pr++,Vn=ze.next())Vn=gi(mn,Re,pr,Vn.value,Et),Vn!==null&&(v&&Vn.alternate!==null&&mn.delete(Vn.key===null?pr:Vn.key),Ce=b(Vn,Ce,pr),sr===null?on=Vn:sr.sibling=Vn,sr=Vn);return v&&mn.forEach(function(Zf){return m(Re,Zf)}),on}return function(Re,Ce,ze,Et){var on=typeof ze=="object"&&ze!==null&&ze.type===L&&ze.key===null;on&&(ze=ze.props.children);var sr=typeof ze=="object"&&ze!==null;if(sr)switch(ze.$$typeof){case x:e:{for(sr=ze.key,on=Ce;on!==null;){if(on.key===sr)if(on.tag===7?ze.type===L:on.elementType===ze.type){S(Re,on.sibling),Ce=M(on,ze.type===L?ze.props.children:ze.props,Et),Ce.ref=au(Re,on,ze),Ce.return=Re,Re=Ce;break e}else{S(Re,on);break}else m(Re,on);on=on.sibling}ze.type===L?(Ce=mi(ze.props.children,Re.mode,Et,ze.key),Ce.return=Re,Re=Ce):(Et=Hs(ze.type,ze.key,ze.props,null,Re.mode,Et),Et.ref=au(Re,Ce,ze),Et.return=Re,Re=Et)}return ee(Re);case D:e:{for(on=ze.key;Ce!==null;){if(Ce.key===on)if(Ce.tag===4&&Ce.stateNode.containerInfo===ze.containerInfo&&Ce.stateNode.implementation===ze.implementation){S(Re,Ce.sibling),Ce=M(Ce,ze.children||[],Et),Ce.return=Re,Re=Ce;break e}else{S(Re,Ce);break}else m(Re,Ce);Ce=Ce.sibling}Ce=Xf(ze,Re.mode,Et),Ce.return=Re,Re=Ce}return ee(Re)}if(typeof ze=="string"||typeof ze=="number")return ze=""+ze,Ce!==null&&Ce.tag===6?(S(Re,Ce.sibling),Ce=M(Ce,ze,Et),Ce.return=Re,Re=Ce):(S(Re,Ce),Ce=vi(ze,Re.mode,Et),Ce.return=Re,Re=Ce),ee(Re);if(M0(ze))return po(Re,Ce,ze,Et);if(J(ze))return _i(Re,Ce,ze,Et);if(sr&&Lr(Re,ze),typeof ze=="undefined"&&!on)switch(Re.tag){case 1:case 0:throw Re=Re.type,Error(t(152,Re.displayName||Re.name||"Component"))}return S(Re,Ce)}}var R=F(!0),U=F(!1),H={},fe={current:H},ue={current:H},de={current:H};function W(v){if(v===H)throw Error(t(174));return v}function ve(v,m){Fr(de,m,v),Fr(ue,v,v),Fr(fe,H,v),m=Ot(m),kr(fe,v),Fr(fe,m,v)}function Fe(v){kr(fe,v),kr(ue,v),kr(de,v)}function Ge(v){var m=W(de.current),S=W(fe.current);m=Nt(S,v.type,m),S!==m&&(Fr(ue,v,v),Fr(fe,m,v))}function K(v){ue.current===v&&(kr(fe,v),kr(ue,v))}var xe={current:0};function je(v){for(var m=v;m!==null;){if(m.tag===13){var S=m.memoizedState;if(S!==null&&(S=S.dehydrated,S===null||ll(S)||fl(S)))return m}else if(m.tag===19&&m.memoizedProps.revealOrder!==void 0){if((m.effectTag&64)!=0)return m}else if(m.child!==null){m.child.return=m,m=m.child;continue}if(m===v)break;for(;m.sibling===null;){if(m.return===null||m.return===v)return null;m=m.return}m.sibling.return=m.return,m=m.sibling}return null}function Xe(v,m){return{responder:v,props:m}}var rt=C.ReactCurrentDispatcher,st=C.ReactCurrentBatchConfig,xt=0,wt=null,lt=null,Rt=null,yn=null,sn=null,ar=null,rn=0,Hn=null,d0=0,Cr=!1,He=null,Qe=0;function Ne(){throw Error(t(321))}function ft(v,m){if(m===null)return!1;for(var S=0;Srn&&(rn=In,pf(rn))):(Yf(In,Ze.suspenseConfig),b=Ze.eagerReducer===v?Ze.eagerState:v(b,Ze.action)),ee=Ze,Ze=Ze.next}while(Ze!==null&&Ze!==O);ut||(Ye=ee,M=b),Sn(b,m.memoizedState)||(ai=!0),m.memoizedState=b,m.baseUpdate=Ye,m.baseState=M,S.lastRenderedState=b}return[m.memoizedState,S.dispatch]}function ci(v){var m=Cn();return typeof v=="function"&&(v=v()),m.memoizedState=m.baseState=v,v=m.queue={last:null,dispatch:null,lastRenderedReducer:p0,lastRenderedState:v},v=v.dispatch=Us.bind(null,wt,v),[m.memoizedState,v]}function xi(v){return h0(p0,v)}function E0(v,m,S,O){return v={tag:v,create:m,destroy:S,deps:O,next:null},Hn===null?(Hn={lastEffect:null},Hn.lastEffect=v.next=v):(m=Hn.lastEffect,m===null?Hn.lastEffect=v.next=v:(S=m.next,m.next=v,v.next=S,Hn.lastEffect=v)),v}function qr(v,m,S,O){var M=Cn();d0|=v,M.memoizedState=E0(m,S,void 0,O===void 0?null:O)}function Eo(v,m,S,O){var M=bn();O=O===void 0?null:O;var b=void 0;if(lt!==null){var ee=lt.memoizedState;if(b=ee.destroy,O!==null&&ft(O,ee.deps)){E0(0,S,b,O);return}}d0|=v,M.memoizedState=E0(m,S,b,O)}function So(v,m){return qr(516,192,v,m)}function wl(v,m){return Eo(516,192,v,m)}function js(v,m){if(typeof m=="function")return v=v(),m(v),function(){m(null)};if(m!=null)return v=v(),m.current=v,function(){m.current=null}}function Dl(){}function du(v,m){return Cn().memoizedState=[v,m===void 0?null:m],v}function Yu(v,m){var S=bn();m=m===void 0?null:m;var O=S.memoizedState;return O!==null&&m!==null&&ft(m,O[1])?O[0]:(S.memoizedState=[v,m],v)}function Us(v,m,S){if(!(25>Qe))throw Error(t(301));var O=v.alternate;if(v===wt||O!==null&&O===wt)if(Cr=!0,v={expirationTime:xt,suspenseConfig:null,action:S,eagerReducer:null,eagerState:null,next:null},He===null&&(He=new Map),S=He.get(m),S===void 0)He.set(m,v);else{for(m=S;m.next!==null;)m=m.next;m.next=v}else{var M=g0(),b=nr.suspense;M=Kr(M,v,b),b={expirationTime:M,suspenseConfig:b,action:S,eagerReducer:null,eagerState:null,next:null};var ee=m.last;if(ee===null)b.next=b;else{var Ye=ee.next;Ye!==null&&(b.next=Ye),ee.next=b}if(m.last=b,v.expirationTime===0&&(O===null||O.expirationTime===0)&&(O=m.lastRenderedReducer,O!==null))try{var Ze=m.lastRenderedState,ut=O(Ze,S);if(b.eagerReducer=O,b.eagerState=ut,Sn(ut,Ze))return}catch(In){}finally{}_0(v,M)}}var oo={readContext:D0,useCallback:Ne,useContext:Ne,useEffect:Ne,useImperativeHandle:Ne,useLayoutEffect:Ne,useMemo:Ne,useReducer:Ne,useRef:Ne,useState:Ne,useDebugValue:Ne,useResponder:Ne,useDeferredValue:Ne,useTransition:Ne},Hi={readContext:D0,useCallback:du,useContext:D0,useEffect:So,useImperativeHandle:function(v,m,S){return S=S!=null?S.concat([v]):null,qr(4,36,js.bind(null,m,v),S)},useLayoutEffect:function(v,m){return qr(4,36,v,m)},useMemo:function(v,m){var S=Cn();return m=m===void 0?null:m,v=v(),S.memoizedState=[v,m],v},useReducer:function(v,m,S){var O=Cn();return m=S!==void 0?S(m):m,O.memoizedState=O.baseState=m,v=O.queue={last:null,dispatch:null,lastRenderedReducer:v,lastRenderedState:m},v=v.dispatch=Us.bind(null,wt,v),[O.memoizedState,v]},useRef:function(v){var m=Cn();return v={current:v},m.memoizedState=v},useState:ci,useDebugValue:Dl,useResponder:Xe,useDeferredValue:function(v,m){var S=ci(v),O=S[0],M=S[1];return So(function(){g.unstable_next(function(){var b=st.suspense;st.suspense=m===void 0?null:m;try{M(v)}finally{st.suspense=b}})},[v,m]),O},useTransition:function(v){var m=ci(!1),S=m[0],O=m[1];return[du(function(M){O(!0),g.unstable_next(function(){var b=st.suspense;st.suspense=v===void 0?null:v;try{O(!1),M()}finally{st.suspense=b}})},[v,S]),S]}},qs={readContext:D0,useCallback:Yu,useContext:D0,useEffect:wl,useImperativeHandle:function(v,m,S){return S=S!=null?S.concat([v]):null,Eo(4,36,js.bind(null,m,v),S)},useLayoutEffect:function(v,m){return Eo(4,36,v,m)},useMemo:function(v,m){var S=bn();m=m===void 0?null:m;var O=S.memoizedState;return O!==null&&m!==null&&ft(m,O[1])?O[0]:(v=v(),S.memoizedState=[v,m],v)},useReducer:h0,useRef:function(){return bn().memoizedState},useState:xi,useDebugValue:Dl,useResponder:Xe,useDeferredValue:function(v,m){var S=xi(v),O=S[0],M=S[1];return wl(function(){g.unstable_next(function(){var b=st.suspense;st.suspense=m===void 0?null:m;try{M(v)}finally{st.suspense=b}})},[v,m]),O},useTransition:function(v){var m=xi(!1),S=m[0],O=m[1];return[Yu(function(M){O(!0),g.unstable_next(function(){var b=st.suspense;st.suspense=v===void 0?null:v;try{O(!1),M()}finally{st.suspense=b}})},[v,S]),S]}},F0=null,Gr=null,ir=!1;function L0(v,m){var S=xo(5,null,null,0);S.elementType="DELETED",S.type="DELETED",S.stateNode=m,S.return=v,S.effectTag=8,v.lastEffect!==null?(v.lastEffect.nextEffect=S,v.lastEffect=S):v.firstEffect=v.lastEffect=S}function Y0(v,m){switch(v.tag){case 5:return m=Ti(m,v.type,v.pendingProps),m!==null?(v.stateNode=m,!0):!1;case 6:return m=Fu(m,v.pendingProps),m!==null?(v.stateNode=m,!0):!1;case 13:return!1;default:return!1}}function Co(v){if(ir){var m=Gr;if(m){var S=m;if(!Y0(v,m)){if(m=cl(S),!m||!Y0(v,m)){v.effectTag=v.effectTag&-1025|2,ir=!1,F0=v;return}L0(F0,S)}F0=v,Gr=al(m)}else v.effectTag=v.effectTag&-1025|2,ir=!1,F0=v}}function $u(v){for(v=v.return;v!==null&&v.tag!==5&&v.tag!==3&&v.tag!==13;)v=v.return;F0=v}function Vo(v){if(!w||v!==F0)return!1;if(!ir)return $u(v),ir=!0,!1;var m=v.type;if(v.tag!==5||m!=="head"&&m!=="body"&&!at(m,v.memoizedProps))for(m=Gr;m;)L0(v,m),m=cl(m);if($u(v),v.tag===13){if(!w)throw Error(t(316));if(v=v.memoizedState,v=v!==null?v.dehydrated:null,!v)throw Error(t(317));Gr=Ac(v)}else Gr=F0?cl(v.stateNode):null;return!0}function Rr(){w&&(Gr=F0=null,ir=!1)}var Jn=C.ReactCurrentOwner,ai=!1;function o0(v,m,S,O){m.child=v===null?U(m,null,S,O):R(m,v.child,S,O)}function Vr(v,m,S,O,M){S=S.render;var b=m.ref;return io(m,M),O=St(v,m,S,O,b,M),v!==null&&!ai?(m.updateQueue=v.updateQueue,m.effectTag&=-517,v.expirationTime<=M&&(v.expirationTime=0),X0(v,m,M)):(m.effectTag|=1,o0(v,m,O,M),m.child)}function ff(v,m,S,O,M,b){if(v===null){var ee=S.type;return typeof ee=="function"&&!mf(ee)&&ee.defaultProps===void 0&&S.compare===null&&S.defaultProps===void 0?(m.tag=15,m.type=ee,cf(v,m,ee,O,M,b)):(v=Hs(S.type,null,O,null,m.mode,b),v.ref=m.ref,v.return=m,m.child=v)}return ee=v.child,Mm)&&Qn.set(v,m)))}}function Gi(v,m){v.expirationTimev?m:v)}function x0(v){if(v.lastExpiredTime!==0)v.callbackExpirationTime=1073741823,v.callbackPriority=99,v.callbackNode=Ho(Z0.bind(null,v));else{var m=fo(v),S=v.callbackNode;if(m===0)S!==null&&(v.callbackNode=null,v.callbackExpirationTime=0,v.callbackPriority=90);else{var O=g0();if(m===1073741823?O=99:m===1||m===2?O=95:(O=10*(1073741821-m)-10*(1073741821-O),O=0>=O?99:250>=O?98:5250>=O?97:95),S!==null){var M=v.callbackPriority;if(v.callbackExpirationTime===m&&M>=O)return;S!==ju&&uf(S)}v.callbackExpirationTime=m,v.callbackPriority=O,m=m===1073741823?Ho(Z0.bind(null,v)):lu(O,Xu.bind(null,v),{timeout:10*(1073741821-m)-G0()}),v.callbackNode=m}}}function Xu(v,m){if(t0=0,m)return m=g0(),kl(v,m),x0(v),null;var S=fo(v);if(S!==0){if(m=v.callbackNode,(Kt&(Br|zr))!==Fn)throw Error(t(327));if(Ws(),v===X&&S===ye||mu(v,S),Y!==null){var O=Kt;Kt|=Br;var M=ei(v);do try{Ua();break}catch(Ye){Ju(v,Ye)}while(1);if(Wu(),Kt=O,B0.current=M,he===wr)throw m=We,mu(v,S),ao(v,S),x0(v),m;if(Y===null)switch(M=v.finishedWork=v.current.alternate,v.finishedExpirationTime=S,O=he,X=null,O){case lo:case wr:throw Error(t(345));case kn:kl(v,2=S){v.lastPingedTime=S,mu(v,S);break}}if(b=fo(v),b!==0&&b!==S)break;if(O!==0&&O!==S){v.lastPingedTime=O;break}v.timeoutHandle=jt(gu.bind(null,v),M);break}gu(v);break;case hi:if(ao(v,S),O=v.lastSuspendedTime,S===O&&(v.nextKnownPendingLevel=$f(M)),qt&&(M=v.lastPingedTime,M===0||M>=S)){v.lastPingedTime=S,mu(v,S);break}if(M=fo(v),M!==0&&M!==S)break;if(O!==0&&O!==S){v.lastPingedTime=O;break}if(Dt!==1073741823?O=10*(1073741821-Dt)-G0():et===1073741823?O=0:(O=10*(1073741821-et)-5e3,M=G0(),S=10*(1073741821-S)-M,O=M-O,0>O&&(O=0),O=(120>O?120:480>O?480:1080>O?1080:1920>O?1920:3e3>O?3e3:4320>O?4320:1960*Cl(O/1960))-O,S=O?O=0:(M=ee.busyDelayMs|0,b=G0()-(10*(1073741821-b)-(ee.timeoutMs|0||5e3)),O=b<=M?0:M+O-b),10 component higher in the tree to provide a loading indicator or placeholder to display.`+dl(M))}he!==Ai&&(he=kn),b=zs(b,M),Ze=O;do{switch(Ze.tag){case 3:ee=b,Ze.effectTag|=4096,Ze.expirationTime=m;var Ce=pu(Ze,ee,m);bu(Ze,Ce);break e;case 1:ee=b;var ze=Ze.type,Et=Ze.stateNode;if((Ze.effectTag&64)==0&&(typeof ze.getDerivedStateFromError=="function"||Et!==null&&typeof Et.componentDidCatch=="function"&&(Ar===null||!Ar.has(Et)))){Ze.effectTag|=4096,Ze.expirationTime=m;var on=Sl(Ze,ee,m);bu(Ze,on);break e}}Ze=Ze.return}while(Ze!==null)}Y=vu(Y)}catch(sr){m=sr;continue}break}while(1)}function ei(){var v=B0.current;return B0.current=oo,v===null?oo:v}function Yf(v,m){vZt&&(Zt=v)}function ja(){for(;Y!==null;)Y=Ic(Y)}function Ua(){for(;Y!==null&&!_n();)Y=Ic(Y)}function Ic(v){var m=Lc(v.alternate,v,ye);return v.memoizedProps=v.pendingProps,m===null&&(m=vu(v)),hu.current=null,m}function vu(v){Y=v;do{var m=Y.alternate;if(v=Y.return,(Y.effectTag&2048)==0){e:{var S=m;m=Y;var O=ye,M=m.pendingProps;switch(m.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:c0(m.type)&&Ru(m);break;case 3:Fe(m),ks(m),M=m.stateNode,M.pendingContext&&(M.context=M.pendingContext,M.pendingContext=null),(S===null||S.child===null)&&Vo(m)&&ki(m),$r(m);break;case 5:K(m);var b=W(de.current);if(O=m.type,S!==null&&m.stateNode!=null)m0(S,m,O,M,b),S.ref!==m.ref&&(m.effectTag|=128);else if(M){if(S=W(fe.current),Vo(m)){if(M=m,!w)throw Error(t(175));S=Ui(M.stateNode,M.type,M.memoizedProps,b,S,M),M.updateQueue=S,S=S!==null,S&&ki(m)}else{var ee=ne(O,M,b,S,m);Yr(ee,m,!1,!1),m.stateNode=ee,Z(ee,O,M,b,S)&&ki(m)}m.ref!==null&&(m.effectTag|=128)}else if(m.stateNode===null)throw Error(t(166));break;case 6:if(S&&m.stateNode!=null)Tn(S,m,S.memoizedProps,M);else{if(typeof M!="string"&&m.stateNode===null)throw Error(t(166));if(S=W(de.current),b=W(fe.current),Vo(m)){if(S=m,!w)throw Error(t(176));(S=Mr(S.stateNode,S.memoizedProps,S))&&ki(m)}else m.stateNode=Ft(M,S,b,m)}break;case 11:break;case 13:if(kr(xe,m),M=m.memoizedState,(m.effectTag&64)!=0){m.expirationTime=O;break e}M=M!==null,b=!1,S===null?m.memoizedProps.fallback!==void 0&&Vo(m):(O=S.memoizedState,b=O!==null,M||O===null||(O=S.child.sibling,O!==null&&(ee=m.firstEffect,ee!==null?(m.firstEffect=O,O.nextEffect=ee):(m.firstEffect=m.lastEffect=O,O.nextEffect=null),O.effectTag=8))),M&&!b&&(m.mode&2)!=0&&(S===null&&m.memoizedProps.unstable_avoidThisFallback!==!0||(xe.current&1)!=0?he===lo&&(he=T0):((he===lo||he===T0)&&(he=hi),Zt!==0&&X!==null&&(ao(X,ye),$o(X,Zt)))),cr&&M&&(m.effectTag|=4),Yt&&(M||b)&&(m.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:Fe(m),$r(m);break;case 10:fi(m);break;case 9:break;case 14:break;case 17:c0(m.type)&&Ru(m);break;case 19:if(kr(xe,m),M=m.memoizedState,M===null)break;if(b=(m.effectTag&64)!=0,ee=M.rendering,ee===null){if(b)bi(M,!1);else if(he!==lo||S!==null&&(S.effectTag&64)!=0)for(S=m.child;S!==null;){if(ee=je(S),ee!==null){for(m.effectTag|=64,bi(M,!1),S=ee.updateQueue,S!==null&&(m.updateQueue=S,m.effectTag|=4),M.lastEffect===null&&(m.firstEffect=null),m.lastEffect=M.lastEffect,S=O,M=m.child;M!==null;)b=M,O=S,b.effectTag&=2,b.nextEffect=null,b.firstEffect=null,b.lastEffect=null,ee=b.alternate,ee===null?(b.childExpirationTime=0,b.expirationTime=O,b.child=null,b.memoizedProps=null,b.memoizedState=null,b.updateQueue=null,b.dependencies=null):(b.childExpirationTime=ee.childExpirationTime,b.expirationTime=ee.expirationTime,b.child=ee.child,b.memoizedProps=ee.memoizedProps,b.memoizedState=ee.memoizedState,b.updateQueue=ee.updateQueue,O=ee.dependencies,b.dependencies=O===null?null:{expirationTime:O.expirationTime,firstContext:O.firstContext,responders:O.responders}),M=M.sibling;Fr(xe,xe.current&1|2,m),m=m.child;break e}S=S.sibling}}else{if(!b)if(S=je(ee),S!==null){if(m.effectTag|=64,b=!0,S=S.updateQueue,S!==null&&(m.updateQueue=S,m.effectTag|=4),bi(M,!0),M.tail===null&&M.tailMode==="hidden"&&!ee.alternate){m=m.lastEffect=M.lastEffect,m!==null&&(m.nextEffect=null);break}}else G0()>M.tailExpiration&&1M&&(M=O),ee>M&&(M=ee),b=b.sibling;S.childExpirationTime=M}if(m!==null)return m;v!==null&&(v.effectTag&2048)==0&&(v.firstEffect===null&&(v.firstEffect=Y.firstEffect),Y.lastEffect!==null&&(v.lastEffect!==null&&(v.lastEffect.nextEffect=Y.firstEffect),v.lastEffect=Y.lastEffect),1v?m:v}function gu(v){var m=Fs();return zi(99,co.bind(null,v,m)),null}function co(v,m){do Ws();while(dr!==null);if((Kt&(Br|zr))!==Fn)throw Error(t(327));var S=v.finishedWork,O=v.finishedExpirationTime;if(S===null)return null;if(v.finishedWork=null,v.finishedExpirationTime=0,S===v.current)throw Error(t(177));v.callbackNode=null,v.callbackExpirationTime=0,v.callbackPriority=90,v.nextKnownPendingLevel=0;var M=$f(S);if(v.firstPendingTime=M,O<=v.lastSuspendedTime?v.firstSuspendedTime=v.lastSuspendedTime=v.nextKnownPendingLevel=0:O<=v.firstSuspendedTime&&(v.firstSuspendedTime=O-1),O<=v.lastPingedTime&&(v.lastPingedTime=0),O<=v.lastExpiredTime&&(v.lastExpiredTime=0),v===X&&(Y=X=null,ye=0),1=S?mt(v,m,S):(Fr(xe,xe.current&1,m),m=X0(v,m,S),m!==null?m.sibling:null);Fr(xe,xe.current&1,m);break;case 19:if(O=m.childExpirationTime>=S,(v.effectTag&64)!=0){if(O)return $t(v,m,S);m.effectTag|=64}if(M=m.memoizedState,M!==null&&(M.rendering=null,M.tail=null),Fr(xe,xe.current,m),!O)return null}return X0(v,m,S)}ai=!1}}else ai=!1;switch(m.expirationTime=0,m.tag){case 2:if(O=m.type,v!==null&&(v.alternate=null,m.alternate=null,m.effectTag|=2),v=m.pendingProps,M=Lu(m,H0.current),io(m,S),M=St(null,m,O,v,M,S),m.effectTag|=1,typeof M=="object"&&M!==null&&typeof M.render=="function"&&M.$$typeof===void 0){if(m.tag=1,Qt(),c0(O)){var b=!0;wo(m)}else b=!1;m.memoizedState=M.state!==null&&M.state!==void 0?M.state:null;var ee=O.getDerivedStateFromProps;typeof ee=="function"&&Go(m,O,ee,v),M.updater=Gu,m.stateNode=M,M._reactInternalFiber=m,Vu(m,O,v,S),m=Be(null,m,O,!0,b,S)}else m.tag=0,o0(null,m,M,S),m=m.child;return m;case 16:if(M=m.elementType,v!==null&&(v.alternate=null,m.alternate=null,m.effectTag|=2),v=m.pendingProps,Te(M),M._status!==1)throw M._result;switch(M=M._result,m.type=M,b=m.tag=Wa(M),v=I0(M,v),b){case 0:m=K0(null,m,M,v,S);break;case 1:m=ae(null,m,M,v,S);break;case 11:m=Vr(null,m,M,v,S);break;case 14:m=ff(null,m,M,I0(M.type,v),O,S);break;default:throw Error(t(306,M,""))}return m;case 0:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),K0(v,m,O,M,S);case 1:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),ae(v,m,O,M,S);case 3:if(Ie(m),O=m.updateQueue,O===null)throw Error(t(282));if(M=m.memoizedState,M=M!==null?M.element:null,P0(m,O,m.pendingProps,null,S),O=m.memoizedState.element,O===M)Rr(),m=X0(v,m,S);else{if((M=m.stateNode.hydrate)&&(w?(Gr=al(m.stateNode.containerInfo),F0=m,M=ir=!0):M=!1),M)for(S=U(m,null,O,S),m.child=S;S;)S.effectTag=S.effectTag&-3|1024,S=S.sibling;else o0(v,m,O,S),Rr();m=m.child}return m;case 5:return Ge(m),v===null&&Co(m),O=m.type,M=m.pendingProps,b=v!==null?v.memoizedProps:null,ee=M.children,at(O,M)?ee=null:b!==null&&at(O,b)&&(m.effectTag|=16),$0(v,m),m.mode&4&&S!==1&&it(O,M)?(m.expirationTime=m.childExpirationTime=1,m=null):(o0(v,m,ee,S),m=m.child),m;case 6:return v===null&&Co(m),null;case 13:return mt(v,m,S);case 4:return ve(m,m.stateNode.containerInfo),O=m.pendingProps,v===null?m.child=R(m,null,O,S):o0(v,m,O,S),m.child;case 11:return O=m.type,M=m.pendingProps,M=m.elementType===O?M:I0(O,M),Vr(v,m,O,M,S);case 7:return o0(v,m,m.pendingProps,S),m.child;case 8:return o0(v,m,m.pendingProps.children,S),m.child;case 12:return o0(v,m,m.pendingProps.children,S),m.child;case 10:e:{if(O=m.type._context,M=m.pendingProps,ee=m.memoizedProps,b=M.value,Ls(m,b),ee!==null){var Ye=ee.value;if(b=Sn(Ye,b)?0:(typeof O._calculateChangedBits=="function"?O._calculateChangedBits(Ye,b):1073741823)|0,b===0){if(ee.children===M.children&&!b0.current){m=X0(v,m,S);break e}}else for(Ye=m.child,Ye!==null&&(Ye.return=m);Ye!==null;){var Ze=Ye.dependencies;if(Ze!==null){ee=Ye.child;for(var ut=Ze.firstContext;ut!==null;){if(ut.context===O&&(ut.observedBits&b)!=0){Ye.tag===1&&(ut=a0(S,null),ut.tag=2,V0(Ye,ut)),Ye.expirationTime=m&&v<=m}function ao(v,m){var S=v.firstSuspendedTime,O=v.lastSuspendedTime;Sm||S===0)&&(v.lastSuspendedTime=m),m<=v.lastPingedTime&&(v.lastPingedTime=0),m<=v.lastExpiredTime&&(v.lastExpiredTime=0)}function $o(v,m){m>v.firstPendingTime&&(v.firstPendingTime=m);var S=v.firstSuspendedTime;S!==0&&(m>=S?v.firstSuspendedTime=v.lastSuspendedTime=v.nextKnownPendingLevel=0:m>=v.lastSuspendedTime&&(v.lastSuspendedTime=m+1),m>v.nextKnownPendingLevel&&(v.nextKnownPendingLevel=m))}function kl(v,m){var S=v.lastExpiredTime;(S===0||S>m)&&(v.lastExpiredTime=m)}function Nc(v){var m=v._reactInternalFiber;if(m===void 0)throw typeof v.render=="function"?Error(t(188)):Error(t(268,Object.keys(v)));return v=Ue(m),v===null?null:v.stateNode}function Al(v,m){v=v.memoizedState,v!==null&&v.dehydrated!==null&&v.retryTime{"use strict";sE.exports=uE()});var cE=Me((db,fE)=>{"use strict";var gN={ALIGN_COUNT:8,ALIGN_AUTO:0,ALIGN_FLEX_START:1,ALIGN_CENTER:2,ALIGN_FLEX_END:3,ALIGN_STRETCH:4,ALIGN_BASELINE:5,ALIGN_SPACE_BETWEEN:6,ALIGN_SPACE_AROUND:7,DIMENSION_COUNT:2,DIMENSION_WIDTH:0,DIMENSION_HEIGHT:1,DIRECTION_COUNT:3,DIRECTION_INHERIT:0,DIRECTION_LTR:1,DIRECTION_RTL:2,DISPLAY_COUNT:2,DISPLAY_FLEX:0,DISPLAY_NONE:1,EDGE_COUNT:9,EDGE_LEFT:0,EDGE_TOP:1,EDGE_RIGHT:2,EDGE_BOTTOM:3,EDGE_START:4,EDGE_END:5,EDGE_HORIZONTAL:6,EDGE_VERTICAL:7,EDGE_ALL:8,EXPERIMENTAL_FEATURE_COUNT:1,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:0,FLEX_DIRECTION_COUNT:4,FLEX_DIRECTION_COLUMN:0,FLEX_DIRECTION_COLUMN_REVERSE:1,FLEX_DIRECTION_ROW:2,FLEX_DIRECTION_ROW_REVERSE:3,JUSTIFY_COUNT:6,JUSTIFY_FLEX_START:0,JUSTIFY_CENTER:1,JUSTIFY_FLEX_END:2,JUSTIFY_SPACE_BETWEEN:3,JUSTIFY_SPACE_AROUND:4,JUSTIFY_SPACE_EVENLY:5,LOG_LEVEL_COUNT:6,LOG_LEVEL_ERROR:0,LOG_LEVEL_WARN:1,LOG_LEVEL_INFO:2,LOG_LEVEL_DEBUG:3,LOG_LEVEL_VERBOSE:4,LOG_LEVEL_FATAL:5,MEASURE_MODE_COUNT:3,MEASURE_MODE_UNDEFINED:0,MEASURE_MODE_EXACTLY:1,MEASURE_MODE_AT_MOST:2,NODE_TYPE_COUNT:2,NODE_TYPE_DEFAULT:0,NODE_TYPE_TEXT:1,OVERFLOW_COUNT:3,OVERFLOW_VISIBLE:0,OVERFLOW_HIDDEN:1,OVERFLOW_SCROLL:2,POSITION_TYPE_COUNT:2,POSITION_TYPE_RELATIVE:0,POSITION_TYPE_ABSOLUTE:1,PRINT_OPTIONS_COUNT:3,PRINT_OPTIONS_LAYOUT:1,PRINT_OPTIONS_STYLE:2,PRINT_OPTIONS_CHILDREN:4,UNIT_COUNT:4,UNIT_UNDEFINED:0,UNIT_POINT:1,UNIT_PERCENT:2,UNIT_AUTO:3,WRAP_COUNT:3,WRAP_NO_WRAP:0,WRAP_WRAP:1,WRAP_WRAP_REVERSE:2};fE.exports=gN});var hE=Me((pb,aE)=>{"use strict";var _N=Object.assign||function(i){for(var u=1;u"}}]),i}(),dE=function(){Ph(i,null,[{key:"fromJS",value:function(f){var c=f.width,g=f.height;return new i(c,g)}}]);function i(u,f){Iy(this,i),this.width=u,this.height=f}return Ph(i,[{key:"fromJS",value:function(f){f(this.width,this.height)}},{key:"toString",value:function(){return""}}]),i}(),pE=function(){function i(u,f){Iy(this,i),this.unit=u,this.value=f}return Ph(i,[{key:"fromJS",value:function(f){f(this.unit,this.value)}},{key:"toString",value:function(){switch(this.unit){case ps.UNIT_POINT:return String(this.value);case ps.UNIT_PERCENT:return this.value+"%";case ps.UNIT_AUTO:return"auto";default:return this.value+"?"}}},{key:"valueOf",value:function(){return this.value}}]),i}();aE.exports=function(i,u){function f(C,A,x){var D=C[A];C[A]=function(){for(var L=arguments.length,N=Array(L),j=0;j1?N-1:0),$=1;$1&&arguments[1]!==void 0?arguments[1]:NaN,x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,D=arguments.length>3&&arguments[3]!==void 0?arguments[3]:ps.DIRECTION_LTR;return C.call(this,A,x,D)}),_N({Config:u.Config,Node:u.Node,Layout:i("Layout",yN),Size:i("Size",dE),Value:i("Value",pE),getInstanceCount:function(){return u.getInstanceCount.apply(u,arguments)}},ps)}});var mE=Me((exports,module)=>{(function(i,u){typeof define=="function"&&define.amd?define([],function(){return u}):typeof module=="object"&&module.exports?module.exports=u:(i.nbind=i.nbind||{}).init=u})(exports,function(Module,cb){typeof Module=="function"&&(cb=Module,Module={}),Module.onRuntimeInitialized=function(i,u){return function(){i&&i.apply(this,arguments);try{Module.ccall("nbind_init")}catch(f){u(f);return}u(null,{bind:Module._nbind_value,reflect:Module.NBind.reflect,queryType:Module.NBind.queryType,toggleLightGC:Module.toggleLightGC,lib:Module})}}(Module.onRuntimeInitialized,cb);var Module;Module||(Module=(typeof Module!="undefined"?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB=!1,ENVIRONMENT_IS_WORKER=!1,ENVIRONMENT_IS_NODE=!1,ENVIRONMENT_IS_SHELL=!1;if(Module.ENVIRONMENT)if(Module.ENVIRONMENT==="WEB")ENVIRONMENT_IS_WEB=!0;else if(Module.ENVIRONMENT==="WORKER")ENVIRONMENT_IS_WORKER=!0;else if(Module.ENVIRONMENT==="NODE")ENVIRONMENT_IS_NODE=!0;else if(Module.ENVIRONMENT==="SHELL")ENVIRONMENT_IS_SHELL=!0;else throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof require=="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=console.log),Module.printErr||(Module.printErr=console.warn);var nodeFS,nodePath;Module.read=function(u,f){nodeFS||(nodeFS={}("")),nodePath||(nodePath={}("")),u=nodePath.normalize(u);var c=nodeFS.readFileSync(u);return f?c:c.toString()},Module.readBinary=function(u){var f=Module.read(u,!0);return f.buffer||(f=new Uint8Array(f)),assert(f.buffer),f},Module.load=function(u){globalEval(read(u))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),typeof module!="undefined"&&(module.exports=Module),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),typeof printErr!="undefined"&&(Module.printErr=printErr),typeof read!="undefined"?Module.read=read:Module.read=function(){throw"no read() available"},Module.readBinary=function(u){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(u));var f=read(u,"binary");return assert(typeof f=="object"),f},typeof scriptArgs!="undefined"?Module.arguments=scriptArgs:typeof arguments!="undefined"&&(Module.arguments=arguments),typeof quit=="function"&&(Module.quit=function(i,u){quit(i)});else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(Module.read=function(u){var f=new XMLHttpRequest;return f.open("GET",u,!1),f.send(null),f.responseText},ENVIRONMENT_IS_WORKER&&(Module.readBinary=function(u){var f=new XMLHttpRequest;return f.open("GET",u,!1),f.responseType="arraybuffer",f.send(null),new Uint8Array(f.response)}),Module.readAsync=function(u,f,c){var g=new XMLHttpRequest;g.open("GET",u,!0),g.responseType="arraybuffer",g.onload=function(){g.status==200||g.status==0&&g.response?f(g.response):c()},g.onerror=c,g.send(null)},typeof arguments!="undefined"&&(Module.arguments=arguments),typeof console!="undefined")Module.print||(Module.print=function(u){console.log(u)}),Module.printErr||(Module.printErr=function(u){console.warn(u)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&typeof dump!="undefined"?function(i){dump(i)}:function(i){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),typeof Module.setWindowTitle=="undefined"&&(Module.setWindowTitle=function(i){document.title=i})}else throw"Unknown runtime environment. Where are we?";function globalEval(i){eval.call(null,i)}!Module.load&&Module.read&&(Module.load=function(u){globalEval(Module.read(u))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.quit||(Module.quit=function(i,u){throw u}),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);moduleOverrides=void 0;var Runtime={setTempRet0:function(i){return tempRet0=i,i},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(i){STACKTOP=i},getNativeTypeSize:function(i){switch(i){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(i[i.length-1]==="*")return Runtime.QUANTUM_SIZE;if(i[0]==="i"){var u=parseInt(i.substr(1));return assert(u%8==0),u/8}else return 0}}},getNativeFieldSize:function(i){return Math.max(Runtime.getNativeTypeSize(i),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(i,u){return u==="double"||u==="i64"?i&7&&(assert((i&7)==4),i+=4):assert((i&3)==0),i},getAlignSize:function(i,u,f){return!f&&(i=="i64"||i=="double")?8:i?Math.min(u||(i?Runtime.getNativeFieldSize(i):0),Runtime.QUANTUM_SIZE):Math.min(u,8)},dynCall:function(i,u,f){return f&&f.length?Module["dynCall_"+i].apply(null,[u].concat(f)):Module["dynCall_"+i].call(null,u)},functionPointers:[],addFunction:function(i){for(var u=0;u>2],f=(u+i+15|0)&-16;if(HEAP32[DYNAMICTOP_PTR>>2]=f,f>=TOTAL_MEMORY){var c=enlargeMemory();if(!c)return HEAP32[DYNAMICTOP_PTR>>2]=u,0}return u},alignMemory:function(i,u){var f=i=Math.ceil(i/(u||16))*(u||16);return f},makeBigInt:function(i,u,f){var c=f?+(i>>>0)+ +(u>>>0)*4294967296:+(i>>>0)+ +(u|0)*4294967296;return c},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var ABORT=0,EXITSTATUS=0;function assert(i,u){i||abort("Assertion failed: "+u)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(i){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}var cwrap,ccall;(function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(i){var u=Runtime.stackAlloc(i.length);return writeArrayToMemory(i,u),u},stringToC:function(i){var u=0;if(i!=null&&i!==0){var f=(i.length<<2)+1;u=Runtime.stackAlloc(f),stringToUTF8(i,u,f)}return u}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(u,f,c,g,t){var C=getCFunc(u),A=[],x=0;if(g)for(var D=0;D>0]=u;break;case"i8":HEAP8[i>>0]=u;break;case"i16":HEAP16[i>>1]=u;break;case"i32":HEAP32[i>>2]=u;break;case"i64":tempI64=[u>>>0,(tempDouble=u,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[i>>2]=tempI64[0],HEAP32[i+4>>2]=tempI64[1];break;case"float":HEAPF32[i>>2]=u;break;case"double":HEAPF64[i>>3]=u;break;default:abort("invalid type for setValue: "+f)}}Module.setValue=setValue;function getValue(i,u,f){switch(u=u||"i8",u.charAt(u.length-1)==="*"&&(u="i32"),u){case"i1":return HEAP8[i>>0];case"i8":return HEAP8[i>>0];case"i16":return HEAP16[i>>1];case"i32":return HEAP32[i>>2];case"i64":return HEAP32[i>>2];case"float":return HEAPF32[i>>2];case"double":return HEAPF64[i>>3];default:abort("invalid type for setValue: "+u)}return null}Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE;function allocate(i,u,f,c){var g,t;typeof i=="number"?(g=!0,t=i):(g=!1,t=i.length);var C=typeof u=="string"?u:null,A;if(f==ALLOC_NONE?A=c:A=[typeof _malloc=="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][f===void 0?ALLOC_STATIC:f](Math.max(t,C?1:u.length)),g){var c=A,x;for(assert((A&3)==0),x=A+(t&~3);c>2]=0;for(x=A+t;c>0]=0;return A}if(C==="i8")return i.subarray||i.slice?HEAPU8.set(i,A):HEAPU8.set(new Uint8Array(i),A),A;for(var D=0,L,N,j;D>0],f|=c,!(c==0&&!u||(g++,u&&g==u)););u||(u=g);var t="";if(f<128){for(var C=1024,A;u>0;)A=String.fromCharCode.apply(String,HEAPU8.subarray(i,i+Math.min(u,C))),t=t?t+A:A,i+=C,u-=C;return t}return Module.UTF8ToString(i)}Module.Pointer_stringify=Pointer_stringify;function AsciiToString(i){for(var u="";;){var f=HEAP8[i++>>0];if(!f)return u;u+=String.fromCharCode(f)}}Module.AsciiToString=AsciiToString;function stringToAscii(i,u){return writeAsciiToMemory(i,u,!1)}Module.stringToAscii=stringToAscii;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0;function UTF8ArrayToString(i,u){for(var f=u;i[f];)++f;if(f-u>16&&i.subarray&&UTF8Decoder)return UTF8Decoder.decode(i.subarray(u,f));for(var c,g,t,C,A,x,D="";;){if(c=i[u++],!c)return D;if(!(c&128)){D+=String.fromCharCode(c);continue}if(g=i[u++]&63,(c&224)==192){D+=String.fromCharCode((c&31)<<6|g);continue}if(t=i[u++]&63,(c&240)==224?c=(c&15)<<12|g<<6|t:(C=i[u++]&63,(c&248)==240?c=(c&7)<<18|g<<12|t<<6|C:(A=i[u++]&63,(c&252)==248?c=(c&3)<<24|g<<18|t<<12|C<<6|A:(x=i[u++]&63,c=(c&1)<<30|g<<24|t<<18|C<<12|A<<6|x))),c<65536)D+=String.fromCharCode(c);else{var L=c-65536;D+=String.fromCharCode(55296|L>>10,56320|L&1023)}}}Module.UTF8ArrayToString=UTF8ArrayToString;function UTF8ToString(i){return UTF8ArrayToString(HEAPU8,i)}Module.UTF8ToString=UTF8ToString;function stringToUTF8Array(i,u,f,c){if(!(c>0))return 0;for(var g=f,t=f+c-1,C=0;C=55296&&A<=57343&&(A=65536+((A&1023)<<10)|i.charCodeAt(++C)&1023),A<=127){if(f>=t)break;u[f++]=A}else if(A<=2047){if(f+1>=t)break;u[f++]=192|A>>6,u[f++]=128|A&63}else if(A<=65535){if(f+2>=t)break;u[f++]=224|A>>12,u[f++]=128|A>>6&63,u[f++]=128|A&63}else if(A<=2097151){if(f+3>=t)break;u[f++]=240|A>>18,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}else if(A<=67108863){if(f+4>=t)break;u[f++]=248|A>>24,u[f++]=128|A>>18&63,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}else{if(f+5>=t)break;u[f++]=252|A>>30,u[f++]=128|A>>24&63,u[f++]=128|A>>18&63,u[f++]=128|A>>12&63,u[f++]=128|A>>6&63,u[f++]=128|A&63}}return u[f]=0,f-g}Module.stringToUTF8Array=stringToUTF8Array;function stringToUTF8(i,u,f){return stringToUTF8Array(i,HEAPU8,u,f)}Module.stringToUTF8=stringToUTF8;function lengthBytesUTF8(i){for(var u=0,f=0;f=55296&&c<=57343&&(c=65536+((c&1023)<<10)|i.charCodeAt(++f)&1023),c<=127?++u:c<=2047?u+=2:c<=65535?u+=3:c<=2097151?u+=4:c<=67108863?u+=5:u+=6}return u}Module.lengthBytesUTF8=lengthBytesUTF8;var UTF16Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf-16le"):void 0;function demangle(i){var u=Module.___cxa_demangle||Module.__cxa_demangle;if(u){try{var f=i.substr(1),c=lengthBytesUTF8(f)+1,g=_malloc(c);stringToUTF8(f,g,c);var t=_malloc(4),C=u(g,0,0,t);if(getValue(t,"i32")===0&&C)return Pointer_stringify(C)}catch(A){}finally{g&&_free(g),t&&_free(t),C&&_free(C)}return i}return Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),i}function demangleAll(i){var u=/__Z[\w\d_]+/g;return i.replace(u,function(f){var c=demangle(f);return f===c?f:f+" ["+c+"]"})}function jsStackTrace(){var i=new Error;if(!i.stack){try{throw new Error(0)}catch(u){i=u}if(!i.stack)return"(no stack trace available)"}return i.stack.toString()}function stackTrace(){var i=jsStackTrace();return Module.extraStackTrace&&(i+=` -`+Module.extraStackTrace()),demangleAll(i)}Module.stackTrace=stackTrace;var HEAP,buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module.HEAP8=HEAP8=new Int8Array(buffer),Module.HEAP16=HEAP16=new Int16Array(buffer),Module.HEAP32=HEAP32=new Int32Array(buffer),Module.HEAPU8=HEAPU8=new Uint8Array(buffer),Module.HEAPU16=HEAPU16=new Uint16Array(buffer),Module.HEAPU32=HEAPU32=new Uint32Array(buffer),Module.HEAPF32=HEAPF32=new Float32Array(buffer),Module.HEAPF64=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed,STACK_BASE,STACKTOP,STACK_MAX,DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0,staticSealed=!1;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||134217728;TOTAL_MEMORY0;){var u=i.shift();if(typeof u=="function"){u();continue}var f=u.func;typeof f=="number"?u.arg===void 0?Module.dynCall_v(f):Module.dynCall_vi(f,u.arg):f(u.arg===void 0?null:u.arg)}}var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(i){__ATPRERUN__.unshift(i)}Module.addOnPreRun=addOnPreRun;function addOnInit(i){__ATINIT__.unshift(i)}Module.addOnInit=addOnInit;function addOnPreMain(i){__ATMAIN__.unshift(i)}Module.addOnPreMain=addOnPreMain;function addOnExit(i){__ATEXIT__.unshift(i)}Module.addOnExit=addOnExit;function addOnPostRun(i){__ATPOSTRUN__.unshift(i)}Module.addOnPostRun=addOnPostRun;function intArrayFromString(i,u,f){var c=f>0?f:lengthBytesUTF8(i)+1,g=new Array(c),t=stringToUTF8Array(i,g,0,g.length);return u&&(g.length=t),g}Module.intArrayFromString=intArrayFromString;function intArrayToString(i){for(var u=[],f=0;f255&&(c&=255),u.push(String.fromCharCode(c))}return u.join("")}Module.intArrayToString=intArrayToString;function writeStringToMemory(i,u,f){Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var c,g;f&&(g=u+lengthBytesUTF8(i),c=HEAP8[g]),stringToUTF8(i,u,Infinity),f&&(HEAP8[g]=c)}Module.writeStringToMemory=writeStringToMemory;function writeArrayToMemory(i,u){HEAP8.set(i,u)}Module.writeArrayToMemory=writeArrayToMemory;function writeAsciiToMemory(i,u,f){for(var c=0;c>0]=i.charCodeAt(c);f||(HEAP8[u>>0]=0)}if(Module.writeAsciiToMemory=writeAsciiToMemory,(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(u,f){var c=u>>>16,g=u&65535,t=f>>>16,C=f&65535;return g*C+(c*C+g*t<<16)|0}),Math.imul=Math.imul,!Math.fround){var froundBuffer=new Float32Array(1);Math.fround=function(i){return froundBuffer[0]=i,froundBuffer[0]}}Math.fround=Math.fround,Math.clz32||(Math.clz32=function(i){i=i>>>0;for(var u=0;u<32;u++)if(i&1<<31-u)return u;return 32}),Math.clz32=Math.clz32,Math.trunc||(Math.trunc=function(i){return i<0?Math.ceil(i):Math.floor(i)}),Math.trunc=Math.trunc;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_round=Math.round,Math_min=Math.min,Math_clz32=Math.clz32,Math_trunc=Math.trunc,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(i){return i}function addRunDependency(i){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}Module.addRunDependency=addRunDependency;function removeRunDependency(i){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var u=dependenciesFulfilled;dependenciesFulfilled=null,u()}}Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var ASM_CONSTS=[function(i,u,f,c,g,t,C,A){return _nbind.callbackSignatureList[i].apply(this,arguments)}];function _emscripten_asm_const_iiiiiiii(i,u,f,c,g,t,C,A){return ASM_CONSTS[i](u,f,c,g,t,C,A)}function _emscripten_asm_const_iiiii(i,u,f,c,g){return ASM_CONSTS[i](u,f,c,g)}function _emscripten_asm_const_iiidddddd(i,u,f,c,g,t,C,A,x){return ASM_CONSTS[i](u,f,c,g,t,C,A,x)}function _emscripten_asm_const_iiididi(i,u,f,c,g,t,C){return ASM_CONSTS[i](u,f,c,g,t,C)}function _emscripten_asm_const_iiii(i,u,f,c){return ASM_CONSTS[i](u,f,c)}function _emscripten_asm_const_iiiid(i,u,f,c,g){return ASM_CONSTS[i](u,f,c,g)}function _emscripten_asm_const_iiiiii(i,u,f,c,g,t){return ASM_CONSTS[i](u,f,c,g,t)}STATIC_BASE=Runtime.GLOBAL_BASE,STATICTOP=STATIC_BASE+12800,__ATINIT__.push({func:function(){__GLOBAL__sub_I_Yoga_cpp()}},{func:function(){__GLOBAL__sub_I_nbind_cc()}},{func:function(){__GLOBAL__sub_I_common_cc()}},{func:function(){__GLOBAL__sub_I_Binding_cc()}}),allocate([0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,192,127,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,3,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,127,0,0,192,127,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,128,191,0,0,128,191,0,0,192,127,0,0,0,0,0,0,0,0,0,0,128,63,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,190,12,0,0,200,12,0,0,208,12,0,0,216,12,0,0,230,12,0,0,242,12,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,192,127,3,0,0,0,180,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,182,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,183,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,181,45,0,0,184,45,0,0,185,45,0,0,181,45,0,0,181,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,148,4,0,0,3,0,0,0,187,45,0,0,164,4,0,0,188,45,0,0,2,0,0,0,189,45,0,0,164,4,0,0,188,45,0,0,185,45,0,0,164,4,0,0,185,45,0,0,164,4,0,0,188,45,0,0,181,45,0,0,182,45,0,0,181,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,183,45,0,0,182,45,0,0,181,45,0,0,190,45,0,0,190,45,0,0,182,45,0,0,182,45,0,0,185,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,181,45,0,0,185,45,0,0,182,45,0,0,185,45,0,0,48,5,0,0,3,0,0,0,56,5,0,0,1,0,0,0,189,45,0,0,185,45,0,0,164,4,0,0,76,5,0,0,2,0,0,0,191,45,0,0,186,45,0,0,182,45,0,0,185,45,0,0,192,45,0,0,185,45,0,0,182,45,0,0,186,45,0,0,185,45,0,0,76,5,0,0,76,5,0,0,136,5,0,0,182,45,0,0,181,45,0,0,2,0,0,0,190,45,0,0,136,5,0,0,56,19,0,0,156,5,0,0,2,0,0,0,184,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,10,0,0,0,204,5,0,0,181,45,0,0,181,45,0,0,2,0,0,0,180,45,0,0,204,5,0,0,2,0,0,0,195,45,0,0,236,5,0,0,97,19,0,0,198,45,0,0,211,45,0,0,212,45,0,0,213,45,0,0,214,45,0,0,215,45,0,0,188,45,0,0,182,45,0,0,216,45,0,0,217,45,0,0,218,45,0,0,219,45,0,0,192,45,0,0,181,45,0,0,0,0,0,0,185,45,0,0,110,19,0,0,186,45,0,0,115,19,0,0,221,45,0,0,120,19,0,0,148,4,0,0,132,19,0,0,96,6,0,0,145,19,0,0,222,45,0,0,164,19,0,0,223,45,0,0,173,19,0,0,0,0,0,0,3,0,0,0,104,6,0,0,1,0,0,0,187,45,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,185,45,0,0,224,45,0,0,164,6,0,0,188,45,0,0,172,6,0,0,180,6,0,0,2,0,0,0,188,6,0,0,7,0,0,0,224,45,0,0,7,0,0,0,164,6,0,0,1,0,0,0,213,45,0,0,185,45,0,0,224,45,0,0,172,6,0,0,185,45,0,0,224,45,0,0,164,6,0,0,185,45,0,0,224,45,0,0,211,45,0,0,211,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,222,45,0,0,211,45,0,0,224,45,0,0,172,6,0,0,222,45,0,0,211,45,0,0,224,45,0,0,188,45,0,0,222,45,0,0,211,45,0,0,40,7,0,0,188,45,0,0,2,0,0,0,224,45,0,0,185,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,188,45,0,0,222,45,0,0,224,45,0,0,148,4,0,0,185,45,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,148,4,0,0,185,45,0,0,164,6,0,0,148,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,15,0,0,0,1,0,0,0,16,0,0,0,148,7,0,0,2,0,0,0,225,45,0,0,183,45,0,0,188,45,0,0,168,7,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,234,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,148,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,242,45,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,110,111,100,101,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,119,104,105,99,104,32,115,116,105,108,108,32,104,97,115,32,99,104,105,108,100,114,101,110,32,97,116,116,97,99,104,101,100,0,67,97,110,110,111,116,32,114,101,115,101,116,32,97,32,110,111,100,101,32,115,116,105,108,108,32,97,116,116,97,99,104,101,100,32,116,111,32,97,32,112,97,114,101,110,116,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,99,111,110,102,105,103,0,67,97,110,110,111,116,32,115,101,116,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,67,104,105,108,100,32,97,108,114,101,97,100,121,32,104,97,115,32,97,32,112,97,114,101,110,116,44,32,105,116,32,109,117,115,116,32,98,101,32,114,101,109,111,118,101,100,32,102,105,114,115,116,46,0,67,97,110,110,111,116,32,97,100,100,32,99,104,105,108,100,58,32,78,111,100,101,115,32,119,105,116,104,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,32,99,97,110,110,111,116,32,104,97,118,101,32,99,104,105,108,100,114,101,110,46,0,79,110,108,121,32,108,101,97,102,32,110,111,100,101,115,32,119,105,116,104,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,115,115,104,111,117,108,100,32,109,97,110,117,97,108,108,121,32,109,97,114,107,32,116,104,101,109,115,101,108,118,101,115,32,97,115,32,100,105,114,116,121,0,67,97,110,110,111,116,32,103,101,116,32,108,97,121,111,117,116,32,112,114,111,112,101,114,116,105,101,115,32,111,102,32,109,117,108,116,105,45,101,100,103,101,32,115,104,111,114,116,104,97,110,100,115,0,37,115,37,100,46,123,91,115,107,105,112,112,101,100,93,32,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,61,62,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,37,115,37,100,46,123,37,115,0,42,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,97,119,58,32,37,102,32,97,104,58,32,37,102,32,37,115,10,0,37,115,37,100,46,125,37,115,0,119,109,58,32,37,115,44,32,104,109,58,32,37,115,44,32,100,58,32,40,37,102,44,32,37,102,41,32,37,115,10,0,79,117,116,32,111,102,32,99,97,99,104,101,32,101,110,116,114,105,101,115,33,10,0,83,99,97,108,101,32,102,97,99,116,111,114,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,108,101,115,115,32,116,104,97,110,32,122,101,114,111,0,105,110,105,116,105,97,108,0,37,115,10,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,85,78,68,69,70,73,78,69,68,0,69,88,65,67,84,76,89,0,65,84,95,77,79,83,84,0,76,65,89,95,85,78,68,69,70,73,78,69,68,0,76,65,89,95,69,88,65,67,84,76,89,0,76,65,89,95,65,84,95,77,79,83,84,0,97,118,97,105,108,97,98,108,101,87,105,100,116,104,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,119,105,100,116,104,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,97,118,97,105,108,97,98,108,101,72,101,105,103,104,116,32,105,115,32,105,110,100,101,102,105,110,105,116,101,32,115,111,32,104,101,105,103,104,116,77,101,97,115,117,114,101,77,111,100,101,32,109,117,115,116,32,98,101,32,89,71,77,101,97,115,117,114,101,77,111,100,101,85,110,100,101,102,105,110,101,100,0,102,108,101,120,0,115,116,114,101,116,99,104,0,109,117,108,116,105,108,105,110,101,45,115,116,114,101,116,99,104,0,69,120,112,101,99,116,101,100,32,110,111,100,101,32,116,111,32,104,97,118,101,32,99,117,115,116,111,109,32,109,101,97,115,117,114,101,32,102,117,110,99,116,105,111,110,0,109,101,97,115,117,114,101,0,69,120,112,101,99,116,32,99,117,115,116,111,109,32,98,97,115,101,108,105,110,101,32,102,117,110,99,116,105,111,110,32,116,111,32,110,111,116,32,114,101,116,117,114,110,32,78,97,78,0,97,98,115,45,109,101,97,115,117,114,101,0,97,98,115,45,108,97,121,111,117,116,0,78,111,100,101,0,99,114,101,97,116,101,68,101,102,97,117,108,116,0,99,114,101,97,116,101,87,105,116,104,67,111,110,102,105,103,0,100,101,115,116,114,111,121,0,114,101,115,101,116,0,99,111,112,121,83,116,121,108,101,0,115,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,115,101,116,80,111,115,105,116,105,111,110,0,115,101,116,80,111,115,105,116,105,111,110,80,101,114,99,101,110,116,0,115,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,115,101,116,65,108,105,103,110,73,116,101,109,115,0,115,101,116,65,108,105,103,110,83,101,108,102,0,115,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,115,101,116,70,108,101,120,87,114,97,112,0,115,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,115,101,116,77,97,114,103,105,110,0,115,101,116,77,97,114,103,105,110,80,101,114,99,101,110,116,0,115,101,116,77,97,114,103,105,110,65,117,116,111,0,115,101,116,79,118,101,114,102,108,111,119,0,115,101,116,68,105,115,112,108,97,121,0,115,101,116,70,108,101,120,0,115,101,116,70,108,101,120,66,97,115,105,115,0,115,101,116,70,108,101,120,66,97,115,105,115,80,101,114,99,101,110,116,0,115,101,116,70,108,101,120,71,114,111,119,0,115,101,116,70,108,101,120,83,104,114,105,110,107,0,115,101,116,87,105,100,116,104,0,115,101,116,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,87,105,100,116,104,65,117,116,111,0,115,101,116,72,101,105,103,104,116,0,115,101,116,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,72,101,105,103,104,116,65,117,116,111,0,115,101,116,77,105,110,87,105,100,116,104,0,115,101,116,77,105,110,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,105,110,72,101,105,103,104,116,0,115,101,116,77,105,110,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,77,97,120,87,105,100,116,104,0,115,101,116,77,97,120,87,105,100,116,104,80,101,114,99,101,110,116,0,115,101,116,77,97,120,72,101,105,103,104,116,0,115,101,116,77,97,120,72,101,105,103,104,116,80,101,114,99,101,110,116,0,115,101,116,65,115,112,101,99,116,82,97,116,105,111,0,115,101,116,66,111,114,100,101,114,0,115,101,116,80,97,100,100,105,110,103,0,115,101,116,80,97,100,100,105,110,103,80,101,114,99,101,110,116,0,103,101,116,80,111,115,105,116,105,111,110,84,121,112,101,0,103,101,116,80,111,115,105,116,105,111,110,0,103,101,116,65,108,105,103,110,67,111,110,116,101,110,116,0,103,101,116,65,108,105,103,110,73,116,101,109,115,0,103,101,116,65,108,105,103,110,83,101,108,102,0,103,101,116,70,108,101,120,68,105,114,101,99,116,105,111,110,0,103,101,116,70,108,101,120,87,114,97,112,0,103,101,116,74,117,115,116,105,102,121,67,111,110,116,101,110,116,0,103,101,116,77,97,114,103,105,110,0,103,101,116,70,108,101,120,66,97,115,105,115,0,103,101,116,70,108,101,120,71,114,111,119,0,103,101,116,70,108,101,120,83,104,114,105,110,107,0,103,101,116,87,105,100,116,104,0,103,101,116,72,101,105,103,104,116,0,103,101,116,77,105,110,87,105,100,116,104,0,103,101,116,77,105,110,72,101,105,103,104,116,0,103,101,116,77,97,120,87,105,100,116,104,0,103,101,116,77,97,120,72,101,105,103,104,116,0,103,101,116,65,115,112,101,99,116,82,97,116,105,111,0,103,101,116,66,111,114,100,101,114,0,103,101,116,79,118,101,114,102,108,111,119,0,103,101,116,68,105,115,112,108,97,121,0,103,101,116,80,97,100,100,105,110,103,0,105,110,115,101,114,116,67,104,105,108,100,0,114,101,109,111,118,101,67,104,105,108,100,0,103,101,116,67,104,105,108,100,67,111,117,110,116,0,103,101,116,80,97,114,101,110,116,0,103,101,116,67,104,105,108,100,0,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,117,110,115,101,116,77,101,97,115,117,114,101,70,117,110,99,0,109,97,114,107,68,105,114,116,121,0,105,115,68,105,114,116,121,0,99,97,108,99,117,108,97,116,101,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,76,101,102,116,0,103,101,116,67,111,109,112,117,116,101,100,82,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,84,111,112,0,103,101,116,67,111,109,112,117,116,101,100,66,111,116,116,111,109,0,103,101,116,67,111,109,112,117,116,101,100,87,105,100,116,104,0,103,101,116,67,111,109,112,117,116,101,100,72,101,105,103,104,116,0,103,101,116,67,111,109,112,117,116,101,100,76,97,121,111,117,116,0,103,101,116,67,111,109,112,117,116,101,100,77,97,114,103,105,110,0,103,101,116,67,111,109,112,117,116,101,100,66,111,114,100,101,114,0,103,101,116,67,111,109,112,117,116,101,100,80,97,100,100,105,110,103,0,67,111,110,102,105,103,0,99,114,101,97,116,101,0,115,101,116,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,115,101,116,80,111,105,110,116,83,99,97,108,101,70,97,99,116,111,114,0,105,115,69,120,112,101,114,105,109,101,110,116,97,108,70,101,97,116,117,114,101,69,110,97,98,108,101,100,0,86,97,108,117,101,0,76,97,121,111,117,116,0,83,105,122,101,0,103,101,116,73,110,115,116,97,110,99,101,67,111,117,110,116,0,73,110,116,54,52,0,1,1,1,2,2,4,4,4,4,8,8,4,8,118,111,105,100,0,98,111,111,108,0,115,116,100,58,58,115,116,114,105,110,103,0,99,98,70,117,110,99,116,105,111,110,32,38,0,99,111,110,115,116,32,99,98,70,117,110,99,116,105,111,110,32,38,0,69,120,116,101,114,110,97,108,0,66,117,102,102,101,114,0,78,66,105,110,100,73,68,0,78,66,105,110,100,0,98,105,110,100,95,118,97,108,117,101,0,114,101,102,108,101,99,116,0,113,117,101,114,121,84,121,112,101,0,108,97,108,108,111,99,0,108,114,101,115,101,116,0,123,114,101,116,117,114,110,40,95,110,98,105,110,100,46,99,97,108,108,98,97,99,107,83,105,103,110,97,116,117,114,101,76,105,115,116,91,36,48,93,46,97,112,112,108,121,40,116,104,105,115,44,97,114,103,117,109,101,110,116,115,41,41,59,125,0,95,110,98,105,110,100,95,110,101,119,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,110,97,110,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=STATICTOP;STATICTOP+=16;function _atexit(i,u){__ATEXIT__.unshift({func:i,arg:u})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function _abort(){Module.abort()}function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj(){Module.printErr("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj"),abort(-1)}function __decorate(i,u,f,c){var g=arguments.length,t=g<3?u:c===null?c=Object.getOwnPropertyDescriptor(u,f):c,C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")t=Reflect.decorate(i,u,f,c);else for(var A=i.length-1;A>=0;A--)(C=i[A])&&(t=(g<3?C(t):g>3?C(u,f,t):C(u,f))||t);return g>3&&t&&Object.defineProperty(u,f,t),t}function _defineHidden(i){return function(u,f){Object.defineProperty(u,f,{configurable:!1,enumerable:!1,value:i,writable:!0})}}var _nbind={};function __nbind_free_external(i){_nbind.externalList[i].dereference(i)}function __nbind_reference_external(i){_nbind.externalList[i].reference()}function _llvm_stackrestore(i){var u=_llvm_stacksave,f=u.LLVM_SAVEDSTACKS[i];u.LLVM_SAVEDSTACKS.splice(i,1),Runtime.stackRestore(f)}function __nbind_register_pool(i,u,f,c){_nbind.Pool.pageSize=i,_nbind.Pool.usedPtr=u/4,_nbind.Pool.rootPtr=f,_nbind.Pool.pagePtr=c/4,HEAP32[u/4]=16909060,HEAP8[u]==1&&(_nbind.bigEndian=!0),HEAP32[u/4]=0,_nbind.makeTypeKindTbl=(t={},t[1024]=_nbind.PrimitiveType,t[64]=_nbind.Int64Type,t[2048]=_nbind.BindClass,t[3072]=_nbind.BindClassPtr,t[4096]=_nbind.SharedClassPtr,t[5120]=_nbind.ArrayType,t[6144]=_nbind.ArrayType,t[7168]=_nbind.CStringType,t[9216]=_nbind.CallbackType,t[10240]=_nbind.BindType,t),_nbind.makeTypeNameTbl={Buffer:_nbind.BufferType,External:_nbind.ExternalType,Int64:_nbind.Int64Type,_nbind_new:_nbind.CreateValueType,bool:_nbind.BooleanType,"cbFunction &":_nbind.CallbackType,"const cbFunction &":_nbind.CallbackType,"const std::string &":_nbind.StringType,"std::string":_nbind.StringType},Module.toggleLightGC=_nbind.toggleLightGC,_nbind.callUpcast=Module.dynCall_ii;var g=_nbind.makeType(_nbind.constructType,{flags:2048,id:0,name:""});g.proto=Module,_nbind.BindClass.list.push(g);var t}function _emscripten_set_main_loop_timing(i,u){if(Browser.mainLoop.timingMode=i,Browser.mainLoop.timingValue=u,!Browser.mainLoop.func)return 1;if(i==0)Browser.mainLoop.scheduler=function(){var C=Math.max(0,Browser.mainLoop.tickStartTime+u-_emscripten_get_now())|0;setTimeout(Browser.mainLoop.runner,C)},Browser.mainLoop.method="timeout";else if(i==1)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(i==2){if(!window.setImmediate){let t=function(C){C.source===window&&C.data===c&&(C.stopPropagation(),f.shift()())};var g=t,f=[],c="setimmediate";window.addEventListener("message",t,!0),window.setImmediate=function(A){f.push(A),ENVIRONMENT_IS_WORKER?(Module.setImmediates===void 0&&(Module.setImmediates=[]),Module.setImmediates.push(A),window.postMessage({target:c})):window.postMessage(c,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_get_now(){abort()}function _emscripten_set_main_loop(i,u,f,c,g){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=i,Browser.mainLoop.arg=c;var t;typeof c!="undefined"?t=function(){Module.dynCall_vi(i,c)}:t=function(){Module.dynCall_v(i)};var C=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var x=Date.now(),D=Browser.mainLoop.queue.shift();if(D.func(D.arg),Browser.mainLoop.remainingBlockers){var L=Browser.mainLoop.remainingBlockers,N=L%1==0?L-1:Math.floor(L);D.counted?Browser.mainLoop.remainingBlockers=N:(N=N+.5,Browser.mainLoop.remainingBlockers=(8*L+N)/9)}if(console.log('main loop blocker "'+D.name+'" took '+(Date.now()-x)+" ms"),Browser.mainLoop.updateStatus(),C1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0){Browser.mainLoop.scheduler();return}else Browser.mainLoop.timingMode==0&&(Browser.mainLoop.tickStartTime=_emscripten_get_now());Browser.mainLoop.method==="timeout"&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(t),!(C0?_emscripten_set_main_loop_timing(0,1e3/u):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),f)throw"SimulateInfiniteLoop"}var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){Browser.mainLoop.scheduler=null,Browser.mainLoop.currentlyRunningMainloop++},resume:function(){Browser.mainLoop.currentlyRunningMainloop++;var i=Browser.mainLoop.timingMode,u=Browser.mainLoop.timingValue,f=Browser.mainLoop.func;Browser.mainLoop.func=null,_emscripten_set_main_loop(f,0,!1,Browser.mainLoop.arg,!0),_emscripten_set_main_loop_timing(i,u),Browser.mainLoop.scheduler()},updateStatus:function(){if(Module.setStatus){var i=Module.statusMessage||"Please wait...",u=Browser.mainLoop.remainingBlockers,f=Browser.mainLoop.expectedBlockers;u?u=6;){var Le=J>>Te-6&63;Te-=6,De+=Se[Le]}return Te==2?(De+=Se[(J&3)<<4],De+=me+me):Te==4&&(De+=Se[(J&15)<<2],De+=me),De}h.src="data:audio/x-"+C.substr(-3)+";base64,"+Q(t),L(h)},h.src=$,Browser.safeSetTimeout(function(){L(h)},1e4)}else return N()},Module.preloadPlugins.push(u);function f(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var c=Module.canvas;c&&(c.requestPointerLock=c.requestPointerLock||c.mozRequestPointerLock||c.webkitRequestPointerLock||c.msRequestPointerLock||function(){},c.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},c.exitPointerLock=c.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),Module.elementPointerLock&&c.addEventListener("click",function(g){!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),g.preventDefault())},!1))},createContext:function(i,u,f,c){if(u&&Module.ctx&&i==Module.canvas)return Module.ctx;var g,t;if(u){var C={antialias:!1,alpha:!1};if(c)for(var A in c)C[A]=c[A];t=GL.createContext(i,C),t&&(g=GL.getContext(t).GLctx)}else g=i.getContext("2d");return g?(f&&(u||assert(typeof GLctx=="undefined","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),Module.ctx=g,u&&GL.makeContextCurrent(t),Module.useWebGL=u,Browser.moduleContextCreatedCallbacks.forEach(function(x){x()}),Browser.init()),g):null},destroyContext:function(i,u,f){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen:function(i,u,f){Browser.lockPointer=i,Browser.resizeCanvas=u,Browser.vrDevice=f,typeof Browser.lockPointer=="undefined"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas=="undefined"&&(Browser.resizeCanvas=!1),typeof Browser.vrDevice=="undefined"&&(Browser.vrDevice=null);var c=Module.canvas;function g(){Browser.isFullscreen=!1;var C=c.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===C?(c.exitFullscreen=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||function(){},c.exitFullscreen=c.exitFullscreen.bind(document),Browser.lockPointer&&c.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas&&Browser.setFullscreenCanvasSize()):(C.parentNode.insertBefore(c,C),C.parentNode.removeChild(C),Browser.resizeCanvas&&Browser.setWindowedCanvasSize()),Module.onFullScreen&&Module.onFullScreen(Browser.isFullscreen),Module.onFullscreen&&Module.onFullscreen(Browser.isFullscreen),Browser.updateCanvasDimensions(c)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",g,!1),document.addEventListener("mozfullscreenchange",g,!1),document.addEventListener("webkitfullscreenchange",g,!1),document.addEventListener("MSFullscreenChange",g,!1));var t=document.createElement("div");c.parentNode.insertBefore(t,c),t.appendChild(c),t.requestFullscreen=t.requestFullscreen||t.mozRequestFullScreen||t.msRequestFullscreen||(t.webkitRequestFullscreen?function(){t.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT)}:null)||(t.webkitRequestFullScreen?function(){t.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),f?t.requestFullscreen({vrDisplay:f}):t.requestFullscreen()},requestFullScreen:function(i,u,f){return Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."),Browser.requestFullScreen=function(c,g,t){return Browser.requestFullscreen(c,g,t)},Browser.requestFullscreen(i,u,f)},nextRAF:0,fakeRequestAnimationFrame:function(i){var u=Date.now();if(Browser.nextRAF===0)Browser.nextRAF=u+1e3/60;else for(;u+2>=Browser.nextRAF;)Browser.nextRAF+=1e3/60;var f=Math.max(Browser.nextRAF-u,0);setTimeout(i,f)},requestAnimationFrame:function(u){typeof window=="undefined"?Browser.fakeRequestAnimationFrame(u):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||Browser.fakeRequestAnimationFrame),window.requestAnimationFrame(u))},safeCallback:function(i){return function(){if(!ABORT)return i.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){Browser.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(Browser.allowAsyncCallbacks=!0,Browser.queuedAsyncCallbacks.length>0){var i=Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks=[],i.forEach(function(u){u()})}},safeRequestAnimationFrame:function(i){return Browser.requestAnimationFrame(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))})},safeSetTimeout:function(i,u){return Module.noExitRuntime=!0,setTimeout(function(){ABORT||(Browser.allowAsyncCallbacks?i():Browser.queuedAsyncCallbacks.push(i))},u)},safeSetInterval:function(i,u){return Module.noExitRuntime=!0,setInterval(function(){ABORT||Browser.allowAsyncCallbacks&&i()},u)},getMimetype:function(i){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[i.substr(i.lastIndexOf(".")+1)]},getUserMedia:function(i){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(i)},getMovementX:function(i){return i.movementX||i.mozMovementX||i.webkitMovementX||0},getMovementY:function(i){return i.movementY||i.mozMovementY||i.webkitMovementY||0},getMouseWheelDelta:function(i){var u=0;switch(i.type){case"DOMMouseScroll":u=i.detail;break;case"mousewheel":u=i.wheelDelta;break;case"wheel":u=i.deltaY;break;default:throw"unrecognized mouse wheel event: "+i.type}return u},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(i){if(Browser.pointerLock)i.type!="mousemove"&&"mozMovementX"in i?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(i),Browser.mouseMovementY=Browser.getMovementY(i)),typeof SDL!="undefined"?(Browser.mouseX=SDL.mouseX+Browser.mouseMovementX,Browser.mouseY=SDL.mouseY+Browser.mouseMovementY):(Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY);else{var u=Module.canvas.getBoundingClientRect(),f=Module.canvas.width,c=Module.canvas.height,g=typeof window.scrollX!="undefined"?window.scrollX:window.pageXOffset,t=typeof window.scrollY!="undefined"?window.scrollY:window.pageYOffset;if(i.type==="touchstart"||i.type==="touchend"||i.type==="touchmove"){var C=i.touch;if(C===void 0)return;var A=C.pageX-(g+u.left),x=C.pageY-(t+u.top);A=A*(f/u.width),x=x*(c/u.height);var D={x:A,y:x};if(i.type==="touchstart")Browser.lastTouches[C.identifier]=D,Browser.touches[C.identifier]=D;else if(i.type==="touchend"||i.type==="touchmove"){var L=Browser.touches[C.identifier];L||(L=D),Browser.lastTouches[C.identifier]=L,Browser.touches[C.identifier]=D}return}var N=i.pageX-(g+u.left),j=i.pageY-(t+u.top);N=N*(f/u.width),j=j*(c/u.height),Browser.mouseMovementX=N-Browser.mouseX,Browser.mouseMovementY=j-Browser.mouseY,Browser.mouseX=N,Browser.mouseY=j}},asyncLoad:function(i,u,f,c){var g=c?"":getUniqueRunDependency("al "+i);Module.readAsync(i,function(t){assert(t,'Loading data file "'+i+'" failed (no arrayBuffer).'),u(new Uint8Array(t)),g&&removeRunDependency(g)},function(t){if(f)f();else throw'Loading data file "'+i+'" failed.'}),g&&addRunDependency(g)},resizeListeners:[],updateResizeListeners:function(){var i=Module.canvas;Browser.resizeListeners.forEach(function(u){u(i.width,i.height)})},setCanvasSize:function(i,u,f){var c=Module.canvas;Browser.updateCanvasDimensions(c,i,u),f||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i|8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL!="undefined"){var i=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];i=i&~8388608,HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=i}Browser.updateResizeListeners()},updateCanvasDimensions:function(i,u,f){u&&f?(i.widthNative=u,i.heightNative=f):(u=i.widthNative,f=i.heightNative);var c=u,g=f;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(c/g>2];return u},getStr:function(){var i=Pointer_stringify(SYSCALLS.get());return i},get64:function(){var i=SYSCALLS.get(),u=SYSCALLS.get();return i>=0?assert(u===0):assert(u===-1),i},getZero:function(){assert(SYSCALLS.get()===0)}};function ___syscall6(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStreamFromFD();return FS.close(f),0}catch(c){return(typeof FS=="undefined"||!(c instanceof FS.ErrnoError))&&abort(c),-c.errno}}function ___syscall54(i,u){SYSCALLS.varargs=u;try{return 0}catch(f){return(typeof FS=="undefined"||!(f instanceof FS.ErrnoError))&&abort(f),-f.errno}}function _typeModule(i){var u=[[0,1,"X"],[1,1,"const X"],[128,1,"X *"],[256,1,"X &"],[384,1,"X &&"],[512,1,"std::shared_ptr"],[640,1,"std::unique_ptr"],[5120,1,"std::vector"],[6144,2,"std::array"],[9216,-1,"std::function"]];function f(x,D,L,N,j,$){if(D==1){var h=N&896;(h==128||h==256||h==384)&&(x="X const")}var re;return $?re=L.replace("X",x).replace("Y",j):re=x.replace("X",L).replace("Y",j),re.replace(/([*&]) (?=[*&])/g,"$1")}function c(x,D,L,N,j){throw new Error(x+" type "+L.replace("X",D+"?")+(N?" with flag "+N:"")+" in "+j)}function g(x,D,L,N,j,$,h,re){$===void 0&&($="X"),re===void 0&&(re=1);var ce=L(x);if(ce)return ce;var Q=N(x),oe=Q.placeholderFlag,Se=u[oe];h&&Se&&($=f(h[2],h[0],$,Se[0],"?",!0));var me;oe==0&&(me="Unbound"),oe>=10&&(me="Corrupt"),re>20&&(me="Deeply nested"),me&&c(me,x,$,oe,j||"?");var De=Q.paramList[0],J=g(De,D,L,N,j,$,Se,re+1),Te,Oe={flags:Se[0],id:x,name:"",paramList:[J]},Le=[],ot="?";switch(Q.placeholderFlag){case 1:Te=J.spec;break;case 2:if((J.flags&15360)==1024&&J.spec.ptrSize==1){Oe.flags=7168;break}case 3:case 6:case 5:Te=J.spec,(J.flags&15360)!=2048;break;case 8:ot=""+Q.paramList[1],Oe.paramList.push(Q.paramList[1]);break;case 9:for(var ct=0,Ue=Q.paramList[1];ct>2]=i),i}function _llvm_stacksave(){var i=_llvm_stacksave;return i.LLVM_SAVEDSTACKS||(i.LLVM_SAVEDSTACKS=[]),i.LLVM_SAVEDSTACKS.push(Runtime.stackSave()),i.LLVM_SAVEDSTACKS.length-1}function ___syscall140(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.getStreamFromFD(),c=SYSCALLS.get(),g=SYSCALLS.get(),t=SYSCALLS.get(),C=SYSCALLS.get(),A=g;return FS.llseek(f,A,C),HEAP32[t>>2]=f.position,f.getdents&&A===0&&C===0&&(f.getdents=null),0}catch(x){return(typeof FS=="undefined"||!(x instanceof FS.ErrnoError))&&abort(x),-x.errno}}function ___syscall146(i,u){SYSCALLS.varargs=u;try{var f=SYSCALLS.get(),c=SYSCALLS.get(),g=SYSCALLS.get(),t=0;___syscall146.buffer||(___syscall146.buffers=[null,[],[]],___syscall146.printChar=function(L,N){var j=___syscall146.buffers[L];assert(j),N===0||N===10?((L===1?Module.print:Module.printErr)(UTF8ArrayToString(j,0)),j.length=0):j.push(N)});for(var C=0;C>2],x=HEAP32[c+(C*8+4)>>2],D=0;Di.pageSize/2||u>i.pageSize-f){var c=_nbind.typeNameTbl.NBind.proto;return c.lalloc(u)}else return HEAPU32[i.usedPtr]=f+u,i.rootPtr+f},i.lreset=function(u,f){var c=HEAPU32[i.pagePtr];if(c){var g=_nbind.typeNameTbl.NBind.proto;g.lreset(u,f)}else HEAPU32[i.usedPtr]=u},i}();_nbind.Pool=Pool;function constructType(i,u){var f=i==10240?_nbind.makeTypeNameTbl[u.name]||_nbind.BindType:_nbind.makeTypeKindTbl[i],c=new f(u);return typeIdTbl[u.id]=c,_nbind.typeNameTbl[u.name]=c,c}_nbind.constructType=constructType;function getType(i){return typeIdTbl[i]}_nbind.getType=getType;function queryType(i){var u=HEAPU8[i],f=_nbind.structureList[u][1];i/=4,f<0&&(++i,f=HEAPU32[i]+1);var c=Array.prototype.slice.call(HEAPU32.subarray(i+1,i+1+f));return u==9&&(c=[c[0],c.slice(1)]),{paramList:c,placeholderFlag:u}}_nbind.queryType=queryType;function getTypes(i,u){return i.map(function(f){return typeof f=="number"?_nbind.getComplexType(f,constructType,getType,queryType,u):_nbind.typeNameTbl[f]})}_nbind.getTypes=getTypes;function readTypeIdList(i,u){return Array.prototype.slice.call(HEAPU32,i/4,i/4+u)}_nbind.readTypeIdList=readTypeIdList;function readAsciiString(i){for(var u=i;HEAPU8[u++];);return String.fromCharCode.apply("",HEAPU8.subarray(i,u-1))}_nbind.readAsciiString=readAsciiString;function readPolicyList(i){var u={};if(i)for(;;){var f=HEAPU32[i/4];if(!f)break;u[readAsciiString(f)]=!0,i+=4}return u}_nbind.readPolicyList=readPolicyList;function getDynCall(i,u){var f={float32_t:"d",float64_t:"d",int64_t:"d",uint64_t:"d",void:"v"},c=i.map(function(t){return f[t.name]||"i"}).join(""),g=Module["dynCall_"+c];if(!g)throw new Error("dynCall_"+c+" not found for "+u+"("+i.map(function(t){return t.name}).join(", ")+")");return g}_nbind.getDynCall=getDynCall;function addMethod(i,u,f,c){var g=i[u];i.hasOwnProperty(u)&&g?((g.arity||g.arity===0)&&(g=_nbind.makeOverloader(g,g.arity),i[u]=g),g.addMethod(f,c)):(f.arity=c,i[u]=f)}_nbind.addMethod=addMethod;function throwError(i){throw new Error(i)}_nbind.throwError=throwError,_nbind.bigEndian=!1,_a=_typeModule(_typeModule),_nbind.Type=_a.Type,_nbind.makeType=_a.makeType,_nbind.getComplexType=_a.getComplexType,_nbind.structureList=_a.structureList;var BindType=function(i){__extends(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.heap=HEAPU32,f.ptrSize=4,f}return u.prototype.needsWireRead=function(f){return!!this.wireRead||!!this.makeWireRead},u.prototype.needsWireWrite=function(f){return!!this.wireWrite||!!this.makeWireWrite},u}(_nbind.Type);_nbind.BindType=BindType;var PrimitiveType=function(i){__extends(u,i);function u(f){var c=i.call(this,f)||this,g=f.flags&32?{32:HEAPF32,64:HEAPF64}:f.flags&8?{8:HEAPU8,16:HEAPU16,32:HEAPU32}:{8:HEAP8,16:HEAP16,32:HEAP32};return c.heap=g[f.ptrSize*8],c.ptrSize=f.ptrSize,c}return u.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},u.prototype.makeWireWrite=function(f,c){return c&&c.Strict&&function(g){if(typeof g=="number")return g;throw new Error("Type mismatch")}},u}(BindType);_nbind.PrimitiveType=PrimitiveType;function pushCString(i,u){if(i==null){if(u&&u.Nullable)return 0;throw new Error("Type mismatch")}if(u&&u.Strict){if(typeof i!="string")throw new Error("Type mismatch")}else i=i.toString();var f=Module.lengthBytesUTF8(i)+1,c=_nbind.Pool.lalloc(f);return Module.stringToUTF8Array(i,HEAPU8,c,f),c}_nbind.pushCString=pushCString;function popCString(i){return i===0?null:Module.Pointer_stringify(i)}_nbind.popCString=popCString;var CStringType=function(i){__extends(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=popCString,f.wireWrite=pushCString,f.readResources=[_nbind.resources.pool],f.writeResources=[_nbind.resources.pool],f}return u.prototype.makeWireWrite=function(f,c){return function(g){return pushCString(g,c)}},u}(BindType);_nbind.CStringType=CStringType;var BooleanType=function(i){__extends(u,i);function u(){var f=i!==null&&i.apply(this,arguments)||this;return f.wireRead=function(c){return!!c},f}return u.prototype.needsWireWrite=function(f){return!!f&&!!f.Strict},u.prototype.makeWireRead=function(f){return"!!("+f+")"},u.prototype.makeWireWrite=function(f,c){return c&&c.Strict&&function(g){if(typeof g=="boolean")return g;throw new Error("Type mismatch")}||f},u}(BindType);_nbind.BooleanType=BooleanType;var Wrapper=function(){function i(){}return i.prototype.persist=function(){this.__nbindState|=1},i}();_nbind.Wrapper=Wrapper;function makeBound(i,u){var f=function(c){__extends(g,c);function g(t,C,A,x){var D=c.call(this)||this;if(!(D instanceof g))return new(Function.prototype.bind.apply(g,Array.prototype.concat.apply([null],arguments)));var L=C,N=A,j=x;if(t!==_nbind.ptrMarker){var $=D.__nbindConstructor.apply(D,arguments);L=4096|512,j=HEAPU32[$/4],N=HEAPU32[$/4+1]}var h={configurable:!0,enumerable:!1,value:null,writable:!1},re={__nbindFlags:L,__nbindPtr:N};j&&(re.__nbindShared=j,_nbind.mark(D));for(var ce=0,Q=Object.keys(re);ce>=1;var f=_nbind.valueList[i];return _nbind.valueList[i]=firstFreeValue,firstFreeValue=i,f}else{if(u)return _nbind.popShared(i,u);throw new Error("Invalid value slot "+i)}}_nbind.popValue=popValue;var valueBase=18446744073709552e3;function push64(i){return typeof i=="number"?i:pushValue(i)*4096+valueBase}function pop64(i){return i=3?C=Buffer.from(t):C=new Buffer(t),C.copy(c)}else getBuffer(c).set(t)}}_nbind.commitBuffer=commitBuffer;var dirtyList=[],gcTimer=0;function sweep(){for(var i=0,u=dirtyList;i>2]=DYNAMIC_BASE,staticSealed=!0;function invoke_viiiii(i,u,f,c,g,t){try{Module.dynCall_viiiii(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_vif(i,u,f){try{Module.dynCall_vif(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_vid(i,u,f){try{Module.dynCall_vid(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_fiff(i,u,f,c){try{return Module.dynCall_fiff(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_vi(i,u){try{Module.dynCall_vi(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_vii(i,u,f){try{Module.dynCall_vii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_ii(i,u){try{return Module.dynCall_ii(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_viddi(i,u,f,c,g){try{Module.dynCall_viddi(i,u,f,c,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_vidd(i,u,f,c){try{Module.dynCall_vidd(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_iiii(i,u,f,c){try{return Module.dynCall_iiii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_diii(i,u,f,c){try{return Module.dynCall_diii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_di(i,u){try{return Module.dynCall_di(i,u)}catch(f){if(typeof f!="number"&&f!=="longjmp")throw f;Module.setThrew(1,0)}}function invoke_iid(i,u,f){try{return Module.dynCall_iid(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_iii(i,u,f){try{return Module.dynCall_iii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiddi(i,u,f,c,g,t){try{Module.dynCall_viiddi(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_viiiiii(i,u,f,c,g,t,C){try{Module.dynCall_viiiiii(i,u,f,c,g,t,C)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_dii(i,u,f){try{return Module.dynCall_dii(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_i(i){try{return Module.dynCall_i(i)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_iiiiii(i,u,f,c,g,t){try{return Module.dynCall_iiiiii(i,u,f,c,g,t)}catch(C){if(typeof C!="number"&&C!=="longjmp")throw C;Module.setThrew(1,0)}}function invoke_viiid(i,u,f,c,g){try{Module.dynCall_viiid(i,u,f,c,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}function invoke_viififi(i,u,f,c,g,t,C){try{Module.dynCall_viififi(i,u,f,c,g,t,C)}catch(A){if(typeof A!="number"&&A!=="longjmp")throw A;Module.setThrew(1,0)}}function invoke_viii(i,u,f,c){try{Module.dynCall_viii(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_v(i){try{Module.dynCall_v(i)}catch(u){if(typeof u!="number"&&u!=="longjmp")throw u;Module.setThrew(1,0)}}function invoke_viid(i,u,f,c){try{Module.dynCall_viid(i,u,f,c)}catch(g){if(typeof g!="number"&&g!=="longjmp")throw g;Module.setThrew(1,0)}}function invoke_idd(i,u,f){try{return Module.dynCall_idd(i,u,f)}catch(c){if(typeof c!="number"&&c!=="longjmp")throw c;Module.setThrew(1,0)}}function invoke_viiii(i,u,f,c,g){try{Module.dynCall_viiii(i,u,f,c,g)}catch(t){if(typeof t!="number"&&t!=="longjmp")throw t;Module.setThrew(1,0)}}Module.asmGlobalArg={Math,Int8Array,Int16Array,Int32Array,Uint8Array,Uint16Array,Uint32Array,Float32Array,Float64Array,NaN:NaN,Infinity:Infinity},Module.asmLibraryArg={abort,assert,enlargeMemory,getTotalMemory,abortOnCannotGrowMemory,invoke_viiiii,invoke_vif,invoke_vid,invoke_fiff,invoke_vi,invoke_vii,invoke_ii,invoke_viddi,invoke_vidd,invoke_iiii,invoke_diii,invoke_di,invoke_iid,invoke_iii,invoke_viiddi,invoke_viiiiii,invoke_dii,invoke_i,invoke_iiiiii,invoke_viiid,invoke_viififi,invoke_viii,invoke_v,invoke_viid,invoke_idd,invoke_viiii,_emscripten_asm_const_iiiii,_emscripten_asm_const_iiidddddd,_emscripten_asm_const_iiiid,__nbind_reference_external,_emscripten_asm_const_iiiiiiii,_removeAccessorPrefix,_typeModule,__nbind_register_pool,__decorate,_llvm_stackrestore,___cxa_atexit,__extends,__nbind_get_value_object,__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,_emscripten_set_main_loop_timing,__nbind_register_primitive,__nbind_register_type,_emscripten_memcpy_big,__nbind_register_function,___setErrNo,__nbind_register_class,__nbind_finish,_abort,_nbind_value,_llvm_stacksave,___syscall54,_defineHidden,_emscripten_set_main_loop,_emscripten_get_now,__nbind_register_callback_signature,_emscripten_asm_const_iiiiii,__nbind_free_external,_emscripten_asm_const_iiii,_emscripten_asm_const_iiididi,___syscall6,_atexit,___syscall140,___syscall146,DYNAMICTOP_PTR,tempDoublePtr,ABORT,STACKTOP,STACK_MAX,cttz_i8,___dso_handle};var asm=function(i,u,f){var c=new i.Int8Array(f),g=new i.Int16Array(f),t=new i.Int32Array(f),C=new i.Uint8Array(f),A=new i.Uint16Array(f),x=new i.Uint32Array(f),D=new i.Float32Array(f),L=new i.Float64Array(f),N=u.DYNAMICTOP_PTR|0,j=u.tempDoublePtr|0,$=u.ABORT|0,h=u.STACKTOP|0,re=u.STACK_MAX|0,ce=u.cttz_i8|0,Q=u.___dso_handle|0,oe=0,Se=0,me=0,De=0,J=i.NaN,Te=i.Infinity,Oe=0,Le=0,ot=0,ct=0,Ue=0,be=0,At=i.Math.floor,Ot=i.Math.abs,Nt=i.Math.sqrt,Je=i.Math.pow,V=i.Math.cos,ne=i.Math.sin,ge=i.Math.tan,Z=i.Math.acos,Ae=i.Math.asin,at=i.Math.atan,it=i.Math.atan2,Ft=i.Math.exp,jt=i.Math.log,hn=i.Math.ceil,Un=i.Math.imul,Jt=i.Math.min,Yt=i.Math.max,cr=i.Math.clz32,w=i.Math.fround,pt=u.abort,Mn=u.assert,Bn=u.enlargeMemory,Xn=u.getTotalMemory,vr=u.abortOnCannotGrowMemory,gr=u.invoke_viiiii,r0=u.invoke_vif,Ci=u.invoke_vid,yo=u.invoke_fiff,Ds=u.invoke_vi,Mu=u.invoke_vii,Gf=u.invoke_ii,iu=u.invoke_viddi,ou=u.invoke_vidd,ol=u.invoke_iiii,ul=u.invoke_diii,Es=u.invoke_di,Uo=u.invoke_iid,sl=u.invoke_iii,Ss=u.invoke_viiddi,Cs=u.invoke_viiiiii,Ti=u.invoke_dii,Fu=u.invoke_i,ll=u.invoke_iiiiii,fl=u.invoke_viiid,cl=u.invoke_viififi,al=u.invoke_viii,Ui=u.invoke_v,Mr=u.invoke_viid,Ac=u.invoke_idd,of=u.invoke_viiii,Ts=u._emscripten_asm_const_iiiii,xs=u._emscripten_asm_const_iiidddddd,dl=u._emscripten_asm_const_iiiid,qi=u.__nbind_reference_external,qo=u._emscripten_asm_const_iiiiiiii,kr=u._removeAccessorPrefix,Fr=u._typeModule,si=u.__nbind_register_pool,H0=u.__decorate,b0=u._llvm_stackrestore,Bt=u.___cxa_atexit,Lu=u.__extends,c0=u.__nbind_get_value_object,Ru=u.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj,ks=u._emscripten_set_main_loop_timing,As=u.__nbind_register_primitive,uu=u.__nbind_register_type,wo=u._emscripten_memcpy_big,zo=u.__nbind_register_function,Os=u.___setErrNo,Is=u.__nbind_register_class,uf=u.__nbind_finish,_n=u._abort,Nu=u._nbind_value,Wo=u._llvm_stacksave,su=u.___syscall54,Ps=u._defineHidden,pl=u._emscripten_set_main_loop,Vf=u._emscripten_get_now,hl=u.__nbind_register_callback_signature,Bu=u._emscripten_asm_const_iiiiii,ju=u.__nbind_free_external,sf=u._emscripten_asm_const_iiii,ro=u._emscripten_asm_const_iiididi,Ms=u.___syscall6,ml=u._atexit,Uu=u.___syscall140,G0=u.___syscall146,Fs=w(0);let tt=w(0);function zi(e){e=e|0;var n=0;return n=h,h=h+e|0,h=h+15&-16,n|0}function lu(){return h|0}function Ho(e){e=e|0,h=e}function O0(e,n){e=e|0,n=n|0,h=e,re=n}function vl(e,n){e=e|0,n=n|0,oe||(oe=e,Se=n)}function gl(e){e=e|0,be=e}function fu(){return be|0}function _l(){var e=0,n=0;vn(8104,8,400)|0,vn(8504,408,540)|0,e=9044,n=e+44|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));c[9088]=0,c[9089]=1,t[2273]=0,t[2274]=948,t[2275]=948,Bt(17,8104,Q|0)|0}function Sn(e){e=e|0,lf(e+948|0)}function gt(e){return e=w(e),((Ar(e)|0)&2147483647)>>>0>2139095040|0}function en(e,n,r){e=e|0,n=n|0,r=r|0;e:do if(t[e+(n<<3)+4>>2]|0)e=e+(n<<3)|0;else{if((n|2|0)==3?t[e+60>>2]|0:0){e=e+56|0;break}switch(n|0){case 0:case 2:case 4:case 5:{if(t[e+52>>2]|0){e=e+48|0;break e}break}default:}if(t[e+68>>2]|0){e=e+64|0;break}else{e=(n|1|0)==5?948:r;break}}while(0);return e|0}function I0(e){e=e|0;var n=0;return n=uh(1e3)|0,li(e,(n|0)!=0,2456),t[2276]=(t[2276]|0)+1,vn(n|0,8104,1e3)|0,c[e+2>>0]|0&&(t[n+4>>2]=2,t[n+12>>2]=4),t[n+976>>2]=e,n|0}function li(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=h,h=h+16|0,o=s,n||(t[o>>2]=r,zs(e,5,3197,o)),h=s}function qu(){return I0(956)|0}function Wi(e){e=e|0;var n=0;return n=Tt(1e3)|0,zu(n,e),li(t[e+976>>2]|0,1,2456),t[2276]=(t[2276]|0)+1,t[n+944>>2]=0,n|0}function zu(e,n){e=e|0,n=n|0;var r=0;vn(e|0,n|0,948)|0,af(e+948|0,n+948|0),r=e+960|0,e=n+960|0,n=r+40|0;do t[r>>2]=t[e>>2],r=r+4|0,e=e+4|0;while((r|0)<(n|0))}function Wu(e){e=e|0;var n=0,r=0,o=0,s=0;if(n=e+944|0,r=t[n>>2]|0,r|0&&(Ls(r+948|0,e)|0,t[n>>2]=0),r=fi(e)|0,r|0){n=0;do t[(e0(e,n)|0)+944>>2]=0,n=n+1|0;while((n|0)!=(r|0))}r=e+948|0,o=t[r>>2]|0,s=e+952|0,n=t[s>>2]|0,(n|0)!=(o|0)&&(t[s>>2]=n+(~((n+-4-o|0)>>>2)<<2)),io(r),sh(e),t[2276]=(t[2276]|0)+-1}function Ls(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0;o=t[e>>2]|0,_=e+4|0,r=t[_>>2]|0,l=r;e:do if((o|0)==(r|0))s=o,d=4;else for(e=o;;){if((t[e>>2]|0)==(n|0)){s=e,d=4;break e}if(e=e+4|0,(e|0)==(r|0)){e=0;break}}while(0);return(d|0)==4&&((s|0)!=(r|0)?(o=s+4|0,e=l-o|0,n=e>>2,n&&(Y1(s|0,o|0,e|0)|0,r=t[_>>2]|0),e=s+(n<<2)|0,(r|0)==(e|0)||(t[_>>2]=r+(~((r+-4-e|0)>>>2)<<2)),e=1):e=0),e|0}function fi(e){return e=e|0,(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2|0}function e0(e,n){e=e|0,n=n|0;var r=0;return r=t[e+948>>2]|0,(t[e+952>>2]|0)-r>>2>>>0>n>>>0?e=t[r+(n<<2)>>2]|0:e=0,e|0}function io(e){e=e|0;var n=0,r=0,o=0,s=0;o=h,h=h+32|0,n=o,s=t[e>>2]|0,r=(t[e+4>>2]|0)-s|0,((t[e+8>>2]|0)-s|0)>>>0>r>>>0&&(s=r>>2,z(n,s,s,e+8|0),dr(e,n),Or(n)),h=o}function D0(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;k=fi(e)|0;do if(k|0){if((t[(e0(e,0)|0)+944>>2]|0)==(e|0)){if(!(Ls(e+948|0,n)|0))break;vn(n+400|0,8504,540)|0,t[n+944>>2]=0,ln(e);break}d=t[(t[e+976>>2]|0)+12>>2]|0,_=e+948|0,y=(d|0)==0,r=0,l=0;do o=t[(t[_>>2]|0)+(l<<2)>>2]|0,(o|0)==(n|0)?ln(e):(s=Wi(o)|0,t[(t[_>>2]|0)+(r<<2)>>2]=s,t[s+944>>2]=e,y||Q4[d&15](o,s,e,r),r=r+1|0),l=l+1|0;while((l|0)!=(k|0));if(r>>>0>>0){y=e+948|0,_=e+952|0,d=r,r=t[_>>2]|0;do l=(t[y>>2]|0)+(d<<2)|0,o=l+4|0,s=r-o|0,n=s>>2,n&&(Y1(l|0,o|0,s|0)|0,r=t[_>>2]|0),s=r,o=l+(n<<2)|0,(s|0)!=(o|0)&&(r=s+(~((s+-4-o|0)>>>2)<<2)|0,t[_>>2]=r),d=d+1|0;while((d|0)!=(k|0))}}while(0)}function Do(e){e=e|0;var n=0,r=0,o=0,s=0;i0(e,(fi(e)|0)==0,2491),i0(e,(t[e+944>>2]|0)==0,2545),n=e+948|0,r=t[n>>2]|0,o=e+952|0,s=t[o>>2]|0,(s|0)!=(r|0)&&(t[o>>2]=s+(~((s+-4-r|0)>>>2)<<2)),io(n),n=e+976|0,r=t[n>>2]|0,vn(e|0,8104,1e3)|0,c[r+2>>0]|0&&(t[e+4>>2]=2,t[e+12>>2]=4),t[n>>2]=r}function i0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;s=h,h=h+16|0,o=s,n||(t[o>>2]=r,wn(e,5,3197,o)),h=s}function Rs(){return t[2276]|0}function a0(){var e=0;return e=uh(20)|0,Hu((e|0)!=0,2592),t[2277]=(t[2277]|0)+1,t[e>>2]=t[239],t[e+4>>2]=t[240],t[e+8>>2]=t[241],t[e+12>>2]=t[242],t[e+16>>2]=t[243],e|0}function Hu(e,n){e=e|0,n=n|0;var r=0,o=0;o=h,h=h+16|0,r=o,e||(t[r>>2]=n,wn(0,5,3197,r)),h=o}function V0(e){e=e|0,sh(e),t[2277]=(t[2277]|0)+-1}function bu(e,n){e=e|0,n=n|0;var r=0;n?(i0(e,(fi(e)|0)==0,2629),r=1):(r=0,n=0),t[e+964>>2]=n,t[e+988>>2]=r}function Ns(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,l=o+8|0,s=o+4|0,d=o,t[s>>2]=n,i0(e,(t[n+944>>2]|0)==0,2709),i0(e,(t[e+964>>2]|0)==0,2763),bo(e),n=e+948|0,t[d>>2]=(t[n>>2]|0)+(r<<2),t[l>>2]=t[d>>2],P0(n,l,s)|0,t[(t[s>>2]|0)+944>>2]=e,ln(e),h=o}function bo(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;if(r=fi(e)|0,r|0?(t[(e0(e,0)|0)+944>>2]|0)!=(e|0):0){o=t[(t[e+976>>2]|0)+12>>2]|0,s=e+948|0,l=(o|0)==0,n=0;do d=t[(t[s>>2]|0)+(n<<2)>>2]|0,_=Wi(d)|0,t[(t[s>>2]|0)+(n<<2)>>2]=_,t[_+944>>2]=e,l||Q4[o&15](d,_,e,n),n=n+1|0;while((n|0)!=(r|0))}}function P0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0;Pe=h,h=h+64|0,P=Pe+52|0,_=Pe+48|0,q=Pe+28|0,we=Pe+24|0,le=Pe+20|0,ie=Pe,o=t[e>>2]|0,l=o,n=o+((t[n>>2]|0)-l>>2<<2)|0,o=e+4|0,s=t[o>>2]|0,d=e+8|0;do if(s>>>0<(t[d>>2]|0)>>>0){if((n|0)==(s|0)){t[n>>2]=t[r>>2],t[o>>2]=(t[o>>2]|0)+4;break}Qn(e,n,s,n+4|0),n>>>0<=r>>>0&&(r=(t[o>>2]|0)>>>0>r>>>0?r+4|0:r),t[n>>2]=t[r>>2]}else{o=(s-l>>2)+1|0,s=Q0(e)|0,s>>>0>>0&&$n(e),T=t[e>>2]|0,k=(t[d>>2]|0)-T|0,l=k>>1,z(ie,k>>2>>>0>>1>>>0?l>>>0>>0?o:l:s,n-T>>2,e+8|0),T=ie+8|0,o=t[T>>2]|0,l=ie+12|0,k=t[l>>2]|0,d=k,y=o;do if((o|0)==(k|0)){if(k=ie+4|0,o=t[k>>2]|0,ke=t[ie>>2]|0,s=ke,o>>>0<=ke>>>0){o=d-s>>1,o=(o|0)==0?1:o,z(q,o,o>>>2,t[ie+16>>2]|0),t[we>>2]=t[k>>2],t[le>>2]=t[T>>2],t[_>>2]=t[we>>2],t[P>>2]=t[le>>2],s0(q,_,P),o=t[ie>>2]|0,t[ie>>2]=t[q>>2],t[q>>2]=o,o=q+4|0,ke=t[k>>2]|0,t[k>>2]=t[o>>2],t[o>>2]=ke,o=q+8|0,ke=t[T>>2]|0,t[T>>2]=t[o>>2],t[o>>2]=ke,o=q+12|0,ke=t[l>>2]|0,t[l>>2]=t[o>>2],t[o>>2]=ke,Or(q),o=t[T>>2]|0;break}l=o,d=((l-s>>2)+1|0)/-2|0,_=o+(d<<2)|0,s=y-l|0,l=s>>2,l&&(Y1(_|0,o|0,s|0)|0,o=t[k>>2]|0),ke=_+(l<<2)|0,t[T>>2]=ke,t[k>>2]=o+(d<<2),o=ke}while(0);t[o>>2]=t[r>>2],t[T>>2]=(t[T>>2]|0)+4,n=nn(e,ie,n)|0,Or(ie)}while(0);return h=Pe,n|0}function ln(e){e=e|0;var n=0;do{if(n=e+984|0,c[n>>0]|0)break;c[n>>0]=1,D[e+504>>2]=w(J),e=t[e+944>>2]|0}while((e|0)!=0)}function lf(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function nr(e){return e=e|0,t[e+944>>2]|0}function rr(e){e=e|0,i0(e,(t[e+964>>2]|0)!=0,2832),ln(e)}function Go(e){return e=e|0,(c[e+984>>0]|0)!=0|0}function Gu(e,n){e=e|0,n=n|0,fL(e,n,400)|0&&(vn(e|0,n|0,400)|0,ln(e))}function yl(e){e=e|0;var n=tt;return n=w(D[e+44>>2]),e=gt(n)|0,w(e?w(0):n)}function cu(e){e=e|0;var n=tt;return n=w(D[e+48>>2]),gt(n)|0&&(n=c[(t[e+976>>2]|0)+2>>0]|0?w(1):w(0)),w(n)}function Bs(e,n){e=e|0,n=n|0,t[e+980>>2]=n}function Vu(e){return e=e|0,t[e+980>>2]|0}function M0(e,n){e=e|0,n=n|0;var r=0;r=e+4|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function au(e){return e=e|0,t[e+4>>2]|0}function Lr(e,n){e=e|0,n=n|0;var r=0;r=e+8|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function F(e){return e=e|0,t[e+8>>2]|0}function R(e,n){e=e|0,n=n|0;var r=0;r=e+12|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function U(e){return e=e|0,t[e+12>>2]|0}function H(e,n){e=e|0,n=n|0;var r=0;r=e+16|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function fe(e){return e=e|0,t[e+16>>2]|0}function ue(e,n){e=e|0,n=n|0;var r=0;r=e+20|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function de(e){return e=e|0,t[e+20>>2]|0}function W(e,n){e=e|0,n=n|0;var r=0;r=e+24|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function ve(e){return e=e|0,t[e+24>>2]|0}function Fe(e,n){e=e|0,n=n|0;var r=0;r=e+28|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function Ge(e){return e=e|0,t[e+28>>2]|0}function K(e,n){e=e|0,n=n|0;var r=0;r=e+32|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function xe(e){return e=e|0,t[e+32>>2]|0}function je(e,n){e=e|0,n=n|0;var r=0;r=e+36|0,(t[r>>2]|0)!=(n|0)&&(t[r>>2]=n,ln(e))}function Xe(e){return e=e|0,t[e+36>>2]|0}function rt(e,n){e=e|0,n=w(n);var r=0;r=e+40|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function st(e,n){e=e|0,n=w(n);var r=0;r=e+44|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function xt(e,n){e=e|0,n=w(n);var r=0;r=e+48|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function wt(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+52|0,s=e+56|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function lt(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+52|0,r=e+56|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function Rt(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+52|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function yn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function sn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+132+(n<<3)|0,n=e+132+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function ar(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+132+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function rn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Hn(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+60+(n<<3)|0,n=e+60+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function d0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+60+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function Cr(e,n){e=e|0,n=n|0;var r=0;r=e+60+(n<<3)+4|0,(t[r>>2]|0)!=3&&(D[e+60+(n<<3)>>2]=w(J),t[r>>2]=3,ln(e))}function He(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Qe(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=l?0:2,s=e+204+(n<<3)|0,n=e+204+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function Ne(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=n+204+(r<<3)|0,n=t[o+4>>2]|0,r=e,t[r>>2]=t[o>>2],t[r+4>>2]=n}function ft(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0,l=0;l=gt(r)|0,o=(l^1)&1,s=e+276+(n<<3)|0,n=e+276+(n<<3)+4|0,(l|w(D[s>>2])==r?(t[n>>2]|0)==(o|0):0)||(D[s>>2]=r,t[n>>2]=o,ln(e))}function St(e,n){return e=e|0,n=n|0,w(D[e+276+(n<<3)>>2])}function Qt(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+348|0,s=e+352|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Cn(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+348|0,r=e+352|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function bn(e){e=e|0;var n=0;n=e+352|0,(t[n>>2]|0)!=3&&(D[e+348>>2]=w(J),t[n>>2]=3,ln(e))}function p0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+348|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function h0(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+356|0,s=e+360|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function ci(e,n){e=e|0,n=w(n);var r=0,o=0;o=e+356|0,r=e+360|0,(w(D[o>>2])==n?(t[r>>2]|0)==2:0)||(D[o>>2]=n,o=gt(n)|0,t[r>>2]=o?3:2,ln(e))}function xi(e){e=e|0;var n=0;n=e+360|0,(t[n>>2]|0)!=3&&(D[e+356>>2]=w(J),t[n>>2]=3,ln(e))}function E0(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+356|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function qr(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+364|0,s=e+368|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Eo(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+364|0,s=e+368|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function So(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+364|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function wl(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+372|0,s=e+376|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function js(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+372|0,s=e+376|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Dl(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+372|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function du(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+380|0,s=e+384|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Yu(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+380|0,s=e+384|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Us(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+380|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function oo(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=(l^1)&1,o=e+388|0,s=e+392|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function Hi(e,n){e=e|0,n=w(n);var r=0,o=0,s=0,l=0;l=gt(n)|0,r=l?0:2,o=e+388|0,s=e+392|0,(l|w(D[o>>2])==n?(t[s>>2]|0)==(r|0):0)||(D[o>>2]=n,t[s>>2]=r,ln(e))}function qs(e,n){e=e|0,n=n|0;var r=0,o=0;o=n+388|0,r=t[o+4>>2]|0,n=e,t[n>>2]=t[o>>2],t[n+4>>2]=r}function F0(e,n){e=e|0,n=w(n);var r=0;r=e+396|0,w(D[r>>2])!=n&&(D[r>>2]=n,ln(e))}function Gr(e){return e=e|0,w(D[e+396>>2])}function ir(e){return e=e|0,w(D[e+400>>2])}function L0(e){return e=e|0,w(D[e+404>>2])}function Y0(e){return e=e|0,w(D[e+408>>2])}function Co(e){return e=e|0,w(D[e+412>>2])}function $u(e){return e=e|0,w(D[e+416>>2])}function Vo(e){return e=e|0,w(D[e+420>>2])}function Rr(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(D[e+424+(n<<2)>>2])}function Jn(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(D[e+448+(n<<2)>>2])}function ai(e,n){switch(e=e|0,n=n|0,i0(e,(n|0)<6,2918),n|0){case 0:{n=(t[e+496>>2]|0)==2?5:4;break}case 2:{n=(t[e+496>>2]|0)==2?4:5;break}default:}return w(D[e+472+(n<<2)>>2])}function o0(e,n){e=e|0,n=n|0;var r=0,o=tt;return r=t[e+4>>2]|0,(r|0)==(t[n+4>>2]|0)?r?(o=w(D[e>>2]),e=w(Ot(w(o-w(D[n>>2]))))>2]=0,t[o+4>>2]=0,t[o+8>>2]=0,Ru(o|0,e|0,n|0,0),wn(e,3,(c[o+11>>0]|0)<0?t[o>>2]|0:o,r),ML(o),h=r}function $0(e,n,r,o){e=w(e),n=w(n),r=r|0,o=o|0;var s=tt;e=w(e*n),s=w(V4(e,w(1)));do if(Vr(s,w(0))|0)e=w(e-s);else{if(e=w(e-s),Vr(s,w(1))|0){e=w(e+w(1));break}if(r){e=w(e+w(1));break}o||(s>w(.5)?s=w(1):(o=Vr(s,w(.5))|0,s=w(o?1:0)),e=w(e+s))}while(0);return w(e/n)}function K0(e,n,r,o,s,l,d,_,y,k,T,P,q){e=e|0,n=w(n),r=r|0,o=w(o),s=s|0,l=w(l),d=d|0,_=w(_),y=w(y),k=w(k),T=w(T),P=w(P),q=q|0;var we=0,le=tt,ie=tt,Pe=tt,ke=tt,qe=tt,pe=tt;return y>2]),le!=w(0)):0)?(Pe=w($0(n,le,0,0)),ke=w($0(o,le,0,0)),ie=w($0(l,le,0,0)),le=w($0(_,le,0,0))):(ie=l,Pe=n,le=_,ke=o),(s|0)==(e|0)?we=Vr(ie,Pe)|0:we=0,(d|0)==(r|0)?q=Vr(le,ke)|0:q=0,((we?0:(qe=w(n-T),!(ae(e,qe,y)|0)))?!(Be(e,qe,s,y)|0):0)?we=Ie(e,qe,s,l,y)|0:we=1,((q?0:(pe=w(o-P),!(ae(r,pe,k)|0)))?!(Be(r,pe,d,k)|0):0)?q=Ie(r,pe,d,_,k)|0:q=1,q=we&q),q|0}function ae(e,n,r){return e=e|0,n=w(n),r=w(r),(e|0)==1?e=Vr(n,r)|0:e=0,e|0}function Be(e,n,r,o){return e=e|0,n=w(n),r=r|0,o=w(o),(e|0)==2&(r|0)==0?n>=o?e=1:e=Vr(n,o)|0:e=0,e|0}function Ie(e,n,r,o,s){return e=e|0,n=w(n),r=r|0,o=w(o),s=w(s),(e|0)==2&(r|0)==2&o>n?s<=n?e=1:e=Vr(n,s)|0:e=0,e|0}function ht(e,n,r,o,s,l,d,_,y,k,T){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0,d=w(d),_=w(_),y=y|0,k=k|0,T=T|0;var P=0,q=0,we=0,le=0,ie=tt,Pe=tt,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=tt,Ki=tt,Xi=tt,Ji=0,Ro=0;zt=h,h=h+160|0,It=zt+152|0,Ht=zt+120|0,Ln=zt+104|0,pe=zt+72|0,le=zt+56|0,vt=zt+8|0,qe=zt,_e=(t[2279]|0)+1|0,t[2279]=_e,gn=e+984|0,((c[gn>>0]|0)!=0?(t[e+512>>2]|0)!=(t[2278]|0):0)?ke=4:(t[e+516>>2]|0)==(o|0)?Pn=0:ke=4,(ke|0)==4&&(t[e+520>>2]=0,t[e+924>>2]=-1,t[e+928>>2]=-1,D[e+932>>2]=w(-1),D[e+936>>2]=w(-1),Pn=1);e:do if(t[e+964>>2]|0)if(ie=w(mt(e,2,d)),Pe=w(mt(e,0,d)),P=e+916|0,Xi=w(D[P>>2]),Ki=w(D[e+920>>2]),Dr=w(D[e+932>>2]),K0(s,n,l,r,t[e+924>>2]|0,Xi,t[e+928>>2]|0,Ki,Dr,w(D[e+936>>2]),ie,Pe,T)|0)ke=22;else if(we=t[e+520>>2]|0,!we)ke=21;else for(q=0;;){if(P=e+524+(q*24|0)|0,Dr=w(D[P>>2]),Ki=w(D[e+524+(q*24|0)+4>>2]),Xi=w(D[e+524+(q*24|0)+16>>2]),K0(s,n,l,r,t[e+524+(q*24|0)+8>>2]|0,Dr,t[e+524+(q*24|0)+12>>2]|0,Ki,Xi,w(D[e+524+(q*24|0)+20>>2]),ie,Pe,T)|0){ke=22;break e}if(q=q+1|0,q>>>0>=we>>>0){ke=21;break}}else{if(y){if(P=e+916|0,!(Vr(w(D[P>>2]),n)|0)){ke=21;break}if(!(Vr(w(D[e+920>>2]),r)|0)){ke=21;break}if((t[e+924>>2]|0)!=(s|0)){ke=21;break}P=(t[e+928>>2]|0)==(l|0)?P:0,ke=22;break}if(we=t[e+520>>2]|0,!we)ke=21;else for(q=0;;){if(P=e+524+(q*24|0)|0,((Vr(w(D[P>>2]),n)|0?Vr(w(D[e+524+(q*24|0)+4>>2]),r)|0:0)?(t[e+524+(q*24|0)+8>>2]|0)==(s|0):0)?(t[e+524+(q*24|0)+12>>2]|0)==(l|0):0){ke=22;break e}if(q=q+1|0,q>>>0>=we>>>0){ke=21;break}}}while(0);do if((ke|0)==21)c[11697]|0?(P=0,ke=28):(P=0,ke=31);else if((ke|0)==22){if(q=(c[11697]|0)!=0,!((P|0)!=0&(Pn^1)))if(q){ke=28;break}else{ke=31;break}le=P+16|0,t[e+908>>2]=t[le>>2],we=P+20|0,t[e+912>>2]=t[we>>2],(c[11698]|0)==0|q^1||(t[qe>>2]=Gn(_e)|0,t[qe+4>>2]=_e,wn(e,4,2972,qe),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),s=$t(s,y)|0,l=$t(l,y)|0,Ro=+w(D[le>>2]),Ji=+w(D[we>>2]),t[vt>>2]=s,t[vt+4>>2]=l,L[vt+8>>3]=+n,L[vt+16>>3]=+r,L[vt+24>>3]=Ro,L[vt+32>>3]=Ji,t[vt+40>>2]=k,wn(e,4,2989,vt))}while(0);return(ke|0)==28&&(q=Gn(_e)|0,t[le>>2]=q,t[le+4>>2]=_e,t[le+8>>2]=Pn?3047:11699,wn(e,4,3038,le),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),vt=$t(s,y)|0,ke=$t(l,y)|0,t[pe>>2]=vt,t[pe+4>>2]=ke,L[pe+8>>3]=+n,L[pe+16>>3]=+r,t[pe+24>>2]=k,wn(e,4,3049,pe),ke=31),(ke|0)==31&&(X0(e,n,r,o,s,l,d,_,y,T),c[11697]|0&&(q=t[2279]|0,vt=Gn(q)|0,t[Ln>>2]=vt,t[Ln+4>>2]=q,t[Ln+8>>2]=Pn?3047:11699,wn(e,4,3083,Ln),q=t[e+972>>2]|0,q|0&&Nl[q&127](e),vt=$t(s,y)|0,Ln=$t(l,y)|0,Ji=+w(D[e+908>>2]),Ro=+w(D[e+912>>2]),t[Ht>>2]=vt,t[Ht+4>>2]=Ln,L[Ht+8>>3]=Ji,L[Ht+16>>3]=Ro,t[Ht+24>>2]=k,wn(e,4,3092,Ht)),t[e+516>>2]=o,P||(q=e+520|0,P=t[q>>2]|0,(P|0)==16&&(c[11697]|0&&wn(e,4,3124,It),t[q>>2]=0,P=0),y?P=e+916|0:(t[q>>2]=P+1,P=e+524+(P*24|0)|0),D[P>>2]=n,D[P+4>>2]=r,t[P+8>>2]=s,t[P+12>>2]=l,t[P+16>>2]=t[e+908>>2],t[P+20>>2]=t[e+912>>2],P=0)),y&&(t[e+416>>2]=t[e+908>>2],t[e+420>>2]=t[e+912>>2],c[e+985>>0]=1,c[gn>>0]=0),t[2279]=(t[2279]|0)+-1,t[e+512>>2]=t[2278],h=zt,Pn|(P|0)==0|0}function mt(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(Tr(e,n,r)),w(o+w(R0(e,n,r)))}function wn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=h,h=h+16|0,s=l,t[s>>2]=o,e?o=t[e+976>>2]|0:o=0,Ku(o,e,n,r,s),h=l}function Gn(e){return e=e|0,(e>>>0>60?3201:3201+(60-e)|0)|0}function $t(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+32|0,r=s+12|0,o=s,t[r>>2]=t[254],t[r+4>>2]=t[255],t[r+8>>2]=t[256],t[o>>2]=t[257],t[o+4>>2]=t[258],t[o+8>>2]=t[259],(e|0)>2?e=11699:e=t[(n?o:r)+(e<<2)>>2]|0,h=s,e|0}function X0(e,n,r,o,s,l,d,_,y,k){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=l|0,d=w(d),_=w(_),y=y|0,k=k|0;var T=0,P=0,q=0,we=0,le=tt,ie=tt,Pe=tt,ke=tt,qe=tt,pe=tt,_e=tt,vt=0,Ln=0,Ht=0,It=tt,gn=tt,Pn=0,zt=tt,Dr=0,Ki=0,Xi=0,Ji=0,Ro=0,kf=0,Af=0,Cu=0,Of=0,Js=0,Qs=0,If=0,Pf=0,Mf=0,Kn=0,Tu=0,Ff=0,us=0,Lf=tt,Rf=tt,Zs=tt,el=tt,ss=tt,Fi=0,nu=0,go=0,xu=0,jl=0,Ul=tt,tl=tt,ql=tt,zl=tt,Li=tt,Di=tt,ku=0,xr=tt,Wl=tt,Qi=tt,ls=tt,Zi=tt,fs=tt,Hl=0,bl=0,cs=tt,Ri=tt,Au=0,Gl=0,Vl=0,Yl=0,En=tt,br=0,Ei=0,eo=0,Ni=0,xn=0,Vt=0,Ou=0,kt=tt,$l=0,Qr=0;Ou=h,h=h+16|0,Fi=Ou+12|0,nu=Ou+8|0,go=Ou+4|0,xu=Ou,i0(e,(s|0)==0|(gt(n)|0)^1,3326),i0(e,(l|0)==0|(gt(r)|0)^1,3406),Ei=so(e,o)|0,t[e+496>>2]=Ei,xn=N0(2,Ei)|0,Vt=N0(0,Ei)|0,D[e+440>>2]=w(Tr(e,xn,d)),D[e+444>>2]=w(R0(e,xn,d)),D[e+428>>2]=w(Tr(e,Vt,d)),D[e+436>>2]=w(R0(e,Vt,d)),D[e+464>>2]=w(C0(e,xn)),D[e+468>>2]=w(di(e,xn)),D[e+452>>2]=w(C0(e,Vt)),D[e+460>>2]=w(di(e,Vt)),D[e+488>>2]=w(u0(e,xn,d)),D[e+492>>2]=w(v0(e,xn,d)),D[e+476>>2]=w(u0(e,Vt,d)),D[e+484>>2]=w(v0(e,Vt,d));do if(t[e+964>>2]|0)To(e,n,r,s,l,d,_);else{if(eo=e+948|0,Ni=(t[e+952>>2]|0)-(t[eo>>2]|0)>>2,!Ni){pu(e,n,r,s,l,d,_);break}if(y?0:Sl(e,n,r,s,l,d,_)|0)break;bo(e),Tu=e+508|0,c[Tu>>0]=0,xn=N0(t[e+4>>2]|0,Ei)|0,Vt=Cl(xn,Ei)|0,br=Nr(xn)|0,Ff=t[e+8>>2]|0,Gl=e+28|0,us=(t[Gl>>2]|0)!=0,Zi=br?d:_,cs=br?_:d,Lf=w(B0(e,xn,d)),Rf=w(hu(e,xn,d)),le=w(B0(e,Vt,d)),fs=w(Fn(e,xn,d)),Ri=w(Fn(e,Vt,d)),Ht=br?s:l,Au=br?l:s,En=br?fs:Ri,qe=br?Ri:fs,ls=w(mt(e,2,d)),ke=w(mt(e,0,d)),ie=w(w(Tn(e+364|0,d))-En),Pe=w(w(Tn(e+380|0,d))-En),pe=w(w(Tn(e+372|0,_))-qe),_e=w(w(Tn(e+388|0,_))-qe),Zs=br?ie:pe,el=br?Pe:_e,ls=w(n-ls),n=w(ls-En),gt(n)|0?En=n:En=w(Ur(w(cc(n,Pe)),ie)),Wl=w(r-ke),n=w(Wl-qe),gt(n)|0?Qi=n:Qi=w(Ur(w(cc(n,_e)),pe)),ie=br?En:Qi,xr=br?Qi:En;e:do if((Ht|0)==1)for(o=0,P=0;;){if(T=e0(e,P)|0,!o)(w(Br(T))>w(0)?w(zr(T))>w(0):0)?o=T:o=0;else if(pi(T)|0){we=0;break e}if(P=P+1|0,P>>>0>=Ni>>>0){we=o;break}}else we=0;while(0);vt=we+500|0,Ln=we+504|0,o=0,T=0,n=w(0),q=0;do{if(P=t[(t[eo>>2]|0)+(q<<2)>>2]|0,(t[P+36>>2]|0)==1)lo(P),c[P+985>>0]=1,c[P+984>>0]=0;else{$r(P),y&&Yo(P,so(P,Ei)|0,ie,xr,En);do if((t[P+24>>2]|0)!=1)if((P|0)==(we|0)){t[vt>>2]=t[2278],D[Ln>>2]=w(0);break}else{wr(e,P,En,s,Qi,En,Qi,l,Ei,k);break}else T|0&&(t[T+960>>2]=P),t[P+960>>2]=0,T=P,o=(o|0)==0?P:o;while(0);Di=w(D[P+504>>2]),n=w(n+w(Di+w(mt(P,xn,En))))}q=q+1|0}while((q|0)!=(Ni|0));for(Xi=n>ie,ku=us&((Ht|0)==2&Xi)?1:Ht,Dr=(Au|0)==1,Ro=Dr&(y^1),kf=(ku|0)==1,Af=(ku|0)==2,Cu=976+(xn<<2)|0,Of=(Au|2|0)==2,Mf=Dr&(us^1),Js=1040+(Vt<<2)|0,Qs=1040+(xn<<2)|0,If=976+(Vt<<2)|0,Pf=(Au|0)!=1,Xi=us&((Ht|0)!=0&Xi),Ki=e+976|0,Dr=Dr^1,n=ie,Pn=0,Ji=0,Di=w(0),ss=w(0);;){e:do if(Pn>>>0>>0)for(Ln=t[eo>>2]|0,q=0,_e=w(0),pe=w(0),Pe=w(0),ie=w(0),P=0,T=0,we=Pn;;){if(vt=t[Ln+(we<<2)>>2]|0,(t[vt+36>>2]|0)!=1?(t[vt+940>>2]=Ji,(t[vt+24>>2]|0)!=1):0){if(ke=w(mt(vt,xn,En)),Kn=t[Cu>>2]|0,r=w(Tn(vt+380+(Kn<<3)|0,Zi)),qe=w(D[vt+504>>2]),r=w(cc(r,qe)),r=w(Ur(w(Tn(vt+364+(Kn<<3)|0,Zi)),r)),us&(q|0)!=0&w(ke+w(pe+r))>n){l=q,ke=_e,Ht=we;break e}ke=w(ke+r),r=w(pe+ke),ke=w(_e+ke),pi(vt)|0&&(Pe=w(Pe+w(Br(vt))),ie=w(ie-w(qe*w(zr(vt))))),T|0&&(t[T+960>>2]=vt),t[vt+960>>2]=0,q=q+1|0,T=vt,P=(P|0)==0?vt:P}else ke=_e,r=pe;if(we=we+1|0,we>>>0>>0)_e=ke,pe=r;else{l=q,Ht=we;break}}else l=0,ke=w(0),Pe=w(0),ie=w(0),P=0,Ht=Pn;while(0);Kn=Pe>w(0)&Pew(0)&ieel&((gt(el)|0)^1))n=el,Kn=51;else if(c[(t[Ki>>2]|0)+3>>0]|0)Kn=51;else{if(It!=w(0)?w(Br(e))!=w(0):0){Kn=53;break}n=ke,Kn=53}while(0);if((Kn|0)==51&&(Kn=0,gt(n)|0?Kn=53:(gn=w(n-ke),zt=n)),(Kn|0)==53&&(Kn=0,ke>2]|0,we=gnw(0),pe=w(gn/It),Pe=w(0),ke=w(0),n=w(0),T=P;do r=w(Tn(T+380+(q<<3)|0,Zi)),ie=w(Tn(T+364+(q<<3)|0,Zi)),ie=w(cc(r,w(Ur(ie,w(D[T+504>>2]))))),we?(r=w(ie*w(zr(T))),(r!=w(-0)?(kt=w(ie-w(qe*r)),Ul=w(kn(T,xn,kt,zt,En)),kt!=Ul):0)&&(Pe=w(Pe-w(Ul-ie)),n=w(n+r))):((vt?(tl=w(Br(T)),tl!=w(0)):0)?(kt=w(ie+w(pe*tl)),ql=w(kn(T,xn,kt,zt,En)),kt!=ql):0)&&(Pe=w(Pe-w(ql-ie)),ke=w(ke-tl)),T=t[T+960>>2]|0;while((T|0)!=0);if(n=w(_e+n),ie=w(gn+Pe),jl)n=w(0);else{qe=w(It+ke),we=t[Cu>>2]|0,vt=iew(0),qe=w(ie/qe),n=w(0);do{kt=w(Tn(P+380+(we<<3)|0,Zi)),Pe=w(Tn(P+364+(we<<3)|0,Zi)),Pe=w(cc(kt,w(Ur(Pe,w(D[P+504>>2]))))),vt?(kt=w(Pe*w(zr(P))),ie=w(-kt),kt!=w(-0)?(kt=w(pe*ie),ie=w(kn(P,xn,w(Pe+(Ln?ie:kt)),zt,En))):ie=Pe):(q?(zl=w(Br(P)),zl!=w(0)):0)?ie=w(kn(P,xn,w(Pe+w(qe*zl)),zt,En)):ie=Pe,n=w(n-w(ie-Pe)),ke=w(mt(P,xn,En)),r=w(mt(P,Vt,En)),ie=w(ie+ke),D[nu>>2]=ie,t[xu>>2]=1,Pe=w(D[P+396>>2]);e:do if(gt(Pe)|0){T=gt(xr)|0;do if(!T){if(Xi|(m0(P,Vt,xr)|0|Dr)||(T0(e,P)|0)!=4||(t[(hi(P,Vt)|0)+4>>2]|0)==3||(t[(Ai(P,Vt)|0)+4>>2]|0)==3)break;D[Fi>>2]=xr,t[go>>2]=1;break e}while(0);if(m0(P,Vt,xr)|0){T=t[P+992+(t[If>>2]<<2)>>2]|0,kt=w(r+w(Tn(T,xr))),D[Fi>>2]=kt,T=Pf&(t[T+4>>2]|0)==2,t[go>>2]=((gt(kt)|0|T)^1)&1;break}else{D[Fi>>2]=xr,t[go>>2]=T?0:2;break}}else kt=w(ie-ke),It=w(kt/Pe),kt=w(Pe*kt),t[go>>2]=1,D[Fi>>2]=w(r+(br?It:kt));while(0);Kt(P,xn,zt,En,xu,nu),Kt(P,Vt,xr,En,go,Fi);do if(m0(P,Vt,xr)|0?0:(T0(e,P)|0)==4){if((t[(hi(P,Vt)|0)+4>>2]|0)==3){T=0;break}T=(t[(Ai(P,Vt)|0)+4>>2]|0)!=3}else T=0;while(0);kt=w(D[nu>>2]),It=w(D[Fi>>2]),$l=t[xu>>2]|0,Qr=t[go>>2]|0,ht(P,br?kt:It,br?It:kt,Ei,br?$l:Qr,br?Qr:$l,En,Qi,y&(T^1),3488,k)|0,c[Tu>>0]=c[Tu>>0]|c[P+508>>0],P=t[P+960>>2]|0}while((P|0)!=0)}}else n=w(0);if(n=w(gn+n),Qr=n>0]=Qr|C[Tu>>0],Af&n>w(0)?(T=t[Cu>>2]|0,((t[e+364+(T<<3)+4>>2]|0)!=0?(Li=w(Tn(e+364+(T<<3)|0,Zi)),Li>=w(0)):0)?ie=w(Ur(w(0),w(Li-w(zt-n)))):ie=w(0)):ie=n,vt=Pn>>>0>>0,vt){we=t[eo>>2]|0,q=Pn,T=0;do P=t[we+(q<<2)>>2]|0,t[P+24>>2]|0||(T=((t[(hi(P,xn)|0)+4>>2]|0)==3&1)+T|0,T=T+((t[(Ai(P,xn)|0)+4>>2]|0)==3&1)|0),q=q+1|0;while((q|0)!=(Ht|0));T?(ke=w(0),r=w(0)):Kn=101}else Kn=101;e:do if((Kn|0)==101)switch(Kn=0,Ff|0){case 1:{T=0,ke=w(ie*w(.5)),r=w(0);break e}case 2:{T=0,ke=ie,r=w(0);break e}case 3:{if(l>>>0<=1){T=0,ke=w(0),r=w(0);break e}r=w((l+-1|0)>>>0),T=0,ke=w(0),r=w(w(Ur(ie,w(0)))/r);break e}case 5:{r=w(ie/w((l+1|0)>>>0)),T=0,ke=r;break e}case 4:{r=w(ie/w(l>>>0)),T=0,ke=w(r*w(.5));break e}default:{T=0,ke=w(0),r=w(0);break e}}while(0);if(n=w(Lf+ke),vt){Pe=w(ie/w(T|0)),q=t[eo>>2]|0,P=Pn,ie=w(0);do{T=t[q+(P<<2)>>2]|0;e:do if((t[T+36>>2]|0)!=1){switch(t[T+24>>2]|0){case 1:{if(X(T,xn)|0){if(!y)break e;kt=w(Y(T,xn,zt)),kt=w(kt+w(C0(e,xn))),kt=w(kt+w(Tr(T,xn,En))),D[T+400+(t[Qs>>2]<<2)>>2]=kt;break e}break}case 0:if(Qr=(t[(hi(T,xn)|0)+4>>2]|0)==3,kt=w(Pe+n),n=Qr?kt:n,y&&(Qr=T+400+(t[Qs>>2]<<2)|0,D[Qr>>2]=w(n+w(D[Qr>>2]))),Qr=(t[(Ai(T,xn)|0)+4>>2]|0)==3,kt=w(Pe+n),n=Qr?kt:n,Ro){kt=w(r+w(mt(T,xn,En))),ie=xr,n=w(n+w(kt+w(D[T+504>>2])));break e}else{n=w(n+w(r+w(ye(T,xn,En)))),ie=w(Ur(ie,w(ye(T,Vt,En))));break e}default:}y&&(kt=w(ke+w(C0(e,xn))),Qr=T+400+(t[Qs>>2]<<2)|0,D[Qr>>2]=w(kt+w(D[Qr>>2])))}while(0);P=P+1|0}while((P|0)!=(Ht|0))}else ie=w(0);if(r=w(Rf+n),Of?ke=w(w(kn(e,Vt,w(Ri+ie),cs,d))-Ri):ke=xr,Pe=w(w(kn(e,Vt,w(Ri+(Mf?xr:ie)),cs,d))-Ri),vt&y){P=Pn;do{q=t[(t[eo>>2]|0)+(P<<2)>>2]|0;do if((t[q+36>>2]|0)!=1){if((t[q+24>>2]|0)==1){if(X(q,Vt)|0){if(kt=w(Y(q,Vt,xr)),kt=w(kt+w(C0(e,Vt))),kt=w(kt+w(Tr(q,Vt,En))),T=t[Js>>2]|0,D[q+400+(T<<2)>>2]=kt,!(gt(kt)|0))break}else T=t[Js>>2]|0;kt=w(C0(e,Vt)),D[q+400+(T<<2)>>2]=w(kt+w(Tr(q,Vt,En)));break}T=T0(e,q)|0;do if((T|0)==4){if((t[(hi(q,Vt)|0)+4>>2]|0)==3){Kn=139;break}if((t[(Ai(q,Vt)|0)+4>>2]|0)==3){Kn=139;break}if(m0(q,Vt,xr)|0){n=le;break}$l=t[q+908+(t[Cu>>2]<<2)>>2]|0,t[Fi>>2]=$l,n=w(D[q+396>>2]),Qr=gt(n)|0,ie=(t[j>>2]=$l,w(D[j>>2])),Qr?n=Pe:(gn=w(mt(q,Vt,En)),kt=w(ie/n),n=w(n*ie),n=w(gn+(br?kt:n))),D[nu>>2]=n,D[Fi>>2]=w(w(mt(q,xn,En))+ie),t[go>>2]=1,t[xu>>2]=1,Kt(q,xn,zt,En,go,Fi),Kt(q,Vt,xr,En,xu,nu),n=w(D[Fi>>2]),gn=w(D[nu>>2]),kt=br?n:gn,n=br?gn:n,Qr=((gt(kt)|0)^1)&1,ht(q,kt,n,Ei,Qr,((gt(n)|0)^1)&1,En,Qi,1,3493,k)|0,n=le}else Kn=139;while(0);e:do if((Kn|0)==139){Kn=0,n=w(ke-w(ye(q,Vt,En)));do if((t[(hi(q,Vt)|0)+4>>2]|0)==3){if((t[(Ai(q,Vt)|0)+4>>2]|0)!=3)break;n=w(le+w(Ur(w(0),w(n*w(.5)))));break e}while(0);if((t[(Ai(q,Vt)|0)+4>>2]|0)==3){n=le;break}if((t[(hi(q,Vt)|0)+4>>2]|0)==3){n=w(le+w(Ur(w(0),n)));break}switch(T|0){case 1:{n=le;break e}case 2:{n=w(le+w(n*w(.5)));break e}default:{n=w(le+n);break e}}}while(0);kt=w(Di+n),Qr=q+400+(t[Js>>2]<<2)|0,D[Qr>>2]=w(kt+w(D[Qr>>2]))}while(0);P=P+1|0}while((P|0)!=(Ht|0))}if(Di=w(Di+Pe),ss=w(Ur(ss,r)),l=Ji+1|0,Ht>>>0>=Ni>>>0)break;n=zt,Pn=Ht,Ji=l}do if(y){if(T=l>>>0>1,T?0:!(he(e)|0))break;if(!(gt(xr)|0)){n=w(xr-Di);e:do switch(t[e+12>>2]|0){case 3:{le=w(le+n),pe=w(0);break}case 2:{le=w(le+w(n*w(.5))),pe=w(0);break}case 4:{xr>Di?pe=w(n/w(l>>>0)):pe=w(0);break}case 7:if(xr>Di){le=w(le+w(n/w(l<<1>>>0))),pe=w(n/w(l>>>0)),pe=T?pe:w(0);break e}else{le=w(le+w(n*w(.5))),pe=w(0);break e}case 6:{pe=w(n/w(Ji>>>0)),pe=xr>Di&T?pe:w(0);break}default:pe=w(0)}while(0);if(l|0)for(vt=1040+(Vt<<2)|0,Ln=976+(Vt<<2)|0,we=0,P=0;;){e:do if(P>>>0>>0)for(ie=w(0),Pe=w(0),n=w(0),q=P;;){T=t[(t[eo>>2]|0)+(q<<2)>>2]|0;do if((t[T+36>>2]|0)!=1?(t[T+24>>2]|0)==0:0){if((t[T+940>>2]|0)!=(we|0))break e;if(We(T,Vt)|0&&(kt=w(D[T+908+(t[Ln>>2]<<2)>>2]),n=w(Ur(n,w(kt+w(mt(T,Vt,En)))))),(T0(e,T)|0)!=5)break;Li=w(et(T)),Li=w(Li+w(Tr(T,0,En))),kt=w(D[T+912>>2]),kt=w(w(kt+w(mt(T,0,En)))-Li),Li=w(Ur(Pe,Li)),kt=w(Ur(ie,kt)),ie=kt,Pe=Li,n=w(Ur(n,w(Li+kt)))}while(0);if(T=q+1|0,T>>>0>>0)q=T;else{q=T;break}}else Pe=w(0),n=w(0),q=P;while(0);if(qe=w(pe+n),r=le,le=w(le+qe),P>>>0>>0){ke=w(r+Pe),T=P;do{P=t[(t[eo>>2]|0)+(T<<2)>>2]|0;e:do if((t[P+36>>2]|0)!=1?(t[P+24>>2]|0)==0:0)switch(T0(e,P)|0){case 1:{kt=w(r+w(Tr(P,Vt,En))),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 3:{kt=w(w(le-w(R0(P,Vt,En)))-w(D[P+908+(t[Ln>>2]<<2)>>2])),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 2:{kt=w(r+w(w(qe-w(D[P+908+(t[Ln>>2]<<2)>>2]))*w(.5))),D[P+400+(t[vt>>2]<<2)>>2]=kt;break e}case 4:{if(kt=w(r+w(Tr(P,Vt,En))),D[P+400+(t[vt>>2]<<2)>>2]=kt,m0(P,Vt,xr)|0||(br?(ie=w(D[P+908>>2]),n=w(ie+w(mt(P,xn,En))),Pe=qe):(Pe=w(D[P+912>>2]),Pe=w(Pe+w(mt(P,Vt,En))),n=qe,ie=w(D[P+908>>2])),Vr(n,ie)|0?Vr(Pe,w(D[P+912>>2]))|0:0))break e;ht(P,n,Pe,Ei,1,1,En,Qi,1,3501,k)|0;break e}case 5:{D[P+404>>2]=w(w(ke-w(et(P)))+w(Y(P,0,xr)));break e}default:break e}while(0);T=T+1|0}while((T|0)!=(q|0))}if(we=we+1|0,(we|0)==(l|0))break;P=q}}}while(0);if(D[e+908>>2]=w(kn(e,2,ls,d,d)),D[e+912>>2]=w(kn(e,0,Wl,_,d)),((ku|0)!=0?(Hl=t[e+32>>2]|0,bl=(ku|0)==2,!(bl&(Hl|0)!=2)):0)?bl&(Hl|0)==2&&(n=w(fs+zt),n=w(Ur(w(cc(n,w(Dt(e,xn,ss,Zi)))),fs)),Kn=198):(n=w(kn(e,xn,ss,Zi,d)),Kn=198),(Kn|0)==198&&(D[e+908+(t[976+(xn<<2)>>2]<<2)>>2]=n),((Au|0)!=0?(Vl=t[e+32>>2]|0,Yl=(Au|0)==2,!(Yl&(Vl|0)!=2)):0)?Yl&(Vl|0)==2&&(n=w(Ri+xr),n=w(Ur(w(cc(n,w(Dt(e,Vt,w(Ri+Di),cs)))),Ri)),Kn=204):(n=w(kn(e,Vt,w(Ri+Di),cs,d)),Kn=204),(Kn|0)==204&&(D[e+908+(t[976+(Vt<<2)>>2]<<2)>>2]=n),y){if((t[Gl>>2]|0)==2){P=976+(Vt<<2)|0,q=1040+(Vt<<2)|0,T=0;do we=e0(e,T)|0,t[we+24>>2]|0||($l=t[P>>2]|0,kt=w(D[e+908+($l<<2)>>2]),Qr=we+400+(t[q>>2]<<2)|0,kt=w(kt-w(D[Qr>>2])),D[Qr>>2]=w(kt-w(D[we+908+($l<<2)>>2]))),T=T+1|0;while((T|0)!=(Ni|0))}if(o|0){T=br?ku:s;do bt(e,o,En,T,Qi,Ei,k),o=t[o+960>>2]|0;while((o|0)!=0)}if(T=(xn|2|0)==3,P=(Vt|2|0)==3,T|P){o=0;do q=t[(t[eo>>2]|0)+(o<<2)>>2]|0,(t[q+36>>2]|0)!=1&&(T&&Zt(e,q,xn),P&&Zt(e,q,Vt)),o=o+1|0;while((o|0)!=(Ni|0))}}}while(0);h=Ou}function ki(e,n){e=e|0,n=w(n);var r=0;li(e,n>=w(0),3147),r=n==w(0),D[e+4>>2]=r?w(0):n}function Yr(e,n,r,o){e=e|0,n=w(n),r=w(r),o=o|0;var s=tt,l=tt,d=0,_=0,y=0;t[2278]=(t[2278]|0)+1,$r(e),m0(e,2,n)|0?(s=w(Tn(t[e+992>>2]|0,n)),y=1,s=w(s+w(mt(e,2,n)))):(s=w(Tn(e+380|0,n)),s>=w(0)?y=2:(y=((gt(n)|0)^1)&1,s=n)),m0(e,0,r)|0?(l=w(Tn(t[e+996>>2]|0,r)),_=1,l=w(l+w(mt(e,0,n)))):(l=w(Tn(e+388|0,r)),l>=w(0)?_=2:(_=((gt(r)|0)^1)&1,l=r)),d=e+976|0,(ht(e,s,l,o,y,_,n,r,1,3189,t[d>>2]|0)|0?(Yo(e,t[e+496>>2]|0,n,r,n),bi(e,w(D[(t[d>>2]|0)+4>>2]),w(0),w(0)),c[11696]|0):0)&&ff(e,7)}function $r(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;_=h,h=h+32|0,d=_+24|0,l=_+16|0,o=_+8|0,s=_,r=0;do n=e+380+(r<<3)|0,((t[e+380+(r<<3)+4>>2]|0)!=0?(y=n,k=t[y+4>>2]|0,T=o,t[T>>2]=t[y>>2],t[T+4>>2]=k,T=e+364+(r<<3)|0,k=t[T+4>>2]|0,y=s,t[y>>2]=t[T>>2],t[y+4>>2]=k,t[l>>2]=t[o>>2],t[l+4>>2]=t[o+4>>2],t[d>>2]=t[s>>2],t[d+4>>2]=t[s+4>>2],o0(l,d)|0):0)||(n=e+348+(r<<3)|0),t[e+992+(r<<2)>>2]=n,r=r+1|0;while((r|0)!=2);h=_}function m0(e,n,r){e=e|0,n=n|0,r=w(r);var o=0;switch(e=t[e+992+(t[976+(n<<2)>>2]<<2)>>2]|0,t[e+4>>2]|0){case 0:case 3:{e=0;break}case 1:{w(D[e>>2])>2])>2]|0){case 2:{n=w(w(w(D[e>>2])*n)/w(100));break}case 1:{n=w(D[e>>2]);break}default:n=w(J)}return w(n)}function Yo(e,n,r,o,s){e=e|0,n=n|0,r=w(r),o=w(o),s=w(s);var l=0,d=tt;n=t[e+944>>2]|0?n:1,l=N0(t[e+4>>2]|0,n)|0,n=Cl(l,n)|0,r=w(Wr(e,l,r)),o=w(Wr(e,n,o)),d=w(r+w(Tr(e,l,s))),D[e+400+(t[1040+(l<<2)>>2]<<2)>>2]=d,r=w(r+w(R0(e,l,s))),D[e+400+(t[1e3+(l<<2)>>2]<<2)>>2]=r,r=w(o+w(Tr(e,n,s))),D[e+400+(t[1040+(n<<2)>>2]<<2)>>2]=r,s=w(o+w(R0(e,n,s))),D[e+400+(t[1e3+(n<<2)>>2]<<2)>>2]=s}function bi(e,n,r,o){e=e|0,n=w(n),r=w(r),o=w(o);var s=0,l=0,d=tt,_=tt,y=0,k=0,T=tt,P=0,q=tt,we=tt,le=tt,ie=tt;if(n!=w(0)&&(s=e+400|0,ie=w(D[s>>2]),l=e+404|0,le=w(D[l>>2]),P=e+416|0,we=w(D[P>>2]),k=e+420|0,d=w(D[k>>2]),q=w(ie+r),T=w(le+o),o=w(q+we),_=w(T+d),y=(t[e+988>>2]|0)==1,D[s>>2]=w($0(ie,n,0,y)),D[l>>2]=w($0(le,n,0,y)),r=w(V4(w(we*n),w(1))),Vr(r,w(0))|0?l=0:l=(Vr(r,w(1))|0)^1,r=w(V4(w(d*n),w(1))),Vr(r,w(0))|0?s=0:s=(Vr(r,w(1))|0)^1,ie=w($0(o,n,y&l,y&(l^1))),D[P>>2]=w(ie-w($0(q,n,0,y))),ie=w($0(_,n,y&s,y&(s^1))),D[k>>2]=w(ie-w($0(T,n,0,y))),l=(t[e+952>>2]|0)-(t[e+948>>2]|0)>>2,l|0)){s=0;do bi(e0(e,s)|0,n,q,T),s=s+1|0;while((s|0)!=(l|0))}}function or(e,n,r,o,s){switch(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,r|0){case 5:case 0:{e=q8(t[489]|0,o,s)|0;break}default:e=AL(o,s)|0}return e|0}function zs(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;s=h,h=h+16|0,l=s,t[l>>2]=o,Ku(e,0,n,r,l),h=s}function Ku(e,n,r,o,s){if(e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,e=e|0?e:956,sD[t[e+8>>2]&1](e,n,r,o,s)|0,(r|0)==5)_n();else return}function J0(e,n,r){e=e|0,n=n|0,r=r|0,c[e+n>>0]=r&1}function af(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(S0(e,o),El(e,t[n>>2]|0,t[r>>2]|0,o))}function S0(e,n){e=e|0,n=n|0;var r=0;if((Q0(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function El(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function Q0(e){return e=e|0,1073741823}function Tr(e,n,r){return e=e|0,n=n|0,r=w(r),(Nr(n)|0?(t[e+96>>2]|0)!=0:0)?e=e+92|0:e=en(e+60|0,t[1040+(n<<2)>>2]|0,992)|0,w(uo(e,r))}function R0(e,n,r){return e=e|0,n=n|0,r=w(r),(Nr(n)|0?(t[e+104>>2]|0)!=0:0)?e=e+100|0:e=en(e+60|0,t[1e3+(n<<2)>>2]|0,992)|0,w(uo(e,r))}function Nr(e){return e=e|0,(e|1|0)==3|0}function uo(e,n){return e=e|0,n=w(n),(t[e+4>>2]|0)==3?n=w(0):n=w(Tn(e,n)),w(n)}function so(e,n){return e=e|0,n=n|0,e=t[e>>2]|0,((e|0)==0?(n|0)>1?n:1:e)|0}function N0(e,n){e=e|0,n=n|0;var r=0;e:do if((n|0)==2){switch(e|0){case 2:{e=3;break e}case 3:break;default:{r=4;break e}}e=2}else r=4;while(0);return e|0}function C0(e,n){e=e|0,n=n|0;var r=tt;return((Nr(n)|0?(t[e+312>>2]|0)!=0:0)?(r=w(D[e+308>>2]),r>=w(0)):0)||(r=w(Ur(w(D[(en(e+276|0,t[1040+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function di(e,n){e=e|0,n=n|0;var r=tt;return((Nr(n)|0?(t[e+320>>2]|0)!=0:0)?(r=w(D[e+316>>2]),r>=w(0)):0)||(r=w(Ur(w(D[(en(e+276|0,t[1e3+(n<<2)>>2]|0,992)|0)>>2]),w(0)))),w(r)}function u0(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return((Nr(n)|0?(t[e+240>>2]|0)!=0:0)?(o=w(Tn(e+236|0,r)),o>=w(0)):0)||(o=w(Ur(w(Tn(en(e+204|0,t[1040+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(o)}function v0(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return((Nr(n)|0?(t[e+248>>2]|0)!=0:0)?(o=w(Tn(e+244|0,r)),o>=w(0)):0)||(o=w(Ur(w(Tn(en(e+204|0,t[1e3+(n<<2)>>2]|0,992)|0,r)),w(0)))),w(o)}function To(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=tt,y=tt,k=tt,T=tt,P=tt,q=tt,we=0,le=0,ie=0;ie=h,h=h+16|0,we=ie,le=e+964|0,i0(e,(t[le>>2]|0)!=0,3519),_=w(Fn(e,2,n)),y=w(Fn(e,0,n)),k=w(mt(e,2,n)),T=w(mt(e,0,n)),gt(n)|0?P=n:P=w(Ur(w(0),w(w(n-k)-_))),gt(r)|0?q=r:q=w(Ur(w(0),w(w(r-T)-y))),(o|0)==1&(s|0)==1?(D[e+908>>2]=w(kn(e,2,w(n-k),l,l)),n=w(kn(e,0,w(r-T),d,l))):(lD[t[le>>2]&1](we,e,P,o,q,s),P=w(_+w(D[we>>2])),q=w(n-k),D[e+908>>2]=w(kn(e,2,(o|2|0)==2?P:q,l,l)),q=w(y+w(D[we+4>>2])),n=w(r-T),n=w(kn(e,0,(s|2|0)==2?q:n,d,l))),D[e+912>>2]=n,h=ie}function pu(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=tt,y=tt,k=tt,T=tt;k=w(Fn(e,2,l)),_=w(Fn(e,0,l)),T=w(mt(e,2,l)),y=w(mt(e,0,l)),n=w(n-T),D[e+908>>2]=w(kn(e,2,(o|2|0)==2?k:n,l,l)),r=w(r-y),D[e+912>>2]=w(kn(e,0,(s|2|0)==2?_:r,d,l))}function Sl(e,n,r,o,s,l,d){e=e|0,n=w(n),r=w(r),o=o|0,s=s|0,l=w(l),d=w(d);var _=0,y=tt,k=tt;return _=(o|0)==2,((n<=w(0)&_?0:!(r<=w(0)&(s|0)==2))?!((o|0)==1&(s|0)==1):0)?e=0:(y=w(mt(e,0,l)),k=w(mt(e,2,l)),_=n>2]=w(kn(e,2,_?w(0):n,l,l)),n=w(r-y),_=r>2]=w(kn(e,0,_?w(0):n,d,l)),e=1),e|0}function Cl(e,n){return e=e|0,n=n|0,qt(e)|0?e=N0(2,n)|0:e=0,e|0}function B0(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(u0(e,n,r)),w(r+w(C0(e,n)))}function hu(e,n,r){return e=e|0,n=n|0,r=w(r),r=w(v0(e,n,r)),w(r+w(di(e,n)))}function Fn(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(B0(e,n,r)),w(o+w(hu(e,n,r)))}function pi(e){return e=e|0,t[e+24>>2]|0?e=0:w(Br(e))!=w(0)?e=1:e=w(zr(e))!=w(0),e|0}function Br(e){e=e|0;var n=tt;if(t[e+944>>2]|0){if(n=w(D[e+44>>2]),gt(n)|0)return n=w(D[e+40>>2]),e=n>w(0)&((gt(n)|0)^1),w(e?n:w(0))}else n=w(0);return w(n)}function zr(e){e=e|0;var n=tt,r=0,o=tt;do if(t[e+944>>2]|0){if(n=w(D[e+48>>2]),gt(n)|0){if(r=c[(t[e+976>>2]|0)+2>>0]|0,r<<24>>24==0?(o=w(D[e+40>>2]),o>24?w(1):w(0)}}else n=w(0);while(0);return w(n)}function lo(e){e=e|0;var n=0,r=0;if(pa(e+400|0,0,540)|0,c[e+985>>0]=1,bo(e),r=fi(e)|0,r|0){n=e+948|0,e=0;do lo(t[(t[n>>2]|0)+(e<<2)>>2]|0),e=e+1|0;while((e|0)!=(r|0))}}function wr(e,n,r,o,s,l,d,_,y,k){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=w(l),d=w(d),_=_|0,y=y|0,k=k|0;var T=0,P=tt,q=0,we=0,le=tt,ie=tt,Pe=0,ke=tt,qe=0,pe=tt,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0,Ki=0;Dr=h,h=h+16|0,Ln=Dr+12|0,Ht=Dr+8|0,It=Dr+4|0,gn=Dr,zt=N0(t[e+4>>2]|0,y)|0,_e=Nr(zt)|0,P=w(Tn(Ut(n)|0,_e?l:d)),vt=m0(n,2,l)|0,Pn=m0(n,0,d)|0;do if(gt(P)|0?0:!(gt(_e?r:s)|0)){if(T=n+504|0,!(gt(w(D[T>>2]))|0)&&(!(fn(t[n+976>>2]|0,0)|0)||(t[n+500>>2]|0)==(t[2278]|0)))break;D[T>>2]=w(Ur(P,w(Fn(n,zt,l))))}else q=7;while(0);do if((q|0)==7){if(qe=_e^1,!(qe|vt^1)){d=w(Tn(t[n+992>>2]|0,l)),D[n+504>>2]=w(Ur(d,w(Fn(n,2,l))));break}if(!(_e|Pn^1)){d=w(Tn(t[n+996>>2]|0,d)),D[n+504>>2]=w(Ur(d,w(Fn(n,0,l))));break}D[Ln>>2]=w(J),D[Ht>>2]=w(J),t[It>>2]=0,t[gn>>2]=0,ke=w(mt(n,2,l)),pe=w(mt(n,0,l)),vt?(le=w(ke+w(Tn(t[n+992>>2]|0,l))),D[Ln>>2]=le,t[It>>2]=1,we=1):(we=0,le=w(J)),Pn?(P=w(pe+w(Tn(t[n+996>>2]|0,d))),D[Ht>>2]=P,t[gn>>2]=1,T=1):(T=0,P=w(J)),q=t[e+32>>2]|0,_e&(q|0)==2?q=2:(gt(le)|0?!(gt(r)|0):0)&&(D[Ln>>2]=r,t[It>>2]=2,we=2,le=r),(((q|0)==2&qe?0:gt(P)|0)?!(gt(s)|0):0)&&(D[Ht>>2]=s,t[gn>>2]=2,T=2,P=s),ie=w(D[n+396>>2]),Pe=gt(ie)|0;do if(Pe)q=we;else{if((we|0)==1&qe){D[Ht>>2]=w(w(le-ke)/ie),t[gn>>2]=1,T=1,q=1;break}_e&(T|0)==1?(D[Ln>>2]=w(ie*w(P-pe)),t[It>>2]=1,T=1,q=1):q=we}while(0);Ki=gt(r)|0,we=(T0(e,n)|0)!=4,(_e|vt|((o|0)!=1|Ki)|(we|(q|0)==1)?0:(D[Ln>>2]=r,t[It>>2]=1,!Pe))&&(D[Ht>>2]=w(w(r-ke)/ie),t[gn>>2]=1,T=1),(Pn|qe|((_|0)!=1|(gt(s)|0))|(we|(T|0)==1)?0:(D[Ht>>2]=s,t[gn>>2]=1,!Pe))&&(D[Ln>>2]=w(ie*w(s-pe)),t[It>>2]=1),Kt(n,2,l,l,It,Ln),Kt(n,0,d,l,gn,Ht),r=w(D[Ln>>2]),s=w(D[Ht>>2]),ht(n,r,s,y,t[It>>2]|0,t[gn>>2]|0,l,d,0,3565,k)|0,d=w(D[n+908+(t[976+(zt<<2)>>2]<<2)>>2]),D[n+504>>2]=w(Ur(d,w(Fn(n,zt,l))))}while(0);t[n+500>>2]=t[2278],h=Dr}function kn(e,n,r,o,s){return e=e|0,n=n|0,r=w(r),o=w(o),s=w(s),o=w(Dt(e,n,r,o)),w(Ur(o,w(Fn(e,n,s))))}function T0(e,n){return e=e|0,n=n|0,n=n+20|0,n=t[((t[n>>2]|0)==0?e+16|0:n)>>2]|0,((n|0)==5?qt(t[e+4>>2]|0)|0:0)&&(n=1),n|0}function hi(e,n){return e=e|0,n=n|0,(Nr(n)|0?(t[e+96>>2]|0)!=0:0)?n=4:n=t[1040+(n<<2)>>2]|0,e+60+(n<<3)|0}function Ai(e,n){return e=e|0,n=n|0,(Nr(n)|0?(t[e+104>>2]|0)!=0:0)?n=5:n=t[1e3+(n<<2)>>2]|0,e+60+(n<<3)|0}function Kt(e,n,r,o,s,l){switch(e=e|0,n=n|0,r=w(r),o=w(o),s=s|0,l=l|0,r=w(Tn(e+380+(t[976+(n<<2)>>2]<<3)|0,r)),r=w(r+w(mt(e,n,o))),t[s>>2]|0){case 2:case 1:{s=gt(r)|0,o=w(D[l>>2]),D[l>>2]=s|o>2]=2,D[l>>2]=r);break}default:}}function X(e,n){return e=e|0,n=n|0,e=e+132|0,(Nr(n)|0?(t[(en(e,4,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(en(e,t[1040+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function Y(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Nr(n)|0?(o=en(e,4,948)|0,(t[o+4>>2]|0)!=0):0)?s=4:(o=en(e,t[1040+(n<<2)>>2]|0,948)|0,t[o+4>>2]|0?s=4:r=w(0)),(s|0)==4&&(r=w(Tn(o,r))),w(r)}function ye(e,n,r){e=e|0,n=n|0,r=w(r);var o=tt;return o=w(D[e+908+(t[976+(n<<2)>>2]<<2)>>2]),o=w(o+w(Tr(e,n,r))),w(o+w(R0(e,n,r)))}function he(e){e=e|0;var n=0,r=0,o=0;e:do if(qt(t[e+4>>2]|0)|0)n=0;else if((t[e+16>>2]|0)!=5)if(r=fi(e)|0,!r)n=0;else for(n=0;;){if(o=e0(e,n)|0,(t[o+24>>2]|0)==0?(t[o+20>>2]|0)==5:0){n=1;break e}if(n=n+1|0,n>>>0>=r>>>0){n=0;break}}else n=1;while(0);return n|0}function We(e,n){e=e|0,n=n|0;var r=tt;return r=w(D[e+908+(t[976+(n<<2)>>2]<<2)>>2]),r>=w(0)&((gt(r)|0)^1)|0}function et(e){e=e|0;var n=tt,r=0,o=0,s=0,l=0,d=0,_=0,y=tt;if(r=t[e+968>>2]|0,r)y=w(D[e+908>>2]),n=w(D[e+912>>2]),n=w(rD[r&0](e,y,n)),i0(e,(gt(n)|0)^1,3573);else{l=fi(e)|0;do if(l|0){for(r=0,s=0;;){if(o=e0(e,s)|0,t[o+940>>2]|0){d=8;break}if((t[o+24>>2]|0)!=1)if(_=(T0(e,o)|0)==5,_){r=o;break}else r=(r|0)==0?o:r;if(s=s+1|0,s>>>0>=l>>>0){d=8;break}}if((d|0)==8&&!r)break;return n=w(et(r)),w(n+w(D[r+404>>2]))}while(0);n=w(D[e+912>>2])}return w(n)}function Dt(e,n,r,o){e=e|0,n=n|0,r=w(r),o=w(o);var s=tt,l=0;return qt(n)|0?(n=1,l=3):Nr(n)|0?(n=0,l=3):(o=w(J),s=w(J)),(l|0)==3&&(s=w(Tn(e+364+(n<<3)|0,o)),o=w(Tn(e+380+(n<<3)|0,o))),l=o=w(0)&((gt(o)|0)^1)),r=l?o:r,l=s>=w(0)&((gt(s)|0)^1)&r>2]|0,l)|0,le=Cl(Pe,l)|0,ie=Nr(Pe)|0,P=w(mt(n,2,r)),q=w(mt(n,0,r)),m0(n,2,r)|0?_=w(P+w(Tn(t[n+992>>2]|0,r))):(X(n,2)|0?_t(n,2)|0:0)?(_=w(D[e+908>>2]),y=w(C0(e,2)),y=w(_-w(y+w(di(e,2)))),_=w(Y(n,2,r)),_=w(kn(n,2,w(y-w(_+w(_r(n,2,r)))),r,r))):_=w(J),m0(n,0,s)|0?y=w(q+w(Tn(t[n+996>>2]|0,s))):(X(n,0)|0?_t(n,0)|0:0)?(y=w(D[e+912>>2]),qe=w(C0(e,0)),qe=w(y-w(qe+w(di(e,0)))),y=w(Y(n,0,s)),y=w(kn(n,0,w(qe-w(y+w(_r(n,0,s)))),s,r))):y=w(J),k=gt(_)|0,T=gt(y)|0;do if(k^T?(we=w(D[n+396>>2]),!(gt(we)|0)):0)if(k){_=w(P+w(w(y-q)*we));break}else{qe=w(q+w(w(_-P)/we)),y=T?qe:y;break}while(0);T=gt(_)|0,k=gt(y)|0,T|k&&(pe=(T^1)&1,o=r>w(0)&((o|0)!=0&T),_=ie?_:o?r:_,ht(n,_,y,l,ie?pe:o?2:pe,T&(k^1)&1,_,y,0,3623,d)|0,_=w(D[n+908>>2]),_=w(_+w(mt(n,2,r))),y=w(D[n+912>>2]),y=w(y+w(mt(n,0,r)))),ht(n,_,y,l,1,1,_,y,1,3635,d)|0,(_t(n,Pe)|0?!(X(n,Pe)|0):0)?(pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),qe=w(qe-w(di(e,Pe))),qe=w(qe-w(R0(n,Pe,r))),qe=w(qe-w(_r(n,Pe,ie?r:s))),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe):ke=21;do if((ke|0)==21){if(X(n,Pe)|0?0:(t[e+8>>2]|0)==1){pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(w(qe-w(D[n+908+(pe<<2)>>2]))*w(.5)),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe;break}(X(n,Pe)|0?0:(t[e+8>>2]|0)==2)&&(pe=t[976+(Pe<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),D[n+400+(t[1040+(Pe<<2)>>2]<<2)>>2]=qe)}while(0);(_t(n,le)|0?!(X(n,le)|0):0)?(pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),qe=w(qe-w(di(e,le))),qe=w(qe-w(R0(n,le,r))),qe=w(qe-w(_r(n,le,ie?s:r))),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe):ke=30;do if((ke|0)==30?!(X(n,le)|0):0){if((T0(e,n)|0)==2){pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(w(qe-w(D[n+908+(pe<<2)>>2]))*w(.5)),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe;break}pe=(T0(e,n)|0)==3,pe^(t[e+28>>2]|0)==2&&(pe=t[976+(le<<2)>>2]|0,qe=w(D[e+908+(pe<<2)>>2]),qe=w(qe-w(D[n+908+(pe<<2)>>2])),D[n+400+(t[1040+(le<<2)>>2]<<2)>>2]=qe)}while(0)}function Zt(e,n,r){e=e|0,n=n|0,r=r|0;var o=tt,s=0;s=t[976+(r<<2)>>2]|0,o=w(D[n+908+(s<<2)>>2]),o=w(w(D[e+908+(s<<2)>>2])-o),o=w(o-w(D[n+400+(t[1040+(r<<2)>>2]<<2)>>2])),D[n+400+(t[1e3+(r<<2)>>2]<<2)>>2]=o}function qt(e){return e=e|0,(e|1|0)==1|0}function Ut(e){e=e|0;var n=tt;switch(t[e+56>>2]|0){case 0:case 3:{n=w(D[e+40>>2]),n>w(0)&((gt(n)|0)^1)?e=c[(t[e+976>>2]|0)+2>>0]|0?1056:992:e=1056;break}default:e=e+52|0}return e|0}function fn(e,n){return e=e|0,n=n|0,(c[e+n>>0]|0)!=0|0}function _t(e,n){return e=e|0,n=n|0,e=e+132|0,(Nr(n)|0?(t[(en(e,5,948)|0)+4>>2]|0)!=0:0)?e=1:e=(t[(en(e,t[1e3+(n<<2)>>2]|0,948)|0)+4>>2]|0)!=0,e|0}function _r(e,n,r){e=e|0,n=n|0,r=w(r);var o=0,s=0;return e=e+132|0,(Nr(n)|0?(o=en(e,5,948)|0,(t[o+4>>2]|0)!=0):0)?s=4:(o=en(e,t[1e3+(n<<2)>>2]|0,948)|0,t[o+4>>2]|0?s=4:r=w(0)),(s|0)==4&&(r=w(Tn(o,r))),w(r)}function Wr(e,n,r){return e=e|0,n=n|0,r=w(r),X(e,n)|0?r=w(Y(e,n,r)):r=w(-w(_r(e,n,r))),w(r)}function Ar(e){return e=w(e),D[j>>2]=e,t[j>>2]|0|0}function z(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function dr(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Or(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function Qn(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;if(d=e+4|0,_=t[d>>2]|0,s=_-o|0,l=s>>2,e=n+(l<<2)|0,e>>>0>>0){o=_;do t[o>>2]=t[e>>2],e=e+4|0,o=(t[d>>2]|0)+4|0,t[d>>2]=o;while(e>>>0>>0)}l|0&&Y1(_+(0-l<<2)|0,n|0,s|0)|0}function nn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return _=n+4|0,y=t[_>>2]|0,s=t[e>>2]|0,d=r,l=d-s|0,o=y+(0-(l>>2)<<2)|0,t[_>>2]=o,(l|0)>0&&vn(o|0,s|0,l|0)|0,s=e+4|0,l=n+8|0,o=(t[s>>2]|0)-d|0,(o|0)>0&&(vn(t[l>>2]|0,r|0,o|0)|0,t[l>>2]=(t[l>>2]|0)+(o>>>2<<2)),d=t[e>>2]|0,t[e>>2]=t[_>>2],t[_>>2]=d,d=t[s>>2]|0,t[s>>2]=t[l>>2],t[l>>2]=d,d=e+8|0,r=n+12|0,e=t[d>>2]|0,t[d>>2]=t[r>>2],t[r>>2]=e,t[n>>2]=t[_>>2],y|0}function s0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;if(d=t[n>>2]|0,l=t[r>>2]|0,(d|0)!=(l|0)){s=e+8|0,r=((l+-4-d|0)>>>2)+1|0,e=d,o=t[s>>2]|0;do t[o>>2]=t[e>>2],o=(t[s>>2]|0)+4|0,t[s>>2]=o,e=e+4|0;while((e|0)!=(l|0));t[n>>2]=d+(r<<2)}}function t0(){_l()}function g0(){var e=0;return e=Tt(4)|0,Kr(e),e|0}function Kr(e){e=e|0,t[e>>2]=a0()|0}function _0(e){e=e|0,e|0&&(Gi(e),Ve(e))}function Gi(e){e=e|0,V0(t[e>>2]|0)}function fo(e,n,r){e=e|0,n=n|0,r=r|0,J0(t[e>>2]|0,n,r)}function x0(e,n){e=e|0,n=w(n),ki(t[e>>2]|0,n)}function Xu(e,n){return e=e|0,n=n|0,fn(t[e>>2]|0,n)|0}function Z0(){var e=0;return e=Tt(8)|0,df(e,0),e|0}function df(e,n){e=e|0,n=n|0,n?n=I0(t[n>>2]|0)|0:n=qu()|0,t[e>>2]=n,t[e+4>>2]=0,Bs(n,e)}function Ba(e){e=e|0;var n=0;return n=Tt(8)|0,df(n,e),n|0}function Oc(e){e=e|0,e|0&&(mu(e),Ve(e))}function mu(e){e=e|0;var n=0;Wu(t[e>>2]|0),n=e+4|0,e=t[n>>2]|0,t[n>>2]=0,e|0&&(Ju(e),Ve(e))}function Ju(e){e=e|0,ei(e)}function ei(e){e=e|0,e=t[e>>2]|0,e|0&&ju(e|0)}function Yf(e){return e=e|0,Vu(e)|0}function pf(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Ju(n),Ve(n)),Do(t[e>>2]|0)}function ja(e,n){e=e|0,n=n|0,Gu(t[e>>2]|0,t[n>>2]|0)}function Ua(e,n){e=e|0,n=n|0,W(t[e>>2]|0,n)}function Ic(e,n,r){e=e|0,n=n|0,r=+r,yn(t[e>>2]|0,n,w(r))}function vu(e,n,r){e=e|0,n=n|0,r=+r,sn(t[e>>2]|0,n,w(r))}function $f(e,n){e=e|0,n=n|0,R(t[e>>2]|0,n)}function gu(e,n){e=e|0,n=n|0,H(t[e>>2]|0,n)}function co(e,n){e=e|0,n=n|0,ue(t[e>>2]|0,n)}function qa(e,n){e=e|0,n=n|0,M0(t[e>>2]|0,n)}function Ws(e,n){e=e|0,n=n|0,Fe(t[e>>2]|0,n)}function za(e,n){e=e|0,n=n|0,Lr(t[e>>2]|0,n)}function Pc(e,n,r){e=e|0,n=n|0,r=+r,rn(t[e>>2]|0,n,w(r))}function Qu(e,n,r){e=e|0,n=n|0,r=+r,Hn(t[e>>2]|0,n,w(r))}function Mc(e,n){e=e|0,n=n|0,Cr(t[e>>2]|0,n)}function Fc(e,n){e=e|0,n=n|0,K(t[e>>2]|0,n)}function Lc(e,n){e=e|0,n=n|0,je(t[e>>2]|0,n)}function Kf(e,n){e=e|0,n=+n,rt(t[e>>2]|0,w(n))}function Tl(e,n){e=e|0,n=+n,wt(t[e>>2]|0,w(n))}function xl(e,n){e=e|0,n=+n,lt(t[e>>2]|0,w(n))}function hf(e,n){e=e|0,n=+n,st(t[e>>2]|0,w(n))}function xo(e,n){e=e|0,n=+n,xt(t[e>>2]|0,w(n))}function mf(e,n){e=e|0,n=+n,Qt(t[e>>2]|0,w(n))}function Wa(e,n){e=e|0,n=+n,Cn(t[e>>2]|0,w(n))}function ti(e){e=e|0,bn(t[e>>2]|0)}function Hs(e,n){e=e|0,n=+n,h0(t[e>>2]|0,w(n))}function mi(e,n){e=e|0,n=+n,ci(t[e>>2]|0,w(n))}function vi(e){e=e|0,xi(t[e>>2]|0)}function Xf(e,n){e=e|0,n=+n,qr(t[e>>2]|0,w(n))}function Rc(e,n){e=e|0,n=+n,Eo(t[e>>2]|0,w(n))}function Jf(e,n){e=e|0,n=+n,wl(t[e>>2]|0,w(n))}function ao(e,n){e=e|0,n=+n,js(t[e>>2]|0,w(n))}function $o(e,n){e=e|0,n=+n,du(t[e>>2]|0,w(n))}function kl(e,n){e=e|0,n=+n,Yu(t[e>>2]|0,w(n))}function Nc(e,n){e=e|0,n=+n,oo(t[e>>2]|0,w(n))}function Al(e,n){e=e|0,n=+n,Hi(t[e>>2]|0,w(n))}function vf(e,n){e=e|0,n=+n,F0(t[e>>2]|0,w(n))}function Qf(e,n,r){e=e|0,n=n|0,r=+r,ft(t[e>>2]|0,n,w(r))}function k0(e,n,r){e=e|0,n=n|0,r=+r,He(t[e>>2]|0,n,w(r))}function v(e,n,r){e=e|0,n=n|0,r=+r,Qe(t[e>>2]|0,n,w(r))}function m(e){return e=e|0,ve(t[e>>2]|0)|0}function S(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,ar(s,t[n>>2]|0,r),O(e,s),h=o}function O(e,n){e=e|0,n=n|0,M(e,t[n+4>>2]|0,+w(D[n>>2]))}function M(e,n,r){e=e|0,n=n|0,r=+r,t[e>>2]=n,L[e+8>>3]=r}function b(e){return e=e|0,U(t[e>>2]|0)|0}function ee(e){return e=e|0,fe(t[e>>2]|0)|0}function Ye(e){return e=e|0,de(t[e>>2]|0)|0}function Ze(e){return e=e|0,au(t[e>>2]|0)|0}function ut(e){return e=e|0,Ge(t[e>>2]|0)|0}function In(e){return e=e|0,F(t[e>>2]|0)|0}function A0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,d0(s,t[n>>2]|0,r),O(e,s),h=o}function jr(e){return e=e|0,xe(t[e>>2]|0)|0}function gi(e){return e=e|0,Xe(t[e>>2]|0)|0}function po(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Rt(o,t[n>>2]|0),O(e,o),h=r}function _i(e){return e=e|0,+ +w(yl(t[e>>2]|0))}function Re(e){return e=e|0,+ +w(cu(t[e>>2]|0))}function Ce(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,p0(o,t[n>>2]|0),O(e,o),h=r}function ze(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,E0(o,t[n>>2]|0),O(e,o),h=r}function Et(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,So(o,t[n>>2]|0),O(e,o),h=r}function on(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Dl(o,t[n>>2]|0),O(e,o),h=r}function sr(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Us(o,t[n>>2]|0),O(e,o),h=r}function mn(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,qs(o,t[n>>2]|0),O(e,o),h=r}function pr(e){return e=e|0,+ +w(Gr(t[e>>2]|0))}function Hr(e,n){return e=e|0,n=n|0,+ +w(St(t[e>>2]|0,n))}function Vn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,Ne(s,t[n>>2]|0,r),O(e,s),h=o}function ni(e,n,r){e=e|0,n=n|0,r=r|0,Ns(t[e>>2]|0,t[n>>2]|0,r)}function Zf(e,n){e=e|0,n=n|0,D0(t[e>>2]|0,t[n>>2]|0)}function Pm(e){return e=e|0,fi(t[e>>2]|0)|0}function Ha(e){return e=e|0,e=nr(t[e>>2]|0)|0,e?e=Yf(e)|0:e=0,e|0}function vd(e,n){return e=e|0,n=n|0,e=e0(t[e>>2]|0,n)|0,e?e=Yf(e)|0:e=0,e|0}function gd(e,n){e=e|0,n=n|0;var r=0,o=0;o=Tt(4)|0,ba(o,n),r=e+4|0,n=t[r>>2]|0,t[r>>2]=o,n|0&&(Ju(n),Ve(n)),bu(t[e>>2]|0,1)}function ba(e,n){e=e|0,n=n|0,Oo(e,n)}function Bc(e,n,r,o,s,l){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0;var d=0,_=0;d=h,h=h+16|0,_=d,Mm(_,Vu(n)|0,+r,o,+s,l),D[e>>2]=w(+L[_>>3]),D[e+4>>2]=w(+L[_+8>>3]),h=d}function Mm(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0,_=0,y=0,k=0,T=0;d=h,h=h+32|0,T=d+8|0,k=d+20|0,y=d,_=d+16|0,L[T>>3]=r,t[k>>2]=o,L[y>>3]=s,t[_>>2]=l,_d(e,t[n+4>>2]|0,T,k,y,_),h=d}function _d(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0;d=h,h=h+16|0,_=d,Zo(_),n=Oi(n)|0,Fm(e,n,+L[r>>3],t[o>>2]|0,+L[s>>3],t[l>>2]|0),eu(_),h=d}function Oi(e){return e=e|0,t[e>>2]|0}function Fm(e,n,r,o,s,l){e=e|0,n=n|0,r=+r,o=o|0,s=+s,l=l|0;var d=0;d=ko(yd()|0)|0,r=+Ko(r),o=jc(o)|0,s=+Ko(s),Ga(e,ro(0,d|0,n|0,+r,o|0,+s,jc(l)|0)|0)}function yd(){var e=0;return c[7608]|0||(Ed(9120),e=7608,t[e>>2]=1,t[e+4>>2]=0),9120}function ko(e){return e=e|0,t[e+8>>2]|0}function Ko(e){return e=+e,+ +Ol(e)}function jc(e){return e=e|0,Dd(e)|0}function Ga(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+32|0,r=s,o=n,o&1?(Lm(r,0),c0(o|0,r|0)|0,Va(e,r),Wn(r)):(t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]),h=s}function Lm(e,n){e=e|0,n=n|0,wd(e,n),t[e+8>>2]=0,c[e+24>>0]=0}function Va(e,n){e=e|0,n=n|0,n=n+8|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2]}function Wn(e){e=e|0,c[e+24>>0]=0}function wd(e,n){e=e|0,n=n|0,t[e>>2]=n}function Dd(e){return e=e|0,e|0}function Ol(e){return e=+e,+e}function Ed(e){e=e|0,Ao(e,Rm()|0,4)}function Rm(){return 1064}function Ao(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=hl(n|0,r+1|0)|0}function Oo(e,n){e=e|0,n=n|0,n=t[n>>2]|0,t[e>>2]=n,qi(n|0)}function Nm(e){e=e|0;var n=0,r=0;r=e+4|0,n=t[r>>2]|0,t[r>>2]=0,n|0&&(Ju(n),Ve(n)),bu(t[e>>2]|0,0)}function Uc(e){e=e|0,rr(t[e>>2]|0)}function Ya(e){return e=e|0,Go(t[e>>2]|0)|0}function Sd(e,n,r,o){e=e|0,n=+n,r=+r,o=o|0,Yr(t[e>>2]|0,w(n),w(r),o)}function Cd(e){return e=e|0,+ +w(ir(t[e>>2]|0))}function ho(e){return e=e|0,+ +w(Y0(t[e>>2]|0))}function bs(e){return e=e|0,+ +w(L0(t[e>>2]|0))}function $a(e){return e=e|0,+ +w(Co(t[e>>2]|0))}function Td(e){return e=e|0,+ +w($u(t[e>>2]|0))}function qc(e){return e=e|0,+ +w(Vo(t[e>>2]|0))}function xd(e,n){e=e|0,n=n|0,L[e>>3]=+w(ir(t[n>>2]|0)),L[e+8>>3]=+w(Y0(t[n>>2]|0)),L[e+16>>3]=+w(L0(t[n>>2]|0)),L[e+24>>3]=+w(Co(t[n>>2]|0)),L[e+32>>3]=+w($u(t[n>>2]|0)),L[e+40>>3]=+w(Vo(t[n>>2]|0))}function Ka(e,n){return e=e|0,n=n|0,+ +w(Rr(t[e>>2]|0,n))}function kd(e,n){return e=e|0,n=n|0,+ +w(Jn(t[e>>2]|0,n))}function Xa(e,n){return e=e|0,n=n|0,+ +w(ai(t[e>>2]|0,n))}function Ja(){return Rs()|0}function Gs(){Bm(),Vs(),Ad(),Od(),Qa(),jm()}function Bm(){hO(11713,4938,1)}function Vs(){FA(10448)}function Ad(){hA(10408)}function Od(){Bk(10324)}function Qa(){Gx(10096)}function jm(){Um(9132)}function Um(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0,Ki=0,Xi=0,Ji=0,Ro=0,kf=0,Af=0,Cu=0,Of=0,Js=0,Qs=0,If=0,Pf=0,Mf=0,Kn=0,Tu=0,Ff=0,us=0,Lf=0,Rf=0,Zs=0,el=0,ss=0,Fi=0,nu=0,go=0,xu=0,jl=0,Ul=0,tl=0,ql=0,zl=0,Li=0,Di=0,ku=0,xr=0,Wl=0,Qi=0,ls=0,Zi=0,fs=0,Hl=0,bl=0,cs=0,Ri=0,Au=0,Gl=0,Vl=0,Yl=0,En=0,br=0,Ei=0,eo=0,Ni=0,xn=0,Vt=0,Ou=0;n=h,h=h+672|0,r=n+656|0,Ou=n+648|0,Vt=n+640|0,xn=n+632|0,Ni=n+624|0,eo=n+616|0,Ei=n+608|0,br=n+600|0,En=n+592|0,Yl=n+584|0,Vl=n+576|0,Gl=n+568|0,Au=n+560|0,Ri=n+552|0,cs=n+544|0,bl=n+536|0,Hl=n+528|0,fs=n+520|0,Zi=n+512|0,ls=n+504|0,Qi=n+496|0,Wl=n+488|0,xr=n+480|0,ku=n+472|0,Di=n+464|0,Li=n+456|0,zl=n+448|0,ql=n+440|0,tl=n+432|0,Ul=n+424|0,jl=n+416|0,xu=n+408|0,go=n+400|0,nu=n+392|0,Fi=n+384|0,ss=n+376|0,el=n+368|0,Zs=n+360|0,Rf=n+352|0,Lf=n+344|0,us=n+336|0,Ff=n+328|0,Tu=n+320|0,Kn=n+312|0,Mf=n+304|0,Pf=n+296|0,If=n+288|0,Qs=n+280|0,Js=n+272|0,Of=n+264|0,Cu=n+256|0,Af=n+248|0,kf=n+240|0,Ro=n+232|0,Ji=n+224|0,Xi=n+216|0,Ki=n+208|0,Dr=n+200|0,zt=n+192|0,Pn=n+184|0,gn=n+176|0,It=n+168|0,Ht=n+160|0,Ln=n+152|0,vt=n+144|0,_e=n+136|0,pe=n+128|0,qe=n+120|0,ke=n+112|0,Pe=n+104|0,ie=n+96|0,le=n+88|0,we=n+80|0,q=n+72|0,P=n+64|0,T=n+56|0,k=n+48|0,y=n+40|0,_=n+32|0,d=n+24|0,l=n+16|0,s=n+8|0,o=n,qm(e,3646),Id(e,3651,2)|0,Pd(e,3665,2)|0,zm(e,3682,18)|0,t[Ou>>2]=19,t[Ou+4>>2]=0,t[r>>2]=t[Ou>>2],t[r+4>>2]=t[Ou+4>>2],gf(e,3690,r)|0,t[Vt>>2]=1,t[Vt+4>>2]=0,t[r>>2]=t[Vt>>2],t[r+4>>2]=t[Vt+4>>2],Md(e,3696,r)|0,t[xn>>2]=2,t[xn+4>>2]=0,t[r>>2]=t[xn>>2],t[r+4>>2]=t[xn+4>>2],Xr(e,3706,r)|0,t[Ni>>2]=1,t[Ni+4>>2]=0,t[r>>2]=t[Ni>>2],t[r+4>>2]=t[Ni+4>>2],yi(e,3722,r)|0,t[eo>>2]=2,t[eo+4>>2]=0,t[r>>2]=t[eo>>2],t[r+4>>2]=t[eo+4>>2],yi(e,3734,r)|0,t[Ei>>2]=3,t[Ei+4>>2]=0,t[r>>2]=t[Ei>>2],t[r+4>>2]=t[Ei+4>>2],Xr(e,3753,r)|0,t[br>>2]=4,t[br+4>>2]=0,t[r>>2]=t[br>>2],t[r+4>>2]=t[br+4>>2],Xr(e,3769,r)|0,t[En>>2]=5,t[En+4>>2]=0,t[r>>2]=t[En>>2],t[r+4>>2]=t[En+4>>2],Xr(e,3783,r)|0,t[Yl>>2]=6,t[Yl+4>>2]=0,t[r>>2]=t[Yl>>2],t[r+4>>2]=t[Yl+4>>2],Xr(e,3796,r)|0,t[Vl>>2]=7,t[Vl+4>>2]=0,t[r>>2]=t[Vl>>2],t[r+4>>2]=t[Vl+4>>2],Xr(e,3813,r)|0,t[Gl>>2]=8,t[Gl+4>>2]=0,t[r>>2]=t[Gl>>2],t[r+4>>2]=t[Gl+4>>2],Xr(e,3825,r)|0,t[Au>>2]=3,t[Au+4>>2]=0,t[r>>2]=t[Au>>2],t[r+4>>2]=t[Au+4>>2],yi(e,3843,r)|0,t[Ri>>2]=4,t[Ri+4>>2]=0,t[r>>2]=t[Ri>>2],t[r+4>>2]=t[Ri+4>>2],yi(e,3853,r)|0,t[cs>>2]=9,t[cs+4>>2]=0,t[r>>2]=t[cs>>2],t[r+4>>2]=t[cs+4>>2],Xr(e,3870,r)|0,t[bl>>2]=10,t[bl+4>>2]=0,t[r>>2]=t[bl>>2],t[r+4>>2]=t[bl+4>>2],Xr(e,3884,r)|0,t[Hl>>2]=11,t[Hl+4>>2]=0,t[r>>2]=t[Hl>>2],t[r+4>>2]=t[Hl+4>>2],Xr(e,3896,r)|0,t[fs>>2]=1,t[fs+4>>2]=0,t[r>>2]=t[fs>>2],t[r+4>>2]=t[fs+4>>2],j0(e,3907,r)|0,t[Zi>>2]=2,t[Zi+4>>2]=0,t[r>>2]=t[Zi>>2],t[r+4>>2]=t[Zi+4>>2],j0(e,3915,r)|0,t[ls>>2]=3,t[ls+4>>2]=0,t[r>>2]=t[ls>>2],t[r+4>>2]=t[ls+4>>2],j0(e,3928,r)|0,t[Qi>>2]=4,t[Qi+4>>2]=0,t[r>>2]=t[Qi>>2],t[r+4>>2]=t[Qi+4>>2],j0(e,3948,r)|0,t[Wl>>2]=5,t[Wl+4>>2]=0,t[r>>2]=t[Wl>>2],t[r+4>>2]=t[Wl+4>>2],j0(e,3960,r)|0,t[xr>>2]=6,t[xr+4>>2]=0,t[r>>2]=t[xr>>2],t[r+4>>2]=t[xr+4>>2],j0(e,3974,r)|0,t[ku>>2]=7,t[ku+4>>2]=0,t[r>>2]=t[ku>>2],t[r+4>>2]=t[ku+4>>2],j0(e,3983,r)|0,t[Di>>2]=20,t[Di+4>>2]=0,t[r>>2]=t[Di>>2],t[r+4>>2]=t[Di+4>>2],gf(e,3999,r)|0,t[Li>>2]=8,t[Li+4>>2]=0,t[r>>2]=t[Li>>2],t[r+4>>2]=t[Li+4>>2],j0(e,4012,r)|0,t[zl>>2]=9,t[zl+4>>2]=0,t[r>>2]=t[zl>>2],t[r+4>>2]=t[zl+4>>2],j0(e,4022,r)|0,t[ql>>2]=21,t[ql+4>>2]=0,t[r>>2]=t[ql>>2],t[r+4>>2]=t[ql+4>>2],gf(e,4039,r)|0,t[tl>>2]=10,t[tl+4>>2]=0,t[r>>2]=t[tl>>2],t[r+4>>2]=t[tl+4>>2],j0(e,4053,r)|0,t[Ul>>2]=11,t[Ul+4>>2]=0,t[r>>2]=t[Ul>>2],t[r+4>>2]=t[Ul+4>>2],j0(e,4065,r)|0,t[jl>>2]=12,t[jl+4>>2]=0,t[r>>2]=t[jl>>2],t[r+4>>2]=t[jl+4>>2],j0(e,4084,r)|0,t[xu>>2]=13,t[xu+4>>2]=0,t[r>>2]=t[xu>>2],t[r+4>>2]=t[xu+4>>2],j0(e,4097,r)|0,t[go>>2]=14,t[go+4>>2]=0,t[r>>2]=t[go>>2],t[r+4>>2]=t[go+4>>2],j0(e,4117,r)|0,t[nu>>2]=15,t[nu+4>>2]=0,t[r>>2]=t[nu>>2],t[r+4>>2]=t[nu+4>>2],j0(e,4129,r)|0,t[Fi>>2]=16,t[Fi+4>>2]=0,t[r>>2]=t[Fi>>2],t[r+4>>2]=t[Fi+4>>2],j0(e,4148,r)|0,t[ss>>2]=17,t[ss+4>>2]=0,t[r>>2]=t[ss>>2],t[r+4>>2]=t[ss+4>>2],j0(e,4161,r)|0,t[el>>2]=18,t[el+4>>2]=0,t[r>>2]=t[el>>2],t[r+4>>2]=t[el+4>>2],j0(e,4181,r)|0,t[Zs>>2]=5,t[Zs+4>>2]=0,t[r>>2]=t[Zs>>2],t[r+4>>2]=t[Zs+4>>2],yi(e,4196,r)|0,t[Rf>>2]=6,t[Rf+4>>2]=0,t[r>>2]=t[Rf>>2],t[r+4>>2]=t[Rf+4>>2],yi(e,4206,r)|0,t[Lf>>2]=7,t[Lf+4>>2]=0,t[r>>2]=t[Lf>>2],t[r+4>>2]=t[Lf+4>>2],yi(e,4217,r)|0,t[us>>2]=3,t[us+4>>2]=0,t[r>>2]=t[us>>2],t[r+4>>2]=t[us+4>>2],Zu(e,4235,r)|0,t[Ff>>2]=1,t[Ff+4>>2]=0,t[r>>2]=t[Ff>>2],t[r+4>>2]=t[Ff+4>>2],_f(e,4251,r)|0,t[Tu>>2]=4,t[Tu+4>>2]=0,t[r>>2]=t[Tu>>2],t[r+4>>2]=t[Tu+4>>2],Zu(e,4263,r)|0,t[Kn>>2]=5,t[Kn+4>>2]=0,t[r>>2]=t[Kn>>2],t[r+4>>2]=t[Kn+4>>2],Zu(e,4279,r)|0,t[Mf>>2]=6,t[Mf+4>>2]=0,t[r>>2]=t[Mf>>2],t[r+4>>2]=t[Mf+4>>2],Zu(e,4293,r)|0,t[Pf>>2]=7,t[Pf+4>>2]=0,t[r>>2]=t[Pf>>2],t[r+4>>2]=t[Pf+4>>2],Zu(e,4306,r)|0,t[If>>2]=8,t[If+4>>2]=0,t[r>>2]=t[If>>2],t[r+4>>2]=t[If+4>>2],Zu(e,4323,r)|0,t[Qs>>2]=9,t[Qs+4>>2]=0,t[r>>2]=t[Qs>>2],t[r+4>>2]=t[Qs+4>>2],Zu(e,4335,r)|0,t[Js>>2]=2,t[Js+4>>2]=0,t[r>>2]=t[Js>>2],t[r+4>>2]=t[Js+4>>2],_f(e,4353,r)|0,t[Of>>2]=12,t[Of+4>>2]=0,t[r>>2]=t[Of>>2],t[r+4>>2]=t[Of+4>>2],Io(e,4363,r)|0,t[Cu>>2]=1,t[Cu+4>>2]=0,t[r>>2]=t[Cu>>2],t[r+4>>2]=t[Cu+4>>2],_u(e,4376,r)|0,t[Af>>2]=2,t[Af+4>>2]=0,t[r>>2]=t[Af>>2],t[r+4>>2]=t[Af+4>>2],_u(e,4388,r)|0,t[kf>>2]=13,t[kf+4>>2]=0,t[r>>2]=t[kf>>2],t[r+4>>2]=t[kf+4>>2],Io(e,4402,r)|0,t[Ro>>2]=14,t[Ro+4>>2]=0,t[r>>2]=t[Ro>>2],t[r+4>>2]=t[Ro+4>>2],Io(e,4411,r)|0,t[Ji>>2]=15,t[Ji+4>>2]=0,t[r>>2]=t[Ji>>2],t[r+4>>2]=t[Ji+4>>2],Io(e,4421,r)|0,t[Xi>>2]=16,t[Xi+4>>2]=0,t[r>>2]=t[Xi>>2],t[r+4>>2]=t[Xi+4>>2],Io(e,4433,r)|0,t[Ki>>2]=17,t[Ki+4>>2]=0,t[r>>2]=t[Ki>>2],t[r+4>>2]=t[Ki+4>>2],Io(e,4446,r)|0,t[Dr>>2]=18,t[Dr+4>>2]=0,t[r>>2]=t[Dr>>2],t[r+4>>2]=t[Dr+4>>2],Io(e,4458,r)|0,t[zt>>2]=3,t[zt+4>>2]=0,t[r>>2]=t[zt>>2],t[r+4>>2]=t[zt+4>>2],_u(e,4471,r)|0,t[Pn>>2]=1,t[Pn+4>>2]=0,t[r>>2]=t[Pn>>2],t[r+4>>2]=t[Pn+4>>2],ec(e,4486,r)|0,t[gn>>2]=10,t[gn+4>>2]=0,t[r>>2]=t[gn>>2],t[r+4>>2]=t[gn+4>>2],Zu(e,4496,r)|0,t[It>>2]=11,t[It+4>>2]=0,t[r>>2]=t[It>>2],t[r+4>>2]=t[It+4>>2],Zu(e,4508,r)|0,t[Ht>>2]=3,t[Ht+4>>2]=0,t[r>>2]=t[Ht>>2],t[r+4>>2]=t[Ht+4>>2],_f(e,4519,r)|0,t[Ln>>2]=4,t[Ln+4>>2]=0,t[r>>2]=t[Ln>>2],t[r+4>>2]=t[Ln+4>>2],Wm(e,4530,r)|0,t[vt>>2]=19,t[vt+4>>2]=0,t[r>>2]=t[vt>>2],t[r+4>>2]=t[vt+4>>2],Fd(e,4542,r)|0,t[_e>>2]=12,t[_e+4>>2]=0,t[r>>2]=t[_e>>2],t[r+4>>2]=t[_e+4>>2],yf(e,4554,r)|0,t[pe>>2]=13,t[pe+4>>2]=0,t[r>>2]=t[pe>>2],t[r+4>>2]=t[pe+4>>2],tc(e,4568,r)|0,t[qe>>2]=2,t[qe+4>>2]=0,t[r>>2]=t[qe>>2],t[r+4>>2]=t[qe+4>>2],Hm(e,4578,r)|0,t[ke>>2]=20,t[ke+4>>2]=0,t[r>>2]=t[ke>>2],t[r+4>>2]=t[ke+4>>2],Ld(e,4587,r)|0,t[Pe>>2]=22,t[Pe+4>>2]=0,t[r>>2]=t[Pe>>2],t[r+4>>2]=t[Pe+4>>2],gf(e,4602,r)|0,t[ie>>2]=23,t[ie+4>>2]=0,t[r>>2]=t[ie>>2],t[r+4>>2]=t[ie+4>>2],gf(e,4619,r)|0,t[le>>2]=14,t[le+4>>2]=0,t[r>>2]=t[le>>2],t[r+4>>2]=t[le+4>>2],Rd(e,4629,r)|0,t[we>>2]=1,t[we+4>>2]=0,t[r>>2]=t[we>>2],t[r+4>>2]=t[we+4>>2],zc(e,4637,r)|0,t[q>>2]=4,t[q+4>>2]=0,t[r>>2]=t[q>>2],t[r+4>>2]=t[q+4>>2],_u(e,4653,r)|0,t[P>>2]=5,t[P+4>>2]=0,t[r>>2]=t[P>>2],t[r+4>>2]=t[P+4>>2],_u(e,4669,r)|0,t[T>>2]=6,t[T+4>>2]=0,t[r>>2]=t[T>>2],t[r+4>>2]=t[T+4>>2],_u(e,4686,r)|0,t[k>>2]=7,t[k+4>>2]=0,t[r>>2]=t[k>>2],t[r+4>>2]=t[k+4>>2],_u(e,4701,r)|0,t[y>>2]=8,t[y+4>>2]=0,t[r>>2]=t[y>>2],t[r+4>>2]=t[y+4>>2],_u(e,4719,r)|0,t[_>>2]=9,t[_+4>>2]=0,t[r>>2]=t[_>>2],t[r+4>>2]=t[_+4>>2],_u(e,4736,r)|0,t[d>>2]=21,t[d+4>>2]=0,t[r>>2]=t[d>>2],t[r+4>>2]=t[d+4>>2],Nd(e,4754,r)|0,t[l>>2]=2,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],ec(e,4772,r)|0,t[s>>2]=3,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],ec(e,4790,r)|0,t[o>>2]=4,t[o+4>>2]=0,t[r>>2]=t[o>>2],t[r+4>>2]=t[o+4>>2],ec(e,4808,r)|0,h=n}function qm(e,n){e=e|0,n=n|0;var r=0;r=Nx()|0,t[e>>2]=r,Bx(r,n),Cf(t[e>>2]|0)}function Id(e,n,r){return e=e|0,n=n|0,r=r|0,Ex(e,Zn(n)|0,r,0),e|0}function Pd(e,n,r){return e=e|0,n=n|0,r=r|0,ux(e,Zn(n)|0,r,0),e|0}function zm(e,n,r){return e=e|0,n=n|0,r=r|0,V9(e,Zn(n)|0,r,0),e|0}function gf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],I9(e,n,s),h=o,e|0}function Md(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],vo(e,n,s),h=o,e|0}function Xr(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],a(e,n,s),h=o,e|0}function yi(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],n4(e,n,s),h=o,e|0}function j0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],b_(e,n,s),h=o,e|0}function Zu(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],L_(e,n,s),h=o,e|0}function _f(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Hp(e,n,s),h=o,e|0}function Io(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],e_(e,n,s),h=o,e|0}function _u(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ip(e,n,s),h=o,e|0}function ec(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ng(e,n,s),h=o,e|0}function Wm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],l0(e,n,s),h=o,e|0}function Fd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],hg(e,n,s),h=o,e|0}function yf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],sg(e,n,s),h=o,e|0}function tc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Kv(e,n,s),h=o,e|0}function Hm(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],y1(e,n,s),h=o,e|0}function Ld(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],wv(e,n,s),h=o,e|0}function Rd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],fv(e,n,s),h=o,e|0}function zc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Gd(e,n,s),h=o,e|0}function Nd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Wc(e,n,s),h=o,e|0}function Wc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Hc(e,r,s,1),h=o}function Zn(e){return e=e|0,e|0}function Hc(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Za()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Bd(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,bc(l,o)|0,o),h=s}function Za(){var e=0,n=0;if(c[7616]|0||(yu(9136),Bt(24,9136,Q|0)|0,n=7616,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9136)|0)){e=9136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));yu(9136)}return 9136}function Bd(e){return e=e|0,0}function bc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Za()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],n1(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jd(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ur(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0;d=h,h=h+32|0,q=d+24|0,P=d+20|0,y=d+16|0,T=d+12|0,k=d+8|0,_=d+4|0,we=d,t[P>>2]=n,t[y>>2]=r,t[T>>2]=o,t[k>>2]=s,t[_>>2]=l,l=e+28|0,t[we>>2]=t[l>>2],t[q>>2]=t[we>>2],e1(e+24|0,q,P,T,k,y,_)|0,t[l>>2]=t[t[l>>2]>>2],h=d}function e1(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,e=bm(n)|0,n=Tt(24)|0,t1(n+4|0,t[r>>2]|0,t[o>>2]|0,t[s>>2]|0,t[l>>2]|0,t[d>>2]|0),t[n>>2]=t[e>>2],t[e>>2]=n,n|0}function bm(e){return e=e|0,t[e>>2]|0}function t1(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=o,t[e+12>>2]=s,t[e+16>>2]=l}function Lt(e,n){return e=e|0,n=n|0,n|e|0}function n1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Gm(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Ud(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],n1(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Vm(e,_),Ym(_),h=k;return}}function Gm(e){return e=e|0,357913941}function Ud(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Vm(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ym(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function yu(e){e=e|0,Gc(e)}function r1(e){e=e|0,i1(e+24|0)}function Dn(e){return e=e|0,t[e>>2]|0}function i1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Gc(e){e=e|0;var n=0;n=An()|0,Nn(e,2,3,n,cn()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function An(){return 9228}function cn(){return 1140}function Vc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Il(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=$m(n,o)|0,h=r,n|0}function Nn(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,t[e>>2]=n,t[e+4>>2]=r,t[e+8>>2]=o,t[e+12>>2]=s,t[e+16>>2]=l}function Il(e){return e=e|0,(t[(Za()|0)+24>>2]|0)+(e*12|0)|0}function $m(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+48|0,o=s,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Bl[r&31](o,e),o=o1(o)|0,h=s,o|0}function o1(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(u1()|0)|0,o?(s1(n,o),l1(r,n),qd(e,r),e=f1(n)|0):e=zd(e)|0,h=s,e|0}function u1(){var e=0;return c[7632]|0||(nc(9184),Bt(25,9184,Q|0)|0,e=7632,t[e>>2]=1,t[e+4>>2]=0),9184}function U0(e){return e=e|0,t[e+36>>2]|0}function s1(e,n){e=e|0,n=n|0,t[e>>2]=n,t[e+4>>2]=e,t[e+8>>2]=0}function l1(e,n){e=e|0,n=n|0,t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=0}function qd(e,n){e=e|0,n=n|0,Ii(n,e,e+8|0,e+16|0,e+24|0,e+32|0,e+40|0)|0}function f1(e){return e=e|0,t[(t[e+4>>2]|0)+8>>2]|0}function zd(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0;y=h,h=h+16|0,r=y+4|0,o=y,s=Qo(8)|0,l=s,d=Tt(48)|0,_=d,n=_+48|0;do t[_>>2]=t[e>>2],_=_+4|0,e=e+4|0;while((_|0)<(n|0));return n=l+4|0,t[n>>2]=d,_=Tt(8)|0,d=t[n>>2]|0,t[o>>2]=0,t[r>>2]=t[o>>2],Wd(_,d,r),t[s>>2]=_,h=y,l|0}function Wd(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1092,t[r+12>>2]=n,t[e+4>>2]=r}function Km(e){e=e|0,da(e),Ve(e)}function Xm(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function es(e){e=e|0,Ve(e)}function Ii(e,n,r,o,s,l,d){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,l=c1(t[e>>2]|0,n,r,o,s,l,d)|0,d=e+4|0,t[(t[d>>2]|0)+8>>2]=l,t[(t[d>>2]|0)+8>>2]|0}function c1(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0;var _=0,y=0;return _=h,h=h+16|0,y=_,Zo(y),e=Oi(e)|0,d=Jm(e,+L[n>>3],+L[r>>3],+L[o>>3],+L[s>>3],+L[l>>3],+L[d>>3])|0,eu(y),h=_,d|0}function Jm(e,n,r,o,s,l,d){e=e|0,n=+n,r=+r,o=+o,s=+s,l=+l,d=+d;var _=0;return _=ko(a1()|0)|0,n=+Ko(n),r=+Ko(r),o=+Ko(o),s=+Ko(s),l=+Ko(l),xs(0,_|0,e|0,+n,+r,+o,+s,+l,+ +Ko(d))|0}function a1(){var e=0;return c[7624]|0||(Qm(9172),e=7624,t[e>>2]=1,t[e+4>>2]=0),9172}function Qm(e){e=e|0,Ao(e,Zm()|0,6)}function Zm(){return 1112}function nc(e){e=e|0,Ys(e)}function Hd(e){e=e|0,d1(e+24|0),bd(e+16|0)}function d1(e){e=e|0,tv(e)}function bd(e){e=e|0,ev(e)}function ev(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Ve(r);while((n|0)!=0);t[e>>2]=0}function tv(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Ve(r);while((n|0)!=0);t[e>>2]=0}function Ys(e){e=e|0;var n=0;t[e+16>>2]=0,t[e+20>>2]=0,n=e+24|0,t[n>>2]=0,t[e+28>>2]=n,t[e+36>>2]=0,c[e+40>>0]=0,c[e+41>>0]=0}function Gd(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Vd(e,r,s,0),h=o}function Vd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=p1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=h1(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Yd(l,o)|0,o),h=s}function p1(){var e=0,n=0;if(c[7640]|0||(Xo(9232),Bt(26,9232,Q|0)|0,n=7640,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9232)|0)){e=9232,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Xo(9232)}return 9232}function h1(e){return e=e|0,0}function Yd(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=p1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],wf(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(m1(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function wf(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function m1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=$d(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Kd(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],wf(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Yc(e,_),Xd(_),h=k;return}}function $d(e){return e=e|0,357913941}function Kd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Yc(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Xd(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Xo(e){e=e|0,Jd(e)}function Pl(e){e=e|0,nv(e+24|0)}function nv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Jd(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,rv()|0,3),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rv(){return 1144}function iv(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+16|0,d=l+8|0,_=l,y=ov(e)|0,e=t[y+4>>2]|0,t[_>>2]=t[y>>2],t[_+4>>2]=e,t[d>>2]=t[_>>2],t[d+4>>2]=t[_+4>>2],uv(n,d,r,o,s),h=l}function ov(e){return e=e|0,(t[(p1()|0)+24>>2]|0)+(e*12|0)|0}function uv(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0;var l=0,d=0,_=0,y=0,k=0;k=h,h=h+16|0,d=k+2|0,_=k+1|0,y=k,l=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(l=t[(t[e>>2]|0)+l>>2]|0),wu(d,r),r=+Du(d,r),wu(_,o),o=+Du(_,o),ts(y,s),y=ns(y,s)|0,iD[l&1](e,r,o,y),h=k}function wu(e,n){e=e|0,n=+n}function Du(e,n){return e=e|0,n=+n,+ +lv(n)}function ts(e,n){e=e|0,n=n|0}function ns(e,n){return e=e|0,n=n|0,sv(n)|0}function sv(e){return e=e|0,e|0}function lv(e){return e=+e,+e}function fv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Qd(e,r,s,1),h=o}function Qd(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=$c()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Zd(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,cv(l,o)|0,o),h=s}function $c(){var e=0,n=0;if(c[7648]|0||(np(9268),Bt(27,9268,Q|0)|0,n=7648,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9268)|0)){e=9268,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));np(9268)}return 9268}function Zd(e){return e=e|0,0}function cv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=$c()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ep(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(av(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function av(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=tp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,dv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ep(l,o,r),t[y>>2]=(t[y>>2]|0)+12,pv(e,_),hv(_),h=k;return}}function tp(e){return e=e|0,357913941}function dv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function pv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function hv(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function np(e){e=e|0,Po(e)}function mv(e){e=e|0,vv(e+24|0)}function vv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Po(e){e=e|0;var n=0;n=An()|0,Nn(e,2,4,n,gv()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gv(){return 1160}function _v(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=yv(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=rp(n,o)|0,h=r,n|0}function yv(e){return e=e|0,(t[($c()|0)+24>>2]|0)+(e*12|0)|0}function rp(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),ip(dc[r&31](e)|0)|0}function ip(e){return e=e|0,e&1|0}function wv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Dv(e,r,s,0),h=o}function Dv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=v1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=g1(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Ev(l,o)|0,o),h=s}function v1(){var e=0,n=0;if(c[7656]|0||(up(9304),Bt(28,9304,Q|0)|0,n=7656,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9304)|0)){e=9304,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));up(9304)}return 9304}function g1(e){return e=e|0,0}function Ev(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=v1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],op(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Sv(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Sv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Cv(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Tv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],op(l,o,r),t[y>>2]=(t[y>>2]|0)+12,xv(e,_),kv(_),h=k;return}}function Cv(e){return e=e|0,357913941}function Tv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function xv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function kv(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function up(e){e=e|0,Iv(e)}function Av(e){e=e|0,Ov(e+24|0)}function Ov(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Iv(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,Pv()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Pv(){return 1164}function Mv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=Fv(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Lv(n,s,r),h=o}function Fv(e){return e=e|0,(t[(v1()|0)+24>>2]|0)+(e*12|0)|0}function Lv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),$s(s,r),r=Ks(s,r)|0,Bl[o&31](e,r),Xs(s),h=l}function $s(e,n){e=e|0,n=n|0,Rv(e,n)}function Ks(e,n){return e=e|0,n=n|0,e|0}function Xs(e){e=e|0,Ju(e)}function Rv(e,n){e=e|0,n=n|0,_1(e,n)}function _1(e,n){e=e|0,n=n|0,t[e>>2]=n}function y1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],sp(e,r,s,0),h=o}function sp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=w1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Nv(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Bv(l,o)|0,o),h=s}function w1(){var e=0,n=0;if(c[7664]|0||(cp(9340),Bt(29,9340,Q|0)|0,n=7664,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9340)|0)){e=9340,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));cp(9340)}return 9340}function Nv(e){return e=e|0,0}function Bv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=w1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],lp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jv(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function lp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Uv(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,qv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],lp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,zv(e,_),fp(_),h=k;return}}function Uv(e){return e=e|0,357913941}function qv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function zv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function fp(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function cp(e){e=e|0,Hv(e)}function Kc(e){e=e|0,Wv(e+24|0)}function Wv(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Hv(e){e=e|0;var n=0;n=An()|0,Nn(e,2,4,n,bv()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function bv(){return 1180}function Gv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=Vv(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=Yv(n,s,r)|0,h=o,r|0}function Vv(e){return e=e|0,(t[(w1()|0)+24>>2]|0)+(e*12|0)|0}function Yv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),Ml(s,r),s=Fl(s,r)|0,s=Xc(J4[o&15](e,s)|0)|0,h=l,s|0}function Ml(e,n){e=e|0,n=n|0}function Fl(e,n){return e=e|0,n=n|0,$v(n)|0}function Xc(e){return e=e|0,e|0}function $v(e){return e=e|0,e|0}function Kv(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Xv(e,r,s,0),h=o}function Xv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=D1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Jv(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Qv(l,o)|0,o),h=s}function D1(){var e=0,n=0;if(c[7672]|0||(hp(9376),Bt(30,9376,Q|0)|0,n=7672,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9376)|0)){e=9376,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));hp(9376)}return 9376}function Jv(e){return e=e|0,0}function Qv(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=D1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ap(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(dp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ap(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function dp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=pp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Zv(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ap(l,o,r),t[y>>2]=(t[y>>2]|0)+12,eg(e,_),tg(_),h=k;return}}function pp(e){return e=e|0,357913941}function Zv(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function eg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function tg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function hp(e){e=e|0,rg(e)}function Jc(e){e=e|0,ng(e+24|0)}function ng(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function rg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,mp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function mp(){return 1196}function ig(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=og(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=ug(n,o)|0,h=r,n|0}function og(e){return e=e|0,(t[(D1()|0)+24>>2]|0)+(e*12|0)|0}function ug(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Xc(dc[r&31](e)|0)|0}function sg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],lg(e,r,s,1),h=o}function lg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=fg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,cg(l,o)|0,o),h=s}function E1(){var e=0,n=0;if(c[7680]|0||(C1(9412),Bt(31,9412,Q|0)|0,n=7680,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9412)|0)){e=9412,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));C1(9412)}return 9412}function fg(e){return e=e|0,0}function cg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],rc(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(ag(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function rc(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function ag(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=vp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,gp(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],rc(l,o,r),t[y>>2]=(t[y>>2]|0)+12,S1(e,_),_p(_),h=k;return}}function vp(e){return e=e|0,357913941}function gp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function S1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function _p(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function C1(e){e=e|0,dg(e)}function yp(e){e=e|0,wp(e+24|0)}function wp(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function dg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,Dp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Dp(){return 1200}function pg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Qc(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=Zc(n,o)|0,h=r,n|0}function Qc(e){return e=e|0,(t[(E1()|0)+24>>2]|0)+(e*12|0)|0}function Zc(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),ea(dc[r&31](e)|0)|0}function ea(e){return e=e|0,e|0}function hg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],T1(e,r,s,0),h=o}function T1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=ta()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=mg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,vg(l,o)|0,o),h=s}function ta(){var e=0,n=0;if(c[7688]|0||(Sp(9448),Bt(32,9448,Q|0)|0,n=7688,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9448)|0)){e=9448,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Sp(9448)}return 9448}function mg(e){return e=e|0,0}function vg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=ta()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Ep(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(gg(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Ep(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function gg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=_g(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,yg(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Ep(l,o,r),t[y>>2]=(t[y>>2]|0)+12,wg(e,_),Dg(_),h=k;return}}function _g(e){return e=e|0,357913941}function yg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function wg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Dg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Sp(e){e=e|0,Cg(e)}function Eg(e){e=e|0,Sg(e+24|0)}function Sg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Cg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,Mo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Mo(){return 1204}function Tg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=xg(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Ll(n,s,r),h=o}function xg(e){return e=e|0,(t[(ta()|0)+24>>2]|0)+(e*12|0)|0}function Ll(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),On(s,r),s=x1(s,r)|0,Bl[o&31](e,s),h=l}function On(e,n){e=e|0,n=n|0}function x1(e,n){return e=e|0,n=n|0,Vi(n)|0}function Vi(e){return e=e|0,e|0}function l0(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],kg(e,r,s,0),h=o}function kg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Eu()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Ag(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Og(l,o)|0,o),h=s}function Eu(){var e=0,n=0;if(c[7696]|0||(A1(9484),Bt(33,9484,Q|0)|0,n=7696,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9484)|0)){e=9484,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));A1(9484)}return 9484}function Ag(e){return e=e|0,0}function Og(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Eu()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Cp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Ig(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Cp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Ig(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Pg(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,k1(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Cp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Mg(e,_),rs(_),h=k;return}}function Pg(e){return e=e|0,357913941}function k1(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Mg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function rs(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function A1(e){e=e|0,n0(e)}function na(e){e=e|0,Jr(e+24|0)}function Jr(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function n0(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,Tp()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Tp(){return 1212}function Fg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=Lg(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],Rg(n,l,r,o),h=s}function Lg(e){return e=e|0,(t[(Eu()|0)+24>>2]|0)+(e*12|0)|0}function Rg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),On(l,r),l=x1(l,r)|0,Ml(d,o),d=Fl(d,o)|0,X1[s&15](e,l,d),h=_}function Ng(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Bg(e,r,s,1),h=o}function Bg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=O1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=xp(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,ic(l,o)|0,o),h=s}function O1(){var e=0,n=0;if(c[7704]|0||(Ap(9520),Bt(34,9520,Q|0)|0,n=7704,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9520)|0)){e=9520,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ap(9520)}return 9520}function xp(e){return e=e|0,0}function ic(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=O1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],ra(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(jg(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function ra(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function jg(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=kp(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,ia(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],ra(l,o,r),t[y>>2]=(t[y>>2]|0)+12,mo(e,_),Df(_),h=k;return}}function kp(e){return e=e|0,357913941}function ia(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function mo(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Df(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Ap(e){e=e|0,zg(e)}function Ug(e){e=e|0,qg(e+24|0)}function qg(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function zg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,Wg()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Wg(){return 1224}function Op(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;return s=h,h=h+16|0,l=s+8|0,d=s,_=is(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],o=+jn(n,l,r),h=s,+o}function is(e){return e=e|0,(t[(O1()|0)+24>>2]|0)+(e*12|0)|0}function jn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,d=+Ol(+uD[o&7](e,s)),h=l,+d}function Ip(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Fo(e,r,s,1),h=o}function Fo(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=oa()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=Hg(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,yr(l,o)|0,o),h=s}function oa(){var e=0,n=0;if(c[7712]|0||(Fp(9556),Bt(35,9556,Q|0)|0,n=7712,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9556)|0)){e=9556,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Fp(9556)}return 9556}function Hg(e){return e=e|0,0}function yr(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=oa()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Pp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Mp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Pp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Mp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=ua(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,bg(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Pp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Gg(e,_),Vg(_),h=k;return}}function ua(e){return e=e|0,357913941}function bg(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Gg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Vg(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Fp(e){e=e|0,Kg(e)}function Yg(e){e=e|0,$g(e+24|0)}function $g(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Kg(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,Xg()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Xg(){return 1232}function Jg(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=Qg(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=+Zg(n,s),h=o,+r}function Qg(e){return e=e|0,(t[(oa()|0)+24>>2]|0)+(e*12|0)|0}function Zg(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),+ +Ol(+oD[r&15](e))}function e_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],t_(e,r,s,1),h=o}function t_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=oc()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=n_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,I1(l,o)|0,o),h=s}function oc(){var e=0,n=0;if(c[7720]|0||(Rp(9592),Bt(36,9592,Q|0)|0,n=7720,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9592)|0)){e=9592,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Rp(9592)}return 9592}function n_(e){return e=e|0,0}function I1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=oc()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Lp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(r_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Lp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function r_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=i_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,q0(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Lp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,Yi(e,_),o_(_),h=k;return}}function i_(e){return e=e|0,357913941}function q0(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function Yi(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function o_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Rp(e){e=e|0,s_(e)}function u_(e){e=e|0,Np(e+24|0)}function Np(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function s_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,7,n,l_()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function l_(){return 1276}function f_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=Bp(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=c_(n,o)|0,h=r,n|0}function Bp(e){return e=e|0,(t[(oc()|0)+24>>2]|0)+(e*12|0)|0}function c_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;return s=h,h=h+16|0,o=s,r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Bl[r&31](o,e),o=jp(o)|0,h=s,o|0}function jp(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(Up()|0)|0,o?(s1(n,o),l1(r,n),qp(e,r),e=f1(n)|0):e=zp(e)|0,h=s,e|0}function Up(){var e=0;return c[7736]|0||(Wp(9640),Bt(25,9640,Q|0)|0,e=7736,t[e>>2]=1,t[e+4>>2]=0),9640}function qp(e,n){e=e|0,n=n|0,Ef(n,e,e+8|0)|0}function zp(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(16)|0,t[_>>2]=t[e>>2],t[_+4>>2]=t[e+4>>2],t[_+8>>2]=t[e+8>>2],t[_+12>>2]=t[e+12>>2],l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],P1(e,l,s),t[o>>2]=e,h=r,n|0}function P1(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1244,t[r+12>>2]=n,t[e+4>>2]=r}function a_(e){e=e|0,da(e),Ve(e)}function d_(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function p_(e){e=e|0,Ve(e)}function Ef(e,n,r){return e=e|0,n=n|0,r=r|0,n=h_(t[e>>2]|0,n,r)|0,r=e+4|0,t[(t[r>>2]|0)+8>>2]=n,t[(t[r>>2]|0)+8>>2]|0}function h_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;return o=h,h=h+16|0,s=o,Zo(s),e=Oi(e)|0,r=m_(e,t[n>>2]|0,+L[r>>3])|0,eu(s),h=o,r|0}function m_(e,n,r){e=e|0,n=n|0,r=+r;var o=0;return o=ko(v_()|0)|0,n=jc(n)|0,dl(0,o|0,e|0,n|0,+ +Ko(r))|0}function v_(){var e=0;return c[7728]|0||(g_(9628),e=7728,t[e>>2]=1,t[e+4>>2]=0),9628}function g_(e){e=e|0,Ao(e,__()|0,2)}function __(){return 1264}function Wp(e){e=e|0,Ys(e)}function Hp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],y_(e,r,s,1),h=o}function y_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=M1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=w_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,D_(l,o)|0,o),h=s}function M1(){var e=0,n=0;if(c[7744]|0||(Gp(9684),Bt(37,9684,Q|0)|0,n=7744,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9684)|0)){e=9684,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Gp(9684)}return 9684}function w_(e){return e=e|0,0}function D_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=M1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],bp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(E_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function bp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function E_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=S_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,C_(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],bp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,T_(e,_),x_(_),h=k;return}}function S_(e){return e=e|0,357913941}function C_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function T_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function x_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Gp(e){e=e|0,O_(e)}function k_(e){e=e|0,A_(e+24|0)}function A_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function O_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,5,n,I_()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function I_(){return 1280}function P_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=M_(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=F_(n,s,r)|0,h=o,r|0}function M_(e){return e=e|0,(t[(M1()|0)+24>>2]|0)+(e*12|0)|0}function F_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return d=h,h=h+32|0,s=d,l=d+16|0,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(l,r),l=ns(l,r)|0,X1[o&15](s,e,l),l=jp(s)|0,h=d,l|0}function L_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],R_(e,r,s,1),h=o}function R_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=F1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=N_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,B_(l,o)|0,o),h=s}function F1(){var e=0,n=0;if(c[7752]|0||(Kp(9720),Bt(38,9720,Q|0)|0,n=7752,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9720)|0)){e=9720,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Kp(9720)}return 9720}function N_(e){return e=e|0,0}function B_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=F1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Vp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(j_(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Vp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function j_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=L1(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Yp(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Vp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,$p(e,_),U_(_),h=k;return}}function L1(e){return e=e|0,357913941}function Yp(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function $p(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function U_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Kp(e){e=e|0,z_(e)}function q_(e){e=e|0,R1(e+24|0)}function R1(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function z_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,W_()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function W_(){return 1288}function H_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;return r=h,h=h+16|0,o=r+8|0,s=r,l=$i(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],n=N1(n,o)|0,h=r,n|0}function $i(e){return e=e|0,(t[(F1()|0)+24>>2]|0)+(e*12|0)|0}function N1(e,n){e=e|0,n=n|0;var r=0;return r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Dd(dc[r&31](e)|0)|0}function b_(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],G_(e,r,s,0),h=o}function G_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=B1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=V_(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,j1(l,o)|0,o),h=s}function B1(){var e=0,n=0;if(c[7760]|0||(q1(9756),Bt(39,9756,Q|0)|0,n=7760,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9756)|0)){e=9756,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));q1(9756)}return 9756}function V_(e){return e=e|0,0}function j1(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=B1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Xp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(U1(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Xp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function U1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=Y_(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,$_(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Xp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,K_(e,_),X_(_),h=k;return}}function Y_(e){return e=e|0,357913941}function $_(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function K_(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function X_(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function q1(e){e=e|0,Z_(e)}function J_(e){e=e|0,Q_(e+24|0)}function Q_(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function Z_(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,z1()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function z1(){return 1292}function W1(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=e4(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],t4(n,s,r),h=o}function e4(e){return e=e|0,(t[(B1()|0)+24>>2]|0)+(e*12|0)|0}function t4(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),wu(s,r),r=+Du(s,r),nD[o&31](e,r),h=l}function n4(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r4(e,r,s,0),h=o}function r4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=H1()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=i4(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,o4(l,o)|0,o),h=s}function H1(){var e=0,n=0;if(c[7768]|0||(Qp(9792),Bt(40,9792,Q|0)|0,n=7768,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9792)|0)){e=9792,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Qp(9792)}return 9792}function i4(e){return e=e|0,0}function o4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=H1()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Jp(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(u4(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Jp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function u4(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=s4(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,l4(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Jp(l,o,r),t[y>>2]=(t[y>>2]|0)+12,f4(e,_),c4(_),h=k;return}}function s4(e){return e=e|0,357913941}function l4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function f4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function c4(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Qp(e){e=e|0,p4(e)}function a4(e){e=e|0,d4(e+24|0)}function d4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function p4(e){e=e|0;var n=0;n=An()|0,Nn(e,2,1,n,h4()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function h4(){return 1300}function m4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=v4(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],g4(n,l,r,o),h=s}function v4(e){return e=e|0,(t[(H1()|0)+24>>2]|0)+(e*12|0)|0}function g4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),ts(l,r),l=ns(l,r)|0,wu(d,o),o=+Du(d,o),cD[s&15](e,l,o),h=_}function a(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],p(e,r,s,0),h=o}function p(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=I(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,B(l,o)|0,o),h=s}function E(){var e=0,n=0;if(c[7776]|0||(nt(9828),Bt(41,9828,Q|0)|0,n=7776,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9828)|0)){e=9828,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));nt(9828)}return 9828}function I(e){return e=e|0,0}function B(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],G(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(te(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function G(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function te(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=se(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,Ee(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],G(l,o,r),t[y>>2]=(t[y>>2]|0)+12,$e(e,_),Ke(_),h=k;return}}function se(e){return e=e|0,357913941}function Ee(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function $e(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ke(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function nt(e){e=e|0,an(e)}function Ct(e){e=e|0,Gt(e+24|0)}function Gt(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function an(e){e=e|0;var n=0;n=An()|0,Nn(e,2,7,n,qn()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function qn(){return 1312}function dn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=Yn(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],er(n,s,r),h=o}function Yn(e){return e=e|0,(t[(E()|0)+24>>2]|0)+(e*12|0)|0}function er(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,Bl[o&31](e,s),h=l}function vo(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Pi(e,r,s,0),h=o}function Pi(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=Mi()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=f0(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,Jo(l,o)|0,o),h=s}function Mi(){var e=0,n=0;if(c[7784]|0||(kw(9864),Bt(42,9864,Q|0)|0,n=7784,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9864)|0)){e=9864,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));kw(9864)}return 9864}function f0(e){return e=e|0,0}function Jo(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=Mi()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Su(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(Zp(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Su(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function Zp(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=v9(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,g9(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Su(l,o,r),t[y>>2]=(t[y>>2]|0)+12,_9(e,_),y9(_),h=k;return}}function v9(e){return e=e|0,357913941}function g9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function _9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function y9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function kw(e){e=e|0,E9(e)}function w9(e){e=e|0,D9(e+24|0)}function D9(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function E9(e){e=e|0;var n=0;n=An()|0,Nn(e,2,8,n,S9()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function S9(){return 1320}function C9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=T9(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],x9(n,s,r),h=o}function T9(e){return e=e|0,(t[(Mi()|0)+24>>2]|0)+(e*12|0)|0}function x9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),k9(s,r),s=A9(s,r)|0,Bl[o&31](e,s),h=l}function k9(e,n){e=e|0,n=n|0}function A9(e,n){return e=e|0,n=n|0,O9(n)|0}function O9(e){return e=e|0,e|0}function I9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],P9(e,r,s,0),h=o}function P9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=_4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=M9(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,F9(l,o)|0,o),h=s}function _4(){var e=0,n=0;if(c[7792]|0||(Ow(9900),Bt(43,9900,Q|0)|0,n=7792,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9900)|0)){e=9900,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Ow(9900)}return 9900}function M9(e){return e=e|0,0}function F9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=_4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Aw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(L9(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Aw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function L9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=R9(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,N9(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Aw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,B9(e,_),j9(_),h=k;return}}function R9(e){return e=e|0,357913941}function N9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function B9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function j9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Ow(e){e=e|0,z9(e)}function U9(e){e=e|0,q9(e+24|0)}function q9(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function z9(e){e=e|0;var n=0;n=An()|0,Nn(e,2,22,n,W9()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function W9(){return 1344}function H9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0;r=h,h=h+16|0,o=r+8|0,s=r,l=b9(e)|0,e=t[l+4>>2]|0,t[s>>2]=t[l>>2],t[s+4>>2]=e,t[o>>2]=t[s>>2],t[o+4>>2]=t[s+4>>2],G9(n,o),h=r}function b9(e){return e=e|0,(t[(_4()|0)+24>>2]|0)+(e*12|0)|0}function G9(e,n){e=e|0,n=n|0;var r=0;r=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(r=t[(t[e>>2]|0)+r>>2]|0),Nl[r&127](e)}function V9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=y4()|0,e=Y9(r)|0,ur(l,n,s,e,$9(r,o)|0,o)}function y4(){var e=0,n=0;if(c[7800]|0||(Pw(9936),Bt(44,9936,Q|0)|0,n=7800,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9936)|0)){e=9936,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Pw(9936)}return 9936}function Y9(e){return e=e|0,e|0}function $9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=y4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Iw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(K9(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Iw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function K9(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=X9(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,J9(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Iw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,Q9(e,s),Z9(s),h=_;return}}function X9(e){return e=e|0,536870911}function J9(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function Q9(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Z9(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Pw(e){e=e|0,nx(e)}function ex(e){e=e|0,tx(e+24|0)}function tx(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function nx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,23,n,Mo()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function rx(e,n){e=e|0,n=n|0,ox(t[(ix(e)|0)>>2]|0,n)}function ix(e){return e=e|0,(t[(y4()|0)+24>>2]|0)+(e<<3)|0}function ox(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,On(o,n),n=x1(o,n)|0,Nl[e&127](n),h=r}function ux(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=w4()|0,e=sx(r)|0,ur(l,n,s,e,lx(r,o)|0,o)}function w4(){var e=0,n=0;if(c[7808]|0||(Fw(9972),Bt(45,9972,Q|0)|0,n=7808,t[n>>2]=1,t[n+4>>2]=0),!(Dn(9972)|0)){e=9972,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Fw(9972)}return 9972}function sx(e){return e=e|0,e|0}function lx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=w4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Mw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(fx(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Mw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function fx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=cx(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,ax(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Mw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,dx(e,s),px(s),h=_;return}}function cx(e){return e=e|0,536870911}function ax(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function dx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function px(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Fw(e){e=e|0,vx(e)}function hx(e){e=e|0,mx(e+24|0)}function mx(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function vx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,9,n,gx()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function gx(){return 1348}function _x(e,n){return e=e|0,n=n|0,wx(t[(yx(e)|0)>>2]|0,n)|0}function yx(e){return e=e|0,(t[(w4()|0)+24>>2]|0)+(e<<3)|0}function wx(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Lw(o,n),n=Rw(o,n)|0,n=Xc(dc[e&31](n)|0)|0,h=r,n|0}function Lw(e,n){e=e|0,n=n|0}function Rw(e,n){return e=e|0,n=n|0,Dx(n)|0}function Dx(e){return e=e|0,e|0}function Ex(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=D4()|0,e=Sx(r)|0,ur(l,n,s,e,Cx(r,o)|0,o)}function D4(){var e=0,n=0;if(c[7816]|0||(Bw(10008),Bt(46,10008,Q|0)|0,n=7816,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10008)|0)){e=10008,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Bw(10008)}return 10008}function Sx(e){return e=e|0,e|0}function Cx(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=D4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Nw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(Tx(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Nw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function Tx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=xx(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,kx(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Nw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,Ax(e,s),Ox(s),h=_;return}}function xx(e){return e=e|0,536870911}function kx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function Ax(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function Ox(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Bw(e){e=e|0,Mx(e)}function Ix(e){e=e|0,Px(e+24|0)}function Px(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function Mx(e){e=e|0;var n=0;n=An()|0,Nn(e,1,15,n,mp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Fx(e){return e=e|0,Rx(t[(Lx(e)|0)>>2]|0)|0}function Lx(e){return e=e|0,(t[(D4()|0)+24>>2]|0)+(e<<3)|0}function Rx(e){return e=e|0,Xc(ph[e&7]()|0)|0}function Nx(){var e=0;return c[7832]|0||(bx(10052),Bt(25,10052,Q|0)|0,e=7832,t[e>>2]=1,t[e+4>>2]=0),10052}function Bx(e,n){e=e|0,n=n|0,t[e>>2]=jx()|0,t[e+4>>2]=Ux()|0,t[e+12>>2]=n,t[e+8>>2]=qx()|0,t[e+32>>2]=2}function jx(){return 11709}function Ux(){return 1188}function qx(){return eh()|0}function zx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(Wx(r),Ve(r)):n|0&&(mu(n),Ve(n))}function Sf(e,n){return e=e|0,n=n|0,n&e|0}function Wx(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function eh(){var e=0;return c[7824]|0||(t[2511]=Hx()|0,t[2512]=0,e=7824,t[e>>2]=1,t[e+4>>2]=0),10044}function Hx(){return 0}function bx(e){e=e|0,Ys(e)}function Gx(e){e=e|0;var n=0,r=0,o=0,s=0,l=0;n=h,h=h+32|0,r=n+24|0,l=n+16|0,s=n+8|0,o=n,Vx(e,4827),Yx(e,4834,3)|0,$x(e,3682,47)|0,t[l>>2]=9,t[l+4>>2]=0,t[r>>2]=t[l>>2],t[r+4>>2]=t[l+4>>2],Kx(e,4841,r)|0,t[s>>2]=1,t[s+4>>2]=0,t[r>>2]=t[s>>2],t[r+4>>2]=t[s+4>>2],Xx(e,4871,r)|0,t[o>>2]=10,t[o+4>>2]=0,t[r>>2]=t[o>>2],t[r+4>>2]=t[o+4>>2],Jx(e,4891,r)|0,h=n}function Vx(e,n){e=e|0,n=n|0;var r=0;r=Ok()|0,t[e>>2]=r,Ik(r,n),Cf(t[e>>2]|0)}function Yx(e,n,r){return e=e|0,n=n|0,r=r|0,pk(e,Zn(n)|0,r,0),e|0}function $x(e,n,r){return e=e|0,n=n|0,r=r|0,Q7(e,Zn(n)|0,r,0),e|0}function Kx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],F7(e,n,s),h=o,e|0}function Xx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],h7(e,n,s),h=o,e|0}function Jx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=t[r+4>>2]|0,t[l>>2]=t[r>>2],t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Qx(e,n,s),h=o,e|0}function Qx(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],Zx(e,r,s,1),h=o}function Zx(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=E4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=e7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,t7(l,o)|0,o),h=s}function E4(){var e=0,n=0;if(c[7840]|0||(Uw(10100),Bt(48,10100,Q|0)|0,n=7840,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10100)|0)){e=10100,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Uw(10100)}return 10100}function e7(e){return e=e|0,0}function t7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=E4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],jw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(n7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function jw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function n7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=r7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,i7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],jw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,o7(e,_),u7(_),h=k;return}}function r7(e){return e=e|0,357913941}function i7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function o7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function u7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Uw(e){e=e|0,f7(e)}function s7(e){e=e|0,l7(e+24|0)}function l7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function f7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,6,n,c7()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function c7(){return 1364}function a7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;return o=h,h=h+16|0,s=o+8|0,l=o,d=d7(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],r=p7(n,s,r)|0,h=o,r|0}function d7(e){return e=e|0,(t[(E4()|0)+24>>2]|0)+(e*12|0)|0}function p7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),ts(s,r),s=ns(s,r)|0,s=ip(J4[o&15](e,s)|0)|0,h=l,s|0}function h7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],m7(e,r,s,0),h=o}function m7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=S4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=v7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,g7(l,o)|0,o),h=s}function S4(){var e=0,n=0;if(c[7848]|0||(zw(10136),Bt(49,10136,Q|0)|0,n=7848,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10136)|0)){e=10136,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));zw(10136)}return 10136}function v7(e){return e=e|0,0}function g7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=S4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],qw(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(_7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function qw(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function _7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=y7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,w7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],qw(l,o,r),t[y>>2]=(t[y>>2]|0)+12,D7(e,_),E7(_),h=k;return}}function y7(e){return e=e|0,357913941}function w7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function D7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function E7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function zw(e){e=e|0,T7(e)}function S7(e){e=e|0,C7(e+24|0)}function C7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function T7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,9,n,x7()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function x7(){return 1372}function k7(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,s=o+8|0,l=o,d=A7(e)|0,e=t[d+4>>2]|0,t[l>>2]=t[d>>2],t[l+4>>2]=e,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],O7(n,s,r),h=o}function A7(e){return e=e|0,(t[(S4()|0)+24>>2]|0)+(e*12|0)|0}function O7(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=tt;l=h,h=h+16|0,s=l,o=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(o=t[(t[e>>2]|0)+o>>2]|0),I7(s,r),d=w(P7(s,r)),tD[o&1](e,d),h=l}function I7(e,n){e=e|0,n=+n}function P7(e,n){return e=e|0,n=+n,w(M7(n))}function M7(e){return e=+e,w(e)}function F7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,s=o+8|0,l=o,_=t[r>>2]|0,d=t[r+4>>2]|0,r=Zn(n)|0,t[l>>2]=_,t[l+4>>2]=d,t[s>>2]=t[l>>2],t[s+4>>2]=t[l+4>>2],L7(e,r,s,0),h=o}function L7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0,y=0,k=0,T=0;s=h,h=h+32|0,l=s+16|0,T=s+8|0,_=s,k=t[r>>2]|0,y=t[r+4>>2]|0,d=t[e>>2]|0,e=C4()|0,t[T>>2]=k,t[T+4>>2]=y,t[l>>2]=t[T>>2],t[l+4>>2]=t[T+4>>2],r=R7(l)|0,t[_>>2]=k,t[_+4>>2]=y,t[l>>2]=t[_>>2],t[l+4>>2]=t[_+4>>2],ur(d,n,e,r,N7(l,o)|0,o),h=s}function C4(){var e=0,n=0;if(c[7856]|0||(Hw(10172),Bt(50,10172,Q|0)|0,n=7856,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10172)|0)){e=10172,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Hw(10172)}return 10172}function R7(e){return e=e|0,0}function N7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0;return T=h,h=h+32|0,s=T+24|0,d=T+16|0,_=T,y=T+8|0,l=t[e>>2]|0,o=t[e+4>>2]|0,t[_>>2]=l,t[_+4>>2]=o,P=C4()|0,k=P+24|0,e=Lt(n,4)|0,t[y>>2]=e,n=P+28|0,r=t[n>>2]|0,r>>>0<(t[P+32>>2]|0)>>>0?(t[d>>2]=l,t[d+4>>2]=o,t[s>>2]=t[d>>2],t[s+4>>2]=t[d+4>>2],Ww(r,s,e),e=(t[n>>2]|0)+12|0,t[n>>2]=e):(B7(k,_,y),e=t[n>>2]|0),h=T,((e-(t[k>>2]|0)|0)/12|0)+-1|0}function Ww(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=t[n+4>>2]|0,t[e>>2]=t[n>>2],t[e+4>>2]=o,t[e+8>>2]=r}function B7(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;if(k=h,h=h+48|0,o=k+32|0,d=k+24|0,_=k,y=e+4|0,s=(((t[y>>2]|0)-(t[e>>2]|0)|0)/12|0)+1|0,l=j7(e)|0,l>>>0>>0)$n(e);else{T=t[e>>2]|0,q=((t[e+8>>2]|0)-T|0)/12|0,P=q<<1,U7(_,q>>>0>>1>>>0?P>>>0>>0?s:P:l,((t[y>>2]|0)-T|0)/12|0,e+8|0),y=_+8|0,l=t[y>>2]|0,s=t[n+4>>2]|0,r=t[r>>2]|0,t[d>>2]=t[n>>2],t[d+4>>2]=s,t[o>>2]=t[d>>2],t[o+4>>2]=t[d+4>>2],Ww(l,o,r),t[y>>2]=(t[y>>2]|0)+12,q7(e,_),z7(_),h=k;return}}function j7(e){return e=e|0,357913941}function U7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>357913941)_n();else{s=Tt(n*12|0)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r*12|0)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n*12|0)}function q7(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(((s|0)/-12|0)*12|0)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function z7(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~(((o+-12-n|0)>>>0)/12|0)*12|0)),e=t[e>>2]|0,e|0&&Ve(e)}function Hw(e){e=e|0,b7(e)}function W7(e){e=e|0,H7(e+24|0)}function H7(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~(((n+-12-o|0)>>>0)/12|0)*12|0)),Ve(r))}function b7(e){e=e|0;var n=0;n=An()|0,Nn(e,2,3,n,G7()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function G7(){return 1380}function V7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+8|0,d=s,_=Y7(e)|0,e=t[_+4>>2]|0,t[d>>2]=t[_>>2],t[d+4>>2]=e,t[l>>2]=t[d>>2],t[l+4>>2]=t[d+4>>2],$7(n,l,r,o),h=s}function Y7(e){return e=e|0,(t[(C4()|0)+24>>2]|0)+(e*12|0)|0}function $7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;_=h,h=h+16|0,l=_+1|0,d=_,s=t[n>>2]|0,n=t[n+4>>2]|0,e=e+(n>>1)|0,n&1&&(s=t[(t[e>>2]|0)+s>>2]|0),ts(l,r),l=ns(l,r)|0,K7(d,o),d=X7(d,o)|0,X1[s&15](e,l,d),h=_}function K7(e,n){e=e|0,n=n|0}function X7(e,n){return e=e|0,n=n|0,J7(n)|0}function J7(e){return e=e|0,(e|0)!=0|0}function Q7(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=T4()|0,e=Z7(r)|0,ur(l,n,s,e,ek(r,o)|0,o)}function T4(){var e=0,n=0;if(c[7864]|0||(Gw(10208),Bt(51,10208,Q|0)|0,n=7864,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10208)|0)){e=10208,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Gw(10208)}return 10208}function Z7(e){return e=e|0,e|0}function ek(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=T4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(bw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(tk(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function bw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function tk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=nk(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,rk(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,bw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,ik(e,s),ok(s),h=_;return}}function nk(e){return e=e|0,536870911}function rk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function ik(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function ok(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Gw(e){e=e|0,lk(e)}function uk(e){e=e|0,sk(e+24|0)}function sk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function lk(e){e=e|0;var n=0;n=An()|0,Nn(e,1,24,n,fk()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function fk(){return 1392}function ck(e,n){e=e|0,n=n|0,dk(t[(ak(e)|0)>>2]|0,n)}function ak(e){return e=e|0,(t[(T4()|0)+24>>2]|0)+(e<<3)|0}function dk(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,Lw(o,n),n=Rw(o,n)|0,Nl[e&127](n),h=r}function pk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=x4()|0,e=hk(r)|0,ur(l,n,s,e,mk(r,o)|0,o)}function x4(){var e=0,n=0;if(c[7872]|0||(Yw(10244),Bt(52,10244,Q|0)|0,n=7872,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10244)|0)){e=10244,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));Yw(10244)}return 10244}function hk(e){return e=e|0,e|0}function mk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=x4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(Vw(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(vk(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function Vw(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function vk(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=gk(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,_k(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,Vw(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,yk(e,s),wk(s),h=_;return}}function gk(e){return e=e|0,536870911}function _k(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function yk(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function wk(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function Yw(e){e=e|0,Sk(e)}function Dk(e){e=e|0,Ek(e+24|0)}function Ek(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function Sk(e){e=e|0;var n=0;n=An()|0,Nn(e,1,16,n,Ck()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Ck(){return 1400}function Tk(e){return e=e|0,kk(t[(xk(e)|0)>>2]|0)|0}function xk(e){return e=e|0,(t[(x4()|0)+24>>2]|0)+(e<<3)|0}function kk(e){return e=e|0,Ak(ph[e&7]()|0)|0}function Ak(e){return e=e|0,e|0}function Ok(){var e=0;return c[7880]|0||(Nk(10280),Bt(25,10280,Q|0)|0,e=7880,t[e>>2]=1,t[e+4>>2]=0),10280}function Ik(e,n){e=e|0,n=n|0,t[e>>2]=Pk()|0,t[e+4>>2]=Mk()|0,t[e+12>>2]=n,t[e+8>>2]=Fk()|0,t[e+32>>2]=4}function Pk(){return 11711}function Mk(){return 1356}function Fk(){return eh()|0}function Lk(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(Rk(r),Ve(r)):n|0&&(Gi(n),Ve(n))}function Rk(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function Nk(e){e=e|0,Ys(e)}function Bk(e){e=e|0,jk(e,4920),Uk(e)|0,qk(e)|0}function jk(e,n){e=e|0,n=n|0;var r=0;r=Up()|0,t[e>>2]=r,sA(r,n),Cf(t[e>>2]|0)}function Uk(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,Jk()|0),e|0}function qk(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,zk()|0),e|0}function zk(){var e=0;return c[7888]|0||($w(10328),Bt(53,10328,Q|0)|0,e=7888,t[e>>2]=1,t[e+4>>2]=0),Dn(10328)|0||$w(10328),10328}function uc(e,n){e=e|0,n=n|0,ur(e,0,n,0,0,0)}function $w(e){e=e|0,bk(e),sc(e,10)}function Wk(e){e=e|0,Hk(e+24|0)}function Hk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function bk(e){e=e|0;var n=0;n=An()|0,Nn(e,5,1,n,$k()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function Gk(e,n,r){e=e|0,n=n|0,r=+r,Vk(e,n,r)}function sc(e,n){e=e|0,n=n|0,t[e+20>>2]=n}function Vk(e,n,r){e=e|0,n=n|0,r=+r;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+16|0,l=o+8|0,_=o+13|0,s=o,d=o+12|0,ts(_,n),t[l>>2]=ns(_,n)|0,wu(d,r),L[s>>3]=+Du(d,r),Yk(e,l,s),h=o}function Yk(e,n,r){e=e|0,n=n|0,r=r|0,M(e+8|0,t[n>>2]|0,+L[r>>3]),c[e+24>>0]=1}function $k(){return 1404}function Kk(e,n){return e=e|0,n=+n,Xk(e,n)|0}function Xk(e,n){e=e|0,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+16|0,l=o+4|0,d=o+8|0,_=o,s=Qo(8)|0,r=s,y=Tt(16)|0,ts(l,e),e=ns(l,e)|0,wu(d,n),M(y,e,+Du(d,n)),d=r+4|0,t[d>>2]=y,e=Tt(8)|0,d=t[d>>2]|0,t[_>>2]=0,t[l>>2]=t[_>>2],P1(e,d,l),t[s>>2]=e,h=o,r|0}function Jk(){var e=0;return c[7896]|0||(Kw(10364),Bt(54,10364,Q|0)|0,e=7896,t[e>>2]=1,t[e+4>>2]=0),Dn(10364)|0||Kw(10364),10364}function Kw(e){e=e|0,eA(e),sc(e,55)}function Qk(e){e=e|0,Zk(e+24|0)}function Zk(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function eA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,4,n,iA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function tA(e){e=e|0,nA(e)}function nA(e){e=e|0,rA(e)}function rA(e){e=e|0,Xw(e+8|0),c[e+24>>0]=1}function Xw(e){e=e|0,t[e>>2]=0,L[e+8>>3]=0}function iA(){return 1424}function oA(){return uA()|0}function uA(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,o=Tt(16)|0,Xw(o),l=e+4|0,t[l>>2]=o,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],P1(o,l,s),t[r>>2]=o,h=n,e|0}function sA(e,n){e=e|0,n=n|0,t[e>>2]=lA()|0,t[e+4>>2]=fA()|0,t[e+12>>2]=n,t[e+8>>2]=cA()|0,t[e+32>>2]=5}function lA(){return 11710}function fA(){return 1416}function cA(){return th()|0}function aA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(dA(r),Ve(r)):n|0&&Ve(n)}function dA(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function th(){var e=0;return c[7904]|0||(t[2600]=pA()|0,t[2601]=0,e=7904,t[e>>2]=1,t[e+4>>2]=0),10400}function pA(){return t[357]|0}function hA(e){e=e|0,mA(e,4926),vA(e)|0}function mA(e,n){e=e|0,n=n|0;var r=0;r=u1()|0,t[e>>2]=r,kA(r,n),Cf(t[e>>2]|0)}function vA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,gA()|0),e|0}function gA(){var e=0;return c[7912]|0||(Jw(10412),Bt(56,10412,Q|0)|0,e=7912,t[e>>2]=1,t[e+4>>2]=0),Dn(10412)|0||Jw(10412),10412}function Jw(e){e=e|0,wA(e),sc(e,57)}function _A(e){e=e|0,yA(e+24|0)}function yA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function wA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,5,n,CA()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function DA(e){e=e|0,EA(e)}function EA(e){e=e|0,SA(e)}function SA(e){e=e|0;var n=0,r=0;n=e+8|0,r=n+48|0;do t[n>>2]=0,n=n+4|0;while((n|0)<(r|0));c[e+56>>0]=1}function CA(){return 1432}function TA(){return xA()|0}function xA(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0;d=h,h=h+16|0,e=d+4|0,n=d,r=Qo(8)|0,o=r,s=Tt(48)|0,l=s,_=l+48|0;do t[l>>2]=0,l=l+4|0;while((l|0)<(_|0));return l=o+4|0,t[l>>2]=s,_=Tt(8)|0,l=t[l>>2]|0,t[n>>2]=0,t[e>>2]=t[n>>2],Wd(_,l,e),t[r>>2]=_,h=d,o|0}function kA(e,n){e=e|0,n=n|0,t[e>>2]=AA()|0,t[e+4>>2]=OA()|0,t[e+12>>2]=n,t[e+8>>2]=IA()|0,t[e+32>>2]=6}function AA(){return 11704}function OA(){return 1436}function IA(){return th()|0}function PA(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(MA(r),Ve(r)):n|0&&Ve(n)}function MA(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function FA(e){e=e|0,LA(e,4933),RA(e)|0,NA(e)|0}function LA(e,n){e=e|0,n=n|0;var r=0;r=uO()|0,t[e>>2]=r,sO(r,n),Cf(t[e>>2]|0)}function RA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,XA()|0),e|0}function NA(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,BA()|0),e|0}function BA(){var e=0;return c[7920]|0||(Qw(10452),Bt(58,10452,Q|0)|0,e=7920,t[e>>2]=1,t[e+4>>2]=0),Dn(10452)|0||Qw(10452),10452}function Qw(e){e=e|0,qA(e),sc(e,1)}function jA(e){e=e|0,UA(e+24|0)}function UA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function qA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,1,n,bA()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function zA(e,n,r){e=e|0,n=+n,r=+r,WA(e,n,r)}function WA(e,n,r){e=e|0,n=+n,r=+r;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,l=o+8|0,_=o+17|0,s=o,d=o+16|0,wu(_,n),L[l>>3]=+Du(_,n),wu(d,r),L[s>>3]=+Du(d,r),HA(e,l,s),h=o}function HA(e,n,r){e=e|0,n=n|0,r=r|0,Zw(e+8|0,+L[n>>3],+L[r>>3]),c[e+24>>0]=1}function Zw(e,n,r){e=e|0,n=+n,r=+r,L[e>>3]=n,L[e+8>>3]=r}function bA(){return 1472}function GA(e,n){return e=+e,n=+n,VA(e,n)|0}function VA(e,n){e=+e,n=+n;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+16|0,d=o+4|0,_=o+8|0,y=o,s=Qo(8)|0,r=s,l=Tt(16)|0,wu(d,e),e=+Du(d,e),wu(_,n),Zw(l,e,+Du(_,n)),_=r+4|0,t[_>>2]=l,l=Tt(8)|0,_=t[_>>2]|0,t[y>>2]=0,t[d>>2]=t[y>>2],e8(l,_,d),t[s>>2]=l,h=o,r|0}function e8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1452,t[r+12>>2]=n,t[e+4>>2]=r}function YA(e){e=e|0,da(e),Ve(e)}function $A(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function KA(e){e=e|0,Ve(e)}function XA(){var e=0;return c[7928]|0||(t8(10488),Bt(59,10488,Q|0)|0,e=7928,t[e>>2]=1,t[e+4>>2]=0),Dn(10488)|0||t8(10488),10488}function t8(e){e=e|0,ZA(e),sc(e,60)}function JA(e){e=e|0,QA(e+24|0)}function QA(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function ZA(e){e=e|0;var n=0;n=An()|0,Nn(e,5,6,n,rO()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function eO(e){e=e|0,tO(e)}function tO(e){e=e|0,nO(e)}function nO(e){e=e|0,n8(e+8|0),c[e+24>>0]=1}function n8(e){e=e|0,t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,t[e+12>>2]=0}function rO(){return 1492}function iO(){return oO()|0}function oO(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,o=Tt(16)|0,n8(o),l=e+4|0,t[l>>2]=o,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],e8(o,l,s),t[r>>2]=o,h=n,e|0}function uO(){var e=0;return c[7936]|0||(pO(10524),Bt(25,10524,Q|0)|0,e=7936,t[e>>2]=1,t[e+4>>2]=0),10524}function sO(e,n){e=e|0,n=n|0,t[e>>2]=lO()|0,t[e+4>>2]=fO()|0,t[e+12>>2]=n,t[e+8>>2]=cO()|0,t[e+32>>2]=7}function lO(){return 11700}function fO(){return 1484}function cO(){return th()|0}function aO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(dO(r),Ve(r)):n|0&&Ve(n)}function dO(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function pO(e){e=e|0,Ys(e)}function hO(e,n,r){e=e|0,n=n|0,r=r|0,e=Zn(n)|0,n=mO(r)|0,r=vO(r,0)|0,VO(e,n,r,k4()|0,0)}function mO(e){return e=e|0,e|0}function vO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=k4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(i8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(SO(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function k4(){var e=0,n=0;if(c[7944]|0||(r8(10568),Bt(61,10568,Q|0)|0,n=7944,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10568)|0)){e=10568,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));r8(10568)}return 10568}function r8(e){e=e|0,yO(e)}function gO(e){e=e|0,_O(e+24|0)}function _O(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function yO(e){e=e|0;var n=0;n=An()|0,Nn(e,1,17,n,Dp()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wO(e){return e=e|0,EO(t[(DO(e)|0)>>2]|0)|0}function DO(e){return e=e|0,(t[(k4()|0)+24>>2]|0)+(e<<3)|0}function EO(e){return e=e|0,ea(ph[e&7]()|0)|0}function i8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function SO(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=CO(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,TO(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,i8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,xO(e,s),kO(s),h=_;return}}function CO(e){return e=e|0,536870911}function TO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function xO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function kO(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function AO(){OO()}function OO(){IO(10604)}function IO(e){e=e|0,PO(e,4955)}function PO(e,n){e=e|0,n=n|0;var r=0;r=MO()|0,t[e>>2]=r,FO(r,n),Cf(t[e>>2]|0)}function MO(){var e=0;return c[7952]|0||(WO(10612),Bt(25,10612,Q|0)|0,e=7952,t[e>>2]=1,t[e+4>>2]=0),10612}function FO(e,n){e=e|0,n=n|0,t[e>>2]=BO()|0,t[e+4>>2]=jO()|0,t[e+12>>2]=n,t[e+8>>2]=UO()|0,t[e+32>>2]=8}function Cf(e){e=e|0;var n=0,r=0;n=h,h=h+16|0,r=n,sa()|0,t[r>>2]=e,LO(10608,r),h=n}function sa(){return c[11714]|0||(t[2652]=0,Bt(62,10608,Q|0)|0,c[11714]=1),10608}function LO(e,n){e=e|0,n=n|0;var r=0;r=Tt(8)|0,t[r+4>>2]=t[n>>2],t[r>>2]=t[e>>2],t[e>>2]=r}function RO(e){e=e|0,NO(e)}function NO(e){e=e|0;var n=0,r=0;if(n=t[e>>2]|0,n|0)do r=n,n=t[n>>2]|0,Ve(r);while((n|0)!=0);t[e>>2]=0}function BO(){return 11715}function jO(){return 1496}function UO(){return eh()|0}function qO(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(zO(r),Ve(r)):n|0&&Ve(n)}function zO(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function WO(e){e=e|0,Ys(e)}function HO(e,n){e=e|0,n=n|0;var r=0,o=0;sa()|0,r=t[2652]|0;e:do if(r|0){for(;o=t[r+4>>2]|0,!(o|0?(U8(A4(o)|0,e)|0)==0:0);)if(r=t[r>>2]|0,!r)break e;bO(o,n)}while(0)}function A4(e){return e=e|0,t[e+12>>2]|0}function bO(e,n){e=e|0,n=n|0;var r=0;e=e+36|0,r=t[e>>2]|0,r|0&&(Ju(r),Ve(r)),r=Tt(4)|0,ba(r,n),t[e>>2]=r}function O4(){return c[11716]|0||(t[2664]=0,Bt(63,10656,Q|0)|0,c[11716]=1),10656}function o8(){var e=0;return c[11717]|0?e=t[2665]|0:(GO(),t[2665]=1504,c[11717]=1,e=1504),e|0}function GO(){c[11740]|0||(c[11718]=Lt(Lt(8,0)|0,0)|0,c[11719]=Lt(Lt(0,0)|0,0)|0,c[11720]=Lt(Lt(0,16)|0,0)|0,c[11721]=Lt(Lt(8,0)|0,0)|0,c[11722]=Lt(Lt(0,0)|0,0)|0,c[11723]=Lt(Lt(8,0)|0,0)|0,c[11724]=Lt(Lt(0,0)|0,0)|0,c[11725]=Lt(Lt(8,0)|0,0)|0,c[11726]=Lt(Lt(0,0)|0,0)|0,c[11727]=Lt(Lt(8,0)|0,0)|0,c[11728]=Lt(Lt(0,0)|0,0)|0,c[11729]=Lt(Lt(0,0)|0,32)|0,c[11730]=Lt(Lt(0,0)|0,32)|0,c[11740]=1)}function u8(){return 1572}function VO(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0;l=h,h=h+32|0,T=l+16|0,k=l+12|0,y=l+8|0,_=l+4|0,d=l,t[T>>2]=e,t[k>>2]=n,t[y>>2]=r,t[_>>2]=o,t[d>>2]=s,O4()|0,YO(10656,T,k,y,_,d),h=l}function YO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0;d=Tt(24)|0,t1(d+4|0,t[n>>2]|0,t[r>>2]|0,t[o>>2]|0,t[s>>2]|0,t[l>>2]|0),t[d>>2]=t[e>>2],t[e>>2]=d}function s8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0;if(qe=h,h=h+32|0,le=qe+20|0,ie=qe+8|0,Pe=qe+4|0,ke=qe,n=t[n>>2]|0,n|0){we=le+4|0,y=le+8|0,k=ie+4|0,T=ie+8|0,P=ie+8|0,q=le+8|0;do{if(d=n+4|0,_=I4(d)|0,_|0){if(s=b1(_)|0,t[le>>2]=0,t[we>>2]=0,t[y>>2]=0,o=(G1(_)|0)+1|0,$O(le,o),o|0)for(;o=o+-1|0,os(ie,t[s>>2]|0),l=t[we>>2]|0,l>>>0<(t[q>>2]|0)>>>0?(t[l>>2]=t[ie>>2],t[we>>2]=(t[we>>2]|0)+4):P4(le,ie),o;)s=s+4|0;o=V1(_)|0,t[ie>>2]=0,t[k>>2]=0,t[T>>2]=0;e:do if(t[o>>2]|0)for(s=0,l=0;;){if((s|0)==(l|0)?KO(ie,o):(t[s>>2]=t[o>>2],t[k>>2]=(t[k>>2]|0)+4),o=o+4|0,!(t[o>>2]|0))break e;s=t[k>>2]|0,l=t[P>>2]|0}while(0);t[Pe>>2]=nh(d)|0,t[ke>>2]=Dn(_)|0,XO(r,e,Pe,ke,le,ie),M4(ie),Rl(le)}n=t[n>>2]|0}while((n|0)!=0)}h=qe}function I4(e){return e=e|0,t[e+12>>2]|0}function b1(e){return e=e|0,t[e+12>>2]|0}function G1(e){return e=e|0,t[e+16>>2]|0}function $O(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+32|0,r=s,o=t[e>>2]|0,(t[e+8>>2]|0)-o>>2>>>0>>0&&(m8(r,n,(t[e+4>>2]|0)-o>>2,e+8|0),v8(e,r),g8(r)),h=s}function P4(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;if(d=h,h=h+32|0,r=d,o=e+4|0,s=((t[o>>2]|0)-(t[e>>2]|0)>>2)+1|0,l=h8(e)|0,l>>>0>>0)$n(e);else{_=t[e>>2]|0,k=(t[e+8>>2]|0)-_|0,y=k>>1,m8(r,k>>2>>>0>>1>>>0?y>>>0>>0?s:y:l,(t[o>>2]|0)-_>>2,e+8|0),l=r+8|0,t[t[l>>2]>>2]=t[n>>2],t[l>>2]=(t[l>>2]|0)+4,v8(e,r),g8(r),h=d;return}}function V1(e){return e=e|0,t[e+8>>2]|0}function KO(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;if(d=h,h=h+32|0,r=d,o=e+4|0,s=((t[o>>2]|0)-(t[e>>2]|0)>>2)+1|0,l=p8(e)|0,l>>>0>>0)$n(e);else{_=t[e>>2]|0,k=(t[e+8>>2]|0)-_|0,y=k>>1,mI(r,k>>2>>>0>>1>>>0?y>>>0>>0?s:y:l,(t[o>>2]|0)-_>>2,e+8|0),l=r+8|0,t[t[l>>2]>>2]=t[n>>2],t[l>>2]=(t[l>>2]|0)+4,vI(e,r),gI(r),h=d;return}}function nh(e){return e=e|0,t[e>>2]|0}function XO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,JO(e,n,r,o,s,l)}function M4(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function Rl(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-4-o|0)>>>2)<<2)),Ve(r))}function JO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+48|0,T=d+40|0,_=d+32|0,P=d+24|0,y=d+12|0,k=d,Zo(_),e=Oi(e)|0,t[P>>2]=t[n>>2],r=t[r>>2]|0,o=t[o>>2]|0,F4(y,s),QO(k,l),t[T>>2]=t[P>>2],ZO(e,T,r,o,y,k),M4(k),Rl(y),eu(_),h=d}function F4(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(pI(e,o),hI(e,t[n>>2]|0,t[r>>2]|0,o))}function QO(e,n){e=e|0,n=n|0;var r=0,o=0;t[e>>2]=0,t[e+4>>2]=0,t[e+8>>2]=0,r=n+4|0,o=(t[r>>2]|0)-(t[n>>2]|0)>>2,o|0&&(aI(e,o),dI(e,t[n>>2]|0,t[r>>2]|0,o))}function ZO(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+32|0,T=d+28|0,P=d+24|0,_=d+12|0,y=d,k=ko(eI()|0)|0,t[P>>2]=t[n>>2],t[T>>2]=t[P>>2],n=lc(T)|0,r=l8(r)|0,o=L4(o)|0,t[_>>2]=t[s>>2],T=s+4|0,t[_+4>>2]=t[T>>2],P=s+8|0,t[_+8>>2]=t[P>>2],t[P>>2]=0,t[T>>2]=0,t[s>>2]=0,s=R4(_)|0,t[y>>2]=t[l>>2],T=l+4|0,t[y+4>>2]=t[T>>2],P=l+8|0,t[y+8>>2]=t[P>>2],t[P>>2]=0,t[T>>2]=0,t[l>>2]=0,qo(0,k|0,e|0,n|0,r|0,o|0,s|0,tI(y)|0)|0,M4(y),Rl(_),h=d}function eI(){var e=0;return c[7968]|0||(fI(10708),e=7968,t[e>>2]=1,t[e+4>>2]=0),10708}function lc(e){return e=e|0,c8(e)|0}function l8(e){return e=e|0,f8(e)|0}function L4(e){return e=e|0,ea(e)|0}function R4(e){return e=e|0,rI(e)|0}function tI(e){return e=e|0,nI(e)|0}function nI(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=o>>2,o=Qo(o+4|0)|0,t[o>>2]=r,r|0){n=0;do t[o+4+(n<<2)>>2]=f8(t[(t[e>>2]|0)+(n<<2)>>2]|0)|0,n=n+1|0;while((n|0)!=(r|0))}return o|0}function f8(e){return e=e|0,e|0}function rI(e){e=e|0;var n=0,r=0,o=0;if(o=(t[e+4>>2]|0)-(t[e>>2]|0)|0,r=o>>2,o=Qo(o+4|0)|0,t[o>>2]=r,r|0){n=0;do t[o+4+(n<<2)>>2]=c8((t[e>>2]|0)+(n<<2)|0)|0,n=n+1|0;while((n|0)!=(r|0))}return o|0}function c8(e){e=e|0;var n=0,r=0,o=0,s=0;return s=h,h=h+32|0,n=s+12|0,r=s,o=U0(a8()|0)|0,o?(s1(n,o),l1(r,n),UF(e,r),e=f1(n)|0):e=iI(e)|0,h=s,e|0}function a8(){var e=0;return c[7960]|0||(lI(10664),Bt(25,10664,Q|0)|0,e=7960,t[e>>2]=1,t[e+4>>2]=0),10664}function iI(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(4)|0,t[_>>2]=t[e>>2],l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],d8(e,l,s),t[o>>2]=e,h=r,n|0}function d8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1656,t[r+12>>2]=n,t[e+4>>2]=r}function oI(e){e=e|0,da(e),Ve(e)}function uI(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function sI(e){e=e|0,Ve(e)}function lI(e){e=e|0,Ys(e)}function fI(e){e=e|0,Ao(e,cI()|0,5)}function cI(){return 1676}function aI(e,n){e=e|0,n=n|0;var r=0;if((p8(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function dI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function p8(e){return e=e|0,1073741823}function pI(e,n){e=e|0,n=n|0;var r=0;if((h8(e)|0)>>>0>>0&&$n(e),n>>>0>1073741823)_n();else{r=Tt(n<<2)|0,t[e+4>>2]=r,t[e>>2]=r,t[e+8>>2]=r+(n<<2);return}}function hI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,o=e+4|0,e=r-n|0,(e|0)>0&&(vn(t[o>>2]|0,n|0,e|0)|0,t[o>>2]=(t[o>>2]|0)+(e>>>2<<2))}function h8(e){return e=e|0,1073741823}function mI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function vI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function gI(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function m8(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>1073741823)_n();else{s=Tt(n<<2)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<2)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<2)}function v8(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>2)<<2)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function g8(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-4-n|0)>>>2)<<2)),e=t[e>>2]|0,e|0&&Ve(e)}function _I(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;if(ie=h,h=h+32|0,T=ie+20|0,P=ie+12|0,k=ie+16|0,q=ie+4|0,we=ie,le=ie+8|0,_=o8()|0,l=t[_>>2]|0,d=t[l>>2]|0,d|0)for(y=t[_+8>>2]|0,_=t[_+4>>2]|0;os(T,d),yI(e,T,_,y),l=l+4|0,d=t[l>>2]|0,d;)y=y+1|0,_=_+1|0;if(l=u8()|0,d=t[l>>2]|0,d|0)do os(T,d),t[P>>2]=t[l+4>>2],wI(n,T,P),l=l+8|0,d=t[l>>2]|0;while((d|0)!=0);if(l=t[(sa()|0)>>2]|0,l|0)do n=t[l+4>>2]|0,os(T,t[(la(n)|0)>>2]|0),t[P>>2]=A4(n)|0,DI(r,T,P),l=t[l>>2]|0;while((l|0)!=0);if(os(k,0),l=O4()|0,t[T>>2]=t[k>>2],s8(T,l,s),l=t[(sa()|0)>>2]|0,l|0){e=T+4|0,n=T+8|0,r=T+8|0;do{if(y=t[l+4>>2]|0,os(P,t[(la(y)|0)>>2]|0),EI(q,_8(y)|0),d=t[q>>2]|0,d|0){t[T>>2]=0,t[e>>2]=0,t[n>>2]=0;do os(we,t[(la(t[d+4>>2]|0)|0)>>2]|0),_=t[e>>2]|0,_>>>0<(t[r>>2]|0)>>>0?(t[_>>2]=t[we>>2],t[e>>2]=(t[e>>2]|0)+4):P4(T,we),d=t[d>>2]|0;while((d|0)!=0);SI(o,P,T),Rl(T)}t[le>>2]=t[P>>2],k=y8(y)|0,t[T>>2]=t[le>>2],s8(T,k,s),bd(q),l=t[l>>2]|0}while((l|0)!=0)}h=ie}function yI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,RI(e,n,r,o)}function wI(e,n,r){e=e|0,n=n|0,r=r|0,LI(e,n,r)}function la(e){return e=e|0,e|0}function DI(e,n,r){e=e|0,n=n|0,r=r|0,II(e,n,r)}function _8(e){return e=e|0,e+16|0}function EI(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;if(l=h,h=h+16|0,s=l+8|0,r=l,t[e>>2]=0,o=t[n>>2]|0,t[s>>2]=o,t[r>>2]=e,r=OI(r)|0,o|0){if(o=Tt(12)|0,d=(w8(s)|0)+4|0,e=t[d+4>>2]|0,n=o+4|0,t[n>>2]=t[d>>2],t[n+4>>2]=e,n=t[t[s>>2]>>2]|0,t[s>>2]=n,!n)e=o;else for(n=o;e=Tt(12)|0,y=(w8(s)|0)+4|0,_=t[y+4>>2]|0,d=e+4|0,t[d>>2]=t[y>>2],t[d+4>>2]=_,t[n>>2]=e,d=t[t[s>>2]>>2]|0,t[s>>2]=d,d;)n=e;t[e>>2]=t[r>>2],t[r>>2]=o}h=l}function SI(e,n,r){e=e|0,n=n|0,r=r|0,CI(e,n,r)}function y8(e){return e=e|0,e+24|0}function CI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,d=o+24|0,s=o+16|0,_=o+12|0,l=o,Zo(s),e=Oi(e)|0,t[_>>2]=t[n>>2],F4(l,r),t[d>>2]=t[_>>2],TI(e,d,l),Rl(l),eu(s),h=o}function TI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=h,h=h+32|0,d=o+16|0,_=o+12|0,s=o,l=ko(xI()|0)|0,t[_>>2]=t[n>>2],t[d>>2]=t[_>>2],n=lc(d)|0,t[s>>2]=t[r>>2],d=r+4|0,t[s+4>>2]=t[d>>2],_=r+8|0,t[s+8>>2]=t[_>>2],t[_>>2]=0,t[d>>2]=0,t[r>>2]=0,Ts(0,l|0,e|0,n|0,R4(s)|0)|0,Rl(s),h=o}function xI(){var e=0;return c[7976]|0||(kI(10720),e=7976,t[e>>2]=1,t[e+4>>2]=0),10720}function kI(e){e=e|0,Ao(e,AI()|0,2)}function AI(){return 1732}function OI(e){return e=e|0,t[e>>2]|0}function w8(e){return e=e|0,t[e>>2]|0}function II(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+32|0,l=o+16|0,s=o+8|0,d=o,Zo(s),e=Oi(e)|0,t[d>>2]=t[n>>2],r=t[r>>2]|0,t[l>>2]=t[d>>2],D8(e,l,r),eu(s),h=o}function D8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+16|0,l=o+4|0,d=o,s=ko(PI()|0)|0,t[d>>2]=t[n>>2],t[l>>2]=t[d>>2],n=lc(l)|0,Ts(0,s|0,e|0,n|0,l8(r)|0)|0,h=o}function PI(){var e=0;return c[7984]|0||(MI(10732),e=7984,t[e>>2]=1,t[e+4>>2]=0),10732}function MI(e){e=e|0,Ao(e,FI()|0,2)}function FI(){return 1744}function LI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;o=h,h=h+32|0,l=o+16|0,s=o+8|0,d=o,Zo(s),e=Oi(e)|0,t[d>>2]=t[n>>2],r=t[r>>2]|0,t[l>>2]=t[d>>2],D8(e,l,r),eu(s),h=o}function RI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+32|0,d=s+16|0,l=s+8|0,_=s,Zo(l),e=Oi(e)|0,t[_>>2]=t[n>>2],r=c[r>>0]|0,o=c[o>>0]|0,t[d>>2]=t[_>>2],NI(e,d,r,o),eu(l),h=s}function NI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,d=s+4|0,_=s,l=ko(BI()|0)|0,t[_>>2]=t[n>>2],t[d>>2]=t[_>>2],n=lc(d)|0,r=fa(r)|0,Bu(0,l|0,e|0,n|0,r|0,fa(o)|0)|0,h=s}function BI(){var e=0;return c[7992]|0||(UI(10744),e=7992,t[e>>2]=1,t[e+4>>2]=0),10744}function fa(e){return e=e|0,jI(e)|0}function jI(e){return e=e|0,e&255|0}function UI(e){e=e|0,Ao(e,qI()|0,3)}function qI(){return 1756}function zI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;switch(q=h,h=h+32|0,_=q+8|0,y=q+4|0,k=q+20|0,T=q,_1(e,0),o=jF(n)|0,t[_>>2]=0,P=_+4|0,t[P>>2]=0,t[_+8>>2]=0,o<<24>>24){case 0:{c[k>>0]=0,WI(y,r,k),rh(e,y)|0,ei(y);break}case 8:{P=z4(n)|0,c[k>>0]=8,os(T,t[P+4>>2]|0),HI(y,r,k,T,P+8|0),rh(e,y)|0,ei(y);break}case 9:{if(l=z4(n)|0,n=t[l+4>>2]|0,n|0)for(d=_+8|0,s=l+12|0;n=n+-1|0,os(y,t[s>>2]|0),o=t[P>>2]|0,o>>>0<(t[d>>2]|0)>>>0?(t[o>>2]=t[y>>2],t[P>>2]=(t[P>>2]|0)+4):P4(_,y),n;)s=s+4|0;c[k>>0]=9,os(T,t[l+8>>2]|0),bI(y,r,k,T,_),rh(e,y)|0,ei(y);break}default:P=z4(n)|0,c[k>>0]=o,os(T,t[P+4>>2]|0),GI(y,r,k,T),rh(e,y)|0,ei(y)}Rl(_),h=q}function WI(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;o=h,h=h+16|0,s=o,Zo(s),n=Oi(n)|0,iP(e,n,c[r>>0]|0),eu(s),h=o}function rh(e,n){e=e|0,n=n|0;var r=0;return r=t[e>>2]|0,r|0&&ju(r|0),t[e>>2]=t[n>>2],t[n>>2]=0,e|0}function HI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+32|0,_=l+16|0,d=l+8|0,y=l,Zo(d),n=Oi(n)|0,r=c[r>>0]|0,t[y>>2]=t[o>>2],s=t[s>>2]|0,t[_>>2]=t[y>>2],eP(e,n,r,_,s),eu(d),h=l}function bI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0;l=h,h=h+32|0,y=l+24|0,d=l+16|0,k=l+12|0,_=l,Zo(d),n=Oi(n)|0,r=c[r>>0]|0,t[k>>2]=t[o>>2],F4(_,s),t[y>>2]=t[k>>2],XI(e,n,r,y,_),Rl(_),eu(d),h=l}function GI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+32|0,d=s+16|0,l=s+8|0,_=s,Zo(l),n=Oi(n)|0,r=c[r>>0]|0,t[_>>2]=t[o>>2],t[d>>2]=t[_>>2],VI(e,n,r,d),eu(l),h=s}function VI(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0,d=0,_=0;s=h,h=h+16|0,l=s+4|0,_=s,d=ko(YI()|0)|0,r=fa(r)|0,t[_>>2]=t[o>>2],t[l>>2]=t[_>>2],ih(e,Ts(0,d|0,n|0,r|0,lc(l)|0)|0),h=s}function YI(){var e=0;return c[8e3]|0||($I(10756),e=8e3,t[e>>2]=1,t[e+4>>2]=0),10756}function ih(e,n){e=e|0,n=n|0,_1(e,n)}function $I(e){e=e|0,Ao(e,KI()|0,2)}function KI(){return 1772}function XI(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0;l=h,h=h+32|0,y=l+16|0,k=l+12|0,d=l,_=ko(JI()|0)|0,r=fa(r)|0,t[k>>2]=t[o>>2],t[y>>2]=t[k>>2],o=lc(y)|0,t[d>>2]=t[s>>2],y=s+4|0,t[d+4>>2]=t[y>>2],k=s+8|0,t[d+8>>2]=t[k>>2],t[k>>2]=0,t[y>>2]=0,t[s>>2]=0,ih(e,Bu(0,_|0,n|0,r|0,o|0,R4(d)|0)|0),Rl(d),h=l}function JI(){var e=0;return c[8008]|0||(QI(10768),e=8008,t[e>>2]=1,t[e+4>>2]=0),10768}function QI(e){e=e|0,Ao(e,ZI()|0,3)}function ZI(){return 1784}function eP(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0;l=h,h=h+16|0,_=l+4|0,y=l,d=ko(tP()|0)|0,r=fa(r)|0,t[y>>2]=t[o>>2],t[_>>2]=t[y>>2],o=lc(_)|0,ih(e,Bu(0,d|0,n|0,r|0,o|0,L4(s)|0)|0),h=l}function tP(){var e=0;return c[8016]|0||(nP(10780),e=8016,t[e>>2]=1,t[e+4>>2]=0),10780}function nP(e){e=e|0,Ao(e,rP()|0,3)}function rP(){return 1800}function iP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;o=ko(oP()|0)|0,ih(e,sf(0,o|0,n|0,fa(r)|0)|0)}function oP(){var e=0;return c[8024]|0||(uP(10792),e=8024,t[e>>2]=1,t[e+4>>2]=0),10792}function uP(e){e=e|0,Ao(e,sP()|0,1)}function sP(){return 1816}function lP(){fP(),cP(),aP()}function fP(){t[2702]=K8(65536)|0}function cP(){PP(10856)}function aP(){dP(10816)}function dP(e){e=e|0,pP(e,5044),hP(e)|0}function pP(e,n){e=e|0,n=n|0;var r=0;r=a8()|0,t[e>>2]=r,TP(r,n),Cf(t[e>>2]|0)}function hP(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,mP()|0),e|0}function mP(){var e=0;return c[8032]|0||(E8(10820),Bt(64,10820,Q|0)|0,e=8032,t[e>>2]=1,t[e+4>>2]=0),Dn(10820)|0||E8(10820),10820}function E8(e){e=e|0,_P(e),sc(e,25)}function vP(e){e=e|0,gP(e+24|0)}function gP(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function _P(e){e=e|0;var n=0;n=An()|0,Nn(e,5,18,n,EP()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function yP(e,n){e=e|0,n=n|0,wP(e,n)}function wP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;r=h,h=h+16|0,o=r,s=r+4|0,Ml(s,n),t[o>>2]=Fl(s,n)|0,DP(e,o),h=r}function DP(e,n){e=e|0,n=n|0,S8(e+4|0,t[n>>2]|0),c[e+8>>0]=1}function S8(e,n){e=e|0,n=n|0,t[e>>2]=n}function EP(){return 1824}function SP(e){return e=e|0,CP(e)|0}function CP(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0;return r=h,h=h+16|0,s=r+4|0,d=r,o=Qo(8)|0,n=o,_=Tt(4)|0,Ml(s,e),S8(_,Fl(s,e)|0),l=n+4|0,t[l>>2]=_,e=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],d8(e,l,s),t[o>>2]=e,h=r,n|0}function Qo(e){e=e|0;var n=0,r=0;return e=e+7&-8,(e>>>0<=32768?(n=t[2701]|0,e>>>0<=(65536-n|0)>>>0):0)?(r=(t[2702]|0)+n|0,t[2701]=n+e,e=r):(e=K8(e+8|0)|0,t[e>>2]=t[2703],t[2703]=e,e=e+8|0),e|0}function TP(e,n){e=e|0,n=n|0,t[e>>2]=xP()|0,t[e+4>>2]=kP()|0,t[e+12>>2]=n,t[e+8>>2]=AP()|0,t[e+32>>2]=9}function xP(){return 11744}function kP(){return 1832}function AP(){return th()|0}function OP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(IP(r),Ve(r)):n|0&&Ve(n)}function IP(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function PP(e){e=e|0,MP(e,5052),FP(e)|0,LP(e,5058,26)|0,RP(e,5069,1)|0,NP(e,5077,10)|0,BP(e,5087,19)|0,jP(e,5094,27)|0}function MP(e,n){e=e|0,n=n|0;var r=0;r=IF()|0,t[e>>2]=r,PF(r,n),Cf(t[e>>2]|0)}function FP(e){e=e|0;var n=0;return n=t[e>>2]|0,uc(n,vF()|0),e|0}function LP(e,n,r){return e=e|0,n=n|0,r=r|0,QM(e,Zn(n)|0,r,0),e|0}function RP(e,n,r){return e=e|0,n=n|0,r=r|0,BM(e,Zn(n)|0,r,0),e|0}function NP(e,n,r){return e=e|0,n=n|0,r=r|0,mM(e,Zn(n)|0,r,0),e|0}function BP(e,n,r){return e=e|0,n=n|0,r=r|0,eM(e,Zn(n)|0,r,0),e|0}function C8(e,n){e=e|0,n=n|0;var r=0,o=0;e:for(;;){for(r=t[2703]|0;;){if((r|0)==(n|0))break e;if(o=t[r>>2]|0,t[2703]=o,!r)r=o;else break}Ve(r)}t[2701]=e}function jP(e,n,r){return e=e|0,n=n|0,r=r|0,UP(e,Zn(n)|0,r,0),e|0}function UP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=N4()|0,e=qP(r)|0,ur(l,n,s,e,zP(r,o)|0,o)}function N4(){var e=0,n=0;if(c[8040]|0||(x8(10860),Bt(65,10860,Q|0)|0,n=8040,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10860)|0)){e=10860,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));x8(10860)}return 10860}function qP(e){return e=e|0,e|0}function zP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=N4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(T8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(WP(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function T8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function WP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=HP(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,bP(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,T8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,GP(e,s),VP(s),h=_;return}}function HP(e){return e=e|0,536870911}function bP(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function GP(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function VP(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function x8(e){e=e|0,KP(e)}function YP(e){e=e|0,$P(e+24|0)}function $P(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function KP(e){e=e|0;var n=0;n=An()|0,Nn(e,1,11,n,XP()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function XP(){return 1840}function JP(e,n,r){e=e|0,n=n|0,r=r|0,ZP(t[(QP(e)|0)>>2]|0,n,r)}function QP(e){return e=e|0,(t[(N4()|0)+24>>2]|0)+(e<<3)|0}function ZP(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=h,h=h+16|0,l=o+1|0,s=o,Ml(l,n),n=Fl(l,n)|0,Ml(s,r),r=Fl(s,r)|0,Bl[e&31](n,r),h=o}function eM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=B4()|0,e=tM(r)|0,ur(l,n,s,e,nM(r,o)|0,o)}function B4(){var e=0,n=0;if(c[8048]|0||(A8(10896),Bt(66,10896,Q|0)|0,n=8048,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10896)|0)){e=10896,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));A8(10896)}return 10896}function tM(e){return e=e|0,e|0}function nM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=B4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(k8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(rM(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function k8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function rM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=iM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,oM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,k8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,uM(e,s),sM(s),h=_;return}}function iM(e){return e=e|0,536870911}function oM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function uM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function sM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function A8(e){e=e|0,cM(e)}function lM(e){e=e|0,fM(e+24|0)}function fM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function cM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,11,n,aM()|0,1),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function aM(){return 1852}function dM(e,n){return e=e|0,n=n|0,hM(t[(pM(e)|0)>>2]|0,n)|0}function pM(e){return e=e|0,(t[(B4()|0)+24>>2]|0)+(e<<3)|0}function hM(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Ml(o,n),n=Fl(o,n)|0,n=ea(dc[e&31](n)|0)|0,h=r,n|0}function mM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=j4()|0,e=vM(r)|0,ur(l,n,s,e,gM(r,o)|0,o)}function j4(){var e=0,n=0;if(c[8056]|0||(I8(10932),Bt(67,10932,Q|0)|0,n=8056,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10932)|0)){e=10932,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));I8(10932)}return 10932}function vM(e){return e=e|0,e|0}function gM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=j4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(O8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(_M(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function O8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function _M(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=yM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,wM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,O8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,DM(e,s),EM(s),h=_;return}}function yM(e){return e=e|0,536870911}function wM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function DM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function EM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function I8(e){e=e|0,TM(e)}function SM(e){e=e|0,CM(e+24|0)}function CM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function TM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,7,n,xM()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function xM(){return 1860}function kM(e,n,r){return e=e|0,n=n|0,r=r|0,OM(t[(AM(e)|0)>>2]|0,n,r)|0}function AM(e){return e=e|0,(t[(j4()|0)+24>>2]|0)+(e<<3)|0}function OM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0;return o=h,h=h+32|0,d=o+12|0,l=o+8|0,_=o,y=o+16|0,s=o+4|0,IM(y,n),PM(_,y,n),$s(s,r),r=Ks(s,r)|0,t[d>>2]=t[_>>2],X1[e&15](l,d,r),r=MM(l)|0,ei(l),Xs(s),h=o,r|0}function IM(e,n){e=e|0,n=n|0}function PM(e,n,r){e=e|0,n=n|0,r=r|0,FM(e,r)}function MM(e){return e=e|0,Oi(e)|0}function FM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0;s=h,h=h+16|0,r=s,o=n,o&1?(LM(r,0),c0(o|0,r|0)|0,RM(e,r),NM(r)):t[e>>2]=t[n>>2],h=s}function LM(e,n){e=e|0,n=n|0,wd(e,n),t[e+4>>2]=0,c[e+8>>0]=0}function RM(e,n){e=e|0,n=n|0,t[e>>2]=t[n+4>>2]}function NM(e){e=e|0,c[e+8>>0]=0}function BM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=U4()|0,e=jM(r)|0,ur(l,n,s,e,UM(r,o)|0,o)}function U4(){var e=0,n=0;if(c[8064]|0||(M8(10968),Bt(68,10968,Q|0)|0,n=8064,t[n>>2]=1,t[n+4>>2]=0),!(Dn(10968)|0)){e=10968,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));M8(10968)}return 10968}function jM(e){return e=e|0,e|0}function UM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=U4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(P8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(qM(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function P8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function qM(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=zM(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,WM(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,P8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,HM(e,s),bM(s),h=_;return}}function zM(e){return e=e|0,536870911}function WM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function HM(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function bM(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function M8(e){e=e|0,YM(e)}function GM(e){e=e|0,VM(e+24|0)}function VM(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function YM(e){e=e|0;var n=0;n=An()|0,Nn(e,1,1,n,$M()|0,5),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function $M(){return 1872}function KM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,JM(t[(XM(e)|0)>>2]|0,n,r,o,s,l)}function XM(e){return e=e|0,(t[(U4()|0)+24>>2]|0)+(e<<3)|0}function JM(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0;d=h,h=h+32|0,_=d+16|0,y=d+12|0,k=d+8|0,T=d+4|0,P=d,$s(_,n),n=Ks(_,n)|0,$s(y,r),r=Ks(y,r)|0,$s(k,o),o=Ks(k,o)|0,$s(T,s),s=Ks(T,s)|0,$s(P,l),l=Ks(P,l)|0,eD[e&1](n,r,o,s,l),Xs(P),Xs(T),Xs(k),Xs(y),Xs(_),h=d}function QM(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;l=t[e>>2]|0,s=q4()|0,e=ZM(r)|0,ur(l,n,s,e,eF(r,o)|0,o)}function q4(){var e=0,n=0;if(c[8072]|0||(L8(11004),Bt(69,11004,Q|0)|0,n=8072,t[n>>2]=1,t[n+4>>2]=0),!(Dn(11004)|0)){e=11004,n=e+36|0;do t[e>>2]=0,e=e+4|0;while((e|0)<(n|0));L8(11004)}return 11004}function ZM(e){return e=e|0,e|0}function eF(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0,_=0,y=0;return _=h,h=h+16|0,s=_,l=_+4|0,t[s>>2]=e,y=q4()|0,d=y+24|0,n=Lt(n,4)|0,t[l>>2]=n,r=y+28|0,o=t[r>>2]|0,o>>>0<(t[y+32>>2]|0)>>>0?(F8(o,e,n),n=(t[r>>2]|0)+8|0,t[r>>2]=n):(tF(d,s,l),n=t[r>>2]|0),h=_,(n-(t[d>>2]|0)>>3)+-1|0}function F8(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,t[e+4>>2]=r}function tF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0;if(_=h,h=h+32|0,s=_,l=e+4|0,d=((t[l>>2]|0)-(t[e>>2]|0)>>3)+1|0,o=nF(e)|0,o>>>0>>0)$n(e);else{y=t[e>>2]|0,T=(t[e+8>>2]|0)-y|0,k=T>>2,rF(s,T>>3>>>0>>1>>>0?k>>>0>>0?d:k:o,(t[l>>2]|0)-y>>3,e+8|0),d=s+8|0,F8(t[d>>2]|0,t[n>>2]|0,t[r>>2]|0),t[d>>2]=(t[d>>2]|0)+8,iF(e,s),oF(s),h=_;return}}function nF(e){return e=e|0,536870911}function rF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0;t[e+12>>2]=0,t[e+16>>2]=o;do if(n)if(n>>>0>536870911)_n();else{s=Tt(n<<3)|0;break}else s=0;while(0);t[e>>2]=s,o=s+(r<<3)|0,t[e+8>>2]=o,t[e+4>>2]=o,t[e+12>>2]=s+(n<<3)}function iF(e,n){e=e|0,n=n|0;var r=0,o=0,s=0,l=0,d=0;o=t[e>>2]|0,d=e+4|0,l=n+4|0,s=(t[d>>2]|0)-o|0,r=(t[l>>2]|0)+(0-(s>>3)<<3)|0,t[l>>2]=r,(s|0)>0?(vn(r|0,o|0,s|0)|0,o=l,r=t[l>>2]|0):o=l,l=t[e>>2]|0,t[e>>2]=r,t[o>>2]=l,l=n+8|0,s=t[d>>2]|0,t[d>>2]=t[l>>2],t[l>>2]=s,l=e+8|0,d=n+12|0,e=t[l>>2]|0,t[l>>2]=t[d>>2],t[d>>2]=e,t[n>>2]=t[o>>2]}function oF(e){e=e|0;var n=0,r=0,o=0;n=t[e+4>>2]|0,r=e+8|0,o=t[r>>2]|0,(o|0)!=(n|0)&&(t[r>>2]=o+(~((o+-8-n|0)>>>3)<<3)),e=t[e>>2]|0,e|0&&Ve(e)}function L8(e){e=e|0,lF(e)}function uF(e){e=e|0,sF(e+24|0)}function sF(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function lF(e){e=e|0;var n=0;n=An()|0,Nn(e,1,12,n,fF()|0,2),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function fF(){return 1896}function cF(e,n,r){e=e|0,n=n|0,r=r|0,dF(t[(aF(e)|0)>>2]|0,n,r)}function aF(e){return e=e|0,(t[(q4()|0)+24>>2]|0)+(e<<3)|0}function dF(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;o=h,h=h+16|0,l=o+4|0,s=o,pF(l,n),n=hF(l,n)|0,$s(s,r),r=Ks(s,r)|0,Bl[e&31](n,r),Xs(s),h=o}function pF(e,n){e=e|0,n=n|0}function hF(e,n){return e=e|0,n=n|0,mF(n)|0}function mF(e){return e=e|0,e|0}function vF(){var e=0;return c[8080]|0||(R8(11040),Bt(70,11040,Q|0)|0,e=8080,t[e>>2]=1,t[e+4>>2]=0),Dn(11040)|0||R8(11040),11040}function R8(e){e=e|0,yF(e),sc(e,71)}function gF(e){e=e|0,_F(e+24|0)}function _F(e){e=e|0;var n=0,r=0,o=0;r=t[e>>2]|0,o=r,r|0&&(e=e+4|0,n=t[e>>2]|0,(n|0)!=(r|0)&&(t[e>>2]=n+(~((n+-8-o|0)>>>3)<<3)),Ve(r))}function yF(e){e=e|0;var n=0;n=An()|0,Nn(e,5,7,n,SF()|0,0),t[e+24>>2]=0,t[e+28>>2]=0,t[e+32>>2]=0}function wF(e){e=e|0,DF(e)}function DF(e){e=e|0,EF(e)}function EF(e){e=e|0,c[e+8>>0]=1}function SF(){return 1936}function CF(){return TF()|0}function TF(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0;return n=h,h=h+16|0,s=n+4|0,d=n,r=Qo(8)|0,e=r,l=e+4|0,t[l>>2]=Tt(1)|0,o=Tt(8)|0,l=t[l>>2]|0,t[d>>2]=0,t[s>>2]=t[d>>2],xF(o,l,s),t[r>>2]=o,h=n,e|0}function xF(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]=n,r=Tt(16)|0,t[r+4>>2]=0,t[r+8>>2]=0,t[r>>2]=1916,t[r+12>>2]=n,t[e+4>>2]=r}function kF(e){e=e|0,da(e),Ve(e)}function AF(e){e=e|0,e=t[e+12>>2]|0,e|0&&Ve(e)}function OF(e){e=e|0,Ve(e)}function IF(){var e=0;return c[8088]|0||(BF(11076),Bt(25,11076,Q|0)|0,e=8088,t[e>>2]=1,t[e+4>>2]=0),11076}function PF(e,n){e=e|0,n=n|0,t[e>>2]=MF()|0,t[e+4>>2]=FF()|0,t[e+12>>2]=n,t[e+8>>2]=LF()|0,t[e+32>>2]=10}function MF(){return 11745}function FF(){return 1940}function LF(){return eh()|0}function RF(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,(Sf(o,896)|0)==512?r|0&&(NF(r),Ve(r)):n|0&&Ve(n)}function NF(e){e=e|0,e=t[e+4>>2]|0,e|0&&Tf(e)}function BF(e){e=e|0,Ys(e)}function os(e,n){e=e|0,n=n|0,t[e>>2]=n}function z4(e){return e=e|0,t[e>>2]|0}function jF(e){return e=e|0,c[t[e>>2]>>0]|0}function UF(e,n){e=e|0,n=n|0;var r=0,o=0;r=h,h=h+16|0,o=r,t[o>>2]=t[e>>2],qF(n,o)|0,h=r}function qF(e,n){e=e|0,n=n|0;var r=0;return r=zF(t[e>>2]|0,n)|0,n=e+4|0,t[(t[n>>2]|0)+8>>2]=r,t[(t[n>>2]|0)+8>>2]|0}function zF(e,n){e=e|0,n=n|0;var r=0,o=0;return r=h,h=h+16|0,o=r,Zo(o),e=Oi(e)|0,n=WF(e,t[n>>2]|0)|0,eu(o),h=r,n|0}function Zo(e){e=e|0,t[e>>2]=t[2701],t[e+4>>2]=t[2703]}function WF(e,n){e=e|0,n=n|0;var r=0;return r=ko(HF()|0)|0,sf(0,r|0,e|0,L4(n)|0)|0}function eu(e){e=e|0,C8(t[e>>2]|0,t[e+4>>2]|0)}function HF(){var e=0;return c[8096]|0||(bF(11120),e=8096,t[e>>2]=1,t[e+4>>2]=0),11120}function bF(e){e=e|0,Ao(e,GF()|0,1)}function GF(){return 1948}function VF(){YF()}function YF(){var e=0,n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;if(le=h,h=h+16|0,T=le+4|0,P=le,si(65536,10804,t[2702]|0,10812),r=o8()|0,n=t[r>>2]|0,e=t[n>>2]|0,e|0)for(o=t[r+8>>2]|0,r=t[r+4>>2]|0;As(e|0,C[r>>0]|0|0,c[o>>0]|0),n=n+4|0,e=t[n>>2]|0,e;)o=o+1|0,r=r+1|0;if(e=u8()|0,n=t[e>>2]|0,n|0)do uu(n|0,t[e+4>>2]|0),e=e+8|0,n=t[e>>2]|0;while((n|0)!=0);uu($F()|0,5167),k=sa()|0,e=t[k>>2]|0;e:do if(e|0){do KF(t[e+4>>2]|0),e=t[e>>2]|0;while((e|0)!=0);if(e=t[k>>2]|0,e|0){y=k;do{for(;s=e,e=t[e>>2]|0,s=t[s+4>>2]|0,!!(XF(s)|0);)if(t[P>>2]=y,t[T>>2]=t[P>>2],JF(k,T)|0,!e)break e;if(QF(s),y=t[y>>2]|0,n=N8(s)|0,l=Wo()|0,d=h,h=h+((1*(n<<2)|0)+15&-16)|0,_=h,h=h+((1*(n<<2)|0)+15&-16)|0,n=t[(_8(s)|0)>>2]|0,n|0)for(r=d,o=_;t[r>>2]=t[(la(t[n+4>>2]|0)|0)>>2],t[o>>2]=t[n+8>>2],n=t[n>>2]|0,n;)r=r+4|0,o=o+4|0;ie=la(s)|0,n=ZF(s)|0,r=N8(s)|0,o=eL(s)|0,Is(ie|0,n|0,d|0,_|0,r|0,o|0,A4(s)|0),b0(l|0)}while((e|0)!=0)}}while(0);if(e=t[(O4()|0)>>2]|0,e|0)do ie=e+4|0,k=I4(ie)|0,s=V1(k)|0,l=b1(k)|0,d=(G1(k)|0)+1|0,_=oh(k)|0,y=B8(ie)|0,k=Dn(k)|0,T=nh(ie)|0,P=W4(ie)|0,zo(0,s|0,l|0,d|0,_|0,y|0,k|0,T|0,P|0,H4(ie)|0),e=t[e>>2]|0;while((e|0)!=0);e=t[(sa()|0)>>2]|0;e:do if(e|0){t:for(;;){if(n=t[e+4>>2]|0,n|0?(q=t[(la(n)|0)>>2]|0,we=t[(y8(n)|0)>>2]|0,we|0):0){r=we;do{n=r+4|0,o=I4(n)|0;n:do if(o|0)switch(Dn(o)|0){case 0:break t;case 4:case 3:case 2:{_=V1(o)|0,y=b1(o)|0,k=(G1(o)|0)+1|0,T=oh(o)|0,P=Dn(o)|0,ie=nh(n)|0,zo(q|0,_|0,y|0,k|0,T|0,0,P|0,ie|0,W4(n)|0,H4(n)|0);break n}case 1:{d=V1(o)|0,_=b1(o)|0,y=(G1(o)|0)+1|0,k=oh(o)|0,T=B8(n)|0,P=Dn(o)|0,ie=nh(n)|0,zo(q|0,d|0,_|0,y|0,k|0,T|0,P|0,ie|0,W4(n)|0,H4(n)|0);break n}case 5:{k=V1(o)|0,T=b1(o)|0,P=(G1(o)|0)+1|0,ie=oh(o)|0,zo(q|0,k|0,T|0,P|0,ie|0,tL(o)|0,Dn(o)|0,0,0,0);break n}default:break n}while(0);r=t[r>>2]|0}while((r|0)!=0)}if(e=t[e>>2]|0,!e)break e}_n()}while(0);uf(),h=le}function $F(){return 11703}function KF(e){e=e|0,c[e+40>>0]=0}function XF(e){return e=e|0,(c[e+40>>0]|0)!=0|0}function JF(e,n){return e=e|0,n=n|0,n=nL(n)|0,e=t[n>>2]|0,t[n>>2]=t[e>>2],Ve(e),t[n>>2]|0}function QF(e){e=e|0,c[e+40>>0]=1}function N8(e){return e=e|0,t[e+20>>2]|0}function ZF(e){return e=e|0,t[e+8>>2]|0}function eL(e){return e=e|0,t[e+32>>2]|0}function oh(e){return e=e|0,t[e+4>>2]|0}function B8(e){return e=e|0,t[e+4>>2]|0}function W4(e){return e=e|0,t[e+8>>2]|0}function H4(e){return e=e|0,t[e+16>>2]|0}function tL(e){return e=e|0,t[e+20>>2]|0}function nL(e){return e=e|0,t[e>>2]|0}function uh(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0;vt=h,h=h+16|0,q=vt;do if(e>>>0<245){if(k=e>>>0<11?16:e+11&-8,e=k>>>3,P=t[2783]|0,r=P>>>e,r&3|0)return n=(r&1^1)+e|0,e=11172+(n<<1<<2)|0,r=e+8|0,o=t[r>>2]|0,s=o+8|0,l=t[s>>2]|0,(e|0)==(l|0)?t[2783]=P&~(1<>2]=e,t[r>>2]=l),_e=n<<3,t[o+4>>2]=_e|3,_e=o+_e+4|0,t[_e>>2]=t[_e>>2]|1,_e=s,h=vt,_e|0;if(T=t[2785]|0,k>>>0>T>>>0){if(r|0)return n=2<>>12&16,n=n>>>d,r=n>>>5&8,n=n>>>r,s=n>>>2&4,n=n>>>s,e=n>>>1&2,n=n>>>e,o=n>>>1&1,o=(r|d|s|e|o)+(n>>>o)|0,n=11172+(o<<1<<2)|0,e=n+8|0,s=t[e>>2]|0,d=s+8|0,r=t[d>>2]|0,(n|0)==(r|0)?(e=P&~(1<>2]=n,t[e>>2]=r,e=P),l=(o<<3)-k|0,t[s+4>>2]=k|3,o=s+k|0,t[o+4>>2]=l|1,t[o+l>>2]=l,T|0&&(s=t[2788]|0,n=T>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=s,t[n+12>>2]=s,t[s+8>>2]=n,t[s+12>>2]=r),t[2785]=l,t[2788]=o,_e=d,h=vt,_e|0;if(_=t[2784]|0,_){if(r=(_&0-_)+-1|0,d=r>>>12&16,r=r>>>d,l=r>>>5&8,r=r>>>l,y=r>>>2&4,r=r>>>y,o=r>>>1&2,r=r>>>o,e=r>>>1&1,e=t[11436+((l|d|y|o|e)+(r>>>e)<<2)>>2]|0,r=(t[e+4>>2]&-8)-k|0,o=t[e+16+(((t[e+16>>2]|0)==0&1)<<2)>>2]|0,!o)y=e,l=r;else{do d=(t[o+4>>2]&-8)-k|0,y=d>>>0>>0,r=y?d:r,e=y?o:e,o=t[o+16+(((t[o+16>>2]|0)==0&1)<<2)>>2]|0;while((o|0)!=0);y=e,l=r}if(d=y+k|0,y>>>0>>0){s=t[y+24>>2]|0,n=t[y+12>>2]|0;do if((n|0)==(y|0)){if(e=y+20|0,n=t[e>>2]|0,!n&&(e=y+16|0,n=t[e>>2]|0,!n)){r=0;break}for(;;){if(r=n+20|0,o=t[r>>2]|0,o|0){n=o,e=r;continue}if(r=n+16|0,o=t[r>>2]|0,o)n=o,e=r;else break}t[e>>2]=0,r=n}else r=t[y+8>>2]|0,t[r+12>>2]=n,t[n+8>>2]=r,r=n;while(0);do if(s|0){if(n=t[y+28>>2]|0,e=11436+(n<<2)|0,(y|0)==(t[e>>2]|0)){if(t[e>>2]=r,!r){t[2784]=_&~(1<>2]|0)!=(y|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=s,n=t[y+16>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),n=t[y+20>>2]|0,n|0&&(t[r+20>>2]=n,t[n+24>>2]=r)}while(0);return l>>>0<16?(_e=l+k|0,t[y+4>>2]=_e|3,_e=y+_e+4|0,t[_e>>2]=t[_e>>2]|1):(t[y+4>>2]=k|3,t[d+4>>2]=l|1,t[d+l>>2]=l,T|0&&(o=t[2788]|0,n=T>>>3,r=11172+(n<<1<<2)|0,n=1<>2]|0):(t[2783]=P|n,n=r,e=r+8|0),t[e>>2]=o,t[n+12>>2]=o,t[o+8>>2]=n,t[o+12>>2]=r),t[2785]=l,t[2788]=d),_e=y+8|0,h=vt,_e|0}else P=k}else P=k}else P=k}else if(e>>>0<=4294967231)if(e=e+11|0,k=e&-8,y=t[2784]|0,y){o=0-k|0,e=e>>>8,e?k>>>0>16777215?_=31:(P=(e+1048320|0)>>>16&8,pe=e<>>16&4,pe=pe<>>16&2,_=14-(T|P|_)+(pe<<_>>>15)|0,_=k>>>(_+7|0)&1|_<<1):_=0,r=t[11436+(_<<2)>>2]|0;e:do if(!r)r=0,e=0,pe=57;else for(e=0,d=k<<((_|0)==31?0:25-(_>>>1)|0),l=0;;){if(s=(t[r+4>>2]&-8)-k|0,s>>>0>>0)if(s)e=r,o=s;else{e=r,o=0,s=r,pe=61;break e}if(s=t[r+20>>2]|0,r=t[r+16+(d>>>31<<2)>>2]|0,l=(s|0)==0|(s|0)==(r|0)?l:s,s=(r|0)==0,s){r=l,pe=57;break}else d=d<<((s^1)&1)}while(0);if((pe|0)==57){if((r|0)==0&(e|0)==0){if(e=2<<_,e=y&(e|0-e),!e){P=k;break}P=(e&0-e)+-1|0,d=P>>>12&16,P=P>>>d,l=P>>>5&8,P=P>>>l,_=P>>>2&4,P=P>>>_,T=P>>>1&2,P=P>>>T,r=P>>>1&1,e=0,r=t[11436+((l|d|_|T|r)+(P>>>r)<<2)>>2]|0}r?(s=r,pe=61):(_=e,d=o)}if((pe|0)==61)for(;;)if(pe=0,r=(t[s+4>>2]&-8)-k|0,P=r>>>0>>0,r=P?r:o,e=P?s:e,s=t[s+16+(((t[s+16>>2]|0)==0&1)<<2)>>2]|0,s)o=r,pe=61;else{_=e,d=r;break}if((_|0)!=0?d>>>0<((t[2785]|0)-k|0)>>>0:0){if(l=_+k|0,_>>>0>=l>>>0)return _e=0,h=vt,_e|0;s=t[_+24>>2]|0,n=t[_+12>>2]|0;do if((n|0)==(_|0)){if(e=_+20|0,n=t[e>>2]|0,!n&&(e=_+16|0,n=t[e>>2]|0,!n)){n=0;break}for(;;){if(r=n+20|0,o=t[r>>2]|0,o|0){n=o,e=r;continue}if(r=n+16|0,o=t[r>>2]|0,o)n=o,e=r;else break}t[e>>2]=0}else _e=t[_+8>>2]|0,t[_e+12>>2]=n,t[n+8>>2]=_e;while(0);do if(s){if(e=t[_+28>>2]|0,r=11436+(e<<2)|0,(_|0)==(t[r>>2]|0)){if(t[r>>2]=n,!n){o=y&~(1<>2]|0)!=(_|0)&1)<<2)>>2]=n,!n){o=y;break}t[n+24>>2]=s,e=t[_+16>>2]|0,e|0&&(t[n+16>>2]=e,t[e+24>>2]=n),e=t[_+20>>2]|0,e&&(t[n+20>>2]=e,t[e+24>>2]=n),o=y}else o=y;while(0);do if(d>>>0>=16){if(t[_+4>>2]=k|3,t[l+4>>2]=d|1,t[l+d>>2]=d,n=d>>>3,d>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=l,t[n+12>>2]=l,t[l+8>>2]=n,t[l+12>>2]=r;break}if(n=d>>>8,n?d>>>0>16777215?n=31:(pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,n=14-(qe|pe|n)+(_e<>>15)|0,n=d>>>(n+7|0)&1|n<<1):n=0,r=11436+(n<<2)|0,t[l+28>>2]=n,e=l+16|0,t[e+4>>2]=0,t[e>>2]=0,e=1<>2]=l,t[l+24>>2]=r,t[l+12>>2]=l,t[l+8>>2]=l;break}for(e=d<<((n|0)==31?0:25-(n>>>1)|0),r=t[r>>2]|0;;){if((t[r+4>>2]&-8|0)==(d|0)){pe=97;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=96;break}}if((pe|0)==96){t[o>>2]=l,t[l+24>>2]=r,t[l+12>>2]=l,t[l+8>>2]=l;break}else if((pe|0)==97){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=l,t[pe>>2]=l,t[l+8>>2]=_e,t[l+12>>2]=r,t[l+24>>2]=0;break}}else _e=d+k|0,t[_+4>>2]=_e|3,_e=_+_e+4|0,t[_e>>2]=t[_e>>2]|1;while(0);return _e=_+8|0,h=vt,_e|0}else P=k}else P=k;else P=-1;while(0);if(r=t[2785]|0,r>>>0>=P>>>0)return n=r-P|0,e=t[2788]|0,n>>>0>15?(_e=e+P|0,t[2788]=_e,t[2785]=n,t[_e+4>>2]=n|1,t[_e+n>>2]=n,t[e+4>>2]=P|3):(t[2785]=0,t[2788]=0,t[e+4>>2]=r|3,_e=e+r+4|0,t[_e>>2]=t[_e>>2]|1),_e=e+8|0,h=vt,_e|0;if(d=t[2786]|0,d>>>0>P>>>0)return qe=d-P|0,t[2786]=qe,_e=t[2789]|0,pe=_e+P|0,t[2789]=pe,t[pe+4>>2]=qe|1,t[_e+4>>2]=P|3,_e=_e+8|0,h=vt,_e|0;if(t[2901]|0?e=t[2903]|0:(t[2903]=4096,t[2902]=4096,t[2904]=-1,t[2905]=-1,t[2906]=0,t[2894]=0,e=q&-16^1431655768,t[q>>2]=e,t[2901]=e,e=4096),_=P+48|0,y=P+47|0,l=e+y|0,s=0-e|0,k=l&s,k>>>0<=P>>>0||(e=t[2893]|0,e|0?(T=t[2891]|0,q=T+k|0,q>>>0<=T>>>0|q>>>0>e>>>0):0))return _e=0,h=vt,_e|0;e:do if(t[2894]&4)n=0,pe=133;else{r=t[2789]|0;t:do if(r){for(o=11580;e=t[o>>2]|0,!(e>>>0<=r>>>0?(ie=o+4|0,(e+(t[ie>>2]|0)|0)>>>0>r>>>0):0);)if(e=t[o+8>>2]|0,e)o=e;else{pe=118;break t}if(n=l-d&s,n>>>0<2147483647)if(e=xf(n|0)|0,(e|0)==((t[o>>2]|0)+(t[ie>>2]|0)|0)){if((e|0)!=(-1|0)){d=n,l=e,pe=135;break e}}else o=e,pe=126;else n=0}else pe=118;while(0);do if((pe|0)==118)if(r=xf(0)|0,(r|0)!=(-1|0)?(n=r,we=t[2902]|0,le=we+-1|0,n=((le&n|0)==0?0:(le+n&0-we)-n|0)+k|0,we=t[2891]|0,le=n+we|0,n>>>0>P>>>0&n>>>0<2147483647):0){if(ie=t[2893]|0,ie|0?le>>>0<=we>>>0|le>>>0>ie>>>0:0){n=0;break}if(e=xf(n|0)|0,(e|0)==(r|0)){d=n,l=r,pe=135;break e}else o=e,pe=126}else n=0;while(0);do if((pe|0)==126){if(r=0-n|0,!(_>>>0>n>>>0&(n>>>0<2147483647&(o|0)!=(-1|0))))if((o|0)==(-1|0)){n=0;break}else{d=n,l=o,pe=135;break e}if(e=t[2903]|0,e=y-n+e&0-e,e>>>0>=2147483647){d=n,l=o,pe=135;break e}if((xf(e|0)|0)==(-1|0)){xf(r|0)|0,n=0;break}else{d=e+n|0,l=o,pe=135;break e}}while(0);t[2894]=t[2894]|4,pe=133}while(0);if((((pe|0)==133?k>>>0<2147483647:0)?(qe=xf(k|0)|0,ie=xf(0)|0,Pe=ie-qe|0,ke=Pe>>>0>(P+40|0)>>>0,!((qe|0)==(-1|0)|ke^1|qe>>>0>>0&((qe|0)!=(-1|0)&(ie|0)!=(-1|0))^1)):0)&&(d=ke?Pe:n,l=qe,pe=135),(pe|0)==135){n=(t[2891]|0)+d|0,t[2891]=n,n>>>0>(t[2892]|0)>>>0&&(t[2892]=n),y=t[2789]|0;do if(y){for(n=11580;;){if(e=t[n>>2]|0,r=n+4|0,o=t[r>>2]|0,(l|0)==(e+o|0)){pe=145;break}if(s=t[n+8>>2]|0,s)n=s;else break}if(((pe|0)==145?(t[n+12>>2]&8|0)==0:0)?y>>>0>>0&y>>>0>=e>>>0:0){t[r>>2]=o+d,_e=y+8|0,_e=(_e&7|0)==0?0:0-_e&7,pe=y+_e|0,_e=(t[2786]|0)+(d-_e)|0,t[2789]=pe,t[2786]=_e,t[pe+4>>2]=_e|1,t[pe+_e+4>>2]=40,t[2790]=t[2905];break}for(l>>>0<(t[2787]|0)>>>0&&(t[2787]=l),r=l+d|0,n=11580;;){if((t[n>>2]|0)==(r|0)){pe=153;break}if(e=t[n+8>>2]|0,e)n=e;else break}if((pe|0)==153?(t[n+12>>2]&8|0)==0:0){t[n>>2]=l,T=n+4|0,t[T>>2]=(t[T>>2]|0)+d,T=l+8|0,T=l+((T&7|0)==0?0:0-T&7)|0,n=r+8|0,n=r+((n&7|0)==0?0:0-n&7)|0,k=T+P|0,_=n-T-P|0,t[T+4>>2]=P|3;do if((n|0)!=(y|0)){if((n|0)==(t[2788]|0)){_e=(t[2785]|0)+_|0,t[2785]=_e,t[2788]=k,t[k+4>>2]=_e|1,t[k+_e>>2]=_e;break}if(e=t[n+4>>2]|0,(e&3|0)==1){d=e&-8,o=e>>>3;e:do if(e>>>0<256)if(e=t[n+8>>2]|0,r=t[n+12>>2]|0,(r|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=r,t[r+8>>2]=e;break}else{l=t[n+24>>2]|0,e=t[n+12>>2]|0;do if((e|0)==(n|0)){if(o=n+16|0,r=o+4|0,e=t[r>>2]|0,!e)if(e=t[o>>2]|0,e)r=o;else{e=0;break}for(;;){if(o=e+20|0,s=t[o>>2]|0,s|0){e=s,r=o;continue}if(o=e+16|0,s=t[o>>2]|0,s)e=s,r=o;else break}t[r>>2]=0}else _e=t[n+8>>2]|0,t[_e+12>>2]=e,t[e+8>>2]=_e;while(0);if(!l)break;r=t[n+28>>2]|0,o=11436+(r<<2)|0;do if((n|0)!=(t[o>>2]|0)){if(t[l+16+(((t[l+16>>2]|0)!=(n|0)&1)<<2)>>2]=e,!e)break e}else{if(t[o>>2]=e,e|0)break;t[2784]=t[2784]&~(1<>2]=l,r=n+16|0,o=t[r>>2]|0,o|0&&(t[e+16>>2]=o,t[o+24>>2]=e),r=t[r+4>>2]|0,!r)break;t[e+20>>2]=r,t[r+24>>2]=e}while(0);n=n+d|0,s=d+_|0}else s=_;if(n=n+4|0,t[n>>2]=t[n>>2]&-2,t[k+4>>2]=s|1,t[k+s>>2]=s,n=s>>>3,s>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=k,t[n+12>>2]=k,t[k+8>>2]=n,t[k+12>>2]=r;break}n=s>>>8;do if(!n)n=0;else{if(s>>>0>16777215){n=31;break}pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,n=14-(qe|pe|n)+(_e<>>15)|0,n=s>>>(n+7|0)&1|n<<1}while(0);if(o=11436+(n<<2)|0,t[k+28>>2]=n,e=k+16|0,t[e+4>>2]=0,t[e>>2]=0,e=t[2784]|0,r=1<>2]=k,t[k+24>>2]=o,t[k+12>>2]=k,t[k+8>>2]=k;break}for(e=s<<((n|0)==31?0:25-(n>>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){pe=194;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=193;break}}if((pe|0)==193){t[o>>2]=k,t[k+24>>2]=r,t[k+12>>2]=k,t[k+8>>2]=k;break}else if((pe|0)==194){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=k,t[pe>>2]=k,t[k+8>>2]=_e,t[k+12>>2]=r,t[k+24>>2]=0;break}}else _e=(t[2786]|0)+_|0,t[2786]=_e,t[2789]=k,t[k+4>>2]=_e|1;while(0);return _e=T+8|0,h=vt,_e|0}for(n=11580;e=t[n>>2]|0,!(e>>>0<=y>>>0?(_e=e+(t[n+4>>2]|0)|0,_e>>>0>y>>>0):0);)n=t[n+8>>2]|0;s=_e+-47|0,e=s+8|0,e=s+((e&7|0)==0?0:0-e&7)|0,s=y+16|0,e=e>>>0>>0?y:e,n=e+8|0,r=l+8|0,r=(r&7|0)==0?0:0-r&7,pe=l+r|0,r=d+-40-r|0,t[2789]=pe,t[2786]=r,t[pe+4>>2]=r|1,t[pe+r+4>>2]=40,t[2790]=t[2905],r=e+4|0,t[r>>2]=27,t[n>>2]=t[2895],t[n+4>>2]=t[2896],t[n+8>>2]=t[2897],t[n+12>>2]=t[2898],t[2895]=l,t[2896]=d,t[2898]=0,t[2897]=n,n=e+24|0;do pe=n,n=n+4|0,t[n>>2]=7;while((pe+8|0)>>>0<_e>>>0);if((e|0)!=(y|0)){if(l=e-y|0,t[r>>2]=t[r>>2]&-2,t[y+4>>2]=l|1,t[e>>2]=l,n=l>>>3,l>>>0<256){r=11172+(n<<1<<2)|0,e=t[2783]|0,n=1<>2]|0):(t[2783]=e|n,n=r,e=r+8|0),t[e>>2]=y,t[n+12>>2]=y,t[y+8>>2]=n,t[y+12>>2]=r;break}if(n=l>>>8,n?l>>>0>16777215?r=31:(pe=(n+1048320|0)>>>16&8,_e=n<>>16&4,_e=_e<>>16&2,r=14-(qe|pe|r)+(_e<>>15)|0,r=l>>>(r+7|0)&1|r<<1):r=0,o=11436+(r<<2)|0,t[y+28>>2]=r,t[y+20>>2]=0,t[s>>2]=0,n=t[2784]|0,e=1<>2]=y,t[y+24>>2]=o,t[y+12>>2]=y,t[y+8>>2]=y;break}for(e=l<<((r|0)==31?0:25-(r>>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(l|0)){pe=216;break}if(o=r+16+(e>>>31<<2)|0,n=t[o>>2]|0,n)e=e<<1,r=n;else{pe=215;break}}if((pe|0)==215){t[o>>2]=y,t[y+24>>2]=r,t[y+12>>2]=y,t[y+8>>2]=y;break}else if((pe|0)==216){pe=r+8|0,_e=t[pe>>2]|0,t[_e+12>>2]=y,t[pe>>2]=y,t[y+8>>2]=_e,t[y+12>>2]=r,t[y+24>>2]=0;break}}}else{_e=t[2787]|0,(_e|0)==0|l>>>0<_e>>>0&&(t[2787]=l),t[2895]=l,t[2896]=d,t[2898]=0,t[2792]=t[2901],t[2791]=-1,n=0;do _e=11172+(n<<1<<2)|0,t[_e+12>>2]=_e,t[_e+8>>2]=_e,n=n+1|0;while((n|0)!=32);_e=l+8|0,_e=(_e&7|0)==0?0:0-_e&7,pe=l+_e|0,_e=d+-40-_e|0,t[2789]=pe,t[2786]=_e,t[pe+4>>2]=_e|1,t[pe+_e+4>>2]=40,t[2790]=t[2905]}while(0);if(n=t[2786]|0,n>>>0>P>>>0)return qe=n-P|0,t[2786]=qe,_e=t[2789]|0,pe=_e+P|0,t[2789]=pe,t[pe+4>>2]=qe|1,t[_e+4>>2]=P|3,_e=_e+8|0,h=vt,_e|0}return t[(ca()|0)>>2]=12,_e=0,h=vt,_e|0}function sh(e){e=e|0;var n=0,r=0,o=0,s=0,l=0,d=0,_=0,y=0;if(!!e){r=e+-8|0,s=t[2787]|0,e=t[e+-4>>2]|0,n=e&-8,y=r+n|0;do if(e&1)_=r,d=r;else{if(o=t[r>>2]|0,!(e&3)||(d=r+(0-o)|0,l=o+n|0,d>>>0>>0))return;if((d|0)==(t[2788]|0)){if(e=y+4|0,n=t[e>>2]|0,(n&3|0)!=3){_=d,n=l;break}t[2785]=l,t[e>>2]=n&-2,t[d+4>>2]=l|1,t[d+l>>2]=l;return}if(r=o>>>3,o>>>0<256)if(e=t[d+8>>2]|0,n=t[d+12>>2]|0,(n|0)==(e|0)){t[2783]=t[2783]&~(1<>2]=n,t[n+8>>2]=e,_=d,n=l;break}s=t[d+24>>2]|0,e=t[d+12>>2]|0;do if((e|0)==(d|0)){if(r=d+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{e=0;break}for(;;){if(r=e+20|0,o=t[r>>2]|0,o|0){e=o,n=r;continue}if(r=e+16|0,o=t[r>>2]|0,o)e=o,n=r;else break}t[n>>2]=0}else _=t[d+8>>2]|0,t[_+12>>2]=e,t[e+8>>2]=_;while(0);if(s){if(n=t[d+28>>2]|0,r=11436+(n<<2)|0,(d|0)==(t[r>>2]|0)){if(t[r>>2]=e,!e){t[2784]=t[2784]&~(1<>2]|0)!=(d|0)&1)<<2)>>2]=e,!e){_=d,n=l;break}t[e+24>>2]=s,n=d+16|0,r=t[n>>2]|0,r|0&&(t[e+16>>2]=r,t[r+24>>2]=e),n=t[n+4>>2]|0,n?(t[e+20>>2]=n,t[n+24>>2]=e,_=d,n=l):(_=d,n=l)}else _=d,n=l}while(0);if(!(d>>>0>=y>>>0)&&(e=y+4|0,o=t[e>>2]|0,!!(o&1))){if(o&2)t[e>>2]=o&-2,t[_+4>>2]=n|1,t[d+n>>2]=n,s=n;else{if(e=t[2788]|0,(y|0)==(t[2789]|0)){if(y=(t[2786]|0)+n|0,t[2786]=y,t[2789]=_,t[_+4>>2]=y|1,(_|0)!=(e|0))return;t[2788]=0,t[2785]=0;return}if((y|0)==(e|0)){y=(t[2785]|0)+n|0,t[2785]=y,t[2788]=d,t[_+4>>2]=y|1,t[d+y>>2]=y;return}s=(o&-8)+n|0,r=o>>>3;do if(o>>>0<256)if(n=t[y+8>>2]|0,e=t[y+12>>2]|0,(e|0)==(n|0)){t[2783]=t[2783]&~(1<>2]=e,t[e+8>>2]=n;break}else{l=t[y+24>>2]|0,e=t[y+12>>2]|0;do if((e|0)==(y|0)){if(r=y+16|0,n=r+4|0,e=t[n>>2]|0,!e)if(e=t[r>>2]|0,e)n=r;else{r=0;break}for(;;){if(r=e+20|0,o=t[r>>2]|0,o|0){e=o,n=r;continue}if(r=e+16|0,o=t[r>>2]|0,o)e=o,n=r;else break}t[n>>2]=0,r=e}else r=t[y+8>>2]|0,t[r+12>>2]=e,t[e+8>>2]=r,r=e;while(0);if(l|0){if(e=t[y+28>>2]|0,n=11436+(e<<2)|0,(y|0)==(t[n>>2]|0)){if(t[n>>2]=r,!r){t[2784]=t[2784]&~(1<>2]|0)!=(y|0)&1)<<2)>>2]=r,!r)break;t[r+24>>2]=l,e=y+16|0,n=t[e>>2]|0,n|0&&(t[r+16>>2]=n,t[n+24>>2]=r),e=t[e+4>>2]|0,e|0&&(t[r+20>>2]=e,t[e+24>>2]=r)}}while(0);if(t[_+4>>2]=s|1,t[d+s>>2]=s,(_|0)==(t[2788]|0)){t[2785]=s;return}}if(e=s>>>3,s>>>0<256){r=11172+(e<<1<<2)|0,n=t[2783]|0,e=1<>2]|0):(t[2783]=n|e,e=r,n=r+8|0),t[n>>2]=_,t[e+12>>2]=_,t[_+8>>2]=e,t[_+12>>2]=r;return}e=s>>>8,e?s>>>0>16777215?e=31:(d=(e+1048320|0)>>>16&8,y=e<>>16&4,y=y<>>16&2,e=14-(l|d|e)+(y<>>15)|0,e=s>>>(e+7|0)&1|e<<1):e=0,o=11436+(e<<2)|0,t[_+28>>2]=e,t[_+20>>2]=0,t[_+16>>2]=0,n=t[2784]|0,r=1<>>1)|0),r=t[o>>2]|0;;){if((t[r+4>>2]&-8|0)==(s|0)){e=73;break}if(o=r+16+(n>>>31<<2)|0,e=t[o>>2]|0,e)n=n<<1,r=e;else{e=72;break}}if((e|0)==72){t[o>>2]=_,t[_+24>>2]=r,t[_+12>>2]=_,t[_+8>>2]=_;break}else if((e|0)==73){d=r+8|0,y=t[d>>2]|0,t[y+12>>2]=_,t[d>>2]=_,t[_+8>>2]=y,t[_+12>>2]=r,t[_+24>>2]=0;break}}else t[2784]=n|r,t[o>>2]=_,t[_+24>>2]=o,t[_+12>>2]=_,t[_+8>>2]=_;while(0);if(y=(t[2791]|0)+-1|0,t[2791]=y,!y)e=11588;else return;for(;e=t[e>>2]|0,e;)e=e+8|0;t[2791]=-1}}}function rL(){return 11628}function iL(e){e=e|0;var n=0,r=0;return n=h,h=h+16|0,r=n,t[r>>2]=sL(t[e+60>>2]|0)|0,e=lh(Ms(6,r|0)|0)|0,h=n,e|0}function j8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0;P=h,h=h+48|0,k=P+16|0,l=P,s=P+32|0,_=e+28|0,o=t[_>>2]|0,t[s>>2]=o,y=e+20|0,o=(t[y>>2]|0)-o|0,t[s+4>>2]=o,t[s+8>>2]=n,t[s+12>>2]=r,o=o+r|0,d=e+60|0,t[l>>2]=t[d>>2],t[l+4>>2]=s,t[l+8>>2]=2,l=lh(G0(146,l|0)|0)|0;e:do if((o|0)!=(l|0)){for(n=2;!((l|0)<0);)if(o=o-l|0,we=t[s+4>>2]|0,q=l>>>0>we>>>0,s=q?s+8|0:s,n=(q<<31>>31)+n|0,we=l-(q?we:0)|0,t[s>>2]=(t[s>>2]|0)+we,q=s+4|0,t[q>>2]=(t[q>>2]|0)-we,t[k>>2]=t[d>>2],t[k+4>>2]=s,t[k+8>>2]=n,l=lh(G0(146,k|0)|0)|0,(o|0)==(l|0)){T=3;break e}t[e+16>>2]=0,t[_>>2]=0,t[y>>2]=0,t[e>>2]=t[e>>2]|32,(n|0)==2?r=0:r=r-(t[s+4>>2]|0)|0}else T=3;while(0);return(T|0)==3&&(we=t[e+44>>2]|0,t[e+16>>2]=we+(t[e+48>>2]|0),t[_>>2]=we,t[y>>2]=we),h=P,r|0}function oL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;return s=h,h=h+32|0,l=s,o=s+20|0,t[l>>2]=t[e+60>>2],t[l+4>>2]=0,t[l+8>>2]=n,t[l+12>>2]=o,t[l+16>>2]=r,(lh(Uu(140,l|0)|0)|0)<0?(t[o>>2]=-1,e=-1):e=t[o>>2]|0,h=s,e|0}function lh(e){return e=e|0,e>>>0>4294963200&&(t[(ca()|0)>>2]=0-e,e=-1),e|0}function ca(){return(uL()|0)+64|0}function uL(){return b4()|0}function b4(){return 2084}function sL(e){return e=e|0,e|0}function lL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;return s=h,h=h+32|0,o=s,t[e+36>>2]=1,((t[e>>2]&64|0)==0?(t[o>>2]=t[e+60>>2],t[o+4>>2]=21523,t[o+8>>2]=s+16,su(54,o|0)|0):0)&&(c[e+75>>0]=-1),o=j8(e,n,r)|0,h=s,o|0}function U8(e,n){e=e|0,n=n|0;var r=0,o=0;if(r=c[e>>0]|0,o=c[n>>0]|0,r<<24>>24==0?1:r<<24>>24!=o<<24>>24)e=o;else{do e=e+1|0,n=n+1|0,r=c[e>>0]|0,o=c[n>>0]|0;while(!(r<<24>>24==0?1:r<<24>>24!=o<<24>>24));e=o}return(r&255)-(e&255)|0}function fL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0;e:do if(!r)e=0;else{for(;o=c[e>>0]|0,s=c[n>>0]|0,o<<24>>24==s<<24>>24;)if(r=r+-1|0,r)e=e+1|0,n=n+1|0;else{e=0;break e}e=(o&255)-(s&255)|0}while(0);return e|0}function q8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0;ie=h,h=h+224|0,T=ie+120|0,P=ie+80|0,we=ie,le=ie+136|0,o=P,s=o+40|0;do t[o>>2]=0,o=o+4|0;while((o|0)<(s|0));return t[T>>2]=t[r>>2],(G4(0,n,T,we,P)|0)<0?r=-1:((t[e+76>>2]|0)>-1?q=cL(e)|0:q=0,r=t[e>>2]|0,k=r&32,(c[e+74>>0]|0)<1&&(t[e>>2]=r&-33),o=e+48|0,t[o>>2]|0?r=G4(e,n,T,we,P)|0:(s=e+44|0,l=t[s>>2]|0,t[s>>2]=le,d=e+28|0,t[d>>2]=le,_=e+20|0,t[_>>2]=le,t[o>>2]=80,y=e+16|0,t[y>>2]=le+80,r=G4(e,n,T,we,P)|0,l&&(dh[t[e+36>>2]&7](e,0,0)|0,r=(t[_>>2]|0)==0?-1:r,t[s>>2]=l,t[o>>2]=0,t[y>>2]=0,t[d>>2]=0,t[_>>2]=0)),o=t[e>>2]|0,t[e>>2]=o|k,q|0&&aL(e),r=(o&32|0)==0?r:-1),h=ie,r|0}function G4(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0;zt=h,h=h+64|0,Ht=zt+16|0,It=zt,vt=zt+24|0,gn=zt+8|0,Pn=zt+20|0,t[Ht>>2]=n,qe=(e|0)!=0,pe=vt+40|0,_e=pe,vt=vt+39|0,Ln=gn+4|0,d=0,l=0,T=0;e:for(;;){do if((l|0)>-1)if((d|0)>(2147483647-l|0)){t[(ca()|0)>>2]=75,l=-1;break}else{l=d+l|0;break}while(0);if(d=c[n>>0]|0,d<<24>>24)_=n;else{ke=87;break}t:for(;;){switch(d<<24>>24){case 37:{d=_,ke=9;break t}case 0:{d=_;break t}default:}Pe=_+1|0,t[Ht>>2]=Pe,d=c[Pe>>0]|0,_=Pe}t:do if((ke|0)==9)for(;;){if(ke=0,(c[_+1>>0]|0)!=37)break t;if(d=d+1|0,_=_+2|0,t[Ht>>2]=_,(c[_>>0]|0)==37)ke=9;else break}while(0);if(d=d-n|0,qe&&ri(e,n,d),d|0){n=_;continue}y=_+1|0,d=(c[y>>0]|0)+-48|0,d>>>0<10?(Pe=(c[_+2>>0]|0)==36,ie=Pe?d:-1,T=Pe?1:T,y=Pe?_+3|0:y):ie=-1,t[Ht>>2]=y,d=c[y>>0]|0,_=(d<<24>>24)+-32|0;t:do if(_>>>0<32)for(k=0,P=d;;){if(d=1<<_,!(d&75913)){d=P;break t}if(k=d|k,y=y+1|0,t[Ht>>2]=y,d=c[y>>0]|0,_=(d<<24>>24)+-32|0,_>>>0>=32)break;P=d}else k=0;while(0);if(d<<24>>24==42){if(_=y+1|0,d=(c[_>>0]|0)+-48|0,d>>>0<10?(c[y+2>>0]|0)==36:0)t[s+(d<<2)>>2]=10,d=t[o+((c[_>>0]|0)+-48<<3)>>2]|0,T=1,y=y+3|0;else{if(T|0){l=-1;break}qe?(T=(t[r>>2]|0)+(4-1)&~(4-1),d=t[T>>2]|0,t[r>>2]=T+4,T=0,y=_):(d=0,T=0,y=_)}t[Ht>>2]=y,Pe=(d|0)<0,d=Pe?0-d|0:d,k=Pe?k|8192:k}else{if(d=z8(Ht)|0,(d|0)<0){l=-1;break}y=t[Ht>>2]|0}do if((c[y>>0]|0)==46){if((c[y+1>>0]|0)!=42){t[Ht>>2]=y+1,_=z8(Ht)|0,y=t[Ht>>2]|0;break}if(P=y+2|0,_=(c[P>>0]|0)+-48|0,_>>>0<10?(c[y+3>>0]|0)==36:0){t[s+(_<<2)>>2]=10,_=t[o+((c[P>>0]|0)+-48<<3)>>2]|0,y=y+4|0,t[Ht>>2]=y;break}if(T|0){l=-1;break e}qe?(Pe=(t[r>>2]|0)+(4-1)&~(4-1),_=t[Pe>>2]|0,t[r>>2]=Pe+4):_=0,t[Ht>>2]=P,y=P}else _=-1;while(0);for(le=0;;){if(((c[y>>0]|0)+-65|0)>>>0>57){l=-1;break e}if(Pe=y+1|0,t[Ht>>2]=Pe,P=c[(c[y>>0]|0)+-65+(5178+(le*58|0))>>0]|0,q=P&255,(q+-1|0)>>>0<8)le=q,y=Pe;else break}if(!(P<<24>>24)){l=-1;break}we=(ie|0)>-1;do if(P<<24>>24==19)if(we){l=-1;break e}else ke=49;else{if(we){t[s+(ie<<2)>>2]=q,we=o+(ie<<3)|0,ie=t[we+4>>2]|0,ke=It,t[ke>>2]=t[we>>2],t[ke+4>>2]=ie,ke=49;break}if(!qe){l=0;break e}W8(It,q,r)}while(0);if((ke|0)==49?(ke=0,!qe):0){d=0,n=Pe;continue}y=c[y>>0]|0,y=(le|0)!=0&(y&15|0)==3?y&-33:y,we=k&-65537,ie=(k&8192|0)==0?k:we;t:do switch(y|0){case 110:switch((le&255)<<24>>24){case 0:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 1:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 2:{d=t[It>>2]|0,t[d>>2]=l,t[d+4>>2]=((l|0)<0)<<31>>31,d=0,n=Pe;continue e}case 3:{g[t[It>>2]>>1]=l,d=0,n=Pe;continue e}case 4:{c[t[It>>2]>>0]=l,d=0,n=Pe;continue e}case 6:{t[t[It>>2]>>2]=l,d=0,n=Pe;continue e}case 7:{d=t[It>>2]|0,t[d>>2]=l,t[d+4>>2]=((l|0)<0)<<31>>31,d=0,n=Pe;continue e}default:{d=0,n=Pe;continue e}}case 112:{y=120,_=_>>>0>8?_:8,n=ie|8,ke=61;break}case 88:case 120:{n=ie,ke=61;break}case 111:{y=It,n=t[y>>2]|0,y=t[y+4>>2]|0,q=pL(n,y,pe)|0,we=_e-q|0,k=0,P=5642,_=(ie&8|0)==0|(_|0)>(we|0)?_:we+1|0,we=ie,ke=67;break}case 105:case 100:if(y=It,n=t[y>>2]|0,y=t[y+4>>2]|0,(y|0)<0){n=fh(0,0,n|0,y|0)|0,y=be,k=It,t[k>>2]=n,t[k+4>>2]=y,k=1,P=5642,ke=66;break t}else{k=(ie&2049|0)!=0&1,P=(ie&2048|0)==0?(ie&1|0)==0?5642:5644:5643,ke=66;break t}case 117:{y=It,k=0,P=5642,n=t[y>>2]|0,y=t[y+4>>2]|0,ke=66;break}case 99:{c[vt>>0]=t[It>>2],n=vt,k=0,P=5642,q=pe,y=1,_=we;break}case 109:{y=hL(t[(ca()|0)>>2]|0)|0,ke=71;break}case 115:{y=t[It>>2]|0,y=y|0?y:5652,ke=71;break}case 67:{t[gn>>2]=t[It>>2],t[Ln>>2]=0,t[It>>2]=gn,q=-1,y=gn,ke=75;break}case 83:{n=t[It>>2]|0,_?(q=_,y=n,ke=75):(wi(e,32,d,0,ie),n=0,ke=84);break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{d=vL(e,+L[It>>3],d,_,ie,y)|0,n=Pe;continue e}default:k=0,P=5642,q=pe,y=_,_=ie}while(0);t:do if((ke|0)==61)ie=It,le=t[ie>>2]|0,ie=t[ie+4>>2]|0,q=dL(le,ie,pe,y&32)|0,P=(n&8|0)==0|(le|0)==0&(ie|0)==0,k=P?0:2,P=P?5642:5642+(y>>4)|0,we=n,n=le,y=ie,ke=67;else if((ke|0)==66)q=aa(n,y,pe)|0,we=ie,ke=67;else if((ke|0)==71)ke=0,ie=mL(y,0,_)|0,le=(ie|0)==0,n=y,k=0,P=5642,q=le?y+_|0:ie,y=le?_:ie-y|0,_=we;else if((ke|0)==75){for(ke=0,P=y,n=0,_=0;k=t[P>>2]|0,!(!k||(_=H8(Pn,k)|0,(_|0)<0|_>>>0>(q-n|0)>>>0));)if(n=_+n|0,q>>>0>n>>>0)P=P+4|0;else break;if((_|0)<0){l=-1;break e}if(wi(e,32,d,n,ie),!n)n=0,ke=84;else for(k=0;;){if(_=t[y>>2]|0,!_){ke=84;break t}if(_=H8(Pn,_)|0,k=_+k|0,(k|0)>(n|0)){ke=84;break t}if(ri(e,Pn,_),k>>>0>=n>>>0){ke=84;break}else y=y+4|0}}while(0);if((ke|0)==67)ke=0,y=(n|0)!=0|(y|0)!=0,ie=(_|0)!=0|y,y=((y^1)&1)+(_e-q)|0,n=ie?q:pe,q=pe,y=ie?(_|0)>(y|0)?_:y:_,_=(_|0)>-1?we&-65537:we;else if((ke|0)==84){ke=0,wi(e,32,d,n,ie^8192),d=(d|0)>(n|0)?d:n,n=Pe;continue}le=q-n|0,we=(y|0)<(le|0)?le:y,ie=we+k|0,d=(d|0)<(ie|0)?ie:d,wi(e,32,d,ie,_),ri(e,P,k),wi(e,48,d,ie,_^65536),wi(e,48,we,le,0),ri(e,n,le),wi(e,32,d,ie,_^8192),n=Pe}e:do if((ke|0)==87&&!e)if(!T)l=0;else{for(l=1;n=t[s+(l<<2)>>2]|0,!!n;)if(W8(o+(l<<3)|0,n,r),l=l+1|0,(l|0)>=10){l=1;break e}for(;;){if(t[s+(l<<2)>>2]|0){l=-1;break e}if(l=l+1|0,(l|0)>=10){l=1;break}}}while(0);return h=zt,l|0}function cL(e){return e=e|0,0}function aL(e){e=e|0}function ri(e,n,r){e=e|0,n=n|0,r=r|0,t[e>>2]&32||TL(n,r,e)|0}function z8(e){e=e|0;var n=0,r=0,o=0;if(r=t[e>>2]|0,o=(c[r>>0]|0)+-48|0,o>>>0<10){n=0;do n=o+(n*10|0)|0,r=r+1|0,t[e>>2]=r,o=(c[r>>0]|0)+-48|0;while(o>>>0<10)}else n=0;return n|0}function W8(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;e:do if(n>>>0<=20)do switch(n|0){case 9:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,t[e>>2]=n;break e}case 10:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,o=e,t[o>>2]=n,t[o+4>>2]=((n|0)<0)<<31>>31;break e}case 11:{o=(t[r>>2]|0)+(4-1)&~(4-1),n=t[o>>2]|0,t[r>>2]=o+4,o=e,t[o>>2]=n,t[o+4>>2]=0;break e}case 12:{o=(t[r>>2]|0)+(8-1)&~(8-1),n=o,s=t[n>>2]|0,n=t[n+4>>2]|0,t[r>>2]=o+8,o=e,t[o>>2]=s,t[o+4>>2]=n;break e}case 13:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,o=(o&65535)<<16>>16,s=e,t[s>>2]=o,t[s+4>>2]=((o|0)<0)<<31>>31;break e}case 14:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=o&65535,t[s+4>>2]=0;break e}case 15:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,o=(o&255)<<24>>24,s=e,t[s>>2]=o,t[s+4>>2]=((o|0)<0)<<31>>31;break e}case 16:{s=(t[r>>2]|0)+(4-1)&~(4-1),o=t[s>>2]|0,t[r>>2]=s+4,s=e,t[s>>2]=o&255,t[s+4>>2]=0;break e}case 17:{s=(t[r>>2]|0)+(8-1)&~(8-1),l=+L[s>>3],t[r>>2]=s+8,L[e>>3]=l;break e}case 18:{s=(t[r>>2]|0)+(8-1)&~(8-1),l=+L[s>>3],t[r>>2]=s+8,L[e>>3]=l;break e}default:break e}while(0);while(0)}function dL(e,n,r,o){if(e=e|0,n=n|0,r=r|0,o=o|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,c[r>>0]=C[5694+(e&15)>>0]|0|o,e=ch(e|0,n|0,4)|0,n=be;while(!((e|0)==0&(n|0)==0));return r|0}function pL(e,n,r){if(e=e|0,n=n|0,r=r|0,!((e|0)==0&(n|0)==0))do r=r+-1|0,c[r>>0]=e&7|48,e=ch(e|0,n|0,3)|0,n=be;while(!((e|0)==0&(n|0)==0));return r|0}function aa(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;if(n>>>0>0|(n|0)==0&e>>>0>4294967295){for(;o=K4(e|0,n|0,10,0)|0,r=r+-1|0,c[r>>0]=o&255|48,o=e,e=$4(e|0,n|0,10,0)|0,n>>>0>9|(n|0)==9&o>>>0>4294967295;)n=be;n=e}else n=e;if(n)for(;r=r+-1|0,c[r>>0]=(n>>>0)%10|0|48,!(n>>>0<10);)n=(n>>>0)/10|0;return r|0}function hL(e){return e=e|0,DL(e,t[(wL()|0)+188>>2]|0)|0}function mL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;l=n&255,o=(r|0)!=0;e:do if(o&(e&3|0)!=0)for(s=n&255;;){if((c[e>>0]|0)==s<<24>>24){d=6;break e}if(e=e+1|0,r=r+-1|0,o=(r|0)!=0,!(o&(e&3|0)!=0)){d=5;break}}else d=5;while(0);(d|0)==5&&(o?d=6:r=0);e:do if((d|0)==6&&(s=n&255,(c[e>>0]|0)!=s<<24>>24)){o=Un(l,16843009)|0;t:do if(r>>>0>3){for(;l=t[e>>2]^o,!((l&-2139062144^-2139062144)&l+-16843009|0);)if(e=e+4|0,r=r+-4|0,r>>>0<=3){d=11;break t}}else d=11;while(0);if((d|0)==11&&!r){r=0;break}for(;;){if((c[e>>0]|0)==s<<24>>24)break e;if(e=e+1|0,r=r+-1|0,!r){r=0;break}}}while(0);return(r|0?e:0)|0}function wi(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0;if(d=h,h=h+256|0,l=d,(r|0)>(o|0)&(s&73728|0)==0){if(s=r-o|0,pa(l|0,n|0,(s>>>0<256?s:256)|0)|0,s>>>0>255){n=r-o|0;do ri(e,l,256),s=s+-256|0;while(s>>>0>255);s=n&255}ri(e,l,s)}h=d}function H8(e,n){return e=e|0,n=n|0,e?e=_L(e,n,0)|0:e=0,e|0}function vL(e,n,r,o,s,l){e=e|0,n=+n,r=r|0,o=o|0,s=s|0,l=l|0;var d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0,ie=0,Pe=0,ke=0,qe=0,pe=0,_e=0,vt=0,Ln=0,Ht=0,It=0,gn=0,Pn=0,zt=0,Dr=0;Dr=h,h=h+560|0,y=Dr+8|0,Pe=Dr,zt=Dr+524|0,Pn=zt,k=Dr+512|0,t[Pe>>2]=0,gn=k+12|0,b8(n)|0,(be|0)<0?(n=-n,Ht=1,Ln=5659):(Ht=(s&2049|0)!=0&1,Ln=(s&2048|0)==0?(s&1|0)==0?5660:5665:5662),b8(n)|0,It=be&2146435072;do if(It>>>0<2146435072|(It|0)==2146435072&0<0){if(we=+gL(n,Pe)*2,d=we!=0,d&&(t[Pe>>2]=(t[Pe>>2]|0)+-1),qe=l|32,(qe|0)==97){le=l&32,q=(le|0)==0?Ln:Ln+9|0,P=Ht|2,d=12-o|0;do if(o>>>0>11|(d|0)==0)n=we;else{n=8;do d=d+-1|0,n=n*16;while((d|0)!=0);if((c[q>>0]|0)==45){n=-(n+(-we-n));break}else{n=we+n-n;break}}while(0);_=t[Pe>>2]|0,d=(_|0)<0?0-_|0:_,d=aa(d,((d|0)<0)<<31>>31,gn)|0,(d|0)==(gn|0)&&(d=k+11|0,c[d>>0]=48),c[d+-1>>0]=(_>>31&2)+43,T=d+-2|0,c[T>>0]=l+15,k=(o|0)<1,y=(s&8|0)==0,d=zt;do It=~~n,_=d+1|0,c[d>>0]=C[5694+It>>0]|le,n=(n-+(It|0))*16,((_-Pn|0)==1?!(y&(k&n==0)):0)?(c[_>>0]=46,d=d+2|0):d=_;while(n!=0);It=d-Pn|0,Pn=gn-T|0,gn=(o|0)!=0&(It+-2|0)<(o|0)?o+2|0:It,d=Pn+P+gn|0,wi(e,32,r,d,s),ri(e,q,P),wi(e,48,r,d,s^65536),ri(e,zt,It),wi(e,48,gn-It|0,0,0),ri(e,T,Pn),wi(e,32,r,d,s^8192);break}_=(o|0)<0?6:o,d?(d=(t[Pe>>2]|0)+-28|0,t[Pe>>2]=d,n=we*268435456):(n=we,d=t[Pe>>2]|0),It=(d|0)<0?y:y+288|0,y=It;do _e=~~n>>>0,t[y>>2]=_e,y=y+4|0,n=(n-+(_e>>>0))*1e9;while(n!=0);if((d|0)>0)for(k=It,P=y;;){if(T=(d|0)<29?d:29,d=P+-4|0,d>>>0>=k>>>0){y=0;do pe=X8(t[d>>2]|0,0,T|0)|0,pe=Y4(pe|0,be|0,y|0,0)|0,_e=be,ke=K4(pe|0,_e|0,1e9,0)|0,t[d>>2]=ke,y=$4(pe|0,_e|0,1e9,0)|0,d=d+-4|0;while(d>>>0>=k>>>0);y&&(k=k+-4|0,t[k>>2]=y)}for(y=P;!(y>>>0<=k>>>0);)if(d=y+-4|0,!(t[d>>2]|0))y=d;else break;if(d=(t[Pe>>2]|0)-T|0,t[Pe>>2]=d,(d|0)>0)P=y;else break}else k=It;if((d|0)<0){o=((_+25|0)/9|0)+1|0,ie=(qe|0)==102;do{if(le=0-d|0,le=(le|0)<9?le:9,k>>>0>>0){T=(1<>>le,q=0,d=k;do _e=t[d>>2]|0,t[d>>2]=(_e>>>le)+q,q=Un(_e&T,P)|0,d=d+4|0;while(d>>>0>>0);d=(t[k>>2]|0)==0?k+4|0:k,q?(t[y>>2]=q,k=d,d=y+4|0):(k=d,d=y)}else k=(t[k>>2]|0)==0?k+4|0:k,d=y;y=ie?It:k,y=(d-y>>2|0)>(o|0)?y+(o<<2)|0:d,d=(t[Pe>>2]|0)+le|0,t[Pe>>2]=d}while((d|0)<0);d=k,o=y}else d=k,o=y;if(_e=It,d>>>0>>0){if(y=(_e-d>>2)*9|0,T=t[d>>2]|0,T>>>0>=10){k=10;do k=k*10|0,y=y+1|0;while(T>>>0>=k>>>0)}}else y=0;if(ie=(qe|0)==103,ke=(_|0)!=0,k=_-((qe|0)!=102?y:0)+((ke&ie)<<31>>31)|0,(k|0)<(((o-_e>>2)*9|0)+-9|0)){if(k=k+9216|0,le=It+4+(((k|0)/9|0)+-1024<<2)|0,k=((k|0)%9|0)+1|0,(k|0)<9){T=10;do T=T*10|0,k=k+1|0;while((k|0)!=9)}else T=10;if(P=t[le>>2]|0,q=(P>>>0)%(T>>>0)|0,k=(le+4|0)==(o|0),k&(q|0)==0)k=le;else if(we=(((P>>>0)/(T>>>0)|0)&1|0)==0?9007199254740992:9007199254740994,pe=(T|0)/2|0,n=q>>>0>>0?.5:k&(q|0)==(pe|0)?1:1.5,Ht&&(pe=(c[Ln>>0]|0)==45,n=pe?-n:n,we=pe?-we:we),k=P-q|0,t[le>>2]=k,we+n!=we){if(pe=k+T|0,t[le>>2]=pe,pe>>>0>999999999)for(y=le;k=y+-4|0,t[y>>2]=0,k>>>0>>0&&(d=d+-4|0,t[d>>2]=0),pe=(t[k>>2]|0)+1|0,t[k>>2]=pe,pe>>>0>999999999;)y=k;else k=le;if(y=(_e-d>>2)*9|0,P=t[d>>2]|0,P>>>0>=10){T=10;do T=T*10|0,y=y+1|0;while(P>>>0>=T>>>0)}}else k=le;k=k+4|0,k=o>>>0>k>>>0?k:o,pe=d}else k=o,pe=d;for(qe=k;;){if(qe>>>0<=pe>>>0){Pe=0;break}if(d=qe+-4|0,!(t[d>>2]|0))qe=d;else{Pe=1;break}}o=0-y|0;do if(ie)if(d=((ke^1)&1)+_|0,(d|0)>(y|0)&(y|0)>-5?(T=l+-1|0,_=d+-1-y|0):(T=l+-2|0,_=d+-1|0),d=s&8,d)le=d;else{if(Pe?(vt=t[qe+-4>>2]|0,(vt|0)!=0):0)if((vt>>>0)%10|0)k=0;else{k=0,d=10;do d=d*10|0,k=k+1|0;while(!((vt>>>0)%(d>>>0)|0|0))}else k=9;if(d=((qe-_e>>2)*9|0)+-9|0,(T|32|0)==102){le=d-k|0,le=(le|0)>0?le:0,_=(_|0)<(le|0)?_:le,le=0;break}else{le=d+y-k|0,le=(le|0)>0?le:0,_=(_|0)<(le|0)?_:le,le=0;break}}else T=l,le=s&8;while(0);if(ie=_|le,P=(ie|0)!=0&1,q=(T|32|0)==102,q)ke=0,d=(y|0)>0?y:0;else{if(d=(y|0)<0?o:y,d=aa(d,((d|0)<0)<<31>>31,gn)|0,k=gn,(k-d|0)<2)do d=d+-1|0,c[d>>0]=48;while((k-d|0)<2);c[d+-1>>0]=(y>>31&2)+43,d=d+-2|0,c[d>>0]=T,ke=d,d=k-d|0}if(d=Ht+1+_+P+d|0,wi(e,32,r,d,s),ri(e,Ln,Ht),wi(e,48,r,d,s^65536),q){T=pe>>>0>It>>>0?It:pe,le=zt+9|0,P=le,q=zt+8|0,k=T;do{if(y=aa(t[k>>2]|0,0,le)|0,(k|0)==(T|0))(y|0)==(le|0)&&(c[q>>0]=48,y=q);else if(y>>>0>zt>>>0){pa(zt|0,48,y-Pn|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}ri(e,y,P-y|0),k=k+4|0}while(k>>>0<=It>>>0);if(ie|0&&ri(e,5710,1),k>>>0>>0&(_|0)>0)for(;;){if(y=aa(t[k>>2]|0,0,le)|0,y>>>0>zt>>>0){pa(zt|0,48,y-Pn|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}if(ri(e,y,(_|0)<9?_:9),k=k+4|0,y=_+-9|0,k>>>0>>0&(_|0)>9)_=y;else{_=y;break}}wi(e,48,_+9|0,9,0)}else{if(ie=Pe?qe:pe+4|0,(_|0)>-1){Pe=zt+9|0,le=(le|0)==0,o=Pe,P=0-Pn|0,q=zt+8|0,T=pe;do{y=aa(t[T>>2]|0,0,Pe)|0,(y|0)==(Pe|0)&&(c[q>>0]=48,y=q);do if((T|0)==(pe|0)){if(k=y+1|0,ri(e,y,1),le&(_|0)<1){y=k;break}ri(e,5710,1),y=k}else{if(y>>>0<=zt>>>0)break;pa(zt|0,48,y+P|0)|0;do y=y+-1|0;while(y>>>0>zt>>>0)}while(0);Pn=o-y|0,ri(e,y,(_|0)>(Pn|0)?Pn:_),_=_-Pn|0,T=T+4|0}while(T>>>0>>0&(_|0)>-1)}wi(e,48,_+18|0,18,0),ri(e,ke,gn-ke|0)}wi(e,32,r,d,s^8192)}else zt=(l&32|0)!=0,d=Ht+3|0,wi(e,32,r,d,s&-65537),ri(e,Ln,Ht),ri(e,n!=n|!1?zt?5686:5690:zt?5678:5682,3),wi(e,32,r,d,s^8192);while(0);return h=Dr,((d|0)<(r|0)?r:d)|0}function b8(e){e=+e;var n=0;return L[j>>3]=e,n=t[j>>2]|0,be=t[j+4>>2]|0,n|0}function gL(e,n){return e=+e,n=n|0,+ +G8(e,n)}function G8(e,n){e=+e,n=n|0;var r=0,o=0,s=0;switch(L[j>>3]=e,r=t[j>>2]|0,o=t[j+4>>2]|0,s=ch(r|0,o|0,52)|0,s&2047){case 0:{e!=0?(e=+G8(e*18446744073709552e3,n),r=(t[n>>2]|0)+-64|0):r=0,t[n>>2]=r;break}case 2047:break;default:t[n>>2]=(s&2047)+-1022,t[j>>2]=r,t[j+4>>2]=o&-2146435073|1071644672,e=+L[j>>3]}return+e}function _L(e,n,r){e=e|0,n=n|0,r=r|0;do if(e){if(n>>>0<128){c[e>>0]=n,e=1;break}if(!(t[t[(yL()|0)+188>>2]>>2]|0))if((n&-128|0)==57216){c[e>>0]=n,e=1;break}else{t[(ca()|0)>>2]=84,e=-1;break}if(n>>>0<2048){c[e>>0]=n>>>6|192,c[e+1>>0]=n&63|128,e=2;break}if(n>>>0<55296|(n&-8192|0)==57344){c[e>>0]=n>>>12|224,c[e+1>>0]=n>>>6&63|128,c[e+2>>0]=n&63|128,e=3;break}if((n+-65536|0)>>>0<1048576){c[e>>0]=n>>>18|240,c[e+1>>0]=n>>>12&63|128,c[e+2>>0]=n>>>6&63|128,c[e+3>>0]=n&63|128,e=4;break}else{t[(ca()|0)>>2]=84,e=-1;break}}else e=1;while(0);return e|0}function yL(){return b4()|0}function wL(){return b4()|0}function DL(e,n){e=e|0,n=n|0;var r=0,o=0;for(o=0;;){if((C[5712+o>>0]|0)==(e|0)){e=2;break}if(r=o+1|0,(r|0)==87){r=5800,o=87,e=5;break}else o=r}if((e|0)==2&&(o?(r=5800,e=5):r=5800),(e|0)==5)for(;;){do e=r,r=r+1|0;while((c[e>>0]|0)!=0);if(o=o+-1|0,o)e=5;else break}return EL(r,t[n+20>>2]|0)|0}function EL(e,n){return e=e|0,n=n|0,SL(e,n)|0}function SL(e,n){return e=e|0,n=n|0,n?n=CL(t[n>>2]|0,t[n+4>>2]|0,e)|0:n=0,(n|0?n:e)|0}function CL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0;q=(t[e>>2]|0)+1794895138|0,l=fc(t[e+8>>2]|0,q)|0,o=fc(t[e+12>>2]|0,q)|0,s=fc(t[e+16>>2]|0,q)|0;e:do if((l>>>0>>2>>>0?(P=n-(l<<2)|0,o>>>0

>>0&s>>>0

>>0):0)?((s|o)&3|0)==0:0){for(P=o>>>2,T=s>>>2,k=0;;){if(_=l>>>1,y=k+_|0,d=y<<1,s=d+P|0,o=fc(t[e+(s<<2)>>2]|0,q)|0,s=fc(t[e+(s+1<<2)>>2]|0,q)|0,!(s>>>0>>0&o>>>0<(n-s|0)>>>0)){o=0;break e}if(c[e+(s+o)>>0]|0){o=0;break e}if(o=U8(r,e+s|0)|0,!o)break;if(o=(o|0)<0,(l|0)==1){o=0;break e}else k=o?k:y,l=o?_:l-_|0}o=d+T|0,s=fc(t[e+(o<<2)>>2]|0,q)|0,o=fc(t[e+(o+1<<2)>>2]|0,q)|0,o>>>0>>0&s>>>0<(n-o|0)>>>0?o=(c[e+(o+s)>>0]|0)==0?e+o|0:0:o=0}else o=0;while(0);return o|0}function fc(e,n){e=e|0,n=n|0;var r=0;return r=Z8(e|0)|0,((n|0)==0?e:r)|0}function TL(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0,_=0;o=r+16|0,s=t[o>>2]|0,s?l=5:xL(r)|0?o=0:(s=t[o>>2]|0,l=5);e:do if((l|0)==5){if(_=r+20|0,d=t[_>>2]|0,o=d,(s-d|0)>>>0>>0){o=dh[t[r+36>>2]&7](r,e,n)|0;break}t:do if((c[r+75>>0]|0)>-1){for(d=n;;){if(!d){l=0,s=e;break t}if(s=d+-1|0,(c[e+s>>0]|0)==10)break;d=s}if(o=dh[t[r+36>>2]&7](r,e,d)|0,o>>>0>>0)break e;l=d,s=e+d|0,n=n-d|0,o=t[_>>2]|0}else l=0,s=e;while(0);vn(o|0,s|0,n|0)|0,t[_>>2]=(t[_>>2]|0)+n,o=l+n|0}while(0);return o|0}function xL(e){e=e|0;var n=0,r=0;return n=e+74|0,r=c[n>>0]|0,c[n>>0]=r+255|r,n=t[e>>2]|0,n&8?(t[e>>2]=n|32,e=-1):(t[e+8>>2]=0,t[e+4>>2]=0,r=t[e+44>>2]|0,t[e+28>>2]=r,t[e+20>>2]=r,t[e+16>>2]=r+(t[e+48>>2]|0),e=0),e|0}function Ur(e,n){e=w(e),n=w(n);var r=0,o=0;r=V8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(o=V8(n)|0,(o&2147483647)>>>0<=2139095040)if((o^r|0)<0){e=(r|0)<0?n:e;break}else{e=e>2]=e,t[j>>2]|0|0}function cc(e,n){e=w(e),n=w(n);var r=0,o=0;r=Y8(e)|0;do if((r&2147483647)>>>0<=2139095040){if(o=Y8(n)|0,(o&2147483647)>>>0<=2139095040)if((o^r|0)<0){e=(r|0)<0?e:n;break}else{e=e>2]=e,t[j>>2]|0|0}function V4(e,n){e=w(e),n=w(n);var r=0,o=0,s=0,l=0,d=0,_=0,y=0,k=0;l=(D[j>>2]=e,t[j>>2]|0),_=(D[j>>2]=n,t[j>>2]|0),r=l>>>23&255,d=_>>>23&255,y=l&-2147483648,s=_<<1;e:do if((s|0)!=0?!((r|0)==255|((kL(n)|0)&2147483647)>>>0>2139095040):0){if(o=l<<1,o>>>0<=s>>>0)return n=w(e*w(0)),w((o|0)==(s|0)?n:e);if(r)o=l&8388607|8388608;else{if(r=l<<9,(r|0)>-1){o=r,r=0;do r=r+-1|0,o=o<<1;while((o|0)>-1)}else r=0;o=l<<1-r}if(d)_=_&8388607|8388608;else{if(l=_<<9,(l|0)>-1){s=0;do s=s+-1|0,l=l<<1;while((l|0)>-1)}else s=0;d=s,_=_<<1-s}s=o-_|0,l=(s|0)>-1;t:do if((r|0)>(d|0)){for(;;){if(l)if(s)o=s;else break;if(o=o<<1,r=r+-1|0,s=o-_|0,l=(s|0)>-1,(r|0)<=(d|0))break t}n=w(e*w(0));break e}while(0);if(l)if(s)o=s;else{n=w(e*w(0));break}if(o>>>0<8388608)do o=o<<1,r=r+-1|0;while(o>>>0<8388608);(r|0)>0?r=o+-8388608|r<<23:r=o>>>(1-r|0),n=(t[j>>2]=r|y,w(D[j>>2]))}else k=3;while(0);return(k|0)==3&&(n=w(e*n),n=w(n/n)),w(n)}function kL(e){return e=w(e),D[j>>2]=e,t[j>>2]|0|0}function AL(e,n){return e=e|0,n=n|0,q8(t[582]|0,e,n)|0}function $n(e){e=e|0,_n()}function da(e){e=e|0}function OL(e,n){return e=e|0,n=n|0,0}function IL(e){return e=e|0,($8(e+4|0)|0)==-1?(Nl[t[(t[e>>2]|0)+8>>2]&127](e),e=1):e=0,e|0}function $8(e){e=e|0;var n=0;return n=t[e>>2]|0,t[e>>2]=n+-1,n+-1|0}function Tf(e){e=e|0,IL(e)|0&&PL(e)}function PL(e){e=e|0;var n=0;n=e+8|0,((t[n>>2]|0)!=0?($8(n)|0)!=-1:0)||Nl[t[(t[e>>2]|0)+16>>2]&127](e)}function Tt(e){e=e|0;var n=0;for(n=(e|0)==0?1:e;e=uh(n)|0,!(e|0);){if(e=FL()|0,!e){e=0;break}fD[e&0]()}return e|0}function K8(e){return e=e|0,Tt(e)|0}function Ve(e){e=e|0,sh(e)}function ML(e){e=e|0,(c[e+11>>0]|0)<0&&Ve(t[e>>2]|0)}function FL(){var e=0;return e=t[2923]|0,t[2923]=e+0,e|0}function LL(){}function fh(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,o=n-o-(r>>>0>e>>>0|0)>>>0,be=o,e-r>>>0|0|0}function Y4(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,r=e+r>>>0,be=n+o+(r>>>0>>0|0)>>>0,r|0|0}function pa(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0,d=0;if(l=e+r|0,n=n&255,(r|0)>=67){for(;e&3;)c[e>>0]=n,e=e+1|0;for(o=l&-4|0,s=o-64|0,d=n|n<<8|n<<16|n<<24;(e|0)<=(s|0);)t[e>>2]=d,t[e+4>>2]=d,t[e+8>>2]=d,t[e+12>>2]=d,t[e+16>>2]=d,t[e+20>>2]=d,t[e+24>>2]=d,t[e+28>>2]=d,t[e+32>>2]=d,t[e+36>>2]=d,t[e+40>>2]=d,t[e+44>>2]=d,t[e+48>>2]=d,t[e+52>>2]=d,t[e+56>>2]=d,t[e+60>>2]=d,e=e+64|0;for(;(e|0)<(o|0);)t[e>>2]=d,e=e+4|0}for(;(e|0)<(l|0);)c[e>>0]=n,e=e+1|0;return l-r|0}function X8(e,n,r){return e=e|0,n=n|0,r=r|0,(r|0)<32?(be=n<>>32-r,e<>>r,e>>>r|(n&(1<>>r-32|0)}function vn(e,n,r){e=e|0,n=n|0,r=r|0;var o=0,s=0,l=0;if((r|0)>=8192)return wo(e|0,n|0,r|0)|0;if(l=e|0,s=e+r|0,(e&3)==(n&3)){for(;e&3;){if(!r)return l|0;c[e>>0]=c[n>>0]|0,e=e+1|0,n=n+1|0,r=r-1|0}for(r=s&-4|0,o=r-64|0;(e|0)<=(o|0);)t[e>>2]=t[n>>2],t[e+4>>2]=t[n+4>>2],t[e+8>>2]=t[n+8>>2],t[e+12>>2]=t[n+12>>2],t[e+16>>2]=t[n+16>>2],t[e+20>>2]=t[n+20>>2],t[e+24>>2]=t[n+24>>2],t[e+28>>2]=t[n+28>>2],t[e+32>>2]=t[n+32>>2],t[e+36>>2]=t[n+36>>2],t[e+40>>2]=t[n+40>>2],t[e+44>>2]=t[n+44>>2],t[e+48>>2]=t[n+48>>2],t[e+52>>2]=t[n+52>>2],t[e+56>>2]=t[n+56>>2],t[e+60>>2]=t[n+60>>2],e=e+64|0,n=n+64|0;for(;(e|0)<(r|0);)t[e>>2]=t[n>>2],e=e+4|0,n=n+4|0}else for(r=s-4|0;(e|0)<(r|0);)c[e>>0]=c[n>>0]|0,c[e+1>>0]=c[n+1>>0]|0,c[e+2>>0]=c[n+2>>0]|0,c[e+3>>0]=c[n+3>>0]|0,e=e+4|0,n=n+4|0;for(;(e|0)<(s|0);)c[e>>0]=c[n>>0]|0,e=e+1|0,n=n+1|0;return l|0}function J8(e){e=e|0;var n=0;return n=c[ce+(e&255)>>0]|0,(n|0)<8?n|0:(n=c[ce+(e>>8&255)>>0]|0,(n|0)<8?n+8|0:(n=c[ce+(e>>16&255)>>0]|0,(n|0)<8?n+16|0:(c[ce+(e>>>24)>>0]|0)+24|0))}function Q8(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0;var l=0,d=0,_=0,y=0,k=0,T=0,P=0,q=0,we=0,le=0;if(T=e,y=n,k=y,d=r,q=o,_=q,!k)return l=(s|0)!=0,_?l?(t[s>>2]=e|0,t[s+4>>2]=n&0,q=0,s=0,be=q,s|0):(q=0,s=0,be=q,s|0):(l&&(t[s>>2]=(T>>>0)%(d>>>0),t[s+4>>2]=0),q=0,s=(T>>>0)/(d>>>0)>>>0,be=q,s|0);l=(_|0)==0;do if(d){if(!l){if(l=(cr(_|0)|0)-(cr(k|0)|0)|0,l>>>0<=31){P=l+1|0,_=31-l|0,n=l-31>>31,d=P,e=T>>>(P>>>0)&n|k<<_,n=k>>>(P>>>0)&n,l=0,_=T<<_;break}return s?(t[s>>2]=e|0,t[s+4>>2]=y|n&0,q=0,s=0,be=q,s|0):(q=0,s=0,be=q,s|0)}if(l=d-1|0,l&d|0){_=(cr(d|0)|0)+33-(cr(k|0)|0)|0,le=64-_|0,P=32-_|0,y=P>>31,we=_-32|0,n=we>>31,d=_,e=P-1>>31&k>>>(we>>>0)|(k<>>(_>>>0))&n,n=n&k>>>(_>>>0),l=T<>>(we>>>0))&y|T<>31;break}return s|0&&(t[s>>2]=l&T,t[s+4>>2]=0),(d|0)==1?(we=y|n&0,le=e|0|0,be=we,le|0):(le=J8(d|0)|0,we=k>>>(le>>>0)|0,le=k<<32-le|T>>>(le>>>0)|0,be=we,le|0)}else{if(l)return s|0&&(t[s>>2]=(k>>>0)%(d>>>0),t[s+4>>2]=0),we=0,le=(k>>>0)/(d>>>0)>>>0,be=we,le|0;if(!T)return s|0&&(t[s>>2]=0,t[s+4>>2]=(k>>>0)%(_>>>0)),we=0,le=(k>>>0)/(_>>>0)>>>0,be=we,le|0;if(l=_-1|0,!(l&_))return s|0&&(t[s>>2]=e|0,t[s+4>>2]=l&k|n&0),we=0,le=k>>>((J8(_|0)|0)>>>0),be=we,le|0;if(l=(cr(_|0)|0)-(cr(k|0)|0)|0,l>>>0<=30){n=l+1|0,_=31-l|0,d=n,e=k<<_|T>>>(n>>>0),n=k>>>(n>>>0),l=0,_=T<<_;break}return s?(t[s>>2]=e|0,t[s+4>>2]=y|n&0,we=0,le=0,be=we,le|0):(we=0,le=0,be=we,le|0)}while(0);if(!d)k=_,y=0,_=0;else{P=r|0|0,T=q|o&0,k=Y4(P|0,T|0,-1,-1)|0,r=be,y=_,_=0;do o=y,y=l>>>31|y<<1,l=_|l<<1,o=e<<1|o>>>31|0,q=e>>>31|n<<1|0,fh(k|0,r|0,o|0,q|0)|0,le=be,we=le>>31|((le|0)<0?-1:0)<<1,_=we&1,e=fh(o|0,q|0,we&P|0,(((le|0)<0?-1:0)>>31|((le|0)<0?-1:0)<<1)&T|0)|0,n=be,d=d-1|0;while((d|0)!=0);k=y,y=0}return d=0,s|0&&(t[s>>2]=e,t[s+4>>2]=n),we=(l|0)>>>31|(k|d)<<1|(d<<1|l>>>31)&0|y,le=(l<<1|0>>>31)&-2|_,be=we,le|0}function $4(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,Q8(e,n,r,o,0)|0}function xf(e){e=e|0;var n=0,r=0;return r=e+15&-16|0,n=t[N>>2]|0,e=n+r|0,(r|0)>0&(e|0)<(n|0)|(e|0)<0?(vr()|0,Os(12),-1):(t[N>>2]=e,((e|0)>(Xn()|0)?(Bn()|0)==0:0)?(t[N>>2]=n,Os(12),-1):n|0)}function Y1(e,n,r){e=e|0,n=n|0,r=r|0;var o=0;if((n|0)<(e|0)&(e|0)<(n+r|0)){for(o=e,n=n+r|0,e=e+r|0;(r|0)>0;)e=e-1|0,n=n-1|0,r=r-1|0,c[e>>0]=c[n>>0]|0;e=o}else vn(e,n,r)|0;return e|0}function K4(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0;var s=0,l=0;return l=h,h=h+16|0,s=l|0,Q8(e,n,r,o,s)|0,h=l,be=t[s+4>>2]|0,t[s>>2]|0|0}function Z8(e){return e=e|0,(e&255)<<24|(e>>8&255)<<16|(e>>16&255)<<8|e>>>24|0}function RL(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,eD[e&1](n|0,r|0,o|0,s|0,l|0)}function NL(e,n,r){e=e|0,n=n|0,r=w(r),tD[e&1](n|0,w(r))}function BL(e,n,r){e=e|0,n=n|0,r=+r,nD[e&31](n|0,+r)}function jL(e,n,r,o){return e=e|0,n=n|0,r=w(r),o=w(o),w(rD[e&0](n|0,w(r),w(o)))}function UL(e,n){e=e|0,n=n|0,Nl[e&127](n|0)}function qL(e,n,r){e=e|0,n=n|0,r=r|0,Bl[e&31](n|0,r|0)}function zL(e,n){return e=e|0,n=n|0,dc[e&31](n|0)|0}function WL(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0,iD[e&1](n|0,+r,+o,s|0)}function HL(e,n,r,o){e=e|0,n=n|0,r=+r,o=+o,CR[e&1](n|0,+r,+o)}function bL(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,dh[e&7](n|0,r|0,o|0)|0}function VL(e,n,r,o){return e=e|0,n=n|0,r=r|0,o=o|0,+TR[e&1](n|0,r|0,o|0)}function YL(e,n){return e=e|0,n=n|0,+oD[e&15](n|0)}function $L(e,n,r){return e=e|0,n=n|0,r=+r,xR[e&1](n|0,+r)|0}function KL(e,n,r){return e=e|0,n=n|0,r=r|0,J4[e&15](n|0,r|0)|0}function XL(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=+o,s=+s,l=l|0,kR[e&1](n|0,r|0,+o,+s,l|0)}function JL(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,d=d|0,AR[e&1](n|0,r|0,o|0,s|0,l|0,d|0)}function QL(e,n,r){return e=e|0,n=n|0,r=r|0,+uD[e&7](n|0,r|0)}function ZL(e){return e=e|0,ph[e&7]()|0}function eR(e,n,r,o,s,l){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,sD[e&1](n|0,r|0,o|0,s|0,l|0)|0}function tR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=+s,OR[e&1](n|0,r|0,o|0,+s)}function nR(e,n,r,o,s,l,d){e=e|0,n=n|0,r=r|0,o=w(o),s=s|0,l=w(l),d=d|0,lD[e&1](n|0,r|0,w(o),s|0,w(l),d|0)}function rR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,X1[e&15](n|0,r|0,o|0)}function iR(e){e=e|0,fD[e&0]()}function oR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o,cD[e&15](n|0,r|0,+o)}function uR(e,n,r){return e=e|0,n=+n,r=+r,IR[e&1](+n,+r)|0}function sR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,Q4[e&15](n|0,r|0,o|0,s|0)}function lR(e,n,r,o,s){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,pt(0)}function fR(e,n){e=e|0,n=w(n),pt(1)}function Lo(e,n){e=e|0,n=+n,pt(2)}function cR(e,n,r){return e=e|0,n=w(n),r=w(r),pt(3),tt}function tn(e){e=e|0,pt(4)}function $1(e,n){e=e|0,n=n|0,pt(5)}function tu(e){return e=e|0,pt(6),0}function aR(e,n,r,o){e=e|0,n=+n,r=+r,o=o|0,pt(7)}function dR(e,n,r){e=e|0,n=+n,r=+r,pt(8)}function pR(e,n,r){return e=e|0,n=n|0,r=r|0,pt(9),0}function hR(e,n,r){return e=e|0,n=n|0,r=r|0,pt(10),0}function ac(e){return e=e|0,pt(11),0}function mR(e,n){return e=e|0,n=+n,pt(12),0}function K1(e,n){return e=e|0,n=n|0,pt(13),0}function vR(e,n,r,o,s){e=e|0,n=n|0,r=+r,o=+o,s=s|0,pt(14)}function gR(e,n,r,o,s,l){e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,l=l|0,pt(15)}function X4(e,n){return e=e|0,n=n|0,pt(16),0}function _R(){return pt(17),0}function yR(e,n,r,o,s){return e=e|0,n=n|0,r=r|0,o=o|0,s=s|0,pt(18),0}function wR(e,n,r,o){e=e|0,n=n|0,r=r|0,o=+o,pt(19)}function DR(e,n,r,o,s,l){e=e|0,n=n|0,r=w(r),o=o|0,s=w(s),l=l|0,pt(20)}function ah(e,n,r){e=e|0,n=n|0,r=r|0,pt(21)}function ER(){pt(22)}function ha(e,n,r){e=e|0,n=n|0,r=+r,pt(23)}function SR(e,n){return e=+e,n=+n,pt(24),0}function ma(e,n,r,o){e=e|0,n=n|0,r=r|0,o=o|0,pt(25)}var eD=[lR,_I],tD=[fR,x0],nD=[Lo,Kf,Tl,xl,hf,xo,mf,Wa,Hs,mi,Xf,Rc,Jf,ao,$o,kl,Nc,Al,vf,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo,Lo],rD=[cR],Nl=[tn,da,Km,Xm,es,a_,d_,p_,YA,$A,KA,oI,uI,sI,kF,AF,OF,Sn,Oc,pf,ti,vi,Nm,Uc,r1,Hd,Pl,mv,Av,Kc,Jc,yp,Eg,na,Ug,Yg,u_,k_,q_,J_,a4,Ct,w9,U9,ex,hx,Ix,_0,s7,S7,W7,uk,Dk,Wk,Qk,tA,_A,DA,jA,JA,eO,gO,RO,d1,vP,YP,lM,SM,GM,uF,gF,wF,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn,tn],Bl=[$1,ja,Ua,$f,gu,co,qa,Ws,za,Mc,Fc,Lc,po,Ce,ze,Et,on,sr,mn,Zf,gd,xd,H9,rx,ck,yP,HO,C8,$1,$1,$1,$1],dc=[tu,iL,Ba,m,b,ee,Ye,Ze,ut,In,jr,gi,Pm,Ha,Ya,Fx,Tk,wO,SP,Qo,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu,tu],iD=[aR,Sd],CR=[dR,zA],dh=[pR,j8,oL,lL,Gv,P_,a7,kM],TR=[hR,Op],oD=[ac,_i,Re,pr,Cd,ho,bs,$a,Td,qc,ac,ac,ac,ac,ac,ac],xR=[mR,Kk],J4=[K1,OL,vd,Vc,_v,ig,pg,f_,H_,_x,Xu,dM,K1,K1,K1,K1],kR=[vR,iv],AR=[gR,KM],uD=[X4,Hr,Ka,kd,Xa,Jg,X4,X4],ph=[_R,Ja,Z0,g0,oA,TA,iO,CF],sD=[yR,or],OR=[wR,m4],lD=[DR,Bc],X1=[ah,S,A0,Vn,ni,Mv,Tg,dn,C9,fo,zI,JP,cF,ah,ah,ah],fD=[ER],cD=[ha,Ic,vu,Pc,Qu,Qf,k0,v,W1,k7,Gk,ha,ha,ha,ha,ha],IR=[SR,GA],Q4=[ma,Fg,zx,V7,Lk,aA,PA,aO,qO,OP,RF,ma,ma,ma,ma,ma];return{_llvm_bswap_i32:Z8,dynCall_idd:uR,dynCall_i:ZL,_i64Subtract:fh,___udivdi3:$4,dynCall_vif:NL,setThrew:vl,dynCall_viii:rR,_bitshift64Lshr:ch,_bitshift64Shl:X8,dynCall_vi:UL,dynCall_viiddi:XL,dynCall_diii:VL,dynCall_iii:KL,_memset:pa,_sbrk:xf,_memcpy:vn,__GLOBAL__sub_I_Yoga_cpp:t0,dynCall_vii:qL,___uremdi3:K4,dynCall_vid:BL,stackAlloc:zi,_nbind_init:VF,getTempRet0:fu,dynCall_di:YL,dynCall_iid:$L,setTempRet0:gl,_i64Add:Y4,dynCall_fiff:jL,dynCall_iiii:bL,_emscripten_get_global_libc:rL,dynCall_viid:oR,dynCall_viiid:tR,dynCall_viififi:nR,dynCall_ii:zL,__GLOBAL__sub_I_Binding_cc:lP,dynCall_viiii:sR,dynCall_iiiiii:eR,stackSave:lu,dynCall_viiiii:RL,__GLOBAL__sub_I_nbind_cc:Gs,dynCall_vidd:HL,_free:sh,runPostSets:LL,dynCall_viiiiii:JL,establishStackSpace:O0,_memmove:Y1,stackRestore:Ho,_malloc:uh,__GLOBAL__sub_I_common_cc:AO,dynCall_viddi:WL,dynCall_dii:QL,dynCall_v:iR}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_llvm_bswap_i32=Module._llvm_bswap_i32=asm._llvm_bswap_i32,getTempRet0=Module.getTempRet0=asm.getTempRet0,___udivdi3=Module.___udivdi3=asm.___udivdi3,setThrew=Module.setThrew=asm.setThrew,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_memset=Module._memset=asm._memset,_sbrk=Module._sbrk=asm._sbrk,_memcpy=Module._memcpy=asm._memcpy,stackAlloc=Module.stackAlloc=asm.stackAlloc,___uremdi3=Module.___uremdi3=asm.___uremdi3,_nbind_init=Module._nbind_init=asm._nbind_init,_i64Subtract=Module._i64Subtract=asm._i64Subtract,setTempRet0=Module.setTempRet0=asm.setTempRet0,_i64Add=Module._i64Add=asm._i64Add,_emscripten_get_global_libc=Module._emscripten_get_global_libc=asm._emscripten_get_global_libc,__GLOBAL__sub_I_Yoga_cpp=Module.__GLOBAL__sub_I_Yoga_cpp=asm.__GLOBAL__sub_I_Yoga_cpp,__GLOBAL__sub_I_Binding_cc=Module.__GLOBAL__sub_I_Binding_cc=asm.__GLOBAL__sub_I_Binding_cc,stackSave=Module.stackSave=asm.stackSave,__GLOBAL__sub_I_nbind_cc=Module.__GLOBAL__sub_I_nbind_cc=asm.__GLOBAL__sub_I_nbind_cc,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,establishStackSpace=Module.establishStackSpace=asm.establishStackSpace,_memmove=Module._memmove=asm._memmove,stackRestore=Module.stackRestore=asm.stackRestore,_malloc=Module._malloc=asm._malloc,__GLOBAL__sub_I_common_cc=Module.__GLOBAL__sub_I_common_cc=asm.__GLOBAL__sub_I_common_cc,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vif=Module.dynCall_vif=asm.dynCall_vif,dynCall_vid=Module.dynCall_vid=asm.dynCall_vid,dynCall_fiff=Module.dynCall_fiff=asm.dynCall_fiff,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viddi=Module.dynCall_viddi=asm.dynCall_viddi,dynCall_vidd=Module.dynCall_vidd=asm.dynCall_vidd,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_diii=Module.dynCall_diii=asm.dynCall_diii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_iid=Module.dynCall_iid=asm.dynCall_iid,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiddi=Module.dynCall_viiddi=asm.dynCall_viiddi,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_dii=Module.dynCall_dii=asm.dynCall_dii,dynCall_i=Module.dynCall_i=asm.dynCall_i,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiid=Module.dynCall_viiid=asm.dynCall_viiid,dynCall_viififi=Module.dynCall_viififi=asm.dynCall_viififi,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viid=Module.dynCall_viid=asm.dynCall_viid,dynCall_idd=Module.dynCall_idd=asm.dynCall_idd,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=Module.stackAlloc,Runtime.stackSave=Module.stackSave,Runtime.stackRestore=Module.stackRestore,Runtime.establishStackSpace=Module.establishStackSpace,Runtime.setTempRet0=Module.setTempRet0,Runtime.getTempRet0=Module.getTempRet0,Module.asm=asm;function ExitStatus(i){this.name="ExitStatus",this.message="Program terminated with exit("+i+")",this.status=i}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function i(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=i)},Module.callMain=Module.callMain=function(u){u=u||[],ensureInitRuntime();var f=u.length+1;function c(){for(var x=0;x<4-1;x++)g.push(0)}var g=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];c();for(var t=0;t0||(preRun(),runDependencies>0)||Module.calledRun)return;function u(){Module.calledRun||(Module.calledRun=!0,!ABORT&&(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(i),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),u()},1)):u()}Module.run=Module.run=run;function exit(i,u){u&&Module.noExitRuntime||(Module.noExitRuntime||(ABORT=!0,EXITSTATUS=i,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(i)),ENVIRONMENT_IS_NODE&&process.exit(i),Module.quit(i,new ExitStatus(i)))}Module.exit=Module.exit=exit;var abortDecorators=[];function abort(i){Module.onAbort&&Module.onAbort(i),i!==void 0?(Module.print(i),Module.printErr(i),i=JSON.stringify(i)):i="",ABORT=!0,EXITSTATUS=1;var u=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,f="abort("+i+") at "+stackTrace()+u;throw abortDecorators&&abortDecorators.forEach(function(c){f=c(f,i)}),f}if(Module.abort=Module.abort=abort,Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run()})});var hc=Me((hb,vE)=>{"use strict";var wN=hE(),DN=mE(),Py=!1,My=null;DN({},function(i,u){if(!Py){if(Py=!0,i)throw i;My=u}});if(!Py)throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't");vE.exports=wN(My.bind,My.lib)});var _E=Me((mb,gE)=>{"use strict";gE.exports=({onlyFirst:i=!1}={})=>{let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,i?void 0:"g")}});var Fy=Me((vb,yE)=>{"use strict";var EN=_E();yE.exports=i=>typeof i=="string"?i.replace(EN(),""):i});var Ry=Me((gb,Ly)=>{"use strict";var wE=i=>Number.isNaN(i)?!1:i>=4352&&(i<=4447||i===9001||i===9002||11904<=i&&i<=12871&&i!==12351||12880<=i&&i<=19903||19968<=i&&i<=42182||43360<=i&&i<=43388||44032<=i&&i<=55203||63744<=i&&i<=64255||65040<=i&&i<=65049||65072<=i&&i<=65131||65281<=i&&i<=65376||65504<=i&&i<=65510||110592<=i&&i<=110593||127488<=i&&i<=127569||131072<=i&&i<=262141);Ly.exports=wE;Ly.exports.default=wE});var EE=Me((_b,DE)=>{"use strict";DE.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var Mh=Me((yb,Ny)=>{"use strict";var SN=Fy(),CN=Ry(),TN=EE(),SE=i=>{if(i=i.replace(TN()," "),typeof i!="string"||i.length===0)return 0;i=SN(i);let u=0;for(let f=0;f=127&&c<=159||c>=768&&c<=879||(c>65535&&f++,u+=CN(c)?2:1)}return u};Ny.exports=SE;Ny.exports.default=SE});var jy=Me((wb,By)=>{"use strict";var xN=Mh(),CE=i=>{let u=0;for(let f of i.split(` -`))u=Math.max(u,xN(f));return u};By.exports=CE;By.exports.default=CE});var TE=Me(a2=>{"use strict";var kN=a2&&a2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(a2,"__esModule",{value:!0});var AN=kN(jy()),Uy={};a2.default=i=>{if(i.length===0)return{width:0,height:0};if(Uy[i])return Uy[i];let u=AN.default(i),f=i.split(` -`).length;return Uy[i]={width:u,height:f},{width:u,height:f}}});var xE=Me(d2=>{"use strict";var ON=d2&&d2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(d2,"__esModule",{value:!0});var hr=ON(hc()),IN=(i,u)=>{"position"in u&&i.setPositionType(u.position==="absolute"?hr.default.POSITION_TYPE_ABSOLUTE:hr.default.POSITION_TYPE_RELATIVE)},PN=(i,u)=>{"marginLeft"in u&&i.setMargin(hr.default.EDGE_START,u.marginLeft||0),"marginRight"in u&&i.setMargin(hr.default.EDGE_END,u.marginRight||0),"marginTop"in u&&i.setMargin(hr.default.EDGE_TOP,u.marginTop||0),"marginBottom"in u&&i.setMargin(hr.default.EDGE_BOTTOM,u.marginBottom||0)},MN=(i,u)=>{"paddingLeft"in u&&i.setPadding(hr.default.EDGE_LEFT,u.paddingLeft||0),"paddingRight"in u&&i.setPadding(hr.default.EDGE_RIGHT,u.paddingRight||0),"paddingTop"in u&&i.setPadding(hr.default.EDGE_TOP,u.paddingTop||0),"paddingBottom"in u&&i.setPadding(hr.default.EDGE_BOTTOM,u.paddingBottom||0)},FN=(i,u)=>{var f;"flexGrow"in u&&i.setFlexGrow((f=u.flexGrow)!==null&&f!==void 0?f:0),"flexShrink"in u&&i.setFlexShrink(typeof u.flexShrink=="number"?u.flexShrink:1),"flexDirection"in u&&(u.flexDirection==="row"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_ROW),u.flexDirection==="row-reverse"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_ROW_REVERSE),u.flexDirection==="column"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_COLUMN),u.flexDirection==="column-reverse"&&i.setFlexDirection(hr.default.FLEX_DIRECTION_COLUMN_REVERSE)),"flexBasis"in u&&(typeof u.flexBasis=="number"?i.setFlexBasis(u.flexBasis):typeof u.flexBasis=="string"?i.setFlexBasisPercent(Number.parseInt(u.flexBasis,10)):i.setFlexBasis(NaN)),"alignItems"in u&&((u.alignItems==="stretch"||!u.alignItems)&&i.setAlignItems(hr.default.ALIGN_STRETCH),u.alignItems==="flex-start"&&i.setAlignItems(hr.default.ALIGN_FLEX_START),u.alignItems==="center"&&i.setAlignItems(hr.default.ALIGN_CENTER),u.alignItems==="flex-end"&&i.setAlignItems(hr.default.ALIGN_FLEX_END)),"alignSelf"in u&&((u.alignSelf==="auto"||!u.alignSelf)&&i.setAlignSelf(hr.default.ALIGN_AUTO),u.alignSelf==="flex-start"&&i.setAlignSelf(hr.default.ALIGN_FLEX_START),u.alignSelf==="center"&&i.setAlignSelf(hr.default.ALIGN_CENTER),u.alignSelf==="flex-end"&&i.setAlignSelf(hr.default.ALIGN_FLEX_END)),"justifyContent"in u&&((u.justifyContent==="flex-start"||!u.justifyContent)&&i.setJustifyContent(hr.default.JUSTIFY_FLEX_START),u.justifyContent==="center"&&i.setJustifyContent(hr.default.JUSTIFY_CENTER),u.justifyContent==="flex-end"&&i.setJustifyContent(hr.default.JUSTIFY_FLEX_END),u.justifyContent==="space-between"&&i.setJustifyContent(hr.default.JUSTIFY_SPACE_BETWEEN),u.justifyContent==="space-around"&&i.setJustifyContent(hr.default.JUSTIFY_SPACE_AROUND))},LN=(i,u)=>{var f,c;"width"in u&&(typeof u.width=="number"?i.setWidth(u.width):typeof u.width=="string"?i.setWidthPercent(Number.parseInt(u.width,10)):i.setWidthAuto()),"height"in u&&(typeof u.height=="number"?i.setHeight(u.height):typeof u.height=="string"?i.setHeightPercent(Number.parseInt(u.height,10)):i.setHeightAuto()),"minWidth"in u&&(typeof u.minWidth=="string"?i.setMinWidthPercent(Number.parseInt(u.minWidth,10)):i.setMinWidth((f=u.minWidth)!==null&&f!==void 0?f:0)),"minHeight"in u&&(typeof u.minHeight=="string"?i.setMinHeightPercent(Number.parseInt(u.minHeight,10)):i.setMinHeight((c=u.minHeight)!==null&&c!==void 0?c:0))},RN=(i,u)=>{"display"in u&&i.setDisplay(u.display==="flex"?hr.default.DISPLAY_FLEX:hr.default.DISPLAY_NONE)},NN=(i,u)=>{if("borderStyle"in u){let f=typeof u.borderStyle=="string"?1:0;i.setBorder(hr.default.EDGE_TOP,f),i.setBorder(hr.default.EDGE_BOTTOM,f),i.setBorder(hr.default.EDGE_LEFT,f),i.setBorder(hr.default.EDGE_RIGHT,f)}};d2.default=(i,u={})=>{IN(i,u),PN(i,u),MN(i,u),FN(i,u),LN(i,u),RN(i,u),NN(i,u)}});var AE=Me((Sb,kE)=>{"use strict";kE.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var qy=Me((Cb,OE)=>{var p2=AE(),IE={};for(let i of Object.keys(p2))IE[p2[i]]=i;var Xt={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};OE.exports=Xt;for(let i of Object.keys(Xt)){if(!("channels"in Xt[i]))throw new Error("missing channels property: "+i);if(!("labels"in Xt[i]))throw new Error("missing channel labels property: "+i);if(Xt[i].labels.length!==Xt[i].channels)throw new Error("channel and label counts mismatch: "+i);let{channels:u,labels:f}=Xt[i];delete Xt[i].channels,delete Xt[i].labels,Object.defineProperty(Xt[i],"channels",{value:u}),Object.defineProperty(Xt[i],"labels",{value:f})}Xt.rgb.hsl=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.min(u,f,c),t=Math.max(u,f,c),C=t-g,A,x;t===g?A=0:u===t?A=(f-c)/C:f===t?A=2+(c-u)/C:c===t&&(A=4+(u-f)/C),A=Math.min(A*60,360),A<0&&(A+=360);let D=(g+t)/2;return t===g?x=0:D<=.5?x=C/(t+g):x=C/(2-t-g),[A,x*100,D*100]};Xt.rgb.hsv=function(i){let u,f,c,g,t,C=i[0]/255,A=i[1]/255,x=i[2]/255,D=Math.max(C,A,x),L=D-Math.min(C,A,x),N=function(j){return(D-j)/6/L+1/2};return L===0?(g=0,t=0):(t=L/D,u=N(C),f=N(A),c=N(x),C===D?g=c-f:A===D?g=1/3+u-c:x===D&&(g=2/3+f-u),g<0?g+=1:g>1&&(g-=1)),[g*360,t*100,D*100]};Xt.rgb.hwb=function(i){let u=i[0],f=i[1],c=i[2],g=Xt.rgb.hsl(i)[0],t=1/255*Math.min(u,Math.min(f,c));return c=1-1/255*Math.max(u,Math.max(f,c)),[g,t*100,c*100]};Xt.rgb.cmyk=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.min(1-u,1-f,1-c),t=(1-u-g)/(1-g)||0,C=(1-f-g)/(1-g)||0,A=(1-c-g)/(1-g)||0;return[t*100,C*100,A*100,g*100]};function BN(i,u){return(i[0]-u[0])**2+(i[1]-u[1])**2+(i[2]-u[2])**2}Xt.rgb.keyword=function(i){let u=IE[i];if(u)return u;let f=Infinity,c;for(let g of Object.keys(p2)){let t=p2[g],C=BN(i,t);C.04045?((u+.055)/1.055)**2.4:u/12.92,f=f>.04045?((f+.055)/1.055)**2.4:f/12.92,c=c>.04045?((c+.055)/1.055)**2.4:c/12.92;let g=u*.4124+f*.3576+c*.1805,t=u*.2126+f*.7152+c*.0722,C=u*.0193+f*.1192+c*.9505;return[g*100,t*100,C*100]};Xt.rgb.lab=function(i){let u=Xt.rgb.xyz(i),f=u[0],c=u[1],g=u[2];f/=95.047,c/=100,g/=108.883,f=f>.008856?f**(1/3):7.787*f+16/116,c=c>.008856?c**(1/3):7.787*c+16/116,g=g>.008856?g**(1/3):7.787*g+16/116;let t=116*c-16,C=500*(f-c),A=200*(c-g);return[t,C,A]};Xt.hsl.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100,g,t,C;if(f===0)return C=c*255,[C,C,C];c<.5?g=c*(1+f):g=c+f-c*f;let A=2*c-g,x=[0,0,0];for(let D=0;D<3;D++)t=u+1/3*-(D-1),t<0&&t++,t>1&&t--,6*t<1?C=A+(g-A)*6*t:2*t<1?C=g:3*t<2?C=A+(g-A)*(2/3-t)*6:C=A,x[D]=C*255;return x};Xt.hsl.hsv=function(i){let u=i[0],f=i[1]/100,c=i[2]/100,g=f,t=Math.max(c,.01);c*=2,f*=c<=1?c:2-c,g*=t<=1?t:2-t;let C=(c+f)/2,A=c===0?2*g/(t+g):2*f/(c+f);return[u,A*100,C*100]};Xt.hsv.rgb=function(i){let u=i[0]/60,f=i[1]/100,c=i[2]/100,g=Math.floor(u)%6,t=u-Math.floor(u),C=255*c*(1-f),A=255*c*(1-f*t),x=255*c*(1-f*(1-t));switch(c*=255,g){case 0:return[c,x,C];case 1:return[A,c,C];case 2:return[C,c,x];case 3:return[C,A,c];case 4:return[x,C,c];case 5:return[c,C,A]}};Xt.hsv.hsl=function(i){let u=i[0],f=i[1]/100,c=i[2]/100,g=Math.max(c,.01),t,C;C=(2-f)*c;let A=(2-f)*g;return t=f*g,t/=A<=1?A:2-A,t=t||0,C/=2,[u,t*100,C*100]};Xt.hwb.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100,g=f+c,t;g>1&&(f/=g,c/=g);let C=Math.floor(6*u),A=1-c;t=6*u-C,(C&1)!=0&&(t=1-t);let x=f+t*(A-f),D,L,N;switch(C){default:case 6:case 0:D=A,L=x,N=f;break;case 1:D=x,L=A,N=f;break;case 2:D=f,L=A,N=x;break;case 3:D=f,L=x,N=A;break;case 4:D=x,L=f,N=A;break;case 5:D=A,L=f,N=x;break}return[D*255,L*255,N*255]};Xt.cmyk.rgb=function(i){let u=i[0]/100,f=i[1]/100,c=i[2]/100,g=i[3]/100,t=1-Math.min(1,u*(1-g)+g),C=1-Math.min(1,f*(1-g)+g),A=1-Math.min(1,c*(1-g)+g);return[t*255,C*255,A*255]};Xt.xyz.rgb=function(i){let u=i[0]/100,f=i[1]/100,c=i[2]/100,g,t,C;return g=u*3.2406+f*-1.5372+c*-.4986,t=u*-.9689+f*1.8758+c*.0415,C=u*.0557+f*-.204+c*1.057,g=g>.0031308?1.055*g**(1/2.4)-.055:g*12.92,t=t>.0031308?1.055*t**(1/2.4)-.055:t*12.92,C=C>.0031308?1.055*C**(1/2.4)-.055:C*12.92,g=Math.min(Math.max(0,g),1),t=Math.min(Math.max(0,t),1),C=Math.min(Math.max(0,C),1),[g*255,t*255,C*255]};Xt.xyz.lab=function(i){let u=i[0],f=i[1],c=i[2];u/=95.047,f/=100,c/=108.883,u=u>.008856?u**(1/3):7.787*u+16/116,f=f>.008856?f**(1/3):7.787*f+16/116,c=c>.008856?c**(1/3):7.787*c+16/116;let g=116*f-16,t=500*(u-f),C=200*(f-c);return[g,t,C]};Xt.lab.xyz=function(i){let u=i[0],f=i[1],c=i[2],g,t,C;t=(u+16)/116,g=f/500+t,C=t-c/200;let A=t**3,x=g**3,D=C**3;return t=A>.008856?A:(t-16/116)/7.787,g=x>.008856?x:(g-16/116)/7.787,C=D>.008856?D:(C-16/116)/7.787,g*=95.047,t*=100,C*=108.883,[g,t,C]};Xt.lab.lch=function(i){let u=i[0],f=i[1],c=i[2],g;g=Math.atan2(c,f)*360/2/Math.PI,g<0&&(g+=360);let C=Math.sqrt(f*f+c*c);return[u,C,g]};Xt.lch.lab=function(i){let u=i[0],f=i[1],g=i[2]/360*2*Math.PI,t=f*Math.cos(g),C=f*Math.sin(g);return[u,t,C]};Xt.rgb.ansi16=function(i,u=null){let[f,c,g]=i,t=u===null?Xt.rgb.hsv(i)[2]:u;if(t=Math.round(t/50),t===0)return 30;let C=30+(Math.round(g/255)<<2|Math.round(c/255)<<1|Math.round(f/255));return t===2&&(C+=60),C};Xt.hsv.ansi16=function(i){return Xt.rgb.ansi16(Xt.hsv.rgb(i),i[2])};Xt.rgb.ansi256=function(i){let u=i[0],f=i[1],c=i[2];return u===f&&f===c?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(f/255*5)+Math.round(c/255*5)};Xt.ansi16.rgb=function(i){let u=i%10;if(u===0||u===7)return i>50&&(u+=3.5),u=u/10.5*255,[u,u,u];let f=(~~(i>50)+1)*.5,c=(u&1)*f*255,g=(u>>1&1)*f*255,t=(u>>2&1)*f*255;return[c,g,t]};Xt.ansi256.rgb=function(i){if(i>=232){let t=(i-232)*10+8;return[t,t,t]}i-=16;let u,f=Math.floor(i/36)/5*255,c=Math.floor((u=i%36)/6)/5*255,g=u%6/5*255;return[f,c,g]};Xt.rgb.hex=function(i){let f=(((Math.round(i[0])&255)<<16)+((Math.round(i[1])&255)<<8)+(Math.round(i[2])&255)).toString(16).toUpperCase();return"000000".substring(f.length)+f};Xt.hex.rgb=function(i){let u=i.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!u)return[0,0,0];let f=u[0];u[0].length===3&&(f=f.split("").map(A=>A+A).join(""));let c=parseInt(f,16),g=c>>16&255,t=c>>8&255,C=c&255;return[g,t,C]};Xt.rgb.hcg=function(i){let u=i[0]/255,f=i[1]/255,c=i[2]/255,g=Math.max(Math.max(u,f),c),t=Math.min(Math.min(u,f),c),C=g-t,A,x;return C<1?A=t/(1-C):A=0,C<=0?x=0:g===u?x=(f-c)/C%6:g===f?x=2+(c-u)/C:x=4+(u-f)/C,x/=6,x%=1,[x*360,C*100,A*100]};Xt.hsl.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=f<.5?2*u*f:2*u*(1-f),g=0;return c<1&&(g=(f-.5*c)/(1-c)),[i[0],c*100,g*100]};Xt.hsv.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=u*f,g=0;return c<1&&(g=(f-c)/(1-c)),[i[0],c*100,g*100]};Xt.hcg.rgb=function(i){let u=i[0]/360,f=i[1]/100,c=i[2]/100;if(f===0)return[c*255,c*255,c*255];let g=[0,0,0],t=u%1*6,C=t%1,A=1-C,x=0;switch(Math.floor(t)){case 0:g[0]=1,g[1]=C,g[2]=0;break;case 1:g[0]=A,g[1]=1,g[2]=0;break;case 2:g[0]=0,g[1]=1,g[2]=C;break;case 3:g[0]=0,g[1]=A,g[2]=1;break;case 4:g[0]=C,g[1]=0,g[2]=1;break;default:g[0]=1,g[1]=0,g[2]=A}return x=(1-f)*c,[(f*g[0]+x)*255,(f*g[1]+x)*255,(f*g[2]+x)*255]};Xt.hcg.hsv=function(i){let u=i[1]/100,f=i[2]/100,c=u+f*(1-u),g=0;return c>0&&(g=u/c),[i[0],g*100,c*100]};Xt.hcg.hsl=function(i){let u=i[1]/100,c=i[2]/100*(1-u)+.5*u,g=0;return c>0&&c<.5?g=u/(2*c):c>=.5&&c<1&&(g=u/(2*(1-c))),[i[0],g*100,c*100]};Xt.hcg.hwb=function(i){let u=i[1]/100,f=i[2]/100,c=u+f*(1-u);return[i[0],(c-u)*100,(1-c)*100]};Xt.hwb.hcg=function(i){let u=i[1]/100,f=i[2]/100,c=1-f,g=c-u,t=0;return g<1&&(t=(c-g)/(1-g)),[i[0],g*100,t*100]};Xt.apple.rgb=function(i){return[i[0]/65535*255,i[1]/65535*255,i[2]/65535*255]};Xt.rgb.apple=function(i){return[i[0]/255*65535,i[1]/255*65535,i[2]/255*65535]};Xt.gray.rgb=function(i){return[i[0]/100*255,i[0]/100*255,i[0]/100*255]};Xt.gray.hsl=function(i){return[0,0,i[0]]};Xt.gray.hsv=Xt.gray.hsl;Xt.gray.hwb=function(i){return[0,100,i[0]]};Xt.gray.cmyk=function(i){return[0,0,0,i[0]]};Xt.gray.lab=function(i){return[i[0],0,0]};Xt.gray.hex=function(i){let u=Math.round(i[0]/100*255)&255,c=((u<<16)+(u<<8)+u).toString(16).toUpperCase();return"000000".substring(c.length)+c};Xt.rgb.gray=function(i){return[(i[0]+i[1]+i[2])/3/255*100]}});var ME=Me((Tb,PE)=>{var Fh=qy();function jN(){let i={},u=Object.keys(Fh);for(let f=u.length,c=0;c{var zy=qy(),WN=ME(),Ca={},HN=Object.keys(zy);function bN(i){let u=function(...f){let c=f[0];return c==null?c:(c.length>1&&(f=c),i(f))};return"conversion"in i&&(u.conversion=i.conversion),u}function GN(i){let u=function(...f){let c=f[0];if(c==null)return c;c.length>1&&(f=c);let g=i(f);if(typeof g=="object")for(let t=g.length,C=0;C{Ca[i]={},Object.defineProperty(Ca[i],"channels",{value:zy[i].channels}),Object.defineProperty(Ca[i],"labels",{value:zy[i].labels});let u=WN(i);Object.keys(u).forEach(c=>{let g=u[c];Ca[i][c]=GN(g),Ca[i][c].raw=bN(g)})});FE.exports=Ca});var Rh=Me((kb,RE)=>{"use strict";var NE=(i,u)=>(...f)=>`[${i(...f)+u}m`,BE=(i,u)=>(...f)=>{let c=i(...f);return`[${38+u};5;${c}m`},jE=(i,u)=>(...f)=>{let c=i(...f);return`[${38+u};2;${c[0]};${c[1]};${c[2]}m`},Lh=i=>i,UE=(i,u,f)=>[i,u,f],Ta=(i,u,f)=>{Object.defineProperty(i,u,{get:()=>{let c=f();return Object.defineProperty(i,u,{value:c,enumerable:!0,configurable:!0}),c},enumerable:!0,configurable:!0})},Wy,xa=(i,u,f,c)=>{Wy===void 0&&(Wy=LE());let g=c?10:0,t={};for(let[C,A]of Object.entries(Wy)){let x=C==="ansi16"?"ansi":C;C===u?t[x]=i(f,g):typeof A=="object"&&(t[x]=i(A[u],g))}return t};function VN(){let i=new Map,u={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};u.color.gray=u.color.blackBright,u.bgColor.bgGray=u.bgColor.bgBlackBright,u.color.grey=u.color.blackBright,u.bgColor.bgGrey=u.bgColor.bgBlackBright;for(let[f,c]of Object.entries(u)){for(let[g,t]of Object.entries(c))u[g]={open:`[${t[0]}m`,close:`[${t[1]}m`},c[g]=u[g],i.set(t[0],t[1]);Object.defineProperty(u,f,{value:c,enumerable:!1})}return Object.defineProperty(u,"codes",{value:i,enumerable:!1}),u.color.close="",u.bgColor.close="",Ta(u.color,"ansi",()=>xa(NE,"ansi16",Lh,!1)),Ta(u.color,"ansi256",()=>xa(BE,"ansi256",Lh,!1)),Ta(u.color,"ansi16m",()=>xa(jE,"rgb",UE,!1)),Ta(u.bgColor,"ansi",()=>xa(NE,"ansi16",Lh,!0)),Ta(u.bgColor,"ansi256",()=>xa(BE,"ansi256",Lh,!0)),Ta(u.bgColor,"ansi16m",()=>xa(jE,"rgb",UE,!0)),u}Object.defineProperty(RE,"exports",{enumerable:!0,get:VN})});var WE=Me((Ab,qE)=>{"use strict";var h2=Mh(),YN=Fy(),$N=Rh(),Hy=new Set(["","\x9B"]),KN=39,zE=i=>`${Hy.values().next().value}[${i}m`,XN=i=>i.split(" ").map(u=>h2(u)),by=(i,u,f)=>{let c=[...u],g=!1,t=h2(YN(i[i.length-1]));for(let[C,A]of c.entries()){let x=h2(A);if(t+x<=f?i[i.length-1]+=A:(i.push(A),t=0),Hy.has(A))g=!0;else if(g&&A==="m"){g=!1;continue}g||(t+=x,t===f&&C0&&i.length>1&&(i[i.length-2]+=i.pop())},JN=i=>{let u=i.split(" "),f=u.length;for(;f>0&&!(h2(u[f-1])>0);)f--;return f===u.length?i:u.slice(0,f).join(" ")+u.slice(f).join("")},QN=(i,u,f={})=>{if(f.trim!==!1&&i.trim()==="")return"";let c="",g="",t,C=XN(i),A=[""];for(let[x,D]of i.split(" ").entries()){f.trim!==!1&&(A[A.length-1]=A[A.length-1].trimLeft());let L=h2(A[A.length-1]);if(x!==0&&(L>=u&&(f.wordWrap===!1||f.trim===!1)&&(A.push(""),L=0),(L>0||f.trim===!1)&&(A[A.length-1]+=" ",L++)),f.hard&&C[x]>u){let N=u-L,j=1+Math.floor((C[x]-N-1)/u);Math.floor((C[x]-1)/u)u&&L>0&&C[x]>0){if(f.wordWrap===!1&&Lu&&f.wordWrap===!1){by(A,D,u);continue}A[A.length-1]+=D}f.trim!==!1&&(A=A.map(JN)),c=A.join(` -`);for(let[x,D]of[...c].entries()){if(g+=D,Hy.has(D)){let N=parseFloat(/\d[^m]*/.exec(c.slice(x,x+4)));t=N===KN?null:N}let L=$N.codes.get(Number(t));t&&L&&(c[x+1]===` -`?g+=zE(L):D===` -`&&(g+=zE(t)))}return g};qE.exports=(i,u,f)=>String(i).normalize().replace(/\r\n/g,` -`).split(` -`).map(c=>QN(c,u,f)).join(` -`)});var GE=Me((Ob,HE)=>{"use strict";var bE="[\uD800-\uDBFF][\uDC00-\uDFFF]",ZN=i=>i&&i.exact?new RegExp(`^${bE}$`):new RegExp(bE,"g");HE.exports=ZN});var Gy=Me((Ib,VE)=>{"use strict";var eB=Ry(),tB=GE(),YE=Rh(),$E=["","\x9B"],Nh=i=>`${$E[0]}[${i}m`,KE=(i,u,f)=>{let c=[];i=[...i];for(let g of i){let t=g;g.match(";")&&(g=g.split(";")[0][0]+"0");let C=YE.codes.get(parseInt(g,10));if(C){let A=i.indexOf(C.toString());A>=0?i.splice(A,1):c.push(Nh(u?C:t))}else if(u){c.push(Nh(0));break}else c.push(Nh(t))}if(u&&(c=c.filter((g,t)=>c.indexOf(g)===t),f!==void 0)){let g=Nh(YE.codes.get(parseInt(f,10)));c=c.reduce((t,C)=>C===g?[C,...t]:[...t,C],[])}return c.join("")};VE.exports=(i,u,f)=>{let c=[...i.normalize()],g=[];f=typeof f=="number"?f:c.length;let t=!1,C,A=0,x="";for(let[D,L]of c.entries()){let N=!1;if($E.includes(L)){let j=/\d[^m]*/.exec(i.slice(D,D+18));C=j&&j.length>0?j[0]:void 0,Au&&A<=f)x+=L;else if(A===u&&!t&&C!==void 0)x=KE(g);else if(A>=f){x+=KE(g,!0,C);break}}return x}});var JE=Me((Pb,XE)=>{"use strict";var Bf=Gy(),nB=Mh();function Bh(i,u,f){if(i.charAt(u)===" ")return u;for(let c=1;c<=3;c++)if(f){if(i.charAt(u+c)===" ")return u+c}else if(i.charAt(u-c)===" ")return u-c;return u}XE.exports=(i,u,f)=>{f=dt({position:"end",preferTruncationOnSpace:!1},f);let{position:c,space:g,preferTruncationOnSpace:t}=f,C="\u2026",A=1;if(typeof i!="string")throw new TypeError(`Expected \`input\` to be a string, got ${typeof i}`);if(typeof u!="number")throw new TypeError(`Expected \`columns\` to be a number, got ${typeof u}`);if(u<1)return"";if(u===1)return C;let x=nB(i);if(x<=u)return i;if(c==="start"){if(t){let D=Bh(i,x-u+1,!0);return C+Bf(i,D,x).trim()}return g===!0&&(C+=" ",A=2),C+Bf(i,x-u+A,x)}if(c==="middle"){g===!0&&(C=" "+C+" ",A=3);let D=Math.floor(u/2);if(t){let L=Bh(i,D),N=Bh(i,x-(u-D)+1,!0);return Bf(i,0,L)+C+Bf(i,N,x).trim()}return Bf(i,0,D)+C+Bf(i,x-(u-D)+A,x)}if(c==="end"){if(t){let D=Bh(i,u-1);return Bf(i,0,D)+C}return g===!0&&(C=" "+C,A=2),Bf(i,0,u-A)+C}throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${c}`)}});var Yy=Me(m2=>{"use strict";var QE=m2&&m2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(m2,"__esModule",{value:!0});var rB=QE(WE()),iB=QE(JE()),Vy={};m2.default=(i,u,f)=>{let c=i+String(u)+String(f);if(Vy[c])return Vy[c];let g=i;if(f==="wrap"&&(g=rB.default(i,u,{trim:!1,hard:!0})),f.startsWith("truncate")){let t="end";f==="truncate-middle"&&(t="middle"),f==="truncate-start"&&(t="start"),g=iB.default(i,u,{position:t})}return Vy[c]=g,g}});var Ky=Me($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});var ZE=i=>{let u="";if(i.childNodes.length>0)for(let f of i.childNodes){let c="";f.nodeName==="#text"?c=f.nodeValue:((f.nodeName==="ink-text"||f.nodeName==="ink-virtual-text")&&(c=ZE(f)),c.length>0&&typeof f.internal_transform=="function"&&(c=f.internal_transform(c))),u+=c}return u};$y.default=ZE});var Xy=Me(Zr=>{"use strict";var v2=Zr&&Zr.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Zr,"__esModule",{value:!0});Zr.setTextNodeValue=Zr.createTextNode=Zr.setStyle=Zr.setAttribute=Zr.removeChildNode=Zr.insertBeforeNode=Zr.appendChildNode=Zr.createNode=Zr.TEXT_NAME=void 0;var oB=v2(hc()),e6=v2(TE()),uB=v2(xE()),sB=v2(Yy()),lB=v2(Ky());Zr.TEXT_NAME="#text";Zr.createNode=i=>{var u;let f={nodeName:i,style:{},attributes:{},childNodes:[],parentNode:null,yogaNode:i==="ink-virtual-text"?void 0:oB.default.Node.create()};return i==="ink-text"&&((u=f.yogaNode)===null||u===void 0||u.setMeasureFunc(fB.bind(null,f))),f};Zr.appendChildNode=(i,u)=>{var f;u.parentNode&&Zr.removeChildNode(u.parentNode,u),u.parentNode=i,i.childNodes.push(u),u.yogaNode&&((f=i.yogaNode)===null||f===void 0||f.insertChild(u.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.insertBeforeNode=(i,u,f)=>{var c,g;u.parentNode&&Zr.removeChildNode(u.parentNode,u),u.parentNode=i;let t=i.childNodes.indexOf(f);if(t>=0){i.childNodes.splice(t,0,u),u.yogaNode&&((c=i.yogaNode)===null||c===void 0||c.insertChild(u.yogaNode,t));return}i.childNodes.push(u),u.yogaNode&&((g=i.yogaNode)===null||g===void 0||g.insertChild(u.yogaNode,i.yogaNode.getChildCount())),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.removeChildNode=(i,u)=>{var f,c;u.yogaNode&&((c=(f=u.parentNode)===null||f===void 0?void 0:f.yogaNode)===null||c===void 0||c.removeChild(u.yogaNode)),u.parentNode=null;let g=i.childNodes.indexOf(u);g>=0&&i.childNodes.splice(g,1),(i.nodeName==="ink-text"||i.nodeName==="ink-virtual-text")&&jh(i)};Zr.setAttribute=(i,u,f)=>{i.attributes[u]=f};Zr.setStyle=(i,u)=>{i.style=u,i.yogaNode&&uB.default(i.yogaNode,u)};Zr.createTextNode=i=>{let u={nodeName:"#text",nodeValue:i,yogaNode:void 0,parentNode:null,style:{}};return Zr.setTextNodeValue(u,i),u};var fB=function(i,u){var f,c;let g=i.nodeName==="#text"?i.nodeValue:lB.default(i),t=e6.default(g);if(t.width<=u||t.width>=1&&u>0&&u<1)return t;let C=(c=(f=i.style)===null||f===void 0?void 0:f.textWrap)!==null&&c!==void 0?c:"wrap",A=sB.default(g,u,C);return e6.default(A)},t6=i=>{var u;if(!(!i||!i.parentNode))return(u=i.yogaNode)!==null&&u!==void 0?u:t6(i.parentNode)},jh=i=>{let u=t6(i);u==null||u.markDirty()};Zr.setTextNodeValue=(i,u)=>{typeof u!="string"&&(u=String(u)),i.nodeValue=u,jh(i)}});var mc=Me((Rb,n6)=>{"use strict";n6.exports={BINARY_TYPES:["nodebuffer","arraybuffer","fragments"],GUID:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11",kStatusCode:Symbol("status-code"),kWebSocket:Symbol("websocket"),EMPTY_BUFFER:Buffer.alloc(0),NOOP:()=>{}}});var g2=Me((Nb,Jy)=>{"use strict";var{EMPTY_BUFFER:cB}=mc();function r6(i,u){if(i.length===0)return cB;if(i.length===1)return i[0];let f=Buffer.allocUnsafe(u),c=0;for(let g=0;g{"use strict";var l6=Symbol("kDone"),Qy=Symbol("kRun"),f6=class{constructor(u){this[l6]=()=>{this.pending--,this[Qy]()},this.concurrency=u||Infinity,this.jobs=[],this.pending=0}add(u){this.jobs.push(u),this[Qy]()}[Qy](){if(this.pending!==this.concurrency&&this.jobs.length){let u=this.jobs.shift();this.pending++,u(this[l6])}}};s6.exports=f6});var w2=Me((jb,a6)=>{"use strict";var _2=require("zlib"),d6=g2(),aB=c6(),{kStatusCode:p6,NOOP:dB}=mc(),pB=Buffer.from([0,0,255,255]),qh=Symbol("permessage-deflate"),Xl=Symbol("total-length"),y2=Symbol("callback"),jf=Symbol("buffers"),Zy=Symbol("error"),zh,h6=class{constructor(u,f,c){if(this._maxPayload=c|0,this._options=u||{},this._threshold=this._options.threshold!==void 0?this._options.threshold:1024,this._isServer=!!f,this._deflate=null,this._inflate=null,this.params=null,!zh){let g=this._options.concurrencyLimit!==void 0?this._options.concurrencyLimit:10;zh=new aB(g)}}static get extensionName(){return"permessage-deflate"}offer(){let u={};return this._options.serverNoContextTakeover&&(u.server_no_context_takeover=!0),this._options.clientNoContextTakeover&&(u.client_no_context_takeover=!0),this._options.serverMaxWindowBits&&(u.server_max_window_bits=this._options.serverMaxWindowBits),this._options.clientMaxWindowBits?u.client_max_window_bits=this._options.clientMaxWindowBits:this._options.clientMaxWindowBits==null&&(u.client_max_window_bits=!0),u}accept(u){return u=this.normalizeParams(u),this.params=this._isServer?this.acceptAsServer(u):this.acceptAsClient(u),this.params}cleanup(){if(this._inflate&&(this._inflate.close(),this._inflate=null),this._deflate){let u=this._deflate[y2];this._deflate.close(),this._deflate=null,u&&u(new Error("The deflate stream was closed while data was being processed"))}}acceptAsServer(u){let f=this._options,c=u.find(g=>!(f.serverNoContextTakeover===!1&&g.server_no_context_takeover||g.server_max_window_bits&&(f.serverMaxWindowBits===!1||typeof f.serverMaxWindowBits=="number"&&f.serverMaxWindowBits>g.server_max_window_bits)||typeof f.clientMaxWindowBits=="number"&&!g.client_max_window_bits));if(!c)throw new Error("None of the extension offers can be accepted");return f.serverNoContextTakeover&&(c.server_no_context_takeover=!0),f.clientNoContextTakeover&&(c.client_no_context_takeover=!0),typeof f.serverMaxWindowBits=="number"&&(c.server_max_window_bits=f.serverMaxWindowBits),typeof f.clientMaxWindowBits=="number"?c.client_max_window_bits=f.clientMaxWindowBits:(c.client_max_window_bits===!0||f.clientMaxWindowBits===!1)&&delete c.client_max_window_bits,c}acceptAsClient(u){let f=u[0];if(this._options.clientNoContextTakeover===!1&&f.client_no_context_takeover)throw new Error('Unexpected parameter "client_no_context_takeover"');if(!f.client_max_window_bits)typeof this._options.clientMaxWindowBits=="number"&&(f.client_max_window_bits=this._options.clientMaxWindowBits);else if(this._options.clientMaxWindowBits===!1||typeof this._options.clientMaxWindowBits=="number"&&f.client_max_window_bits>this._options.clientMaxWindowBits)throw new Error('Unexpected or invalid parameter "client_max_window_bits"');return f}normalizeParams(u){return u.forEach(f=>{Object.keys(f).forEach(c=>{let g=f[c];if(g.length>1)throw new Error(`Parameter "${c}" must have only a single value`);if(g=g[0],c==="client_max_window_bits"){if(g!==!0){let t=+g;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${c}": ${g}`);g=t}else if(!this._isServer)throw new TypeError(`Invalid value for parameter "${c}": ${g}`)}else if(c==="server_max_window_bits"){let t=+g;if(!Number.isInteger(t)||t<8||t>15)throw new TypeError(`Invalid value for parameter "${c}": ${g}`);g=t}else if(c==="client_no_context_takeover"||c==="server_no_context_takeover"){if(g!==!0)throw new TypeError(`Invalid value for parameter "${c}": ${g}`)}else throw new Error(`Unknown parameter "${c}"`);f[c]=g})}),u}decompress(u,f,c){zh.add(g=>{this._decompress(u,f,(t,C)=>{g(),c(t,C)})})}compress(u,f,c){zh.add(g=>{this._compress(u,f,(t,C)=>{g(),c(t,C)})})}_decompress(u,f,c){let g=this._isServer?"client":"server";if(!this._inflate){let t=`${g}_max_window_bits`,C=typeof this.params[t]!="number"?_2.Z_DEFAULT_WINDOWBITS:this.params[t];this._inflate=_2.createInflateRaw(zn(dt({},this._options.zlibInflateOptions),{windowBits:C})),this._inflate[qh]=this,this._inflate[Xl]=0,this._inflate[jf]=[],this._inflate.on("error",mB),this._inflate.on("data",m6)}this._inflate[y2]=c,this._inflate.write(u),f&&this._inflate.write(pB),this._inflate.flush(()=>{let t=this._inflate[Zy];if(t){this._inflate.close(),this._inflate=null,c(t);return}let C=d6.concat(this._inflate[jf],this._inflate[Xl]);this._inflate._readableState.endEmitted?(this._inflate.close(),this._inflate=null):(this._inflate[Xl]=0,this._inflate[jf]=[],f&&this.params[`${g}_no_context_takeover`]&&this._inflate.reset()),c(null,C)})}_compress(u,f,c){let g=this._isServer?"server":"client";if(!this._deflate){let t=`${g}_max_window_bits`,C=typeof this.params[t]!="number"?_2.Z_DEFAULT_WINDOWBITS:this.params[t];this._deflate=_2.createDeflateRaw(zn(dt({},this._options.zlibDeflateOptions),{windowBits:C})),this._deflate[Xl]=0,this._deflate[jf]=[],this._deflate.on("error",dB),this._deflate.on("data",hB)}this._deflate[y2]=c,this._deflate.write(u),this._deflate.flush(_2.Z_SYNC_FLUSH,()=>{if(!this._deflate)return;let t=d6.concat(this._deflate[jf],this._deflate[Xl]);f&&(t=t.slice(0,t.length-4)),this._deflate[y2]=null,this._deflate[Xl]=0,this._deflate[jf]=[],f&&this.params[`${g}_no_context_takeover`]&&this._deflate.reset(),c(null,t)})}};a6.exports=h6;function hB(i){this[jf].push(i),this[Xl]+=i.length}function m6(i){if(this[Xl]+=i.length,this[qh]._maxPayload<1||this[Xl]<=this[qh]._maxPayload){this[jf].push(i);return}this[Zy]=new RangeError("Max payload size exceeded"),this[Zy][p6]=1009,this.removeListener("data",m6),this.reset()}function mB(i){this[qh]._inflate=null,i[p6]=1007,this[y2](i)}});var t3=Me((Ub,e3)=>{"use strict";function v6(i){return i>=1e3&&i<=1014&&i!==1004&&i!==1005&&i!==1006||i>=3e3&&i<=4999}function g6(i){let u=i.length,f=0;for(;f=u||(i[f+1]&192)!=128||(i[f+2]&192)!=128||i[f]===224&&(i[f+1]&224)==128||i[f]===237&&(i[f+1]&224)==160)return!1;f+=3}else if((i[f]&248)==240){if(f+3>=u||(i[f+1]&192)!=128||(i[f+2]&192)!=128||(i[f+3]&192)!=128||i[f]===240&&(i[f+1]&240)==128||i[f]===244&&i[f+1]>143||i[f]>244)return!1;f+=4}else return!1;return!0}try{let i=require("utf-8-validate");typeof i=="object"&&(i=i.Validation.isValidUTF8),e3.exports={isValidStatusCode:v6,isValidUTF8(u){return u.length<150?g6(u):i(u)}}}catch(i){e3.exports={isValidStatusCode:v6,isValidUTF8:g6}}});var i3=Me((qb,_6)=>{"use strict";var{Writable:vB}=require("stream"),y6=w2(),{BINARY_TYPES:gB,EMPTY_BUFFER:_B,kStatusCode:yB,kWebSocket:wB}=mc(),{concat:n3,toArrayBuffer:DB,unmask:EB}=g2(),{isValidStatusCode:SB,isValidUTF8:w6}=t3(),D2=0,D6=1,E6=2,S6=3,r3=4,CB=5,C6=class extends vB{constructor(u,f,c,g){super();this._binaryType=u||gB[0],this[wB]=void 0,this._extensions=f||{},this._isServer=!!c,this._maxPayload=g|0,this._bufferedBytes=0,this._buffers=[],this._compressed=!1,this._payloadLength=0,this._mask=void 0,this._fragmented=0,this._masked=!1,this._fin=!1,this._opcode=0,this._totalPayloadLength=0,this._messageLength=0,this._fragments=[],this._state=D2,this._loop=!1}_write(u,f,c){if(this._opcode===8&&this._state==D2)return c();this._bufferedBytes+=u.length,this._buffers.push(u),this.startLoop(c)}consume(u){if(this._bufferedBytes-=u,u===this._buffers[0].length)return this._buffers.shift();if(u=c.length?f.set(this._buffers.shift(),g):(f.set(new Uint8Array(c.buffer,c.byteOffset,u),g),this._buffers[0]=c.slice(u)),u-=c.length}while(u>0);return f}startLoop(u){let f;this._loop=!0;do switch(this._state){case D2:f=this.getInfo();break;case D6:f=this.getPayloadLength16();break;case E6:f=this.getPayloadLength64();break;case S6:this.getMask();break;case r3:f=this.getData(u);break;default:this._loop=!1;return}while(this._loop);u(f)}getInfo(){if(this._bufferedBytes<2){this._loop=!1;return}let u=this.consume(2);if((u[0]&48)!=0)return this._loop=!1,ii(RangeError,"RSV2 and RSV3 must be clear",!0,1002);let f=(u[0]&64)==64;if(f&&!this._extensions[y6.extensionName])return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(this._fin=(u[0]&128)==128,this._opcode=u[0]&15,this._payloadLength=u[1]&127,this._opcode===0){if(f)return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(!this._fragmented)return this._loop=!1,ii(RangeError,"invalid opcode 0",!0,1002);this._opcode=this._fragmented}else if(this._opcode===1||this._opcode===2){if(this._fragmented)return this._loop=!1,ii(RangeError,`invalid opcode ${this._opcode}`,!0,1002);this._compressed=f}else if(this._opcode>7&&this._opcode<11){if(!this._fin)return this._loop=!1,ii(RangeError,"FIN must be set",!0,1002);if(f)return this._loop=!1,ii(RangeError,"RSV1 must be clear",!0,1002);if(this._payloadLength>125)return this._loop=!1,ii(RangeError,`invalid payload length ${this._payloadLength}`,!0,1002)}else return this._loop=!1,ii(RangeError,`invalid opcode ${this._opcode}`,!0,1002);if(!this._fin&&!this._fragmented&&(this._fragmented=this._opcode),this._masked=(u[1]&128)==128,this._isServer){if(!this._masked)return this._loop=!1,ii(RangeError,"MASK must be set",!0,1002)}else if(this._masked)return this._loop=!1,ii(RangeError,"MASK must be clear",!0,1002);if(this._payloadLength===126)this._state=D6;else if(this._payloadLength===127)this._state=E6;else return this.haveLength()}getPayloadLength16(){if(this._bufferedBytes<2){this._loop=!1;return}return this._payloadLength=this.consume(2).readUInt16BE(0),this.haveLength()}getPayloadLength64(){if(this._bufferedBytes<8){this._loop=!1;return}let u=this.consume(8),f=u.readUInt32BE(0);return f>Math.pow(2,53-32)-1?(this._loop=!1,ii(RangeError,"Unsupported WebSocket frame: payload length > 2^53 - 1",!1,1009)):(this._payloadLength=f*Math.pow(2,32)+u.readUInt32BE(4),this.haveLength())}haveLength(){if(this._payloadLength&&this._opcode<8&&(this._totalPayloadLength+=this._payloadLength,this._totalPayloadLength>this._maxPayload&&this._maxPayload>0))return this._loop=!1,ii(RangeError,"Max payload size exceeded",!1,1009);this._masked?this._state=S6:this._state=r3}getMask(){if(this._bufferedBytes<4){this._loop=!1;return}this._mask=this.consume(4),this._state=r3}getData(u){let f=_B;if(this._payloadLength){if(this._bufferedBytes7)return this.controlMessage(f);if(this._compressed){this._state=CB,this.decompress(f,u);return}return f.length&&(this._messageLength=this._totalPayloadLength,this._fragments.push(f)),this.dataMessage()}decompress(u,f){this._extensions[y6.extensionName].decompress(u,this._fin,(g,t)=>{if(g)return f(g);if(t.length){if(this._messageLength+=t.length,this._messageLength>this._maxPayload&&this._maxPayload>0)return f(ii(RangeError,"Max payload size exceeded",!1,1009));this._fragments.push(t)}let C=this.dataMessage();if(C)return f(C);this.startLoop(f)})}dataMessage(){if(this._fin){let u=this._messageLength,f=this._fragments;if(this._totalPayloadLength=0,this._messageLength=0,this._fragmented=0,this._fragments=[],this._opcode===2){let c;this._binaryType==="nodebuffer"?c=n3(f,u):this._binaryType==="arraybuffer"?c=DB(n3(f,u)):c=f,this.emit("message",c)}else{let c=n3(f,u);if(!w6(c))return this._loop=!1,ii(Error,"invalid UTF-8 sequence",!0,1007);this.emit("message",c.toString())}}this._state=D2}controlMessage(u){if(this._opcode===8)if(this._loop=!1,u.length===0)this.emit("conclude",1005,""),this.end();else{if(u.length===1)return ii(RangeError,"invalid payload length 1",!0,1002);{let f=u.readUInt16BE(0);if(!SB(f))return ii(RangeError,`invalid status code ${f}`,!0,1002);let c=u.slice(2);if(!w6(c))return ii(Error,"invalid UTF-8 sequence",!0,1007);this.emit("conclude",f,c.toString()),this.end()}}else this._opcode===9?this.emit("ping",u):this.emit("pong",u);this._state=D2}};_6.exports=C6;function ii(i,u,f,c){let g=new i(f?`Invalid WebSocket frame: ${u}`:u);return Error.captureStackTrace(g,ii),g[yB]=c,g}});var o3=Me((zb,T6)=>{"use strict";var{randomFillSync:TB}=require("crypto"),x6=w2(),{EMPTY_BUFFER:xB}=mc(),{isValidStatusCode:kB}=t3(),{mask:k6,toBuffer:Jl}=g2(),vc=Buffer.alloc(4),Ql=class{constructor(u,f){this._extensions=f||{},this._socket=u,this._firstFragment=!0,this._compress=!1,this._bufferedBytes=0,this._deflating=!1,this._queue=[]}static frame(u,f){let c=f.mask&&f.readOnly,g=f.mask?6:2,t=u.length;u.length>=65536?(g+=8,t=127):u.length>125&&(g+=2,t=126);let C=Buffer.allocUnsafe(c?u.length+g:g);return C[0]=f.fin?f.opcode|128:f.opcode,f.rsv1&&(C[0]|=64),C[1]=t,t===126?C.writeUInt16BE(u.length,2):t===127&&(C.writeUInt32BE(0,2),C.writeUInt32BE(u.length,6)),f.mask?(TB(vc,0,4),C[1]|=128,C[g-4]=vc[0],C[g-3]=vc[1],C[g-2]=vc[2],C[g-1]=vc[3],c?(k6(u,vc,C,g,u.length),[C]):(k6(u,vc,u,0,u.length),[C,u])):[C,u]}close(u,f,c,g){let t;if(u===void 0)t=xB;else{if(typeof u!="number"||!kB(u))throw new TypeError("First argument must be a valid error code number");if(f===void 0||f==="")t=Buffer.allocUnsafe(2),t.writeUInt16BE(u,0);else{let C=Buffer.byteLength(f);if(C>123)throw new RangeError("The message must not be greater than 123 bytes");t=Buffer.allocUnsafe(2+C),t.writeUInt16BE(u,0),t.write(f,2)}}this._deflating?this.enqueue([this.doClose,t,c,g]):this.doClose(t,c,g)}doClose(u,f,c){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:8,mask:f,readOnly:!1}),c)}ping(u,f,c){let g=Jl(u);if(g.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPing,g,f,Jl.readOnly,c]):this.doPing(g,f,Jl.readOnly,c)}doPing(u,f,c,g){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:9,mask:f,readOnly:c}),g)}pong(u,f,c){let g=Jl(u);if(g.length>125)throw new RangeError("The data size must not be greater than 125 bytes");this._deflating?this.enqueue([this.doPong,g,f,Jl.readOnly,c]):this.doPong(g,f,Jl.readOnly,c)}doPong(u,f,c,g){this.sendFrame(Ql.frame(u,{fin:!0,rsv1:!1,opcode:10,mask:f,readOnly:c}),g)}send(u,f,c){let g=Jl(u),t=this._extensions[x6.extensionName],C=f.binary?2:1,A=f.compress;if(this._firstFragment?(this._firstFragment=!1,A&&t&&(A=g.length>=t._threshold),this._compress=A):(A=!1,C=0),f.fin&&(this._firstFragment=!0),t){let x={fin:f.fin,rsv1:A,opcode:C,mask:f.mask,readOnly:Jl.readOnly};this._deflating?this.enqueue([this.dispatch,g,this._compress,x,c]):this.dispatch(g,this._compress,x,c)}else this.sendFrame(Ql.frame(g,{fin:f.fin,rsv1:!1,opcode:C,mask:f.mask,readOnly:Jl.readOnly}),c)}dispatch(u,f,c,g){if(!f){this.sendFrame(Ql.frame(u,c),g);return}let t=this._extensions[x6.extensionName];this._bufferedBytes+=u.length,this._deflating=!0,t.compress(u,c.fin,(C,A)=>{if(this._socket.destroyed){let x=new Error("The socket was closed while data was being compressed");typeof g=="function"&&g(x);for(let D=0;D{"use strict";var E2=class{constructor(u,f){this.target=f,this.type=u}},O6=class extends E2{constructor(u,f){super("message",f);this.data=u}},I6=class extends E2{constructor(u,f,c){super("close",c);this.wasClean=c._closeFrameReceived&&c._closeFrameSent,this.reason=f,this.code=u}},P6=class extends E2{constructor(u){super("open",u)}},M6=class extends E2{constructor(u,f){super("error",f);this.message=u.message,this.error=u}},AB={addEventListener(i,u,f){if(typeof u!="function")return;function c(x){u.call(this,new O6(x,this))}function g(x,D){u.call(this,new I6(x,D,this))}function t(x){u.call(this,new M6(x,this))}function C(){u.call(this,new P6(this))}let A=f&&f.once?"once":"on";i==="message"?(c._listener=u,this[A](i,c)):i==="close"?(g._listener=u,this[A](i,g)):i==="error"?(t._listener=u,this[A](i,t)):i==="open"?(C._listener=u,this[A](i,C)):this[A](i,u)},removeEventListener(i,u){let f=this.listeners(i);for(let c=0;c{"use strict";var S2=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0];function rl(i,u,f){i[u]===void 0?i[u]=[f]:i[u].push(f)}function OB(i){let u=Object.create(null);if(i===void 0||i==="")return u;let f=Object.create(null),c=!1,g=!1,t=!1,C,A,x=-1,D=-1,L=0;for(;L{let f=i[u];return Array.isArray(f)||(f=[f]),f.map(c=>[u].concat(Object.keys(c).map(g=>{let t=c[g];return Array.isArray(t)||(t=[t]),t.map(C=>C===!0?g:`${g}=${C}`).join("; ")})).join("; ")).join(", ")}).join(", ")}L6.exports={format:IB,parse:OB}});var a3=Me((bb,R6)=>{"use strict";var PB=require("events"),MB=require("https"),FB=require("http"),N6=require("net"),LB=require("tls"),{randomBytes:RB,createHash:NB}=require("crypto"),{URL:s3}=require("url"),Uf=w2(),BB=i3(),jB=o3(),{BINARY_TYPES:B6,EMPTY_BUFFER:l3,GUID:UB,kStatusCode:qB,kWebSocket:No,NOOP:j6}=mc(),{addEventListener:zB,removeEventListener:WB}=F6(),{format:HB,parse:bB}=u3(),{toBuffer:GB}=g2(),U6=["CONNECTING","OPEN","CLOSING","CLOSED"],f3=[8,13],VB=30*1e3,mr=class extends PB{constructor(u,f,c){super();this._binaryType=B6[0],this._closeCode=1006,this._closeFrameReceived=!1,this._closeFrameSent=!1,this._closeMessage="",this._closeTimer=null,this._extensions={},this._protocol="",this._readyState=mr.CONNECTING,this._receiver=null,this._sender=null,this._socket=null,u!==null?(this._bufferedAmount=0,this._isServer=!1,this._redirects=0,Array.isArray(f)?f=f.join(", "):typeof f=="object"&&f!==null&&(c=f,f=void 0),q6(this,u,f,c)):this._isServer=!0}get binaryType(){return this._binaryType}set binaryType(u){!B6.includes(u)||(this._binaryType=u,this._receiver&&(this._receiver._binaryType=u))}get bufferedAmount(){return this._socket?this._socket._writableState.length+this._sender._bufferedBytes:this._bufferedAmount}get extensions(){return Object.keys(this._extensions).join()}get protocol(){return this._protocol}get readyState(){return this._readyState}get url(){return this._url}setSocket(u,f,c){let g=new BB(this.binaryType,this._extensions,this._isServer,c);this._sender=new jB(u,this._extensions),this._receiver=g,this._socket=u,g[No]=this,u[No]=this,g.on("conclude",YB),g.on("drain",$B),g.on("error",KB),g.on("message",XB),g.on("ping",JB),g.on("pong",QB),u.setTimeout(0),u.setNoDelay(),f.length>0&&u.unshift(f),u.on("close",z6),u.on("data",Wh),u.on("end",W6),u.on("error",H6),this._readyState=mr.OPEN,this.emit("open")}emitClose(){if(!this._socket){this._readyState=mr.CLOSED,this.emit("close",this._closeCode,this._closeMessage);return}this._extensions[Uf.extensionName]&&this._extensions[Uf.extensionName].cleanup(),this._receiver.removeAllListeners(),this._readyState=mr.CLOSED,this.emit("close",this._closeCode,this._closeMessage)}close(u,f){if(this.readyState!==mr.CLOSED){if(this.readyState===mr.CONNECTING){let c="WebSocket was closed before the connection was established";return Zl(this,this._req,c)}if(this.readyState===mr.CLOSING){this._closeFrameSent&&this._closeFrameReceived&&this._socket.end();return}this._readyState=mr.CLOSING,this._sender.close(u,f,!this._isServer,c=>{c||(this._closeFrameSent=!0,this._closeFrameReceived&&this._socket.end())}),this._closeTimer=setTimeout(this._socket.destroy.bind(this._socket),VB)}}ping(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof u=="function"?(c=u,u=f=void 0):typeof f=="function"&&(c=f,f=void 0),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}f===void 0&&(f=!this._isServer),this._sender.ping(u||l3,f,c)}pong(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof u=="function"?(c=u,u=f=void 0):typeof f=="function"&&(c=f,f=void 0),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}f===void 0&&(f=!this._isServer),this._sender.pong(u||l3,f,c)}send(u,f,c){if(this.readyState===mr.CONNECTING)throw new Error("WebSocket is not open: readyState 0 (CONNECTING)");if(typeof f=="function"&&(c=f,f={}),typeof u=="number"&&(u=u.toString()),this.readyState!==mr.OPEN){c3(this,u,c);return}let g=dt({binary:typeof u!="string",mask:!this._isServer,compress:!0,fin:!0},f);this._extensions[Uf.extensionName]||(g.compress=!1),this._sender.send(u||l3,g,c)}terminate(){if(this.readyState!==mr.CLOSED){if(this.readyState===mr.CONNECTING){let u="WebSocket was closed before the connection was established";return Zl(this,this._req,u)}this._socket&&(this._readyState=mr.CLOSING,this._socket.destroy())}}};U6.forEach((i,u)=>{let f={enumerable:!0,value:u};Object.defineProperty(mr.prototype,i,f),Object.defineProperty(mr,i,f)});["binaryType","bufferedAmount","extensions","protocol","readyState","url"].forEach(i=>{Object.defineProperty(mr.prototype,i,{enumerable:!0})});["open","error","close","message"].forEach(i=>{Object.defineProperty(mr.prototype,`on${i}`,{configurable:!0,enumerable:!0,get(){let u=this.listeners(i);for(let f=0;f{Zl(i,j,"Opening handshake has timed out")}),j.on("error",$=>{j===null||j.aborted||(j=i._req=null,i._readyState=mr.CLOSING,i.emit("error",$),i.emitClose())}),j.on("response",$=>{let h=$.headers.location,re=$.statusCode;if(h&&g.followRedirects&&re>=300&&re<400){if(++i._redirects>g.maxRedirects){Zl(i,j,"Maximum redirects exceeded");return}j.abort();let ce=new s3(h,u);q6(i,ce,f,c)}else i.emit("unexpected-response",j,$)||Zl(i,j,`Unexpected server response: ${$.statusCode}`)}),j.on("upgrade",($,h,re)=>{if(i.emit("upgrade",$),i.readyState!==mr.CONNECTING)return;j=i._req=null;let ce=NB("sha1").update(D+UB).digest("base64");if($.headers["sec-websocket-accept"]!==ce){Zl(i,h,"Invalid Sec-WebSocket-Accept header");return}let Q=$.headers["sec-websocket-protocol"],oe=(f||"").split(/, */),Se;if(!f&&Q?Se="Server sent a subprotocol but none was requested":f&&!Q?Se="Server sent no subprotocol":Q&&!oe.includes(Q)&&(Se="Server sent an invalid subprotocol"),Se){Zl(i,h,Se);return}if(Q&&(i._protocol=Q),N)try{let me=bB($.headers["sec-websocket-extensions"]);me[Uf.extensionName]&&(N.accept(me[Uf.extensionName]),i._extensions[Uf.extensionName]=N)}catch(me){Zl(i,h,"Invalid Sec-WebSocket-Extensions header");return}i.setSocket(h,re,g.maxPayload)})}function ZB(i){return i.path=i.socketPath,N6.connect(i)}function ej(i){return i.path=void 0,!i.servername&&i.servername!==""&&(i.servername=N6.isIP(i.host)?"":i.host),LB.connect(i)}function Zl(i,u,f){i._readyState=mr.CLOSING;let c=new Error(f);Error.captureStackTrace(c,Zl),u.setHeader?(u.abort(),u.socket&&!u.socket.destroyed&&u.socket.destroy(),u.once("abort",i.emitClose.bind(i)),i.emit("error",c)):(u.destroy(c),u.once("error",i.emit.bind(i,"error")),u.once("close",i.emitClose.bind(i)))}function c3(i,u,f){if(u){let c=GB(u).length;i._socket?i._sender._bufferedBytes+=c:i._bufferedAmount+=c}if(f){let c=new Error(`WebSocket is not open: readyState ${i.readyState} (${U6[i.readyState]})`);f(c)}}function YB(i,u){let f=this[No];f._socket.removeListener("data",Wh),f._socket.resume(),f._closeFrameReceived=!0,f._closeMessage=u,f._closeCode=i,i===1005?f.close():f.close(i,u)}function $B(){this[No]._socket.resume()}function KB(i){let u=this[No];u._socket.removeListener("data",Wh),u._readyState=mr.CLOSING,u._closeCode=i[qB],u.emit("error",i),u._socket.destroy()}function b6(){this[No].emitClose()}function XB(i){this[No].emit("message",i)}function JB(i){let u=this[No];u.pong(i,!u._isServer,j6),u.emit("ping",i)}function QB(i){this[No].emit("pong",i)}function z6(){let i=this[No];this.removeListener("close",z6),this.removeListener("end",W6),i._readyState=mr.CLOSING,i._socket.read(),i._receiver.end(),this.removeListener("data",Wh),this[No]=void 0,clearTimeout(i._closeTimer),i._receiver._writableState.finished||i._receiver._writableState.errorEmitted?i.emitClose():(i._receiver.on("error",b6),i._receiver.on("finish",b6))}function Wh(i){this[No]._receiver.write(i)||this.pause()}function W6(){let i=this[No];i._readyState=mr.CLOSING,i._receiver.end(),this.end()}function H6(){let i=this[No];this.removeListener("error",H6),this.on("error",j6),i&&(i._readyState=mr.CLOSING,this.destroy())}});var $6=Me((Gb,G6)=>{"use strict";var{Duplex:tj}=require("stream");function V6(i){i.emit("close")}function nj(){!this.destroyed&&this._writableState.finished&&this.destroy()}function Y6(i){this.removeListener("error",Y6),this.destroy(),this.listenerCount("error")===0&&this.emit("error",i)}function rj(i,u){let f=!0;function c(){f&&i._socket.resume()}i.readyState===i.CONNECTING?i.once("open",function(){i._receiver.removeAllListeners("drain"),i._receiver.on("drain",c)}):(i._receiver.removeAllListeners("drain"),i._receiver.on("drain",c));let g=new tj(zn(dt({},u),{autoDestroy:!1,emitClose:!1,objectMode:!1,writableObjectMode:!1}));return i.on("message",function(C){g.push(C)||(f=!1,i._socket.pause())}),i.once("error",function(C){g.destroyed||g.destroy(C)}),i.once("close",function(){g.destroyed||g.push(null)}),g._destroy=function(t,C){if(i.readyState===i.CLOSED){C(t),process.nextTick(V6,g);return}let A=!1;i.once("error",function(D){A=!0,C(D)}),i.once("close",function(){A||C(t),process.nextTick(V6,g)}),i.terminate()},g._final=function(t){if(i.readyState===i.CONNECTING){i.once("open",function(){g._final(t)});return}i._socket!==null&&(i._socket._writableState.finished?(t(),g._readableState.endEmitted&&g.destroy()):(i._socket.once("finish",function(){t()}),i.close()))},g._read=function(){i.readyState===i.OPEN&&!f&&(f=!0,i._receiver._writableState.needDrain||i._socket.resume())},g._write=function(t,C,A){if(i.readyState===i.CONNECTING){i.once("open",function(){g._write(t,C,A)});return}i.send(t,A)},g.on("end",nj),g.on("error",Y6),g}G6.exports=rj});var J6=Me((Vb,K6)=>{"use strict";var ij=require("events"),{createHash:oj}=require("crypto"),{createServer:uj,STATUS_CODES:d3}=require("http"),gc=w2(),sj=a3(),{format:lj,parse:fj}=u3(),{GUID:cj,kWebSocket:aj}=mc(),dj=/^[+/0-9A-Za-z]{22}==$/,X6=class extends ij{constructor(u,f){super();if(u=dt({maxPayload:100*1024*1024,perMessageDeflate:!1,handleProtocols:null,clientTracking:!0,verifyClient:null,noServer:!1,backlog:null,server:null,host:null,path:null,port:null},u),u.port==null&&!u.server&&!u.noServer)throw new TypeError('One of the "port", "server", or "noServer" options must be specified');if(u.port!=null?(this._server=uj((c,g)=>{let t=d3[426];g.writeHead(426,{"Content-Length":t.length,"Content-Type":"text/plain"}),g.end(t)}),this._server.listen(u.port,u.host,u.backlog,f)):u.server&&(this._server=u.server),this._server){let c=this.emit.bind(this,"connection");this._removeListeners=pj(this._server,{listening:this.emit.bind(this,"listening"),error:this.emit.bind(this,"error"),upgrade:(g,t,C)=>{this.handleUpgrade(g,t,C,c)}})}u.perMessageDeflate===!0&&(u.perMessageDeflate={}),u.clientTracking&&(this.clients=new Set),this.options=u}address(){if(this.options.noServer)throw new Error('The server is operating in "noServer" mode');return this._server?this._server.address():null}close(u){if(u&&this.once("close",u),this.clients)for(let c of this.clients)c.terminate();let f=this._server;if(f&&(this._removeListeners(),this._removeListeners=this._server=null,this.options.port!=null)){f.close(()=>this.emit("close"));return}process.nextTick(hj,this)}shouldHandle(u){if(this.options.path){let f=u.url.indexOf("?");if((f!==-1?u.url.slice(0,f):u.url)!==this.options.path)return!1}return!0}handleUpgrade(u,f,c,g){f.on("error",p3);let t=u.headers["sec-websocket-key"]!==void 0?u.headers["sec-websocket-key"].trim():!1,C=+u.headers["sec-websocket-version"],A={};if(u.method!=="GET"||u.headers.upgrade.toLowerCase()!=="websocket"||!t||!dj.test(t)||C!==8&&C!==13||!this.shouldHandle(u))return Hh(f,400);if(this.options.perMessageDeflate){let x=new gc(this.options.perMessageDeflate,!0,this.options.maxPayload);try{let D=fj(u.headers["sec-websocket-extensions"]);D[gc.extensionName]&&(x.accept(D[gc.extensionName]),A[gc.extensionName]=x)}catch(D){return Hh(f,400)}}if(this.options.verifyClient){let x={origin:u.headers[`${C===8?"sec-websocket-origin":"origin"}`],secure:!!(u.socket.authorized||u.socket.encrypted),req:u};if(this.options.verifyClient.length===2){this.options.verifyClient(x,(D,L,N,j)=>{if(!D)return Hh(f,L||401,N,j);this.completeUpgrade(t,A,u,f,c,g)});return}if(!this.options.verifyClient(x))return Hh(f,401)}this.completeUpgrade(t,A,u,f,c,g)}completeUpgrade(u,f,c,g,t,C){if(!g.readable||!g.writable)return g.destroy();if(g[aj])throw new Error("server.handleUpgrade() was called more than once with the same socket, possibly due to a misconfiguration");let A=oj("sha1").update(u+cj).digest("base64"),x=["HTTP/1.1 101 Switching Protocols","Upgrade: websocket","Connection: Upgrade",`Sec-WebSocket-Accept: ${A}`],D=new sj(null),L=c.headers["sec-websocket-protocol"];if(L&&(L=L.split(",").map(mj),this.options.handleProtocols?L=this.options.handleProtocols(L,c):L=L[0],L&&(x.push(`Sec-WebSocket-Protocol: ${L}`),D._protocol=L)),f[gc.extensionName]){let N=f[gc.extensionName].params,j=lj({[gc.extensionName]:[N]});x.push(`Sec-WebSocket-Extensions: ${j}`),D._extensions=f}this.emit("headers",x,c),g.write(x.concat(`\r -`).join(`\r -`)),g.removeListener("error",p3),D.setSocket(g,t,this.options.maxPayload),this.clients&&(this.clients.add(D),D.on("close",()=>this.clients.delete(D))),C(D,c)}};K6.exports=X6;function pj(i,u){for(let f of Object.keys(u))i.on(f,u[f]);return function(){for(let c of Object.keys(u))i.removeListener(c,u[c])}}function hj(i){i.emit("close")}function p3(){this.destroy()}function Hh(i,u,f,c){i.writable&&(f=f||d3[u],c=dt({Connection:"close","Content-Type":"text/html","Content-Length":Buffer.byteLength(f)},c),i.write(`HTTP/1.1 ${u} ${d3[u]}\r -`+Object.keys(c).map(g=>`${g}: ${c[g]}`).join(`\r -`)+`\r -\r -`+f)),i.removeListener("error",p3),i.destroy()}function mj(i){return i.trim()}});var Z6=Me((Yb,Q6)=>{"use strict";var C2=a3();C2.createWebSocketStream=$6();C2.Server=J6();C2.Receiver=i3();C2.Sender=o3();Q6.exports=C2});var eS=Me(bh=>{"use strict";var vj=bh&&bh.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(bh,"__esModule",{value:!0});var gj=vj(Z6()),T2=global;T2.WebSocket||(T2.WebSocket=gj.default);T2.window||(T2.window=global);T2.window.__REACT_DEVTOOLS_COMPONENT_FILTERS__=[{type:1,value:7,isEnabled:!0},{type:2,value:"InternalApp",isEnabled:!0,isValid:!0},{type:2,value:"InternalAppContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdoutContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStderrContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalStdinContext",isEnabled:!0,isValid:!0},{type:2,value:"InternalFocusContext",isEnabled:!0,isValid:!0}]});var tS=Me((Gh,h3)=>{(function(i,u){typeof Gh=="object"&&typeof h3=="object"?h3.exports=u():typeof define=="function"&&define.amd?define([],u):typeof Gh=="object"?Gh.ReactDevToolsBackend=u():i.ReactDevToolsBackend=u()})(window,function(){return function(i){var u={};function f(c){if(u[c])return u[c].exports;var g=u[c]={i:c,l:!1,exports:{}};return i[c].call(g.exports,g,g.exports,f),g.l=!0,g.exports}return f.m=i,f.c=u,f.d=function(c,g,t){f.o(c,g)||Object.defineProperty(c,g,{enumerable:!0,get:t})},f.r=function(c){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(c,"__esModule",{value:!0})},f.t=function(c,g){if(1&g&&(c=f(c)),8&g||4&g&&typeof c=="object"&&c&&c.__esModule)return c;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:c}),2&g&&typeof c!="string")for(var C in c)f.d(t,C,function(A){return c[A]}.bind(null,C));return t},f.n=function(c){var g=c&&c.__esModule?function(){return c.default}:function(){return c};return f.d(g,"a",g),g},f.o=function(c,g){return Object.prototype.hasOwnProperty.call(c,g)},f.p="",f(f.s=20)}([function(i,u,f){"use strict";i.exports=f(12)},function(i,u,f){"use strict";var c=Object.getOwnPropertySymbols,g=Object.prototype.hasOwnProperty,t=Object.prototype.propertyIsEnumerable;function C(A){if(A==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(A)}i.exports=function(){try{if(!Object.assign)return!1;var A=new String("abc");if(A[5]="de",Object.getOwnPropertyNames(A)[0]==="5")return!1;for(var x={},D=0;D<10;D++)x["_"+String.fromCharCode(D)]=D;if(Object.getOwnPropertyNames(x).map(function(N){return x[N]}).join("")!=="0123456789")return!1;var L={};return"abcdefghijklmnopqrst".split("").forEach(function(N){L[N]=N}),Object.keys(Object.assign({},L)).join("")==="abcdefghijklmnopqrst"}catch(N){return!1}}()?Object.assign:function(A,x){for(var D,L,N=C(A),j=1;j=J||Ft<0||Nt&&it-At>=ot}function Z(){var it=ce();if(ge(it))return Ae(it);Ue=setTimeout(Z,function(Ft){var jt=J-(Ft-be);return Nt?re(jt,ot-(Ft-At)):jt}(it))}function Ae(it){return Ue=void 0,Je&&Oe?V(it):(Oe=Le=void 0,ct)}function at(){var it=ce(),Ft=ge(it);if(Oe=arguments,Le=this,be=it,Ft){if(Ue===void 0)return ne(be);if(Nt)return Ue=setTimeout(Z,J),V(be)}return Ue===void 0&&(Ue=setTimeout(Z,J)),ct}return J=me(J)||0,oe(Te)&&(Ot=!!Te.leading,ot=(Nt="maxWait"in Te)?h(me(Te.maxWait)||0,J):ot,Je="trailing"in Te?!!Te.trailing:Je),at.cancel=function(){Ue!==void 0&&clearTimeout(Ue),At=0,Oe=be=Le=Ue=void 0},at.flush=function(){return Ue===void 0?ct:Ae(ce())},at}function oe(De){var J=g(De);return!!De&&(J=="object"||J=="function")}function Se(De){return g(De)=="symbol"||function(J){return!!J&&g(J)=="object"}(De)&&$.call(De)=="[object Symbol]"}function me(De){if(typeof De=="number")return De;if(Se(De))return NaN;if(oe(De)){var J=typeof De.valueOf=="function"?De.valueOf():De;De=oe(J)?J+"":J}if(typeof De!="string")return De===0?De:+De;De=De.replace(t,"");var Te=A.test(De);return Te||x.test(De)?D(De.slice(2),Te?2:8):C.test(De)?NaN:+De}i.exports=function(De,J,Te){var Oe=!0,Le=!0;if(typeof De!="function")throw new TypeError("Expected a function");return oe(Te)&&(Oe="leading"in Te?!!Te.leading:Oe,Le="trailing"in Te?!!Te.trailing:Le),Q(De,J,{leading:Oe,maxWait:J,trailing:Le})}}).call(this,f(4))},function(i,u,f){(function(c){function g(V){return(g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(ne){return typeof ne}:function(ne){return ne&&typeof Symbol=="function"&&ne.constructor===Symbol&&ne!==Symbol.prototype?"symbol":typeof ne})(V)}var t;u=i.exports=h,t=(c===void 0?"undefined":g(c))==="object"&&c.env&&c.env.NODE_DEBUG&&/\bsemver\b/i.test(c.env.NODE_DEBUG)?function(){var V=Array.prototype.slice.call(arguments,0);V.unshift("SEMVER"),console.log.apply(console,V)}:function(){},u.SEMVER_SPEC_VERSION="2.0.0";var C=Number.MAX_SAFE_INTEGER||9007199254740991,A=u.re=[],x=u.src=[],D=u.tokens={},L=0;function N(V){D[V]=L++}N("NUMERICIDENTIFIER"),x[D.NUMERICIDENTIFIER]="0|[1-9]\\d*",N("NUMERICIDENTIFIERLOOSE"),x[D.NUMERICIDENTIFIERLOOSE]="[0-9]+",N("NONNUMERICIDENTIFIER"),x[D.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",N("MAINVERSION"),x[D.MAINVERSION]="("+x[D.NUMERICIDENTIFIER]+")\\.("+x[D.NUMERICIDENTIFIER]+")\\.("+x[D.NUMERICIDENTIFIER]+")",N("MAINVERSIONLOOSE"),x[D.MAINVERSIONLOOSE]="("+x[D.NUMERICIDENTIFIERLOOSE]+")\\.("+x[D.NUMERICIDENTIFIERLOOSE]+")\\.("+x[D.NUMERICIDENTIFIERLOOSE]+")",N("PRERELEASEIDENTIFIER"),x[D.PRERELEASEIDENTIFIER]="(?:"+x[D.NUMERICIDENTIFIER]+"|"+x[D.NONNUMERICIDENTIFIER]+")",N("PRERELEASEIDENTIFIERLOOSE"),x[D.PRERELEASEIDENTIFIERLOOSE]="(?:"+x[D.NUMERICIDENTIFIERLOOSE]+"|"+x[D.NONNUMERICIDENTIFIER]+")",N("PRERELEASE"),x[D.PRERELEASE]="(?:-("+x[D.PRERELEASEIDENTIFIER]+"(?:\\."+x[D.PRERELEASEIDENTIFIER]+")*))",N("PRERELEASELOOSE"),x[D.PRERELEASELOOSE]="(?:-?("+x[D.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+x[D.PRERELEASEIDENTIFIERLOOSE]+")*))",N("BUILDIDENTIFIER"),x[D.BUILDIDENTIFIER]="[0-9A-Za-z-]+",N("BUILD"),x[D.BUILD]="(?:\\+("+x[D.BUILDIDENTIFIER]+"(?:\\."+x[D.BUILDIDENTIFIER]+")*))",N("FULL"),N("FULLPLAIN"),x[D.FULLPLAIN]="v?"+x[D.MAINVERSION]+x[D.PRERELEASE]+"?"+x[D.BUILD]+"?",x[D.FULL]="^"+x[D.FULLPLAIN]+"$",N("LOOSEPLAIN"),x[D.LOOSEPLAIN]="[v=\\s]*"+x[D.MAINVERSIONLOOSE]+x[D.PRERELEASELOOSE]+"?"+x[D.BUILD]+"?",N("LOOSE"),x[D.LOOSE]="^"+x[D.LOOSEPLAIN]+"$",N("GTLT"),x[D.GTLT]="((?:<|>)?=?)",N("XRANGEIDENTIFIERLOOSE"),x[D.XRANGEIDENTIFIERLOOSE]=x[D.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",N("XRANGEIDENTIFIER"),x[D.XRANGEIDENTIFIER]=x[D.NUMERICIDENTIFIER]+"|x|X|\\*",N("XRANGEPLAIN"),x[D.XRANGEPLAIN]="[v=\\s]*("+x[D.XRANGEIDENTIFIER]+")(?:\\.("+x[D.XRANGEIDENTIFIER]+")(?:\\.("+x[D.XRANGEIDENTIFIER]+")(?:"+x[D.PRERELEASE]+")?"+x[D.BUILD]+"?)?)?",N("XRANGEPLAINLOOSE"),x[D.XRANGEPLAINLOOSE]="[v=\\s]*("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+x[D.XRANGEIDENTIFIERLOOSE]+")(?:"+x[D.PRERELEASELOOSE]+")?"+x[D.BUILD]+"?)?)?",N("XRANGE"),x[D.XRANGE]="^"+x[D.GTLT]+"\\s*"+x[D.XRANGEPLAIN]+"$",N("XRANGELOOSE"),x[D.XRANGELOOSE]="^"+x[D.GTLT]+"\\s*"+x[D.XRANGEPLAINLOOSE]+"$",N("COERCE"),x[D.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",N("COERCERTL"),A[D.COERCERTL]=new RegExp(x[D.COERCE],"g"),N("LONETILDE"),x[D.LONETILDE]="(?:~>?)",N("TILDETRIM"),x[D.TILDETRIM]="(\\s*)"+x[D.LONETILDE]+"\\s+",A[D.TILDETRIM]=new RegExp(x[D.TILDETRIM],"g"),N("TILDE"),x[D.TILDE]="^"+x[D.LONETILDE]+x[D.XRANGEPLAIN]+"$",N("TILDELOOSE"),x[D.TILDELOOSE]="^"+x[D.LONETILDE]+x[D.XRANGEPLAINLOOSE]+"$",N("LONECARET"),x[D.LONECARET]="(?:\\^)",N("CARETTRIM"),x[D.CARETTRIM]="(\\s*)"+x[D.LONECARET]+"\\s+",A[D.CARETTRIM]=new RegExp(x[D.CARETTRIM],"g"),N("CARET"),x[D.CARET]="^"+x[D.LONECARET]+x[D.XRANGEPLAIN]+"$",N("CARETLOOSE"),x[D.CARETLOOSE]="^"+x[D.LONECARET]+x[D.XRANGEPLAINLOOSE]+"$",N("COMPARATORLOOSE"),x[D.COMPARATORLOOSE]="^"+x[D.GTLT]+"\\s*("+x[D.LOOSEPLAIN]+")$|^$",N("COMPARATOR"),x[D.COMPARATOR]="^"+x[D.GTLT]+"\\s*("+x[D.FULLPLAIN]+")$|^$",N("COMPARATORTRIM"),x[D.COMPARATORTRIM]="(\\s*)"+x[D.GTLT]+"\\s*("+x[D.LOOSEPLAIN]+"|"+x[D.XRANGEPLAIN]+")",A[D.COMPARATORTRIM]=new RegExp(x[D.COMPARATORTRIM],"g"),N("HYPHENRANGE"),x[D.HYPHENRANGE]="^\\s*("+x[D.XRANGEPLAIN]+")\\s+-\\s+("+x[D.XRANGEPLAIN]+")\\s*$",N("HYPHENRANGELOOSE"),x[D.HYPHENRANGELOOSE]="^\\s*("+x[D.XRANGEPLAINLOOSE]+")\\s+-\\s+("+x[D.XRANGEPLAINLOOSE]+")\\s*$",N("STAR"),x[D.STAR]="(<|>)?=?\\s*\\*";for(var j=0;j256||!(ne.loose?A[D.LOOSE]:A[D.FULL]).test(V))return null;try{return new h(V,ne)}catch(ge){return null}}function h(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof h){if(V.loose===ne.loose)return V;V=V.version}else if(typeof V!="string")throw new TypeError("Invalid Version: "+V);if(V.length>256)throw new TypeError("version is longer than 256 characters");if(!(this instanceof h))return new h(V,ne);t("SemVer",V,ne),this.options=ne,this.loose=!!ne.loose;var ge=V.trim().match(ne.loose?A[D.LOOSE]:A[D.FULL]);if(!ge)throw new TypeError("Invalid Version: "+V);if(this.raw=V,this.major=+ge[1],this.minor=+ge[2],this.patch=+ge[3],this.major>C||this.major<0)throw new TypeError("Invalid major version");if(this.minor>C||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>C||this.patch<0)throw new TypeError("Invalid patch version");ge[4]?this.prerelease=ge[4].split(".").map(function(Z){if(/^[0-9]+$/.test(Z)){var Ae=+Z;if(Ae>=0&&Ae=0;)typeof this.prerelease[ge]=="number"&&(this.prerelease[ge]++,ge=-2);ge===-1&&this.prerelease.push(0)}ne&&(this.prerelease[0]===ne?isNaN(this.prerelease[1])&&(this.prerelease=[ne,0]):this.prerelease=[ne,0]);break;default:throw new Error("invalid increment argument: "+V)}return this.format(),this.raw=this.version,this},u.inc=function(V,ne,ge,Z){typeof ge=="string"&&(Z=ge,ge=void 0);try{return new h(V,ge).inc(ne,Z).version}catch(Ae){return null}},u.diff=function(V,ne){if(me(V,ne))return null;var ge=$(V),Z=$(ne),Ae="";if(ge.prerelease.length||Z.prerelease.length){Ae="pre";var at="prerelease"}for(var it in ge)if((it==="major"||it==="minor"||it==="patch")&&ge[it]!==Z[it])return Ae+it;return at},u.compareIdentifiers=ce;var re=/^[0-9]+$/;function ce(V,ne){var ge=re.test(V),Z=re.test(ne);return ge&&Z&&(V=+V,ne=+ne),V===ne?0:ge&&!Z?-1:Z&&!ge?1:V0}function Se(V,ne,ge){return Q(V,ne,ge)<0}function me(V,ne,ge){return Q(V,ne,ge)===0}function De(V,ne,ge){return Q(V,ne,ge)!==0}function J(V,ne,ge){return Q(V,ne,ge)>=0}function Te(V,ne,ge){return Q(V,ne,ge)<=0}function Oe(V,ne,ge,Z){switch(ne){case"===":return g(V)==="object"&&(V=V.version),g(ge)==="object"&&(ge=ge.version),V===ge;case"!==":return g(V)==="object"&&(V=V.version),g(ge)==="object"&&(ge=ge.version),V!==ge;case"":case"=":case"==":return me(V,ge,Z);case"!=":return De(V,ge,Z);case">":return oe(V,ge,Z);case">=":return J(V,ge,Z);case"<":return Se(V,ge,Z);case"<=":return Te(V,ge,Z);default:throw new TypeError("Invalid operator: "+ne)}}function Le(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof Le){if(V.loose===!!ne.loose)return V;V=V.value}if(!(this instanceof Le))return new Le(V,ne);t("comparator",V,ne),this.options=ne,this.loose=!!ne.loose,this.parse(V),this.semver===ot?this.value="":this.value=this.operator+this.semver.version,t("comp",this)}u.rcompareIdentifiers=function(V,ne){return ce(ne,V)},u.major=function(V,ne){return new h(V,ne).major},u.minor=function(V,ne){return new h(V,ne).minor},u.patch=function(V,ne){return new h(V,ne).patch},u.compare=Q,u.compareLoose=function(V,ne){return Q(V,ne,!0)},u.compareBuild=function(V,ne,ge){var Z=new h(V,ge),Ae=new h(ne,ge);return Z.compare(Ae)||Z.compareBuild(Ae)},u.rcompare=function(V,ne,ge){return Q(ne,V,ge)},u.sort=function(V,ne){return V.sort(function(ge,Z){return u.compareBuild(ge,Z,ne)})},u.rsort=function(V,ne){return V.sort(function(ge,Z){return u.compareBuild(Z,ge,ne)})},u.gt=oe,u.lt=Se,u.eq=me,u.neq=De,u.gte=J,u.lte=Te,u.cmp=Oe,u.Comparator=Le;var ot={};function ct(V,ne){if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),V instanceof ct)return V.loose===!!ne.loose&&V.includePrerelease===!!ne.includePrerelease?V:new ct(V.raw,ne);if(V instanceof Le)return new ct(V.value,ne);if(!(this instanceof ct))return new ct(V,ne);if(this.options=ne,this.loose=!!ne.loose,this.includePrerelease=!!ne.includePrerelease,this.raw=V,this.set=V.split(/\s*\|\|\s*/).map(function(ge){return this.parseRange(ge.trim())},this).filter(function(ge){return ge.length}),!this.set.length)throw new TypeError("Invalid SemVer Range: "+V);this.format()}function Ue(V,ne){for(var ge=!0,Z=V.slice(),Ae=Z.pop();ge&&Z.length;)ge=Z.every(function(at){return Ae.intersects(at,ne)}),Ae=Z.pop();return ge}function be(V){return!V||V.toLowerCase()==="x"||V==="*"}function At(V,ne,ge,Z,Ae,at,it,Ft,jt,hn,Un,Jt,Yt){return((ne=be(ge)?"":be(Z)?">="+ge+".0.0":be(Ae)?">="+ge+"."+Z+".0":">="+ne)+" "+(Ft=be(jt)?"":be(hn)?"<"+(+jt+1)+".0.0":be(Un)?"<"+jt+"."+(+hn+1)+".0":Jt?"<="+jt+"."+hn+"."+Un+"-"+Jt:"<="+Ft)).trim()}function Ot(V,ne,ge){for(var Z=0;Z0){var Ae=V[Z].semver;if(Ae.major===ne.major&&Ae.minor===ne.minor&&Ae.patch===ne.patch)return!0}return!1}return!0}function Nt(V,ne,ge){try{ne=new ct(ne,ge)}catch(Z){return!1}return ne.test(V)}function Je(V,ne,ge,Z){var Ae,at,it,Ft,jt;switch(V=new h(V,Z),ne=new ct(ne,Z),ge){case">":Ae=oe,at=Te,it=Se,Ft=">",jt=">=";break;case"<":Ae=Se,at=J,it=oe,Ft="<",jt="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Nt(V,ne,Z))return!1;for(var hn=0;hn=0.0.0")),Jt=Jt||cr,Yt=Yt||cr,Ae(cr.semver,Jt.semver,Z)?Jt=cr:it(cr.semver,Yt.semver,Z)&&(Yt=cr)}),Jt.operator===Ft||Jt.operator===jt||(!Yt.operator||Yt.operator===Ft)&&at(V,Yt.semver)||Yt.operator===jt&&it(V,Yt.semver))return!1}return!0}Le.prototype.parse=function(V){var ne=this.options.loose?A[D.COMPARATORLOOSE]:A[D.COMPARATOR],ge=V.match(ne);if(!ge)throw new TypeError("Invalid comparator: "+V);this.operator=ge[1]!==void 0?ge[1]:"",this.operator==="="&&(this.operator=""),ge[2]?this.semver=new h(ge[2],this.options.loose):this.semver=ot},Le.prototype.toString=function(){return this.value},Le.prototype.test=function(V){if(t("Comparator.test",V,this.options.loose),this.semver===ot||V===ot)return!0;if(typeof V=="string")try{V=new h(V,this.options)}catch(ne){return!1}return Oe(V,this.operator,this.semver,this.options)},Le.prototype.intersects=function(V,ne){if(!(V instanceof Le))throw new TypeError("a Comparator is required");var ge;if(ne&&g(ne)==="object"||(ne={loose:!!ne,includePrerelease:!1}),this.operator==="")return this.value===""||(ge=new ct(V.value,ne),Nt(this.value,ge,ne));if(V.operator==="")return V.value===""||(ge=new ct(this.value,ne),Nt(V.semver,ge,ne));var Z=!(this.operator!==">="&&this.operator!==">"||V.operator!==">="&&V.operator!==">"),Ae=!(this.operator!=="<="&&this.operator!=="<"||V.operator!=="<="&&V.operator!=="<"),at=this.semver.version===V.semver.version,it=!(this.operator!==">="&&this.operator!=="<="||V.operator!==">="&&V.operator!=="<="),Ft=Oe(this.semver,"<",V.semver,ne)&&(this.operator===">="||this.operator===">")&&(V.operator==="<="||V.operator==="<"),jt=Oe(this.semver,">",V.semver,ne)&&(this.operator==="<="||this.operator==="<")&&(V.operator===">="||V.operator===">");return Z||Ae||at&&it||Ft||jt},u.Range=ct,ct.prototype.format=function(){return this.range=this.set.map(function(V){return V.join(" ").trim()}).join("||").trim(),this.range},ct.prototype.toString=function(){return this.range},ct.prototype.parseRange=function(V){var ne=this.options.loose;V=V.trim();var ge=ne?A[D.HYPHENRANGELOOSE]:A[D.HYPHENRANGE];V=V.replace(ge,At),t("hyphen replace",V),V=V.replace(A[D.COMPARATORTRIM],"$1$2$3"),t("comparator trim",V,A[D.COMPARATORTRIM]),V=(V=(V=V.replace(A[D.TILDETRIM],"$1~")).replace(A[D.CARETTRIM],"$1^")).split(/\s+/).join(" ");var Z=ne?A[D.COMPARATORLOOSE]:A[D.COMPARATOR],Ae=V.split(" ").map(function(at){return function(it,Ft){return t("comp",it,Ft),it=function(jt,hn){return jt.trim().split(/\s+/).map(function(Un){return function(Jt,Yt){t("caret",Jt,Yt);var cr=Yt.loose?A[D.CARETLOOSE]:A[D.CARET];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn){var vr;return t("caret",Jt,w,pt,Mn,Bn,Xn),be(pt)?vr="":be(Mn)?vr=">="+pt+".0.0 <"+(+pt+1)+".0.0":be(Bn)?vr=pt==="0"?">="+pt+"."+Mn+".0 <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+".0 <"+(+pt+1)+".0.0":Xn?(t("replaceCaret pr",Xn),vr=pt==="0"?Mn==="0"?">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+Mn+"."+(+Bn+1):">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+(+pt+1)+".0.0"):(t("no pr"),vr=pt==="0"?Mn==="0"?">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+Mn+"."+(+Bn+1):">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+(+Mn+1)+".0":">="+pt+"."+Mn+"."+Bn+" <"+(+pt+1)+".0.0"),t("caret return",vr),vr})}(Un,hn)}).join(" ")}(it,Ft),t("caret",it),it=function(jt,hn){return jt.trim().split(/\s+/).map(function(Un){return function(Jt,Yt){var cr=Yt.loose?A[D.TILDELOOSE]:A[D.TILDE];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn){var vr;return t("tilde",Jt,w,pt,Mn,Bn,Xn),be(pt)?vr="":be(Mn)?vr=">="+pt+".0.0 <"+(+pt+1)+".0.0":be(Bn)?vr=">="+pt+"."+Mn+".0 <"+pt+"."+(+Mn+1)+".0":Xn?(t("replaceTilde pr",Xn),vr=">="+pt+"."+Mn+"."+Bn+"-"+Xn+" <"+pt+"."+(+Mn+1)+".0"):vr=">="+pt+"."+Mn+"."+Bn+" <"+pt+"."+(+Mn+1)+".0",t("tilde return",vr),vr})}(Un,hn)}).join(" ")}(it,Ft),t("tildes",it),it=function(jt,hn){return t("replaceXRanges",jt,hn),jt.split(/\s+/).map(function(Un){return function(Jt,Yt){Jt=Jt.trim();var cr=Yt.loose?A[D.XRANGELOOSE]:A[D.XRANGE];return Jt.replace(cr,function(w,pt,Mn,Bn,Xn,vr){t("xRange",Jt,w,pt,Mn,Bn,Xn,vr);var gr=be(Mn),r0=gr||be(Bn),Ci=r0||be(Xn),yo=Ci;return pt==="="&&yo&&(pt=""),vr=Yt.includePrerelease?"-0":"",gr?w=pt===">"||pt==="<"?"<0.0.0-0":"*":pt&&yo?(r0&&(Bn=0),Xn=0,pt===">"?(pt=">=",r0?(Mn=+Mn+1,Bn=0,Xn=0):(Bn=+Bn+1,Xn=0)):pt==="<="&&(pt="<",r0?Mn=+Mn+1:Bn=+Bn+1),w=pt+Mn+"."+Bn+"."+Xn+vr):r0?w=">="+Mn+".0.0"+vr+" <"+(+Mn+1)+".0.0"+vr:Ci&&(w=">="+Mn+"."+Bn+".0"+vr+" <"+Mn+"."+(+Bn+1)+".0"+vr),t("xRange return",w),w})}(Un,hn)}).join(" ")}(it,Ft),t("xrange",it),it=function(jt,hn){return t("replaceStars",jt,hn),jt.trim().replace(A[D.STAR],"")}(it,Ft),t("stars",it),it}(at,this.options)},this).join(" ").split(/\s+/);return this.options.loose&&(Ae=Ae.filter(function(at){return!!at.match(Z)})),Ae=Ae.map(function(at){return new Le(at,this.options)},this)},ct.prototype.intersects=function(V,ne){if(!(V instanceof ct))throw new TypeError("a Range is required");return this.set.some(function(ge){return Ue(ge,ne)&&V.set.some(function(Z){return Ue(Z,ne)&&ge.every(function(Ae){return Z.every(function(at){return Ae.intersects(at,ne)})})})})},u.toComparators=function(V,ne){return new ct(V,ne).set.map(function(ge){return ge.map(function(Z){return Z.value}).join(" ").trim().split(" ")})},ct.prototype.test=function(V){if(!V)return!1;if(typeof V=="string")try{V=new h(V,this.options)}catch(ge){return!1}for(var ne=0;ne":at.prerelease.length===0?at.patch++:at.prerelease.push(0),at.raw=at.format();case"":case">=":ge&&!oe(ge,at)||(ge=at);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+Ae.operator)}});return ge&&V.test(ge)?ge:null},u.validRange=function(V,ne){try{return new ct(V,ne).range||"*"}catch(ge){return null}},u.ltr=function(V,ne,ge){return Je(V,ne,"<",ge)},u.gtr=function(V,ne,ge){return Je(V,ne,">",ge)},u.outside=Je,u.prerelease=function(V,ne){var ge=$(V,ne);return ge&&ge.prerelease.length?ge.prerelease:null},u.intersects=function(V,ne,ge){return V=new ct(V,ge),ne=new ct(ne,ge),V.intersects(ne)},u.coerce=function(V,ne){if(V instanceof h)return V;if(typeof V=="number"&&(V=String(V)),typeof V!="string")return null;var ge=null;if((ne=ne||{}).rtl){for(var Z;(Z=A[D.COERCERTL].exec(V))&&(!ge||ge.index+ge[0].length!==V.length);)ge&&Z.index+Z[0].length===ge.index+ge[0].length||(ge=Z),A[D.COERCERTL].lastIndex=Z.index+Z[1].length+Z[2].length;A[D.COERCERTL].lastIndex=-1}else ge=V.match(A[D.COERCE]);return ge===null?null:$(ge[2]+"."+(ge[3]||"0")+"."+(ge[4]||"0"),ne)}}).call(this,f(5))},function(i,u){function f(g){return(f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(g)}var c;c=function(){return this}();try{c=c||new Function("return this")()}catch(g){(typeof window=="undefined"?"undefined":f(window))==="object"&&(c=window)}i.exports=c},function(i,u){var f,c,g=i.exports={};function t(){throw new Error("setTimeout has not been defined")}function C(){throw new Error("clearTimeout has not been defined")}function A(ce){if(f===setTimeout)return setTimeout(ce,0);if((f===t||!f)&&setTimeout)return f=setTimeout,setTimeout(ce,0);try{return f(ce,0)}catch(Q){try{return f.call(null,ce,0)}catch(oe){return f.call(this,ce,0)}}}(function(){try{f=typeof setTimeout=="function"?setTimeout:t}catch(ce){f=t}try{c=typeof clearTimeout=="function"?clearTimeout:C}catch(ce){c=C}})();var x,D=[],L=!1,N=-1;function j(){L&&x&&(L=!1,x.length?D=x.concat(D):N=-1,D.length&&$())}function $(){if(!L){var ce=A(j);L=!0;for(var Q=D.length;Q;){for(x=D,D=[];++N1)for(var oe=1;oethis[C])return De(this,this[h].get(Ue)),!1;var Je=this[h].get(Ue).value;return this[N]&&(this[j]||this[N](Ue,Je.value)),Je.now=Ot,Je.maxAge=At,Je.value=be,this[A]+=Nt-Je.length,Je.length=Nt,this.get(Ue),me(this),!0}var V=new J(Ue,be,Nt,Ot,At);return V.length>this[C]?(this[N]&&this[N](Ue,be),!1):(this[A]+=V.length,this[$].unshift(V),this[h].set(Ue,this[$].head),me(this),!0)}},{key:"has",value:function(Ue){if(!this[h].has(Ue))return!1;var be=this[h].get(Ue).value;return!Se(this,be)}},{key:"get",value:function(Ue){return oe(this,Ue,!0)}},{key:"peek",value:function(Ue){return oe(this,Ue,!1)}},{key:"pop",value:function(){var Ue=this[$].tail;return Ue?(De(this,Ue),Ue.value):null}},{key:"del",value:function(Ue){De(this,this[h].get(Ue))}},{key:"load",value:function(Ue){this.reset();for(var be=Date.now(),At=Ue.length-1;At>=0;At--){var Ot=Ue[At],Nt=Ot.e||0;if(Nt===0)this.set(Ot.k,Ot.v);else{var Je=Nt-be;Je>0&&this.set(Ot.k,Ot.v,Je)}}}},{key:"prune",value:function(){var Ue=this;this[h].forEach(function(be,At){return oe(Ue,At,!1)})}},{key:"max",set:function(Ue){if(typeof Ue!="number"||Ue<0)throw new TypeError("max must be a non-negative number");this[C]=Ue||1/0,me(this)},get:function(){return this[C]}},{key:"allowStale",set:function(Ue){this[D]=!!Ue},get:function(){return this[D]}},{key:"maxAge",set:function(Ue){if(typeof Ue!="number")throw new TypeError("maxAge must be a non-negative number");this[L]=Ue,me(this)},get:function(){return this[L]}},{key:"lengthCalculator",set:function(Ue){var be=this;typeof Ue!="function"&&(Ue=ce),Ue!==this[x]&&(this[x]=Ue,this[A]=0,this[$].forEach(function(At){At.length=be[x](At.value,At.key),be[A]+=At.length})),me(this)},get:function(){return this[x]}},{key:"length",get:function(){return this[A]}},{key:"itemCount",get:function(){return this[$].length}}])&&g(Le.prototype,ot),ct&&g(Le,ct),Oe}(),oe=function(Oe,Le,ot){var ct=Oe[h].get(Le);if(ct){var Ue=ct.value;if(Se(Oe,Ue)){if(De(Oe,ct),!Oe[D])return}else ot&&(Oe[re]&&(ct.value.now=Date.now()),Oe[$].unshiftNode(ct));return Ue.value}},Se=function(Oe,Le){if(!Le||!Le.maxAge&&!Oe[L])return!1;var ot=Date.now()-Le.now;return Le.maxAge?ot>Le.maxAge:Oe[L]&&ot>Oe[L]},me=function(Oe){if(Oe[A]>Oe[C])for(var Le=Oe[$].tail;Oe[A]>Oe[C]&&Le!==null;){var ot=Le.prev;De(Oe,Le),Le=ot}},De=function(Oe,Le){if(Le){var ot=Le.value;Oe[N]&&Oe[N](ot.key,ot.value),Oe[A]-=ot.length,Oe[h].delete(ot.key),Oe[$].removeNode(Le)}},J=function Oe(Le,ot,ct,Ue,be){c(this,Oe),this.key=Le,this.value=ot,this.length=ct,this.now=Ue,this.maxAge=be||0},Te=function(Oe,Le,ot,ct){var Ue=ot.value;Se(Oe,Ue)&&(De(Oe,ot),Oe[D]||(Ue=void 0)),Ue&&Le.call(ct,Ue.value,Ue.key,Oe)};i.exports=Q},function(i,u,f){(function(c){function g(t){return(g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(C){return typeof C}:function(C){return C&&typeof Symbol=="function"&&C.constructor===Symbol&&C!==Symbol.prototype?"symbol":typeof C})(t)}i.exports=function(){if(typeof document=="undefined"||!document.addEventListener)return null;var t,C,A,x={};return x.copy=function(){var D=!1,L=null,N=!1;function j(){D=!1,L=null,N&&window.getSelection().removeAllRanges(),N=!1}return document.addEventListener("copy",function($){if(D){for(var h in L)$.clipboardData.setData(h,L[h]);$.preventDefault()}}),function($){return new Promise(function(h,re){D=!0,typeof $=="string"?L={"text/plain":$}:$ instanceof Node?L={"text/html":new XMLSerializer().serializeToString($)}:$ instanceof Object?L=$:re("Invalid data type. Must be string, DOM node, or an object mapping MIME types to strings."),function ce(Q){try{if(document.execCommand("copy"))j(),h();else{if(Q)throw j(),new Error("Unable to copy. Perhaps it's not available in your browser?");(function(){var oe=document.getSelection();if(!document.queryCommandEnabled("copy")&&oe.isCollapsed){var Se=document.createRange();Se.selectNodeContents(document.body),oe.removeAllRanges(),oe.addRange(Se),N=!0}})(),ce(!0)}}catch(oe){j(),re(oe)}}(!1)})}}(),x.paste=(A=!1,document.addEventListener("paste",function(D){if(A){A=!1,D.preventDefault();var L=t;t=null,L(D.clipboardData.getData(C))}}),function(D){return new Promise(function(L,N){A=!0,t=L,C=D||"text/plain";try{document.execCommand("paste")||(A=!1,N(new Error("Unable to paste. Pasting only works in Internet Explorer at the moment.")))}catch(j){A=!1,N(new Error(j))}})}),typeof ClipboardEvent=="undefined"&&window.clipboardData!==void 0&&window.clipboardData.setData!==void 0&&(function(D){function L(me,De){return function(){me.apply(De,arguments)}}function N(me){if(g(this)!="object")throw new TypeError("Promises must be constructed via new");if(typeof me!="function")throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],Q(me,L($,this),L(h,this))}function j(me){var De=this;return this._state===null?void this._deferreds.push(me):void oe(function(){var J=De._state?me.onFulfilled:me.onRejected;if(J!==null){var Te;try{Te=J(De._value)}catch(Oe){return void me.reject(Oe)}me.resolve(Te)}else(De._state?me.resolve:me.reject)(De._value)})}function $(me){try{if(me===this)throw new TypeError("A promise cannot be resolved with itself.");if(me&&(g(me)=="object"||typeof me=="function")){var De=me.then;if(typeof De=="function")return void Q(L(De,me),L($,this),L(h,this))}this._state=!0,this._value=me,re.call(this)}catch(J){h.call(this,J)}}function h(me){this._state=!1,this._value=me,re.call(this)}function re(){for(var me=0,De=this._deferreds.length;De>me;me++)j.call(this,this._deferreds[me]);this._deferreds=null}function ce(me,De,J,Te){this.onFulfilled=typeof me=="function"?me:null,this.onRejected=typeof De=="function"?De:null,this.resolve=J,this.reject=Te}function Q(me,De,J){var Te=!1;try{me(function(Oe){Te||(Te=!0,De(Oe))},function(Oe){Te||(Te=!0,J(Oe))})}catch(Oe){if(Te)return;Te=!0,J(Oe)}}var oe=N.immediateFn||typeof c=="function"&&c||function(me){setTimeout(me,1)},Se=Array.isArray||function(me){return Object.prototype.toString.call(me)==="[object Array]"};N.prototype.catch=function(me){return this.then(null,me)},N.prototype.then=function(me,De){var J=this;return new N(function(Te,Oe){j.call(J,new ce(me,De,Te,Oe))})},N.all=function(){var me=Array.prototype.slice.call(arguments.length===1&&Se(arguments[0])?arguments[0]:arguments);return new N(function(De,J){function Te(ot,ct){try{if(ct&&(g(ct)=="object"||typeof ct=="function")){var Ue=ct.then;if(typeof Ue=="function")return void Ue.call(ct,function(be){Te(ot,be)},J)}me[ot]=ct,--Oe==0&&De(me)}catch(be){J(be)}}if(me.length===0)return De([]);for(var Oe=me.length,Le=0;LeTe;Te++)me[Te].then(De,J)})},i.exports?i.exports=N:D.Promise||(D.Promise=N)}(this),x.copy=function(D){return new Promise(function(L,N){if(typeof D!="string"&&!("text/plain"in D))throw new Error("You must provide a text/plain type.");var j=typeof D=="string"?D:D["text/plain"];window.clipboardData.setData("Text",j)?L():N(new Error("Copying was rejected."))})},x.paste=function(){return new Promise(function(D,L){var N=window.clipboardData.getData("Text");N?D(N):L(new Error("Pasting was rejected."))})}),x}()}).call(this,f(13).setImmediate)},function(i,u,f){"use strict";i.exports=f(15)},function(i,u,f){"use strict";f.r(u),u.default=`:root { - /** - * IMPORTANT: When new theme variables are added below\u2013 also add them to SettingsContext updateThemeVariables() - */ - - /* Light theme */ - --light-color-attribute-name: #ef6632; - --light-color-attribute-name-not-editable: #23272f; - --light-color-attribute-name-inverted: rgba(255, 255, 255, 0.7); - --light-color-attribute-value: #1a1aa6; - --light-color-attribute-value-inverted: #ffffff; - --light-color-attribute-editable-value: #1a1aa6; - --light-color-background: #ffffff; - --light-color-background-hover: rgba(0, 136, 250, 0.1); - --light-color-background-inactive: #e5e5e5; - --light-color-background-invalid: #fff0f0; - --light-color-background-selected: #0088fa; - --light-color-button-background: #ffffff; - --light-color-button-background-focus: #ededed; - --light-color-button: #5f6673; - --light-color-button-disabled: #cfd1d5; - --light-color-button-active: #0088fa; - --light-color-button-focus: #23272f; - --light-color-button-hover: #23272f; - --light-color-border: #eeeeee; - --light-color-commit-did-not-render-fill: #cfd1d5; - --light-color-commit-did-not-render-fill-text: #000000; - --light-color-commit-did-not-render-pattern: #cfd1d5; - --light-color-commit-did-not-render-pattern-text: #333333; - --light-color-commit-gradient-0: #37afa9; - --light-color-commit-gradient-1: #63b19e; - --light-color-commit-gradient-2: #80b393; - --light-color-commit-gradient-3: #97b488; - --light-color-commit-gradient-4: #abb67d; - --light-color-commit-gradient-5: #beb771; - --light-color-commit-gradient-6: #cfb965; - --light-color-commit-gradient-7: #dfba57; - --light-color-commit-gradient-8: #efbb49; - --light-color-commit-gradient-9: #febc38; - --light-color-commit-gradient-text: #000000; - --light-color-component-name: #6a51b2; - --light-color-component-name-inverted: #ffffff; - --light-color-component-badge-background: rgba(0, 0, 0, 0.1); - --light-color-component-badge-background-inverted: rgba(255, 255, 255, 0.25); - --light-color-component-badge-count: #777d88; - --light-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); - --light-color-context-background: rgba(0,0,0,.9); - --light-color-context-background-hover: rgba(255, 255, 255, 0.1); - --light-color-context-background-selected: #178fb9; - --light-color-context-border: #3d424a; - --light-color-context-text: #ffffff; - --light-color-context-text-selected: #ffffff; - --light-color-dim: #777d88; - --light-color-dimmer: #cfd1d5; - --light-color-dimmest: #eff0f1; - --light-color-error-background: hsl(0, 100%, 97%); - --light-color-error-border: hsl(0, 100%, 92%); - --light-color-error-text: #ff0000; - --light-color-expand-collapse-toggle: #777d88; - --light-color-link: #0000ff; - --light-color-modal-background: rgba(255, 255, 255, 0.75); - --light-color-record-active: #fc3a4b; - --light-color-record-hover: #3578e5; - --light-color-record-inactive: #0088fa; - --light-color-scroll-thumb: #c2c2c2; - --light-color-scroll-track: #fafafa; - --light-color-search-match: yellow; - --light-color-search-match-current: #f7923b; - --light-color-selected-tree-highlight-active: rgba(0, 136, 250, 0.1); - --light-color-selected-tree-highlight-inactive: rgba(0, 0, 0, 0.05); - --light-color-shadow: rgba(0, 0, 0, 0.25); - --light-color-tab-selected-border: #0088fa; - --light-color-text: #000000; - --light-color-text-invalid: #ff0000; - --light-color-text-selected: #ffffff; - --light-color-toggle-background-invalid: #fc3a4b; - --light-color-toggle-background-on: #0088fa; - --light-color-toggle-background-off: #cfd1d5; - --light-color-toggle-text: #ffffff; - --light-color-tooltip-background: rgba(0, 0, 0, 0.9); - --light-color-tooltip-text: #ffffff; - - /* Dark theme */ - --dark-color-attribute-name: #9d87d2; - --dark-color-attribute-name-not-editable: #ededed; - --dark-color-attribute-name-inverted: #282828; - --dark-color-attribute-value: #cedae0; - --dark-color-attribute-value-inverted: #ffffff; - --dark-color-attribute-editable-value: yellow; - --dark-color-background: #282c34; - --dark-color-background-hover: rgba(255, 255, 255, 0.1); - --dark-color-background-inactive: #3d424a; - --dark-color-background-invalid: #5c0000; - --dark-color-background-selected: #178fb9; - --dark-color-button-background: #282c34; - --dark-color-button-background-focus: #3d424a; - --dark-color-button: #afb3b9; - --dark-color-button-active: #61dafb; - --dark-color-button-disabled: #4f5766; - --dark-color-button-focus: #a2e9fc; - --dark-color-button-hover: #ededed; - --dark-color-border: #3d424a; - --dark-color-commit-did-not-render-fill: #777d88; - --dark-color-commit-did-not-render-fill-text: #000000; - --dark-color-commit-did-not-render-pattern: #666c77; - --dark-color-commit-did-not-render-pattern-text: #ffffff; - --dark-color-commit-gradient-0: #37afa9; - --dark-color-commit-gradient-1: #63b19e; - --dark-color-commit-gradient-2: #80b393; - --dark-color-commit-gradient-3: #97b488; - --dark-color-commit-gradient-4: #abb67d; - --dark-color-commit-gradient-5: #beb771; - --dark-color-commit-gradient-6: #cfb965; - --dark-color-commit-gradient-7: #dfba57; - --dark-color-commit-gradient-8: #efbb49; - --dark-color-commit-gradient-9: #febc38; - --dark-color-commit-gradient-text: #000000; - --dark-color-component-name: #61dafb; - --dark-color-component-name-inverted: #282828; - --dark-color-component-badge-background: rgba(255, 255, 255, 0.25); - --dark-color-component-badge-background-inverted: rgba(0, 0, 0, 0.25); - --dark-color-component-badge-count: #8f949d; - --dark-color-component-badge-count-inverted: rgba(255, 255, 255, 0.7); - --dark-color-context-background: rgba(255,255,255,.9); - --dark-color-context-background-hover: rgba(0, 136, 250, 0.1); - --dark-color-context-background-selected: #0088fa; - --dark-color-context-border: #eeeeee; - --dark-color-context-text: #000000; - --dark-color-context-text-selected: #ffffff; - --dark-color-dim: #8f949d; - --dark-color-dimmer: #777d88; - --dark-color-dimmest: #4f5766; - --dark-color-error-background: #200; - --dark-color-error-border: #900; - --dark-color-error-text: #f55; - --dark-color-expand-collapse-toggle: #8f949d; - --dark-color-link: #61dafb; - --dark-color-modal-background: rgba(0, 0, 0, 0.75); - --dark-color-record-active: #fc3a4b; - --dark-color-record-hover: #a2e9fc; - --dark-color-record-inactive: #61dafb; - --dark-color-scroll-thumb: #afb3b9; - --dark-color-scroll-track: #313640; - --dark-color-search-match: yellow; - --dark-color-search-match-current: #f7923b; - --dark-color-selected-tree-highlight-active: rgba(23, 143, 185, 0.15); - --dark-color-selected-tree-highlight-inactive: rgba(255, 255, 255, 0.05); - --dark-color-shadow: rgba(0, 0, 0, 0.5); - --dark-color-tab-selected-border: #178fb9; - --dark-color-text: #ffffff; - --dark-color-text-invalid: #ff8080; - --dark-color-text-selected: #ffffff; - --dark-color-toggle-background-invalid: #fc3a4b; - --dark-color-toggle-background-on: #178fb9; - --dark-color-toggle-background-off: #777d88; - --dark-color-toggle-text: #ffffff; - --dark-color-tooltip-background: rgba(255, 255, 255, 0.9); - --dark-color-tooltip-text: #000000; - - /* Font smoothing */ - --light-font-smoothing: auto; - --dark-font-smoothing: antialiased; - --font-smoothing: auto; - - /* Compact density */ - --compact-font-size-monospace-small: 9px; - --compact-font-size-monospace-normal: 11px; - --compact-font-size-monospace-large: 15px; - --compact-font-size-sans-small: 10px; - --compact-font-size-sans-normal: 12px; - --compact-font-size-sans-large: 14px; - --compact-line-height-data: 18px; - --compact-root-font-size: 16px; - - /* Comfortable density */ - --comfortable-font-size-monospace-small: 10px; - --comfortable-font-size-monospace-normal: 13px; - --comfortable-font-size-monospace-large: 17px; - --comfortable-font-size-sans-small: 12px; - --comfortable-font-size-sans-normal: 14px; - --comfortable-font-size-sans-large: 16px; - --comfortable-line-height-data: 22px; - --comfortable-root-font-size: 20px; - - /* GitHub.com system fonts */ - --font-family-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, - Courier, monospace; - --font-family-sans: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, - Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol; - - /* Constant values shared between JS and CSS */ - --interaction-commit-size: 10px; - --interaction-label-width: 200px; -} -`},function(i,u,f){"use strict";function c(x){var D=this;if(D instanceof c||(D=new c),D.tail=null,D.head=null,D.length=0,x&&typeof x.forEach=="function")x.forEach(function(j){D.push(j)});else if(arguments.length>0)for(var L=0,N=arguments.length;L1)L=D;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");N=this.head.next,L=this.head.value}for(var j=0;N!==null;j++)L=x(L,N.value,j),N=N.next;return L},c.prototype.reduceReverse=function(x,D){var L,N=this.tail;if(arguments.length>1)L=D;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");N=this.tail.prev,L=this.tail.value}for(var j=this.length-1;N!==null;j--)L=x(L,N.value,j),N=N.prev;return L},c.prototype.toArray=function(){for(var x=new Array(this.length),D=0,L=this.head;L!==null;D++)x[D]=L.value,L=L.next;return x},c.prototype.toArrayReverse=function(){for(var x=new Array(this.length),D=0,L=this.tail;L!==null;D++)x[D]=L.value,L=L.prev;return x},c.prototype.slice=function(x,D){(D=D||this.length)<0&&(D+=this.length),(x=x||0)<0&&(x+=this.length);var L=new c;if(Dthis.length&&(D=this.length);for(var N=0,j=this.head;j!==null&&Nthis.length&&(D=this.length);for(var N=this.length,j=this.tail;j!==null&&N>D;N--)j=j.prev;for(;j!==null&&N>x;N--,j=j.prev)L.push(j.value);return L},c.prototype.splice=function(x,D){x>this.length&&(x=this.length-1),x<0&&(x=this.length+x);for(var L=0,N=this.head;N!==null&&L=0&&(A._idleTimeoutId=setTimeout(function(){A._onTimeout&&A._onTimeout()},x))},f(14),u.setImmediate=typeof self!="undefined"&&self.setImmediate||c!==void 0&&c.setImmediate||this&&this.setImmediate,u.clearImmediate=typeof self!="undefined"&&self.clearImmediate||c!==void 0&&c.clearImmediate||this&&this.clearImmediate}).call(this,f(4))},function(i,u,f){(function(c,g){(function(t,C){"use strict";if(!t.setImmediate){var A,x,D,L,N,j=1,$={},h=!1,re=t.document,ce=Object.getPrototypeOf&&Object.getPrototypeOf(t);ce=ce&&ce.setTimeout?ce:t,{}.toString.call(t.process)==="[object process]"?A=function(Se){g.nextTick(function(){oe(Se)})}:function(){if(t.postMessage&&!t.importScripts){var Se=!0,me=t.onmessage;return t.onmessage=function(){Se=!1},t.postMessage("","*"),t.onmessage=me,Se}}()?(L="setImmediate$"+Math.random()+"$",N=function(Se){Se.source===t&&typeof Se.data=="string"&&Se.data.indexOf(L)===0&&oe(+Se.data.slice(L.length))},t.addEventListener?t.addEventListener("message",N,!1):t.attachEvent("onmessage",N),A=function(Se){t.postMessage(L+Se,"*")}):t.MessageChannel?((D=new MessageChannel).port1.onmessage=function(Se){oe(Se.data)},A=function(Se){D.port2.postMessage(Se)}):re&&"onreadystatechange"in re.createElement("script")?(x=re.documentElement,A=function(Se){var me=re.createElement("script");me.onreadystatechange=function(){oe(Se),me.onreadystatechange=null,x.removeChild(me),me=null},x.appendChild(me)}):A=function(Se){setTimeout(oe,0,Se)},ce.setImmediate=function(Se){typeof Se!="function"&&(Se=new Function(""+Se));for(var me=new Array(arguments.length-1),De=0;Dene;ne++)if((V=Q(Je,Ot,ne))!==-1){ce=ne,Ot=V;break e}Ot=-1}}e:{if(Je=Nt,(V=j().get(At.primitive))!==void 0){for(ne=0;neOt-Je?null:Nt.slice(Je,Ot-1))!==null){if(Ot=0,Le!==null){for(;OtOt;Le--)ot=Ue.pop()}for(Le=Nt.length-Ot-1;1<=Le;Le--)Ot=[],ot.push({id:null,isStateEditable:!1,name:Se(Nt[Le-1].functionName),value:void 0,subHooks:Ot}),Ue.push(ot),ot=Ot;Le=Nt}Ot=(Nt=At.primitive)==="Context"||Nt==="DebugValue"?null:ct++,ot.push({id:Ot,isStateEditable:Nt==="Reducer"||Nt==="State",name:Nt,value:At.value,subHooks:[]})}return function ge(Z,Ae){for(var at=[],it=0;it-1&&($=$.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(\),.*$)/g,""));var h=$.replace(/^\s+/,"").replace(/\(eval code/g,"("),re=h.match(/ (\((.+):(\d+):(\d+)\)$)/),ce=(h=re?h.replace(re[0],""):h).split(/\s+/).slice(1),Q=this.extractLocation(re?re[1]:ce.pop()),oe=ce.join(" ")||void 0,Se=["eval",""].indexOf(Q[0])>-1?void 0:Q[0];return new x({functionName:oe,fileName:Se,lineNumber:Q[1],columnNumber:Q[2],source:$})},this)},parseFFOrSafari:function(j){return j.stack.split(` -`).filter(function($){return!$.match(N)},this).map(function($){if($.indexOf(" > eval")>-1&&($=$.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),$.indexOf("@")===-1&&$.indexOf(":")===-1)return new x({functionName:$});var h=/((.*".+"[^@]*)?[^@]*)(?:@)/,re=$.match(h),ce=re&&re[1]?re[1]:void 0,Q=this.extractLocation($.replace(h,""));return new x({functionName:ce,fileName:Q[0],lineNumber:Q[1],columnNumber:Q[2],source:$})},this)},parseOpera:function(j){return!j.stacktrace||j.message.indexOf(` -`)>-1&&j.message.split(` -`).length>j.stacktrace.split(` -`).length?this.parseOpera9(j):j.stack?this.parseOpera11(j):this.parseOpera10(j)},parseOpera9:function(j){for(var $=/Line (\d+).*script (?:in )?(\S+)/i,h=j.message.split(` -`),re=[],ce=2,Q=h.length;ce/,"$2").replace(/\([^)]*\)/g,"")||void 0;Q.match(/\(([^)]*)\)/)&&(h=Q.replace(/^[^(]+\(([^)]*)\)$/,"$1"));var Se=h===void 0||h==="[arguments not available]"?void 0:h.split(",");return new x({functionName:oe,args:Se,fileName:ce[0],lineNumber:ce[1],columnNumber:ce[2],source:$})},this)}}})=="function"?c.apply(u,g):c)===void 0||(i.exports=t)})()},function(i,u,f){var c,g,t;(function(C,A){"use strict";g=[],(t=typeof(c=function(){function x(oe){return oe.charAt(0).toUpperCase()+oe.substring(1)}function D(oe){return function(){return this[oe]}}var L=["isConstructor","isEval","isNative","isToplevel"],N=["columnNumber","lineNumber"],j=["fileName","functionName","source"],$=L.concat(N,j,["args"]);function h(oe){if(oe)for(var Se=0;Se<$.length;Se++)oe[$[Se]]!==void 0&&this["set"+x($[Se])](oe[$[Se]])}h.prototype={getArgs:function(){return this.args},setArgs:function(oe){if(Object.prototype.toString.call(oe)!=="[object Array]")throw new TypeError("Args must be an Array");this.args=oe},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(oe){if(oe instanceof h)this.evalOrigin=oe;else{if(!(oe instanceof Object))throw new TypeError("Eval Origin must be an Object or StackFrame");this.evalOrigin=new h(oe)}},toString:function(){var oe=this.getFileName()||"",Se=this.getLineNumber()||"",me=this.getColumnNumber()||"",De=this.getFunctionName()||"";return this.getIsEval()?oe?"[eval] ("+oe+":"+Se+":"+me+")":"[eval]:"+Se+":"+me:De?De+" ("+oe+":"+Se+":"+me+")":oe+":"+Se+":"+me}},h.fromString=function(oe){var Se=oe.indexOf("("),me=oe.lastIndexOf(")"),De=oe.substring(0,Se),J=oe.substring(Se+1,me).split(","),Te=oe.substring(me+1);if(Te.indexOf("@")===0)var Oe=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(Te,""),Le=Oe[1],ot=Oe[2],ct=Oe[3];return new h({functionName:De,args:J||void 0,fileName:Le,lineNumber:ot||void 0,columnNumber:ct||void 0})};for(var re=0;re1?de-1:0),ve=1;ve=0&&de.splice(W,1)}}}])&&c(R.prototype,U),H&&c(R,H),F}(),t=f(2),C=f.n(t);try{var A=f(9).default,x=function(F){var R=new RegExp("".concat(F,": ([0-9]+)")),U=A.match(R);return parseInt(U[1],10)};x("comfortable-line-height-data"),x("compact-line-height-data")}catch(F){}function D(F){try{return sessionStorage.getItem(F)}catch(R){return null}}function L(F){try{sessionStorage.removeItem(F)}catch(R){}}function N(F,R){try{return sessionStorage.setItem(F,R)}catch(U){}}var j=function(F,R){return F===R},$=f(1),h=f.n($);function re(F){return F.ownerDocument?F.ownerDocument.defaultView:null}function ce(F){var R=re(F);return R?R.frameElement:null}function Q(F){var R=me(F);return oe([F.getBoundingClientRect(),{top:R.borderTop,left:R.borderLeft,bottom:R.borderBottom,right:R.borderRight,width:0,height:0}])}function oe(F){return F.reduce(function(R,U){return R==null?U:{top:R.top+U.top,left:R.left+U.left,width:R.width,height:R.height,bottom:R.bottom+U.bottom,right:R.right+U.right}})}function Se(F,R){var U=ce(F);if(U&&U!==R){for(var H=[F.getBoundingClientRect()],fe=U,ue=!1;fe;){var de=Q(fe);if(H.push(de),fe=ce(fe),ue)break;fe&&re(fe)===R&&(ue=!0)}return oe(H)}return F.getBoundingClientRect()}function me(F){var R=window.getComputedStyle(F);return{borderLeft:parseInt(R.borderLeftWidth,10),borderRight:parseInt(R.borderRightWidth,10),borderTop:parseInt(R.borderTopWidth,10),borderBottom:parseInt(R.borderBottomWidth,10),marginLeft:parseInt(R.marginLeft,10),marginRight:parseInt(R.marginRight,10),marginTop:parseInt(R.marginTop,10),marginBottom:parseInt(R.marginBottom,10),paddingLeft:parseInt(R.paddingLeft,10),paddingRight:parseInt(R.paddingRight,10),paddingTop:parseInt(R.paddingTop,10),paddingBottom:parseInt(R.paddingBottom,10)}}function De(F,R){var U;if(typeof Symbol=="undefined"||F[Symbol.iterator]==null){if(Array.isArray(F)||(U=function(ve,Fe){if(!!ve){if(typeof ve=="string")return J(ve,Fe);var Ge=Object.prototype.toString.call(ve).slice(8,-1);if(Ge==="Object"&&ve.constructor&&(Ge=ve.constructor.name),Ge==="Map"||Ge==="Set")return Array.from(ve);if(Ge==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ge))return J(ve,Fe)}}(F))||R&&F&&typeof F.length=="number"){U&&(F=U);var H=0,fe=function(){};return{s:fe,n:function(){return H>=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function J(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);Ude.left+de.width&&(K=de.left+de.width-Ge-5),{style:{top:ve+="px",left:K+="px"}}}(R,U,{width:H.width,height:H.height});h()(this.tip.style,fe.style)}}]),F}(),Ue=function(){function F(){Te(this,F);var R=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.window=R;var U=window.__REACT_DEVTOOLS_TARGET_WINDOW__||window;this.tipBoundsWindow=U;var H=R.document;this.container=H.createElement("div"),this.container.style.zIndex="10000000",this.tip=new ct(H,this.container),this.rects=[],H.body.appendChild(this.container)}return Le(F,[{key:"remove",value:function(){this.tip.remove(),this.rects.forEach(function(R){R.remove()}),this.rects.length=0,this.container.parentNode&&this.container.parentNode.removeChild(this.container)}},{key:"inspect",value:function(R,U){for(var H=this,fe=R.filter(function(Xe){return Xe.nodeType===Node.ELEMENT_NODE});this.rects.length>fe.length;)this.rects.pop().remove();if(fe.length!==0){for(;this.rects.length1&&arguments[1]!==void 0?arguments[1]:j,je=void 0,Xe=[],rt=void 0,st=!1,xt=function(lt,Rt){return xe(lt,Xe[Rt])},wt=function(){for(var lt=arguments.length,Rt=Array(lt),yn=0;yn5&&arguments[5]!==void 0?arguments[5]:0,W=cl(F);switch(W){case"html_element":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.tagName,type:W};case"function":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:typeof F.name!="function"&&F.name?F.name:"function",type:W};case"string":return F.length<=500?F:F.slice(0,500)+"...";case"bigint":case"symbol":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.toString(),type:W};case"react_element":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:al(F)||"Unknown",type:W};case"array_buffer":case"data_view":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:W==="data_view"?"DataView":"ArrayBuffer",size:F.byteLength,type:W};case"array":return ue=fe(H),de>=2&&!ue?yo(W,!0,F,R,H):F.map(function(Ge,K){return Ds(Ge,R,U,H.concat([K]),fe,ue?1:de+1)});case"html_all_collection":case"typed_array":case"iterator":if(ue=fe(H),de>=2&&!ue)return yo(W,!0,F,R,H);var ve={unserializable:!0,type:W,readonly:!0,size:W==="typed_array"?F.length:void 0,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.constructor&&F.constructor.name!=="Object"?F.constructor.name:""};return r0(F[Symbol.iterator])&&Array.from(F).forEach(function(Ge,K){return ve[K]=Ds(Ge,R,U,H.concat([K]),fe,ue?1:de+1)}),U.push(H),ve;case"opaque_iterator":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F[Symbol.toStringTag],type:W};case"date":case"regexp":return R.push(H),{inspectable:!1,preview_short:Mr(F,!1),preview_long:Mr(F,!0),name:F.toString(),type:W};case"object":if(ue=fe(H),de>=2&&!ue)return yo(W,!0,F,R,H);var Fe={};return Es(F).forEach(function(Ge){var K=Ge.toString();Fe[K]=Ds(F[Ge],R,U,H.concat([K]),fe,ue?1:de+1)}),Fe;case"infinity":case"nan":case"undefined":return R.push(H),{type:W};default:return F}}function Mu(F){return(Mu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Gf(F){return function(R){if(Array.isArray(R))return iu(R)}(F)||function(R){if(typeof Symbol!="undefined"&&Symbol.iterator in Object(R))return Array.from(R)}(F)||function(R,U){if(!!R){if(typeof R=="string")return iu(R,U);var H=Object.prototype.toString.call(R).slice(8,-1);if(H==="Object"&&R.constructor&&(H=R.constructor.name),H==="Map"||H==="Set")return Array.from(R);if(H==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(H))return iu(R,U)}}(F)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function iu(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);UR.toString()?1:R.toString()>F.toString()?-1:0}function Es(F){for(var R=[],U=F,H=function(){var fe=[].concat(Gf(Object.keys(U)),Gf(Object.getOwnPropertySymbols(U))),ue=Object.getOwnPropertyDescriptors(U);fe.forEach(function(de){ue[de].enumerable&&R.push(de)}),U=Object.getPrototypeOf(U)};U!=null;)H();return R}function Uo(F){var R=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Anonymous",U=ou.get(F);if(U!=null)return U;var H=R;return typeof F.displayName=="string"?H=F.displayName:typeof F.name=="string"&&F.name!==""&&(H=F.name),ou.set(F,H),H}var sl=0;function Ss(){return++sl}function Cs(F){var R=ol.get(F);if(R!==void 0)return R;for(var U=new Array(F.length),H=0;H1&&arguments[1]!==void 0?arguments[1]:50;return F.length>R?F.substr(0,R)+"\u2026":F}function Mr(F,R){if(F!=null&&hasOwnProperty.call(F,Ci.type))return R?F[Ci.preview_long]:F[Ci.preview_short];switch(cl(F)){case"html_element":return"<".concat(Ui(F.tagName.toLowerCase())," />");case"function":return Ui("\u0192 ".concat(typeof F.name=="function"?"":F.name,"() {}"));case"string":return'"'.concat(F,'"');case"bigint":return Ui(F.toString()+"n");case"regexp":case"symbol":return Ui(F.toString());case"react_element":return"<".concat(Ui(al(F)||"Unknown")," />");case"array_buffer":return"ArrayBuffer(".concat(F.byteLength,")");case"data_view":return"DataView(".concat(F.buffer.byteLength,")");case"array":if(R){for(var U="",H=0;H0&&(U+=", "),!((U+=Mr(F[H],!1)).length>50));H++);return"[".concat(Ui(U),"]")}var fe=hasOwnProperty.call(F,Ci.size)?F[Ci.size]:F.length;return"Array(".concat(fe,")");case"typed_array":var ue="".concat(F.constructor.name,"(").concat(F.length,")");if(R){for(var de="",W=0;W0&&(de+=", "),!((de+=F[W]).length>50));W++);return"".concat(ue," [").concat(Ui(de),"]")}return ue;case"iterator":var ve=F.constructor.name;if(R){for(var Fe=Array.from(F),Ge="",K=0;K0&&(Ge+=", "),Array.isArray(xe)){var je=Mr(xe[0],!0),Xe=Mr(xe[1],!1);Ge+="".concat(je," => ").concat(Xe)}else Ge+=Mr(xe,!1);if(Ge.length>50)break}return"".concat(ve,"(").concat(F.size,") {").concat(Ui(Ge),"}")}return"".concat(ve,"(").concat(F.size,")");case"opaque_iterator":return F[Symbol.toStringTag];case"date":return F.toString();case"object":if(R){for(var rt=Es(F).sort(ul),st="",xt=0;xt0&&(st+=", "),(st+="".concat(wt.toString(),": ").concat(Mr(F[wt],!1))).length>50)break}return"{".concat(Ui(st),"}")}return"{\u2026}";case"boolean":case"number":case"infinity":case"nan":case"null":case"undefined":return F;default:try{return Ui(""+F)}catch(lt){return"unserializable"}}}var Ac=f(7);function of(F){return(of=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Ts(F,R){var U=Object.keys(F);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(F);R&&(H=H.filter(function(fe){return Object.getOwnPropertyDescriptor(F,fe).enumerable})),U.push.apply(U,H)}return U}function xs(F){for(var R=1;R2&&arguments[2]!==void 0?arguments[2]:[];if(F!==null){var H=[],fe=[],ue=Ds(F,H,fe,U,R);return{data:ue,cleaned:H,unserializable:fe}}return null}function qo(F){var R,U,H=(R=F,U=new Set,JSON.stringify(R,function(de,W){if(of(W)==="object"&&W!==null){if(U.has(W))return;U.add(W)}return typeof W=="bigint"?W.toString()+"n":W})),fe=H===void 0?"undefined":H,ue=window.__REACT_DEVTOOLS_GLOBAL_HOOK__.clipboardCopyText;typeof ue=="function"?ue(fe).catch(function(de){}):Object(Ac.copy)(fe)}function kr(F,R){var U=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,H=R[U],fe=Array.isArray(F)?F.slice():xs({},F);return U+1===R.length?Array.isArray(fe)?fe.splice(H,1):delete fe[H]:fe[H]=kr(F[H],R,U+1),fe}function Fr(F,R,U){var H=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0,fe=R[H],ue=Array.isArray(F)?F.slice():xs({},F);if(H+1===R.length){var de=U[H];ue[de]=ue[fe],Array.isArray(ue)?ue.splice(fe,1):delete ue[fe]}else ue[fe]=Fr(F[fe],R,U,H+1);return ue}function si(F,R,U){var H=arguments.length>3&&arguments[3]!==void 0?arguments[3]:0;if(H>=R.length)return U;var fe=R[H],ue=Array.isArray(F)?F.slice():xs({},F);return ue[fe]=si(F[fe],R,U,H+1),ue}var H0=f(8);function b0(F,R){var U=Object.keys(F);if(Object.getOwnPropertySymbols){var H=Object.getOwnPropertySymbols(F);R&&(H=H.filter(function(fe){return Object.getOwnPropertyDescriptor(F,fe).enumerable})),U.push.apply(U,H)}return U}function Bt(F){for(var R=1;R=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function As(F,R){if(F){if(typeof F=="string")return uu(F,R);var U=Object.prototype.toString.call(F).slice(8,-1);return U==="Object"&&F.constructor&&(U=F.constructor.name),U==="Map"||U==="Set"?Array.from(F):U==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(U)?uu(F,R):void 0}}function uu(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);U0){var et=ue(X);if(et!=null){var Dt,bt=ks(du);try{for(bt.s();!(Dt=bt.n()).done;)if(Dt.value.test(et))return!0}catch(fn){bt.e(fn)}finally{bt.f()}}}if(Y!=null&&Yu.size>0){var Zt,qt=Y.fileName,Ut=ks(Yu);try{for(Ut.s();!(Zt=Ut.n()).done;)if(Zt.value.test(qt))return!0}catch(fn){Ut.e(fn)}finally{Ut.f()}}return!1}function Gr(X){var Y=X.type;switch(X.tag){case Xe:case ar:return 1;case je:case rn:return 5;case wt:return 6;case lt:return 11;case yn:return 7;case Rt:case sn:case xt:return 9;case Hn:case Cr:return 8;case He:return 12;case Qe:return 13;default:switch(de(Y)){case 60111:case"Symbol(react.concurrent_mode)":case"Symbol(react.async_mode)":return 9;case 60109:case"Symbol(react.provider)":return 2;case 60110:case"Symbol(react.context)":return 2;case 60108:case"Symbol(react.strict_mode)":return 9;case 60114:case"Symbol(react.profiler)":return 10;default:return 9}}}function ir(X){if(Co.has(X))return X;var Y=X.alternate;return Y!=null&&Co.has(Y)?Y:(Co.add(X),X)}window.__REACT_DEVTOOLS_COMPONENT_FILTERS__!=null?qs(window.__REACT_DEVTOOLS_COMPONENT_FILTERS__):qs([{type:1,value:7,isEnabled:!0}]);var L0=new Map,Y0=new Map,Co=new Set,$u=new Map,Vo=new Map,Rr=-1;function Jn(X){if(!L0.has(X)){var Y=Ss();L0.set(X,Y),Y0.set(Y,X)}return L0.get(X)}function ai(X){switch(Gr(X)){case 1:if(N0!==null){var Y=Jn(ir(X)),ye=Vr(X);ye!==null&&N0.set(Y,ye)}}}var o0={};function Vr(X){switch(Gr(X)){case 1:var Y=X.stateNode,ye=o0,he=o0;return Y!=null&&(Y.constructor&&Y.constructor.contextType!=null?he=Y.context:(ye=Y.context)&&Object.keys(ye).length===0&&(ye=o0)),[ye,he];default:return null}}function ff(X){switch(Gr(X)){case 1:if(N0!==null){var Y=Jn(ir(X)),ye=N0.has(Y)?N0.get(Y):null,he=Vr(X);if(ye==null||he==null)return null;var We=Ru(ye,2),et=We[0],Dt=We[1],bt=Ru(he,2),Zt=bt[0],qt=bt[1];if(Zt!==o0)return $0(et,Zt);if(qt!==o0)return Dt!==qt}}return null}function cf(X,Y){if(X==null||Y==null)return!1;if(Y.hasOwnProperty("baseState")&&Y.hasOwnProperty("memoizedState")&&Y.hasOwnProperty("next")&&Y.hasOwnProperty("queue"))for(;Y!==null;){if(Y.memoizedState!==X.memoizedState)return!0;Y=Y.next,X=X.next}return!1}function $0(X,Y){if(X==null||Y==null||Y.hasOwnProperty("baseState")&&Y.hasOwnProperty("memoizedState")&&Y.hasOwnProperty("next")&&Y.hasOwnProperty("queue"))return null;var ye,he=[],We=ks(new Set([].concat(c0(Object.keys(X)),c0(Object.keys(Y)))));try{for(We.s();!(ye=We.n()).done;){var et=ye.value;X[et]!==Y[et]&&he.push(et)}}catch(Dt){We.e(Dt)}finally{We.f()}return he}function K0(X,Y){switch(Y.tag){case Xe:case je:case rt:case Hn:case Cr:return(zo(Y)&K)===K;default:return X.memoizedProps!==Y.memoizedProps||X.memoizedState!==Y.memoizedState||X.ref!==Y.ref}}var ae=[],Be=[],Ie=[],ht=[],mt=new Map,wn=0,Gn=null;function $t(X){ae.push(X)}function X0(X){if(ae.length!==0||Be.length!==0||Ie.length!==0||Gn!==null||u0){var Y=Be.length+Ie.length+(Gn===null?0:1),ye=new Array(3+wn+(Y>0?2+Y:0)+ae.length),he=0;if(ye[he++]=R,ye[he++]=Rr,ye[he++]=wn,mt.forEach(function(bt,Zt){ye[he++]=Zt.length;for(var qt=Cs(Zt),Ut=0;Ut0){ye[he++]=2,ye[he++]=Y;for(var We=Be.length-1;We>=0;We--)ye[he++]=Be[We];for(var et=0;et0?X.forEach(function(Y){F.emit("operations",Y)}):(Fn!==null&&(zr=!0),F.getFiberRoots(R).forEach(function(Y){T0(Rr=Jn(ir(Y.current)),Y.current),u0&&Y.memoizedInteractions!=null&&(uo={changeDescriptions:To?new Map:null,durations:[],commitTime:Os()-v0,interactions:Array.from(Y.memoizedInteractions).map(function(ye){return Bt(Bt({},ye),{},{timestamp:ye.timestamp-v0})}),maxActualDuration:0,priorityLevel:null}),$r(Y.current,null,!1,!1),X0(),Rr=-1}))},getBestMatchForTrackedPath:function(){if(Fn===null||pi===null)return null;for(var X=pi;X!==null&&F0(X);)X=X.return;return X===null?null:{id:Jn(ir(X)),isFullMatch:Br===Fn.length-1}},getDisplayNameForFiberID:function(X){var Y=Y0.get(X);return Y!=null?ue(Y):null},getFiberIDForNative:function(X){var Y=arguments.length>1&&arguments[1]!==void 0&&arguments[1],ye=U.findFiberByHostInstance(X);if(ye!=null){if(Y)for(;ye!==null&&F0(ye);)ye=ye.return;return Jn(ir(ye))}return null},getInstanceAndStyle:function(X){var Y=null,ye=null,he=J0(X);return he!==null&&(Y=he.stateNode,he.memoizedProps!==null&&(ye=he.memoizedProps.style)),{instance:Y,style:ye}},getOwnersList:function(X){var Y=J0(X);if(Y==null)return null;var ye=Y._debugOwner,he=[{displayName:ue(Y)||"Anonymous",id:X,type:Gr(Y)}];if(ye)for(var We=ye;We!==null;)he.unshift({displayName:ue(We)||"Anonymous",id:Jn(ir(We)),type:Gr(We)}),We=We._debugOwner||null;return he},getPathForElement:function(X){var Y=Y0.get(X);if(Y==null)return null;for(var ye=[];Y!==null;)ye.push(Ai(Y)),Y=Y.return;return ye.reverse(),ye},getProfilingData:function(){var X=[];if(pu===null)throw Error("getProfilingData() called before any profiling data was recorded");return pu.forEach(function(Y,ye){var he=[],We=[],et=new Map,Dt=new Map,bt=so!==null&&so.get(ye)||"Unknown";C0!=null&&C0.forEach(function(Zt,qt){di!=null&&di.get(qt)===ye&&We.push([qt,Zt])}),Y.forEach(function(Zt,qt){var Ut=Zt.changeDescriptions,fn=Zt.durations,_t=Zt.interactions,_r=Zt.maxActualDuration,Wr=Zt.priorityLevel,Ar=Zt.commitTime,z=[];_t.forEach(function(s0){et.has(s0.id)||et.set(s0.id,s0),z.push(s0.id);var t0=Dt.get(s0.id);t0!=null?t0.push(qt):Dt.set(s0.id,[qt])});for(var dr=[],Or=[],Qn=0;Qn1?kn.set(Ut,fn-1):kn.delete(Ut),wr.delete(Zt)}(Rr),Yr(ye,!1))}else T0(Rr,ye),$r(ye,null,!1,!1);if(u0&&We){var bt=pu.get(Rr);bt!=null?bt.push(uo):pu.set(Rr,[uo])}X0(),oo&&F.emit("traceUpdates",Hi),Rr=-1},handleCommitFiberUnmount:function(X){Yr(X,!1)},inspectElement:function(X,Y){if(Tr(X)){if(Y!=null){R0(Y);var ye=null;return Y[0]==="hooks"&&(ye="hooks"),{id:X,type:"hydrated-path",path:Y,value:qi(Ti(S0,Y),Nr(null,ye),Y)}}return{id:X,type:"no-change"}}if(El=!1,S0!==null&&S0.id===X||(Q0={}),(S0=af(X))===null)return{id:X,type:"not-found"};Y!=null&&R0(Y),function(We){var et=We.hooks,Dt=We.id,bt=We.props,Zt=Y0.get(Dt);if(Zt!=null){var qt=Zt.elementType,Ut=Zt.stateNode,fn=Zt.tag,_t=Zt.type;switch(fn){case Xe:case ar:case rn:H.$r=Ut;break;case je:H.$r={hooks:et,props:bt,type:_t};break;case wt:H.$r={props:bt,type:_t.render};break;case Hn:case Cr:H.$r={props:bt,type:qt!=null&&qt.type!=null?qt.type:_t};break;default:H.$r=null}}else console.warn('Could not find Fiber with id "'.concat(Dt,'"'))}(S0);var he=Bt({},S0);return he.context=qi(he.context,Nr("context",null)),he.hooks=qi(he.hooks,Nr("hooks","hooks")),he.props=qi(he.props,Nr("props",null)),he.state=qi(he.state,Nr("state",null)),{id:X,type:"full-data",value:he}},logElementToConsole:function(X){var Y=Tr(X)?S0:af(X);if(Y!==null){var ye=typeof console.groupCollapsed=="function";ye&&console.groupCollapsed("[Click to expand] %c<".concat(Y.displayName||"Component"," />"),"color: var(--dom-tag-name-color); font-weight: normal;"),Y.props!==null&&console.log("Props:",Y.props),Y.state!==null&&console.log("State:",Y.state),Y.hooks!==null&&console.log("Hooks:",Y.hooks);var he=zs(X);he!==null&&console.log("Nodes:",he),Y.source!==null&&console.log("Location:",Y.source),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),ye&&console.groupEnd()}else console.warn('Could not find Fiber with id "'.concat(X,'"'))},prepareViewAttributeSource:function(X,Y){Tr(X)&&(window.$attribute=Ti(S0,Y))},prepareViewElementSource:function(X){var Y=Y0.get(X);if(Y!=null){var ye=Y.elementType,he=Y.tag,We=Y.type;switch(he){case Xe:case ar:case rn:case je:H.$type=We;break;case wt:H.$type=We.render;break;case Hn:case Cr:H.$type=ye!=null&&ye.type!=null?ye.type:We;break;default:H.$type=null}}else console.warn('Could not find Fiber with id "'.concat(X,'"'))},overrideSuspense:function(X,Y){if(typeof Eo!="function"||typeof So!="function")throw new Error("Expected overrideSuspense() to not get called for earlier React versions.");Y?(B0.add(X),B0.size===1&&Eo(hu)):(B0.delete(X),B0.size===0&&Eo(Cl));var ye=Y0.get(X);ye!=null&&So(ye)},overrideValueAtPath:function(X,Y,ye,he,We){var et=J0(Y);if(et!==null){var Dt=et.stateNode;switch(X){case"context":switch(he=he.slice(1),et.tag){case Xe:he.length===0?Dt.context=We:fl(Dt.context,he,We),Dt.forceUpdate()}break;case"hooks":typeof p0=="function"&&p0(et,ye,he,We);break;case"props":switch(et.tag){case Xe:et.pendingProps=si(Dt.props,he,We),Dt.forceUpdate();break;default:typeof xi=="function"&&xi(et,he,We)}break;case"state":switch(et.tag){case Xe:fl(Dt.state,he,We),Dt.forceUpdate()}}}},renamePath:function(X,Y,ye,he,We){var et=J0(Y);if(et!==null){var Dt=et.stateNode;switch(X){case"context":switch(he=he.slice(1),We=We.slice(1),et.tag){case Xe:he.length===0||ll(Dt.context,he,We),Dt.forceUpdate()}break;case"hooks":typeof ci=="function"&&ci(et,ye,he,We);break;case"props":Dt===null?typeof qr=="function"&&qr(et,he,We):(et.pendingProps=Fr(Dt.props,he,We),Dt.forceUpdate());break;case"state":ll(Dt.state,he,We),Dt.forceUpdate()}}},renderer:U,setTraceUpdatesEnabled:function(X){oo=X},setTrackedPath:lo,startProfiling:Sl,stopProfiling:function(){u0=!1,To=!1},storeAsGlobal:function(X,Y,ye){if(Tr(X)){var he=Ti(S0,Y),We="$reactTemp".concat(ye);window[We]=he,console.log(We),console.log(he)}},updateComponentFilters:function(X){if(u0)throw Error("Cannot modify filter preferences while profiling");F.getFiberRoots(R).forEach(function(Y){Rr=Jn(ir(Y.current)),m0(Y.current),Yr(Y.current,!1),Rr=-1}),qs(X),kn.clear(),F.getFiberRoots(R).forEach(function(Y){T0(Rr=Jn(ir(Y.current)),Y.current),$r(Y.current,null,!1,!1),X0(Y),Rr=-1})}}}var _n;function Nu(F){return(Nu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function Wo(F,R,U){if(_n===void 0)try{throw Error()}catch(fe){var H=fe.stack.trim().match(/\n( *(at )?)/);_n=H&&H[1]||""}return` -`+_n+F}var su=!1;function Ps(F,R,U){if(!F||su)return"";var H,fe=Error.prepareStackTrace;Error.prepareStackTrace=void 0,su=!0;var ue=U.current;U.current=null;try{if(R){var de=function(){throw Error()};if(Object.defineProperty(de.prototype,"props",{set:function(){throw Error()}}),(typeof Reflect=="undefined"?"undefined":Nu(Reflect))==="object"&&Reflect.construct){try{Reflect.construct(de,[])}catch(xe){H=xe}Reflect.construct(F,[],de)}else{try{de.call()}catch(xe){H=xe}F.call(de.prototype)}}else{try{throw Error()}catch(xe){H=xe}F()}}catch(xe){if(xe&&H&&typeof xe.stack=="string"){for(var W=xe.stack.split(` -`),ve=H.stack.split(` -`),Fe=W.length-1,Ge=ve.length-1;Fe>=1&&Ge>=0&&W[Fe]!==ve[Ge];)Ge--;for(;Fe>=1&&Ge>=0;Fe--,Ge--)if(W[Fe]!==ve[Ge]){if(Fe!==1||Ge!==1)do if(Fe--,--Ge<0||W[Fe]!==ve[Ge])return` -`+W[Fe].replace(" at new "," at ");while(Fe>=1&&Ge>=0);break}}}finally{su=!1,Error.prepareStackTrace=fe,U.current=ue}var K=F?F.displayName||F.name:"";return K?Wo(K):""}function pl(F,R,U,H){return Ps(F,!1,H)}function Vf(F,R,U){var H=F.HostComponent,fe=F.LazyComponent,ue=F.SuspenseComponent,de=F.SuspenseListComponent,W=F.FunctionComponent,ve=F.IndeterminateComponent,Fe=F.SimpleMemoComponent,Ge=F.ForwardRef,K=F.Block,xe=F.ClassComponent;switch(R.tag){case H:return Wo(R.type);case fe:return Wo("Lazy");case ue:return Wo("Suspense");case de:return Wo("SuspenseList");case W:case ve:case Fe:return pl(R.type,0,0,U);case Ge:return pl(R.type.render,0,0,U);case K:return pl(R.type._render,0,0,U);case xe:return function(je,Xe,rt,st){return Ps(je,!0,st)}(R.type,0,0,U);default:return""}}function hl(F,R,U){try{var H="",fe=R;do H+=Vf(F,fe,U),fe=fe.return;while(fe);return H}catch(ue){return` -Error generating stack: `+ue.message+` -`+ue.stack}}function Bu(F,R){var U;if(typeof Symbol=="undefined"||F[Symbol.iterator]==null){if(Array.isArray(F)||(U=function(ve,Fe){if(!!ve){if(typeof ve=="string")return ju(ve,Fe);var Ge=Object.prototype.toString.call(ve).slice(8,-1);if(Ge==="Object"&&ve.constructor&&(Ge=ve.constructor.name),Ge==="Map"||Ge==="Set")return Array.from(ve);if(Ge==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Ge))return ju(ve,Fe)}}(F))||R&&F&&typeof F.length=="number"){U&&(F=U);var H=0,fe=function(){};return{s:fe,n:function(){return H>=F.length?{done:!0}:{done:!1,value:F[H++]}},e:function(ve){throw ve},f:fe}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var ue,de=!0,W=!1;return{s:function(){U=F[Symbol.iterator]()},n:function(){var ve=U.next();return de=ve.done,ve},e:function(ve){W=!0,ue=ve},f:function(){try{de||U.return==null||U.return()}finally{if(W)throw ue}}}}function ju(F,R){(R==null||R>F.length)&&(R=F.length);for(var U=0,H=new Array(R);U0?Fe[Fe.length-1]:null,xe=K!==null&&(ro.test(K)||Ms.test(K));if(!xe){var je,Xe=Bu(ml.values());try{for(Xe.s();!(je=Xe.n()).done;){var rt=je.value,st=rt.currentDispatcherRef,xt=rt.getCurrentFiber,wt=rt.workTagMap,lt=xt();if(lt!=null){var Rt=hl(wt,lt,st);Rt!==""&&Fe.push(Rt);break}}}catch(yn){Xe.e(yn)}finally{Xe.f()}}}catch(yn){}ue.apply(void 0,Fe)};de.__REACT_DEVTOOLS_ORIGINAL_METHOD__=ue,Uu[fe]=de}catch(W){}})}}function O0(F){return(O0=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R})(F)}function vl(F,R){for(var U=0;UF.length)&&(R=F.length);for(var U=0,H=new Array(R);U1?W-1:0),Fe=1;Fe0?K[K.length-1]:0),K.push(St),W.set(Ne,Fe(ft._topLevelWrapper));try{var Qt=He.apply(this,Qe);return K.pop(),Qt}catch(bn){throw K=[],bn}finally{if(K.length===0){var Cn=W.get(Ne);if(Cn===void 0)throw new Error("Expected to find root ID.");yn(Cn)}}},performUpdateIfNecessary:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);var St=ln(Ne);try{var Qt=He.apply(this,Qe),Cn=ln(Ne);return Ge(St,Cn)||Xe(Ne,ft,Cn),K.pop(),Qt}catch(p0){throw K=[],p0}finally{if(K.length===0){var bn=W.get(Ne);if(bn===void 0)throw new Error("Expected to find root ID.");yn(bn)}}},receiveComponent:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);var St=ln(Ne);try{var Qt=He.apply(this,Qe),Cn=ln(Ne);return Ge(St,Cn)||Xe(Ne,ft,Cn),K.pop(),Qt}catch(p0){throw K=[],p0}finally{if(K.length===0){var bn=W.get(Ne);if(bn===void 0)throw new Error("Expected to find root ID.");yn(bn)}}},unmountComponent:function(He,Qe){var Ne=Qe[0];if(P0(Ne)===9)return He.apply(this,Qe);var ft=Fe(Ne);K.push(ft);try{var St=He.apply(this,Qe);return K.pop(),function(Cn,bn){wt.push(bn),ue.delete(bn)}(0,ft),St}catch(Cn){throw K=[],Cn}finally{if(K.length===0){var Qt=W.get(Ne);if(Qt===void 0)throw new Error("Expected to find root ID.");yn(Qt)}}}}));var st=[],xt=new Map,wt=[],lt=0,Rt=null;function yn(He){if(st.length!==0||wt.length!==0||Rt!==null){var Qe=wt.length+(Rt===null?0:1),Ne=new Array(3+lt+(Qe>0?2+Qe:0)+st.length),ft=0;if(Ne[ft++]=R,Ne[ft++]=He,Ne[ft++]=lt,xt.forEach(function(Cn,bn){Ne[ft++]=bn.length;for(var p0=Cs(bn),h0=0;h00){Ne[ft++]=2,Ne[ft++]=Qe;for(var St=0;St"),"color: var(--dom-tag-name-color); font-weight: normal;"),Qe.props!==null&&console.log("Props:",Qe.props),Qe.state!==null&&console.log("State:",Qe.state),Qe.context!==null&&console.log("Context:",Qe.context);var ft=fe(He);ft!==null&&console.log("Node:",ft),(window.chrome||/firefox/i.test(navigator.userAgent))&&console.log("Right-click any value to save it as a global variable for further inspection."),Ne&&console.groupEnd()}else console.warn('Could not find element with id "'.concat(He,'"'))},overrideSuspense:function(){throw new Error("overrideSuspense not supported by this renderer")},overrideValueAtPath:function(He,Qe,Ne,ft,St){var Qt=ue.get(Qe);if(Qt!=null){var Cn=Qt._instance;if(Cn!=null)switch(He){case"context":fl(Cn.context,ft,St),a0(Cn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var bn=Qt._currentElement;Qt._currentElement=V0(V0({},bn),{},{props:si(bn.props,ft,St)}),a0(Cn);break;case"state":fl(Cn.state,ft,St),a0(Cn)}}},renamePath:function(He,Qe,Ne,ft,St){var Qt=ue.get(Qe);if(Qt!=null){var Cn=Qt._instance;if(Cn!=null)switch(He){case"context":ll(Cn.context,ft,St),a0(Cn);break;case"hooks":throw new Error("Hooks not supported by this renderer");case"props":var bn=Qt._currentElement;Qt._currentElement=V0(V0({},bn),{},{props:Fr(bn.props,ft,St)}),a0(Cn);break;case"state":ll(Cn.state,ft,St),a0(Cn)}}},prepareViewAttributeSource:function(He,Qe){var Ne=Cr(He);Ne!==null&&(window.$attribute=Ti(Ne,Qe))},prepareViewElementSource:function(He){var Qe=ue.get(He);if(Qe!=null){var Ne=Qe._currentElement;Ne!=null?H.$type=Ne.type:console.warn('Could not find element with id "'.concat(He,'"'))}else console.warn('Could not find instance with id "'.concat(He,'"'))},renderer:U,setTraceUpdatesEnabled:function(He){},setTrackedPath:function(He){},startProfiling:function(){},stopProfiling:function(){},storeAsGlobal:function(He,Qe,Ne){var ft=Cr(He);if(ft!==null){var St=Ti(ft,Qe),Qt="$reactTemp".concat(Ne);window[Qt]=St,console.log(Qt),console.log(St)}},updateComponentFilters:function(He){}}}function nr(F,R){var U=!1,H={bottom:0,left:0,right:0,top:0},fe=R[F];if(fe!=null){for(var ue=0,de=Object.keys(H);ue0?"development":"production";var st=Function.prototype.toString;if(rt.Mount&&rt.Mount._renderNewRootComponent){var xt=st.call(rt.Mount._renderNewRootComponent);return xt.indexOf("function")!==0?"production":xt.indexOf("storedMeasure")!==-1?"development":xt.indexOf("should be a pure function")!==-1?xt.indexOf("NODE_ENV")!==-1||xt.indexOf("development")!==-1||xt.indexOf("true")!==-1?"development":xt.indexOf("nextElement")!==-1||xt.indexOf("nextComponent")!==-1?"unminified":"development":xt.indexOf("nextElement")!==-1||xt.indexOf("nextComponent")!==-1?"unminified":"outdated"}}catch(wt){}return"production"}(ve);try{var K=window.__REACT_DEVTOOLS_APPEND_COMPONENT_STACK__!==!1,xe=window.__REACT_DEVTOOLS_BREAK_ON_CONSOLE_ERRORS__===!0;(K||xe)&&(zi(ve),Ho({appendComponentStack:K,breakOnConsoleErrors:xe}))}catch(rt){}var je=F.__REACT_DEVTOOLS_ATTACH__;if(typeof je=="function"){var Xe=je(W,Fe,ve,F);W.rendererInterfaces.set(Fe,Xe)}return W.emit("renderer",{id:Fe,renderer:ve,reactBuildType:Ge}),Fe},on:function(ve,Fe){ue[ve]||(ue[ve]=[]),ue[ve].push(Fe)},off:function(ve,Fe){if(ue[ve]){var Ge=ue[ve].indexOf(Fe);Ge!==-1&&ue[ve].splice(Ge,1),ue[ve].length||delete ue[ve]}},sub:function(ve,Fe){return W.on(ve,Fe),function(){return W.off(ve,Fe)}},supportsFiber:!0,checkDCE:function(ve){try{Function.prototype.toString.call(ve).indexOf("^_^")>-1&&(U=!0,setTimeout(function(){throw new Error("React is running in production mode, but dead code elimination has not been applied. Read how to correctly configure React for production: https://reactjs.org/link/perf-use-production-build")}))}catch(Fe){}},onCommitFiberUnmount:function(ve,Fe){var Ge=fe.get(ve);Ge!=null&&Ge.handleCommitFiberUnmount(Fe)},onCommitFiberRoot:function(ve,Fe,Ge){var K=W.getFiberRoots(ve),xe=Fe.current,je=K.has(Fe),Xe=xe.memoizedState==null||xe.memoizedState.element==null;je||Xe?je&&Xe&&K.delete(Fe):K.add(Fe);var rt=fe.get(ve);rt!=null&&rt.handleCommitFiberRoot(Fe,Ge)}};Object.defineProperty(F,"__REACT_DEVTOOLS_GLOBAL_HOOK__",{configurable:!1,enumerable:!1,get:function(){return W}})})(window);var M0=window.__REACT_DEVTOOLS_GLOBAL_HOOK__,au=[{type:1,value:7,isEnabled:!0}];function Lr(F){if(M0!=null){var R=F||{},U=R.host,H=U===void 0?"localhost":U,fe=R.nativeStyleEditorValidAttributes,ue=R.useHttps,de=ue!==void 0&&ue,W=R.port,ve=W===void 0?8097:W,Fe=R.websocket,Ge=R.resolveRNStyle,K=Ge===void 0?null:Ge,xe=R.isAppActive,je=de?"wss":"ws",Xe=null;if((xe===void 0?function(){return!0}:xe)()){var rt=null,st=[],xt=je+"://"+H+":"+ve,wt=Fe||new window.WebSocket(xt);wt.onclose=function(){rt!==null&&rt.emit("shutdown"),lt()},wt.onerror=function(){lt()},wt.onmessage=function(Rt){var yn;try{if(typeof Rt.data!="string")throw Error();yn=JSON.parse(Rt.data)}catch(sn){return void console.error("[React DevTools] Failed to parse JSON: "+Rt.data)}st.forEach(function(sn){try{sn(yn)}catch(ar){throw console.log("[React DevTools] Error calling listener",yn),console.log("error:",ar),ar}})},wt.onopen=function(){(rt=new Do({listen:function(rn){return st.push(rn),function(){var Hn=st.indexOf(rn);Hn>=0&&st.splice(Hn,1)}},send:function(rn,Hn,d0){wt.readyState===wt.OPEN?wt.send(JSON.stringify({event:rn,payload:Hn})):(rt!==null&&rt.shutdown(),lt())}})).addListener("inspectElement",function(rn){var Hn=rn.id,d0=rn.rendererID,Cr=Rt.rendererInterfaces[d0];if(Cr!=null){var He=Cr.findNativeNodesForFiberID(Hn);He!=null&&He[0]!=null&&Rt.emit("showNativeHighlight",He[0])}}),rt.addListener("updateComponentFilters",function(rn){au=rn}),window.__REACT_DEVTOOLS_COMPONENT_FILTERS__==null&&rt.send("overrideComponentFilters",au);var Rt=new I0(rt);if(Rt.addListener("shutdown",function(){M0.emit("shutdown")}),function(rn,Hn,d0){if(rn==null)return function(){};var Cr=[rn.sub("renderer-attached",function(Ne){var ft=Ne.id,St=(Ne.renderer,Ne.rendererInterface);Hn.setRendererInterface(ft,St),St.flushInitialOperations()}),rn.sub("unsupported-renderer-version",function(Ne){Hn.onUnsupportedRenderer(Ne)}),rn.sub("operations",Hn.onHookOperations),rn.sub("traceUpdates",Hn.onTraceUpdates)],He=function(Ne,ft){var St=rn.rendererInterfaces.get(Ne);St==null&&(typeof ft.findFiberByHostInstance=="function"?St=uf(rn,Ne,ft,d0):ft.ComponentTree&&(St=lf(rn,Ne,ft,d0)),St!=null&&rn.rendererInterfaces.set(Ne,St)),St!=null?rn.emit("renderer-attached",{id:Ne,renderer:ft,rendererInterface:St}):rn.emit("unsupported-renderer-version",Ne)};rn.renderers.forEach(function(Ne,ft){He(ft,Ne)}),Cr.push(rn.sub("renderer",function(Ne){var ft=Ne.id,St=Ne.renderer;He(ft,St)})),rn.emit("react-devtools",Hn),rn.reactDevtoolsAgent=Hn;var Qe=function(){Cr.forEach(function(Ne){return Ne()}),rn.rendererInterfaces.forEach(function(Ne){Ne.cleanup()}),rn.reactDevtoolsAgent=null};Hn.addListener("shutdown",Qe),Cr.push(function(){Hn.removeListener("shutdown",Qe)})}(M0,Rt,window),K!=null||M0.resolveRNStyle!=null)Gu(rt,Rt,K||M0.resolveRNStyle,fe||M0.nativeStyleEditorValidAttributes||null);else{var yn,sn,ar=function(){rt!==null&&Gu(rt,Rt,yn,sn)};M0.hasOwnProperty("resolveRNStyle")||Object.defineProperty(M0,"resolveRNStyle",{enumerable:!1,get:function(){return yn},set:function(rn){yn=rn,ar()}}),M0.hasOwnProperty("nativeStyleEditorValidAttributes")||Object.defineProperty(M0,"nativeStyleEditorValidAttributes",{enumerable:!1,get:function(){return sn},set:function(rn){sn=rn,ar()}})}}}else lt()}function lt(){Xe===null&&(Xe=setTimeout(function(){return Lr(F)},2e3))}}}])})});var rS=Me(nS=>{"use strict";Object.defineProperty(nS,"__esModule",{value:!0});eS();var _j=tS();_j.connectToDevTools()});var lS=Me(x2=>{"use strict";var iS=x2&&x2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(x2,"__esModule",{value:!0});var oS=Ay(),yj=iS(lE()),uS=iS(hc()),no=Xy();process.env.DEV==="true"&&rS();var sS=i=>{i==null||i.unsetMeasureFunc(),i==null||i.freeRecursive()};x2.default=yj.default({schedulePassiveEffects:oS.unstable_scheduleCallback,cancelPassiveEffects:oS.unstable_cancelCallback,now:Date.now,getRootHostContext:()=>({isInsideText:!1}),prepareForCommit:()=>{},resetAfterCommit:i=>{if(i.isStaticDirty){i.isStaticDirty=!1,typeof i.onImmediateRender=="function"&&i.onImmediateRender();return}typeof i.onRender=="function"&&i.onRender()},getChildHostContext:(i,u)=>{let f=i.isInsideText,c=u==="ink-text"||u==="ink-virtual-text";return f===c?i:{isInsideText:c}},shouldSetTextContent:()=>!1,createInstance:(i,u,f,c)=>{if(c.isInsideText&&i==="ink-box")throw new Error(" can\u2019t be nested inside component");let g=i==="ink-text"&&c.isInsideText?"ink-virtual-text":i,t=no.createNode(g);for(let[C,A]of Object.entries(u))C!=="children"&&(C==="style"?no.setStyle(t,A):C==="internal_transform"?t.internal_transform=A:C==="internal_static"?t.internal_static=!0:no.setAttribute(t,C,A));return t},createTextInstance:(i,u,f)=>{if(!f.isInsideText)throw new Error(`Text string "${i}" must be rendered inside component`);return no.createTextNode(i)},resetTextContent:()=>{},hideTextInstance:i=>{no.setTextNodeValue(i,"")},unhideTextInstance:(i,u)=>{no.setTextNodeValue(i,u)},getPublicInstance:i=>i,hideInstance:i=>{var u;(u=i.yogaNode)===null||u===void 0||u.setDisplay(uS.default.DISPLAY_NONE)},unhideInstance:i=>{var u;(u=i.yogaNode)===null||u===void 0||u.setDisplay(uS.default.DISPLAY_FLEX)},appendInitialChild:no.appendChildNode,appendChild:no.appendChildNode,insertBefore:no.insertBeforeNode,finalizeInitialChildren:(i,u,f,c)=>(i.internal_static&&(c.isStaticDirty=!0,c.staticNode=i),!1),supportsMutation:!0,appendChildToContainer:no.appendChildNode,insertInContainerBefore:no.insertBeforeNode,removeChildFromContainer:(i,u)=>{no.removeChildNode(i,u),sS(u.yogaNode)},prepareUpdate:(i,u,f,c,g)=>{i.internal_static&&(g.isStaticDirty=!0);let t={},C=Object.keys(c);for(let A of C)if(c[A]!==f[A]){if(A==="style"&&typeof c.style=="object"&&typeof f.style=="object"){let D=c.style,L=f.style,N=Object.keys(D);for(let j of N){if(j==="borderStyle"||j==="borderColor"){if(typeof t.style!="object"){let $={};t.style=$}t.style.borderStyle=D.borderStyle,t.style.borderColor=D.borderColor}if(D[j]!==L[j]){if(typeof t.style!="object"){let $={};t.style=$}t.style[j]=D[j]}}continue}t[A]=c[A]}return t},commitUpdate:(i,u)=>{for(let[f,c]of Object.entries(u))f!=="children"&&(f==="style"?no.setStyle(i,c):f==="internal_transform"?i.internal_transform=c:f==="internal_static"?i.internal_static=!0:no.setAttribute(i,f,c))},commitTextUpdate:(i,u,f)=>{no.setTextNodeValue(i,f)},removeChild:(i,u)=>{no.removeChildNode(i,u),sS(u.yogaNode)}})});var cS=Me((Jb,fS)=>{"use strict";fS.exports=(i,u=1,f)=>{if(f=dt({indent:" ",includeEmptyLines:!1},f),typeof i!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof i}\``);if(typeof u!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof u}\``);if(typeof f.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof f.indent}\``);if(u===0)return i;let c=f.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return i.replace(c,f.indent.repeat(u))}});var aS=Me(k2=>{"use strict";var wj=k2&&k2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(k2,"__esModule",{value:!0});var Vh=wj(hc());k2.default=i=>i.getComputedWidth()-i.getComputedPadding(Vh.default.EDGE_LEFT)-i.getComputedPadding(Vh.default.EDGE_RIGHT)-i.getComputedBorder(Vh.default.EDGE_LEFT)-i.getComputedBorder(Vh.default.EDGE_RIGHT)});var pS=Me((Zb,dS)=>{dS.exports={single:{topLeft:"\u250C",topRight:"\u2510",bottomRight:"\u2518",bottomLeft:"\u2514",vertical:"\u2502",horizontal:"\u2500"},double:{topLeft:"\u2554",topRight:"\u2557",bottomRight:"\u255D",bottomLeft:"\u255A",vertical:"\u2551",horizontal:"\u2550"},round:{topLeft:"\u256D",topRight:"\u256E",bottomRight:"\u256F",bottomLeft:"\u2570",vertical:"\u2502",horizontal:"\u2500"},bold:{topLeft:"\u250F",topRight:"\u2513",bottomRight:"\u251B",bottomLeft:"\u2517",vertical:"\u2503",horizontal:"\u2501"},singleDouble:{topLeft:"\u2553",topRight:"\u2556",bottomRight:"\u255C",bottomLeft:"\u2559",vertical:"\u2551",horizontal:"\u2500"},doubleSingle:{topLeft:"\u2552",topRight:"\u2555",bottomRight:"\u255B",bottomLeft:"\u2558",vertical:"\u2502",horizontal:"\u2550"},classic:{topLeft:"+",topRight:"+",bottomRight:"+",bottomLeft:"+",vertical:"|",horizontal:"-"}}});var mS=Me((eG,m3)=>{"use strict";var hS=pS();m3.exports=hS;m3.exports.default=hS});var gS=Me((tG,vS)=>{"use strict";vS.exports=(i,u=process.argv)=>{let f=i.startsWith("-")?"":i.length===1?"-":"--",c=u.indexOf(f+i),g=u.indexOf("--");return c!==-1&&(g===-1||c{"use strict";var Dj=require("os"),yS=require("tty"),Pu=gS(),{env:oi}=process,qf;Pu("no-color")||Pu("no-colors")||Pu("color=false")||Pu("color=never")?qf=0:(Pu("color")||Pu("colors")||Pu("color=true")||Pu("color=always"))&&(qf=1);"FORCE_COLOR"in oi&&(oi.FORCE_COLOR==="true"?qf=1:oi.FORCE_COLOR==="false"?qf=0:qf=oi.FORCE_COLOR.length===0?1:Math.min(parseInt(oi.FORCE_COLOR,10),3));function v3(i){return i===0?!1:{level:i,hasBasic:!0,has256:i>=2,has16m:i>=3}}function g3(i,u){if(qf===0)return 0;if(Pu("color=16m")||Pu("color=full")||Pu("color=truecolor"))return 3;if(Pu("color=256"))return 2;if(i&&!u&&qf===void 0)return 0;let f=qf||0;if(oi.TERM==="dumb")return f;if(process.platform==="win32"){let c=Dj.release().split(".");return Number(c[0])>=10&&Number(c[2])>=10586?Number(c[2])>=14931?3:2:1}if("CI"in oi)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(c=>c in oi)||oi.CI_NAME==="codeship"?1:f;if("TEAMCITY_VERSION"in oi)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(oi.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in oi)return 1;if(oi.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in oi){let c=parseInt((oi.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(oi.TERM_PROGRAM){case"iTerm.app":return c>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(oi.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(oi.TERM)||"COLORTERM"in oi?1:f}function Ej(i){let u=g3(i,i&&i.isTTY);return v3(u)}_S.exports={supportsColor:Ej,stdout:v3(g3(!0,yS.isatty(1))),stderr:v3(g3(!0,yS.isatty(2)))}});var ES=Me((rG,DS)=>{"use strict";var Sj=(i,u,f)=>{let c=i.indexOf(u);if(c===-1)return i;let g=u.length,t=0,C="";do C+=i.substr(t,c-t)+u+f,t=c+g,c=i.indexOf(u,t);while(c!==-1);return C+=i.substr(t),C},Cj=(i,u,f,c)=>{let g=0,t="";do{let C=i[c-1]==="\r";t+=i.substr(g,(C?c-1:c)-g)+u+(C?`\r -`:` -`)+f,g=c+1,c=i.indexOf(` -`,g)}while(c!==-1);return t+=i.substr(g),t};DS.exports={stringReplaceAll:Sj,stringEncaseCRLFWithFirstIndex:Cj}});var kS=Me((iG,SS)=>{"use strict";var Tj=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,CS=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,xj=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,kj=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,Aj=new Map([["n",` -`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a","\x07"]]);function TS(i){let u=i[0]==="u",f=i[1]==="{";return u&&!f&&i.length===5||i[0]==="x"&&i.length===3?String.fromCharCode(parseInt(i.slice(1),16)):u&&f?String.fromCodePoint(parseInt(i.slice(2,-1),16)):Aj.get(i)||i}function Oj(i,u){let f=[],c=u.trim().split(/\s*,\s*/g),g;for(let t of c){let C=Number(t);if(!Number.isNaN(C))f.push(C);else if(g=t.match(xj))f.push(g[2].replace(kj,(A,x,D)=>x?TS(x):D));else throw new Error(`Invalid Chalk template style argument: ${t} (in style '${i}')`)}return f}function Ij(i){CS.lastIndex=0;let u=[],f;for(;(f=CS.exec(i))!==null;){let c=f[1];if(f[2]){let g=Oj(c,f[2]);u.push([c].concat(g))}else u.push([c])}return u}function xS(i,u){let f={};for(let g of u)for(let t of g.styles)f[t[0]]=g.inverse?null:t.slice(1);let c=i;for(let[g,t]of Object.entries(f))if(!!Array.isArray(t)){if(!(g in c))throw new Error(`Unknown Chalk style: ${g}`);c=t.length>0?c[g](...t):c[g]}return c}SS.exports=(i,u)=>{let f=[],c=[],g=[];if(u.replace(Tj,(t,C,A,x,D,L)=>{if(C)g.push(TS(C));else if(x){let N=g.join("");g=[],c.push(f.length===0?N:xS(i,f)(N)),f.push({inverse:A,styles:Ij(x)})}else if(D){if(f.length===0)throw new Error("Found extraneous } in Chalk template literal");c.push(xS(i,f)(g.join(""))),g=[],f.pop()}else g.push(L)}),c.push(g.join("")),f.length>0){let t=`Chalk template literal is missing ${f.length} closing bracket${f.length===1?"":"s"} (\`}\`)`;throw new Error(t)}return c.join("")}});var Jh=Me((oG,AS)=>{"use strict";var A2=Rh(),{stdout:_3,stderr:y3}=wS(),{stringReplaceAll:Pj,stringEncaseCRLFWithFirstIndex:Mj}=ES(),{isArray:Yh}=Array,OS=["ansi","ansi","ansi256","ansi16m"],ka=Object.create(null),Fj=(i,u={})=>{if(u.level&&!(Number.isInteger(u.level)&&u.level>=0&&u.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let f=_3?_3.level:0;i.level=u.level===void 0?f:u.level},IS=class{constructor(u){return PS(u)}},PS=i=>{let u={};return Fj(u,i),u.template=(...f)=>MS(u.template,...f),Object.setPrototypeOf(u,$h.prototype),Object.setPrototypeOf(u.template,u),u.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},u.template.Instance=IS,u.template};function $h(i){return PS(i)}for(let[i,u]of Object.entries(A2))ka[i]={get(){let f=Kh(this,w3(u.open,u.close,this._styler),this._isEmpty);return Object.defineProperty(this,i,{value:f}),f}};ka.visible={get(){let i=Kh(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:i}),i}};var LS=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let i of LS)ka[i]={get(){let{level:u}=this;return function(...f){let c=w3(A2.color[OS[u]][i](...f),A2.color.close,this._styler);return Kh(this,c,this._isEmpty)}}};for(let i of LS){let u="bg"+i[0].toUpperCase()+i.slice(1);ka[u]={get(){let{level:f}=this;return function(...c){let g=w3(A2.bgColor[OS[f]][i](...c),A2.bgColor.close,this._styler);return Kh(this,g,this._isEmpty)}}}}var Lj=Object.defineProperties(()=>{},zn(dt({},ka),{level:{enumerable:!0,get(){return this._generator.level},set(i){this._generator.level=i}}})),w3=(i,u,f)=>{let c,g;return f===void 0?(c=i,g=u):(c=f.openAll+i,g=u+f.closeAll),{open:i,close:u,openAll:c,closeAll:g,parent:f}},Kh=(i,u,f)=>{let c=(...g)=>Yh(g[0])&&Yh(g[0].raw)?RS(c,MS(c,...g)):RS(c,g.length===1?""+g[0]:g.join(" "));return Object.setPrototypeOf(c,Lj),c._generator=i,c._styler=u,c._isEmpty=f,c},RS=(i,u)=>{if(i.level<=0||!u)return i._isEmpty?"":u;let f=i._styler;if(f===void 0)return u;let{openAll:c,closeAll:g}=f;if(u.indexOf("")!==-1)for(;f!==void 0;)u=Pj(u,f.close,f.open),f=f.parent;let t=u.indexOf(` -`);return t!==-1&&(u=Mj(u,g,c,t)),c+u+g},D3,MS=(i,...u)=>{let[f]=u;if(!Yh(f)||!Yh(f.raw))return u.join(" ");let c=u.slice(1),g=[f.raw[0]];for(let t=1;t{"use strict";var Rj=O2&&O2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(O2,"__esModule",{value:!0});var I2=Rj(Jh()),Nj=/^(rgb|hsl|hsv|hwb)\(\s?(\d+),\s?(\d+),\s?(\d+)\s?\)$/,Bj=/^(ansi|ansi256)\(\s?(\d+)\s?\)$/,Qh=(i,u)=>u==="foreground"?i:"bg"+i[0].toUpperCase()+i.slice(1);O2.default=(i,u,f)=>{if(!u)return i;if(u in I2.default){let g=Qh(u,f);return I2.default[g](i)}if(u.startsWith("#")){let g=Qh("hex",f);return I2.default[g](u)(i)}if(u.startsWith("ansi")){let g=Bj.exec(u);if(!g)return i;let t=Qh(g[1],f),C=Number(g[2]);return I2.default[t](C)(i)}if(u.startsWith("rgb")||u.startsWith("hsl")||u.startsWith("hsv")||u.startsWith("hwb")){let g=Nj.exec(u);if(!g)return i;let t=Qh(g[1],f),C=Number(g[2]),A=Number(g[3]),x=Number(g[4]);return I2.default[t](C,A,x)(i)}return i}});var BS=Me(P2=>{"use strict";var NS=P2&&P2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(P2,"__esModule",{value:!0});var jj=NS(mS()),S3=NS(E3());P2.default=(i,u,f,c)=>{if(typeof f.style.borderStyle=="string"){let g=f.yogaNode.getComputedWidth(),t=f.yogaNode.getComputedHeight(),C=f.style.borderColor,A=jj.default[f.style.borderStyle],x=S3.default(A.topLeft+A.horizontal.repeat(g-2)+A.topRight,C,"foreground"),D=(S3.default(A.vertical,C,"foreground")+` -`).repeat(t-2),L=S3.default(A.bottomLeft+A.horizontal.repeat(g-2)+A.bottomRight,C,"foreground");c.write(i,u,x,{transformers:[]}),c.write(i,u+1,D,{transformers:[]}),c.write(i+g-1,u+1,D,{transformers:[]}),c.write(i,u+t-1,L,{transformers:[]})}}});var US=Me(M2=>{"use strict";var _c=M2&&M2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(M2,"__esModule",{value:!0});var Uj=_c(hc()),qj=_c(jy()),zj=_c(cS()),Wj=_c(Yy()),Hj=_c(aS()),bj=_c(Ky()),Gj=_c(BS()),Vj=(i,u)=>{var f;let c=(f=i.childNodes[0])===null||f===void 0?void 0:f.yogaNode;if(c){let g=c.getComputedLeft(),t=c.getComputedTop();u=` -`.repeat(t)+zj.default(u,g)}return u},jS=(i,u,f)=>{var c;let{offsetX:g=0,offsetY:t=0,transformers:C=[],skipStaticElements:A}=f;if(A&&i.internal_static)return;let{yogaNode:x}=i;if(x){if(x.getDisplay()===Uj.default.DISPLAY_NONE)return;let D=g+x.getComputedLeft(),L=t+x.getComputedTop(),N=C;if(typeof i.internal_transform=="function"&&(N=[i.internal_transform,...C]),i.nodeName==="ink-text"){let j=bj.default(i);if(j.length>0){let $=qj.default(j),h=Hj.default(x);if($>h){let re=(c=i.style.textWrap)!==null&&c!==void 0?c:"wrap";j=Wj.default(j,h,re)}j=Vj(i,j),u.write(D,L,j,{transformers:N})}return}if(i.nodeName==="ink-box"&&Gj.default(D,L,i,u),i.nodeName==="ink-root"||i.nodeName==="ink-box")for(let j of i.childNodes)jS(j,u,{offsetX:D,offsetY:L,transformers:N,skipStaticElements:A})}};M2.default=jS});var zS=Me((fG,qS)=>{"use strict";qS.exports=i=>{i=Object.assign({onlyFirst:!1},i);let u=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(u,i.onlyFirst?void 0:"g")}});var HS=Me((cG,C3)=>{"use strict";var Yj=zS(),WS=i=>typeof i=="string"?i.replace(Yj(),""):i;C3.exports=WS;C3.exports.default=WS});var VS=Me((aG,bS)=>{"use strict";var GS="[\uD800-\uDBFF][\uDC00-\uDFFF]";bS.exports=i=>i&&i.exact?new RegExp(`^${GS}$`):new RegExp(GS,"g")});var $S=Me((dG,T3)=>{"use strict";var $j=HS(),Kj=VS(),YS=i=>$j(i).replace(Kj()," ").length;T3.exports=YS;T3.exports.default=YS});var QS=Me(F2=>{"use strict";var KS=F2&&F2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(F2,"__esModule",{value:!0});var XS=KS(Gy()),Xj=KS($S()),JS=class{constructor(u){this.writes=[];let{width:f,height:c}=u;this.width=f,this.height=c}write(u,f,c,g){let{transformers:t}=g;!c||this.writes.push({x:u,y:f,text:c,transformers:t})}get(){let u=[];for(let c=0;cc.trimRight()).join(` -`),height:u.length}}};F2.default=JS});var t5=Me(L2=>{"use strict";var x3=L2&&L2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(L2,"__esModule",{value:!0});var Jj=x3(hc()),ZS=x3(US()),e5=x3(QS());L2.default=(i,u)=>{var f;if(i.yogaNode.setWidth(u),i.yogaNode){i.yogaNode.calculateLayout(void 0,void 0,Jj.default.DIRECTION_LTR);let c=new e5.default({width:i.yogaNode.getComputedWidth(),height:i.yogaNode.getComputedHeight()});ZS.default(i,c,{skipStaticElements:!0});let g;((f=i.staticNode)===null||f===void 0?void 0:f.yogaNode)&&(g=new e5.default({width:i.staticNode.yogaNode.getComputedWidth(),height:i.staticNode.yogaNode.getComputedHeight()}),ZS.default(i.staticNode,g,{skipStaticElements:!1}));let{output:t,height:C}=c.get();return{output:t,outputHeight:C,staticOutput:g?`${g.get().output} -`:""}}return{output:"",outputHeight:0,staticOutput:""}}});var o5=Me((mG,n5)=>{"use strict";var r5=require("stream"),i5=["assert","count","countReset","debug","dir","dirxml","error","group","groupCollapsed","groupEnd","info","log","table","time","timeEnd","timeLog","trace","warn"],k3={},Qj=i=>{let u=new r5.PassThrough,f=new r5.PassThrough;u.write=g=>i("stdout",g),f.write=g=>i("stderr",g);let c=new console.Console(u,f);for(let g of i5)k3[g]=console[g],console[g]=c[g];return()=>{for(let g of i5)console[g]=k3[g];k3={}}};n5.exports=Qj});var O3=Me(A3=>{"use strict";Object.defineProperty(A3,"__esModule",{value:!0});A3.default=new WeakMap});var P3=Me(I3=>{"use strict";Object.defineProperty(I3,"__esModule",{value:!0});var Zj=lr(),u5=Zj.createContext({exit:()=>{}});u5.displayName="InternalAppContext";I3.default=u5});var F3=Me(M3=>{"use strict";Object.defineProperty(M3,"__esModule",{value:!0});var eU=lr(),s5=eU.createContext({stdin:void 0,setRawMode:()=>{},isRawModeSupported:!1,internal_exitOnCtrlC:!0});s5.displayName="InternalStdinContext";M3.default=s5});var R3=Me(L3=>{"use strict";Object.defineProperty(L3,"__esModule",{value:!0});var tU=lr(),l5=tU.createContext({stdout:void 0,write:()=>{}});l5.displayName="InternalStdoutContext";L3.default=l5});var B3=Me(N3=>{"use strict";Object.defineProperty(N3,"__esModule",{value:!0});var nU=lr(),f5=nU.createContext({stderr:void 0,write:()=>{}});f5.displayName="InternalStderrContext";N3.default=f5});var Zh=Me(j3=>{"use strict";Object.defineProperty(j3,"__esModule",{value:!0});var rU=lr(),c5=rU.createContext({activeId:void 0,add:()=>{},remove:()=>{},activate:()=>{},deactivate:()=>{},enableFocus:()=>{},disableFocus:()=>{},focusNext:()=>{},focusPrevious:()=>{}});c5.displayName="InternalFocusContext";j3.default=c5});var d5=Me((EG,a5)=>{"use strict";var iU=/[|\\{}()[\]^$+*?.-]/g;a5.exports=i=>{if(typeof i!="string")throw new TypeError("Expected a string");return i.replace(iU,"\\$&")}});var v5=Me((SG,p5)=>{"use strict";var oU=d5(),h5=[].concat(require("module").builtinModules,"bootstrap_node","node").map(i=>new RegExp(`(?:\\(${i}\\.js:\\d+:\\d+\\)$|^\\s*at ${i}\\.js:\\d+:\\d+$)`));h5.push(/\(internal\/[^:]+:\d+:\d+\)$/,/\s*at internal\/[^:]+:\d+:\d+$/,/\/\.node-spawn-wrap-\w+-\w+\/node:\d+:\d+\)?$/);var em=class{constructor(u){u=dt({ignoredPackages:[]},u),"internals"in u||(u.internals=em.nodeInternals()),"cwd"in u||(u.cwd=process.cwd()),this._cwd=u.cwd.replace(/\\/g,"/"),this._internals=[].concat(u.internals,uU(u.ignoredPackages)),this._wrapCallSite=u.wrapCallSite||!1}static nodeInternals(){return[...h5]}clean(u,f=0){f=" ".repeat(f),Array.isArray(u)||(u=u.split(` -`)),!/^\s*at /.test(u[0])&&/^\s*at /.test(u[1])&&(u=u.slice(1));let c=!1,g=null,t=[];return u.forEach(C=>{if(C=C.replace(/\\/g,"/"),this._internals.some(x=>x.test(C)))return;let A=/^\s*at /.test(C);c?C=C.trimEnd().replace(/^(\s+)at /,"$1"):(C=C.trim(),A&&(C=C.slice(3))),C=C.replace(`${this._cwd}/`,""),C&&(A?(g&&(t.push(g),g=null),t.push(C)):(c=!0,g=C))}),t.map(C=>`${f}${C} -`).join("")}captureString(u,f=this.captureString){typeof u=="function"&&(f=u,u=Infinity);let{stackTraceLimit:c}=Error;u&&(Error.stackTraceLimit=u);let g={};Error.captureStackTrace(g,f);let{stack:t}=g;return Error.stackTraceLimit=c,this.clean(t)}capture(u,f=this.capture){typeof u=="function"&&(f=u,u=Infinity);let{prepareStackTrace:c,stackTraceLimit:g}=Error;Error.prepareStackTrace=(A,x)=>this._wrapCallSite?x.map(this._wrapCallSite):x,u&&(Error.stackTraceLimit=u);let t={};Error.captureStackTrace(t,f);let{stack:C}=t;return Object.assign(Error,{prepareStackTrace:c,stackTraceLimit:g}),C}at(u=this.at){let[f]=this.capture(1,u);if(!f)return{};let c={line:f.getLineNumber(),column:f.getColumnNumber()};m5(c,f.getFileName(),this._cwd),f.isConstructor()&&(c.constructor=!0),f.isEval()&&(c.evalOrigin=f.getEvalOrigin()),f.isNative()&&(c.native=!0);let g;try{g=f.getTypeName()}catch(A){}g&&g!=="Object"&&g!=="[object Object]"&&(c.type=g);let t=f.getFunctionName();t&&(c.function=t);let C=f.getMethodName();return C&&t!==C&&(c.method=C),c}parseLine(u){let f=u&&u.match(sU);if(!f)return null;let c=f[1]==="new",g=f[2],t=f[3],C=f[4],A=Number(f[5]),x=Number(f[6]),D=f[7],L=f[8],N=f[9],j=f[10]==="native",$=f[11]===")",h,re={};if(L&&(re.line=Number(L)),N&&(re.column=Number(N)),$&&D){let ce=0;for(let Q=D.length-1;Q>0;Q--)if(D.charAt(Q)===")")ce++;else if(D.charAt(Q)==="("&&D.charAt(Q-1)===" "&&(ce--,ce===-1&&D.charAt(Q-1)===" ")){let oe=D.slice(0,Q-1);D=D.slice(Q+1),g+=` (${oe}`;break}}if(g){let ce=g.match(lU);ce&&(g=ce[1],h=ce[2])}return m5(re,D,this._cwd),c&&(re.constructor=!0),t&&(re.evalOrigin=t,re.evalLine=A,re.evalColumn=x,re.evalFile=C&&C.replace(/\\/g,"/")),j&&(re.native=!0),g&&(re.function=g),h&&g!==h&&(re.method=h),re}};function m5(i,u,f){u&&(u=u.replace(/\\/g,"/"),u.startsWith(`${f}/`)&&(u=u.slice(f.length+1)),i.file=u)}function uU(i){if(i.length===0)return[];let u=i.map(f=>oU(f));return new RegExp(`[/\\\\]node_modules[/\\\\](?:${u.join("|")})[/\\\\][^:]+:\\d+:\\d+`)}var sU=new RegExp("^(?:\\s*at )?(?:(new) )?(?:(.*?) \\()?(?:eval at ([^ ]+) \\((.+?):(\\d+):(\\d+)\\), )?(?:(.+?):(\\d+):(\\d+)|(native))(\\)?)$"),lU=/^(.*?) \[as (.*?)\]$/;p5.exports=em});var _5=Me((CG,g5)=>{"use strict";g5.exports=(i,u)=>i.replace(/^\t+/gm,f=>" ".repeat(f.length*(u||2)))});var w5=Me((TG,y5)=>{"use strict";var fU=_5(),cU=(i,u)=>{let f=[],c=i-u,g=i+u;for(let t=c;t<=g;t++)f.push(t);return f};y5.exports=(i,u,f)=>{if(typeof i!="string")throw new TypeError("Source code is missing.");if(!u||u<1)throw new TypeError("Line number must start from `1`.");if(i=fU(i).split(/\r?\n/),!(u>i.length))return f=dt({around:3},f),cU(u,f.around).filter(c=>i[c-1]!==void 0).map(c=>({line:c,value:i[c-1]}))}});var tm=Me(hs=>{"use strict";var aU=hs&&hs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),dU=hs&&hs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),pU=hs&&hs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&aU(u,i,f);return dU(u,i),u},hU=hs&&hs.__rest||function(i,u){var f={};for(var c in i)Object.prototype.hasOwnProperty.call(i,c)&&u.indexOf(c)<0&&(f[c]=i[c]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var g=0,c=Object.getOwnPropertySymbols(i);g{var{children:f}=i,c=hU(i,["children"]);let g=Object.assign(Object.assign({},c),{marginLeft:c.marginLeft||c.marginX||c.margin||0,marginRight:c.marginRight||c.marginX||c.margin||0,marginTop:c.marginTop||c.marginY||c.margin||0,marginBottom:c.marginBottom||c.marginY||c.margin||0,paddingLeft:c.paddingLeft||c.paddingX||c.padding||0,paddingRight:c.paddingRight||c.paddingX||c.padding||0,paddingTop:c.paddingTop||c.paddingY||c.padding||0,paddingBottom:c.paddingBottom||c.paddingY||c.padding||0});return D5.default.createElement("ink-box",{ref:u,style:g},f)});U3.displayName="Box";U3.defaultProps={flexDirection:"row",flexGrow:0,flexShrink:1};hs.default=U3});var W3=Me(R2=>{"use strict";var q3=R2&&R2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(R2,"__esModule",{value:!0});var mU=q3(lr()),Aa=q3(Jh()),E5=q3(E3()),z3=({color:i,backgroundColor:u,dimColor:f,bold:c,italic:g,underline:t,strikethrough:C,inverse:A,wrap:x,children:D})=>{if(D==null)return null;let L=N=>(f&&(N=Aa.default.dim(N)),i&&(N=E5.default(N,i,"foreground")),u&&(N=E5.default(N,u,"background")),c&&(N=Aa.default.bold(N)),g&&(N=Aa.default.italic(N)),t&&(N=Aa.default.underline(N)),C&&(N=Aa.default.strikethrough(N)),A&&(N=Aa.default.inverse(N)),N);return mU.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row",textWrap:x},internal_transform:L},D)};z3.displayName="Text";z3.defaultProps={dimColor:!1,bold:!1,italic:!1,underline:!1,strikethrough:!1,wrap:"wrap"};R2.default=z3});var x5=Me(ms=>{"use strict";var vU=ms&&ms.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),gU=ms&&ms.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),_U=ms&&ms.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&vU(u,i,f);return gU(u,i),u},N2=ms&&ms.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(ms,"__esModule",{value:!0});var S5=_U(require("fs")),ui=N2(lr()),C5=N2(v5()),yU=N2(w5()),ef=N2(tm()),il=N2(W3()),T5=new C5.default({cwd:process.cwd(),internals:C5.default.nodeInternals()}),wU=({error:i})=>{let u=i.stack?i.stack.split(` -`).slice(1):void 0,f=u?T5.parseLine(u[0]):void 0,c,g=0;if((f==null?void 0:f.file)&&(f==null?void 0:f.line)&&S5.existsSync(f.file)){let t=S5.readFileSync(f.file,"utf8");if(c=yU.default(t,f.line),c)for(let{line:C}of c)g=Math.max(g,String(C).length)}return ui.default.createElement(ef.default,{flexDirection:"column",padding:1},ui.default.createElement(ef.default,null,ui.default.createElement(il.default,{backgroundColor:"red",color:"white"}," ","ERROR"," "),ui.default.createElement(il.default,null," ",i.message)),f&&ui.default.createElement(ef.default,{marginTop:1},ui.default.createElement(il.default,{dimColor:!0},f.file,":",f.line,":",f.column)),f&&c&&ui.default.createElement(ef.default,{marginTop:1,flexDirection:"column"},c.map(({line:t,value:C})=>ui.default.createElement(ef.default,{key:t},ui.default.createElement(ef.default,{width:g+1},ui.default.createElement(il.default,{dimColor:t!==f.line,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0},String(t).padStart(g," "),":")),ui.default.createElement(il.default,{key:t,backgroundColor:t===f.line?"red":void 0,color:t===f.line?"white":void 0}," "+C)))),i.stack&&ui.default.createElement(ef.default,{marginTop:1,flexDirection:"column"},i.stack.split(` -`).slice(1).map(t=>{let C=T5.parseLine(t);return C?ui.default.createElement(ef.default,{key:t},ui.default.createElement(il.default,{dimColor:!0},"- "),ui.default.createElement(il.default,{dimColor:!0,bold:!0},C.function),ui.default.createElement(il.default,{dimColor:!0,color:"gray"}," ","(",C.file,":",C.line,":",C.column,")")):ui.default.createElement(ef.default,{key:t},ui.default.createElement(il.default,{dimColor:!0},"- "),ui.default.createElement(il.default,{dimColor:!0,bold:!0},t))})))};ms.default=wU});var A5=Me(vs=>{"use strict";var DU=vs&&vs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),EU=vs&&vs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),SU=vs&&vs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&DU(u,i,f);return EU(u,i),u},yc=vs&&vs.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(vs,"__esModule",{value:!0});var wc=SU(lr()),k5=yc(gy()),CU=yc(P3()),TU=yc(F3()),xU=yc(R3()),kU=yc(B3()),AU=yc(Zh()),OU=yc(x5()),IU=" ",PU="",MU="",H3=class extends wc.PureComponent{constructor(){super(...arguments);this.state={isFocusEnabled:!0,activeFocusId:void 0,focusables:[],error:void 0},this.rawModeEnabledCount=0,this.handleSetRawMode=u=>{let{stdin:f}=this.props;if(!this.isRawModeSupported())throw f===process.stdin?new Error(`Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`):new Error(`Raw mode is not supported on the stdin provided to Ink. -Read about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported`);if(f.setEncoding("utf8"),u){this.rawModeEnabledCount===0&&(f.addListener("data",this.handleInput),f.resume(),f.setRawMode(!0)),this.rawModeEnabledCount++;return}--this.rawModeEnabledCount==0&&(f.setRawMode(!1),f.removeListener("data",this.handleInput),f.pause())},this.handleInput=u=>{u===""&&this.props.exitOnCtrlC&&this.handleExit(),u===MU&&this.state.activeFocusId&&this.setState({activeFocusId:void 0}),this.state.isFocusEnabled&&this.state.focusables.length>0&&(u===IU&&this.focusNext(),u===PU&&this.focusPrevious())},this.handleExit=u=>{this.isRawModeSupported()&&this.handleSetRawMode(!1),this.props.onExit(u)},this.enableFocus=()=>{this.setState({isFocusEnabled:!0})},this.disableFocus=()=>{this.setState({isFocusEnabled:!1})},this.focusNext=()=>{this.setState(u=>{let f=u.focusables[0].id;return{activeFocusId:this.findNextFocusable(u)||f}})},this.focusPrevious=()=>{this.setState(u=>{let f=u.focusables[u.focusables.length-1].id;return{activeFocusId:this.findPreviousFocusable(u)||f}})},this.addFocusable=(u,{autoFocus:f})=>{this.setState(c=>{let g=c.activeFocusId;return!g&&f&&(g=u),{activeFocusId:g,focusables:[...c.focusables,{id:u,isActive:!0}]}})},this.removeFocusable=u=>{this.setState(f=>({activeFocusId:f.activeFocusId===u?void 0:f.activeFocusId,focusables:f.focusables.filter(c=>c.id!==u)}))},this.activateFocusable=u=>{this.setState(f=>({focusables:f.focusables.map(c=>c.id!==u?c:{id:u,isActive:!0})}))},this.deactivateFocusable=u=>{this.setState(f=>({activeFocusId:f.activeFocusId===u?void 0:f.activeFocusId,focusables:f.focusables.map(c=>c.id!==u?c:{id:u,isActive:!1})}))},this.findNextFocusable=u=>{let f=u.focusables.findIndex(c=>c.id===u.activeFocusId);for(let c=f+1;c{let f=u.focusables.findIndex(c=>c.id===u.activeFocusId);for(let c=f-1;c>=0;c--)if(u.focusables[c].isActive)return u.focusables[c].id}}static getDerivedStateFromError(u){return{error:u}}isRawModeSupported(){return this.props.stdin.isTTY}render(){return wc.default.createElement(CU.default.Provider,{value:{exit:this.handleExit}},wc.default.createElement(TU.default.Provider,{value:{stdin:this.props.stdin,setRawMode:this.handleSetRawMode,isRawModeSupported:this.isRawModeSupported(),internal_exitOnCtrlC:this.props.exitOnCtrlC}},wc.default.createElement(xU.default.Provider,{value:{stdout:this.props.stdout,write:this.props.writeToStdout}},wc.default.createElement(kU.default.Provider,{value:{stderr:this.props.stderr,write:this.props.writeToStderr}},wc.default.createElement(AU.default.Provider,{value:{activeId:this.state.activeFocusId,add:this.addFocusable,remove:this.removeFocusable,activate:this.activateFocusable,deactivate:this.deactivateFocusable,enableFocus:this.enableFocus,disableFocus:this.disableFocus,focusNext:this.focusNext,focusPrevious:this.focusPrevious}},this.state.error?wc.default.createElement(OU.default,{error:this.state.error}):this.props.children)))))}componentDidMount(){k5.default.hide(this.props.stdout)}componentWillUnmount(){k5.default.show(this.props.stdout),this.isRawModeSupported()&&this.handleSetRawMode(!1)}componentDidCatch(u){this.handleExit(u)}};vs.default=H3;H3.displayName="InternalApp"});var M5=Me(gs=>{"use strict";var FU=gs&&gs.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),LU=gs&&gs.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),RU=gs&&gs.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&FU(u,i,f);return LU(u,i),u},_s=gs&&gs.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(gs,"__esModule",{value:!0});var NU=_s(lr()),O5=AD(),BU=_s(WD()),jU=_s(ay()),UU=_s(KD()),qU=_s(JD()),nm=_s(lS()),zU=_s(t5()),WU=_s(vy()),HU=_s(o5()),bU=RU(Xy()),GU=_s(O3()),VU=_s(A5()),Oa=process.env.CI==="false"?!1:UU.default,I5=()=>{},P5=class{constructor(u){this.resolveExitPromise=()=>{},this.rejectExitPromise=()=>{},this.unsubscribeExit=()=>{},this.onRender=()=>{if(this.isUnmounted)return;let{output:f,outputHeight:c,staticOutput:g}=zU.default(this.rootNode,this.options.stdout.columns||80),t=g&&g!==` -`;if(this.options.debug){t&&(this.fullStaticOutput+=g),this.options.stdout.write(this.fullStaticOutput+f);return}if(Oa){t&&this.options.stdout.write(g),this.lastOutput=f;return}if(t&&(this.fullStaticOutput+=g),c>=this.options.stdout.rows){this.options.stdout.write(jU.default.clearTerminal+this.fullStaticOutput+f),this.lastOutput=f;return}t&&(this.log.clear(),this.options.stdout.write(g),this.log(f)),!t&&f!==this.lastOutput&&this.throttledLog(f),this.lastOutput=f},qU.default(this),this.options=u,this.rootNode=bU.createNode("ink-root"),this.rootNode.onRender=u.debug?this.onRender:O5.throttle(this.onRender,32,{leading:!0,trailing:!0}),this.rootNode.onImmediateRender=this.onRender,this.log=BU.default.create(u.stdout),this.throttledLog=u.debug?this.log:O5.throttle(this.log,void 0,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.lastOutput="",this.fullStaticOutput="",this.container=nm.default.createContainer(this.rootNode,!1,!1),this.unsubscribeExit=WU.default(this.unmount,{alwaysLast:!1}),process.env.DEV==="true"&&nm.default.injectIntoDevTools({bundleType:0,version:"16.13.1",rendererPackageName:"ink"}),u.patchConsole&&this.patchConsole(),Oa||(u.stdout.on("resize",this.onRender),this.unsubscribeResize=()=>{u.stdout.off("resize",this.onRender)})}render(u){let f=NU.default.createElement(VU.default,{stdin:this.options.stdin,stdout:this.options.stdout,stderr:this.options.stderr,writeToStdout:this.writeToStdout,writeToStderr:this.writeToStderr,exitOnCtrlC:this.options.exitOnCtrlC,onExit:this.unmount},u);nm.default.updateContainer(f,this.container,null,I5)}writeToStdout(u){if(!this.isUnmounted){if(this.options.debug){this.options.stdout.write(u+this.fullStaticOutput+this.lastOutput);return}if(Oa){this.options.stdout.write(u);return}this.log.clear(),this.options.stdout.write(u),this.log(this.lastOutput)}}writeToStderr(u){if(!this.isUnmounted){if(this.options.debug){this.options.stderr.write(u),this.options.stdout.write(this.fullStaticOutput+this.lastOutput);return}if(Oa){this.options.stderr.write(u);return}this.log.clear(),this.options.stderr.write(u),this.log(this.lastOutput)}}unmount(u){this.isUnmounted||(this.onRender(),this.unsubscribeExit(),typeof this.restoreConsole=="function"&&this.restoreConsole(),typeof this.unsubscribeResize=="function"&&this.unsubscribeResize(),Oa?this.options.stdout.write(this.lastOutput+` -`):this.options.debug||this.log.done(),this.isUnmounted=!0,nm.default.updateContainer(null,this.container,null,I5),GU.default.delete(this.options.stdout),u instanceof Error?this.rejectExitPromise(u):this.resolveExitPromise())}waitUntilExit(){return this.exitPromise||(this.exitPromise=new Promise((u,f)=>{this.resolveExitPromise=u,this.rejectExitPromise=f})),this.exitPromise}clear(){!Oa&&!this.options.debug&&this.log.clear()}patchConsole(){this.options.debug||(this.restoreConsole=HU.default((u,f)=>{u==="stdout"&&this.writeToStdout(f),u==="stderr"&&(f.startsWith("The above error occurred")||this.writeToStderr(f))}))}};gs.default=P5});var L5=Me(B2=>{"use strict";var F5=B2&&B2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(B2,"__esModule",{value:!0});var YU=F5(M5()),rm=F5(O3()),$U=require("stream"),JU=(i,u)=>{let f=Object.assign({stdout:process.stdout,stdin:process.stdin,stderr:process.stderr,debug:!1,exitOnCtrlC:!0,patchConsole:!0},KU(u)),c=XU(f.stdout,()=>new YU.default(f));return c.render(i),{rerender:c.render,unmount:()=>c.unmount(),waitUntilExit:c.waitUntilExit,cleanup:()=>rm.default.delete(f.stdout),clear:c.clear}};B2.default=JU;var KU=(i={})=>i instanceof $U.Stream?{stdout:i,stdin:process.stdin}:i,XU=(i,u)=>{let f;return rm.default.has(i)?f=rm.default.get(i):(f=u(),rm.default.set(i,f)),f}});var N5=Me(tf=>{"use strict";var QU=tf&&tf.__createBinding||(Object.create?function(i,u,f,c){c===void 0&&(c=f),Object.defineProperty(i,c,{enumerable:!0,get:function(){return u[f]}})}:function(i,u,f,c){c===void 0&&(c=f),i[c]=u[f]}),ZU=tf&&tf.__setModuleDefault||(Object.create?function(i,u){Object.defineProperty(i,"default",{enumerable:!0,value:u})}:function(i,u){i.default=u}),eq=tf&&tf.__importStar||function(i){if(i&&i.__esModule)return i;var u={};if(i!=null)for(var f in i)f!=="default"&&Object.hasOwnProperty.call(i,f)&&QU(u,i,f);return ZU(u,i),u};Object.defineProperty(tf,"__esModule",{value:!0});var j2=eq(lr()),R5=i=>{let{items:u,children:f,style:c}=i,[g,t]=j2.useState(0),C=j2.useMemo(()=>u.slice(g),[u,g]);j2.useLayoutEffect(()=>{t(u.length)},[u.length]);let A=C.map((D,L)=>f(D,g+L)),x=j2.useMemo(()=>Object.assign({position:"absolute",flexDirection:"column"},c),[c]);return j2.default.createElement("ink-box",{internal_static:!0,style:x},A)};R5.displayName="Static";tf.default=R5});var j5=Me(U2=>{"use strict";var tq=U2&&U2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(U2,"__esModule",{value:!0});var nq=tq(lr()),B5=({children:i,transform:u})=>i==null?null:nq.default.createElement("ink-text",{style:{flexGrow:0,flexShrink:1,flexDirection:"row"},internal_transform:u},i);B5.displayName="Transform";U2.default=B5});var q5=Me(q2=>{"use strict";var rq=q2&&q2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(q2,"__esModule",{value:!0});var iq=rq(lr()),U5=({count:i=1})=>iq.default.createElement("ink-text",null,` -`.repeat(i));U5.displayName="Newline";q2.default=U5});var H5=Me(z2=>{"use strict";var z5=z2&&z2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(z2,"__esModule",{value:!0});var oq=z5(lr()),uq=z5(tm()),W5=()=>oq.default.createElement(uq.default,{flexGrow:1});W5.displayName="Spacer";z2.default=W5});var im=Me(W2=>{"use strict";var sq=W2&&W2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(W2,"__esModule",{value:!0});var lq=lr(),fq=sq(F3()),cq=()=>lq.useContext(fq.default);W2.default=cq});var G5=Me(H2=>{"use strict";var aq=H2&&H2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(H2,"__esModule",{value:!0});var b5=lr(),dq=aq(im()),pq=(i,u={})=>{let{stdin:f,setRawMode:c,internal_exitOnCtrlC:g}=dq.default();b5.useEffect(()=>{if(u.isActive!==!1)return c(!0),()=>{c(!1)}},[u.isActive,c]),b5.useEffect(()=>{if(u.isActive===!1)return;let t=C=>{let A=String(C),x={upArrow:A==="",downArrow:A==="",leftArrow:A==="",rightArrow:A==="",pageDown:A==="[6~",pageUp:A==="[5~",return:A==="\r",escape:A==="",ctrl:!1,shift:!1,tab:A===" "||A==="",backspace:A==="\b",delete:A==="\x7F"||A==="[3~",meta:!1};A<=""&&!x.return&&(A=String.fromCharCode(A.charCodeAt(0)+"a".charCodeAt(0)-1),x.ctrl=!0),A.startsWith("")&&(A=A.slice(1),x.meta=!0);let D=A>="A"&&A<="Z",L=A>="\u0410"&&A<="\u042F";A.length===1&&(D||L)&&(x.shift=!0),x.tab&&A==="[Z"&&(x.shift=!0),(x.tab||x.backspace||x.delete)&&(A=""),(!(A==="c"&&x.ctrl)||!g)&&i(A,x)};return f==null||f.on("data",t),()=>{f==null||f.off("data",t)}},[u.isActive,f,g,i])};H2.default=pq});var V5=Me(b2=>{"use strict";var hq=b2&&b2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(b2,"__esModule",{value:!0});var mq=lr(),vq=hq(P3()),gq=()=>mq.useContext(vq.default);b2.default=gq});var Y5=Me(G2=>{"use strict";var _q=G2&&G2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(G2,"__esModule",{value:!0});var yq=lr(),wq=_q(R3()),Dq=()=>yq.useContext(wq.default);G2.default=Dq});var $5=Me(V2=>{"use strict";var Eq=V2&&V2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(V2,"__esModule",{value:!0});var Sq=lr(),Cq=Eq(B3()),Tq=()=>Sq.useContext(Cq.default);V2.default=Tq});var X5=Me(Y2=>{"use strict";var K5=Y2&&Y2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(Y2,"__esModule",{value:!0});var $2=lr(),xq=K5(Zh()),kq=K5(im()),Aq=({isActive:i=!0,autoFocus:u=!1}={})=>{let{isRawModeSupported:f,setRawMode:c}=kq.default(),{activeId:g,add:t,remove:C,activate:A,deactivate:x}=$2.useContext(xq.default),D=$2.useMemo(()=>Math.random().toString().slice(2,7),[]);return $2.useEffect(()=>(t(D,{autoFocus:u}),()=>{C(D)}),[D,u]),$2.useEffect(()=>{i?A(D):x(D)},[i,D]),$2.useEffect(()=>{if(!(!f||!i))return c(!0),()=>{c(!1)}},[i]),{isFocused:Boolean(D)&&g===D}};Y2.default=Aq});var J5=Me(K2=>{"use strict";var Oq=K2&&K2.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(K2,"__esModule",{value:!0});var Iq=lr(),Pq=Oq(Zh()),Mq=()=>{let i=Iq.useContext(Pq.default);return{enableFocus:i.enableFocus,disableFocus:i.disableFocus,focusNext:i.focusNext,focusPrevious:i.focusPrevious}};K2.default=Mq});var Q5=Me(b3=>{"use strict";Object.defineProperty(b3,"__esModule",{value:!0});b3.default=i=>{var u,f,c,g;return{width:(f=(u=i.yogaNode)===null||u===void 0?void 0:u.getComputedWidth())!==null&&f!==void 0?f:0,height:(g=(c=i.yogaNode)===null||c===void 0?void 0:c.getComputedHeight())!==null&&g!==void 0?g:0}}});var ys=Me(ji=>{"use strict";Object.defineProperty(ji,"__esModule",{value:!0});var Fq=L5();Object.defineProperty(ji,"render",{enumerable:!0,get:function(){return Fq.default}});var Lq=tm();Object.defineProperty(ji,"Box",{enumerable:!0,get:function(){return Lq.default}});var Rq=W3();Object.defineProperty(ji,"Text",{enumerable:!0,get:function(){return Rq.default}});var Nq=N5();Object.defineProperty(ji,"Static",{enumerable:!0,get:function(){return Nq.default}});var Bq=j5();Object.defineProperty(ji,"Transform",{enumerable:!0,get:function(){return Bq.default}});var jq=q5();Object.defineProperty(ji,"Newline",{enumerable:!0,get:function(){return jq.default}});var Uq=H5();Object.defineProperty(ji,"Spacer",{enumerable:!0,get:function(){return Uq.default}});var qq=G5();Object.defineProperty(ji,"useInput",{enumerable:!0,get:function(){return qq.default}});var zq=V5();Object.defineProperty(ji,"useApp",{enumerable:!0,get:function(){return zq.default}});var Wq=im();Object.defineProperty(ji,"useStdin",{enumerable:!0,get:function(){return Wq.default}});var Hq=Y5();Object.defineProperty(ji,"useStdout",{enumerable:!0,get:function(){return Hq.default}});var bq=$5();Object.defineProperty(ji,"useStderr",{enumerable:!0,get:function(){return bq.default}});var Gq=X5();Object.defineProperty(ji,"useFocus",{enumerable:!0,get:function(){return Gq.default}});var Vq=J5();Object.defineProperty(ji,"useFocusManager",{enumerable:!0,get:function(){return Vq.default}});var Yq=Q5();Object.defineProperty(ji,"measureElement",{enumerable:!0,get:function(){return Yq.default}})});var lC=Me(X2=>{"use strict";Object.defineProperty(X2,"__esModule",{value:!0});X2.UncontrolledTextInput=void 0;var oC=lr(),Y3=lr(),uC=ys(),Sc=Jh(),sC=({value:i,placeholder:u="",focus:f=!0,mask:c,highlightPastedText:g=!1,showCursor:t=!0,onChange:C,onSubmit:A})=>{let[{cursorOffset:x,cursorWidth:D},L]=Y3.useState({cursorOffset:(i||"").length,cursorWidth:0});Y3.useEffect(()=>{L(re=>{if(!f||!t)return re;let ce=i||"";return re.cursorOffset>ce.length-1?{cursorOffset:ce.length,cursorWidth:0}:re})},[i,f,t]);let N=g?D:0,j=c?c.repeat(i.length):i,$=j,h=u?Sc.grey(u):void 0;if(t&&f){h=u.length>0?Sc.inverse(u[0])+Sc.grey(u.slice(1)):Sc.inverse(" "),$=j.length>0?"":Sc.inverse(" ");let re=0;for(let ce of j)re>=x-N&&re<=x?$+=Sc.inverse(ce):$+=ce,re++;j.length>0&&x===j.length&&($+=Sc.inverse(" "))}return uC.useInput((re,ce)=>{if(ce.upArrow||ce.downArrow||ce.ctrl&&re==="c"||ce.tab||ce.shift&&ce.tab)return;if(ce.return){A&&A(i);return}let Q=x,oe=i,Se=0;ce.leftArrow?t&&Q--:ce.rightArrow?t&&Q++:ce.backspace||ce.delete?x>0&&(oe=i.slice(0,x-1)+i.slice(x,i.length),Q--):(oe=i.slice(0,x)+re+i.slice(x,i.length),Q+=re.length,re.length>1&&(Se=re.length)),x<0&&(Q=0),x>i.length&&(Q=i.length),L({cursorOffset:Q,cursorWidth:Se}),oe!==i&&C(oe)},{isActive:f}),oC.createElement(uC.Text,null,u?j.length>0?$:h:$)};X2.default=sC;X2.UncontrolledTextInput=i=>{let[u,f]=Y3.useState("");return oC.createElement(sC,Object.assign({},i,{value:u,onChange:f}))}});var cC=Me(pm=>{"use strict";Object.defineProperty(pm,"__esModule",{value:!0});function J2(i){let u=[...i.caches],f=u.shift();return f===void 0?fC():{get(c,g,t={miss:()=>Promise.resolve()}){return f.get(c,g,t).catch(()=>J2({caches:u}).get(c,g,t))},set(c,g){return f.set(c,g).catch(()=>J2({caches:u}).set(c,g))},delete(c){return f.delete(c).catch(()=>J2({caches:u}).delete(c))},clear(){return f.clear().catch(()=>J2({caches:u}).clear())}}}function fC(){return{get(i,u,f={miss:()=>Promise.resolve()}){return u().then(g=>Promise.all([g,f.miss(g)])).then(([g])=>g)},set(i,u){return Promise.resolve(u)},delete(i){return Promise.resolve()},clear(){return Promise.resolve()}}}pm.createFallbackableCache=J2;pm.createNullCache=fC});var dC=Me((fV,aC)=>{aC.exports=cC()});var pC=Me($3=>{"use strict";Object.defineProperty($3,"__esModule",{value:!0});function $q(i={serializable:!0}){let u={};return{get(f,c,g={miss:()=>Promise.resolve()}){let t=JSON.stringify(f);if(t in u)return Promise.resolve(i.serializable?JSON.parse(u[t]):u[t]);let C=c(),A=g&&g.miss||(()=>Promise.resolve());return C.then(x=>A(x)).then(()=>C)},set(f,c){return u[JSON.stringify(f)]=i.serializable?JSON.stringify(c):c,Promise.resolve(c)},delete(f){return delete u[JSON.stringify(f)],Promise.resolve()},clear(){return u={},Promise.resolve()}}}$3.createInMemoryCache=$q});var mC=Me((aV,hC)=>{hC.exports=pC()});var gC=Me(ws=>{"use strict";Object.defineProperty(ws,"__esModule",{value:!0});function Kq(i,u,f){let c={"x-algolia-api-key":f,"x-algolia-application-id":u};return{headers(){return i===K3.WithinHeaders?c:{}},queryParameters(){return i===K3.WithinQueryParameters?c:{}}}}function Xq(i){let u=0,f=()=>(u++,new Promise(c=>{setTimeout(()=>{c(i(f))},Math.min(100*u,1e3))}));return i(f)}function vC(i,u=(f,c)=>Promise.resolve()){return Object.assign(i,{wait(f){return vC(i.then(c=>Promise.all([u(c,f),c])).then(c=>c[1]))}})}function Jq(i){let u=i.length-1;for(u;u>0;u--){let f=Math.floor(Math.random()*(u+1)),c=i[u];i[u]=i[f],i[f]=c}return i}function Qq(i,u){return Object.keys(u!==void 0?u:{}).forEach(f=>{i[f]=u[f](i)}),i}function Zq(i,...u){let f=0;return i.replace(/%s/g,()=>encodeURIComponent(u[f++]))}var ez="4.2.0",tz=i=>()=>i.transporter.requester.destroy(),K3={WithinQueryParameters:0,WithinHeaders:1};ws.AuthMode=K3;ws.addMethods=Qq;ws.createAuth=Kq;ws.createRetryablePromise=Xq;ws.createWaitablePromise=vC;ws.destroy=tz;ws.encode=Zq;ws.shuffle=Jq;ws.version=ez});var Q2=Me((pV,_C)=>{_C.exports=gC()});var yC=Me(X3=>{"use strict";Object.defineProperty(X3,"__esModule",{value:!0});var nz={Delete:"DELETE",Get:"GET",Post:"POST",Put:"PUT"};X3.MethodEnum=nz});var Z2=Me((mV,wC)=>{wC.exports=yC()});var RC=Me(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});var DC=Z2();function J3(i,u){let f=i||{},c=f.data||{};return Object.keys(f).forEach(g=>{["timeout","headers","queryParameters","data","cacheable"].indexOf(g)===-1&&(c[g]=f[g])}),{data:Object.entries(c).length>0?c:void 0,timeout:f.timeout||u,headers:f.headers||{},queryParameters:f.queryParameters||{},cacheable:f.cacheable}}var hm={Read:1,Write:2,Any:3},Ia={Up:1,Down:2,Timeouted:3},EC=2*60*1e3;function Q3(i,u=Ia.Up){return zn(dt({},i),{status:u,lastUpdate:Date.now()})}function SC(i){return i.status===Ia.Up||Date.now()-i.lastUpdate>EC}function CC(i){return i.status===Ia.Timeouted&&Date.now()-i.lastUpdate<=EC}function Z3(i){return{protocol:i.protocol||"https",url:i.url,accept:i.accept||hm.Any}}function rz(i,u){return Promise.all(u.map(f=>i.get(f,()=>Promise.resolve(Q3(f))))).then(f=>{let c=f.filter(A=>SC(A)),g=f.filter(A=>CC(A)),t=[...c,...g],C=t.length>0?t.map(A=>Z3(A)):u;return{getTimeout(A,x){return(g.length===0&&A===0?1:g.length+3+A)*x},statelessHosts:C}})}var iz=({isTimedOut:i,status:u})=>!i&&~~u==0,oz=i=>{let u=i.status;return i.isTimedOut||iz(i)||~~(u/100)!=2&&~~(u/100)!=4},uz=({status:i})=>~~(i/100)==2,sz=(i,u)=>oz(i)?u.onRetry(i):uz(i)?u.onSucess(i):u.onFail(i);function PC(i,u,f,c){let g=[],t=AC(f,c),C=OC(i,c),A=f.method,x=f.method!==DC.MethodEnum.Get?{}:dt(dt({},f.data),c.data),D=dt(dt(dt({"x-algolia-agent":i.userAgent.value},i.queryParameters),x),c.queryParameters),L=0,N=(j,$)=>{let h=j.pop();if(h===void 0)throw IC(ew(g));let re={data:t,headers:C,method:A,url:kC(h,f.path,D),connectTimeout:$(L,i.timeouts.connect),responseTimeout:$(L,c.timeout)},ce=oe=>{let Se={request:re,response:oe,host:h,triesLeft:j.length};return g.push(Se),Se},Q={onSucess:oe=>TC(oe),onRetry(oe){let Se=ce(oe);return oe.isTimedOut&&L++,Promise.all([i.logger.info("Retryable failure",tw(Se)),i.hostsCache.set(h,Q3(h,oe.isTimedOut?Ia.Timeouted:Ia.Down))]).then(()=>N(j,$))},onFail(oe){throw ce(oe),xC(oe,ew(g))}};return i.requester.send(re).then(oe=>sz(oe,Q))};return rz(i.hostsCache,u).then(j=>N([...j.statelessHosts].reverse(),j.getTimeout))}function lz(i){let{hostsCache:u,logger:f,requester:c,requestsCache:g,responsesCache:t,timeouts:C,userAgent:A,hosts:x,queryParameters:D,headers:L}=i,N={hostsCache:u,logger:f,requester:c,requestsCache:g,responsesCache:t,timeouts:C,userAgent:A,headers:L,queryParameters:D,hosts:x.map(j=>Z3(j)),read(j,$){let h=J3($,N.timeouts.read),re=()=>PC(N,N.hosts.filter(oe=>(oe.accept&hm.Read)!=0),j,h);if((h.cacheable!==void 0?h.cacheable:j.cacheable)!==!0)return re();let Q={request:j,mappedRequestOptions:h,transporter:{queryParameters:N.queryParameters,headers:N.headers}};return N.responsesCache.get(Q,()=>N.requestsCache.get(Q,()=>N.requestsCache.set(Q,re()).then(oe=>Promise.all([N.requestsCache.delete(Q),oe]),oe=>Promise.all([N.requestsCache.delete(Q),Promise.reject(oe)])).then(([oe,Se])=>Se)),{miss:oe=>N.responsesCache.set(Q,oe)})},write(j,$){return PC(N,N.hosts.filter(h=>(h.accept&hm.Write)!=0),j,J3($,N.timeouts.write))}};return N}function fz(i){let u={value:`Algolia for JavaScript (${i})`,add(f){let c=`; ${f.segment}${f.version!==void 0?` (${f.version})`:""}`;return u.value.indexOf(c)===-1&&(u.value=`${u.value}${c}`),u}};return u}function TC(i){try{return JSON.parse(i.content)}catch(u){throw MC(u.message,i)}}function xC({content:i,status:u},f){let c=i;try{c=JSON.parse(i).message}catch(g){}return FC(c,u,f)}function cz(i,...u){let f=0;return i.replace(/%s/g,()=>encodeURIComponent(u[f++]))}function kC(i,u,f){let c=LC(f),g=`${i.protocol}://${i.url}/${u.charAt(0)==="/"?u.substr(1):u}`;return c.length&&(g+=`?${c}`),g}function LC(i){let u=f=>Object.prototype.toString.call(f)==="[object Object]"||Object.prototype.toString.call(f)==="[object Array]";return Object.keys(i).map(f=>cz("%s=%s",f,u(i[f])?JSON.stringify(i[f]):i[f])).join("&")}function AC(i,u){if(i.method===DC.MethodEnum.Get||i.data===void 0&&u.data===void 0)return;let f=Array.isArray(i.data)?i.data:dt(dt({},i.data),u.data);return JSON.stringify(f)}function OC(i,u){let f=dt(dt({},i.headers),u.headers),c={};return Object.keys(f).forEach(g=>{let t=f[g];c[g.toLowerCase()]=t}),c}function ew(i){return i.map(u=>tw(u))}function tw(i){let u=i.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return zn(dt({},i),{request:zn(dt({},i.request),{headers:dt(dt({},i.request.headers),u)})})}function FC(i,u,f){return{name:"ApiError",message:i,status:u,transporterStackTrace:f}}function MC(i,u){return{name:"DeserializationError",message:i,response:u}}function IC(i){return{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:i}}y0.CallEnum=hm;y0.HostStatusEnum=Ia;y0.createApiError=FC;y0.createDeserializationError=MC;y0.createMappedRequestOptions=J3;y0.createRetryError=IC;y0.createStatefulHost=Q3;y0.createStatelessHost=Z3;y0.createTransporter=lz;y0.createUserAgent=fz;y0.deserializeFailure=xC;y0.deserializeSuccess=TC;y0.isStatefulHostTimeouted=CC;y0.isStatefulHostUp=SC;y0.serializeData=AC;y0.serializeHeaders=OC;y0.serializeQueryParameters=LC;y0.serializeUrl=kC;y0.stackFrameWithoutCredentials=tw;y0.stackTraceWithoutCredentials=ew});var ed=Me((gV,NC)=>{NC.exports=RC()});var BC=Me(Hf=>{"use strict";Object.defineProperty(Hf,"__esModule",{value:!0});var Pa=Q2(),az=ed(),td=Z2(),dz=i=>{let u=i.region||"us",f=Pa.createAuth(Pa.AuthMode.WithinHeaders,i.appId,i.apiKey),c=az.createTransporter(zn(dt({hosts:[{url:`analytics.${u}.algolia.com`}]},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/json"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)})),g=i.appId;return Pa.addMethods({appId:g,transporter:c},i.methods)},pz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Post,path:"2/abtests",data:u},f),hz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Delete,path:Pa.encode("2/abtests/%s",u)},f),mz=i=>(u,f)=>i.transporter.read({method:td.MethodEnum.Get,path:Pa.encode("2/abtests/%s",u)},f),vz=i=>u=>i.transporter.read({method:td.MethodEnum.Get,path:"2/abtests"},u),gz=i=>(u,f)=>i.transporter.write({method:td.MethodEnum.Post,path:Pa.encode("2/abtests/%s/stop",u)},f);Hf.addABTest=pz;Hf.createAnalyticsClient=dz;Hf.deleteABTest=hz;Hf.getABTest=mz;Hf.getABTests=vz;Hf.stopABTest=gz});var UC=Me((yV,jC)=>{jC.exports=BC()});var zC=Me(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});var nw=Q2(),_z=ed(),qC=Z2(),yz=i=>{let u=i.region||"us",f=nw.createAuth(nw.AuthMode.WithinHeaders,i.appId,i.apiKey),c=_z.createTransporter(zn(dt({hosts:[{url:`recommendation.${u}.algolia.com`}]},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/json"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)}));return nw.addMethods({appId:i.appId,transporter:c},i.methods)},wz=i=>u=>i.transporter.read({method:qC.MethodEnum.Get,path:"1/strategies/personalization"},u),Dz=i=>(u,f)=>i.transporter.write({method:qC.MethodEnum.Post,path:"1/strategies/personalization",data:u},f);nd.createRecommendationClient=yz;nd.getPersonalizationStrategy=wz;nd.setPersonalizationStrategy=Dz});var HC=Me((DV,WC)=>{WC.exports=zC()});var nT=Me(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});var Wt=Q2(),jo=ed(),Rn=Z2(),Ez=require("crypto");function mm(i){let u=f=>i.request(f).then(c=>{if(i.batch!==void 0&&i.batch(c.hits),!i.shouldStop(c))return c.cursor?u({cursor:c.cursor}):u({page:(f.page||0)+1})});return u({})}var Sz=i=>{let u=i.appId,f=Wt.createAuth(i.authMode!==void 0?i.authMode:Wt.AuthMode.WithinHeaders,u,i.apiKey),c=jo.createTransporter(zn(dt({hosts:[{url:`${u}-dsn.algolia.net`,accept:jo.CallEnum.Read},{url:`${u}.algolia.net`,accept:jo.CallEnum.Write}].concat(Wt.shuffle([{url:`${u}-1.algolianet.com`},{url:`${u}-2.algolianet.com`},{url:`${u}-3.algolianet.com`}]))},i),{headers:dt(zn(dt({},f.headers()),{"content-type":"application/x-www-form-urlencoded"}),i.headers),queryParameters:dt(dt({},f.queryParameters()),i.queryParameters)})),g={transporter:c,appId:u,addAlgoliaAgent(t,C){c.userAgent.add({segment:t,version:C})},clearCache(){return Promise.all([c.requestsCache.clear(),c.responsesCache.clear()]).then(()=>{})}};return Wt.addMethods(g,i.methods)};function bC(){return{name:"MissingObjectIDError",message:"All objects must have an unique objectID (like a primary key) to be valid. Algolia is also able to generate objectIDs automatically but *it's not recommended*. To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option."}}function GC(){return{name:"ObjectNotFoundError",message:"Object not found."}}function VC(){return{name:"ValidUntilNotFoundError",message:"ValidUntil not found in given secured api key."}}var Cz=i=>(u,f)=>{let A=f||{},{queryParameters:c}=A,g=Si(A,["queryParameters"]),t=dt({acl:u},c!==void 0?{queryParameters:c}:{}),C=(x,D)=>Wt.createRetryablePromise(L=>rd(i)(x.key,D).catch(N=>{if(N.status!==404)throw N;return L()}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:"1/keys",data:t},g),C)},Tz=i=>(u,f,c)=>{let g=jo.createMappedRequestOptions(c);return g.queryParameters["X-Algolia-User-ID"]=u,i.transporter.write({method:Rn.MethodEnum.Post,path:"1/clusters/mapping",data:{cluster:f}},g)},xz=i=>(u,f,c)=>i.transporter.write({method:Rn.MethodEnum.Post,path:"1/clusters/mapping/batch",data:{users:u,cluster:f}},c),vm=i=>(u,f,c)=>{let g=(t,C)=>id(i)(u,{methods:{waitTask:z0}}).waitTask(t.taskID,C);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",u),data:{operation:"copy",destination:f}},c),g)},kz=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Rules]})),Az=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Settings]})),Oz=i=>(u,f,c)=>vm(i)(u,f,zn(dt({},c),{scope:[gm.Synonyms]})),Iz=i=>(u,f)=>{let c=(g,t)=>Wt.createRetryablePromise(C=>rd(i)(u,t).then(C).catch(A=>{if(A.status!==404)throw A}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/keys/%s",u)},f),c)},Pz=()=>(i,u)=>{let f=jo.serializeQueryParameters(u),c=Ez.createHmac("sha256",i).update(f).digest("hex");return Buffer.from(c+f).toString("base64")},rd=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/keys/%s",u)},f),Mz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/logs"},u),Fz=()=>i=>{let u=Buffer.from(i,"base64").toString("ascii"),f=/validUntil=(\d+)/,c=u.match(f);if(c===null)throw VC();return parseInt(c[1],10)-Math.round(new Date().getTime()/1e3)},Lz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping/top"},u),Rz=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/clusters/mapping/%s",u)},f),Nz=i=>u=>{let g=u||{},{retrieveMappings:f}=g,c=Si(g,["retrieveMappings"]);return f===!0&&(c.getClusters=!0),i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping/pending"},c)},id=i=>(u,f={})=>{let c={transporter:i.transporter,appId:i.appId,indexName:u};return Wt.addMethods(c,f.methods)},Bz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/keys"},u),jz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters"},u),Uz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/indexes"},u),qz=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:"1/clusters/mapping"},u),zz=i=>(u,f,c)=>{let g=(t,C)=>id(i)(u,{methods:{waitTask:z0}}).waitTask(t.taskID,C);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",u),data:{operation:"move",destination:f}},c),g)},Wz=i=>(u,f)=>{let c=(g,t)=>Promise.all(Object.keys(g.taskID).map(C=>id(i)(C,{methods:{waitTask:z0}}).waitTask(g.taskID[C],t)));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:"1/indexes/*/batch",data:{requests:u}},f),c)},Hz=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:u}},f),bz=i=>(u,f)=>{let c=u.map(g=>zn(dt({},g),{params:jo.serializeQueryParameters(g.params||{})}));return i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/queries",data:{requests:c},cacheable:!0},f)},Gz=i=>(u,f)=>Promise.all(u.map(c=>{let A=c.params,{facetName:g,facetQuery:t}=A,C=Si(A,["facetName","facetQuery"]);return id(i)(c.indexName,{methods:{searchForFacetValues:YC}}).searchForFacetValues(g,t,dt(dt({},f),C))})),Vz=i=>(u,f)=>{let c=jo.createMappedRequestOptions(f);return c.queryParameters["X-Algolia-User-ID"]=u,i.transporter.write({method:Rn.MethodEnum.Delete,path:"1/clusters/mapping"},c)},Yz=i=>(u,f)=>{let c=(g,t)=>Wt.createRetryablePromise(C=>rd(i)(u,t).catch(A=>{if(A.status!==404)throw A;return C()}));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/keys/%s/restore",u)},f),c)},$z=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:"1/clusters/mapping/search",data:{query:u}},f),Kz=i=>(u,f)=>{let c=Object.assign({},f),L=f||{},{queryParameters:g}=L,t=Si(L,["queryParameters"]),C=g?{queryParameters:g}:{},A=["acl","indexes","referers","restrictSources","queryParameters","description","maxQueriesPerIPPerHour","maxHitsPerQuery"],x=N=>Object.keys(c).filter(j=>A.indexOf(j)!==-1).every(j=>N[j]===c[j]),D=(N,j)=>Wt.createRetryablePromise($=>rd(i)(u,j).then(h=>x(h)?Promise.resolve():$()));return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Put,path:Wt.encode("1/keys/%s",u),data:C},t),D)},$C=i=>(u,f)=>{let c=(g,t)=>z0(i)(g.taskID,t);return Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/batch",i.indexName),data:{requests:u}},f),c)},Xz=i=>u=>mm(zn(dt({},u),{shouldStop:f=>f.cursor===void 0,request:f=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/browse",i.indexName),data:f},u)})),Jz=i=>u=>{let f=dt({hitsPerPage:1e3},u);return mm(zn(dt({},f),{shouldStop:c=>c.hits.lengthzn(dt({},g),{hits:g.hits.map(t=>(delete t._highlightResult,t))}))}}))},Qz=i=>u=>{let f=dt({hitsPerPage:1e3},u);return mm(zn(dt({},f),{shouldStop:c=>c.hits.lengthzn(dt({},g),{hits:g.hits.map(t=>(delete t._highlightResult,t))}))}}))},_m=i=>(u,f,c)=>{let x=c||{},{batchSize:g}=x,t=Si(x,["batchSize"]),C={taskIDs:[],objectIDs:[]},A=(D=0)=>{let L=[],N;for(N=D;N({action:f,body:j})),t).then(j=>(C.objectIDs=C.objectIDs.concat(j.objectIDs),C.taskIDs.push(j.taskID),N++,A(N)))};return Wt.createWaitablePromise(A(),(D,L)=>Promise.all(D.taskIDs.map(N=>z0(i)(N,L))))},Zz=i=>u=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/clear",i.indexName)},u),(f,c)=>z0(i)(f.taskID,c)),eW=i=>u=>{let t=u||{},{forwardToReplicas:f}=t,c=Si(t,["forwardToReplicas"]),g=jo.createMappedRequestOptions(c);return f&&(g.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/clear",i.indexName)},g),(C,A)=>z0(i)(C.taskID,A))},tW=i=>u=>{let t=u||{},{forwardToReplicas:f}=t,c=Si(t,["forwardToReplicas"]),g=jo.createMappedRequestOptions(c);return f&&(g.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/clear",i.indexName)},g),(C,A)=>z0(i)(C.taskID,A))},nW=i=>(u,f)=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/deleteByQuery",i.indexName),data:u},f),(c,g)=>z0(i)(c.taskID,g)),rW=i=>u=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s",i.indexName)},u),(f,c)=>z0(i)(f.taskID,c)),iW=i=>(u,f)=>Wt.createWaitablePromise(JC(i)([u],f).then(c=>({taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),JC=i=>(u,f)=>{let c=u.map(g=>({objectID:g}));return _m(i)(c,Cc.DeleteObject,f)},oW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/rules/%s",i.indexName,u)},t),(A,x)=>z0(i)(A.taskID,x))},uW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Delete,path:Wt.encode("1/indexes/%s/synonyms/%s",i.indexName,u)},t),(A,x)=>z0(i)(A.taskID,x))},sW=i=>u=>QC(i)(u).then(()=>!0).catch(f=>{if(f.status!==404)throw f;return!1}),lW=i=>(u,f)=>{let x=f||{},{query:c,paginate:g}=x,t=Si(x,["query","paginate"]),C=0,A=()=>ZC(i)(c||"",zn(dt({},t),{page:C})).then(D=>{for(let[L,N]of Object.entries(D.hits))if(u(N))return{object:N,position:parseInt(L,10),page:C};if(C++,g===!1||C>=D.nbPages)throw GC();return A()});return A()},fW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/%s",i.indexName,u)},f),cW=()=>(i,u)=>{for(let[f,c]of Object.entries(i.hits))if(c.objectID===u)return parseInt(f,10);return-1},aW=i=>(u,f)=>{let C=f||{},{attributesToRetrieve:c}=C,g=Si(C,["attributesToRetrieve"]),t=u.map(A=>dt({indexName:i.indexName,objectID:A},c?{attributesToRetrieve:c}:{}));return i.transporter.read({method:Rn.MethodEnum.Post,path:"1/indexes/*/objects",data:{requests:t}},g)},dW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/rules/%s",i.indexName,u)},f),QC=i=>u=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/settings",i.indexName),data:{getVersion:2}},u),pW=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/synonyms/%s",i.indexName,u)},f),eT=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Get,path:Wt.encode("1/indexes/%s/task/%s",i.indexName,u.toString())},f),hW=i=>(u,f)=>Wt.createWaitablePromise(tT(i)([u],f).then(c=>({objectID:c.objectIDs[0],taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),tT=i=>(u,f)=>{let C=f||{},{createIfNotExists:c}=C,g=Si(C,["createIfNotExists"]),t=c?Cc.PartialUpdateObject:Cc.PartialUpdateObjectNoCreate;return _m(i)(u,t,g)},mW=i=>(u,f)=>{let h=f||{},{safe:c,autoGenerateObjectIDIfNotExist:g,batchSize:t}=h,C=Si(h,["safe","autoGenerateObjectIDIfNotExist","batchSize"]),A=(re,ce,Q,oe)=>Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/operation",re),data:{operation:Q,destination:ce}},oe),(Se,me)=>z0(i)(Se.taskID,me)),x=Math.random().toString(36).substring(7),D=`${i.indexName}_tmp_${x}`,L=rw({appId:i.appId,transporter:i.transporter,indexName:D}),N=[],j=A(i.indexName,D,"copy",zn(dt({},C),{scope:["settings","synonyms","rules"]}));N.push(j);let $=(c?j.wait(C):j).then(()=>{let re=L(u,zn(dt({},C),{autoGenerateObjectIDIfNotExist:g,batchSize:t}));return N.push(re),c?re.wait(C):re}).then(()=>{let re=A(D,i.indexName,"move",C);return N.push(re),c?re.wait(C):re}).then(()=>Promise.all(N)).then(([re,ce,Q])=>({objectIDs:ce.objectIDs,taskIDs:[re.taskID,...ce.taskIDs,Q.taskID]}));return Wt.createWaitablePromise($,(re,ce)=>Promise.all(N.map(Q=>Q.wait(ce))))},vW=i=>(u,f)=>iw(i)(u,zn(dt({},f),{clearExistingRules:!0})),gW=i=>(u,f)=>ow(i)(u,zn(dt({},f),{replaceExistingSynonyms:!0})),_W=i=>(u,f)=>Wt.createWaitablePromise(rw(i)([u],f).then(c=>({objectID:c.objectIDs[0],taskID:c.taskIDs[0]})),(c,g)=>z0(i)(c.taskID,g)),rw=i=>(u,f)=>{let C=f||{},{autoGenerateObjectIDIfNotExist:c}=C,g=Si(C,["autoGenerateObjectIDIfNotExist"]),t=c?Cc.AddObject:Cc.UpdateObject;if(t===Cc.UpdateObject){for(let A of u)if(A.objectID===void 0)return Wt.createWaitablePromise(Promise.reject(bC()))}return _m(i)(u,t,g)},yW=i=>(u,f)=>iw(i)([u],f),iw=i=>(u,f)=>{let A=f||{},{forwardToReplicas:c,clearExistingRules:g}=A,t=Si(A,["forwardToReplicas","clearExistingRules"]),C=jo.createMappedRequestOptions(t);return c&&(C.queryParameters.forwardToReplicas=1),g&&(C.queryParameters.clearExistingRules=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/batch",i.indexName),data:u},C),(x,D)=>z0(i)(x.taskID,D))},wW=i=>(u,f)=>ow(i)([u],f),ow=i=>(u,f)=>{let A=f||{},{forwardToReplicas:c,replaceExistingSynonyms:g}=A,t=Si(A,["forwardToReplicas","replaceExistingSynonyms"]),C=jo.createMappedRequestOptions(t);return c&&(C.queryParameters.forwardToReplicas=1),g&&(C.queryParameters.replaceExistingSynonyms=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/batch",i.indexName),data:u},C),(x,D)=>z0(i)(x.taskID,D))},ZC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/query",i.indexName),data:{query:u},cacheable:!0},f),YC=i=>(u,f,c)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/facets/%s/query",i.indexName,u),data:{facetQuery:f},cacheable:!0},c),KC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/rules/search",i.indexName),data:{query:u}},f),XC=i=>(u,f)=>i.transporter.read({method:Rn.MethodEnum.Post,path:Wt.encode("1/indexes/%s/synonyms/search",i.indexName),data:{query:u}},f),DW=i=>(u,f)=>{let C=f||{},{forwardToReplicas:c}=C,g=Si(C,["forwardToReplicas"]),t=jo.createMappedRequestOptions(g);return c&&(t.queryParameters.forwardToReplicas=1),Wt.createWaitablePromise(i.transporter.write({method:Rn.MethodEnum.Put,path:Wt.encode("1/indexes/%s/settings",i.indexName),data:u},t),(A,x)=>z0(i)(A.taskID,x))},z0=i=>(u,f)=>Wt.createRetryablePromise(c=>eT(i)(u,f).then(g=>g.status!=="published"?c():void 0)),EW={AddObject:"addObject",Analytics:"analytics",Browser:"browse",DeleteIndex:"deleteIndex",DeleteObject:"deleteObject",EditSettings:"editSettings",ListIndexes:"listIndexes",Logs:"logs",Recommendation:"recommendation",Search:"search",SeeUnretrievableAttributes:"seeUnretrievableAttributes",Settings:"settings",Usage:"usage"},Cc={AddObject:"addObject",UpdateObject:"updateObject",PartialUpdateObject:"partialUpdateObject",PartialUpdateObjectNoCreate:"partialUpdateObjectNoCreate",DeleteObject:"deleteObject"},gm={Settings:"settings",Synonyms:"synonyms",Rules:"rules"},SW={None:"none",StopIfEnoughMatches:"stopIfEnoughMatches"},CW={Synonym:"synonym",OneWaySynonym:"oneWaySynonym",AltCorrection1:"altCorrection1",AltCorrection2:"altCorrection2",Placeholder:"placeholder"};yt.ApiKeyACLEnum=EW;yt.BatchActionEnum=Cc;yt.ScopeEnum=gm;yt.StrategyEnum=SW;yt.SynonymEnum=CW;yt.addApiKey=Cz;yt.assignUserID=Tz;yt.assignUserIDs=xz;yt.batch=$C;yt.browseObjects=Xz;yt.browseRules=Jz;yt.browseSynonyms=Qz;yt.chunkedBatch=_m;yt.clearObjects=Zz;yt.clearRules=eW;yt.clearSynonyms=tW;yt.copyIndex=vm;yt.copyRules=kz;yt.copySettings=Az;yt.copySynonyms=Oz;yt.createBrowsablePromise=mm;yt.createMissingObjectIDError=bC;yt.createObjectNotFoundError=GC;yt.createSearchClient=Sz;yt.createValidUntilNotFoundError=VC;yt.deleteApiKey=Iz;yt.deleteBy=nW;yt.deleteIndex=rW;yt.deleteObject=iW;yt.deleteObjects=JC;yt.deleteRule=oW;yt.deleteSynonym=uW;yt.exists=sW;yt.findObject=lW;yt.generateSecuredApiKey=Pz;yt.getApiKey=rd;yt.getLogs=Mz;yt.getObject=fW;yt.getObjectPosition=cW;yt.getObjects=aW;yt.getRule=dW;yt.getSecuredApiKeyRemainingValidity=Fz;yt.getSettings=QC;yt.getSynonym=pW;yt.getTask=eT;yt.getTopUserIDs=Lz;yt.getUserID=Rz;yt.hasPendingMappings=Nz;yt.initIndex=id;yt.listApiKeys=Bz;yt.listClusters=jz;yt.listIndices=Uz;yt.listUserIDs=qz;yt.moveIndex=zz;yt.multipleBatch=Wz;yt.multipleGetObjects=Hz;yt.multipleQueries=bz;yt.multipleSearchForFacetValues=Gz;yt.partialUpdateObject=hW;yt.partialUpdateObjects=tT;yt.removeUserID=Vz;yt.replaceAllObjects=mW;yt.replaceAllRules=vW;yt.replaceAllSynonyms=gW;yt.restoreApiKey=Yz;yt.saveObject=_W;yt.saveObjects=rw;yt.saveRule=yW;yt.saveRules=iw;yt.saveSynonym=wW;yt.saveSynonyms=ow;yt.search=ZC;yt.searchForFacetValues=YC;yt.searchRules=KC;yt.searchSynonyms=XC;yt.searchUserIDs=$z;yt.setSettings=DW;yt.updateApiKey=Kz;yt.waitTask=z0});var iT=Me((SV,rT)=>{rT.exports=nT()});var oT=Me(ym=>{"use strict";Object.defineProperty(ym,"__esModule",{value:!0});function TW(){return{debug(i,u){return Promise.resolve()},info(i,u){return Promise.resolve()},error(i,u){return Promise.resolve()}}}var xW={Debug:1,Info:2,Error:3};ym.LogLevelEnum=xW;ym.createNullLogger=TW});var sT=Me((TV,uT)=>{uT.exports=oT()});var cT=Me(uw=>{"use strict";Object.defineProperty(uw,"__esModule",{value:!0});var lT=require("http"),fT=require("https"),kW=require("url");function AW(){let i={keepAlive:!0},u=new lT.Agent(i),f=new fT.Agent(i);return{send(c){return new Promise(g=>{let t=kW.parse(c.url),C=t.query===null?t.pathname:`${t.pathname}?${t.query}`,A=dt({agent:t.protocol==="https:"?f:u,hostname:t.hostname,path:C,method:c.method,headers:c.headers},t.port!==void 0?{port:t.port||""}:{}),x=(t.protocol==="https:"?fT:lT).request(A,j=>{let $="";j.on("data",h=>$+=h),j.on("end",()=>{clearTimeout(L),clearTimeout(N),g({status:j.statusCode||0,content:$,isTimedOut:!1})})}),D=(j,$)=>setTimeout(()=>{x.abort(),g({status:0,content:$,isTimedOut:!0})},j*1e3),L=D(c.connectTimeout,"Connection timeout"),N;x.on("error",j=>{clearTimeout(L),clearTimeout(N),g({status:0,content:j.message,isTimedOut:!1})}),x.once("response",()=>{clearTimeout(L),N=D(c.responseTimeout,"Socket timeout")}),c.data!==void 0&&x.write(c.data),x.end()})},destroy(){return u.destroy(),f.destroy(),Promise.resolve()}}}uw.createNodeHttpRequester=AW});var dT=Me((kV,aT)=>{aT.exports=cT()});var vT=Me((AV,pT)=>{"use strict";var hT=dC(),OW=mC(),Ma=UC(),sw=Q2(),lw=HC(),Mt=iT(),IW=sT(),PW=dT(),MW=ed();function mT(i,u,f){let c={appId:i,apiKey:u,timeouts:{connect:2,read:5,write:30},requester:PW.createNodeHttpRequester(),logger:IW.createNullLogger(),responsesCache:hT.createNullCache(),requestsCache:hT.createNullCache(),hostsCache:OW.createInMemoryCache(),userAgent:MW.createUserAgent(sw.version).add({segment:"Node.js",version:process.versions.node})};return Mt.createSearchClient(zn(dt(dt({},c),f),{methods:{search:Mt.multipleQueries,searchForFacetValues:Mt.multipleSearchForFacetValues,multipleBatch:Mt.multipleBatch,multipleGetObjects:Mt.multipleGetObjects,multipleQueries:Mt.multipleQueries,copyIndex:Mt.copyIndex,copySettings:Mt.copySettings,copyRules:Mt.copyRules,copySynonyms:Mt.copySynonyms,moveIndex:Mt.moveIndex,listIndices:Mt.listIndices,getLogs:Mt.getLogs,listClusters:Mt.listClusters,multipleSearchForFacetValues:Mt.multipleSearchForFacetValues,getApiKey:Mt.getApiKey,addApiKey:Mt.addApiKey,listApiKeys:Mt.listApiKeys,updateApiKey:Mt.updateApiKey,deleteApiKey:Mt.deleteApiKey,restoreApiKey:Mt.restoreApiKey,assignUserID:Mt.assignUserID,assignUserIDs:Mt.assignUserIDs,getUserID:Mt.getUserID,searchUserIDs:Mt.searchUserIDs,listUserIDs:Mt.listUserIDs,getTopUserIDs:Mt.getTopUserIDs,removeUserID:Mt.removeUserID,hasPendingMappings:Mt.hasPendingMappings,generateSecuredApiKey:Mt.generateSecuredApiKey,getSecuredApiKeyRemainingValidity:Mt.getSecuredApiKeyRemainingValidity,destroy:sw.destroy,initIndex:g=>t=>Mt.initIndex(g)(t,{methods:{batch:Mt.batch,delete:Mt.deleteIndex,getObject:Mt.getObject,getObjects:Mt.getObjects,saveObject:Mt.saveObject,saveObjects:Mt.saveObjects,search:Mt.search,searchForFacetValues:Mt.searchForFacetValues,waitTask:Mt.waitTask,setSettings:Mt.setSettings,getSettings:Mt.getSettings,partialUpdateObject:Mt.partialUpdateObject,partialUpdateObjects:Mt.partialUpdateObjects,deleteObject:Mt.deleteObject,deleteObjects:Mt.deleteObjects,deleteBy:Mt.deleteBy,clearObjects:Mt.clearObjects,browseObjects:Mt.browseObjects,getObjectPosition:Mt.getObjectPosition,findObject:Mt.findObject,exists:Mt.exists,saveSynonym:Mt.saveSynonym,saveSynonyms:Mt.saveSynonyms,getSynonym:Mt.getSynonym,searchSynonyms:Mt.searchSynonyms,browseSynonyms:Mt.browseSynonyms,deleteSynonym:Mt.deleteSynonym,clearSynonyms:Mt.clearSynonyms,replaceAllObjects:Mt.replaceAllObjects,replaceAllSynonyms:Mt.replaceAllSynonyms,searchRules:Mt.searchRules,getRule:Mt.getRule,deleteRule:Mt.deleteRule,saveRule:Mt.saveRule,saveRules:Mt.saveRules,replaceAllRules:Mt.replaceAllRules,browseRules:Mt.browseRules,clearRules:Mt.clearRules}}),initAnalytics:()=>g=>Ma.createAnalyticsClient(zn(dt(dt({},c),g),{methods:{addABTest:Ma.addABTest,getABTest:Ma.getABTest,getABTests:Ma.getABTests,stopABTest:Ma.stopABTest,deleteABTest:Ma.deleteABTest}})),initRecommendation:()=>g=>lw.createRecommendationClient(zn(dt(dt({},c),g),{methods:{getPersonalizationStrategy:lw.getPersonalizationStrategy,setPersonalizationStrategy:lw.setPersonalizationStrategy}}))}}))}mT.version=sw.version;pT.exports=mT});var _T=Me((OV,fw)=>{var gT=vT();fw.exports=gT;fw.exports.default=gT});var rf=Me(dw=>{"use strict";Object.defineProperty(dw,"__esModule",{value:!0});dw.default=kT;function kT(){}kT.prototype={diff:function(u,f){var c=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},g=c.callback;typeof c=="function"&&(g=c,c={}),this.options=c;var t=this;function C(re){return g?(setTimeout(function(){g(void 0,re)},0),!0):re}u=this.castInput(u),f=this.castInput(f),u=this.removeEmpty(this.tokenize(u)),f=this.removeEmpty(this.tokenize(f));var A=f.length,x=u.length,D=1,L=A+x,N=[{newPos:-1,components:[]}],j=this.extractCommon(N[0],f,u,0);if(N[0].newPos+1>=A&&j+1>=x)return C([{value:this.join(f),count:f.length}]);function $(){for(var re=-1*D;re<=D;re+=2){var ce=void 0,Q=N[re-1],oe=N[re+1],Se=(oe?oe.newPos:0)-re;Q&&(N[re-1]=void 0);var me=Q&&Q.newPos+1=A&&Se+1>=x)return C(LW(t,ce.components,f,u,t.useLongestToken));N[re]=ce}D++}if(g)(function re(){setTimeout(function(){if(D>L)return g();$()||re()},0)})();else for(;D<=L;){var h=$();if(h)return h}},pushComponent:function(u,f,c){var g=u[u.length-1];g&&g.added===f&&g.removed===c?u[u.length-1]={count:g.count+1,added:f,removed:c}:u.push({count:1,added:f,removed:c})},extractCommon:function(u,f,c,g){for(var t=f.length,C=c.length,A=u.newPos,x=A-g,D=0;A+1$.length?re:$}),D.value=i.join(L)}else D.value=i.join(f.slice(A,A+D.count));A+=D.count,D.added||(x+=D.count)}}var j=u[C-1];return C>1&&typeof j.value=="string"&&(j.added||j.removed)&&i.equals("",j.value)&&(u[C-2].value+=j.value,u.pop()),u}function RW(i){return{newPos:i.newPos,components:i.components.slice(0)}}});var OT=Me(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});ld.diffChars=NW;ld.characterDiff=void 0;var jW=BW(rf());function BW(i){return i&&i.__esModule?i:{default:i}}var AT=new jW.default;ld.characterDiff=AT;function NW(i,u,f){return AT.diff(i,u,f)}});var hw=Me(pw=>{"use strict";Object.defineProperty(pw,"__esModule",{value:!0});pw.generateOptions=UW;function UW(i,u){if(typeof i=="function")u.callback=i;else if(i)for(var f in i)i.hasOwnProperty(f)&&(u[f]=i[f]);return u}});var MT=Me(Fa=>{"use strict";Object.defineProperty(Fa,"__esModule",{value:!0});Fa.diffWords=qW;Fa.diffWordsWithSpace=zW;Fa.wordDiff=void 0;var HW=WW(rf()),bW=hw();function WW(i){return i&&i.__esModule?i:{default:i}}var IT=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,PT=/\S/,fd=new HW.default;Fa.wordDiff=fd;fd.equals=function(i,u){return this.options.ignoreCase&&(i=i.toLowerCase(),u=u.toLowerCase()),i===u||this.options.ignoreWhitespace&&!PT.test(i)&&!PT.test(u)};fd.tokenize=function(i){for(var u=i.split(/(\s+|[()[\]{}'"]|\b)/),f=0;f{"use strict";Object.defineProperty(La,"__esModule",{value:!0});La.diffLines=GW;La.diffTrimmedLines=VW;La.lineDiff=void 0;var $W=YW(rf()),KW=hw();function YW(i){return i&&i.__esModule?i:{default:i}}var Dm=new $W.default;La.lineDiff=Dm;Dm.tokenize=function(i){var u=[],f=i.split(/(\n|\r\n)/);f[f.length-1]||f.pop();for(var c=0;c{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.diffSentences=XW;cd.sentenceDiff=void 0;var QW=JW(rf());function JW(i){return i&&i.__esModule?i:{default:i}}var mw=new QW.default;cd.sentenceDiff=mw;mw.tokenize=function(i){return i.split(/(\S.+?[.!?])(?=\s+|$)/)};function XW(i,u,f){return mw.diff(i,u,f)}});var LT=Me(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.diffCss=ZW;ad.cssDiff=void 0;var tH=eH(rf());function eH(i){return i&&i.__esModule?i:{default:i}}var vw=new tH.default;ad.cssDiff=vw;vw.tokenize=function(i){return i.split(/([{}:;,]|\s+)/)};function ZW(i,u,f){return vw.diff(i,u,f)}});var NT=Me(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.diffJson=nH;Ra.canonicalize=Sm;Ra.jsonDiff=void 0;var RT=rH(rf()),iH=Em();function rH(i){return i&&i.__esModule?i:{default:i}}function Cm(i){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Cm=function(f){return typeof f}:Cm=function(f){return f&&typeof Symbol=="function"&&f.constructor===Symbol&&f!==Symbol.prototype?"symbol":typeof f},Cm(i)}var oH=Object.prototype.toString,xc=new RT.default;Ra.jsonDiff=xc;xc.useLongestToken=!0;xc.tokenize=iH.lineDiff.tokenize;xc.castInput=function(i){var u=this.options,f=u.undefinedReplacement,c=u.stringifyReplacer,g=c===void 0?function(t,C){return typeof C=="undefined"?f:C}:c;return typeof i=="string"?i:JSON.stringify(Sm(i,null,null,g),g," ")};xc.equals=function(i,u){return RT.default.prototype.equals.call(xc,i.replace(/,([\r\n])/g,"$1"),u.replace(/,([\r\n])/g,"$1"))};function nH(i,u,f){return xc.diff(i,u,f)}function Sm(i,u,f,c,g){u=u||[],f=f||[],c&&(i=c(g,i));var t;for(t=0;t{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});dd.diffArrays=uH;dd.arrayDiff=void 0;var lH=sH(rf());function sH(i){return i&&i.__esModule?i:{default:i}}var pd=new lH.default;dd.arrayDiff=pd;pd.tokenize=function(i){return i.slice()};pd.join=pd.removeEmpty=function(i){return i};function uH(i,u,f){return pd.diff(i,u,f)}});var Tm=Me(gw=>{"use strict";Object.defineProperty(gw,"__esModule",{value:!0});gw.parsePatch=fH;function fH(i){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=i.split(/\r\n|[\n\v\f\r\x85]/),c=i.match(/\r\n|[\n\v\f\r\x85]/g)||[],g=[],t=0;function C(){var D={};for(g.push(D);t{"use strict";Object.defineProperty(_w,"__esModule",{value:!0});_w.default=cH;function cH(i,u,f){var c=!0,g=!1,t=!1,C=1;return function A(){if(c&&!t){if(g?C++:c=!1,i+C<=f)return C;t=!0}if(!g)return t||(c=!0),u<=i-C?-C++:(g=!0,A())}}});var zT=Me(xm=>{"use strict";Object.defineProperty(xm,"__esModule",{value:!0});xm.applyPatch=UT;xm.applyPatches=aH;var qT=Tm(),pH=dH(jT());function dH(i){return i&&i.__esModule?i:{default:i}}function UT(i,u){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof u=="string"&&(u=(0,qT.parsePatch)(u)),Array.isArray(u)){if(u.length>1)throw new Error("applyPatch only works with a single input.");u=u[0]}var c=i.split(/\r\n|[\n\v\f\r\x85]/),g=i.match(/\r\n|[\n\v\f\r\x85]/g)||[],t=u.hunks,C=f.compareLine||function(Ot,Nt,Je,V){return Nt===V},A=0,x=f.fuzzFactor||0,D=0,L=0,N,j;function $(Ot,Nt){for(var Je=0;Je0?V[0]:" ",ge=V.length>0?V.substr(1):V;if(ne===" "||ne==="-"){if(!C(Nt+1,c[Nt],ne,ge)&&(A++,A>x))return!1;Nt++}}return!0}for(var h=0;h0?Le[0]:" ",ct=Le.length>0?Le.substr(1):Le,Ue=J.linedelimiters[Oe];if(ot===" ")Te++;else if(ot==="-")c.splice(Te,1),g.splice(Te,1);else if(ot==="+")c.splice(Te,0,ct),g.splice(Te,0,Ue),Te++;else if(ot==="\\"){var be=J.lines[Oe-1]?J.lines[Oe-1][0]:null;be==="+"?N=!0:be==="-"&&(j=!0)}}}if(N)for(;!c[c.length-1];)c.pop(),g.pop();else j&&(c.push(""),g.push(` -`));for(var At=0;At{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.structuredPatch=WT;hd.createTwoFilesPatch=HT;hd.createPatch=hH;var mH=Em();function yw(i){return _H(i)||gH(i)||vH()}function vH(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function gH(i){if(Symbol.iterator in Object(i)||Object.prototype.toString.call(i)==="[object Arguments]")return Array.from(i)}function _H(i){if(Array.isArray(i)){for(var u=0,f=new Array(i.length);u0?x(J.lines.slice(-C.context)):[],L-=j.length,N-=j.length)}(De=j).push.apply(De,yw(me.map(function(At){return(Se.added?"+":"-")+At}))),Se.added?h+=me.length:$+=me.length}else{if(L)if(me.length<=C.context*2&&oe=A.length-2&&me.length<=C.context){var ct=/\n$/.test(f),Ue=/\n$/.test(c),be=me.length==0&&j.length>ot.oldLines;!ct&&be&&j.splice(ot.oldLines,0,"\\ No newline at end of file"),(!ct&&!be||!Ue)&&j.push("\\ No newline at end of file")}D.push(ot),L=0,N=0,j=[]}$+=me.length,h+=me.length}},ce=0;ce{"use strict";Object.defineProperty(km,"__esModule",{value:!0});km.arrayEqual=yH;km.arrayStartsWith=bT;function yH(i,u){return i.length!==u.length?!1:bT(i,u)}function bT(i,u){if(u.length>i.length)return!1;for(var f=0;f{"use strict";Object.defineProperty(Am,"__esModule",{value:!0});Am.calcLineCount=VT;Am.merge=wH;var DH=ww(),EH=Tm(),Dw=GT();function Na(i){return TH(i)||CH(i)||SH()}function SH(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function CH(i){if(Symbol.iterator in Object(i)||Object.prototype.toString.call(i)==="[object Arguments]")return Array.from(i)}function TH(i){if(Array.isArray(i)){for(var u=0,f=new Array(i.length);u{"use strict";Object.defineProperty(Cw,"__esModule",{value:!0});Cw.convertChangesToDMP=OH;function OH(i){for(var u=[],f,c,g=0;g{"use strict";Object.defineProperty(Tw,"__esModule",{value:!0});Tw.convertChangesToXML=IH;function IH(i){for(var u=[],f=0;f"):c.removed&&u.push(""),u.push(PH(c.value)),c.added?u.push(""):c.removed&&u.push("")}return u.join("")}function PH(i){var u=i;return u=u.replace(/&/g,"&"),u=u.replace(//g,">"),u=u.replace(/"/g,"""),u}});var f9=Me(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});Object.defineProperty(w0,"Diff",{enumerable:!0,get:function(){return MH.default}});Object.defineProperty(w0,"diffChars",{enumerable:!0,get:function(){return FH.diffChars}});Object.defineProperty(w0,"diffWords",{enumerable:!0,get:function(){return o9.diffWords}});Object.defineProperty(w0,"diffWordsWithSpace",{enumerable:!0,get:function(){return o9.diffWordsWithSpace}});Object.defineProperty(w0,"diffLines",{enumerable:!0,get:function(){return u9.diffLines}});Object.defineProperty(w0,"diffTrimmedLines",{enumerable:!0,get:function(){return u9.diffTrimmedLines}});Object.defineProperty(w0,"diffSentences",{enumerable:!0,get:function(){return LH.diffSentences}});Object.defineProperty(w0,"diffCss",{enumerable:!0,get:function(){return RH.diffCss}});Object.defineProperty(w0,"diffJson",{enumerable:!0,get:function(){return s9.diffJson}});Object.defineProperty(w0,"canonicalize",{enumerable:!0,get:function(){return s9.canonicalize}});Object.defineProperty(w0,"diffArrays",{enumerable:!0,get:function(){return NH.diffArrays}});Object.defineProperty(w0,"applyPatch",{enumerable:!0,get:function(){return l9.applyPatch}});Object.defineProperty(w0,"applyPatches",{enumerable:!0,get:function(){return l9.applyPatches}});Object.defineProperty(w0,"parsePatch",{enumerable:!0,get:function(){return BH.parsePatch}});Object.defineProperty(w0,"merge",{enumerable:!0,get:function(){return jH.merge}});Object.defineProperty(w0,"structuredPatch",{enumerable:!0,get:function(){return xw.structuredPatch}});Object.defineProperty(w0,"createTwoFilesPatch",{enumerable:!0,get:function(){return xw.createTwoFilesPatch}});Object.defineProperty(w0,"createPatch",{enumerable:!0,get:function(){return xw.createPatch}});Object.defineProperty(w0,"convertChangesToDMP",{enumerable:!0,get:function(){return UH.convertChangesToDMP}});Object.defineProperty(w0,"convertChangesToXML",{enumerable:!0,get:function(){return qH.convertChangesToXML}});var MH=zH(rf()),FH=OT(),o9=MT(),u9=Em(),LH=FT(),RH=LT(),s9=NT(),NH=BT(),l9=zT(),BH=Tm(),jH=n9(),xw=ww(),UH=r9(),qH=i9();function zH(i){return i&&i.__esModule?i:{default:i}}});var HH={};jR(HH,{default:()=>GH});var wT=Er(require("@yarnpkg/cli")),Tc=Er(require("@yarnpkg/core"));var Z5=Er(ys()),Dc=Er(lr()),om=(0,Dc.memo)(({active:i})=>{let u=(0,Dc.useMemo)(()=>i?"\u25C9":"\u25EF",[i]),f=(0,Dc.useMemo)(()=>i?"green":"yellow",[i]);return Dc.default.createElement(Z5.Text,{color:f},u)});var Wf=Er(ys()),Bo=Er(lr());var eC=Er(ys()),um=Er(lr());function zf({active:i},u,f){let{stdin:c}=(0,eC.useStdin)(),g=(0,um.useCallback)((t,C)=>u(t,C),f);(0,um.useEffect)(()=>{if(!(!i||!c))return c.on("keypress",g),()=>{c.off("keypress",g)}},[i,g,c])}var sm;(function(f){f.BEFORE="before",f.AFTER="after"})(sm||(sm={}));var tC=function({active:i},u,f){zf({active:i},(c,g)=>{g.name==="tab"&&(g.shift?u(sm.BEFORE):u(sm.AFTER))},f)};var lm=function(i,u,{active:f,minus:c,plus:g,set:t,loop:C=!0}){zf({active:f},(A,x)=>{let D=u.indexOf(i);switch(x.name){case c:{let L=D-1;if(C){t(u[(u.length+L)%u.length]);return}if(L<0)return;t(u[L])}break;case g:{let L=D+1;if(C){t(u[L%u.length]);return}if(L>=u.length)return;t(u[L])}break}},[u,i,g,t,C])};var fm=({active:i=!0,children:u=[],radius:f=10,size:c=1,loop:g=!0,onFocusRequest:t,willReachEnd:C})=>{let A=ce=>{if(ce.key===null)throw new Error("Expected all children to have a key");return ce.key},x=Bo.default.Children.map(u,ce=>A(ce)),D=x[0],[L,N]=(0,Bo.useState)(D),j=x.indexOf(L);(0,Bo.useEffect)(()=>{x.includes(L)||N(D)},[u]),(0,Bo.useEffect)(()=>{C&&j>=x.length-2&&C()},[j]),tC({active:i&&!!t},ce=>{t==null||t(ce)},[t]),lm(L,x,{active:i,minus:"up",plus:"down",set:N,loop:g});let $=j-f,h=j+f;h>x.length&&($-=h-x.length,h=x.length),$<0&&(h+=-$,$=0),h>=x.length&&(h=x.length-1);let re=[];for(let ce=$;ce<=h;++ce){let Q=x[ce],oe=i&&Q===L;re.push(Bo.default.createElement(Wf.Box,{key:Q,height:c},Bo.default.createElement(Wf.Box,{marginLeft:1,marginRight:1},Bo.default.createElement(Wf.Text,null,oe?Bo.default.createElement(Wf.Text,{color:"cyan",bold:!0},">"):" ")),Bo.default.createElement(Wf.Box,null,Bo.default.cloneElement(u[ce],{active:oe}))))}return Bo.default.createElement(Wf.Box,{flexDirection:"column",width:"100%"},re)};var cm=Er(lr());var nC=Er(ys()),nf=Er(lr()),rC=Er(require("readline")),G3=nf.default.createContext(null),iC=({children:i})=>{let{stdin:u,setRawMode:f}=(0,nC.useStdin)();(0,nf.useEffect)(()=>{f&&f(!0),u&&(0,rC.emitKeypressEvents)(u)},[u,f]);let[c,g]=(0,nf.useState)(new Map),t=(0,nf.useMemo)(()=>({getAll:()=>c,get:C=>c.get(C),set:(C,A)=>g(new Map([...c,[C,A]]))}),[c,g]);return nf.default.createElement(G3.Provider,{value:t,children:i})};function Ec(i,u){let f=(0,cm.useContext)(G3);if(f===null)throw new Error("Expected this hook to run with a ministore context attached");if(typeof i=="undefined")return f.getAll();let c=(0,cm.useCallback)(t=>{f.set(i,t)},[i,f.set]),g=f.get(i);return typeof g=="undefined"&&(g=u),[g,c]}var am=Er(ys()),V3=Er(lr());async function dm(i,u){let f,c=t=>{let{exit:C}=(0,am.useApp)();zf({active:!0},(A,x)=>{x.name==="return"&&(f=t,C())},[C,t])},{waitUntilExit:g}=(0,am.render)(V3.default.createElement(iC,null,V3.default.createElement(i,zn(dt({},u),{useSubmit:c}))));return await g(),f}var DT=Er(require("clipanion")),ET=Er(lC()),un=Er(ys()),Pt=Er(lr());var yT=Er(_T()),cw={appId:"OFCNCOG2CU",apiKey:"6fe4476ee5a1832882e326b506d14126",indexName:"npm-search"},FW=(0,yT.default)(cw.appId,cw.apiKey).initIndex(cw.indexName),aw=async(i,u=0)=>await FW.search(i,{analyticsTags:["yarn-plugin-interactive-tools"],attributesToRetrieve:["name","version","owner","repository","humanDownloadsLast30Days"],page:u,hitsPerPage:10});var od=["regular","dev","peer"],ud=class extends wT.BaseCommand{async execute(){let u=await Tc.Configuration.find(this.context.cwd,this.context.plugins),f=()=>Pt.default.createElement(un.Box,{flexDirection:"row"},Pt.default.createElement(un.Box,{flexDirection:"column",width:48},Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},""),"/",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to move between packages.")),Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to select a package.")),Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," again to change the target."))),Pt.default.createElement(un.Box,{flexDirection:"column"},Pt.default.createElement(un.Box,{marginLeft:1},Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to install the selected packages.")),Pt.default.createElement(un.Box,{marginLeft:1},Pt.default.createElement(un.Text,null,"Press ",Pt.default.createElement(un.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),c=()=>Pt.default.createElement(Pt.default.Fragment,null,Pt.default.createElement(un.Box,{width:15},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Owner")),Pt.default.createElement(un.Box,{width:11},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Version")),Pt.default.createElement(un.Box,{width:10},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Downloads"))),g=()=>Pt.default.createElement(un.Box,{width:17},Pt.default.createElement(un.Text,{bold:!0,underline:!0,color:"gray"},"Target")),t=({hit:$,active:h})=>{let[re,ce]=Ec($.name,null);zf({active:h},(Se,me)=>{if(me.name!=="space")return;if(!re){ce(od[0]);return}let De=od.indexOf(re)+1;De===od.length?ce(null):ce(od[De])},[re,ce]);let Q=Tc.structUtils.parseIdent($.name),oe=Tc.structUtils.prettyIdent(u,Q);return Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Box,{width:45},Pt.default.createElement(un.Text,{bold:!0,wrap:"wrap"},oe)),Pt.default.createElement(un.Box,{width:14,marginLeft:1},Pt.default.createElement(un.Text,{bold:!0,wrap:"truncate"},$.owner.name)),Pt.default.createElement(un.Box,{width:10,marginLeft:1},Pt.default.createElement(un.Text,{italic:!0,wrap:"truncate"},$.version)),Pt.default.createElement(un.Box,{width:16,marginLeft:1},Pt.default.createElement(un.Text,null,$.humanDownloadsLast30Days)))},C=({name:$,active:h})=>{let[re]=Ec($,null),ce=Tc.structUtils.parseIdent($);return Pt.default.createElement(un.Box,null,Pt.default.createElement(un.Box,{width:47},Pt.default.createElement(un.Text,{bold:!0}," - ",Tc.structUtils.prettyIdent(u,ce))),od.map(Q=>Pt.default.createElement(un.Box,{key:Q,width:14,marginLeft:1},Pt.default.createElement(un.Text,null," ",Pt.default.createElement(om,{active:re===Q})," ",Pt.default.createElement(un.Text,{bold:!0},Q)))))},A=()=>Pt.default.createElement(un.Box,{marginTop:1},Pt.default.createElement(un.Text,null,"Powered by Algolia.")),D=await dm(({useSubmit:$})=>{let h=Ec();$(h);let re=Array.from(h.keys()).filter(Le=>h.get(Le)!==null),[ce,Q]=(0,Pt.useState)(""),[oe,Se]=(0,Pt.useState)(0),[me,De]=(0,Pt.useState)([]),J=Le=>{Le.match(/\t| /)||Q(Le)},Te=async()=>{Se(0);let Le=await aw(ce);Le.query===ce&&De(Le.hits)},Oe=async()=>{let Le=await aw(ce,oe+1);Le.query===ce&&Le.page-1===oe&&(Se(Le.page),De([...me,...Le.hits]))};return(0,Pt.useEffect)(()=>{ce?Te():De([])},[ce]),Pt.default.createElement(un.Box,{flexDirection:"column"},Pt.default.createElement(f,null),Pt.default.createElement(un.Box,{flexDirection:"row",marginTop:1},Pt.default.createElement(un.Text,{bold:!0},"Search: "),Pt.default.createElement(un.Box,{width:41},Pt.default.createElement(ET.default,{value:ce,onChange:J,placeholder:"i.e. babel, webpack, react...",showCursor:!1})),Pt.default.createElement(c,null)),me.length?Pt.default.createElement(fm,{radius:2,loop:!1,children:me.map(Le=>Pt.default.createElement(t,{key:Le.name,hit:Le,active:!1})),willReachEnd:Oe}):Pt.default.createElement(un.Text,{color:"gray"},"Start typing..."),Pt.default.createElement(un.Box,{flexDirection:"row",marginTop:1},Pt.default.createElement(un.Box,{width:49},Pt.default.createElement(un.Text,{bold:!0},"Selected:")),Pt.default.createElement(g,null)),re.length?re.map(Le=>Pt.default.createElement(C,{key:Le,name:Le,active:!1})):Pt.default.createElement(un.Text,{color:"gray"},"No selected packages..."),Pt.default.createElement(A,null))},{});if(typeof D=="undefined")return 1;let L=Array.from(D.keys()).filter($=>D.get($)==="regular"),N=Array.from(D.keys()).filter($=>D.get($)==="dev"),j=Array.from(D.keys()).filter($=>D.get($)==="peer");return L.length&&await this.cli.run(["add",...L]),N.length&&await this.cli.run(["add","--dev",...N]),j&&await this.cli.run(["add","--peer",...j]),0}};ud.paths=[["search"]],ud.usage=DT.Command.Usage({category:"Interactive commands",description:"open the search interface",details:` - This command opens a fullscreen terminal interface where you can search for and install packages from the npm registry. - `,examples:[["Open the search window","yarn search"]]});var ST=ud;var Im=Er(require("@yarnpkg/cli")),W0=Er(require("@yarnpkg/core"));var sd=Er(ys()),bf=Er(lr());var CT=Er(ys()),TT=Er(lr()),wm=({length:i,active:u})=>{if(i===0)return null;let f=i>1?` ${"-".repeat(i-1)}`:" ";return TT.default.createElement(CT.Text,{dimColor:!u},f)};var xT=function({active:i,skewer:u,options:f,value:c,onChange:g,sizes:t=[]}){let C=f.filter(({label:x})=>!!x).map(({value:x})=>x),A=f.findIndex(x=>x.value===c&&x.label!="");return lm(c,C,{active:i,minus:"left",plus:"right",set:g}),bf.default.createElement(bf.default.Fragment,null,f.map(({label:x},D)=>{let L=D===A,N=t[D]-1||0,j=x.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g,""),$=Math.max(0,N-j.length-2);return x?bf.default.createElement(sd.Box,{key:x,width:N,marginLeft:1},bf.default.createElement(sd.Text,{wrap:"truncate"},bf.default.createElement(om,{active:L})," ",x),u?bf.default.createElement(wm,{active:i,length:$}):null):bf.default.createElement(sd.Box,{key:`spacer-${D}`,width:N,marginLeft:1})}))};var c9=Er(require("@yarnpkg/plugin-essentials")),a9=Er(require("clipanion")),d9=Er(f9()),tr=Er(ys()),pn=Er(lr()),p9=Er(require("semver")),h9=/^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/,WH=10,md=class extends Im.BaseCommand{async execute(){let u=await W0.Configuration.find(this.context.cwd,this.context.plugins),{project:f,workspace:c}=await W0.Project.find(u,this.context.cwd),g=await W0.Cache.find(u);if(!c)throw new Im.WorkspaceRequiredError(f.cwd,this.context.cwd);await f.restoreInstallState({restoreResolutions:!1});let t=(Q,oe)=>{let Se=(0,d9.diffWords)(Q,oe),me="";for(let De of Se)De.added?me+=W0.formatUtils.pretty(u,De.value,"green"):De.removed||(me+=De.value);return me},C=(Q,oe)=>{if(Q===oe)return oe;let Se=W0.structUtils.parseRange(Q),me=W0.structUtils.parseRange(oe),De=Se.selector.match(h9),J=me.selector.match(h9);if(!De||!J)return t(Q,oe);let Te=["gray","red","yellow","green","magenta"],Oe=null,Le="";for(let ot=1;ot{let me=await c9.suggestUtils.fetchDescriptorFrom(Q,Se,{project:f,cache:g,preserveModifier:oe,workspace:c});return me!==null?me.range:Q.range},x=async Q=>{let oe=p9.default.valid(Q.range)?`^${Q.range}`:Q.range,[Se,me]=await Promise.all([A(Q,Q.range,oe).catch(()=>null),A(Q,Q.range,"latest").catch(()=>null)]),De=[{value:null,label:Q.range}];return Se&&Se!==Q.range?De.push({value:Se,label:C(Q.range,Se)}):De.push({value:null,label:""}),me&&me!==Se&&me!==Q.range?De.push({value:me,label:C(Q.range,me)}):De.push({value:null,label:""}),De},D=()=>pn.default.createElement(tr.Box,{flexDirection:"row"},pn.default.createElement(tr.Box,{flexDirection:"column",width:49},pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},""),"/",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to select packages.")),pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},""),"/",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to select versions."))),pn.default.createElement(tr.Box,{flexDirection:"column"},pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to install.")),pn.default.createElement(tr.Box,{marginLeft:1},pn.default.createElement(tr.Text,null,"Press ",pn.default.createElement(tr.Text,{bold:!0,color:"cyanBright"},"")," to abort.")))),L=()=>pn.default.createElement(tr.Box,{flexDirection:"row",paddingTop:1,paddingBottom:1},pn.default.createElement(tr.Box,{width:50},pn.default.createElement(tr.Text,{bold:!0},pn.default.createElement(tr.Text,{color:"greenBright"},"?")," Pick the packages you want to upgrade.")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Current")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Range")),pn.default.createElement(tr.Box,{width:17},pn.default.createElement(tr.Text,{bold:!0,underline:!0,color:"gray"},"Latest"))),N=({active:Q,descriptor:oe,suggestions:Se})=>{let[me,De]=Ec(oe.descriptorHash,null),J=W0.structUtils.stringifyIdent(oe),Te=Math.max(0,45-J.length);return pn.default.createElement(pn.default.Fragment,null,pn.default.createElement(tr.Box,null,pn.default.createElement(tr.Box,{width:45},pn.default.createElement(tr.Text,{bold:!0},W0.structUtils.prettyIdent(u,oe)),pn.default.createElement(wm,{active:Q,length:Te})),Se!==null?pn.default.createElement(xT,{active:Q,options:Se,value:me,skewer:!0,onChange:De,sizes:[17,17,17]}):pn.default.createElement(tr.Box,{marginLeft:2},pn.default.createElement(tr.Text,{color:"gray"},"Fetching suggestions..."))))},j=({dependencies:Q})=>{let[oe,Se]=(0,pn.useState)(null),me=(0,pn.useRef)(!0);return(0,pn.useEffect)(()=>()=>{me.current=!1}),(0,pn.useEffect)(()=>{Promise.all(Q.map(De=>x(De))).then(De=>{let J=Q.map((Te,Oe)=>{let Le=De[Oe];return[Te,Le]}).filter(([Te,Oe])=>Oe.filter(Le=>Le.label!=="").length>1);me.current&&Se(J)})},[]),oe?oe.length?pn.default.createElement(fm,{radius:WH,children:oe.map(([De,J])=>pn.default.createElement(N,{key:De.descriptorHash,active:!1,descriptor:De,suggestions:J}))}):pn.default.createElement(tr.Text,null,"No upgrades found"):pn.default.createElement(tr.Text,null,"Fetching suggestions...")},h=await dm(({useSubmit:Q})=>{Q(Ec());let oe=new Map;for(let me of f.workspaces)for(let De of["dependencies","devDependencies"])for(let J of me.manifest[De].values())f.tryWorkspaceByDescriptor(J)===null&&oe.set(J.descriptorHash,J);let Se=W0.miscUtils.sortMap(oe.values(),me=>W0.structUtils.stringifyDescriptor(me));return pn.default.createElement(tr.Box,{flexDirection:"column"},pn.default.createElement(D,null),pn.default.createElement(L,null),pn.default.createElement(j,{dependencies:Se}))},{});if(typeof h=="undefined")return 1;let re=!1;for(let Q of f.workspaces)for(let oe of["dependencies","devDependencies"]){let Se=Q.manifest[oe];for(let me of Se.values()){let De=h.get(me.descriptorHash);typeof De!="undefined"&&De!==null&&(Se.set(me.identHash,W0.structUtils.makeDescriptor(me,De)),re=!0)}}return re?(await W0.StreamReport.start({configuration:u,stdout:this.context.stdout,includeLogs:!this.context.quiet},async Q=>{await f.install({cache:g,report:Q})})).exitCode():0}};md.paths=[["upgrade-interactive"]],md.usage=a9.Command.Usage({category:"Interactive commands",description:"open the upgrade interface",details:` - This command opens a fullscreen terminal interface where you can see any out of date packages used by your application, their status compared to the latest versions available on the remote registry, and select packages to upgrade. - `,examples:[["Open the upgrade window","yarn upgrade-interactive"]]});var m9=md;var bH={commands:[ST,m9]},GH=bH;return HH;})(); -/* -object-assign -(c) Sindre Sorhus -@license MIT -*/ -/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react-debug-tools.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.0.0-experimental-51a3aa6af - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.18.0 - * scheduler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v0.24.0 - * react-reconciler.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -/** @license React v16.13.1 - * react.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ -return plugin; -} -}; diff --git a/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs b/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs deleted file mode 100644 index 799c5be98..000000000 --- a/.yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs +++ /dev/null @@ -1,28 +0,0 @@ -/* eslint-disable */ -//prettier-ignore -module.exports = { -name: "@yarnpkg/plugin-workspace-tools", -factory: function (require) { -var plugin=(()=>{var Cr=Object.create,ge=Object.defineProperty,wr=Object.defineProperties,Sr=Object.getOwnPropertyDescriptor,vr=Object.getOwnPropertyDescriptors,Hr=Object.getOwnPropertyNames,Je=Object.getOwnPropertySymbols,$r=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty,Tr=Object.prototype.propertyIsEnumerable;var tt=(e,t,r)=>t in e?ge(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,N=(e,t)=>{for(var r in t||(t={}))et.call(t,r)&&tt(e,r,t[r]);if(Je)for(var r of Je(t))Tr.call(t,r)&&tt(e,r,t[r]);return e},Q=(e,t)=>wr(e,vr(t)),kr=e=>ge(e,"__esModule",{value:!0});var q=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lr=(e,t)=>{for(var r in t)ge(e,r,{get:t[r],enumerable:!0})},Or=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Hr(t))!et.call(e,n)&&n!=="default"&&ge(e,n,{get:()=>t[n],enumerable:!(r=Sr(t,n))||r.enumerable});return e},Y=e=>Or(kr(ge(e!=null?Cr($r(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);var He=q(J=>{"use strict";J.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1;J.find=(e,t)=>e.nodes.find(r=>r.type===t);J.exceedsLimit=(e,t,r=1,n)=>n===!1||!J.isInteger(e)||!J.isInteger(t)?!1:(Number(t)-Number(e))/Number(r)>=n;J.escapeNode=(e,t=0,r)=>{let n=e.nodes[t];!n||(r&&n.type===r||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};J.encloseBrace=e=>e.type!=="brace"?!1:e.commas>>0+e.ranges>>0==0?(e.invalid=!0,!0):!1;J.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:e.commas>>0+e.ranges>>0==0||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1;J.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||e.close===!0;J.reduce=e=>e.reduce((t,r)=>(r.type==="text"&&t.push(r.value),r.type==="range"&&(r.type="text"),t),[]);J.flatten=(...e)=>{let t=[],r=n=>{for(let s=0;s{"use strict";var at=He();st.exports=(e,t={})=>{let r=(n,s={})=>{let a=t.escapeInvalid&&at.isInvalidBrace(s),i=n.invalid===!0&&t.escapeInvalid===!0,o="";if(n.value)return(a||i)&&at.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let h of n.nodes)o+=r(h);return o};return r(e)}});var ot=q((is,it)=>{"use strict";it.exports=function(e){return typeof e=="number"?e-e==0:typeof e=="string"&&e.trim()!==""?Number.isFinite?Number.isFinite(+e):isFinite(+e):!1}});var At=q((os,ut)=>{"use strict";var ct=ot(),pe=(e,t,r)=>{if(ct(e)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(t===void 0||e===t)return String(e);if(ct(t)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n=N({relaxZeros:!0},r);typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let s=String(n.relaxZeros),a=String(n.shorthand),i=String(n.capture),o=String(n.wrap),h=e+":"+t+"="+s+a+i+o;if(pe.cache.hasOwnProperty(h))return pe.cache[h].result;let A=Math.min(e,t),f=Math.max(e,t);if(Math.abs(A-f)===1){let R=e+"|"+t;return n.capture?`(${R})`:n.wrap===!1?R:`(?:${R})`}let m=pt(e)||pt(t),p={min:e,max:t,a:A,b:f},H=[],_=[];if(m&&(p.isPadded=m,p.maxLen=String(p.max).length),A<0){let R=f<0?Math.abs(f):1;_=lt(R,Math.abs(A),p,n),A=p.a=0}return f>=0&&(H=lt(A,f,p,n)),p.negatives=_,p.positives=H,p.result=Nr(_,H,n),n.capture===!0?p.result=`(${p.result})`:n.wrap!==!1&&H.length+_.length>1&&(p.result=`(?:${p.result})`),pe.cache[h]=p,p.result};function Nr(e,t,r){let n=Pe(e,t,"-",!1,r)||[],s=Pe(t,e,"",!1,r)||[],a=Pe(e,t,"-?",!0,r)||[];return n.concat(a).concat(s).join("|")}function Br(e,t){let r=1,n=1,s=ft(e,r),a=new Set([t]);for(;e<=s&&s<=t;)a.add(s),r+=1,s=ft(e,r);for(s=ht(t+1,n)-1;e1&&o.count.pop(),o.count.push(f.count[0]),o.string=o.pattern+dt(o.count),i=A+1;continue}r.isPadded&&(m=Gr(A,r,n)),f.string=m+f.pattern+dt(f.count),a.push(f),i=A+1,o=f}return a}function Pe(e,t,r,n,s){let a=[];for(let i of e){let{string:o}=i;!n&&!gt(t,"string",o)&&a.push(r+o),n&>(t,"string",o)&&a.push(r+o)}return a}function Mr(e,t){let r=[];for(let n=0;nt?1:t>e?-1:0}function gt(e,t,r){return e.some(n=>n[t]===r)}function ft(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function ht(e,t){return e-e%Math.pow(10,t)}function dt(e){let[t=0,r=""]=e;return r||t>1?`{${t+(r?","+r:"")}}`:""}function Pr(e,t,r){return`[${e}${t-e==1?"":"-"}${t}]`}function pt(e){return/^-?(0+)\d/.test(e)}function Gr(e,t,r){if(!t.isPadded)return e;let n=Math.abs(t.maxLen-String(e).length),s=r.relaxZeros!==!1;switch(n){case 0:return"";case 1:return s?"0?":"0";case 2:return s?"0{0,2}":"00";default:return s?`0{0,${n}}`:`0{${n}}`}}pe.cache={};pe.clearCache=()=>pe.cache={};ut.exports=pe});var Ue=q((us,mt)=>{"use strict";var Ur=require("util"),Rt=At(),yt=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),qr=e=>t=>e===!0?Number(t):String(t),De=e=>typeof e=="number"||typeof e=="string"&&e!=="",me=e=>Number.isInteger(+e),Ge=e=>{let t=`${e}`,r=-1;if(t[0]==="-"&&(t=t.slice(1)),t==="0")return!1;for(;t[++r]==="0";);return r>0},Kr=(e,t,r)=>typeof e=="string"||typeof t=="string"?!0:r.stringify===!0,Wr=(e,t,r)=>{if(t>0){let n=e[0]==="-"?"-":"";n&&(e=e.slice(1)),e=n+e.padStart(n?t-1:t,"0")}return r===!1?String(e):e},_t=(e,t)=>{let r=e[0]==="-"?"-":"";for(r&&(e=e.slice(1),t--);e.length{e.negatives.sort((i,o)=>io?1:0),e.positives.sort((i,o)=>io?1:0);let r=t.capture?"":"?:",n="",s="",a;return e.positives.length&&(n=e.positives.join("|")),e.negatives.length&&(s=`-(${r}${e.negatives.join("|")})`),n&&s?a=`${n}|${s}`:a=n||s,t.wrap?`(${r}${a})`:a},Et=(e,t,r,n)=>{if(r)return Rt(e,t,N({wrap:!1},n));let s=String.fromCharCode(e);if(e===t)return s;let a=String.fromCharCode(t);return`[${s}-${a}]`},xt=(e,t,r)=>{if(Array.isArray(e)){let n=r.wrap===!0,s=r.capture?"":"?:";return n?`(${s}${e.join("|")})`:e.join("|")}return Rt(e,t,r)},bt=(...e)=>new RangeError("Invalid range arguments: "+Ur.inspect(...e)),Ct=(e,t,r)=>{if(r.strictRanges===!0)throw bt([e,t]);return[]},Fr=(e,t)=>{if(t.strictRanges===!0)throw new TypeError(`Expected step "${e}" to be a number`);return[]},Qr=(e,t,r=1,n={})=>{let s=Number(e),a=Number(t);if(!Number.isInteger(s)||!Number.isInteger(a)){if(n.strictRanges===!0)throw bt([e,t]);return[]}s===0&&(s=0),a===0&&(a=0);let i=s>a,o=String(e),h=String(t),A=String(r);r=Math.max(Math.abs(r),1);let f=Ge(o)||Ge(h)||Ge(A),m=f?Math.max(o.length,h.length,A.length):0,p=f===!1&&Kr(e,t,n)===!1,H=n.transform||qr(p);if(n.toRegex&&r===1)return Et(_t(e,m),_t(t,m),!0,n);let _={negatives:[],positives:[]},R=T=>_[T<0?"negatives":"positives"].push(Math.abs(T)),b=[],C=0;for(;i?s>=a:s<=a;)n.toRegex===!0&&r>1?R(s):b.push(Wr(H(s,C),m,p)),s=i?s-r:s+r,C++;return n.toRegex===!0?r>1?jr(_,n):xt(b,null,N({wrap:!1},n)):b},Xr=(e,t,r=1,n={})=>{if(!me(e)&&e.length>1||!me(t)&&t.length>1)return Ct(e,t,n);let s=n.transform||(p=>String.fromCharCode(p)),a=`${e}`.charCodeAt(0),i=`${t}`.charCodeAt(0),o=a>i,h=Math.min(a,i),A=Math.max(a,i);if(n.toRegex&&r===1)return Et(h,A,!1,n);let f=[],m=0;for(;o?a>=i:a<=i;)f.push(s(a,m)),a=o?a-r:a+r,m++;return n.toRegex===!0?xt(f,null,{wrap:!1,options:n}):f},Te=(e,t,r,n={})=>{if(t==null&&De(e))return[e];if(!De(e)||!De(t))return Ct(e,t,n);if(typeof r=="function")return Te(e,t,1,{transform:r});if(yt(r))return Te(e,t,0,r);let s=N({},n);return s.capture===!0&&(s.wrap=!0),r=r||s.step||1,me(r)?me(e)&&me(t)?Qr(e,t,r,s):Xr(e,t,Math.max(Math.abs(r),1),s):r!=null&&!yt(r)?Fr(r,s):Te(e,t,1,r)};mt.exports=Te});var vt=q((cs,wt)=>{"use strict";var Zr=Ue(),St=He(),Yr=(e,t={})=>{let r=(n,s={})=>{let a=St.isInvalidBrace(s),i=n.invalid===!0&&t.escapeInvalid===!0,o=a===!0||i===!0,h=t.escapeInvalid===!0?"\\":"",A="";if(n.isOpen===!0||n.isClose===!0)return h+n.value;if(n.type==="open")return o?h+n.value:"(";if(n.type==="close")return o?h+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":o?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let f=St.reduce(n.nodes),m=Zr(...f,Q(N({},t),{wrap:!1,toRegex:!0}));if(m.length!==0)return f.length>1&&m.length>1?`(${m})`:m}if(n.nodes)for(let f of n.nodes)A+=r(f,n);return A};return r(e)};wt.exports=Yr});var Tt=q((ls,Ht)=>{"use strict";var zr=Ue(),$t=$e(),he=He(),fe=(e="",t="",r=!1)=>{let n=[];if(e=[].concat(e),t=[].concat(t),!t.length)return e;if(!e.length)return r?he.flatten(t).map(s=>`{${s}}`):t;for(let s of e)if(Array.isArray(s))for(let a of s)n.push(fe(a,t,r));else for(let a of t)r===!0&&typeof a=="string"&&(a=`{${a}}`),n.push(Array.isArray(a)?fe(s,a,r):s+a);return he.flatten(n)},Vr=(e,t={})=>{let r=t.rangeLimit===void 0?1e3:t.rangeLimit,n=(s,a={})=>{s.queue=[];let i=a,o=a.queue;for(;i.type!=="brace"&&i.type!=="root"&&i.parent;)i=i.parent,o=i.queue;if(s.invalid||s.dollar){o.push(fe(o.pop(),$t(s,t)));return}if(s.type==="brace"&&s.invalid!==!0&&s.nodes.length===2){o.push(fe(o.pop(),["{}"]));return}if(s.nodes&&s.ranges>0){let m=he.reduce(s.nodes);if(he.exceedsLimit(...m,t.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let p=zr(...m,t);p.length===0&&(p=$t(s,t)),o.push(fe(o.pop(),p)),s.nodes=[];return}let h=he.encloseBrace(s),A=s.queue,f=s;for(;f.type!=="brace"&&f.type!=="root"&&f.parent;)f=f.parent,A=f.queue;for(let m=0;m{"use strict";kt.exports={MAX_LENGTH:1024*64,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:` -`,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Mt=q((fs,Ot)=>{"use strict";var Jr=$e(),{MAX_LENGTH:Nt,CHAR_BACKSLASH:qe,CHAR_BACKTICK:en,CHAR_COMMA:tn,CHAR_DOT:rn,CHAR_LEFT_PARENTHESES:nn,CHAR_RIGHT_PARENTHESES:sn,CHAR_LEFT_CURLY_BRACE:an,CHAR_RIGHT_CURLY_BRACE:on,CHAR_LEFT_SQUARE_BRACKET:It,CHAR_RIGHT_SQUARE_BRACKET:Bt,CHAR_DOUBLE_QUOTE:un,CHAR_SINGLE_QUOTE:cn,CHAR_NO_BREAK_SPACE:ln,CHAR_ZERO_WIDTH_NOBREAK_SPACE:pn}=Lt(),fn=(e,t={})=>{if(typeof e!="string")throw new TypeError("Expected a string");let r=t||{},n=typeof r.maxLength=="number"?Math.min(Nt,r.maxLength):Nt;if(e.length>n)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${n})`);let s={type:"root",input:e,nodes:[]},a=[s],i=s,o=s,h=0,A=e.length,f=0,m=0,p,H={},_=()=>e[f++],R=b=>{if(b.type==="text"&&o.type==="dot"&&(o.type="text"),o&&o.type==="text"&&b.type==="text"){o.value+=b.value;return}return i.nodes.push(b),b.parent=i,b.prev=o,o=b,b};for(R({type:"bos"});f0){if(i.ranges>0){i.ranges=0;let b=i.nodes.shift();i.nodes=[b,{type:"text",value:Jr(i)}]}R({type:"comma",value:p}),i.commas++;continue}if(p===rn&&m>0&&i.commas===0){let b=i.nodes;if(m===0||b.length===0){R({type:"text",value:p});continue}if(o.type==="dot"){if(i.range=[],o.value+=p,o.type="range",i.nodes.length!==3&&i.nodes.length!==5){i.invalid=!0,i.ranges=0,o.type="text";continue}i.ranges++,i.args=[];continue}if(o.type==="range"){b.pop();let C=b[b.length-1];C.value+=o.value+p,o=C,i.ranges--;continue}R({type:"dot",value:p});continue}R({type:"text",value:p})}do if(i=a.pop(),i.type!=="root"){i.nodes.forEach(T=>{T.nodes||(T.type==="open"&&(T.isOpen=!0),T.type==="close"&&(T.isClose=!0),T.nodes||(T.type="text"),T.invalid=!0)});let b=a[a.length-1],C=b.nodes.indexOf(i);b.nodes.splice(C,1,...i.nodes)}while(a.length>0);return R({type:"eos"}),s};Ot.exports=fn});var Gt=q((hs,Pt)=>{"use strict";var Dt=$e(),hn=vt(),dn=Tt(),gn=Mt(),z=(e,t={})=>{let r=[];if(Array.isArray(e))for(let n of e){let s=z.create(n,t);Array.isArray(s)?r.push(...s):r.push(s)}else r=[].concat(z.create(e,t));return t&&t.expand===!0&&t.nodupes===!0&&(r=[...new Set(r)]),r};z.parse=(e,t={})=>gn(e,t);z.stringify=(e,t={})=>typeof e=="string"?Dt(z.parse(e,t),t):Dt(e,t);z.compile=(e,t={})=>(typeof e=="string"&&(e=z.parse(e,t)),hn(e,t));z.expand=(e,t={})=>{typeof e=="string"&&(e=z.parse(e,t));let r=dn(e,t);return t.noempty===!0&&(r=r.filter(Boolean)),t.nodupes===!0&&(r=[...new Set(r)]),r};z.create=(e,t={})=>e===""||e.length<3?[e]:t.expand!==!0?z.compile(e,t):z.expand(e,t);Pt.exports=z});var Re=q((ds,Ut)=>{"use strict";var An=require("path"),se="\\\\/",qt=`[^${se}]`,oe="\\.",mn="\\+",Rn="\\?",ke="\\/",yn="(?=.)",Kt="[^/]",Ke=`(?:${ke}|$)`,Wt=`(?:^|${ke})`,We=`${oe}{1,2}${Ke}`,_n=`(?!${oe})`,En=`(?!${Wt}${We})`,xn=`(?!${oe}{0,1}${Ke})`,bn=`(?!${We})`,Cn=`[^.${ke}]`,wn=`${Kt}*?`,jt={DOT_LITERAL:oe,PLUS_LITERAL:mn,QMARK_LITERAL:Rn,SLASH_LITERAL:ke,ONE_CHAR:yn,QMARK:Kt,END_ANCHOR:Ke,DOTS_SLASH:We,NO_DOT:_n,NO_DOTS:En,NO_DOT_SLASH:xn,NO_DOTS_SLASH:bn,QMARK_NO_DOT:Cn,STAR:wn,START_ANCHOR:Wt},Sn=Q(N({},jt),{SLASH_LITERAL:`[${se}]`,QMARK:qt,STAR:`${qt}*?`,DOTS_SLASH:`${oe}{1,2}(?:[${se}]|$)`,NO_DOT:`(?!${oe})`,NO_DOTS:`(?!(?:^|[${se}])${oe}{1,2}(?:[${se}]|$))`,NO_DOT_SLASH:`(?!${oe}{0,1}(?:[${se}]|$))`,NO_DOTS_SLASH:`(?!${oe}{1,2}(?:[${se}]|$))`,QMARK_NO_DOT:`[^.${se}]`,START_ANCHOR:`(?:^|[${se}])`,END_ANCHOR:`(?:[${se}]|$)`}),vn={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Ut.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:vn,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:An.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?Sn:jt}}});var ye=q(X=>{"use strict";var Hn=require("path"),$n=process.platform==="win32",{REGEX_BACKSLASH:Tn,REGEX_REMOVE_BACKSLASH:kn,REGEX_SPECIAL_CHARS:Ln,REGEX_SPECIAL_CHARS_GLOBAL:On}=Re();X.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);X.hasRegexChars=e=>Ln.test(e);X.isRegexChar=e=>e.length===1&&X.hasRegexChars(e);X.escapeRegex=e=>e.replace(On,"\\$1");X.toPosixSlashes=e=>e.replace(Tn,"/");X.removeBackslashes=e=>e.replace(kn,t=>t==="\\"?"":t);X.supportsLookbehinds=()=>{let e=process.version.slice(1).split(".").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};X.isWindows=e=>e&&typeof e.windows=="boolean"?e.windows:$n===!0||Hn.sep==="\\";X.escapeLast=(e,t,r)=>{let n=e.lastIndexOf(t,r);return n===-1?e:e[n-1]==="\\"?X.escapeLast(e,t,n-1):`${e.slice(0,n)}\\${e.slice(n)}`};X.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r};X.wrapOutput=(e,t={},r={})=>{let n=r.contains?"":"^",s=r.contains?"":"$",a=`${n}(?:${e})${s}`;return t.negated===!0&&(a=`(?:^(?!${a}).*$)`),a}});var er=q((As,Ft)=>{"use strict";var Qt=ye(),{CHAR_ASTERISK:je,CHAR_AT:Nn,CHAR_BACKWARD_SLASH:_e,CHAR_COMMA:In,CHAR_DOT:Fe,CHAR_EXCLAMATION_MARK:Xt,CHAR_FORWARD_SLASH:Zt,CHAR_LEFT_CURLY_BRACE:Qe,CHAR_LEFT_PARENTHESES:Xe,CHAR_LEFT_SQUARE_BRACKET:Bn,CHAR_PLUS:Mn,CHAR_QUESTION_MARK:Yt,CHAR_RIGHT_CURLY_BRACE:Pn,CHAR_RIGHT_PARENTHESES:zt,CHAR_RIGHT_SQUARE_BRACKET:Dn}=Re(),Vt=e=>e===Zt||e===_e,Jt=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?Infinity:1)},Gn=(e,t)=>{let r=t||{},n=e.length-1,s=r.parts===!0||r.scanToEnd===!0,a=[],i=[],o=[],h=e,A=-1,f=0,m=0,p=!1,H=!1,_=!1,R=!1,b=!1,C=!1,T=!1,k=!1,E=!1,ee=0,j,y,x={value:"",depth:0,isGlob:!1},M=()=>A>=n,$=()=>h.charCodeAt(A+1),u=()=>(j=y,h.charCodeAt(++A));for(;A0&&(W=h.slice(0,f),h=h.slice(f),m-=f),w&&_===!0&&m>0?(w=h.slice(0,m),P=h.slice(m)):_===!0?(w="",P=h):w=h,w&&w!==""&&w!=="/"&&w!==h&&Vt(w.charCodeAt(w.length-1))&&(w=w.slice(0,-1)),r.unescape===!0&&(P&&(P=Qt.removeBackslashes(P)),w&&T===!0&&(w=Qt.removeBackslashes(w)));let l={prefix:W,input:e,start:f,base:w,glob:P,isBrace:p,isBracket:H,isGlob:_,isExtglob:R,isGlobstar:b,negated:k};if(r.tokens===!0&&(l.maxDepth=0,Vt(y)||i.push(x),l.tokens=i),r.parts===!0||r.tokens===!0){let c;for(let D=0;D{"use strict";var Le=Re(),V=ye(),{MAX_LENGTH:Oe,POSIX_REGEX_SOURCE:Un,REGEX_NON_SPECIAL_CHARS:qn,REGEX_SPECIAL_CHARS_BACKREF:Kn,REPLACEMENTS:rr}=Le,Wn=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let r=`[${e.join("-")}]`;try{new RegExp(r)}catch(n){return e.map(s=>V.escapeRegex(s)).join("..")}return r},de=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,nr=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=rr[e]||e;let r=N({},t),n=typeof r.maxLength=="number"?Math.min(Oe,r.maxLength):Oe,s=e.length;if(s>n)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${n}`);let a={type:"bos",value:"",output:r.prepend||""},i=[a],o=r.capture?"":"?:",h=V.isWindows(t),A=Le.globChars(h),f=Le.extglobChars(A),{DOT_LITERAL:m,PLUS_LITERAL:p,SLASH_LITERAL:H,ONE_CHAR:_,DOTS_SLASH:R,NO_DOT:b,NO_DOT_SLASH:C,NO_DOTS_SLASH:T,QMARK:k,QMARK_NO_DOT:E,STAR:ee,START_ANCHOR:j}=A,y=g=>`(${o}(?:(?!${j}${g.dot?R:m}).)*?)`,x=r.dot?"":b,M=r.dot?k:E,$=r.bash===!0?y(r):ee;r.capture&&($=`(${$})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let u={input:e,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:i};e=V.removePrefix(e,u),s=e.length;let w=[],W=[],P=[],l=a,c,D=()=>u.index===s-1,G=u.peek=(g=1)=>e[u.index+g],te=u.advance=()=>e[++u.index],re=()=>e.slice(u.index+1),ie=(g="",L=0)=>{u.consumed+=g,u.index+=L},be=g=>{u.output+=g.output!=null?g.output:g.value,ie(g.value)},xr=()=>{let g=1;for(;G()==="!"&&(G(2)!=="("||G(3)==="?");)te(),u.start++,g++;return g%2==0?!1:(u.negated=!0,u.start++,!0)},Ce=g=>{u[g]++,P.push(g)},ce=g=>{u[g]--,P.pop()},S=g=>{if(l.type==="globstar"){let L=u.braces>0&&(g.type==="comma"||g.type==="brace"),d=g.extglob===!0||w.length&&(g.type==="pipe"||g.type==="paren");g.type!=="slash"&&g.type!=="paren"&&!L&&!d&&(u.output=u.output.slice(0,-l.output.length),l.type="star",l.value="*",l.output=$,u.output+=l.output)}if(w.length&&g.type!=="paren"&&!f[g.value]&&(w[w.length-1].inner+=g.value),(g.value||g.output)&&be(g),l&&l.type==="text"&&g.type==="text"){l.value+=g.value,l.output=(l.output||"")+g.value;return}g.prev=l,i.push(g),l=g},we=(g,L)=>{let d=Q(N({},f[L]),{conditions:1,inner:""});d.prev=l,d.parens=u.parens,d.output=u.output;let v=(r.capture?"(":"")+d.open;Ce("parens"),S({type:g,value:L,output:u.output?"":_}),S({type:"paren",extglob:!0,value:te(),output:v}),w.push(d)},br=g=>{let L=g.close+(r.capture?")":"");if(g.type==="negate"){let d=$;g.inner&&g.inner.length>1&&g.inner.includes("/")&&(d=y(r)),(d!==$||D()||/^\)+$/.test(re()))&&(L=g.close=`)$))${d}`),g.prev.type==="bos"&&(u.negatedExtglob=!0)}S({type:"paren",extglob:!0,value:c,output:L}),ce("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let g=!1,L=e.replace(Kn,(d,v,I,F,U,Me)=>F==="\\"?(g=!0,d):F==="?"?v?v+F+(U?k.repeat(U.length):""):Me===0?M+(U?k.repeat(U.length):""):k.repeat(I.length):F==="."?m.repeat(I.length):F==="*"?v?v+F+(U?$:""):$:v?d:`\\${d}`);return g===!0&&(r.unescape===!0?L=L.replace(/\\/g,""):L=L.replace(/\\+/g,d=>d.length%2==0?"\\\\":d?"\\":"")),L===e&&r.contains===!0?(u.output=e,u):(u.output=V.wrapOutput(L,u,t),u)}for(;!D();){if(c=te(),c==="\0")continue;if(c==="\\"){let d=G();if(d==="/"&&r.bash!==!0||d==="."||d===";")continue;if(!d){c+="\\",S({type:"text",value:c});continue}let v=/^\\+/.exec(re()),I=0;if(v&&v[0].length>2&&(I=v[0].length,u.index+=I,I%2!=0&&(c+="\\")),r.unescape===!0?c=te()||"":c+=te()||"",u.brackets===0){S({type:"text",value:c});continue}}if(u.brackets>0&&(c!=="]"||l.value==="["||l.value==="[^")){if(r.posix!==!1&&c===":"){let d=l.value.slice(1);if(d.includes("[")&&(l.posix=!0,d.includes(":"))){let v=l.value.lastIndexOf("["),I=l.value.slice(0,v),F=l.value.slice(v+2),U=Un[F];if(U){l.value=I+U,u.backtrack=!0,te(),!a.output&&i.indexOf(l)===1&&(a.output=_);continue}}}(c==="["&&G()!==":"||c==="-"&&G()==="]")&&(c=`\\${c}`),c==="]"&&(l.value==="["||l.value==="[^")&&(c=`\\${c}`),r.posix===!0&&c==="!"&&l.value==="["&&(c="^"),l.value+=c,be({value:c});continue}if(u.quotes===1&&c!=='"'){c=V.escapeRegex(c),l.value+=c,be({value:c});continue}if(c==='"'){u.quotes=u.quotes===1?0:1,r.keepQuotes===!0&&S({type:"text",value:c});continue}if(c==="("){Ce("parens"),S({type:"paren",value:c});continue}if(c===")"){if(u.parens===0&&r.strictBrackets===!0)throw new SyntaxError(de("opening","("));let d=w[w.length-1];if(d&&u.parens===d.parens+1){br(w.pop());continue}S({type:"paren",value:c,output:u.parens?")":"\\)"}),ce("parens");continue}if(c==="["){if(r.nobracket===!0||!re().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(de("closing","]"));c=`\\${c}`}else Ce("brackets");S({type:"bracket",value:c});continue}if(c==="]"){if(r.nobracket===!0||l&&l.type==="bracket"&&l.value.length===1){S({type:"text",value:c,output:`\\${c}`});continue}if(u.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(de("opening","["));S({type:"text",value:c,output:`\\${c}`});continue}ce("brackets");let d=l.value.slice(1);if(l.posix!==!0&&d[0]==="^"&&!d.includes("/")&&(c=`/${c}`),l.value+=c,be({value:c}),r.literalBrackets===!1||V.hasRegexChars(d))continue;let v=V.escapeRegex(l.value);if(u.output=u.output.slice(0,-l.value.length),r.literalBrackets===!0){u.output+=v,l.value=v;continue}l.value=`(${o}${v}|${l.value})`,u.output+=l.value;continue}if(c==="{"&&r.nobrace!==!0){Ce("braces");let d={type:"brace",value:c,output:"(",outputIndex:u.output.length,tokensIndex:u.tokens.length};W.push(d),S(d);continue}if(c==="}"){let d=W[W.length-1];if(r.nobrace===!0||!d){S({type:"text",value:c,output:c});continue}let v=")";if(d.dots===!0){let I=i.slice(),F=[];for(let U=I.length-1;U>=0&&(i.pop(),I[U].type!=="brace");U--)I[U].type!=="dots"&&F.unshift(I[U].value);v=Wn(F,r),u.backtrack=!0}if(d.comma!==!0&&d.dots!==!0){let I=u.output.slice(0,d.outputIndex),F=u.tokens.slice(d.tokensIndex);d.value=d.output="\\{",c=v="\\}",u.output=I;for(let U of F)u.output+=U.output||U.value}S({type:"brace",value:c,output:v}),ce("braces"),W.pop();continue}if(c==="|"){w.length>0&&w[w.length-1].conditions++,S({type:"text",value:c});continue}if(c===","){let d=c,v=W[W.length-1];v&&P[P.length-1]==="braces"&&(v.comma=!0,d="|"),S({type:"comma",value:c,output:d});continue}if(c==="/"){if(l.type==="dot"&&u.index===u.start+1){u.start=u.index+1,u.consumed="",u.output="",i.pop(),l=a;continue}S({type:"slash",value:c,output:H});continue}if(c==="."){if(u.braces>0&&l.type==="dot"){l.value==="."&&(l.output=m);let d=W[W.length-1];l.type="dots",l.output+=c,l.value+=c,d.dots=!0;continue}if(u.braces+u.parens===0&&l.type!=="bos"&&l.type!=="slash"){S({type:"text",value:c,output:m});continue}S({type:"dot",value:c,output:m});continue}if(c==="?"){if(!(l&&l.value==="(")&&r.noextglob!==!0&&G()==="("&&G(2)!=="?"){we("qmark",c);continue}if(l&&l.type==="paren"){let v=G(),I=c;if(v==="<"&&!V.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(l.value==="("&&!/[!=<:]/.test(v)||v==="<"&&!/<([!=]|\w+>)/.test(re()))&&(I=`\\${c}`),S({type:"text",value:c,output:I});continue}if(r.dot!==!0&&(l.type==="slash"||l.type==="bos")){S({type:"qmark",value:c,output:E});continue}S({type:"qmark",value:c,output:k});continue}if(c==="!"){if(r.noextglob!==!0&&G()==="("&&(G(2)!=="?"||!/[!=<:]/.test(G(3)))){we("negate",c);continue}if(r.nonegate!==!0&&u.index===0){xr();continue}}if(c==="+"){if(r.noextglob!==!0&&G()==="("&&G(2)!=="?"){we("plus",c);continue}if(l&&l.value==="("||r.regex===!1){S({type:"plus",value:c,output:p});continue}if(l&&(l.type==="bracket"||l.type==="paren"||l.type==="brace")||u.parens>0){S({type:"plus",value:c});continue}S({type:"plus",value:p});continue}if(c==="@"){if(r.noextglob!==!0&&G()==="("&&G(2)!=="?"){S({type:"at",extglob:!0,value:c,output:""});continue}S({type:"text",value:c});continue}if(c!=="*"){(c==="$"||c==="^")&&(c=`\\${c}`);let d=qn.exec(re());d&&(c+=d[0],u.index+=d[0].length),S({type:"text",value:c});continue}if(l&&(l.type==="globstar"||l.star===!0)){l.type="star",l.star=!0,l.value+=c,l.output=$,u.backtrack=!0,u.globstar=!0,ie(c);continue}let g=re();if(r.noextglob!==!0&&/^\([^?]/.test(g)){we("star",c);continue}if(l.type==="star"){if(r.noglobstar===!0){ie(c);continue}let d=l.prev,v=d.prev,I=d.type==="slash"||d.type==="bos",F=v&&(v.type==="star"||v.type==="globstar");if(r.bash===!0&&(!I||g[0]&&g[0]!=="/")){S({type:"star",value:c,output:""});continue}let U=u.braces>0&&(d.type==="comma"||d.type==="brace"),Me=w.length&&(d.type==="pipe"||d.type==="paren");if(!I&&d.type!=="paren"&&!U&&!Me){S({type:"star",value:c,output:""});continue}for(;g.slice(0,3)==="/**";){let Se=e[u.index+4];if(Se&&Se!=="/")break;g=g.slice(3),ie("/**",3)}if(d.type==="bos"&&D()){l.type="globstar",l.value+=c,l.output=y(r),u.output=l.output,u.globstar=!0,ie(c);continue}if(d.type==="slash"&&d.prev.type!=="bos"&&!F&&D()){u.output=u.output.slice(0,-(d.output+l.output).length),d.output=`(?:${d.output}`,l.type="globstar",l.output=y(r)+(r.strictSlashes?")":"|$)"),l.value+=c,u.globstar=!0,u.output+=d.output+l.output,ie(c);continue}if(d.type==="slash"&&d.prev.type!=="bos"&&g[0]==="/"){let Se=g[1]!==void 0?"|$":"";u.output=u.output.slice(0,-(d.output+l.output).length),d.output=`(?:${d.output}`,l.type="globstar",l.output=`${y(r)}${H}|${H}${Se})`,l.value+=c,u.output+=d.output+l.output,u.globstar=!0,ie(c+te()),S({type:"slash",value:"/",output:""});continue}if(d.type==="bos"&&g[0]==="/"){l.type="globstar",l.value+=c,l.output=`(?:^|${H}|${y(r)}${H})`,u.output=l.output,u.globstar=!0,ie(c+te()),S({type:"slash",value:"/",output:""});continue}u.output=u.output.slice(0,-l.output.length),l.type="globstar",l.output=y(r),l.value+=c,u.output+=l.output,u.globstar=!0,ie(c);continue}let L={type:"star",value:c,output:$};if(r.bash===!0){L.output=".*?",(l.type==="bos"||l.type==="slash")&&(L.output=x+L.output),S(L);continue}if(l&&(l.type==="bracket"||l.type==="paren")&&r.regex===!0){L.output=c,S(L);continue}(u.index===u.start||l.type==="slash"||l.type==="dot")&&(l.type==="dot"?(u.output+=C,l.output+=C):r.dot===!0?(u.output+=T,l.output+=T):(u.output+=x,l.output+=x),G()!=="*"&&(u.output+=_,l.output+=_)),S(L)}for(;u.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(de("closing","]"));u.output=V.escapeLast(u.output,"["),ce("brackets")}for(;u.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(de("closing",")"));u.output=V.escapeLast(u.output,"("),ce("parens")}for(;u.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(de("closing","}"));u.output=V.escapeLast(u.output,"{"),ce("braces")}if(r.strictSlashes!==!0&&(l.type==="star"||l.type==="bracket")&&S({type:"maybe_slash",value:"",output:`${H}?`}),u.backtrack===!0){u.output="";for(let g of u.tokens)u.output+=g.output!=null?g.output:g.value,g.suffix&&(u.output+=g.suffix)}return u};nr.fastpaths=(e,t)=>{let r=N({},t),n=typeof r.maxLength=="number"?Math.min(Oe,r.maxLength):Oe,s=e.length;if(s>n)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${n}`);e=rr[e]||e;let a=V.isWindows(t),{DOT_LITERAL:i,SLASH_LITERAL:o,ONE_CHAR:h,DOTS_SLASH:A,NO_DOT:f,NO_DOTS:m,NO_DOTS_SLASH:p,STAR:H,START_ANCHOR:_}=Le.globChars(a),R=r.dot?m:f,b=r.dot?p:f,C=r.capture?"":"?:",T={negated:!1,prefix:""},k=r.bash===!0?".*?":H;r.capture&&(k=`(${k})`);let E=x=>x.noglobstar===!0?k:`(${C}(?:(?!${_}${x.dot?A:i}).)*?)`,ee=x=>{switch(x){case"*":return`${R}${h}${k}`;case".*":return`${i}${h}${k}`;case"*.*":return`${R}${k}${i}${h}${k}`;case"*/*":return`${R}${k}${o}${h}${b}${k}`;case"**":return R+E(r);case"**/*":return`(?:${R}${E(r)}${o})?${b}${h}${k}`;case"**/*.*":return`(?:${R}${E(r)}${o})?${b}${k}${i}${h}${k}`;case"**/.*":return`(?:${R}${E(r)}${o})?${i}${h}${k}`;default:{let M=/^(.*?)\.(\w+)$/.exec(x);if(!M)return;let $=ee(M[1]);return $?$+i+M[2]:void 0}}},j=V.removePrefix(e,T),y=ee(j);return y&&r.strictSlashes!==!0&&(y+=`${o}?`),y};tr.exports=nr});var ir=q((Rs,ar)=>{"use strict";var jn=require("path"),Fn=er(),Ze=sr(),Ye=ye(),Qn=Re(),Xn=e=>e&&typeof e=="object"&&!Array.isArray(e),B=(e,t,r=!1)=>{if(Array.isArray(e)){let f=e.map(p=>B(p,t,r));return p=>{for(let H of f){let _=H(p);if(_)return _}return!1}}let n=Xn(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let s=t||{},a=Ye.isWindows(t),i=n?B.compileRe(e,t):B.makeRe(e,t,!1,!0),o=i.state;delete i.state;let h=()=>!1;if(s.ignore){let f=Q(N({},t),{ignore:null,onMatch:null,onResult:null});h=B(s.ignore,f,r)}let A=(f,m=!1)=>{let{isMatch:p,match:H,output:_}=B.test(f,i,t,{glob:e,posix:a}),R={glob:e,state:o,regex:i,posix:a,input:f,output:_,match:H,isMatch:p};return typeof s.onResult=="function"&&s.onResult(R),p===!1?(R.isMatch=!1,m?R:!1):h(f)?(typeof s.onIgnore=="function"&&s.onIgnore(R),R.isMatch=!1,m?R:!1):(typeof s.onMatch=="function"&&s.onMatch(R),m?R:!0)};return r&&(A.state=o),A};B.test=(e,t,r,{glob:n,posix:s}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let a=r||{},i=a.format||(s?Ye.toPosixSlashes:null),o=e===n,h=o&&i?i(e):e;return o===!1&&(h=i?i(e):e,o=h===n),(o===!1||a.capture===!0)&&(a.matchBase===!0||a.basename===!0?o=B.matchBase(e,t,r,s):o=t.exec(h)),{isMatch:Boolean(o),match:o,output:h}};B.matchBase=(e,t,r,n=Ye.isWindows(r))=>(t instanceof RegExp?t:B.makeRe(t,r)).test(jn.basename(e));B.isMatch=(e,t,r)=>B(t,r)(e);B.parse=(e,t)=>Array.isArray(e)?e.map(r=>B.parse(r,t)):Ze(e,Q(N({},t),{fastpaths:!1}));B.scan=(e,t)=>Fn(e,t);B.compileRe=(e,t,r=!1,n=!1)=>{if(r===!0)return e.output;let s=t||{},a=s.contains?"":"^",i=s.contains?"":"$",o=`${a}(?:${e.output})${i}`;e&&e.negated===!0&&(o=`^(?!${o}).*$`);let h=B.toRegex(o,t);return n===!0&&(h.state=e),h};B.makeRe=(e,t,r=!1,n=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let s=t||{},a={negated:!1,fastpaths:!0},i="",o;return e.startsWith("./")&&(e=e.slice(2),i=a.prefix="./"),s.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(o=Ze.fastpaths(e,t)),o===void 0?(a=Ze(e,t),a.prefix=i+(a.prefix||"")):a.output=o,B.compileRe(a,t,r,n)};B.toRegex=(e,t)=>{try{let r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(r){if(t&&t.debug===!0)throw r;return/$^/}};B.constants=Qn;ar.exports=B});var ur=q((ys,or)=>{"use strict";or.exports=ir()});var hr=q((_s,cr)=>{"use strict";var lr=require("util"),pr=Gt(),ae=ur(),ze=ye(),fr=e=>typeof e=="string"&&(e===""||e==="./"),O=(e,t,r)=>{t=[].concat(t),e=[].concat(e);let n=new Set,s=new Set,a=new Set,i=0,o=f=>{a.add(f.output),r&&r.onResult&&r.onResult(f)};for(let f=0;f!n.has(f));if(r&&A.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${t.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?t.map(f=>f.replace(/\\/g,"")):t}return A};O.match=O;O.matcher=(e,t)=>ae(e,t);O.isMatch=(e,t,r)=>ae(t,r)(e);O.any=O.isMatch;O.not=(e,t,r={})=>{t=[].concat(t).map(String);let n=new Set,s=[],a=o=>{r.onResult&&r.onResult(o),s.push(o.output)},i=O(e,t,Q(N({},r),{onResult:a}));for(let o of s)i.includes(o)||n.add(o);return[...n]};O.contains=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${lr.inspect(e)}"`);if(Array.isArray(t))return t.some(n=>O.contains(e,n,r));if(typeof t=="string"){if(fr(e)||fr(t))return!1;if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t))return!0}return O.isMatch(e,t,Q(N({},r),{contains:!0}))};O.matchKeys=(e,t,r)=>{if(!ze.isObject(e))throw new TypeError("Expected the first argument to be an object");let n=O(Object.keys(e),t,r),s={};for(let a of n)s[a]=e[a];return s};O.some=(e,t,r)=>{let n=[].concat(e);for(let s of[].concat(t)){let a=ae(String(s),r);if(n.some(i=>a(i)))return!0}return!1};O.every=(e,t,r)=>{let n=[].concat(e);for(let s of[].concat(t)){let a=ae(String(s),r);if(!n.every(i=>a(i)))return!1}return!0};O.all=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${lr.inspect(e)}"`);return[].concat(t).every(n=>ae(n,r)(e))};O.capture=(e,t,r)=>{let n=ze.isWindows(r),a=ae.makeRe(String(e),Q(N({},r),{capture:!0})).exec(n?ze.toPosixSlashes(t):t);if(a)return a.slice(1).map(i=>i===void 0?"":i)};O.makeRe=(...e)=>ae.makeRe(...e);O.scan=(...e)=>ae.scan(...e);O.parse=(e,t)=>{let r=[];for(let n of[].concat(e||[]))for(let s of pr(String(n),t))r.push(ae.parse(s,t));return r};O.braces=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return t&&t.nobrace===!0||!/\{.*\}/.test(e)?[e]:pr(e,t)};O.braceExpand=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return O.braces(e,Q(N({},t),{expand:!0}))};cr.exports=O});var gr=q((Es,dr)=>{"use strict";dr.exports=(e,...t)=>new Promise(r=>{r(e(...t))})});var mr=q((xs,Ve)=>{"use strict";var Zn=gr(),Ar=e=>{if(e<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let t=[],r=0,n=()=>{r--,t.length>0&&t.shift()()},s=(o,h,...A)=>{r++;let f=Zn(o,...A);h(f),f.then(n,n)},a=(o,h,...A)=>{rnew Promise(A=>a(o,A,...h));return Object.defineProperties(i,{activeCount:{get:()=>r},pendingCount:{get:()=>t.length}}),i};Ve.exports=Ar;Ve.exports.default=Ar});var zn={};Lr(zn,{default:()=>Jn});var ve=Y(require("@yarnpkg/cli")),ne=Y(require("@yarnpkg/core")),rt=Y(require("@yarnpkg/core")),le=Y(require("clipanion")),Ae=class extends ve.BaseCommand{constructor(){super(...arguments);this.json=le.Option.Boolean("--json",!1,{description:"Format the output as an NDJSON stream"});this.production=le.Option.Boolean("--production",!1,{description:"Only install regular dependencies by omitting dev dependencies"});this.all=le.Option.Boolean("-A,--all",!1,{description:"Install the entire project"});this.workspaces=le.Option.Rest()}async execute(){let t=await ne.Configuration.find(this.context.cwd,this.context.plugins),{project:r,workspace:n}=await ne.Project.find(t,this.context.cwd),s=await ne.Cache.find(t);await r.restoreInstallState({restoreResolutions:!1});let a;if(this.all)a=new Set(r.workspaces);else if(this.workspaces.length===0){if(!n)throw new ve.WorkspaceRequiredError(r.cwd,this.context.cwd);a=new Set([n])}else a=new Set(this.workspaces.map(o=>r.getWorkspaceByIdent(rt.structUtils.parseIdent(o))));for(let o of a)for(let h of this.production?["dependencies"]:ne.Manifest.hardDependencies)for(let A of o.manifest.getForScope(h).values()){let f=r.tryWorkspaceByDescriptor(A);f!==null&&a.add(f)}for(let o of r.workspaces)a.has(o)?this.production&&o.manifest.devDependencies.clear():(o.manifest.dependencies.clear(),o.manifest.devDependencies.clear(),o.manifest.peerDependencies.clear(),o.manifest.scripts.clear());return(await ne.StreamReport.start({configuration:t,json:this.json,stdout:this.context.stdout,includeLogs:!0},async o=>{await r.install({cache:s,report:o,persistProject:!1})})).exitCode()}};Ae.paths=[["workspaces","focus"]],Ae.usage=le.Command.Usage({category:"Workspace-related commands",description:"install a single workspace and its dependencies",details:"\n This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed.\n\n Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the `.pnp.cjs` file, at the cost of introducing an extra complexity.\n\n If the `-A,--all` flag is set, the entire project will be installed. Combine with `--production` to replicate the old `yarn install --production`.\n "});var nt=Ae;var Ne=Y(require("@yarnpkg/cli")),Ie=Y(require("@yarnpkg/core")),Ee=Y(require("@yarnpkg/core")),Z=Y(require("@yarnpkg/core")),K=Y(require("clipanion")),Be=Y(hr()),Rr=Y(require("os")),yr=Y(mr()),ue=Y(require("typanion")),xe=class extends Ne.BaseCommand{constructor(){super(...arguments);this.recursive=K.Option.Boolean("-R,--recursive",!1,{description:"Find packages via dependencies/devDependencies instead of using the workspaces field"});this.from=K.Option.Array("--from",[],{description:"An array of glob pattern idents from which to base any recursion"});this.all=K.Option.Boolean("-A,--all",!1,{description:"Run the command on all workspaces of a project"});this.verbose=K.Option.Boolean("-v,--verbose",!1,{description:"Prefix each output line with the name of the originating workspace"});this.parallel=K.Option.Boolean("-p,--parallel",!1,{description:"Run the commands in parallel"});this.interlaced=K.Option.Boolean("-i,--interlaced",!1,{description:"Print the output of commands in real-time instead of buffering it"});this.jobs=K.Option.String("-j,--jobs",{description:"The maximum number of parallel tasks that the execution will be limited to",validator:ue.applyCascade(ue.isNumber(),[ue.isInteger(),ue.isAtLeast(2)])});this.topological=K.Option.Boolean("-t,--topological",!1,{description:"Run the command after all workspaces it depends on (regular) have finished"});this.topologicalDev=K.Option.Boolean("--topological-dev",!1,{description:"Run the command after all workspaces it depends on (regular + dev) have finished"});this.include=K.Option.Array("--include",[],{description:"An array of glob pattern idents; only matching workspaces will be traversed"});this.exclude=K.Option.Array("--exclude",[],{description:"An array of glob pattern idents; matching workspaces won't be traversed"});this.publicOnly=K.Option.Boolean("--no-private",{description:"Avoid running the command on private workspaces"});this.commandName=K.Option.String();this.args=K.Option.Proxy()}async execute(){let t=await Ie.Configuration.find(this.context.cwd,this.context.plugins),{project:r,workspace:n}=await Ie.Project.find(t,this.context.cwd);if(!this.all&&!n)throw new Ne.WorkspaceRequiredError(r.cwd,this.context.cwd);let s=this.cli.process([this.commandName,...this.args]),a=s.path.length===1&&s.path[0]==="run"&&typeof s.scriptName!="undefined"?s.scriptName:null;if(s.path.length===0)throw new K.UsageError("Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script");let i=this.all?r.topLevelWorkspace:n,o=E=>Be.default.isMatch(Z.structUtils.stringifyIdent(E.locator),this.from),h=this.from.length>0?[i,...i.getRecursiveWorkspaceChildren()].filter(o):[i],A=this.recursive?[...h,...h.map(E=>[...E.getRecursiveWorkspaceDependencies()]).flat()]:[...h,...h.map(E=>[...E.getRecursiveWorkspaceChildren()]).flat()],f=[];for(let E of A)a&&!E.manifest.scripts.has(a)&&!a.includes(":")||a===process.env.npm_lifecycle_event&&E.cwd===n.cwd||this.include.length>0&&!Be.default.isMatch(Z.structUtils.stringifyIdent(E.locator),this.include)||this.exclude.length>0&&Be.default.isMatch(Z.structUtils.stringifyIdent(E.locator),this.exclude)||this.publicOnly&&E.manifest.private===!0||f.push(E);let m=this.interlaced;this.parallel||(m=!0);let p=new Map,H=new Set,_=this.parallel?Math.max(1,(0,Rr.cpus)().length/2):1,R=(0,yr.default)(this.jobs||_),b=0,C=null,T=!1,k=await Ee.StreamReport.start({configuration:t,stdout:this.context.stdout},async E=>{let ee=async(j,{commandIndex:y})=>{if(T)return-1;!this.parallel&&this.verbose&&y>1&&E.reportSeparator();let x=Yn(j,{configuration:t,verbose:this.verbose,commandIndex:y}),[M,$]=_r(E,{prefix:x,interlaced:m}),[u,w]=_r(E,{prefix:x,interlaced:m});try{this.verbose&&E.reportInfo(null,`${x} Process started`);let W=Date.now(),P=await this.cli.run([this.commandName,...this.args],{cwd:j.cwd,stdout:M,stderr:u})||0;M.end(),u.end(),await $,await w;let l=Date.now();if(this.verbose){let c=t.get("enableTimers")?`, completed in ${Z.formatUtils.pretty(t,l-W,Z.formatUtils.Type.DURATION)}`:"";E.reportInfo(null,`${x} Process exited (exit code ${P})${c}`)}return P===130&&(T=!0,C=P),P}catch(W){throw M.end(),u.end(),await $,await w,W}};for(let j of f)p.set(j.anchoredLocator.locatorHash,j);for(;p.size>0&&!E.hasErrors();){let j=[];for(let[M,$]of p){if(H.has($.anchoredDescriptor.descriptorHash))continue;let u=!0;if(this.topological||this.topologicalDev){let w=this.topologicalDev?new Map([...$.manifest.dependencies,...$.manifest.devDependencies]):$.manifest.dependencies;for(let W of w.values()){let P=r.tryWorkspaceByDescriptor(W);if(u=P===null||!p.has(P.anchoredLocator.locatorHash),!u)break}}if(!!u&&(H.add($.anchoredDescriptor.descriptorHash),j.push(R(async()=>{let w=await ee($,{commandIndex:++b});return p.delete(M),H.delete($.anchoredDescriptor.descriptorHash),w})),!this.parallel))break}if(j.length===0){let M=Array.from(p.values()).map($=>Z.structUtils.prettyLocator(t,$.anchoredLocator)).join(", ");E.reportError(Ee.MessageName.CYCLIC_DEPENDENCIES,`Dependency cycle detected (${M})`);return}let x=(await Promise.all(j)).find(M=>M!==0);C===null&&(C=typeof x!="undefined"?1:C),(this.topological||this.topologicalDev)&&typeof x!="undefined"&&E.reportError(Ee.MessageName.UNNAMED,"The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph")}});return C!==null?C:k.exitCode()}};xe.paths=[["workspaces","foreach"]],xe.usage=K.Command.Usage({category:"Workspace-related commands",description:"run a command on all workspaces",details:"\n This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command:\n\n - If `-p,--parallel` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via `-j,--jobs`.\n\n - If `-p,--parallel` and `-i,--interlaced` are both set, Yarn will print the lines from the output as it receives them. If `-i,--interlaced` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited.\n\n - If `-t,--topological` is set, Yarn will only run the command after all workspaces that it depends on through the `dependencies` field have successfully finished executing. If `--topological-dev` is set, both the `dependencies` and `devDependencies` fields will be considered when figuring out the wait points.\n\n - If `-A,--all` is set, Yarn will run the command on all the workspaces of a project. By default yarn runs the command only on current and all its descendant workspaces.\n\n - If `-R,--recursive` is set, Yarn will find workspaces to run the command on by recursively evaluating `dependencies` and `devDependencies` fields, instead of looking at the `workspaces` fields.\n\n - If `--from` is set, Yarn will use the packages matching the 'from' glob as the starting point for any recursive search.\n\n - The command may apply to only some workspaces through the use of `--include` which acts as a whitelist. The `--exclude` flag will do the opposite and will be a list of packages that mustn't execute the script. Both flags accept glob patterns (if valid Idents and supported by [micromatch](https://github.com/micromatch/micromatch)). Make sure to escape the patterns, to prevent your own shell from trying to expand them.\n\n Adding the `-v,--verbose` flag will cause Yarn to print more information; in particular the name of the workspace that generated the output will be printed at the front of each line.\n\n If the command is `run` and the script being run does not exist the child workspace will be skipped without error.\n ",examples:[["Publish current and all descendant packages","yarn workspaces foreach npm publish --tolerate-republish"],["Run build script on current and all descendant packages","yarn workspaces foreach run build"],["Run build script on current and all descendant packages in parallel, building package dependencies first","yarn workspaces foreach -pt run build"],["Run build script on several packages and all their dependencies, building dependencies first","yarn workspaces foreach -ptR --from '{workspace-a,workspace-b}' run build"]]});var Er=xe;function _r(e,{prefix:t,interlaced:r}){let n=e.createStreamReporter(t),s=new Z.miscUtils.DefaultStream;s.pipe(n,{end:!1}),s.on("finish",()=>{n.end()});let a=new Promise(o=>{n.on("finish",()=>{o(s.active)})});if(r)return[s,a];let i=new Z.miscUtils.BufferStream;return i.pipe(s,{end:!1}),i.on("finish",()=>{s.end()}),[i,a]}function Yn(e,{configuration:t,commandIndex:r,verbose:n}){if(!n)return null;let s=Z.structUtils.convertToIdent(e.locator),i=`[${Z.structUtils.stringifyIdent(s)}]:`,o=["#2E86AB","#A23B72","#F18F01","#C73E1D","#CCE2A3"],h=o[r%o.length];return Z.formatUtils.pretty(t,i,h)}var Vn={commands:[nt,Er]},Jn=Vn;return zn;})(); -/*! - * fill-range - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Licensed under the MIT License. - */ -/*! - * is-number - * - * Copyright (c) 2014-present, Jon Schlinkert. - * Released under the MIT License. - */ -/*! - * to-regex-range - * - * Copyright (c) 2015-present, Jon Schlinkert. - * Released under the MIT License. - */ -return plugin; -} -}; diff --git a/.yarn/releases/yarn-3.3.1.cjs b/.yarn/releases/yarn-3.3.1.cjs deleted file mode 100755 index 53a282e43..000000000 --- a/.yarn/releases/yarn-3.3.1.cjs +++ /dev/null @@ -1,823 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable */ -//prettier-ignore -(()=>{var dfe=Object.create;var jS=Object.defineProperty;var Cfe=Object.getOwnPropertyDescriptor;var mfe=Object.getOwnPropertyNames;var Efe=Object.getPrototypeOf,Ife=Object.prototype.hasOwnProperty;var J=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw new Error('Dynamic require of "'+r+'" is not supported')});var y=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),ht=(r,e)=>{for(var t in e)jS(r,t,{get:e[t],enumerable:!0})},yfe=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of mfe(e))!Ife.call(r,n)&&n!==t&&jS(r,n,{get:()=>e[n],enumerable:!(i=Cfe(e,n))||i.enumerable});return r};var ne=(r,e,t)=>(t=r!=null?dfe(Efe(r)):{},yfe(e||!r||!r.__esModule?jS(t,"default",{value:r,enumerable:!0}):t,r));var aK=y((uZe,oK)=>{oK.exports=sK;sK.sync=Gfe;var iK=J("fs");function Hfe(r,e){var t=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!t||(t=t.split(";"),t.indexOf("")!==-1))return!0;for(var i=0;i{uK.exports=lK;lK.sync=Yfe;var AK=J("fs");function lK(r,e,t){AK.stat(r,function(i,n){t(i,i?!1:cK(n,e))})}function Yfe(r,e){return cK(AK.statSync(r),e)}function cK(r,e){return r.isFile()&&jfe(r,e)}function jfe(r,e){var t=r.mode,i=r.uid,n=r.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,g=t&c||t&l&&n===o||t&a&&i===s||t&u&&s===0;return g}});var hK=y((hZe,fK)=>{var fZe=J("fs"),OI;process.platform==="win32"||global.TESTING_WINDOWS?OI=aK():OI=gK();fK.exports=av;av.sync=qfe;function av(r,e,t){if(typeof e=="function"&&(t=e,e={}),!t){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(i,n){av(r,e||{},function(s,o){s?n(s):i(o)})})}OI(r,e||{},function(i,n){i&&(i.code==="EACCES"||e&&e.ignoreErrors)&&(i=null,n=!1),t(i,n)})}function qfe(r,e){try{return OI.sync(r,e||{})}catch(t){if(e&&e.ignoreErrors||t.code==="EACCES")return!1;throw t}}});var yK=y((pZe,IK)=>{var _g=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",pK=J("path"),Jfe=_g?";":":",dK=hK(),CK=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"}),mK=(r,e)=>{let t=e.colon||Jfe,i=r.match(/\//)||_g&&r.match(/\\/)?[""]:[..._g?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(t)],n=_g?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=_g?n.split(t):[""];return _g&&r.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:i,pathExt:s,pathExtExe:n}},EK=(r,e,t)=>{typeof e=="function"&&(t=e,e={}),e||(e={});let{pathEnv:i,pathExt:n,pathExtExe:s}=mK(r,e),o=[],a=c=>new Promise((u,g)=>{if(c===i.length)return e.all&&o.length?u(o):g(CK(r));let f=i[c],h=/^".*"$/.test(f)?f.slice(1,-1):f,p=pK.join(h,r),C=!h&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(l(C,c,0))}),l=(c,u,g)=>new Promise((f,h)=>{if(g===n.length)return f(a(u+1));let p=n[g];dK(c+p,{pathExt:s},(C,w)=>{if(!C&&w)if(e.all)o.push(c+p);else return f(c+p);return f(l(c,u,g+1))})});return t?a(0).then(c=>t(null,c),t):a(0)},Wfe=(r,e)=>{e=e||{};let{pathEnv:t,pathExt:i,pathExtExe:n}=mK(r,e),s=[];for(let o=0;o{"use strict";var wK=(r={})=>{let e=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"};Av.exports=wK;Av.exports.default=wK});var vK=y((CZe,SK)=>{"use strict";var bK=J("path"),zfe=yK(),Vfe=BK();function QK(r,e){let t=r.options.env||process.env,i=process.cwd(),n=r.options.cwd!=null,s=n&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(r.options.cwd)}catch{}let o;try{o=zfe.sync(r.command,{path:t[Vfe({env:t})],pathExt:e?bK.delimiter:void 0})}catch{}finally{s&&process.chdir(i)}return o&&(o=bK.resolve(n?r.options.cwd:"",o)),o}function Xfe(r){return QK(r)||QK(r,!0)}SK.exports=Xfe});var xK=y((mZe,cv)=>{"use strict";var lv=/([()\][%!^"`<>&|;, *?])/g;function _fe(r){return r=r.replace(lv,"^$1"),r}function Zfe(r,e){return r=`${r}`,r=r.replace(/(\\*)"/g,'$1$1\\"'),r=r.replace(/(\\*)$/,"$1$1"),r=`"${r}"`,r=r.replace(lv,"^$1"),e&&(r=r.replace(lv,"^$1")),r}cv.exports.command=_fe;cv.exports.argument=Zfe});var DK=y((EZe,PK)=>{"use strict";PK.exports=/^#!(.*)/});var RK=y((IZe,kK)=>{"use strict";var $fe=DK();kK.exports=(r="")=>{let e=r.match($fe);if(!e)return null;let[t,i]=e[0].replace(/#! ?/,"").split(" "),n=t.split("/").pop();return n==="env"?i:i?`${n} ${i}`:n}});var NK=y((yZe,FK)=>{"use strict";var uv=J("fs"),ehe=RK();function the(r){let t=Buffer.alloc(150),i;try{i=uv.openSync(r,"r"),uv.readSync(i,t,0,150,0),uv.closeSync(i)}catch{}return ehe(t.toString())}FK.exports=the});var MK=y((wZe,OK)=>{"use strict";var rhe=J("path"),TK=vK(),LK=xK(),ihe=NK(),nhe=process.platform==="win32",she=/\.(?:com|exe)$/i,ohe=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function ahe(r){r.file=TK(r);let e=r.file&&ihe(r.file);return e?(r.args.unshift(r.file),r.command=e,TK(r)):r.file}function Ahe(r){if(!nhe)return r;let e=ahe(r),t=!she.test(e);if(r.options.forceShell||t){let i=ohe.test(e);r.command=rhe.normalize(r.command),r.command=LK.command(r.command),r.args=r.args.map(s=>LK.argument(s,i));let n=[r.command].concat(r.args).join(" ");r.args=["/d","/s","/c",`"${n}"`],r.command=process.env.comspec||"cmd.exe",r.options.windowsVerbatimArguments=!0}return r}function lhe(r,e,t){e&&!Array.isArray(e)&&(t=e,e=null),e=e?e.slice(0):[],t=Object.assign({},t);let i={command:r,args:e,options:t,file:void 0,original:{command:r,args:e}};return t.shell?i:Ahe(i)}OK.exports=lhe});var HK=y((BZe,KK)=>{"use strict";var gv=process.platform==="win32";function fv(r,e){return Object.assign(new Error(`${e} ${r.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${r.command}`,path:r.command,spawnargs:r.args})}function che(r,e){if(!gv)return;let t=r.emit;r.emit=function(i,n){if(i==="exit"){let s=UK(n,e,"spawn");if(s)return t.call(r,"error",s)}return t.apply(r,arguments)}}function UK(r,e){return gv&&r===1&&!e.file?fv(e.original,"spawn"):null}function uhe(r,e){return gv&&r===1&&!e.file?fv(e.original,"spawnSync"):null}KK.exports={hookChildProcess:che,verifyENOENT:UK,verifyENOENTSync:uhe,notFoundError:fv}});var dv=y((bZe,Zg)=>{"use strict";var GK=J("child_process"),hv=MK(),pv=HK();function YK(r,e,t){let i=hv(r,e,t),n=GK.spawn(i.command,i.args,i.options);return pv.hookChildProcess(n,i),n}function ghe(r,e,t){let i=hv(r,e,t),n=GK.spawnSync(i.command,i.args,i.options);return n.error=n.error||pv.verifyENOENTSync(n.status,i),n}Zg.exports=YK;Zg.exports.spawn=YK;Zg.exports.sync=ghe;Zg.exports._parse=hv;Zg.exports._enoent=pv});var qK=y((QZe,jK)=>{"use strict";function fhe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function uc(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,uc)}fhe(uc,Error);uc.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g>",re=de(">>",!1),me=">&",tt=de(">&",!1),Rt=">",It=de(">",!1),Ur="<<<",oi=de("<<<",!1),pi="<&",pr=de("<&",!1),di="<",ai=de("<",!1),Os=function(m){return{type:"argument",segments:[].concat(...m)}},dr=function(m){return m},Bi="$'",_n=de("$'",!1),pa="'",EA=de("'",!1),kg=function(m){return[{type:"text",text:m}]},Zn='""',IA=de('""',!1),da=function(){return{type:"text",text:""}},Jp='"',yA=de('"',!1),wA=function(m){return m},Br=function(m){return{type:"arithmetic",arithmetic:m,quoted:!0}},Vl=function(m){return{type:"shell",shell:m,quoted:!0}},Rg=function(m){return{type:"variable",...m,quoted:!0}},Eo=function(m){return{type:"text",text:m}},Fg=function(m){return{type:"arithmetic",arithmetic:m,quoted:!1}},Wp=function(m){return{type:"shell",shell:m,quoted:!1}},zp=function(m){return{type:"variable",...m,quoted:!1}},Pr=function(m){return{type:"glob",pattern:m}},oe=/^[^']/,Io=Ye(["'"],!0,!1),kn=function(m){return m.join("")},Ng=/^[^$"]/,bt=Ye(["$",'"'],!0,!1),Xl=`\\ -`,Rn=de(`\\ -`,!1),$n=function(){return""},es="\\",ut=de("\\",!1),yo=/^[\\$"`]/,at=Ye(["\\","$",'"',"`"],!1,!1),ln=function(m){return m},S="\\a",Lt=de("\\a",!1),Tg=function(){return"a"},_l="\\b",Vp=de("\\b",!1),Xp=function(){return"\b"},_p=/^[Ee]/,Zp=Ye(["E","e"],!1,!1),$p=function(){return"\x1B"},G="\\f",yt=de("\\f",!1),BA=function(){return"\f"},Wi="\\n",Zl=de("\\n",!1),We=function(){return` -`},Ca="\\r",Lg=de("\\r",!1),uI=function(){return"\r"},ed="\\t",gI=de("\\t",!1),ar=function(){return" "},Fn="\\v",$l=de("\\v",!1),td=function(){return"\v"},Ms=/^[\\'"?]/,ma=Ye(["\\","'",'"',"?"],!1,!1),cn=function(m){return String.fromCharCode(parseInt(m,16))},ke="\\x",Og=de("\\x",!1),ec="\\u",Us=de("\\u",!1),tc="\\U",bA=de("\\U",!1),Mg=function(m){return String.fromCodePoint(parseInt(m,16))},Ug=/^[0-7]/,Ea=Ye([["0","7"]],!1,!1),Ia=/^[0-9a-fA-f]/,$e=Ye([["0","9"],["a","f"],["A","f"]],!1,!1),wo=rt(),QA="-",rc=de("-",!1),Ks="+",ic=de("+",!1),fI=".",rd=de(".",!1),Kg=function(m,Q,F){return{type:"number",value:(m==="-"?-1:1)*parseFloat(Q.join("")+"."+F.join(""))}},id=function(m,Q){return{type:"number",value:(m==="-"?-1:1)*parseInt(Q.join(""))}},hI=function(m){return{type:"variable",...m}},nc=function(m){return{type:"variable",name:m}},pI=function(m){return m},Hg="*",SA=de("*",!1),Nr="/",dI=de("/",!1),Hs=function(m,Q,F){return{type:Q==="*"?"multiplication":"division",right:F}},Gs=function(m,Q){return Q.reduce((F,K)=>({left:F,...K}),m)},Gg=function(m,Q,F){return{type:Q==="+"?"addition":"subtraction",right:F}},vA="$((",R=de("$((",!1),q="))",pe=de("))",!1),Ne=function(m){return m},xe="$(",qe=de("$(",!1),dt=function(m){return m},Ft="${",Nn=de("${",!1),vS=":-",AU=de(":-",!1),lU=function(m,Q){return{name:m,defaultValue:Q}},xS=":-}",cU=de(":-}",!1),uU=function(m){return{name:m,defaultValue:[]}},PS=":+",gU=de(":+",!1),fU=function(m,Q){return{name:m,alternativeValue:Q}},DS=":+}",hU=de(":+}",!1),pU=function(m){return{name:m,alternativeValue:[]}},kS=function(m){return{name:m}},dU="$",CU=de("$",!1),mU=function(m){return e.isGlobPattern(m)},EU=function(m){return m},RS=/^[a-zA-Z0-9_]/,FS=Ye([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),NS=function(){return O()},TS=/^[$@*?#a-zA-Z0-9_\-]/,LS=Ye(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),IU=/^[(){}<>$|&; \t"']/,Yg=Ye(["(",")","{","}","<",">","$","|","&",";"," "," ",'"',"'"],!1,!1),OS=/^[<>&; \t"']/,MS=Ye(["<",">","&",";"," "," ",'"',"'"],!1,!1),CI=/^[ \t]/,mI=Ye([" "," "],!1,!1),b=0,Fe=0,xA=[{line:1,column:1}],d=0,E=[],I=0,k;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function O(){return r.substring(Fe,b)}function X(){return Et(Fe,b)}function te(m,Q){throw Q=Q!==void 0?Q:Et(Fe,b),Fi([At(m)],r.substring(Fe,b),Q)}function ye(m,Q){throw Q=Q!==void 0?Q:Et(Fe,b),Tn(m,Q)}function de(m,Q){return{type:"literal",text:m,ignoreCase:Q}}function Ye(m,Q,F){return{type:"class",parts:m,inverted:Q,ignoreCase:F}}function rt(){return{type:"any"}}function wt(){return{type:"end"}}function At(m){return{type:"other",description:m}}function et(m){var Q=xA[m],F;if(Q)return Q;for(F=m-1;!xA[F];)F--;for(Q=xA[F],Q={line:Q.line,column:Q.column};Fd&&(d=b,E=[]),E.push(m))}function Tn(m,Q){return new uc(m,null,null,Q)}function Fi(m,Q,F){return new uc(uc.buildMessage(m,Q),m,Q,F)}function PA(){var m,Q;return m=b,Q=Kr(),Q===t&&(Q=null),Q!==t&&(Fe=m,Q=s(Q)),m=Q,m}function Kr(){var m,Q,F,K,ce;if(m=b,Q=Hr(),Q!==t){for(F=[],K=Me();K!==t;)F.push(K),K=Me();F!==t?(K=ya(),K!==t?(ce=ts(),ce===t&&(ce=null),ce!==t?(Fe=m,Q=o(Q,K,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;if(m===t)if(m=b,Q=Hr(),Q!==t){for(F=[],K=Me();K!==t;)F.push(K),K=Me();F!==t?(K=ya(),K===t&&(K=null),K!==t?(Fe=m,Q=a(Q,K),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function ts(){var m,Q,F,K,ce;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t)if(F=Kr(),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();K!==t?(Fe=m,Q=l(F),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function ya(){var m;return r.charCodeAt(b)===59?(m=c,b++):(m=t,I===0&&Be(u)),m===t&&(r.charCodeAt(b)===38?(m=g,b++):(m=t,I===0&&Be(f))),m}function Hr(){var m,Q,F;return m=b,Q=yU(),Q!==t?(F=$ge(),F===t&&(F=null),F!==t?(Fe=m,Q=h(Q,F),m=Q):(b=m,m=t)):(b=m,m=t),m}function $ge(){var m,Q,F,K,ce,Qe,ft;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t)if(F=efe(),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();if(K!==t)if(ce=Hr(),ce!==t){for(Qe=[],ft=Me();ft!==t;)Qe.push(ft),ft=Me();Qe!==t?(Fe=m,Q=p(F,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function efe(){var m;return r.substr(b,2)===C?(m=C,b+=2):(m=t,I===0&&Be(w)),m===t&&(r.substr(b,2)===B?(m=B,b+=2):(m=t,I===0&&Be(v))),m}function yU(){var m,Q,F;return m=b,Q=ife(),Q!==t?(F=tfe(),F===t&&(F=null),F!==t?(Fe=m,Q=D(Q,F),m=Q):(b=m,m=t)):(b=m,m=t),m}function tfe(){var m,Q,F,K,ce,Qe,ft;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t)if(F=rfe(),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();if(K!==t)if(ce=yU(),ce!==t){for(Qe=[],ft=Me();ft!==t;)Qe.push(ft),ft=Me();Qe!==t?(Fe=m,Q=T(F,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;return m}function rfe(){var m;return r.substr(b,2)===H?(m=H,b+=2):(m=t,I===0&&Be(j)),m===t&&(r.charCodeAt(b)===124?(m=$,b++):(m=t,I===0&&Be(V))),m}function EI(){var m,Q,F,K,ce,Qe;if(m=b,Q=FU(),Q!==t)if(r.charCodeAt(b)===61?(F=W,b++):(F=t,I===0&&Be(Z)),F!==t)if(K=bU(),K!==t){for(ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();ce!==t?(Fe=m,Q=A(Q,K),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;else b=m,m=t;if(m===t)if(m=b,Q=FU(),Q!==t)if(r.charCodeAt(b)===61?(F=W,b++):(F=t,I===0&&Be(Z)),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();K!==t?(Fe=m,Q=ae(Q),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t;return m}function ife(){var m,Q,F,K,ce,Qe,ft,Bt,Vr,Ci,rs;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t)if(r.charCodeAt(b)===40?(F=ge,b++):(F=t,I===0&&Be(_)),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();if(K!==t)if(ce=Kr(),ce!==t){for(Qe=[],ft=Me();ft!==t;)Qe.push(ft),ft=Me();if(Qe!==t)if(r.charCodeAt(b)===41?(ft=L,b++):(ft=t,I===0&&Be(N)),ft!==t){for(Bt=[],Vr=Me();Vr!==t;)Bt.push(Vr),Vr=Me();if(Bt!==t){for(Vr=[],Ci=nd();Ci!==t;)Vr.push(Ci),Ci=nd();if(Vr!==t){for(Ci=[],rs=Me();rs!==t;)Ci.push(rs),rs=Me();Ci!==t?(Fe=m,Q=ue(ce,Vr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t)if(r.charCodeAt(b)===123?(F=we,b++):(F=t,I===0&&Be(Te)),F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();if(K!==t)if(ce=Kr(),ce!==t){for(Qe=[],ft=Me();ft!==t;)Qe.push(ft),ft=Me();if(Qe!==t)if(r.charCodeAt(b)===125?(ft=Pe,b++):(ft=t,I===0&&Be(Le)),ft!==t){for(Bt=[],Vr=Me();Vr!==t;)Bt.push(Vr),Vr=Me();if(Bt!==t){for(Vr=[],Ci=nd();Ci!==t;)Vr.push(Ci),Ci=nd();if(Vr!==t){for(Ci=[],rs=Me();rs!==t;)Ci.push(rs),rs=Me();Ci!==t?(Fe=m,Q=se(ce,Vr),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t}else b=m,m=t;else b=m,m=t;if(m===t){for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t){for(F=[],K=EI();K!==t;)F.push(K),K=EI();if(F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();if(K!==t){if(ce=[],Qe=BU(),Qe!==t)for(;Qe!==t;)ce.push(Qe),Qe=BU();else ce=t;if(ce!==t){for(Qe=[],ft=Me();ft!==t;)Qe.push(ft),ft=Me();Qe!==t?(Fe=m,Q=Ae(F,ce),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}else b=m,m=t}else b=m,m=t;if(m===t){for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t){if(F=[],K=EI(),K!==t)for(;K!==t;)F.push(K),K=EI();else F=t;if(F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();K!==t?(Fe=m,Q=be(F),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t}}}return m}function wU(){var m,Q,F,K,ce;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t){if(F=[],K=II(),K!==t)for(;K!==t;)F.push(K),K=II();else F=t;if(F!==t){for(K=[],ce=Me();ce!==t;)K.push(ce),ce=Me();K!==t?(Fe=m,Q=fe(F),m=Q):(b=m,m=t)}else b=m,m=t}else b=m,m=t;return m}function BU(){var m,Q,F;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();if(Q!==t?(F=nd(),F!==t?(Fe=m,Q=le(F),m=Q):(b=m,m=t)):(b=m,m=t),m===t){for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();Q!==t?(F=II(),F!==t?(Fe=m,Q=le(F),m=Q):(b=m,m=t)):(b=m,m=t)}return m}function nd(){var m,Q,F,K,ce;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();return Q!==t?(Ge.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(ie)),F===t&&(F=null),F!==t?(K=nfe(),K!==t?(ce=II(),ce!==t?(Fe=m,Q=Y(F,K,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function nfe(){var m;return r.substr(b,2)===he?(m=he,b+=2):(m=t,I===0&&Be(re)),m===t&&(r.substr(b,2)===me?(m=me,b+=2):(m=t,I===0&&Be(tt)),m===t&&(r.charCodeAt(b)===62?(m=Rt,b++):(m=t,I===0&&Be(It)),m===t&&(r.substr(b,3)===Ur?(m=Ur,b+=3):(m=t,I===0&&Be(oi)),m===t&&(r.substr(b,2)===pi?(m=pi,b+=2):(m=t,I===0&&Be(pr)),m===t&&(r.charCodeAt(b)===60?(m=di,b++):(m=t,I===0&&Be(ai))))))),m}function II(){var m,Q,F;for(m=b,Q=[],F=Me();F!==t;)Q.push(F),F=Me();return Q!==t?(F=bU(),F!==t?(Fe=m,Q=le(F),m=Q):(b=m,m=t)):(b=m,m=t),m}function bU(){var m,Q,F;if(m=b,Q=[],F=QU(),F!==t)for(;F!==t;)Q.push(F),F=QU();else Q=t;return Q!==t&&(Fe=m,Q=Os(Q)),m=Q,m}function QU(){var m,Q;return m=b,Q=sfe(),Q!==t&&(Fe=m,Q=dr(Q)),m=Q,m===t&&(m=b,Q=ofe(),Q!==t&&(Fe=m,Q=dr(Q)),m=Q,m===t&&(m=b,Q=afe(),Q!==t&&(Fe=m,Q=dr(Q)),m=Q,m===t&&(m=b,Q=Afe(),Q!==t&&(Fe=m,Q=dr(Q)),m=Q))),m}function sfe(){var m,Q,F,K;return m=b,r.substr(b,2)===Bi?(Q=Bi,b+=2):(Q=t,I===0&&Be(_n)),Q!==t?(F=ufe(),F!==t?(r.charCodeAt(b)===39?(K=pa,b++):(K=t,I===0&&Be(EA)),K!==t?(Fe=m,Q=kg(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function ofe(){var m,Q,F,K;return m=b,r.charCodeAt(b)===39?(Q=pa,b++):(Q=t,I===0&&Be(EA)),Q!==t?(F=lfe(),F!==t?(r.charCodeAt(b)===39?(K=pa,b++):(K=t,I===0&&Be(EA)),K!==t?(Fe=m,Q=kg(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function afe(){var m,Q,F,K;if(m=b,r.substr(b,2)===Zn?(Q=Zn,b+=2):(Q=t,I===0&&Be(IA)),Q!==t&&(Fe=m,Q=da()),m=Q,m===t)if(m=b,r.charCodeAt(b)===34?(Q=Jp,b++):(Q=t,I===0&&Be(yA)),Q!==t){for(F=[],K=SU();K!==t;)F.push(K),K=SU();F!==t?(r.charCodeAt(b)===34?(K=Jp,b++):(K=t,I===0&&Be(yA)),K!==t?(Fe=m,Q=wA(F),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;return m}function Afe(){var m,Q,F;if(m=b,Q=[],F=vU(),F!==t)for(;F!==t;)Q.push(F),F=vU();else Q=t;return Q!==t&&(Fe=m,Q=wA(Q)),m=Q,m}function SU(){var m,Q;return m=b,Q=kU(),Q!==t&&(Fe=m,Q=Br(Q)),m=Q,m===t&&(m=b,Q=RU(),Q!==t&&(Fe=m,Q=Vl(Q)),m=Q,m===t&&(m=b,Q=GS(),Q!==t&&(Fe=m,Q=Rg(Q)),m=Q,m===t&&(m=b,Q=cfe(),Q!==t&&(Fe=m,Q=Eo(Q)),m=Q))),m}function vU(){var m,Q;return m=b,Q=kU(),Q!==t&&(Fe=m,Q=Fg(Q)),m=Q,m===t&&(m=b,Q=RU(),Q!==t&&(Fe=m,Q=Wp(Q)),m=Q,m===t&&(m=b,Q=GS(),Q!==t&&(Fe=m,Q=zp(Q)),m=Q,m===t&&(m=b,Q=hfe(),Q!==t&&(Fe=m,Q=Pr(Q)),m=Q,m===t&&(m=b,Q=ffe(),Q!==t&&(Fe=m,Q=Eo(Q)),m=Q)))),m}function lfe(){var m,Q,F;for(m=b,Q=[],oe.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(Io));F!==t;)Q.push(F),oe.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(Io));return Q!==t&&(Fe=m,Q=kn(Q)),m=Q,m}function cfe(){var m,Q,F;if(m=b,Q=[],F=xU(),F===t&&(Ng.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(bt))),F!==t)for(;F!==t;)Q.push(F),F=xU(),F===t&&(Ng.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(bt)));else Q=t;return Q!==t&&(Fe=m,Q=kn(Q)),m=Q,m}function xU(){var m,Q,F;return m=b,r.substr(b,2)===Xl?(Q=Xl,b+=2):(Q=t,I===0&&Be(Rn)),Q!==t&&(Fe=m,Q=$n()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=es,b++):(Q=t,I===0&&Be(ut)),Q!==t?(yo.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(at)),F!==t?(Fe=m,Q=ln(F),m=Q):(b=m,m=t)):(b=m,m=t)),m}function ufe(){var m,Q,F;for(m=b,Q=[],F=PU(),F===t&&(oe.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(Io)));F!==t;)Q.push(F),F=PU(),F===t&&(oe.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(Io)));return Q!==t&&(Fe=m,Q=kn(Q)),m=Q,m}function PU(){var m,Q,F;return m=b,r.substr(b,2)===S?(Q=S,b+=2):(Q=t,I===0&&Be(Lt)),Q!==t&&(Fe=m,Q=Tg()),m=Q,m===t&&(m=b,r.substr(b,2)===_l?(Q=_l,b+=2):(Q=t,I===0&&Be(Vp)),Q!==t&&(Fe=m,Q=Xp()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=es,b++):(Q=t,I===0&&Be(ut)),Q!==t?(_p.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(Zp)),F!==t?(Fe=m,Q=$p(),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===G?(Q=G,b+=2):(Q=t,I===0&&Be(yt)),Q!==t&&(Fe=m,Q=BA()),m=Q,m===t&&(m=b,r.substr(b,2)===Wi?(Q=Wi,b+=2):(Q=t,I===0&&Be(Zl)),Q!==t&&(Fe=m,Q=We()),m=Q,m===t&&(m=b,r.substr(b,2)===Ca?(Q=Ca,b+=2):(Q=t,I===0&&Be(Lg)),Q!==t&&(Fe=m,Q=uI()),m=Q,m===t&&(m=b,r.substr(b,2)===ed?(Q=ed,b+=2):(Q=t,I===0&&Be(gI)),Q!==t&&(Fe=m,Q=ar()),m=Q,m===t&&(m=b,r.substr(b,2)===Fn?(Q=Fn,b+=2):(Q=t,I===0&&Be($l)),Q!==t&&(Fe=m,Q=td()),m=Q,m===t&&(m=b,r.charCodeAt(b)===92?(Q=es,b++):(Q=t,I===0&&Be(ut)),Q!==t?(Ms.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(ma)),F!==t?(Fe=m,Q=ln(F),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=gfe()))))))))),m}function gfe(){var m,Q,F,K,ce,Qe,ft,Bt,Vr,Ci,rs,YS;return m=b,r.charCodeAt(b)===92?(Q=es,b++):(Q=t,I===0&&Be(ut)),Q!==t?(F=US(),F!==t?(Fe=m,Q=cn(F),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===ke?(Q=ke,b+=2):(Q=t,I===0&&Be(Og)),Q!==t?(F=b,K=b,ce=US(),ce!==t?(Qe=Ln(),Qe!==t?(ce=[ce,Qe],K=ce):(b=K,K=t)):(b=K,K=t),K===t&&(K=US()),K!==t?F=r.substring(F,b):F=K,F!==t?(Fe=m,Q=cn(F),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===ec?(Q=ec,b+=2):(Q=t,I===0&&Be(Us)),Q!==t?(F=b,K=b,ce=Ln(),ce!==t?(Qe=Ln(),Qe!==t?(ft=Ln(),ft!==t?(Bt=Ln(),Bt!==t?(ce=[ce,Qe,ft,Bt],K=ce):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t),K!==t?F=r.substring(F,b):F=K,F!==t?(Fe=m,Q=cn(F),m=Q):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===tc?(Q=tc,b+=2):(Q=t,I===0&&Be(bA)),Q!==t?(F=b,K=b,ce=Ln(),ce!==t?(Qe=Ln(),Qe!==t?(ft=Ln(),ft!==t?(Bt=Ln(),Bt!==t?(Vr=Ln(),Vr!==t?(Ci=Ln(),Ci!==t?(rs=Ln(),rs!==t?(YS=Ln(),YS!==t?(ce=[ce,Qe,ft,Bt,Vr,Ci,rs,YS],K=ce):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t)):(b=K,K=t),K!==t?F=r.substring(F,b):F=K,F!==t?(Fe=m,Q=Mg(F),m=Q):(b=m,m=t)):(b=m,m=t)))),m}function US(){var m;return Ug.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&Be(Ea)),m}function Ln(){var m;return Ia.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&Be($e)),m}function ffe(){var m,Q,F,K,ce;if(m=b,Q=[],F=b,r.charCodeAt(b)===92?(K=es,b++):(K=t,I===0&&Be(ut)),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t),F===t&&(F=b,K=b,I++,ce=NU(),I--,ce===t?K=void 0:(b=K,K=t),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t)),F!==t)for(;F!==t;)Q.push(F),F=b,r.charCodeAt(b)===92?(K=es,b++):(K=t,I===0&&Be(ut)),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t),F===t&&(F=b,K=b,I++,ce=NU(),I--,ce===t?K=void 0:(b=K,K=t),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t));else Q=t;return Q!==t&&(Fe=m,Q=kn(Q)),m=Q,m}function KS(){var m,Q,F,K,ce,Qe;if(m=b,r.charCodeAt(b)===45?(Q=QA,b++):(Q=t,I===0&&Be(rc)),Q===t&&(r.charCodeAt(b)===43?(Q=Ks,b++):(Q=t,I===0&&Be(ic))),Q===t&&(Q=null),Q!==t){if(F=[],Ge.test(r.charAt(b))?(K=r.charAt(b),b++):(K=t,I===0&&Be(ie)),K!==t)for(;K!==t;)F.push(K),Ge.test(r.charAt(b))?(K=r.charAt(b),b++):(K=t,I===0&&Be(ie));else F=t;if(F!==t)if(r.charCodeAt(b)===46?(K=fI,b++):(K=t,I===0&&Be(rd)),K!==t){if(ce=[],Ge.test(r.charAt(b))?(Qe=r.charAt(b),b++):(Qe=t,I===0&&Be(ie)),Qe!==t)for(;Qe!==t;)ce.push(Qe),Ge.test(r.charAt(b))?(Qe=r.charAt(b),b++):(Qe=t,I===0&&Be(ie));else ce=t;ce!==t?(Fe=m,Q=Kg(Q,F,ce),m=Q):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;if(m===t){if(m=b,r.charCodeAt(b)===45?(Q=QA,b++):(Q=t,I===0&&Be(rc)),Q===t&&(r.charCodeAt(b)===43?(Q=Ks,b++):(Q=t,I===0&&Be(ic))),Q===t&&(Q=null),Q!==t){if(F=[],Ge.test(r.charAt(b))?(K=r.charAt(b),b++):(K=t,I===0&&Be(ie)),K!==t)for(;K!==t;)F.push(K),Ge.test(r.charAt(b))?(K=r.charAt(b),b++):(K=t,I===0&&Be(ie));else F=t;F!==t?(Fe=m,Q=id(Q,F),m=Q):(b=m,m=t)}else b=m,m=t;if(m===t&&(m=b,Q=GS(),Q!==t&&(Fe=m,Q=hI(Q)),m=Q,m===t&&(m=b,Q=sc(),Q!==t&&(Fe=m,Q=nc(Q)),m=Q,m===t)))if(m=b,r.charCodeAt(b)===40?(Q=ge,b++):(Q=t,I===0&&Be(_)),Q!==t){for(F=[],K=Me();K!==t;)F.push(K),K=Me();if(F!==t)if(K=DU(),K!==t){for(ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();ce!==t?(r.charCodeAt(b)===41?(Qe=L,b++):(Qe=t,I===0&&Be(N)),Qe!==t?(Fe=m,Q=pI(K),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t}return m}function HS(){var m,Q,F,K,ce,Qe,ft,Bt;if(m=b,Q=KS(),Q!==t){for(F=[],K=b,ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();if(ce!==t)if(r.charCodeAt(b)===42?(Qe=Hg,b++):(Qe=t,I===0&&Be(SA)),Qe===t&&(r.charCodeAt(b)===47?(Qe=Nr,b++):(Qe=t,I===0&&Be(dI))),Qe!==t){for(ft=[],Bt=Me();Bt!==t;)ft.push(Bt),Bt=Me();ft!==t?(Bt=KS(),Bt!==t?(Fe=K,ce=Hs(Q,Qe,Bt),K=ce):(b=K,K=t)):(b=K,K=t)}else b=K,K=t;else b=K,K=t;for(;K!==t;){for(F.push(K),K=b,ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();if(ce!==t)if(r.charCodeAt(b)===42?(Qe=Hg,b++):(Qe=t,I===0&&Be(SA)),Qe===t&&(r.charCodeAt(b)===47?(Qe=Nr,b++):(Qe=t,I===0&&Be(dI))),Qe!==t){for(ft=[],Bt=Me();Bt!==t;)ft.push(Bt),Bt=Me();ft!==t?(Bt=KS(),Bt!==t?(Fe=K,ce=Hs(Q,Qe,Bt),K=ce):(b=K,K=t)):(b=K,K=t)}else b=K,K=t;else b=K,K=t}F!==t?(Fe=m,Q=Gs(Q,F),m=Q):(b=m,m=t)}else b=m,m=t;return m}function DU(){var m,Q,F,K,ce,Qe,ft,Bt;if(m=b,Q=HS(),Q!==t){for(F=[],K=b,ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();if(ce!==t)if(r.charCodeAt(b)===43?(Qe=Ks,b++):(Qe=t,I===0&&Be(ic)),Qe===t&&(r.charCodeAt(b)===45?(Qe=QA,b++):(Qe=t,I===0&&Be(rc))),Qe!==t){for(ft=[],Bt=Me();Bt!==t;)ft.push(Bt),Bt=Me();ft!==t?(Bt=HS(),Bt!==t?(Fe=K,ce=Gg(Q,Qe,Bt),K=ce):(b=K,K=t)):(b=K,K=t)}else b=K,K=t;else b=K,K=t;for(;K!==t;){for(F.push(K),K=b,ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();if(ce!==t)if(r.charCodeAt(b)===43?(Qe=Ks,b++):(Qe=t,I===0&&Be(ic)),Qe===t&&(r.charCodeAt(b)===45?(Qe=QA,b++):(Qe=t,I===0&&Be(rc))),Qe!==t){for(ft=[],Bt=Me();Bt!==t;)ft.push(Bt),Bt=Me();ft!==t?(Bt=HS(),Bt!==t?(Fe=K,ce=Gg(Q,Qe,Bt),K=ce):(b=K,K=t)):(b=K,K=t)}else b=K,K=t;else b=K,K=t}F!==t?(Fe=m,Q=Gs(Q,F),m=Q):(b=m,m=t)}else b=m,m=t;return m}function kU(){var m,Q,F,K,ce,Qe;if(m=b,r.substr(b,3)===vA?(Q=vA,b+=3):(Q=t,I===0&&Be(R)),Q!==t){for(F=[],K=Me();K!==t;)F.push(K),K=Me();if(F!==t)if(K=DU(),K!==t){for(ce=[],Qe=Me();Qe!==t;)ce.push(Qe),Qe=Me();ce!==t?(r.substr(b,2)===q?(Qe=q,b+=2):(Qe=t,I===0&&Be(pe)),Qe!==t?(Fe=m,Q=Ne(K),m=Q):(b=m,m=t)):(b=m,m=t)}else b=m,m=t;else b=m,m=t}else b=m,m=t;return m}function RU(){var m,Q,F,K;return m=b,r.substr(b,2)===xe?(Q=xe,b+=2):(Q=t,I===0&&Be(qe)),Q!==t?(F=Kr(),F!==t?(r.charCodeAt(b)===41?(K=L,b++):(K=t,I===0&&Be(N)),K!==t?(Fe=m,Q=dt(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m}function GS(){var m,Q,F,K,ce,Qe;return m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&Be(Nn)),Q!==t?(F=sc(),F!==t?(r.substr(b,2)===vS?(K=vS,b+=2):(K=t,I===0&&Be(AU)),K!==t?(ce=wU(),ce!==t?(r.charCodeAt(b)===125?(Qe=Pe,b++):(Qe=t,I===0&&Be(Le)),Qe!==t?(Fe=m,Q=lU(F,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&Be(Nn)),Q!==t?(F=sc(),F!==t?(r.substr(b,3)===xS?(K=xS,b+=3):(K=t,I===0&&Be(cU)),K!==t?(Fe=m,Q=uU(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&Be(Nn)),Q!==t?(F=sc(),F!==t?(r.substr(b,2)===PS?(K=PS,b+=2):(K=t,I===0&&Be(gU)),K!==t?(ce=wU(),ce!==t?(r.charCodeAt(b)===125?(Qe=Pe,b++):(Qe=t,I===0&&Be(Le)),Qe!==t?(Fe=m,Q=fU(F,ce),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&Be(Nn)),Q!==t?(F=sc(),F!==t?(r.substr(b,3)===DS?(K=DS,b+=3):(K=t,I===0&&Be(hU)),K!==t?(Fe=m,Q=pU(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.substr(b,2)===Ft?(Q=Ft,b+=2):(Q=t,I===0&&Be(Nn)),Q!==t?(F=sc(),F!==t?(r.charCodeAt(b)===125?(K=Pe,b++):(K=t,I===0&&Be(Le)),K!==t?(Fe=m,Q=kS(F),m=Q):(b=m,m=t)):(b=m,m=t)):(b=m,m=t),m===t&&(m=b,r.charCodeAt(b)===36?(Q=dU,b++):(Q=t,I===0&&Be(CU)),Q!==t?(F=sc(),F!==t?(Fe=m,Q=kS(F),m=Q):(b=m,m=t)):(b=m,m=t)))))),m}function hfe(){var m,Q,F;return m=b,Q=pfe(),Q!==t?(Fe=b,F=mU(Q),F?F=void 0:F=t,F!==t?(Fe=m,Q=EU(Q),m=Q):(b=m,m=t)):(b=m,m=t),m}function pfe(){var m,Q,F,K,ce;if(m=b,Q=[],F=b,K=b,I++,ce=TU(),I--,ce===t?K=void 0:(b=K,K=t),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t),F!==t)for(;F!==t;)Q.push(F),F=b,K=b,I++,ce=TU(),I--,ce===t?K=void 0:(b=K,K=t),K!==t?(r.length>b?(ce=r.charAt(b),b++):(ce=t,I===0&&Be(wo)),ce!==t?(Fe=F,K=ln(ce),F=K):(b=F,F=t)):(b=F,F=t);else Q=t;return Q!==t&&(Fe=m,Q=kn(Q)),m=Q,m}function FU(){var m,Q,F;if(m=b,Q=[],RS.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(FS)),F!==t)for(;F!==t;)Q.push(F),RS.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(FS));else Q=t;return Q!==t&&(Fe=m,Q=NS()),m=Q,m}function sc(){var m,Q,F;if(m=b,Q=[],TS.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(LS)),F!==t)for(;F!==t;)Q.push(F),TS.test(r.charAt(b))?(F=r.charAt(b),b++):(F=t,I===0&&Be(LS));else Q=t;return Q!==t&&(Fe=m,Q=NS()),m=Q,m}function NU(){var m;return IU.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&Be(Yg)),m}function TU(){var m;return OS.test(r.charAt(b))?(m=r.charAt(b),b++):(m=t,I===0&&Be(MS)),m}function Me(){var m,Q;if(m=[],CI.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&Be(mI)),Q!==t)for(;Q!==t;)m.push(Q),CI.test(r.charAt(b))?(Q=r.charAt(b),b++):(Q=t,I===0&&Be(mI));else m=t;return m}if(k=n(),k!==t&&b===r.length)return k;throw k!==t&&b{"use strict";function phe(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function fc(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,fc)}phe(fc,Error);fc.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;gH&&(H=v,j=[]),j.push(ie))}function Le(ie,Y){return new fc(ie,null,null,Y)}function se(ie,Y,he){return new fc(fc.buildMessage(ie,Y),ie,Y,he)}function Ae(){var ie,Y,he,re;return ie=v,Y=be(),Y!==t?(r.charCodeAt(v)===47?(he=s,v++):(he=t,$===0&&Pe(o)),he!==t?(re=be(),re!==t?(D=ie,Y=a(Y,re),ie=Y):(v=ie,ie=t)):(v=ie,ie=t)):(v=ie,ie=t),ie===t&&(ie=v,Y=be(),Y!==t&&(D=ie,Y=l(Y)),ie=Y),ie}function be(){var ie,Y,he,re;return ie=v,Y=fe(),Y!==t?(r.charCodeAt(v)===64?(he=c,v++):(he=t,$===0&&Pe(u)),he!==t?(re=Ge(),re!==t?(D=ie,Y=g(Y,re),ie=Y):(v=ie,ie=t)):(v=ie,ie=t)):(v=ie,ie=t),ie===t&&(ie=v,Y=fe(),Y!==t&&(D=ie,Y=f(Y)),ie=Y),ie}function fe(){var ie,Y,he,re,me;return ie=v,r.charCodeAt(v)===64?(Y=c,v++):(Y=t,$===0&&Pe(u)),Y!==t?(he=le(),he!==t?(r.charCodeAt(v)===47?(re=s,v++):(re=t,$===0&&Pe(o)),re!==t?(me=le(),me!==t?(D=ie,Y=h(),ie=Y):(v=ie,ie=t)):(v=ie,ie=t)):(v=ie,ie=t)):(v=ie,ie=t),ie===t&&(ie=v,Y=le(),Y!==t&&(D=ie,Y=h()),ie=Y),ie}function le(){var ie,Y,he;if(ie=v,Y=[],p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Pe(C)),he!==t)for(;he!==t;)Y.push(he),p.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Pe(C));else Y=t;return Y!==t&&(D=ie,Y=h()),ie=Y,ie}function Ge(){var ie,Y,he;if(ie=v,Y=[],w.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Pe(B)),he!==t)for(;he!==t;)Y.push(he),w.test(r.charAt(v))?(he=r.charAt(v),v++):(he=t,$===0&&Pe(B));else Y=t;return Y!==t&&(D=ie,Y=h()),ie=Y,ie}if(V=n(),V!==t&&v===r.length)return V;throw V!==t&&v{"use strict";function XK(r){return typeof r>"u"||r===null}function Che(r){return typeof r=="object"&&r!==null}function mhe(r){return Array.isArray(r)?r:XK(r)?[]:[r]}function Ehe(r,e){var t,i,n,s;if(e)for(s=Object.keys(e),t=0,i=s.length;t{"use strict";function md(r,e){Error.call(this),this.name="YAMLException",this.reason=r,this.mark=e,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}md.prototype=Object.create(Error.prototype);md.prototype.constructor=md;md.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t};_K.exports=md});var e2=y((YZe,$K)=>{"use strict";var ZK=pc();function wv(r,e,t,i,n){this.name=r,this.buffer=e,this.position=t,this.line=i,this.column=n}wv.prototype.getSnippet=function(e,t){var i,n,s,o,a;if(!this.buffer)return null;for(e=e||4,t=t||75,i="",n=this.position;n>0&&`\0\r -\x85\u2028\u2029`.indexOf(this.buffer.charAt(n-1))===-1;)if(n-=1,this.position-n>t/2-1){i=" ... ",n+=5;break}for(s="",o=this.position;ot/2-1){s=" ... ",o-=5;break}return a=this.buffer.slice(n,o),ZK.repeat(" ",e)+i+a+s+` -`+ZK.repeat(" ",e+this.position-n+i.length)+"^"};wv.prototype.toString=function(e){var t,i="";return this.name&&(i+='in "'+this.name+'" '),i+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(i+=`: -`+t)),i};$K.exports=wv});var Ai=y((jZe,r2)=>{"use strict";var t2=tf(),whe=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],Bhe=["scalar","sequence","mapping"];function bhe(r){var e={};return r!==null&&Object.keys(r).forEach(function(t){r[t].forEach(function(i){e[String(i)]=t})}),e}function Qhe(r,e){if(e=e||{},Object.keys(e).forEach(function(t){if(whe.indexOf(t)===-1)throw new t2('Unknown option "'+t+'" is met in definition of "'+r+'" YAML type.')}),this.tag=r,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=bhe(e.styleAliases||null),Bhe.indexOf(this.kind)===-1)throw new t2('Unknown kind "'+this.kind+'" is specified for "'+r+'" YAML type.')}r2.exports=Qhe});var dc=y((qZe,n2)=>{"use strict";var i2=pc(),jI=tf(),She=Ai();function Bv(r,e,t){var i=[];return r.include.forEach(function(n){t=Bv(n,e,t)}),r[e].forEach(function(n){t.forEach(function(s,o){s.tag===n.tag&&s.kind===n.kind&&i.push(o)}),t.push(n)}),t.filter(function(n,s){return i.indexOf(s)===-1})}function vhe(){var r={scalar:{},sequence:{},mapping:{},fallback:{}},e,t;function i(n){r[n.kind][n.tag]=r.fallback[n.tag]=n}for(e=0,t=arguments.length;e{"use strict";var xhe=Ai();s2.exports=new xhe("tag:yaml.org,2002:str",{kind:"scalar",construct:function(r){return r!==null?r:""}})});var A2=y((WZe,a2)=>{"use strict";var Phe=Ai();a2.exports=new Phe("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(r){return r!==null?r:[]}})});var c2=y((zZe,l2)=>{"use strict";var Dhe=Ai();l2.exports=new Dhe("tag:yaml.org,2002:map",{kind:"mapping",construct:function(r){return r!==null?r:{}}})});var qI=y((VZe,u2)=>{"use strict";var khe=dc();u2.exports=new khe({explicit:[o2(),A2(),c2()]})});var f2=y((XZe,g2)=>{"use strict";var Rhe=Ai();function Fhe(r){if(r===null)return!0;var e=r.length;return e===1&&r==="~"||e===4&&(r==="null"||r==="Null"||r==="NULL")}function Nhe(){return null}function The(r){return r===null}g2.exports=new Rhe("tag:yaml.org,2002:null",{kind:"scalar",resolve:Fhe,construct:Nhe,predicate:The,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})});var p2=y((_Ze,h2)=>{"use strict";var Lhe=Ai();function Ohe(r){if(r===null)return!1;var e=r.length;return e===4&&(r==="true"||r==="True"||r==="TRUE")||e===5&&(r==="false"||r==="False"||r==="FALSE")}function Mhe(r){return r==="true"||r==="True"||r==="TRUE"}function Uhe(r){return Object.prototype.toString.call(r)==="[object Boolean]"}h2.exports=new Lhe("tag:yaml.org,2002:bool",{kind:"scalar",resolve:Ohe,construct:Mhe,predicate:Uhe,represent:{lowercase:function(r){return r?"true":"false"},uppercase:function(r){return r?"TRUE":"FALSE"},camelcase:function(r){return r?"True":"False"}},defaultStyle:"lowercase"})});var C2=y((ZZe,d2)=>{"use strict";var Khe=pc(),Hhe=Ai();function Ghe(r){return 48<=r&&r<=57||65<=r&&r<=70||97<=r&&r<=102}function Yhe(r){return 48<=r&&r<=55}function jhe(r){return 48<=r&&r<=57}function qhe(r){if(r===null)return!1;var e=r.length,t=0,i=!1,n;if(!e)return!1;if(n=r[t],(n==="-"||n==="+")&&(n=r[++t]),n==="0"){if(t+1===e)return!0;if(n=r[++t],n==="b"){for(t++;t=0?"0b"+r.toString(2):"-0b"+r.toString(2).slice(1)},octal:function(r){return r>=0?"0"+r.toString(8):"-0"+r.toString(8).slice(1)},decimal:function(r){return r.toString(10)},hexadecimal:function(r){return r>=0?"0x"+r.toString(16).toUpperCase():"-0x"+r.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})});var I2=y(($Ze,E2)=>{"use strict";var m2=pc(),zhe=Ai(),Vhe=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function Xhe(r){return!(r===null||!Vhe.test(r)||r[r.length-1]==="_")}function _he(r){var e,t,i,n;return e=r.replace(/_/g,"").toLowerCase(),t=e[0]==="-"?-1:1,n=[],"+-".indexOf(e[0])>=0&&(e=e.slice(1)),e===".inf"?t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:e===".nan"?NaN:e.indexOf(":")>=0?(e.split(":").forEach(function(s){n.unshift(parseFloat(s,10))}),e=0,i=1,n.forEach(function(s){e+=s*i,i*=60}),t*e):t*parseFloat(e,10)}var Zhe=/^[-+]?[0-9]+e/;function $he(r,e){var t;if(isNaN(r))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===r)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===r)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(m2.isNegativeZero(r))return"-0.0";return t=r.toString(10),Zhe.test(t)?t.replace("e",".e"):t}function epe(r){return Object.prototype.toString.call(r)==="[object Number]"&&(r%1!==0||m2.isNegativeZero(r))}E2.exports=new zhe("tag:yaml.org,2002:float",{kind:"scalar",resolve:Xhe,construct:_he,predicate:epe,represent:$he,defaultStyle:"lowercase"})});var bv=y((e$e,y2)=>{"use strict";var tpe=dc();y2.exports=new tpe({include:[qI()],implicit:[f2(),p2(),C2(),I2()]})});var Qv=y((t$e,w2)=>{"use strict";var rpe=dc();w2.exports=new rpe({include:[bv()]})});var S2=y((r$e,Q2)=>{"use strict";var ipe=Ai(),B2=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),b2=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function npe(r){return r===null?!1:B2.exec(r)!==null||b2.exec(r)!==null}function spe(r){var e,t,i,n,s,o,a,l=0,c=null,u,g,f;if(e=B2.exec(r),e===null&&(e=b2.exec(r)),e===null)throw new Error("Date resolve error");if(t=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(t,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(u=+e[10],g=+(e[11]||0),c=(u*60+g)*6e4,e[9]==="-"&&(c=-c)),f=new Date(Date.UTC(t,i,n,s,o,a,l)),c&&f.setTime(f.getTime()-c),f}function ope(r){return r.toISOString()}Q2.exports=new ipe("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:npe,construct:spe,instanceOf:Date,represent:ope})});var x2=y((i$e,v2)=>{"use strict";var ape=Ai();function Ape(r){return r==="<<"||r===null}v2.exports=new ape("tag:yaml.org,2002:merge",{kind:"scalar",resolve:Ape})});var k2=y((n$e,D2)=>{"use strict";var Cc;try{P2=J,Cc=P2("buffer").Buffer}catch{}var P2,lpe=Ai(),Sv=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= -\r`;function cpe(r){if(r===null)return!1;var e,t,i=0,n=r.length,s=Sv;for(t=0;t64)){if(e<0)return!1;i+=6}return i%8===0}function upe(r){var e,t,i=r.replace(/[\r\n=]/g,""),n=i.length,s=Sv,o=0,a=[];for(e=0;e>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|s.indexOf(i.charAt(e));return t=n%4*6,t===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):t===18?(a.push(o>>10&255),a.push(o>>2&255)):t===12&&a.push(o>>4&255),Cc?Cc.from?Cc.from(a):new Cc(a):a}function gpe(r){var e="",t=0,i,n,s=r.length,o=Sv;for(i=0;i>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]),t=(t<<8)+r[i];return n=s%3,n===0?(e+=o[t>>18&63],e+=o[t>>12&63],e+=o[t>>6&63],e+=o[t&63]):n===2?(e+=o[t>>10&63],e+=o[t>>4&63],e+=o[t<<2&63],e+=o[64]):n===1&&(e+=o[t>>2&63],e+=o[t<<4&63],e+=o[64],e+=o[64]),e}function fpe(r){return Cc&&Cc.isBuffer(r)}D2.exports=new lpe("tag:yaml.org,2002:binary",{kind:"scalar",resolve:cpe,construct:upe,predicate:fpe,represent:gpe})});var F2=y((s$e,R2)=>{"use strict";var hpe=Ai(),ppe=Object.prototype.hasOwnProperty,dpe=Object.prototype.toString;function Cpe(r){if(r===null)return!0;var e=[],t,i,n,s,o,a=r;for(t=0,i=a.length;t{"use strict";var Epe=Ai(),Ipe=Object.prototype.toString;function ype(r){if(r===null)return!0;var e,t,i,n,s,o=r;for(s=new Array(o.length),e=0,t=o.length;e{"use strict";var Bpe=Ai(),bpe=Object.prototype.hasOwnProperty;function Qpe(r){if(r===null)return!0;var e,t=r;for(e in t)if(bpe.call(t,e)&&t[e]!==null)return!1;return!0}function Spe(r){return r!==null?r:{}}L2.exports=new Bpe("tag:yaml.org,2002:set",{kind:"mapping",resolve:Qpe,construct:Spe})});var nf=y((A$e,M2)=>{"use strict";var vpe=dc();M2.exports=new vpe({include:[Qv()],implicit:[S2(),x2()],explicit:[k2(),F2(),T2(),O2()]})});var K2=y((l$e,U2)=>{"use strict";var xpe=Ai();function Ppe(){return!0}function Dpe(){}function kpe(){return""}function Rpe(r){return typeof r>"u"}U2.exports=new xpe("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:Ppe,construct:Dpe,predicate:Rpe,represent:kpe})});var G2=y((c$e,H2)=>{"use strict";var Fpe=Ai();function Npe(r){if(r===null||r.length===0)return!1;var e=r,t=/\/([gim]*)$/.exec(r),i="";return!(e[0]==="/"&&(t&&(i=t[1]),i.length>3||e[e.length-i.length-1]!=="/"))}function Tpe(r){var e=r,t=/\/([gim]*)$/.exec(r),i="";return e[0]==="/"&&(t&&(i=t[1]),e=e.slice(1,e.length-i.length-1)),new RegExp(e,i)}function Lpe(r){var e="/"+r.source+"/";return r.global&&(e+="g"),r.multiline&&(e+="m"),r.ignoreCase&&(e+="i"),e}function Ope(r){return Object.prototype.toString.call(r)==="[object RegExp]"}H2.exports=new Fpe("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:Npe,construct:Tpe,predicate:Ope,represent:Lpe})});var q2=y((u$e,j2)=>{"use strict";var JI;try{Y2=J,JI=Y2("esprima")}catch{typeof window<"u"&&(JI=window.esprima)}var Y2,Mpe=Ai();function Upe(r){if(r===null)return!1;try{var e="("+r+")",t=JI.parse(e,{range:!0});return!(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")}catch{return!1}}function Kpe(r){var e="("+r+")",t=JI.parse(e,{range:!0}),i=[],n;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression")throw new Error("Failed to resolve function");return t.body[0].expression.params.forEach(function(s){i.push(s.name)}),n=t.body[0].expression.body.range,t.body[0].expression.body.type==="BlockStatement"?new Function(i,e.slice(n[0]+1,n[1]-1)):new Function(i,"return "+e.slice(n[0],n[1]))}function Hpe(r){return r.toString()}function Gpe(r){return Object.prototype.toString.call(r)==="[object Function]"}j2.exports=new Mpe("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:Upe,construct:Kpe,predicate:Gpe,represent:Hpe})});var Ed=y((g$e,W2)=>{"use strict";var J2=dc();W2.exports=J2.DEFAULT=new J2({include:[nf()],explicit:[K2(),G2(),q2()]})});var gH=y((f$e,Id)=>{"use strict";var Qa=pc(),eH=tf(),Ype=e2(),tH=nf(),jpe=Ed(),NA=Object.prototype.hasOwnProperty,WI=1,rH=2,iH=3,zI=4,vv=1,qpe=2,z2=3,Jpe=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Wpe=/[\x85\u2028\u2029]/,zpe=/[,\[\]\{\}]/,nH=/^(?:!|!!|![a-z\-]+!)$/i,sH=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function V2(r){return Object.prototype.toString.call(r)}function So(r){return r===10||r===13}function Ec(r){return r===9||r===32}function fn(r){return r===9||r===32||r===10||r===13}function sf(r){return r===44||r===91||r===93||r===123||r===125}function Vpe(r){var e;return 48<=r&&r<=57?r-48:(e=r|32,97<=e&&e<=102?e-97+10:-1)}function Xpe(r){return r===120?2:r===117?4:r===85?8:0}function _pe(r){return 48<=r&&r<=57?r-48:-1}function X2(r){return r===48?"\0":r===97?"\x07":r===98?"\b":r===116||r===9?" ":r===110?` -`:r===118?"\v":r===102?"\f":r===114?"\r":r===101?"\x1B":r===32?" ":r===34?'"':r===47?"/":r===92?"\\":r===78?"\x85":r===95?"\xA0":r===76?"\u2028":r===80?"\u2029":""}function Zpe(r){return r<=65535?String.fromCharCode(r):String.fromCharCode((r-65536>>10)+55296,(r-65536&1023)+56320)}var oH=new Array(256),aH=new Array(256);for(mc=0;mc<256;mc++)oH[mc]=X2(mc)?1:0,aH[mc]=X2(mc);var mc;function $pe(r,e){this.input=r,this.filename=e.filename||null,this.schema=e.schema||jpe,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=r.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function AH(r,e){return new eH(e,new Ype(r.filename,r.input,r.position,r.line,r.position-r.lineStart))}function gt(r,e){throw AH(r,e)}function VI(r,e){r.onWarning&&r.onWarning.call(null,AH(r,e))}var _2={YAML:function(e,t,i){var n,s,o;e.version!==null&>(e,"duplication of %YAML directive"),i.length!==1&>(e,"YAML directive accepts exactly one argument"),n=/^([0-9]+)\.([0-9]+)$/.exec(i[0]),n===null&>(e,"ill-formed argument of the YAML directive"),s=parseInt(n[1],10),o=parseInt(n[2],10),s!==1&>(e,"unacceptable YAML version of the document"),e.version=i[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&VI(e,"unsupported YAML version of the document")},TAG:function(e,t,i){var n,s;i.length!==2&>(e,"TAG directive accepts exactly two arguments"),n=i[0],s=i[1],nH.test(n)||gt(e,"ill-formed tag handle (first argument) of the TAG directive"),NA.call(e.tagMap,n)&>(e,'there is a previously declared suffix for "'+n+'" tag handle'),sH.test(s)||gt(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[n]=s}};function FA(r,e,t,i){var n,s,o,a;if(e1&&(r.result+=Qa.repeat(` -`,e-1))}function ede(r,e,t){var i,n,s,o,a,l,c,u,g=r.kind,f=r.result,h;if(h=r.input.charCodeAt(r.position),fn(h)||sf(h)||h===35||h===38||h===42||h===33||h===124||h===62||h===39||h===34||h===37||h===64||h===96||(h===63||h===45)&&(n=r.input.charCodeAt(r.position+1),fn(n)||t&&sf(n)))return!1;for(r.kind="scalar",r.result="",s=o=r.position,a=!1;h!==0;){if(h===58){if(n=r.input.charCodeAt(r.position+1),fn(n)||t&&sf(n))break}else if(h===35){if(i=r.input.charCodeAt(r.position-1),fn(i))break}else{if(r.position===r.lineStart&&XI(r)||t&&sf(h))break;if(So(h))if(l=r.line,c=r.lineStart,u=r.lineIndent,_r(r,!1,-1),r.lineIndent>=e){a=!0,h=r.input.charCodeAt(r.position);continue}else{r.position=o,r.line=l,r.lineStart=c,r.lineIndent=u;break}}a&&(FA(r,s,o,!1),Pv(r,r.line-l),s=o=r.position,a=!1),Ec(h)||(o=r.position+1),h=r.input.charCodeAt(++r.position)}return FA(r,s,o,!1),r.result?!0:(r.kind=g,r.result=f,!1)}function tde(r,e){var t,i,n;if(t=r.input.charCodeAt(r.position),t!==39)return!1;for(r.kind="scalar",r.result="",r.position++,i=n=r.position;(t=r.input.charCodeAt(r.position))!==0;)if(t===39)if(FA(r,i,r.position,!0),t=r.input.charCodeAt(++r.position),t===39)i=r.position,r.position++,n=r.position;else return!0;else So(t)?(FA(r,i,n,!0),Pv(r,_r(r,!1,e)),i=n=r.position):r.position===r.lineStart&&XI(r)?gt(r,"unexpected end of the document within a single quoted scalar"):(r.position++,n=r.position);gt(r,"unexpected end of the stream within a single quoted scalar")}function rde(r,e){var t,i,n,s,o,a;if(a=r.input.charCodeAt(r.position),a!==34)return!1;for(r.kind="scalar",r.result="",r.position++,t=i=r.position;(a=r.input.charCodeAt(r.position))!==0;){if(a===34)return FA(r,t,r.position,!0),r.position++,!0;if(a===92){if(FA(r,t,r.position,!0),a=r.input.charCodeAt(++r.position),So(a))_r(r,!1,e);else if(a<256&&oH[a])r.result+=aH[a],r.position++;else if((o=Xpe(a))>0){for(n=o,s=0;n>0;n--)a=r.input.charCodeAt(++r.position),(o=Vpe(a))>=0?s=(s<<4)+o:gt(r,"expected hexadecimal character");r.result+=Zpe(s),r.position++}else gt(r,"unknown escape sequence");t=i=r.position}else So(a)?(FA(r,t,i,!0),Pv(r,_r(r,!1,e)),t=i=r.position):r.position===r.lineStart&&XI(r)?gt(r,"unexpected end of the document within a double quoted scalar"):(r.position++,i=r.position)}gt(r,"unexpected end of the stream within a double quoted scalar")}function ide(r,e){var t=!0,i,n=r.tag,s,o=r.anchor,a,l,c,u,g,f={},h,p,C,w;if(w=r.input.charCodeAt(r.position),w===91)l=93,g=!1,s=[];else if(w===123)l=125,g=!0,s={};else return!1;for(r.anchor!==null&&(r.anchorMap[r.anchor]=s),w=r.input.charCodeAt(++r.position);w!==0;){if(_r(r,!0,e),w=r.input.charCodeAt(r.position),w===l)return r.position++,r.tag=n,r.anchor=o,r.kind=g?"mapping":"sequence",r.result=s,!0;t||gt(r,"missed comma between flow collection entries"),p=h=C=null,c=u=!1,w===63&&(a=r.input.charCodeAt(r.position+1),fn(a)&&(c=u=!0,r.position++,_r(r,!0,e))),i=r.line,af(r,e,WI,!1,!0),p=r.tag,h=r.result,_r(r,!0,e),w=r.input.charCodeAt(r.position),(u||r.line===i)&&w===58&&(c=!0,w=r.input.charCodeAt(++r.position),_r(r,!0,e),af(r,e,WI,!1,!0),C=r.result),g?of(r,s,f,p,h,C):c?s.push(of(r,null,f,p,h,C)):s.push(h),_r(r,!0,e),w=r.input.charCodeAt(r.position),w===44?(t=!0,w=r.input.charCodeAt(++r.position)):t=!1}gt(r,"unexpected end of the stream within a flow collection")}function nde(r,e){var t,i,n=vv,s=!1,o=!1,a=e,l=0,c=!1,u,g;if(g=r.input.charCodeAt(r.position),g===124)i=!1;else if(g===62)i=!0;else return!1;for(r.kind="scalar",r.result="";g!==0;)if(g=r.input.charCodeAt(++r.position),g===43||g===45)vv===n?n=g===43?z2:qpe:gt(r,"repeat of a chomping mode identifier");else if((u=_pe(g))>=0)u===0?gt(r,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?gt(r,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(Ec(g)){do g=r.input.charCodeAt(++r.position);while(Ec(g));if(g===35)do g=r.input.charCodeAt(++r.position);while(!So(g)&&g!==0)}for(;g!==0;){for(xv(r),r.lineIndent=0,g=r.input.charCodeAt(r.position);(!o||r.lineIndenta&&(a=r.lineIndent),So(g)){l++;continue}if(r.lineIndente)&&l!==0)gt(r,"bad indentation of a sequence entry");else if(r.lineIndente)&&(af(r,e,zI,!0,n)&&(p?f=r.result:h=r.result),p||(of(r,c,u,g,f,h,s,o),g=f=h=null),_r(r,!0,-1),w=r.input.charCodeAt(r.position)),r.lineIndent>e&&w!==0)gt(r,"bad indentation of a mapping entry");else if(r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndente?l=1:r.lineIndent===e?l=0:r.lineIndent tag; it should be "scalar", not "'+r.kind+'"'),g=0,f=r.implicitTypes.length;g tag; it should be "'+h.kind+'", not "'+r.kind+'"'),h.resolve(r.result)?(r.result=h.construct(r.result),r.anchor!==null&&(r.anchorMap[r.anchor]=r.result)):gt(r,"cannot resolve a node with !<"+r.tag+"> explicit tag")):gt(r,"unknown tag !<"+r.tag+">");return r.listener!==null&&r.listener("close",r),r.tag!==null||r.anchor!==null||u}function lde(r){var e=r.position,t,i,n,s=!1,o;for(r.version=null,r.checkLineBreaks=r.legacy,r.tagMap={},r.anchorMap={};(o=r.input.charCodeAt(r.position))!==0&&(_r(r,!0,-1),o=r.input.charCodeAt(r.position),!(r.lineIndent>0||o!==37));){for(s=!0,o=r.input.charCodeAt(++r.position),t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);for(i=r.input.slice(t,r.position),n=[],i.length<1&>(r,"directive name must not be less than one character in length");o!==0;){for(;Ec(o);)o=r.input.charCodeAt(++r.position);if(o===35){do o=r.input.charCodeAt(++r.position);while(o!==0&&!So(o));break}if(So(o))break;for(t=r.position;o!==0&&!fn(o);)o=r.input.charCodeAt(++r.position);n.push(r.input.slice(t,r.position))}o!==0&&xv(r),NA.call(_2,i)?_2[i](r,i,n):VI(r,'unknown document directive "'+i+'"')}if(_r(r,!0,-1),r.lineIndent===0&&r.input.charCodeAt(r.position)===45&&r.input.charCodeAt(r.position+1)===45&&r.input.charCodeAt(r.position+2)===45?(r.position+=3,_r(r,!0,-1)):s&>(r,"directives end mark is expected"),af(r,r.lineIndent-1,zI,!1,!0),_r(r,!0,-1),r.checkLineBreaks&&Wpe.test(r.input.slice(e,r.position))&&VI(r,"non-ASCII line breaks are interpreted as content"),r.documents.push(r.result),r.position===r.lineStart&&XI(r)){r.input.charCodeAt(r.position)===46&&(r.position+=3,_r(r,!0,-1));return}if(r.position"u"&&(t=e,e=null);var i=lH(r,t);if(typeof e!="function")return i;for(var n=0,s=i.length;n"u"&&(t=e,e=null),cH(r,e,Qa.extend({schema:tH},t))}function ude(r,e){return uH(r,Qa.extend({schema:tH},e))}Id.exports.loadAll=cH;Id.exports.load=uH;Id.exports.safeLoadAll=cde;Id.exports.safeLoad=ude});var TH=y((h$e,Fv)=>{"use strict";var wd=pc(),Bd=tf(),gde=Ed(),fde=nf(),IH=Object.prototype.toString,yH=Object.prototype.hasOwnProperty,hde=9,yd=10,pde=13,dde=32,Cde=33,mde=34,wH=35,Ede=37,Ide=38,yde=39,wde=42,BH=44,Bde=45,bH=58,bde=61,Qde=62,Sde=63,vde=64,QH=91,SH=93,xde=96,vH=123,Pde=124,xH=125,Ti={};Ti[0]="\\0";Ti[7]="\\a";Ti[8]="\\b";Ti[9]="\\t";Ti[10]="\\n";Ti[11]="\\v";Ti[12]="\\f";Ti[13]="\\r";Ti[27]="\\e";Ti[34]='\\"';Ti[92]="\\\\";Ti[133]="\\N";Ti[160]="\\_";Ti[8232]="\\L";Ti[8233]="\\P";var Dde=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];function kde(r,e){var t,i,n,s,o,a,l;if(e===null)return{};for(t={},i=Object.keys(e),n=0,s=i.length;n0?r.charCodeAt(s-1):null,f=f&&pH(o,a)}else{for(s=0;si&&r[g+1]!==" ",g=s);else if(!Af(o))return _I;a=s>0?r.charCodeAt(s-1):null,f=f&&pH(o,a)}c=c||u&&s-g-1>i&&r[g+1]!==" "}return!l&&!c?f&&!n(r)?DH:kH:t>9&&PH(r)?_I:c?FH:RH}function Ode(r,e,t,i){r.dump=function(){if(e.length===0)return"''";if(!r.noCompatMode&&Dde.indexOf(e)!==-1)return"'"+e+"'";var n=r.indent*Math.max(1,t),s=r.lineWidth===-1?-1:Math.max(Math.min(r.lineWidth,40),r.lineWidth-n),o=i||r.flowLevel>-1&&t>=r.flowLevel;function a(l){return Fde(r,l)}switch(Lde(e,o,r.indent,s,a)){case DH:return e;case kH:return"'"+e.replace(/'/g,"''")+"'";case RH:return"|"+dH(e,r.indent)+CH(hH(e,n));case FH:return">"+dH(e,r.indent)+CH(hH(Mde(e,s),n));case _I:return'"'+Ude(e,s)+'"';default:throw new Bd("impossible error: invalid scalar style")}}()}function dH(r,e){var t=PH(r)?String(e):"",i=r[r.length-1]===` -`,n=i&&(r[r.length-2]===` -`||r===` -`),s=n?"+":i?"":"-";return t+s+` -`}function CH(r){return r[r.length-1]===` -`?r.slice(0,-1):r}function Mde(r,e){for(var t=/(\n+)([^\n]*)/g,i=function(){var c=r.indexOf(` -`);return c=c!==-1?c:r.length,t.lastIndex=c,mH(r.slice(0,c),e)}(),n=r[0]===` -`||r[0]===" ",s,o;o=t.exec(r);){var a=o[1],l=o[2];s=l[0]===" ",i+=a+(!n&&!s&&l!==""?` -`:"")+mH(l,e),n=s}return i}function mH(r,e){if(r===""||r[0]===" ")return r;for(var t=/ [^ ]/g,i,n=0,s,o=0,a=0,l="";i=t.exec(r);)a=i.index,a-n>e&&(s=o>n?o:a,l+=` -`+r.slice(n,s),n=s+1),o=a;return l+=` -`,r.length-n>e&&o>n?l+=r.slice(n,o)+` -`+r.slice(o+1):l+=r.slice(n),l.slice(1)}function Ude(r){for(var e="",t,i,n,s=0;s=55296&&t<=56319&&(i=r.charCodeAt(s+1),i>=56320&&i<=57343)){e+=fH((t-55296)*1024+i-56320+65536),s++;continue}n=Ti[t],e+=!n&&Af(t)?r[s]:n||fH(t)}return e}function Kde(r,e,t){var i="",n=r.tag,s,o;for(s=0,o=t.length;s1024&&(u+="? "),u+=r.dump+(r.condenseFlow?'"':"")+":"+(r.condenseFlow?"":" "),Ic(r,e,c,!1,!1)&&(u+=r.dump,i+=u));r.tag=n,r.dump="{"+i+"}"}function Yde(r,e,t,i){var n="",s=r.tag,o=Object.keys(t),a,l,c,u,g,f;if(r.sortKeys===!0)o.sort();else if(typeof r.sortKeys=="function")o.sort(r.sortKeys);else if(r.sortKeys)throw new Bd("sortKeys must be a boolean or a function");for(a=0,l=o.length;a1024,g&&(r.dump&&yd===r.dump.charCodeAt(0)?f+="?":f+="? "),f+=r.dump,g&&(f+=Dv(r,e)),Ic(r,e+1,u,!0,g)&&(r.dump&&yd===r.dump.charCodeAt(0)?f+=":":f+=": ",f+=r.dump,n+=f));r.tag=s,r.dump=n||"{}"}function EH(r,e,t){var i,n,s,o,a,l;for(n=t?r.explicitTypes:r.implicitTypes,s=0,o=n.length;s tag resolver accepts not "'+l+'" style');r.dump=i}return!0}return!1}function Ic(r,e,t,i,n,s){r.tag=null,r.dump=t,EH(r,t,!1)||EH(r,t,!0);var o=IH.call(r.dump);i&&(i=r.flowLevel<0||r.flowLevel>e);var a=o==="[object Object]"||o==="[object Array]",l,c;if(a&&(l=r.duplicates.indexOf(t),c=l!==-1),(r.tag!==null&&r.tag!=="?"||c||r.indent!==2&&e>0)&&(n=!1),c&&r.usedDuplicates[l])r.dump="*ref_"+l;else{if(a&&c&&!r.usedDuplicates[l]&&(r.usedDuplicates[l]=!0),o==="[object Object]")i&&Object.keys(r.dump).length!==0?(Yde(r,e,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(Gde(r,e,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump));else if(o==="[object Array]"){var u=r.noArrayIndent&&e>0?e-1:e;i&&r.dump.length!==0?(Hde(r,u,r.dump,n),c&&(r.dump="&ref_"+l+r.dump)):(Kde(r,u,r.dump),c&&(r.dump="&ref_"+l+" "+r.dump))}else if(o==="[object String]")r.tag!=="?"&&Ode(r,r.dump,e,s);else{if(r.skipInvalid)return!1;throw new Bd("unacceptable kind of an object to dump "+o)}r.tag!==null&&r.tag!=="?"&&(r.dump="!<"+r.tag+"> "+r.dump)}return!0}function jde(r,e){var t=[],i=[],n,s;for(kv(r,t,i),n=0,s=i.length;n{"use strict";var ZI=gH(),LH=TH();function $I(r){return function(){throw new Error("Function "+r+" is deprecated and cannot be used.")}}Tr.exports.Type=Ai();Tr.exports.Schema=dc();Tr.exports.FAILSAFE_SCHEMA=qI();Tr.exports.JSON_SCHEMA=bv();Tr.exports.CORE_SCHEMA=Qv();Tr.exports.DEFAULT_SAFE_SCHEMA=nf();Tr.exports.DEFAULT_FULL_SCHEMA=Ed();Tr.exports.load=ZI.load;Tr.exports.loadAll=ZI.loadAll;Tr.exports.safeLoad=ZI.safeLoad;Tr.exports.safeLoadAll=ZI.safeLoadAll;Tr.exports.dump=LH.dump;Tr.exports.safeDump=LH.safeDump;Tr.exports.YAMLException=tf();Tr.exports.MINIMAL_SCHEMA=qI();Tr.exports.SAFE_SCHEMA=nf();Tr.exports.DEFAULT_SCHEMA=Ed();Tr.exports.scan=$I("scan");Tr.exports.parse=$I("parse");Tr.exports.compose=$I("compose");Tr.exports.addConstructor=$I("addConstructor")});var UH=y((d$e,MH)=>{"use strict";var Jde=OH();MH.exports=Jde});var HH=y((C$e,KH)=>{"use strict";function Wde(r,e){function t(){this.constructor=r}t.prototype=e.prototype,r.prototype=new t}function yc(r,e,t,i){this.message=r,this.expected=e,this.found=t,this.location=i,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,yc)}Wde(yc,Error);yc.buildMessage=function(r,e){var t={literal:function(c){return'"'+n(c.text)+'"'},class:function(c){var u="",g;for(g=0;g0){for(g=1,f=1;g({[Ne]:pe})))},H=function(R){return R},j=function(R){return R},$=Ms("correct indentation"),V=" ",W=ar(" ",!1),Z=function(R){return R.length===vA*Gg},A=function(R){return R.length===(vA+1)*Gg},ae=function(){return vA++,!0},ge=function(){return vA--,!0},_=function(){return Lg()},L=Ms("pseudostring"),N=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,ue=Fn(["\r",` -`," "," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),we=/^[^\r\n\t ,\][{}:#"']/,Te=Fn(["\r",` -`," "," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),Pe=function(){return Lg().replace(/^ *| *$/g,"")},Le="--",se=ar("--",!1),Ae=/^[a-zA-Z\/0-9]/,be=Fn([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),fe=/^[^\r\n\t :,]/,le=Fn(["\r",` -`," "," ",":",","],!0,!1),Ge="null",ie=ar("null",!1),Y=function(){return null},he="true",re=ar("true",!1),me=function(){return!0},tt="false",Rt=ar("false",!1),It=function(){return!1},Ur=Ms("string"),oi='"',pi=ar('"',!1),pr=function(){return""},di=function(R){return R},ai=function(R){return R.join("")},Os=/^[^"\\\0-\x1F\x7F]/,dr=Fn(['"',"\\",["\0",""],"\x7F"],!0,!1),Bi='\\"',_n=ar('\\"',!1),pa=function(){return'"'},EA="\\\\",kg=ar("\\\\",!1),Zn=function(){return"\\"},IA="\\/",da=ar("\\/",!1),Jp=function(){return"/"},yA="\\b",wA=ar("\\b",!1),Br=function(){return"\b"},Vl="\\f",Rg=ar("\\f",!1),Eo=function(){return"\f"},Fg="\\n",Wp=ar("\\n",!1),zp=function(){return` -`},Pr="\\r",oe=ar("\\r",!1),Io=function(){return"\r"},kn="\\t",Ng=ar("\\t",!1),bt=function(){return" "},Xl="\\u",Rn=ar("\\u",!1),$n=function(R,q,pe,Ne){return String.fromCharCode(parseInt(`0x${R}${q}${pe}${Ne}`))},es=/^[0-9a-fA-F]/,ut=Fn([["0","9"],["a","f"],["A","F"]],!1,!1),yo=Ms("blank space"),at=/^[ \t]/,ln=Fn([" "," "],!1,!1),S=Ms("white space"),Lt=/^[ \t\n\r]/,Tg=Fn([" "," ",` -`,"\r"],!1,!1),_l=`\r -`,Vp=ar(`\r -`,!1),Xp=` -`,_p=ar(` -`,!1),Zp="\r",$p=ar("\r",!1),G=0,yt=0,BA=[{line:1,column:1}],Wi=0,Zl=[],We=0,Ca;if("startRule"in e){if(!(e.startRule in i))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');n=i[e.startRule]}function Lg(){return r.substring(yt,G)}function uI(){return cn(yt,G)}function ed(R,q){throw q=q!==void 0?q:cn(yt,G),ec([Ms(R)],r.substring(yt,G),q)}function gI(R,q){throw q=q!==void 0?q:cn(yt,G),Og(R,q)}function ar(R,q){return{type:"literal",text:R,ignoreCase:q}}function Fn(R,q,pe){return{type:"class",parts:R,inverted:q,ignoreCase:pe}}function $l(){return{type:"any"}}function td(){return{type:"end"}}function Ms(R){return{type:"other",description:R}}function ma(R){var q=BA[R],pe;if(q)return q;for(pe=R-1;!BA[pe];)pe--;for(q=BA[pe],q={line:q.line,column:q.column};peWi&&(Wi=G,Zl=[]),Zl.push(R))}function Og(R,q){return new yc(R,null,null,q)}function ec(R,q,pe){return new yc(yc.buildMessage(R,q),R,q,pe)}function Us(){var R;return R=Mg(),R}function tc(){var R,q,pe;for(R=G,q=[],pe=bA();pe!==t;)q.push(pe),pe=bA();return q!==t&&(yt=R,q=s(q)),R=q,R}function bA(){var R,q,pe,Ne,xe;return R=G,q=Ia(),q!==t?(r.charCodeAt(G)===45?(pe=o,G++):(pe=t,We===0&&ke(a)),pe!==t?(Ne=Nr(),Ne!==t?(xe=Ea(),xe!==t?(yt=R,q=l(xe),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R}function Mg(){var R,q,pe;for(R=G,q=[],pe=Ug();pe!==t;)q.push(pe),pe=Ug();return q!==t&&(yt=R,q=c(q)),R=q,R}function Ug(){var R,q,pe,Ne,xe,qe,dt,Ft,Nn;if(R=G,q=Nr(),q===t&&(q=null),q!==t){if(pe=G,r.charCodeAt(G)===35?(Ne=u,G++):(Ne=t,We===0&&ke(g)),Ne!==t){if(xe=[],qe=G,dt=G,We++,Ft=Gs(),We--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,We===0&&ke(f)),Ft!==t?(dt=[dt,Ft],qe=dt):(G=qe,qe=t)):(G=qe,qe=t),qe!==t)for(;qe!==t;)xe.push(qe),qe=G,dt=G,We++,Ft=Gs(),We--,Ft===t?dt=void 0:(G=dt,dt=t),dt!==t?(r.length>G?(Ft=r.charAt(G),G++):(Ft=t,We===0&&ke(f)),Ft!==t?(dt=[dt,Ft],qe=dt):(G=qe,qe=t)):(G=qe,qe=t);else xe=t;xe!==t?(Ne=[Ne,xe],pe=Ne):(G=pe,pe=t)}else G=pe,pe=t;if(pe===t&&(pe=null),pe!==t){if(Ne=[],xe=Hs(),xe!==t)for(;xe!==t;)Ne.push(xe),xe=Hs();else Ne=t;Ne!==t?(yt=R,q=h(),R=q):(G=R,R=t)}else G=R,R=t}else G=R,R=t;if(R===t&&(R=G,q=Ia(),q!==t?(pe=rc(),pe!==t?(Ne=Nr(),Ne===t&&(Ne=null),Ne!==t?(r.charCodeAt(G)===58?(xe=p,G++):(xe=t,We===0&&ke(C)),xe!==t?(qe=Nr(),qe===t&&(qe=null),qe!==t?(dt=Ea(),dt!==t?(yt=R,q=w(pe,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=Ia(),q!==t?(pe=Ks(),pe!==t?(Ne=Nr(),Ne===t&&(Ne=null),Ne!==t?(r.charCodeAt(G)===58?(xe=p,G++):(xe=t,We===0&&ke(C)),xe!==t?(qe=Nr(),qe===t&&(qe=null),qe!==t?(dt=Ea(),dt!==t?(yt=R,q=w(pe,dt),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))){if(R=G,q=Ia(),q!==t)if(pe=Ks(),pe!==t)if(Ne=Nr(),Ne!==t)if(xe=fI(),xe!==t){if(qe=[],dt=Hs(),dt!==t)for(;dt!==t;)qe.push(dt),dt=Hs();else qe=t;qe!==t?(yt=R,q=w(pe,xe),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;else G=R,R=t;else G=R,R=t;if(R===t)if(R=G,q=Ia(),q!==t)if(pe=Ks(),pe!==t){if(Ne=[],xe=G,qe=Nr(),qe===t&&(qe=null),qe!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,We===0&&ke(v)),dt!==t?(Ft=Nr(),Ft===t&&(Ft=null),Ft!==t?(Nn=Ks(),Nn!==t?(yt=xe,qe=D(pe,Nn),xe=qe):(G=xe,xe=t)):(G=xe,xe=t)):(G=xe,xe=t)):(G=xe,xe=t),xe!==t)for(;xe!==t;)Ne.push(xe),xe=G,qe=Nr(),qe===t&&(qe=null),qe!==t?(r.charCodeAt(G)===44?(dt=B,G++):(dt=t,We===0&&ke(v)),dt!==t?(Ft=Nr(),Ft===t&&(Ft=null),Ft!==t?(Nn=Ks(),Nn!==t?(yt=xe,qe=D(pe,Nn),xe=qe):(G=xe,xe=t)):(G=xe,xe=t)):(G=xe,xe=t)):(G=xe,xe=t);else Ne=t;Ne!==t?(xe=Nr(),xe===t&&(xe=null),xe!==t?(r.charCodeAt(G)===58?(qe=p,G++):(qe=t,We===0&&ke(C)),qe!==t?(dt=Nr(),dt===t&&(dt=null),dt!==t?(Ft=Ea(),Ft!==t?(yt=R,q=T(pe,Ne,Ft),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)}else G=R,R=t;else G=R,R=t}return R}function Ea(){var R,q,pe,Ne,xe,qe,dt;if(R=G,q=G,We++,pe=G,Ne=Gs(),Ne!==t?(xe=$e(),xe!==t?(r.charCodeAt(G)===45?(qe=o,G++):(qe=t,We===0&&ke(a)),qe!==t?(dt=Nr(),dt!==t?(Ne=[Ne,xe,qe,dt],pe=Ne):(G=pe,pe=t)):(G=pe,pe=t)):(G=pe,pe=t)):(G=pe,pe=t),We--,pe!==t?(G=q,q=void 0):q=t,q!==t?(pe=Hs(),pe!==t?(Ne=wo(),Ne!==t?(xe=tc(),xe!==t?(qe=QA(),qe!==t?(yt=R,q=H(xe),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,q=Gs(),q!==t?(pe=wo(),pe!==t?(Ne=Mg(),Ne!==t?(xe=QA(),xe!==t?(yt=R,q=H(Ne),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t),R===t))if(R=G,q=ic(),q!==t){if(pe=[],Ne=Hs(),Ne!==t)for(;Ne!==t;)pe.push(Ne),Ne=Hs();else pe=t;pe!==t?(yt=R,q=j(q),R=q):(G=R,R=t)}else G=R,R=t;return R}function Ia(){var R,q,pe;for(We++,R=G,q=[],r.charCodeAt(G)===32?(pe=V,G++):(pe=t,We===0&&ke(W));pe!==t;)q.push(pe),r.charCodeAt(G)===32?(pe=V,G++):(pe=t,We===0&&ke(W));return q!==t?(yt=G,pe=Z(q),pe?pe=void 0:pe=t,pe!==t?(q=[q,pe],R=q):(G=R,R=t)):(G=R,R=t),We--,R===t&&(q=t,We===0&&ke($)),R}function $e(){var R,q,pe;for(R=G,q=[],r.charCodeAt(G)===32?(pe=V,G++):(pe=t,We===0&&ke(W));pe!==t;)q.push(pe),r.charCodeAt(G)===32?(pe=V,G++):(pe=t,We===0&&ke(W));return q!==t?(yt=G,pe=A(q),pe?pe=void 0:pe=t,pe!==t?(q=[q,pe],R=q):(G=R,R=t)):(G=R,R=t),R}function wo(){var R;return yt=G,R=ae(),R?R=void 0:R=t,R}function QA(){var R;return yt=G,R=ge(),R?R=void 0:R=t,R}function rc(){var R;return R=nc(),R===t&&(R=rd()),R}function Ks(){var R,q,pe;if(R=nc(),R===t){if(R=G,q=[],pe=Kg(),pe!==t)for(;pe!==t;)q.push(pe),pe=Kg();else q=t;q!==t&&(yt=R,q=_()),R=q}return R}function ic(){var R;return R=id(),R===t&&(R=hI(),R===t&&(R=nc(),R===t&&(R=rd()))),R}function fI(){var R;return R=id(),R===t&&(R=nc(),R===t&&(R=Kg())),R}function rd(){var R,q,pe,Ne,xe,qe;if(We++,R=G,N.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,We===0&&ke(ue)),q!==t){for(pe=[],Ne=G,xe=Nr(),xe===t&&(xe=null),xe!==t?(we.test(r.charAt(G))?(qe=r.charAt(G),G++):(qe=t,We===0&&ke(Te)),qe!==t?(xe=[xe,qe],Ne=xe):(G=Ne,Ne=t)):(G=Ne,Ne=t);Ne!==t;)pe.push(Ne),Ne=G,xe=Nr(),xe===t&&(xe=null),xe!==t?(we.test(r.charAt(G))?(qe=r.charAt(G),G++):(qe=t,We===0&&ke(Te)),qe!==t?(xe=[xe,qe],Ne=xe):(G=Ne,Ne=t)):(G=Ne,Ne=t);pe!==t?(yt=R,q=Pe(),R=q):(G=R,R=t)}else G=R,R=t;return We--,R===t&&(q=t,We===0&&ke(L)),R}function Kg(){var R,q,pe,Ne,xe;if(R=G,r.substr(G,2)===Le?(q=Le,G+=2):(q=t,We===0&&ke(se)),q===t&&(q=null),q!==t)if(Ae.test(r.charAt(G))?(pe=r.charAt(G),G++):(pe=t,We===0&&ke(be)),pe!==t){for(Ne=[],fe.test(r.charAt(G))?(xe=r.charAt(G),G++):(xe=t,We===0&&ke(le));xe!==t;)Ne.push(xe),fe.test(r.charAt(G))?(xe=r.charAt(G),G++):(xe=t,We===0&&ke(le));Ne!==t?(yt=R,q=Pe(),R=q):(G=R,R=t)}else G=R,R=t;else G=R,R=t;return R}function id(){var R,q;return R=G,r.substr(G,4)===Ge?(q=Ge,G+=4):(q=t,We===0&&ke(ie)),q!==t&&(yt=R,q=Y()),R=q,R}function hI(){var R,q;return R=G,r.substr(G,4)===he?(q=he,G+=4):(q=t,We===0&&ke(re)),q!==t&&(yt=R,q=me()),R=q,R===t&&(R=G,r.substr(G,5)===tt?(q=tt,G+=5):(q=t,We===0&&ke(Rt)),q!==t&&(yt=R,q=It()),R=q),R}function nc(){var R,q,pe,Ne;return We++,R=G,r.charCodeAt(G)===34?(q=oi,G++):(q=t,We===0&&ke(pi)),q!==t?(r.charCodeAt(G)===34?(pe=oi,G++):(pe=t,We===0&&ke(pi)),pe!==t?(yt=R,q=pr(),R=q):(G=R,R=t)):(G=R,R=t),R===t&&(R=G,r.charCodeAt(G)===34?(q=oi,G++):(q=t,We===0&&ke(pi)),q!==t?(pe=pI(),pe!==t?(r.charCodeAt(G)===34?(Ne=oi,G++):(Ne=t,We===0&&ke(pi)),Ne!==t?(yt=R,q=di(pe),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)),We--,R===t&&(q=t,We===0&&ke(Ur)),R}function pI(){var R,q,pe;if(R=G,q=[],pe=Hg(),pe!==t)for(;pe!==t;)q.push(pe),pe=Hg();else q=t;return q!==t&&(yt=R,q=ai(q)),R=q,R}function Hg(){var R,q,pe,Ne,xe,qe;return Os.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,We===0&&ke(dr)),R===t&&(R=G,r.substr(G,2)===Bi?(q=Bi,G+=2):(q=t,We===0&&ke(_n)),q!==t&&(yt=R,q=pa()),R=q,R===t&&(R=G,r.substr(G,2)===EA?(q=EA,G+=2):(q=t,We===0&&ke(kg)),q!==t&&(yt=R,q=Zn()),R=q,R===t&&(R=G,r.substr(G,2)===IA?(q=IA,G+=2):(q=t,We===0&&ke(da)),q!==t&&(yt=R,q=Jp()),R=q,R===t&&(R=G,r.substr(G,2)===yA?(q=yA,G+=2):(q=t,We===0&&ke(wA)),q!==t&&(yt=R,q=Br()),R=q,R===t&&(R=G,r.substr(G,2)===Vl?(q=Vl,G+=2):(q=t,We===0&&ke(Rg)),q!==t&&(yt=R,q=Eo()),R=q,R===t&&(R=G,r.substr(G,2)===Fg?(q=Fg,G+=2):(q=t,We===0&&ke(Wp)),q!==t&&(yt=R,q=zp()),R=q,R===t&&(R=G,r.substr(G,2)===Pr?(q=Pr,G+=2):(q=t,We===0&&ke(oe)),q!==t&&(yt=R,q=Io()),R=q,R===t&&(R=G,r.substr(G,2)===kn?(q=kn,G+=2):(q=t,We===0&&ke(Ng)),q!==t&&(yt=R,q=bt()),R=q,R===t&&(R=G,r.substr(G,2)===Xl?(q=Xl,G+=2):(q=t,We===0&&ke(Rn)),q!==t?(pe=SA(),pe!==t?(Ne=SA(),Ne!==t?(xe=SA(),xe!==t?(qe=SA(),qe!==t?(yt=R,q=$n(pe,Ne,xe,qe),R=q):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)):(G=R,R=t)))))))))),R}function SA(){var R;return es.test(r.charAt(G))?(R=r.charAt(G),G++):(R=t,We===0&&ke(ut)),R}function Nr(){var R,q;if(We++,R=[],at.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,We===0&&ke(ln)),q!==t)for(;q!==t;)R.push(q),at.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,We===0&&ke(ln));else R=t;return We--,R===t&&(q=t,We===0&&ke(yo)),R}function dI(){var R,q;if(We++,R=[],Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,We===0&&ke(Tg)),q!==t)for(;q!==t;)R.push(q),Lt.test(r.charAt(G))?(q=r.charAt(G),G++):(q=t,We===0&&ke(Tg));else R=t;return We--,R===t&&(q=t,We===0&&ke(S)),R}function Hs(){var R,q,pe,Ne,xe,qe;if(R=G,q=Gs(),q!==t){for(pe=[],Ne=G,xe=Nr(),xe===t&&(xe=null),xe!==t?(qe=Gs(),qe!==t?(xe=[xe,qe],Ne=xe):(G=Ne,Ne=t)):(G=Ne,Ne=t);Ne!==t;)pe.push(Ne),Ne=G,xe=Nr(),xe===t&&(xe=null),xe!==t?(qe=Gs(),qe!==t?(xe=[xe,qe],Ne=xe):(G=Ne,Ne=t)):(G=Ne,Ne=t);pe!==t?(q=[q,pe],R=q):(G=R,R=t)}else G=R,R=t;return R}function Gs(){var R;return r.substr(G,2)===_l?(R=_l,G+=2):(R=t,We===0&&ke(Vp)),R===t&&(r.charCodeAt(G)===10?(R=Xp,G++):(R=t,We===0&&ke(_p)),R===t&&(r.charCodeAt(G)===13?(R=Zp,G++):(R=t,We===0&&ke($p)))),R}let Gg=2,vA=0;if(Ca=n(),Ca!==t&&G===r.length)return Ca;throw Ca!==t&&G{"use strict";var $de=r=>{let e=!1,t=!1,i=!1;for(let n=0;n{if(!(typeof r=="string"||Array.isArray(r)))throw new TypeError("Expected the input to be `string | string[]`");e=Object.assign({pascalCase:!1},e);let t=n=>e.pascalCase?n.charAt(0).toUpperCase()+n.slice(1):n;return Array.isArray(r)?r=r.map(n=>n.trim()).filter(n=>n.length).join("-"):r=r.trim(),r.length===0?"":r.length===1?e.pascalCase?r.toUpperCase():r.toLowerCase():(r!==r.toLowerCase()&&(r=$de(r)),r=r.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(n,s)=>s.toUpperCase()).replace(/\d+(\w|$)/g,n=>n.toUpperCase()),t(r))};Tv.exports=JH;Tv.exports.default=JH});var zH=y((B$e,eCe)=>{eCe.exports=[{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",pr:"SYSTEM_PULLREQUEST_PULLREQUESTID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Shippable",constant:"SHIPPABLE",env:"SHIPPABLE",pr:{IS_PULL_REQUEST:"true"}},{name:"Solano CI",constant:"SOLANO",env:"TDDIUM",pr:"TDDIUM_PR_ID"},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vercel",constant:"VERCEL",env:"NOW_BUILDER"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"}]});var wc=y(Mn=>{"use strict";var XH=zH(),vo=process.env;Object.defineProperty(Mn,"_vendors",{value:XH.map(function(r){return r.constant})});Mn.name=null;Mn.isPR=null;XH.forEach(function(r){let t=(Array.isArray(r.env)?r.env:[r.env]).every(function(i){return VH(i)});if(Mn[r.constant]=t,t)switch(Mn.name=r.name,typeof r.pr){case"string":Mn.isPR=!!vo[r.pr];break;case"object":"env"in r.pr?Mn.isPR=r.pr.env in vo&&vo[r.pr.env]!==r.pr.ne:"any"in r.pr?Mn.isPR=r.pr.any.some(function(i){return!!vo[i]}):Mn.isPR=VH(r.pr);break;default:Mn.isPR=null}});Mn.isCI=!!(vo.CI||vo.CONTINUOUS_INTEGRATION||vo.BUILD_NUMBER||vo.RUN_ID||Mn.name);function VH(r){return typeof r=="string"?!!vo[r]:Object.keys(r).every(function(e){return vo[e]===r[e]})}});var ry=y(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});var tCe=0,rCe=1,iCe=2,nCe="",sCe="\0",oCe=-1,aCe=/^(-h|--help)(?:=([0-9]+))?$/,ACe=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,lCe=/^-[a-zA-Z]{2,}$/,cCe=/^([^=]+)=([\s\S]*)$/,uCe=process.env.DEBUG_CLI==="1";Un.BATCH_REGEX=lCe;Un.BINDING_REGEX=cCe;Un.DEBUG=uCe;Un.END_OF_INPUT=sCe;Un.HELP_COMMAND_INDEX=oCe;Un.HELP_REGEX=aCe;Un.NODE_ERRORED=iCe;Un.NODE_INITIAL=tCe;Un.NODE_SUCCESS=rCe;Un.OPTION_REGEX=ACe;Un.START_OF_INPUT=nCe});var iy=y(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});var gCe=ry(),Lv=class extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}},Ov=class extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:"none"},this.name="UnknownSyntaxError",this.candidates.length===0)this.message="Command not found, but we're not sure what's the alternative.";else if(this.candidates.every(i=>i.reason!==null&&i.reason===t[0].reason)){let[{reason:i}]=this.candidates;this.message=`${i} - -${this.candidates.map(({usage:n})=>`$ ${n}`).join(` -`)}`}else if(this.candidates.length===1){let[{usage:i}]=this.candidates;this.message=`Command not found; did you mean: - -$ ${i} -${Uv(e)}`}else this.message=`Command not found; did you mean one of: - -${this.candidates.map(({usage:i},n)=>`${`${n}.`.padStart(4)} ${i}`).join(` -`)} - -${Uv(e)}`}},Mv=class extends Error{constructor(e,t){super(),this.input=e,this.usages=t,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find which to pick amongst the following alternatives: - -${this.usages.map((i,n)=>`${`${n}.`.padStart(4)} ${i}`).join(` -`)} - -${Uv(e)}`}},Uv=r=>`While running ${r.filter(e=>e!==gCe.END_OF_INPUT).map(e=>{let t=JSON.stringify(e);return e.match(/\s/)||e.length===0||t!==`"${e}"`?t:e}).join(" ")}`;Qd.AmbiguousSyntaxError=Mv;Qd.UnknownSyntaxError=Ov;Qd.UsageError=Lv});var va=y(TA=>{"use strict";Object.defineProperty(TA,"__esModule",{value:!0});var _H=iy(),ZH=Symbol("clipanion/isOption");function fCe(r){return{...r,[ZH]:!0}}function hCe(r,e){return typeof r>"u"?[r,e]:typeof r=="object"&&r!==null&&!Array.isArray(r)?[void 0,r]:[r,e]}function Kv(r,e=!1){let t=r.replace(/^\.: /,"");return e&&(t=t[0].toLowerCase()+t.slice(1)),t}function $H(r,e){return e.length===1?new _H.UsageError(`${r}: ${Kv(e[0],!0)}`):new _H.UsageError(`${r}: -${e.map(t=>` -- ${Kv(t)}`).join("")}`)}function pCe(r,e,t){if(typeof t>"u")return e;let i=[],n=[],s=a=>{let l=e;return e=a,s.bind(null,l)};if(!t(e,{errors:i,coercions:n,coercion:s}))throw $H(`Invalid value for ${r}`,i);for(let[,a]of n)a();return e}TA.applyValidator=pCe;TA.cleanValidationError=Kv;TA.formatError=$H;TA.isOptionSymbol=ZH;TA.makeCommandOption=fCe;TA.rerouteArguments=hCe});var ns=y(st=>{"use strict";Object.defineProperty(st,"__esModule",{value:!0});var eG=/^[a-zA-Z_][a-zA-Z0-9_]*$/,tG=/^#[0-9a-f]{6}$/i,rG=/^#[0-9a-f]{6}([0-9a-f]{2})?$/i,iG=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,nG=/^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i,Hv=/^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/,sG=r=>()=>r;function Qt({test:r}){return sG(r)()}function Zr(r){return r===null?"null":r===void 0?"undefined":r===""?"an empty string":JSON.stringify(r)}function LA(r,e){var t,i,n;return typeof e=="number"?`${(t=r==null?void 0:r.p)!==null&&t!==void 0?t:"."}[${e}]`:eG.test(e)?`${(i=r==null?void 0:r.p)!==null&&i!==void 0?i:""}.${e}`:`${(n=r==null?void 0:r.p)!==null&&n!==void 0?n:"."}[${JSON.stringify(e)}]`}function Bc(r,e){return t=>{let i=r[e];return r[e]=t,Bc(r,e).bind(null,i)}}function oG(r,e){return t=>{r[e]=t}}function ny(r,e,t){return r===1?e:t}function pt({errors:r,p:e}={},t){return r==null||r.push(`${e!=null?e:"."}: ${t}`),!1}var aG=()=>Qt({test:(r,e)=>!0});function dCe(r){return Qt({test:(e,t)=>e!==r?pt(t,`Expected a literal (got ${Zr(r)})`):!0})}var CCe=()=>Qt({test:(r,e)=>typeof r!="string"?pt(e,`Expected a string (got ${Zr(r)})`):!0});function mCe(r){let e=Array.isArray(r)?r:Object.values(r),t=new Set(e);return Qt({test:(i,n)=>t.has(i)?!0:pt(n,`Expected a valid enumeration value (got ${Zr(i)})`)})}var ECe=new Map([["true",!0],["True",!0],["1",!0],[1,!0],["false",!1],["False",!1],["0",!1],[0,!1]]),ICe=()=>Qt({test:(r,e)=>{var t;if(typeof r!="boolean"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i=ECe.get(r);if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a boolean (got ${Zr(r)})`)}return!0}}),yCe=()=>Qt({test:(r,e)=>{var t;if(typeof r!="number"){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"){let n;try{n=JSON.parse(r)}catch{}if(typeof n=="number")if(JSON.stringify(n)===r)i=n;else return pt(e,`Received a number that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a number (got ${Zr(r)})`)}return!0}}),wCe=()=>Qt({test:(r,e)=>{var t;if(!(r instanceof Date)){if(typeof(e==null?void 0:e.coercions)<"u"){if(typeof(e==null?void 0:e.coercion)>"u")return pt(e,"Unbound coercion result");let i;if(typeof r=="string"&&Hv.test(r))i=new Date(r);else{let n;if(typeof r=="string"){let s;try{s=JSON.parse(r)}catch{}typeof s=="number"&&(n=s)}else typeof r=="number"&&(n=r);if(typeof n<"u")if(Number.isSafeInteger(n)||!Number.isSafeInteger(n*1e3))i=new Date(n*1e3);else return pt(e,`Received a timestamp that can't be safely represented by the runtime (${r})`)}if(typeof i<"u")return e.coercions.push([(t=e.p)!==null&&t!==void 0?t:".",e.coercion.bind(null,i)]),!0}return pt(e,`Expected a date (got ${Zr(r)})`)}return!0}}),BCe=(r,{delimiter:e}={})=>Qt({test:(t,i)=>{var n;if(typeof t=="string"&&typeof e<"u"&&typeof(i==null?void 0:i.coercions)<"u"){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");t=t.split(e),i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,t)])}if(!Array.isArray(t))return pt(i,`Expected an array (got ${Zr(t)})`);let s=!0;for(let o=0,a=t.length;o{let t=AG(r.length);return Qt({test:(i,n)=>{var s;if(typeof i=="string"&&typeof e<"u"&&typeof(n==null?void 0:n.coercions)<"u"){if(typeof(n==null?void 0:n.coercion)>"u")return pt(n,"Unbound coercion result");i=i.split(e),n.coercions.push([(s=n.p)!==null&&s!==void 0?s:".",n.coercion.bind(null,i)])}if(!Array.isArray(i))return pt(n,`Expected a tuple (got ${Zr(i)})`);let o=t(i,Object.assign({},n));for(let a=0,l=i.length;aQt({test:(t,i)=>{if(typeof t!="object"||t===null)return pt(i,`Expected an object (got ${Zr(t)})`);let n=Object.keys(t),s=!0;for(let o=0,a=n.length;o{let t=Object.keys(r);return Qt({test:(i,n)=>{if(typeof i!="object"||i===null)return pt(n,`Expected an object (got ${Zr(i)})`);let s=new Set([...t,...Object.keys(i)]),o={},a=!0;for(let l of s){if(l==="constructor"||l==="__proto__")a=pt(Object.assign(Object.assign({},n),{p:LA(n,l)}),"Unsafe property name");else{let c=Object.prototype.hasOwnProperty.call(r,l)?r[l]:void 0,u=Object.prototype.hasOwnProperty.call(i,l)?i[l]:void 0;typeof c<"u"?a=c(u,Object.assign(Object.assign({},n),{p:LA(n,l),coercion:Bc(i,l)}))&&a:e===null?a=pt(Object.assign(Object.assign({},n),{p:LA(n,l)}),`Extraneous property (got ${Zr(u)})`):Object.defineProperty(o,l,{enumerable:!0,get:()=>u,set:oG(i,l)})}if(!a&&(n==null?void 0:n.errors)==null)break}return e!==null&&(a||(n==null?void 0:n.errors)!=null)&&(a=e(o,n)&&a),a}})},vCe=r=>Qt({test:(e,t)=>e instanceof r?!0:pt(t,`Expected an instance of ${r.name} (got ${Zr(e)})`)}),xCe=(r,{exclusive:e=!1}={})=>Qt({test:(t,i)=>{var n,s,o;let a=[],l=typeof(i==null?void 0:i.errors)<"u"?[]:void 0;for(let c=0,u=r.length;c1?pt(i,`Expected to match exactly a single predicate (matched ${a.join(", ")})`):(o=i==null?void 0:i.errors)===null||o===void 0||o.push(...l),!1}}),PCe=(r,e)=>Qt({test:(t,i)=>{var n,s;let o={value:t},a=typeof(i==null?void 0:i.coercions)<"u"?Bc(o,"value"):void 0,l=typeof(i==null?void 0:i.coercions)<"u"?[]:void 0;if(!r(t,Object.assign(Object.assign({},i),{coercion:a,coercions:l})))return!1;let c=[];if(typeof l<"u")for(let[,u]of l)c.push(u());try{if(typeof(i==null?void 0:i.coercions)<"u"){if(o.value!==t){if(typeof(i==null?void 0:i.coercion)>"u")return pt(i,"Unbound coercion result");i.coercions.push([(n=i.p)!==null&&n!==void 0?n:".",i.coercion.bind(null,o.value)])}(s=i==null?void 0:i.coercions)===null||s===void 0||s.push(...l)}return e.every(u=>u(o.value,i))}finally{for(let u of c)u()}}}),DCe=r=>Qt({test:(e,t)=>typeof e>"u"?!0:r(e,t)}),kCe=r=>Qt({test:(e,t)=>e===null?!0:r(e,t)}),RCe=r=>Qt({test:(e,t)=>e.length>=r?!0:pt(t,`Expected to have a length of at least ${r} elements (got ${e.length})`)}),FCe=r=>Qt({test:(e,t)=>e.length<=r?!0:pt(t,`Expected to have a length of at most ${r} elements (got ${e.length})`)}),AG=r=>Qt({test:(e,t)=>e.length!==r?pt(t,`Expected to have a length of exactly ${r} elements (got ${e.length})`):!0}),NCe=({map:r}={})=>Qt({test:(e,t)=>{let i=new Set,n=new Set;for(let s=0,o=e.length;sQt({test:(r,e)=>r<=0?!0:pt(e,`Expected to be negative (got ${r})`)}),LCe=()=>Qt({test:(r,e)=>r>=0?!0:pt(e,`Expected to be positive (got ${r})`)}),OCe=r=>Qt({test:(e,t)=>e>=r?!0:pt(t,`Expected to be at least ${r} (got ${e})`)}),MCe=r=>Qt({test:(e,t)=>e<=r?!0:pt(t,`Expected to be at most ${r} (got ${e})`)}),UCe=(r,e)=>Qt({test:(t,i)=>t>=r&&t<=e?!0:pt(i,`Expected to be in the [${r}; ${e}] range (got ${t})`)}),KCe=(r,e)=>Qt({test:(t,i)=>t>=r&&tQt({test:(e,t)=>e!==Math.round(e)?pt(t,`Expected to be an integer (got ${e})`):Number.isSafeInteger(e)?!0:pt(t,`Expected to be a safe integer (got ${e})`)}),GCe=r=>Qt({test:(e,t)=>r.test(e)?!0:pt(t,`Expected to match the pattern ${r.toString()} (got ${Zr(e)})`)}),YCe=()=>Qt({test:(r,e)=>r!==r.toLowerCase()?pt(e,`Expected to be all-lowercase (got ${r})`):!0}),jCe=()=>Qt({test:(r,e)=>r!==r.toUpperCase()?pt(e,`Expected to be all-uppercase (got ${r})`):!0}),qCe=()=>Qt({test:(r,e)=>nG.test(r)?!0:pt(e,`Expected to be a valid UUID v4 (got ${Zr(r)})`)}),JCe=()=>Qt({test:(r,e)=>Hv.test(r)?!1:pt(e,`Expected to be a valid ISO 8601 date string (got ${Zr(r)})`)}),WCe=({alpha:r=!1})=>Qt({test:(e,t)=>(r?tG.test(e):rG.test(e))?!0:pt(t,`Expected to be a valid hexadecimal color string (got ${Zr(e)})`)}),zCe=()=>Qt({test:(r,e)=>iG.test(r)?!0:pt(e,`Expected to be a valid base 64 string (got ${Zr(r)})`)}),VCe=(r=aG())=>Qt({test:(e,t)=>{let i;try{i=JSON.parse(e)}catch{return pt(t,`Expected to be a valid JSON string (got ${Zr(e)})`)}return r(i,t)}}),XCe=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)||s.push(o);return s.length>0?pt(i,`Missing required ${ny(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},_Ce=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>0?pt(i,`Forbidden ${ny(s.length,"property","properties")} ${s.map(o=>`"${o}"`).join(", ")}`):!0}})},ZCe=r=>{let e=new Set(r);return Qt({test:(t,i)=>{let n=new Set(Object.keys(t)),s=[];for(let o of e)n.has(o)&&s.push(o);return s.length>1?pt(i,`Mutually exclusive properties ${s.map(o=>`"${o}"`).join(", ")}`):!0}})};(function(r){r.Forbids="Forbids",r.Requires="Requires"})(st.KeyRelationship||(st.KeyRelationship={}));var $Ce={[st.KeyRelationship.Forbids]:{expect:!1,message:"forbids using"},[st.KeyRelationship.Requires]:{expect:!0,message:"requires using"}},eme=(r,e,t,{ignore:i=[]}={})=>{let n=new Set(i),s=new Set(t),o=$Ce[e];return Qt({test:(a,l)=>{let c=new Set(Object.keys(a));if(!c.has(r)||n.has(a[r]))return!0;let u=[];for(let g of s)(c.has(g)&&!n.has(a[g]))!==o.expect&&u.push(g);return u.length>=1?pt(l,`Property "${r}" ${o.message} ${ny(u.length,"property","properties")} ${u.map(g=>`"${g}"`).join(", ")}`):!0}})};st.applyCascade=PCe;st.base64RegExp=iG;st.colorStringAlphaRegExp=rG;st.colorStringRegExp=tG;st.computeKey=LA;st.getPrintable=Zr;st.hasExactLength=AG;st.hasForbiddenKeys=_Ce;st.hasKeyRelationship=eme;st.hasMaxLength=FCe;st.hasMinLength=RCe;st.hasMutuallyExclusiveKeys=ZCe;st.hasRequiredKeys=XCe;st.hasUniqueItems=NCe;st.isArray=BCe;st.isAtLeast=OCe;st.isAtMost=MCe;st.isBase64=zCe;st.isBoolean=ICe;st.isDate=wCe;st.isDict=QCe;st.isEnum=mCe;st.isHexColor=WCe;st.isISO8601=JCe;st.isInExclusiveRange=KCe;st.isInInclusiveRange=UCe;st.isInstanceOf=vCe;st.isInteger=HCe;st.isJSON=VCe;st.isLiteral=dCe;st.isLowerCase=YCe;st.isNegative=TCe;st.isNullable=kCe;st.isNumber=yCe;st.isObject=SCe;st.isOneOf=xCe;st.isOptional=DCe;st.isPositive=LCe;st.isString=CCe;st.isTuple=bCe;st.isUUID4=qCe;st.isUnknown=aG;st.isUpperCase=jCe;st.iso8601RegExp=Hv;st.makeCoercionFn=Bc;st.makeSetter=oG;st.makeTrait=sG;st.makeValidator=Qt;st.matchesRegExp=GCe;st.plural=ny;st.pushError=pt;st.simpleKeyRegExp=eG;st.uuid4RegExp=nG});var bc=y(Gv=>{"use strict";Object.defineProperty(Gv,"__esModule",{value:!0});var lG=va();function tme(r){if(r&&r.__esModule)return r;var e=Object.create(null);return r&&Object.keys(r).forEach(function(t){if(t!=="default"){var i=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:function(){return r[t]}})}}),e.default=r,Object.freeze(e)}var Sd=class{constructor(){this.help=!1}static Usage(e){return e}async catch(e){throw e}async validateAndExecute(){let t=this.constructor.schema;if(Array.isArray(t)){let{isDict:n,isUnknown:s,applyCascade:o}=await Promise.resolve().then(function(){return tme(ns())}),a=o(n(s()),t),l=[],c=[];if(!a(this,{errors:l,coercions:c}))throw lG.formatError("Invalid option schema",l);for(let[,g]of c)g()}else if(t!=null)throw new Error("Invalid command schema");let i=await this.execute();return typeof i<"u"?i:0}};Sd.isOption=lG.isOptionSymbol;Sd.Default=[];Gv.Command=Sd});var jv=y(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});var cG=80,Yv=Array(cG).fill("\u2501");for(let r=0;r<=24;++r)Yv[Yv.length-r]=`\x1B[38;5;${232+r}m\u2501`;var rme={header:r=>`\x1B[1m\u2501\u2501\u2501 ${r}${r.length`\x1B[1m${r}\x1B[22m`,error:r=>`\x1B[31m\x1B[1m${r}\x1B[22m\x1B[39m`,code:r=>`\x1B[36m${r}\x1B[39m`},ime={header:r=>r,bold:r=>r,error:r=>r,code:r=>r};function nme(r){let e=r.split(` -`),t=e.filter(n=>n.match(/\S/)),i=t.length>0?t.reduce((n,s)=>Math.min(n,s.length-s.trimStart().length),Number.MAX_VALUE):0;return e.map(n=>n.slice(i).trimRight()).join(` -`)}function sme(r,{format:e,paragraphs:t}){return r=r.replace(/\r\n?/g,` -`),r=nme(r),r=r.replace(/^\n+|\n+$/g,""),r=r.replace(/^(\s*)-([^\n]*?)\n+/gm,`$1-$2 - -`),r=r.replace(/\n(\n)?\n*/g,"$1"),t&&(r=r.split(/\n/).map(i=>{let n=i.match(/^\s*[*-][\t ]+(.*)/);if(!n)return i.match(/(.{1,80})(?: |$)/g).join(` -`);let s=i.length-i.trimStart().length;return n[1].match(new RegExp(`(.{1,${78-s}})(?: |$)`,"g")).map((o,a)=>" ".repeat(s)+(a===0?"- ":" ")+o).join(` -`)}).join(` - -`)),r=r.replace(/(`+)((?:.|[\n])*?)\1/g,(i,n,s)=>e.code(n+s+n)),r=r.replace(/(\*\*)((?:.|[\n])*?)\1/g,(i,n,s)=>e.bold(n+s+n)),r?`${r} -`:""}vd.formatMarkdownish=sme;vd.richFormat=rme;vd.textFormat=ime});var ly=y(Ar=>{"use strict";Object.defineProperty(Ar,"__esModule",{value:!0});var lt=ry(),ay=iy();function Vi(r){lt.DEBUG&&console.log(r)}var uG={candidateUsage:null,requiredOptions:[],errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:[],remainder:null,selectedIndex:lt.HELP_COMMAND_INDEX};function qv(){return{nodes:[Li(),Li(),Li()]}}function gG(r){let e=qv(),t=[],i=e.nodes.length;for(let n of r){t.push(i);for(let s=0;s{if(e.has(i))return;e.add(i);let n=r.nodes[i];for(let o of Object.values(n.statics))for(let{to:a}of o)t(a);for(let[,{to:o}]of n.dynamics)t(o);for(let{to:o}of n.shortcuts)t(o);let s=new Set(n.shortcuts.map(({to:o})=>o));for(;n.shortcuts.length>0;){let{to:o}=n.shortcuts.shift(),a=r.nodes[o];for(let[l,c]of Object.entries(a.statics)){let u=Object.prototype.hasOwnProperty.call(n.statics,l)?n.statics[l]:n.statics[l]=[];for(let g of c)u.some(({to:f})=>g.to===f)||u.push(g)}for(let[l,c]of a.dynamics)n.dynamics.some(([u,{to:g}])=>l===u&&c.to===g)||n.dynamics.push([l,c]);for(let l of a.shortcuts)s.has(l.to)||(n.shortcuts.push(l),s.add(l.to))}};t(lt.NODE_INITIAL)}function hG(r,{prefix:e=""}={}){if(lt.DEBUG){Vi(`${e}Nodes are:`);for(let t=0;tl!==lt.NODE_ERRORED).map(({state:l})=>({usage:l.candidateUsage,reason:null})));if(a.every(({node:l})=>l===lt.NODE_ERRORED))throw new ay.UnknownSyntaxError(e,a.map(({state:l})=>({usage:l.candidateUsage,reason:l.errorMessage})));i=pG(a)}if(i.length>0){Vi(" Results:");for(let s of i)Vi(` - ${s.node} -> ${JSON.stringify(s.state)}`)}else Vi(" No results");return i}function ome(r,e){if(e.selectedIndex!==null)return!0;if(Object.prototype.hasOwnProperty.call(r.statics,lt.END_OF_INPUT)){for(let{to:t}of r.statics[lt.END_OF_INPUT])if(t===lt.NODE_SUCCESS)return!0}return!1}function ame(r,e,t){let i=t&&e.length>0?[""]:[],n=Jv(r,e,t),s=[],o=new Set,a=(l,c,u=!0)=>{let g=[c];for(;g.length>0;){let h=g;g=[];for(let p of h){let C=r.nodes[p],w=Object.keys(C.statics);for(let B of Object.keys(C.statics)){let v=w[0];for(let{to:D,reducer:T}of C.statics[v])T==="pushPath"&&(u||l.push(v),g.push(D))}}u=!1}let f=JSON.stringify(l);o.has(f)||(s.push(l),o.add(f))};for(let{node:l,state:c}of n){if(c.remainder!==null){a([c.remainder],l);continue}let u=r.nodes[l],g=ome(u,c);for(let[f,h]of Object.entries(u.statics))(g&&f!==lt.END_OF_INPUT||!f.startsWith("-")&&h.some(({reducer:p})=>p==="pushPath"))&&a([...i,f],l);if(!!g)for(let[f,{to:h}]of u.dynamics){if(h===lt.NODE_ERRORED)continue;let p=IG(f,c);if(p!==null)for(let C of p)a([...i,C],l)}}return[...s].sort()}function Ame(r,e){let t=Jv(r,[...e,lt.END_OF_INPUT]);return dG(e,t.map(({state:i})=>i))}function pG(r){let e=0;for(let{state:t}of r)t.path.length>e&&(e=t.path.length);return r.filter(({state:t})=>t.path.length===e)}function dG(r,e){let t=e.filter(g=>g.selectedIndex!==null);if(t.length===0)throw new Error;let i=t.filter(g=>g.requiredOptions.every(f=>f.some(h=>g.options.find(p=>p.name===h))));if(i.length===0)throw new ay.UnknownSyntaxError(r,t.map(g=>({usage:g.candidateUsage,reason:null})));let n=0;for(let g of i)g.path.length>n&&(n=g.path.length);let s=i.filter(g=>g.path.length===n),o=g=>g.positionals.filter(({extra:f})=>!f).length+g.options.length,a=s.map(g=>({state:g,positionalCount:o(g)})),l=0;for(let{positionalCount:g}of a)g>l&&(l=g);let c=a.filter(({positionalCount:g})=>g===l).map(({state:g})=>g),u=CG(c);if(u.length>1)throw new ay.AmbiguousSyntaxError(r,u.map(g=>g.candidateUsage));return u[0]}function CG(r){let e=[],t=[];for(let i of r)i.selectedIndex===lt.HELP_COMMAND_INDEX?t.push(i):e.push(i);return t.length>0&&e.push({...uG,path:mG(...t.map(i=>i.path)),options:t.reduce((i,n)=>i.concat(n.options),[])}),e}function mG(r,e,...t){return e===void 0?Array.from(r):mG(r.filter((i,n)=>i===e[n]),...t)}function Li(){return{dynamics:[],shortcuts:[],statics:{}}}function Wv(r){return r===lt.NODE_SUCCESS||r===lt.NODE_ERRORED}function sy(r,e=0){return{to:Wv(r.to)?r.to:r.to>2?r.to+e-2:r.to+e,reducer:r.reducer}}function EG(r,e=0){let t=Li();for(let[i,n]of r.dynamics)t.dynamics.push([i,sy(n,e)]);for(let i of r.shortcuts)t.shortcuts.push(sy(i,e));for(let[i,n]of Object.entries(r.statics))t.statics[i]=n.map(s=>sy(s,e));return t}function Ei(r,e,t,i,n){r.nodes[e].dynamics.push([t,{to:i,reducer:n}])}function Qc(r,e,t,i){r.nodes[e].shortcuts.push({to:t,reducer:i})}function xo(r,e,t,i,n){(Object.prototype.hasOwnProperty.call(r.nodes[e].statics,t)?r.nodes[e].statics[t]:r.nodes[e].statics[t]=[]).push({to:i,reducer:n})}function xd(r,e,t,i){if(Array.isArray(e)){let[n,...s]=e;return r[n](t,i,...s)}else return r[e](t,i)}function IG(r,e){let t=Array.isArray(r)?Pd[r[0]]:Pd[r];if(typeof t.suggest>"u")return null;let i=Array.isArray(r)?r.slice(1):[];return t.suggest(e,...i)}var Pd={always:()=>!0,isOptionLike:(r,e)=>!r.ignoreOptions&&e!=="-"&&e.startsWith("-"),isNotOptionLike:(r,e)=>r.ignoreOptions||e==="-"||!e.startsWith("-"),isOption:(r,e,t,i)=>!r.ignoreOptions&&e===t,isBatchOption:(r,e,t)=>!r.ignoreOptions&<.BATCH_REGEX.test(e)&&[...e.slice(1)].every(i=>t.includes(`-${i}`)),isBoundOption:(r,e,t,i)=>{let n=e.match(lt.BINDING_REGEX);return!r.ignoreOptions&&!!n&<.OPTION_REGEX.test(n[1])&&t.includes(n[1])&&i.filter(s=>s.names.includes(n[1])).every(s=>s.allowBinding)},isNegatedOption:(r,e,t)=>!r.ignoreOptions&&e===`--no-${t.slice(2)}`,isHelp:(r,e)=>!r.ignoreOptions&<.HELP_REGEX.test(e),isUnsupportedOption:(r,e,t)=>!r.ignoreOptions&&e.startsWith("-")&<.OPTION_REGEX.test(e)&&!t.includes(e),isInvalidOption:(r,e)=>!r.ignoreOptions&&e.startsWith("-")&&!lt.OPTION_REGEX.test(e)};Pd.isOption.suggest=(r,e,t=!0)=>t?null:[e];var oy={setCandidateState:(r,e,t)=>({...r,...t}),setSelectedIndex:(r,e,t)=>({...r,selectedIndex:t}),pushBatch:(r,e)=>({...r,options:r.options.concat([...e.slice(1)].map(t=>({name:`-${t}`,value:!0})))}),pushBound:(r,e)=>{let[,t,i]=e.match(lt.BINDING_REGEX);return{...r,options:r.options.concat({name:t,value:i})}},pushPath:(r,e)=>({...r,path:r.path.concat(e)}),pushPositional:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!1})}),pushExtra:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:!0})}),pushExtraNoLimits:(r,e)=>({...r,positionals:r.positionals.concat({value:e,extra:Po})}),pushTrue:(r,e,t=e)=>({...r,options:r.options.concat({name:e,value:!0})}),pushFalse:(r,e,t=e)=>({...r,options:r.options.concat({name:t,value:!1})}),pushUndefined:(r,e)=>({...r,options:r.options.concat({name:e,value:void 0})}),pushStringValue:(r,e)=>{var t;let i={...r,options:[...r.options]},n=r.options[r.options.length-1];return n.value=((t=n.value)!==null&&t!==void 0?t:[]).concat([e]),i},setStringValue:(r,e)=>{let t={...r,options:[...r.options]},i=r.options[r.options.length-1];return i.value=e,t},inhibateOptions:r=>({...r,ignoreOptions:!0}),useHelp:(r,e,t)=>{let[,,i]=e.match(lt.HELP_REGEX);return typeof i<"u"?{...r,options:[{name:"-c",value:String(t)},{name:"-i",value:i}]}:{...r,options:[{name:"-c",value:String(t)}]}},setError:(r,e,t)=>e===lt.END_OF_INPUT?{...r,errorMessage:`${t}.`}:{...r,errorMessage:`${t} ("${e}").`},setOptionArityError:(r,e)=>{let t=r.options[r.options.length-1];return{...r,errorMessage:`Not enough arguments to option ${t.name}.`}}},Po=Symbol(),Ay=class{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:i=this.arity.extra,proxy:n=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:i,proxy:n})}addPositional({name:e="arg",required:t=!0}={}){if(!t&&this.arity.extra===Po)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!t&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");!t&&this.arity.extra!==Po?this.arity.extra.push(e):this.arity.extra!==Po&&this.arity.extra.length===0?this.arity.leading.push(e):this.arity.trailing.push(e)}addRest({name:e="arg",required:t=0}={}){if(this.arity.extra===Po)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let i=0;i1)throw new Error("The arity cannot be higher than 1 when the option only supports the --arg=value syntax");if(!Number.isInteger(i))throw new Error(`The arity must be an integer, got ${i}`);if(i<0)throw new Error(`The arity must be positive, got ${i}`);this.allOptionNames.push(...e),this.options.push({names:e,description:t,arity:i,hidden:n,required:s,allowBinding:o})}setContext(e){this.context=e}usage({detailed:e=!0,inlineOptions:t=!0}={}){let i=[this.cliOpts.binaryName],n=[];if(this.paths.length>0&&i.push(...this.paths[0]),e){for(let{names:o,arity:a,hidden:l,description:c,required:u}of this.options){if(l)continue;let g=[];for(let h=0;h`:`[${f}]`)}i.push(...this.arity.leading.map(o=>`<${o}>`)),this.arity.extra===Po?i.push("..."):i.push(...this.arity.extra.map(o=>`[${o}]`)),i.push(...this.arity.trailing.map(o=>`<${o}>`))}return{usage:i.join(" "),options:n}}compile(){if(typeof this.context>"u")throw new Error("Assertion failed: No context attached");let e=qv(),t=lt.NODE_INITIAL,i=this.usage().usage,n=this.options.filter(a=>a.required).map(a=>a.names);t=ss(e,Li()),xo(e,lt.NODE_INITIAL,lt.START_OF_INPUT,t,["setCandidateState",{candidateUsage:i,requiredOptions:n}]);let s=this.arity.proxy?"always":"isNotOptionLike",o=this.paths.length>0?this.paths:[[]];for(let a of o){let l=t;if(a.length>0){let f=ss(e,Li());Qc(e,l,f),this.registerOptions(e,f),l=f}for(let f=0;f0||!this.arity.proxy){let f=ss(e,Li());Ei(e,l,"isHelp",f,["useHelp",this.cliIndex]),xo(e,f,lt.END_OF_INPUT,lt.NODE_SUCCESS,["setSelectedIndex",lt.HELP_COMMAND_INDEX]),this.registerOptions(e,l)}this.arity.leading.length>0&&xo(e,l,lt.END_OF_INPUT,lt.NODE_ERRORED,["setError","Not enough positional arguments"]);let c=l;for(let f=0;f0||f+1!==this.arity.leading.length)&&xo(e,h,lt.END_OF_INPUT,lt.NODE_ERRORED,["setError","Not enough positional arguments"]),Ei(e,c,"isNotOptionLike",h,"pushPositional"),c=h}let u=c;if(this.arity.extra===Po||this.arity.extra.length>0){let f=ss(e,Li());if(Qc(e,c,f),this.arity.extra===Po){let h=ss(e,Li());this.arity.proxy||this.registerOptions(e,h),Ei(e,c,s,h,"pushExtraNoLimits"),Ei(e,h,s,h,"pushExtraNoLimits"),Qc(e,h,f)}else for(let h=0;h0&&xo(e,u,lt.END_OF_INPUT,lt.NODE_ERRORED,["setError","Not enough positional arguments"]);let g=u;for(let f=0;fo.length>s.length?o:s,"");if(i.arity===0)for(let s of i.names)Ei(e,t,["isOption",s,i.hidden||s!==n],t,"pushTrue"),s.startsWith("--")&&!s.startsWith("--no-")&&Ei(e,t,["isNegatedOption",s],t,["pushFalse",s]);else{let s=ss(e,Li());for(let o of i.names)Ei(e,t,["isOption",o,i.hidden||o!==n],s,"pushUndefined");for(let o=0;o=0&&eAme(i,n),suggest:(n,s)=>ame(i,n,s)}}};Ar.CliBuilder=Dd;Ar.CommandBuilder=Ay;Ar.NoLimits=Po;Ar.aggregateHelpStates=CG;Ar.cloneNode=EG;Ar.cloneTransition=sy;Ar.debug=Vi;Ar.debugMachine=hG;Ar.execute=xd;Ar.injectNode=ss;Ar.isTerminalNode=Wv;Ar.makeAnyOfMachine=gG;Ar.makeNode=Li;Ar.makeStateMachine=qv;Ar.reducers=oy;Ar.registerDynamic=Ei;Ar.registerShortcut=Qc;Ar.registerStatic=xo;Ar.runMachineInternal=Jv;Ar.selectBestState=dG;Ar.simplifyMachine=fG;Ar.suggest=IG;Ar.tests=Pd;Ar.trimSmallerBranches=pG});var yG=y(zv=>{"use strict";Object.defineProperty(zv,"__esModule",{value:!0});var lme=bc(),kd=class extends lme.Command{constructor(e){super(),this.contexts=e,this.commands=[]}static from(e,t){let i=new kd(t);i.path=e.path;for(let n of e.options)switch(n.name){case"-c":i.commands.push(Number(n.value));break;case"-i":i.index=Number(n.value);break}return i}async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index>=0&&this.index1){this.context.stdout.write(`Multiple commands match your selection: -`),this.context.stdout.write(` -`);let t=0;for(let i of this.commands)this.context.stdout.write(this.cli.usage(this.contexts[i].commandClass,{prefix:`${t++}. `.padStart(5)}));this.context.stdout.write(` -`),this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands. -`)}}};zv.HelpCommand=kd});var vG=y(Vv=>{"use strict";Object.defineProperty(Vv,"__esModule",{value:!0});var cme=ry(),wG=bc(),ume=J("tty"),gme=ly(),hn=jv(),fme=yG();function hme(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var BG=hme(ume),bG=Symbol("clipanion/errorCommand");function pme(){return process.env.FORCE_COLOR==="0"?1:process.env.FORCE_COLOR==="1"||typeof process.stdout<"u"&&process.stdout.isTTY?8:1}var OA=class{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:i,enableCapture:n=!1,enableColors:s}={}){this.registrations=new Map,this.builder=new gme.CliBuilder({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=i,this.enableCapture=n,this.enableColors=s}static from(e,t={}){let i=new OA(t);for(let n of e)i.register(n);return i}register(e){var t;let i=new Map,n=new e;for(let l in n){let c=n[l];typeof c=="object"&&c!==null&&c[wG.Command.isOption]&&i.set(l,c)}let s=this.builder.command(),o=s.cliIndex,a=(t=e.paths)!==null&&t!==void 0?t:n.paths;if(typeof a<"u")for(let l of a)s.addPath(l);this.registrations.set(e,{specs:i,builder:s,index:o});for(let[l,{definition:c}]of i.entries())c(s,l);s.setContext({commandClass:e})}process(e){let{contexts:t,process:i}=this.builder.compile(),n=i(e);switch(n.selectedIndex){case cme.HELP_COMMAND_INDEX:return fme.HelpCommand.from(n,t);default:{let{commandClass:s}=t[n.selectedIndex],o=this.registrations.get(s);if(typeof o>"u")throw new Error("Assertion failed: Expected the command class to have been registered.");let a=new s;a.path=n.path;try{for(let[l,{transformer:c}]of o.specs.entries())a[l]=c(o.builder,l,n);return a}catch(l){throw l[bG]=a,l}}break}}async run(e,t){var i;let n,s={...OA.defaultContext,...t},o=(i=this.enableColors)!==null&&i!==void 0?i:s.colorDepth>1;if(!Array.isArray(e))n=e;else try{n=this.process(e)}catch(c){return s.stdout.write(this.error(c,{colored:o})),1}if(n.help)return s.stdout.write(this.usage(n,{colored:o,detailed:!0})),0;n.context=s,n.cli={binaryLabel:this.binaryLabel,binaryName:this.binaryName,binaryVersion:this.binaryVersion,enableCapture:this.enableCapture,enableColors:this.enableColors,definitions:()=>this.definitions(),error:(c,u)=>this.error(c,u),format:c=>this.format(c),process:c=>this.process(c),run:(c,u)=>this.run(c,{...s,...u}),usage:(c,u)=>this.usage(c,u)};let a=this.enableCapture?dme(s):SG,l;try{l=await a(()=>n.validateAndExecute().catch(c=>n.catch(c).then(()=>0)))}catch(c){return s.stdout.write(this.error(c,{colored:o,command:n})),1}return l}async runExit(e,t){process.exitCode=await this.run(e,t)}suggest(e,t){let{suggest:i}=this.builder.compile();return i(e,t)}definitions({colored:e=!1}={}){let t=[];for(let[i,{index:n}]of this.registrations){if(typeof i.usage>"u")continue;let{usage:s}=this.getUsageByIndex(n,{detailed:!1}),{usage:o,options:a}=this.getUsageByIndex(n,{detailed:!0,inlineOptions:!1}),l=typeof i.usage.category<"u"?hn.formatMarkdownish(i.usage.category,{format:this.format(e),paragraphs:!1}):void 0,c=typeof i.usage.description<"u"?hn.formatMarkdownish(i.usage.description,{format:this.format(e),paragraphs:!1}):void 0,u=typeof i.usage.details<"u"?hn.formatMarkdownish(i.usage.details,{format:this.format(e),paragraphs:!0}):void 0,g=typeof i.usage.examples<"u"?i.usage.examples.map(([f,h])=>[hn.formatMarkdownish(f,{format:this.format(e),paragraphs:!1}),h.replace(/\$0/g,this.binaryName)]):void 0;t.push({path:s,usage:o,category:l,description:c,details:u,examples:g,options:a})}return t}usage(e=null,{colored:t,detailed:i=!1,prefix:n="$ "}={}){var s;if(e===null){for(let l of this.registrations.keys()){let c=l.paths,u=typeof l.usage<"u";if(!c||c.length===0||c.length===1&&c[0].length===0||((s=c==null?void 0:c.some(h=>h.length===0))!==null&&s!==void 0?s:!1))if(e){e=null;break}else e=l;else if(u){e=null;continue}}e&&(i=!0)}let o=e!==null&&e instanceof wG.Command?e.constructor:e,a="";if(o)if(i){let{description:l="",details:c="",examples:u=[]}=o.usage||{};l!==""&&(a+=hn.formatMarkdownish(l,{format:this.format(t),paragraphs:!1}).replace(/^./,h=>h.toUpperCase()),a+=` -`),(c!==""||u.length>0)&&(a+=`${this.format(t).header("Usage")} -`,a+=` -`);let{usage:g,options:f}=this.getUsageByRegistration(o,{inlineOptions:!1});if(a+=`${this.format(t).bold(n)}${g} -`,f.length>0){a+=` -`,a+=`${hn.richFormat.header("Options")} -`;let h=f.reduce((p,C)=>Math.max(p,C.definition.length),0);a+=` -`;for(let{definition:p,description:C}of f)a+=` ${this.format(t).bold(p.padEnd(h))} ${hn.formatMarkdownish(C,{format:this.format(t),paragraphs:!1})}`}if(c!==""&&(a+=` -`,a+=`${this.format(t).header("Details")} -`,a+=` -`,a+=hn.formatMarkdownish(c,{format:this.format(t),paragraphs:!0})),u.length>0){a+=` -`,a+=`${this.format(t).header("Examples")} -`;for(let[h,p]of u)a+=` -`,a+=hn.formatMarkdownish(h,{format:this.format(t),paragraphs:!1}),a+=`${p.replace(/^/m,` ${this.format(t).bold(n)}`).replace(/\$0/g,this.binaryName)} -`}}else{let{usage:l}=this.getUsageByRegistration(o);a+=`${this.format(t).bold(n)}${l} -`}else{let l=new Map;for(let[f,{index:h}]of this.registrations.entries()){if(typeof f.usage>"u")continue;let p=typeof f.usage.category<"u"?hn.formatMarkdownish(f.usage.category,{format:this.format(t),paragraphs:!1}):null,C=l.get(p);typeof C>"u"&&l.set(p,C=[]);let{usage:w}=this.getUsageByIndex(h);C.push({commandClass:f,usage:w})}let c=Array.from(l.keys()).sort((f,h)=>f===null?-1:h===null?1:f.localeCompare(h,"en",{usage:"sort",caseFirst:"upper"})),u=typeof this.binaryLabel<"u",g=typeof this.binaryVersion<"u";u||g?(u&&g?a+=`${this.format(t).header(`${this.binaryLabel} - ${this.binaryVersion}`)} - -`:u?a+=`${this.format(t).header(`${this.binaryLabel}`)} -`:a+=`${this.format(t).header(`${this.binaryVersion}`)} -`,a+=` ${this.format(t).bold(n)}${this.binaryName} -`):a+=`${this.format(t).bold(n)}${this.binaryName} -`;for(let f of c){let h=l.get(f).slice().sort((C,w)=>C.usage.localeCompare(w.usage,"en",{usage:"sort",caseFirst:"upper"})),p=f!==null?f.trim():"General commands";a+=` -`,a+=`${this.format(t).header(`${p}`)} -`;for(let{commandClass:C,usage:w}of h){let B=C.usage.description||"undocumented";a+=` -`,a+=` ${this.format(t).bold(w)} -`,a+=` ${hn.formatMarkdownish(B,{format:this.format(t),paragraphs:!1})}`}}a+=` -`,a+=hn.formatMarkdownish("You can also print more details about any of these commands by calling them with the `-h,--help` flag right after the command name.",{format:this.format(t),paragraphs:!0})}return a}error(e,t){var i,{colored:n,command:s=(i=e[bG])!==null&&i!==void 0?i:null}=t===void 0?{}:t;e instanceof Error||(e=new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(e)})`));let o="",a=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");a==="Error"&&(a="Internal Error"),o+=`${this.format(n).error(a)}: ${e.message} -`;let l=e.clipanion;return typeof l<"u"?l.type==="usage"&&(o+=` -`,o+=this.usage(s)):e.stack&&(o+=`${e.stack.replace(/^.*\n/,"")} -`),o}format(e){var t;return((t=e!=null?e:this.enableColors)!==null&&t!==void 0?t:OA.defaultContext.colorDepth>1)?hn.richFormat:hn.textFormat}getUsageByRegistration(e,t){let i=this.registrations.get(e);if(typeof i>"u")throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(i.index,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}};OA.defaultContext={stdin:process.stdin,stdout:process.stdout,stderr:process.stderr,colorDepth:"getColorDepth"in BG.default.WriteStream.prototype?BG.default.WriteStream.prototype.getColorDepth():pme()};var QG;function dme(r){let e=QG;if(typeof e>"u"){if(r.stdout===process.stdout&&r.stderr===process.stderr)return SG;let{AsyncLocalStorage:t}=J("async_hooks");e=QG=new t;let i=process.stdout._write;process.stdout._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?i.call(this,s,o,a):l.stdout.write(s,o,a)};let n=process.stderr._write;process.stderr._write=function(s,o,a){let l=e.getStore();return typeof l>"u"?n.call(this,s,o,a):l.stderr.write(s,o,a)}}return t=>e.run(r,t)}function SG(r){return r()}Vv.Cli=OA});var xG=y(Xv=>{"use strict";Object.defineProperty(Xv,"__esModule",{value:!0});var Cme=bc(),cy=class extends Cme.Command{async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.definitions(),null,2)} -`)}};cy.paths=[["--clipanion=definitions"]];Xv.DefinitionsCommand=cy});var PG=y(_v=>{"use strict";Object.defineProperty(_v,"__esModule",{value:!0});var mme=bc(),uy=class extends mme.Command{async execute(){this.context.stdout.write(this.cli.usage())}};uy.paths=[["-h"],["--help"]];_v.HelpCommand=uy});var DG=y(Zv=>{"use strict";Object.defineProperty(Zv,"__esModule",{value:!0});var Eme=bc(),gy=class extends Eme.Command{async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVersion)!==null&&e!==void 0?e:""} -`)}};gy.paths=[["-v"],["--version"]];Zv.VersionCommand=gy});var kG=y(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});var Ime=xG(),yme=PG(),wme=DG();Rd.DefinitionsCommand=Ime.DefinitionsCommand;Rd.HelpCommand=yme.HelpCommand;Rd.VersionCommand=wme.VersionCommand});var FG=y($v=>{"use strict";Object.defineProperty($v,"__esModule",{value:!0});var RG=va();function Bme(r,e,t){let[i,n]=RG.rerouteArguments(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return RG.makeCommandOption({definition(l){l.addOption({names:o,arity:s,hidden:n==null?void 0:n.hidden,description:n==null?void 0:n.description,required:n.required})},transformer(l,c,u){let g=typeof i<"u"?[...i]:void 0;for(let{name:f,value:h}of u.options)!a.has(f)||(g=g!=null?g:[],g.push(h));return g}})}$v.Array=Bme});var TG=y(ex=>{"use strict";Object.defineProperty(ex,"__esModule",{value:!0});var NG=va();function bme(r,e,t){let[i,n]=NG.rerouteArguments(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return NG.makeCommandOption({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u=f);return u}})}ex.Boolean=bme});var OG=y(tx=>{"use strict";Object.defineProperty(tx,"__esModule",{value:!0});var LG=va();function Qme(r,e,t){let[i,n]=LG.rerouteArguments(e,t!=null?t:{}),s=r.split(","),o=new Set(s);return LG.makeCommandOption({definition(a){a.addOption({names:s,allowBinding:!1,arity:0,hidden:n.hidden,description:n.description,required:n.required})},transformer(a,l,c){let u=i;for(let{name:g,value:f}of c.options)!o.has(g)||(u!=null||(u=0),f?u+=1:u=0);return u}})}tx.Counter=Qme});var MG=y(rx=>{"use strict";Object.defineProperty(rx,"__esModule",{value:!0});var Sme=va();function vme(r={}){return Sme.makeCommandOption({definition(e,t){var i;e.addProxy({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){return i.positionals.map(({value:n})=>n)}})}rx.Proxy=vme});var UG=y(ix=>{"use strict";Object.defineProperty(ix,"__esModule",{value:!0});var xme=va(),Pme=ly();function Dme(r={}){return xme.makeCommandOption({definition(e,t){var i;e.addRest({name:(i=r.name)!==null&&i!==void 0?i:t,required:r.required})},transformer(e,t,i){let n=o=>{let a=i.positionals[o];return a.extra===Pme.NoLimits||a.extra===!1&&oo)}})}ix.Rest=Dme});var KG=y(nx=>{"use strict";Object.defineProperty(nx,"__esModule",{value:!0});var Fd=va(),kme=ly();function Rme(r,e,t){let[i,n]=Fd.rerouteArguments(e,t!=null?t:{}),{arity:s=1}=n,o=r.split(","),a=new Set(o);return Fd.makeCommandOption({definition(l){l.addOption({names:o,arity:n.tolerateBoolean?0:s,hidden:n.hidden,description:n.description,required:n.required})},transformer(l,c,u){let g,f=i;for(let{name:h,value:p}of u.options)!a.has(h)||(g=h,f=p);return typeof f=="string"?Fd.applyValidator(g!=null?g:c,f,n.validator):f}})}function Fme(r={}){let{required:e=!0}=r;return Fd.makeCommandOption({definition(t,i){var n;t.addPositional({name:(n=r.name)!==null&&n!==void 0?n:i,required:r.required})},transformer(t,i,n){var s;for(let o=0;o{"use strict";Object.defineProperty(pn,"__esModule",{value:!0});var lf=va(),Tme=FG(),Lme=TG(),Ome=OG(),Mme=MG(),Ume=UG(),Kme=KG();pn.applyValidator=lf.applyValidator;pn.cleanValidationError=lf.cleanValidationError;pn.formatError=lf.formatError;pn.isOptionSymbol=lf.isOptionSymbol;pn.makeCommandOption=lf.makeCommandOption;pn.rerouteArguments=lf.rerouteArguments;pn.Array=Tme.Array;pn.Boolean=Lme.Boolean;pn.Counter=Ome.Counter;pn.Proxy=Mme.Proxy;pn.Rest=Ume.Rest;pn.String=Kme.String});var Xe=y(MA=>{"use strict";Object.defineProperty(MA,"__esModule",{value:!0});var Hme=iy(),Gme=bc(),Yme=jv(),jme=vG(),qme=kG(),Jme=HG();MA.UsageError=Hme.UsageError;MA.Command=Gme.Command;MA.formatMarkdownish=Yme.formatMarkdownish;MA.Cli=jme.Cli;MA.Builtins=qme;MA.Option=Jme});var YG=y((J$e,GG)=>{"use strict";GG.exports=(r,...e)=>new Promise(t=>{t(r(...e))})});var cf=y((W$e,sx)=>{"use strict";var Wme=YG(),jG=r=>{if(r<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");let e=[],t=0,i=()=>{t--,e.length>0&&e.shift()()},n=(a,l,...c)=>{t++;let u=Wme(a,...c);l(u),u.then(i,i)},s=(a,l,...c)=>{tnew Promise(c=>s(a,c,...l));return Object.defineProperties(o,{activeCount:{get:()=>t},pendingCount:{get:()=>e.length}}),o};sx.exports=jG;sx.exports.default=jG});var Nd=y((V$e,qG)=>{var zme="2.0.0",Vme=Number.MAX_SAFE_INTEGER||9007199254740991,Xme=16;qG.exports={SEMVER_SPEC_VERSION:zme,MAX_LENGTH:256,MAX_SAFE_INTEGER:Vme,MAX_SAFE_COMPONENT_LENGTH:Xme}});var Td=y((X$e,JG)=>{var _me=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...r)=>console.error("SEMVER",...r):()=>{};JG.exports=_me});var Sc=y((KA,WG)=>{var{MAX_SAFE_COMPONENT_LENGTH:ox}=Nd(),Zme=Td();KA=WG.exports={};var $me=KA.re=[],_e=KA.src=[],Ze=KA.t={},eEe=0,St=(r,e,t)=>{let i=eEe++;Zme(i,e),Ze[r]=i,_e[i]=e,$me[i]=new RegExp(e,t?"g":void 0)};St("NUMERICIDENTIFIER","0|[1-9]\\d*");St("NUMERICIDENTIFIERLOOSE","[0-9]+");St("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*");St("MAINVERSION",`(${_e[Ze.NUMERICIDENTIFIER]})\\.(${_e[Ze.NUMERICIDENTIFIER]})\\.(${_e[Ze.NUMERICIDENTIFIER]})`);St("MAINVERSIONLOOSE",`(${_e[Ze.NUMERICIDENTIFIERLOOSE]})\\.(${_e[Ze.NUMERICIDENTIFIERLOOSE]})\\.(${_e[Ze.NUMERICIDENTIFIERLOOSE]})`);St("PRERELEASEIDENTIFIER",`(?:${_e[Ze.NUMERICIDENTIFIER]}|${_e[Ze.NONNUMERICIDENTIFIER]})`);St("PRERELEASEIDENTIFIERLOOSE",`(?:${_e[Ze.NUMERICIDENTIFIERLOOSE]}|${_e[Ze.NONNUMERICIDENTIFIER]})`);St("PRERELEASE",`(?:-(${_e[Ze.PRERELEASEIDENTIFIER]}(?:\\.${_e[Ze.PRERELEASEIDENTIFIER]})*))`);St("PRERELEASELOOSE",`(?:-?(${_e[Ze.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${_e[Ze.PRERELEASEIDENTIFIERLOOSE]})*))`);St("BUILDIDENTIFIER","[0-9A-Za-z-]+");St("BUILD",`(?:\\+(${_e[Ze.BUILDIDENTIFIER]}(?:\\.${_e[Ze.BUILDIDENTIFIER]})*))`);St("FULLPLAIN",`v?${_e[Ze.MAINVERSION]}${_e[Ze.PRERELEASE]}?${_e[Ze.BUILD]}?`);St("FULL",`^${_e[Ze.FULLPLAIN]}$`);St("LOOSEPLAIN",`[v=\\s]*${_e[Ze.MAINVERSIONLOOSE]}${_e[Ze.PRERELEASELOOSE]}?${_e[Ze.BUILD]}?`);St("LOOSE",`^${_e[Ze.LOOSEPLAIN]}$`);St("GTLT","((?:<|>)?=?)");St("XRANGEIDENTIFIERLOOSE",`${_e[Ze.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);St("XRANGEIDENTIFIER",`${_e[Ze.NUMERICIDENTIFIER]}|x|X|\\*`);St("XRANGEPLAIN",`[v=\\s]*(${_e[Ze.XRANGEIDENTIFIER]})(?:\\.(${_e[Ze.XRANGEIDENTIFIER]})(?:\\.(${_e[Ze.XRANGEIDENTIFIER]})(?:${_e[Ze.PRERELEASE]})?${_e[Ze.BUILD]}?)?)?`);St("XRANGEPLAINLOOSE",`[v=\\s]*(${_e[Ze.XRANGEIDENTIFIERLOOSE]})(?:\\.(${_e[Ze.XRANGEIDENTIFIERLOOSE]})(?:\\.(${_e[Ze.XRANGEIDENTIFIERLOOSE]})(?:${_e[Ze.PRERELEASELOOSE]})?${_e[Ze.BUILD]}?)?)?`);St("XRANGE",`^${_e[Ze.GTLT]}\\s*${_e[Ze.XRANGEPLAIN]}$`);St("XRANGELOOSE",`^${_e[Ze.GTLT]}\\s*${_e[Ze.XRANGEPLAINLOOSE]}$`);St("COERCE",`(^|[^\\d])(\\d{1,${ox}})(?:\\.(\\d{1,${ox}}))?(?:\\.(\\d{1,${ox}}))?(?:$|[^\\d])`);St("COERCERTL",_e[Ze.COERCE],!0);St("LONETILDE","(?:~>?)");St("TILDETRIM",`(\\s*)${_e[Ze.LONETILDE]}\\s+`,!0);KA.tildeTrimReplace="$1~";St("TILDE",`^${_e[Ze.LONETILDE]}${_e[Ze.XRANGEPLAIN]}$`);St("TILDELOOSE",`^${_e[Ze.LONETILDE]}${_e[Ze.XRANGEPLAINLOOSE]}$`);St("LONECARET","(?:\\^)");St("CARETTRIM",`(\\s*)${_e[Ze.LONECARET]}\\s+`,!0);KA.caretTrimReplace="$1^";St("CARET",`^${_e[Ze.LONECARET]}${_e[Ze.XRANGEPLAIN]}$`);St("CARETLOOSE",`^${_e[Ze.LONECARET]}${_e[Ze.XRANGEPLAINLOOSE]}$`);St("COMPARATORLOOSE",`^${_e[Ze.GTLT]}\\s*(${_e[Ze.LOOSEPLAIN]})$|^$`);St("COMPARATOR",`^${_e[Ze.GTLT]}\\s*(${_e[Ze.FULLPLAIN]})$|^$`);St("COMPARATORTRIM",`(\\s*)${_e[Ze.GTLT]}\\s*(${_e[Ze.LOOSEPLAIN]}|${_e[Ze.XRANGEPLAIN]})`,!0);KA.comparatorTrimReplace="$1$2$3";St("HYPHENRANGE",`^\\s*(${_e[Ze.XRANGEPLAIN]})\\s+-\\s+(${_e[Ze.XRANGEPLAIN]})\\s*$`);St("HYPHENRANGELOOSE",`^\\s*(${_e[Ze.XRANGEPLAINLOOSE]})\\s+-\\s+(${_e[Ze.XRANGEPLAINLOOSE]})\\s*$`);St("STAR","(<|>)?=?\\s*\\*");St("GTE0","^\\s*>=\\s*0.0.0\\s*$");St("GTE0PRE","^\\s*>=\\s*0.0.0-0\\s*$")});var Ld=y((_$e,zG)=>{var tEe=["includePrerelease","loose","rtl"],rEe=r=>r?typeof r!="object"?{loose:!0}:tEe.filter(e=>r[e]).reduce((e,t)=>(e[t]=!0,e),{}):{};zG.exports=rEe});var hy=y((Z$e,_G)=>{var VG=/^[0-9]+$/,XG=(r,e)=>{let t=VG.test(r),i=VG.test(e);return t&&i&&(r=+r,e=+e),r===e?0:t&&!i?-1:i&&!t?1:rXG(e,r);_G.exports={compareIdentifiers:XG,rcompareIdentifiers:iEe}});var Oi=y(($$e,tY)=>{var py=Td(),{MAX_LENGTH:ZG,MAX_SAFE_INTEGER:dy}=Nd(),{re:$G,t:eY}=Sc(),nEe=Ld(),{compareIdentifiers:Od}=hy(),Kn=class{constructor(e,t){if(t=nEe(t),e instanceof Kn){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid Version: ${e}`);if(e.length>ZG)throw new TypeError(`version is longer than ${ZG} characters`);py("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let i=e.trim().match(t.loose?$G[eY.LOOSE]:$G[eY.FULL]);if(!i)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>dy||this.major<0)throw new TypeError("Invalid major version");if(this.minor>dy||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>dy||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);i===-1&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};tY.exports=Kn});var vc=y((eet,sY)=>{var{MAX_LENGTH:sEe}=Nd(),{re:rY,t:iY}=Sc(),nY=Oi(),oEe=Ld(),aEe=(r,e)=>{if(e=oEe(e),r instanceof nY)return r;if(typeof r!="string"||r.length>sEe||!(e.loose?rY[iY.LOOSE]:rY[iY.FULL]).test(r))return null;try{return new nY(r,e)}catch{return null}};sY.exports=aEe});var aY=y((tet,oY)=>{var AEe=vc(),lEe=(r,e)=>{let t=AEe(r,e);return t?t.version:null};oY.exports=lEe});var lY=y((ret,AY)=>{var cEe=vc(),uEe=(r,e)=>{let t=cEe(r.trim().replace(/^[=v]+/,""),e);return t?t.version:null};AY.exports=uEe});var uY=y((iet,cY)=>{var gEe=Oi(),fEe=(r,e,t,i)=>{typeof t=="string"&&(i=t,t=void 0);try{return new gEe(r,t).inc(e,i).version}catch{return null}};cY.exports=fEe});var os=y((net,fY)=>{var gY=Oi(),hEe=(r,e,t)=>new gY(r,t).compare(new gY(e,t));fY.exports=hEe});var Cy=y((set,hY)=>{var pEe=os(),dEe=(r,e,t)=>pEe(r,e,t)===0;hY.exports=dEe});var CY=y((oet,dY)=>{var pY=vc(),CEe=Cy(),mEe=(r,e)=>{if(CEe(r,e))return null;{let t=pY(r),i=pY(e),n=t.prerelease.length||i.prerelease.length,s=n?"pre":"",o=n?"prerelease":"";for(let a in t)if((a==="major"||a==="minor"||a==="patch")&&t[a]!==i[a])return s+a;return o}};dY.exports=mEe});var EY=y((aet,mY)=>{var EEe=Oi(),IEe=(r,e)=>new EEe(r,e).major;mY.exports=IEe});var yY=y((Aet,IY)=>{var yEe=Oi(),wEe=(r,e)=>new yEe(r,e).minor;IY.exports=wEe});var BY=y((cet,wY)=>{var BEe=Oi(),bEe=(r,e)=>new BEe(r,e).patch;wY.exports=bEe});var QY=y((uet,bY)=>{var QEe=vc(),SEe=(r,e)=>{let t=QEe(r,e);return t&&t.prerelease.length?t.prerelease:null};bY.exports=SEe});var vY=y((get,SY)=>{var vEe=os(),xEe=(r,e,t)=>vEe(e,r,t);SY.exports=xEe});var PY=y((fet,xY)=>{var PEe=os(),DEe=(r,e)=>PEe(r,e,!0);xY.exports=DEe});var my=y((het,kY)=>{var DY=Oi(),kEe=(r,e,t)=>{let i=new DY(r,t),n=new DY(e,t);return i.compare(n)||i.compareBuild(n)};kY.exports=kEe});var FY=y((pet,RY)=>{var REe=my(),FEe=(r,e)=>r.sort((t,i)=>REe(t,i,e));RY.exports=FEe});var TY=y((det,NY)=>{var NEe=my(),TEe=(r,e)=>r.sort((t,i)=>NEe(i,t,e));NY.exports=TEe});var Md=y((Cet,LY)=>{var LEe=os(),OEe=(r,e,t)=>LEe(r,e,t)>0;LY.exports=OEe});var Ey=y((met,OY)=>{var MEe=os(),UEe=(r,e,t)=>MEe(r,e,t)<0;OY.exports=UEe});var ax=y((Eet,MY)=>{var KEe=os(),HEe=(r,e,t)=>KEe(r,e,t)!==0;MY.exports=HEe});var Iy=y((Iet,UY)=>{var GEe=os(),YEe=(r,e,t)=>GEe(r,e,t)>=0;UY.exports=YEe});var yy=y((yet,KY)=>{var jEe=os(),qEe=(r,e,t)=>jEe(r,e,t)<=0;KY.exports=qEe});var Ax=y((wet,HY)=>{var JEe=Cy(),WEe=ax(),zEe=Md(),VEe=Iy(),XEe=Ey(),_Ee=yy(),ZEe=(r,e,t,i)=>{switch(e){case"===":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r===t;case"!==":return typeof r=="object"&&(r=r.version),typeof t=="object"&&(t=t.version),r!==t;case"":case"=":case"==":return JEe(r,t,i);case"!=":return WEe(r,t,i);case">":return zEe(r,t,i);case">=":return VEe(r,t,i);case"<":return XEe(r,t,i);case"<=":return _Ee(r,t,i);default:throw new TypeError(`Invalid operator: ${e}`)}};HY.exports=ZEe});var YY=y((Bet,GY)=>{var $Ee=Oi(),eIe=vc(),{re:wy,t:By}=Sc(),tIe=(r,e)=>{if(r instanceof $Ee)return r;if(typeof r=="number"&&(r=String(r)),typeof r!="string")return null;e=e||{};let t=null;if(!e.rtl)t=r.match(wy[By.COERCE]);else{let i;for(;(i=wy[By.COERCERTL].exec(r))&&(!t||t.index+t[0].length!==r.length);)(!t||i.index+i[0].length!==t.index+t[0].length)&&(t=i),wy[By.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;wy[By.COERCERTL].lastIndex=-1}return t===null?null:eIe(`${t[2]}.${t[3]||"0"}.${t[4]||"0"}`,e)};GY.exports=tIe});var qY=y((bet,jY)=>{"use strict";jY.exports=function(r){r.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}});var Ud=y((Qet,JY)=>{"use strict";JY.exports=Ht;Ht.Node=xc;Ht.create=Ht;function Ht(r){var e=this;if(e instanceof Ht||(e=new Ht),e.tail=null,e.head=null,e.length=0,r&&typeof r.forEach=="function")r.forEach(function(n){e.push(n)});else if(arguments.length>0)for(var t=0,i=arguments.length;t1)t=e;else if(this.head)i=this.head.next,t=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)t=r(t,i.value,n),i=i.next;return t};Ht.prototype.reduceReverse=function(r,e){var t,i=this.tail;if(arguments.length>1)t=e;else if(this.tail)i=this.tail.prev,t=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)t=r(t,i.value,n),i=i.prev;return t};Ht.prototype.toArray=function(){for(var r=new Array(this.length),e=0,t=this.head;t!==null;e++)r[e]=t.value,t=t.next;return r};Ht.prototype.toArrayReverse=function(){for(var r=new Array(this.length),e=0,t=this.tail;t!==null;e++)r[e]=t.value,t=t.prev;return r};Ht.prototype.slice=function(r,e){e=e||this.length,e<0&&(e+=this.length),r=r||0,r<0&&(r+=this.length);var t=new Ht;if(ethis.length&&(e=this.length);for(var i=0,n=this.head;n!==null&&ithis.length&&(e=this.length);for(var i=this.length,n=this.tail;n!==null&&i>e;i--)n=n.prev;for(;n!==null&&i>r;i--,n=n.prev)t.push(n.value);return t};Ht.prototype.splice=function(r,e,...t){r>this.length&&(r=this.length-1),r<0&&(r=this.length+r);for(var i=0,n=this.head;n!==null&&i{"use strict";var sIe=Ud(),Pc=Symbol("max"),Pa=Symbol("length"),uf=Symbol("lengthCalculator"),Hd=Symbol("allowStale"),Dc=Symbol("maxAge"),xa=Symbol("dispose"),WY=Symbol("noDisposeOnSet"),Ii=Symbol("lruList"),zs=Symbol("cache"),VY=Symbol("updateAgeOnGet"),lx=()=>1,ux=class{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");let t=this[Pc]=e.max||1/0,i=e.length||lx;if(this[uf]=typeof i!="function"?lx:i,this[Hd]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[Dc]=e.maxAge||0,this[xa]=e.dispose,this[WY]=e.noDisposeOnSet||!1,this[VY]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[Pc]=e||1/0,Kd(this)}get max(){return this[Pc]}set allowStale(e){this[Hd]=!!e}get allowStale(){return this[Hd]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[Dc]=e,Kd(this)}get maxAge(){return this[Dc]}set lengthCalculator(e){typeof e!="function"&&(e=lx),e!==this[uf]&&(this[uf]=e,this[Pa]=0,this[Ii].forEach(t=>{t.length=this[uf](t.value,t.key),this[Pa]+=t.length})),Kd(this)}get lengthCalculator(){return this[uf]}get length(){return this[Pa]}get itemCount(){return this[Ii].length}rforEach(e,t){t=t||this;for(let i=this[Ii].tail;i!==null;){let n=i.prev;zY(this,e,i,t),i=n}}forEach(e,t){t=t||this;for(let i=this[Ii].head;i!==null;){let n=i.next;zY(this,e,i,t),i=n}}keys(){return this[Ii].toArray().map(e=>e.key)}values(){return this[Ii].toArray().map(e=>e.value)}reset(){this[xa]&&this[Ii]&&this[Ii].length&&this[Ii].forEach(e=>this[xa](e.key,e.value)),this[zs]=new Map,this[Ii]=new sIe,this[Pa]=0}dump(){return this[Ii].map(e=>by(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Ii]}set(e,t,i){if(i=i||this[Dc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[uf](t,e);if(this[zs].has(e)){if(s>this[Pc])return gf(this,this[zs].get(e)),!1;let l=this[zs].get(e).value;return this[xa]&&(this[WY]||this[xa](e,l.value)),l.now=n,l.maxAge=i,l.value=t,this[Pa]+=s-l.length,l.length=s,this.get(e),Kd(this),!0}let o=new gx(e,t,s,n,i);return o.length>this[Pc]?(this[xa]&&this[xa](e,t),!1):(this[Pa]+=o.length,this[Ii].unshift(o),this[zs].set(e,this[Ii].head),Kd(this),!0)}has(e){if(!this[zs].has(e))return!1;let t=this[zs].get(e).value;return!by(this,t)}get(e){return cx(this,e,!0)}peek(e){return cx(this,e,!1)}pop(){let e=this[Ii].tail;return e?(gf(this,e),e.value):null}del(e){gf(this,this[zs].get(e))}load(e){this.reset();let t=Date.now();for(let i=e.length-1;i>=0;i--){let n=e[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let o=s-t;o>0&&this.set(n.k,n.v,o)}}}prune(){this[zs].forEach((e,t)=>cx(this,t,!1))}},cx=(r,e,t)=>{let i=r[zs].get(e);if(i){let n=i.value;if(by(r,n)){if(gf(r,i),!r[Hd])return}else t&&(r[VY]&&(i.value.now=Date.now()),r[Ii].unshiftNode(i));return n.value}},by=(r,e)=>{if(!e||!e.maxAge&&!r[Dc])return!1;let t=Date.now()-e.now;return e.maxAge?t>e.maxAge:r[Dc]&&t>r[Dc]},Kd=r=>{if(r[Pa]>r[Pc])for(let e=r[Ii].tail;r[Pa]>r[Pc]&&e!==null;){let t=e.prev;gf(r,e),e=t}},gf=(r,e)=>{if(e){let t=e.value;r[xa]&&r[xa](t.key,t.value),r[Pa]-=t.length,r[zs].delete(t.key),r[Ii].removeNode(e)}},gx=class{constructor(e,t,i,n,s){this.key=e,this.value=t,this.length=i,this.now=n,this.maxAge=s||0}},zY=(r,e,t,i)=>{let n=t.value;by(r,n)&&(gf(r,t),r[Hd]||(n=void 0)),n&&e.call(i,n.value,n.key,r)};XY.exports=ux});var as=y((xet,tj)=>{var kc=class{constructor(e,t){if(t=aIe(t),e instanceof kc)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new kc(e.raw,t);if(e instanceof fx)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!$Y(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&gIe(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let i=`parseRange:${Object.keys(this.options).join(",")}:${e}`,n=ZY.get(i);if(n)return n;let s=this.options.loose,o=s?Mi[Qi.HYPHENRANGELOOSE]:Mi[Qi.HYPHENRANGE];e=e.replace(o,wIe(this.options.includePrerelease)),jr("hyphen replace",e),e=e.replace(Mi[Qi.COMPARATORTRIM],lIe),jr("comparator trim",e,Mi[Qi.COMPARATORTRIM]),e=e.replace(Mi[Qi.TILDETRIM],cIe),e=e.replace(Mi[Qi.CARETTRIM],uIe),e=e.split(/\s+/).join(" ");let a=s?Mi[Qi.COMPARATORLOOSE]:Mi[Qi.COMPARATOR],l=e.split(" ").map(f=>fIe(f,this.options)).join(" ").split(/\s+/).map(f=>yIe(f,this.options)).filter(this.options.loose?f=>!!f.match(a):()=>!0).map(f=>new fx(f,this.options)),c=l.length,u=new Map;for(let f of l){if($Y(f))return[f];u.set(f.value,f)}u.size>1&&u.has("")&&u.delete("");let g=[...u.values()];return ZY.set(i,g),g}intersects(e,t){if(!(e instanceof kc))throw new TypeError("a Range is required");return this.set.some(i=>ej(i,t)&&e.set.some(n=>ej(n,t)&&i.every(s=>n.every(o=>s.intersects(o,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new AIe(e,this.options)}catch{return!1}for(let t=0;tr.value==="<0.0.0-0",gIe=r=>r.value==="",ej=(r,e)=>{let t=!0,i=r.slice(),n=i.pop();for(;t&&i.length;)t=i.every(s=>n.intersects(s,e)),n=i.pop();return t},fIe=(r,e)=>(jr("comp",r,e),r=dIe(r,e),jr("caret",r),r=hIe(r,e),jr("tildes",r),r=mIe(r,e),jr("xrange",r),r=IIe(r,e),jr("stars",r),r),Xi=r=>!r||r.toLowerCase()==="x"||r==="*",hIe=(r,e)=>r.trim().split(/\s+/).map(t=>pIe(t,e)).join(" "),pIe=(r,e)=>{let t=e.loose?Mi[Qi.TILDELOOSE]:Mi[Qi.TILDE];return r.replace(t,(i,n,s,o,a)=>{jr("tilde",r,i,n,s,o,a);let l;return Xi(n)?l="":Xi(s)?l=`>=${n}.0.0 <${+n+1}.0.0-0`:Xi(o)?l=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:a?(jr("replaceTilde pr",a),l=`>=${n}.${s}.${o}-${a} <${n}.${+s+1}.0-0`):l=`>=${n}.${s}.${o} <${n}.${+s+1}.0-0`,jr("tilde return",l),l})},dIe=(r,e)=>r.trim().split(/\s+/).map(t=>CIe(t,e)).join(" "),CIe=(r,e)=>{jr("caret",r,e);let t=e.loose?Mi[Qi.CARETLOOSE]:Mi[Qi.CARET],i=e.includePrerelease?"-0":"";return r.replace(t,(n,s,o,a,l)=>{jr("caret",r,n,s,o,a,l);let c;return Xi(s)?c="":Xi(o)?c=`>=${s}.0.0${i} <${+s+1}.0.0-0`:Xi(a)?s==="0"?c=`>=${s}.${o}.0${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.0${i} <${+s+1}.0.0-0`:l?(jr("replaceCaret pr",l),s==="0"?o==="0"?c=`>=${s}.${o}.${a}-${l} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}-${l} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a}-${l} <${+s+1}.0.0-0`):(jr("no pr"),s==="0"?o==="0"?c=`>=${s}.${o}.${a}${i} <${s}.${o}.${+a+1}-0`:c=`>=${s}.${o}.${a}${i} <${s}.${+o+1}.0-0`:c=`>=${s}.${o}.${a} <${+s+1}.0.0-0`),jr("caret return",c),c})},mIe=(r,e)=>(jr("replaceXRanges",r,e),r.split(/\s+/).map(t=>EIe(t,e)).join(" ")),EIe=(r,e)=>{r=r.trim();let t=e.loose?Mi[Qi.XRANGELOOSE]:Mi[Qi.XRANGE];return r.replace(t,(i,n,s,o,a,l)=>{jr("xRange",r,i,n,s,o,a,l);let c=Xi(s),u=c||Xi(o),g=u||Xi(a),f=g;return n==="="&&f&&(n=""),l=e.includePrerelease?"-0":"",c?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&f?(u&&(o=0),a=0,n===">"?(n=">=",u?(s=+s+1,o=0,a=0):(o=+o+1,a=0)):n==="<="&&(n="<",u?s=+s+1:o=+o+1),n==="<"&&(l="-0"),i=`${n+s}.${o}.${a}${l}`):u?i=`>=${s}.0.0${l} <${+s+1}.0.0-0`:g&&(i=`>=${s}.${o}.0${l} <${s}.${+o+1}.0-0`),jr("xRange return",i),i})},IIe=(r,e)=>(jr("replaceStars",r,e),r.trim().replace(Mi[Qi.STAR],"")),yIe=(r,e)=>(jr("replaceGTE0",r,e),r.trim().replace(Mi[e.includePrerelease?Qi.GTE0PRE:Qi.GTE0],"")),wIe=r=>(e,t,i,n,s,o,a,l,c,u,g,f,h)=>(Xi(i)?t="":Xi(n)?t=`>=${i}.0.0${r?"-0":""}`:Xi(s)?t=`>=${i}.${n}.0${r?"-0":""}`:o?t=`>=${t}`:t=`>=${t}${r?"-0":""}`,Xi(c)?l="":Xi(u)?l=`<${+c+1}.0.0-0`:Xi(g)?l=`<${c}.${+u+1}.0-0`:f?l=`<=${c}.${u}.${g}-${f}`:r?l=`<${c}.${u}.${+g+1}-0`:l=`<=${l}`,`${t} ${l}`.trim()),BIe=(r,e,t)=>{for(let i=0;i0){let n=r[i].semver;if(n.major===e.major&&n.minor===e.minor&&n.patch===e.patch)return!0}return!1}return!0}});var Gd=y((Pet,oj)=>{var Yd=Symbol("SemVer ANY"),ff=class{static get ANY(){return Yd}constructor(e,t){if(t=bIe(t),e instanceof ff){if(e.loose===!!t.loose)return e;e=e.value}px("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===Yd?this.value="":this.value=this.operator+this.semver.version,px("comp",this)}parse(e){let t=this.options.loose?rj[ij.COMPARATORLOOSE]:rj[ij.COMPARATOR],i=e.match(t);if(!i)throw new TypeError(`Invalid comparator: ${e}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new nj(i[2],this.options.loose):this.semver=Yd}toString(){return this.value}test(e){if(px("Comparator.test",e,this.options.loose),this.semver===Yd||e===Yd)return!0;if(typeof e=="string")try{e=new nj(e,this.options)}catch{return!1}return hx(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof ff))throw new TypeError("a Comparator is required");if((!t||typeof t!="object")&&(t={loose:!!t,includePrerelease:!1}),this.operator==="")return this.value===""?!0:new sj(e.value,t).test(this.value);if(e.operator==="")return e.value===""?!0:new sj(this.value,t).test(e.semver);let i=(this.operator===">="||this.operator===">")&&(e.operator===">="||e.operator===">"),n=(this.operator==="<="||this.operator==="<")&&(e.operator==="<="||e.operator==="<"),s=this.semver.version===e.semver.version,o=(this.operator===">="||this.operator==="<=")&&(e.operator===">="||e.operator==="<="),a=hx(this.semver,"<",e.semver,t)&&(this.operator===">="||this.operator===">")&&(e.operator==="<="||e.operator==="<"),l=hx(this.semver,">",e.semver,t)&&(this.operator==="<="||this.operator==="<")&&(e.operator===">="||e.operator===">");return i||n||s&&o||a||l}};oj.exports=ff;var bIe=Ld(),{re:rj,t:ij}=Sc(),hx=Ax(),px=Td(),nj=Oi(),sj=as()});var jd=y((Det,aj)=>{var QIe=as(),SIe=(r,e,t)=>{try{e=new QIe(e,t)}catch{return!1}return e.test(r)};aj.exports=SIe});var lj=y((ket,Aj)=>{var vIe=as(),xIe=(r,e)=>new vIe(r,e).set.map(t=>t.map(i=>i.value).join(" ").trim().split(" "));Aj.exports=xIe});var uj=y((Ret,cj)=>{var PIe=Oi(),DIe=as(),kIe=(r,e,t)=>{let i=null,n=null,s=null;try{s=new DIe(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===-1)&&(i=o,n=new PIe(i,t))}),i};cj.exports=kIe});var fj=y((Fet,gj)=>{var RIe=Oi(),FIe=as(),NIe=(r,e,t)=>{let i=null,n=null,s=null;try{s=new FIe(e,t)}catch{return null}return r.forEach(o=>{s.test(o)&&(!i||n.compare(o)===1)&&(i=o,n=new RIe(i,t))}),i};gj.exports=NIe});var dj=y((Net,pj)=>{var dx=Oi(),TIe=as(),hj=Md(),LIe=(r,e)=>{r=new TIe(r,e);let t=new dx("0.0.0");if(r.test(t)||(t=new dx("0.0.0-0"),r.test(t)))return t;t=null;for(let i=0;i{let a=new dx(o.semver.version);switch(o.operator){case">":a.prerelease.length===0?a.patch++:a.prerelease.push(0),a.raw=a.format();case"":case">=":(!s||hj(a,s))&&(s=a);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),s&&(!t||hj(t,s))&&(t=s)}return t&&r.test(t)?t:null};pj.exports=LIe});var mj=y((Tet,Cj)=>{var OIe=as(),MIe=(r,e)=>{try{return new OIe(r,e).range||"*"}catch{return null}};Cj.exports=MIe});var Qy=y((Let,wj)=>{var UIe=Oi(),yj=Gd(),{ANY:KIe}=yj,HIe=as(),GIe=jd(),Ej=Md(),Ij=Ey(),YIe=yy(),jIe=Iy(),qIe=(r,e,t,i)=>{r=new UIe(r,i),e=new HIe(e,i);let n,s,o,a,l;switch(t){case">":n=Ej,s=YIe,o=Ij,a=">",l=">=";break;case"<":n=Ij,s=jIe,o=Ej,a="<",l="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(GIe(r,e,i))return!1;for(let c=0;c{h.semver===KIe&&(h=new yj(">=0.0.0")),g=g||h,f=f||h,n(h.semver,g.semver,i)?g=h:o(h.semver,f.semver,i)&&(f=h)}),g.operator===a||g.operator===l||(!f.operator||f.operator===a)&&s(r,f.semver))return!1;if(f.operator===l&&o(r,f.semver))return!1}return!0};wj.exports=qIe});var bj=y((Oet,Bj)=>{var JIe=Qy(),WIe=(r,e,t)=>JIe(r,e,">",t);Bj.exports=WIe});var Sj=y((Met,Qj)=>{var zIe=Qy(),VIe=(r,e,t)=>zIe(r,e,"<",t);Qj.exports=VIe});var Pj=y((Uet,xj)=>{var vj=as(),XIe=(r,e,t)=>(r=new vj(r,t),e=new vj(e,t),r.intersects(e));xj.exports=XIe});var kj=y((Ket,Dj)=>{var _Ie=jd(),ZIe=os();Dj.exports=(r,e,t)=>{let i=[],n=null,s=null,o=r.sort((u,g)=>ZIe(u,g,t));for(let u of o)_Ie(u,e,t)?(s=u,n||(n=u)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let a=[];for(let[u,g]of i)u===g?a.push(u):!g&&u===o[0]?a.push("*"):g?u===o[0]?a.push(`<=${g}`):a.push(`${u} - ${g}`):a.push(`>=${u}`);let l=a.join(" || "),c=typeof e.raw=="string"?e.raw:String(e);return l.length{var Rj=as(),Sy=Gd(),{ANY:Cx}=Sy,qd=jd(),mx=os(),$Ie=(r,e,t={})=>{if(r===e)return!0;r=new Rj(r,t),e=new Rj(e,t);let i=!1;e:for(let n of r.set){for(let s of e.set){let o=eye(n,s,t);if(i=i||o!==null,o)continue e}if(i)return!1}return!0},eye=(r,e,t)=>{if(r===e)return!0;if(r.length===1&&r[0].semver===Cx){if(e.length===1&&e[0].semver===Cx)return!0;t.includePrerelease?r=[new Sy(">=0.0.0-0")]:r=[new Sy(">=0.0.0")]}if(e.length===1&&e[0].semver===Cx){if(t.includePrerelease)return!0;e=[new Sy(">=0.0.0")]}let i=new Set,n,s;for(let h of r)h.operator===">"||h.operator===">="?n=Fj(n,h,t):h.operator==="<"||h.operator==="<="?s=Nj(s,h,t):i.add(h.semver);if(i.size>1)return null;let o;if(n&&s){if(o=mx(n.semver,s.semver,t),o>0)return null;if(o===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let h of i){if(n&&!qd(h,String(n),t)||s&&!qd(h,String(s),t))return null;for(let p of e)if(!qd(h,String(p),t))return!1;return!0}let a,l,c,u,g=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1,f=n&&!t.includePrerelease&&n.semver.prerelease.length?n.semver:!1;g&&g.prerelease.length===1&&s.operator==="<"&&g.prerelease[0]===0&&(g=!1);for(let h of e){if(u=u||h.operator===">"||h.operator===">=",c=c||h.operator==="<"||h.operator==="<=",n){if(f&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===f.major&&h.semver.minor===f.minor&&h.semver.patch===f.patch&&(f=!1),h.operator===">"||h.operator===">="){if(a=Fj(n,h,t),a===h&&a!==n)return!1}else if(n.operator===">="&&!qd(n.semver,String(h),t))return!1}if(s){if(g&&h.semver.prerelease&&h.semver.prerelease.length&&h.semver.major===g.major&&h.semver.minor===g.minor&&h.semver.patch===g.patch&&(g=!1),h.operator==="<"||h.operator==="<="){if(l=Nj(s,h,t),l===h&&l!==s)return!1}else if(s.operator==="<="&&!qd(s.semver,String(h),t))return!1}if(!h.operator&&(s||n)&&o!==0)return!1}return!(n&&c&&!s&&o!==0||s&&u&&!n&&o!==0||f||g)},Fj=(r,e,t)=>{if(!r)return e;let i=mx(r.semver,e.semver,t);return i>0?r:i<0||e.operator===">"&&r.operator===">="?e:r},Nj=(r,e,t)=>{if(!r)return e;let i=mx(r.semver,e.semver,t);return i<0?r:i>0||e.operator==="<"&&r.operator==="<="?e:r};Tj.exports=$Ie});var $r=y((Get,Oj)=>{var Ex=Sc();Oj.exports={re:Ex.re,src:Ex.src,tokens:Ex.t,SEMVER_SPEC_VERSION:Nd().SEMVER_SPEC_VERSION,SemVer:Oi(),compareIdentifiers:hy().compareIdentifiers,rcompareIdentifiers:hy().rcompareIdentifiers,parse:vc(),valid:aY(),clean:lY(),inc:uY(),diff:CY(),major:EY(),minor:yY(),patch:BY(),prerelease:QY(),compare:os(),rcompare:vY(),compareLoose:PY(),compareBuild:my(),sort:FY(),rsort:TY(),gt:Md(),lt:Ey(),eq:Cy(),neq:ax(),gte:Iy(),lte:yy(),cmp:Ax(),coerce:YY(),Comparator:Gd(),Range:as(),satisfies:jd(),toComparators:lj(),maxSatisfying:uj(),minSatisfying:fj(),minVersion:dj(),validRange:mj(),outside:Qy(),gtr:bj(),ltr:Sj(),intersects:Pj(),simplifyRange:kj(),subset:Lj()}});var Ix=y(vy=>{"use strict";Object.defineProperty(vy,"__esModule",{value:!0});vy.VERSION=void 0;vy.VERSION="9.1.0"});var Gt=y((exports,module)=>{"use strict";var __spreadArray=exports&&exports.__spreadArray||function(r,e,t){if(t||arguments.length===2)for(var i=0,n=e.length,s;i{(function(r,e){typeof define=="function"&&define.amd?define([],e):typeof xy=="object"&&xy.exports?xy.exports=e():r.regexpToAst=e()})(typeof self<"u"?self:Mj,function(){function r(){}r.prototype.saveState=function(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}},r.prototype.restoreState=function(p){this.idx=p.idx,this.input=p.input,this.groupIdx=p.groupIdx},r.prototype.pattern=function(p){this.idx=0,this.input=p,this.groupIdx=0,this.consumeChar("/");var C=this.disjunction();this.consumeChar("/");for(var w={type:"Flags",loc:{begin:this.idx,end:p.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};this.isRegExpFlag();)switch(this.popChar()){case"g":o(w,"global");break;case"i":o(w,"ignoreCase");break;case"m":o(w,"multiLine");break;case"u":o(w,"unicode");break;case"y":o(w,"sticky");break}if(this.idx!==this.input.length)throw Error("Redundant input: "+this.input.substring(this.idx));return{type:"Pattern",flags:w,value:C,loc:this.loc(0)}},r.prototype.disjunction=function(){var p=[],C=this.idx;for(p.push(this.alternative());this.peekChar()==="|";)this.consumeChar("|"),p.push(this.alternative());return{type:"Disjunction",value:p,loc:this.loc(C)}},r.prototype.alternative=function(){for(var p=[],C=this.idx;this.isTerm();)p.push(this.term());return{type:"Alternative",value:p,loc:this.loc(C)}},r.prototype.term=function(){return this.isAssertion()?this.assertion():this.atom()},r.prototype.assertion=function(){var p=this.idx;switch(this.popChar()){case"^":return{type:"StartAnchor",loc:this.loc(p)};case"$":return{type:"EndAnchor",loc:this.loc(p)};case"\\":switch(this.popChar()){case"b":return{type:"WordBoundary",loc:this.loc(p)};case"B":return{type:"NonWordBoundary",loc:this.loc(p)}}throw Error("Invalid Assertion Escape");case"(":this.consumeChar("?");var C;switch(this.popChar()){case"=":C="Lookahead";break;case"!":C="NegativeLookahead";break}a(C);var w=this.disjunction();return this.consumeChar(")"),{type:C,value:w,loc:this.loc(p)}}l()},r.prototype.quantifier=function(p){var C,w=this.idx;switch(this.popChar()){case"*":C={atLeast:0,atMost:1/0};break;case"+":C={atLeast:1,atMost:1/0};break;case"?":C={atLeast:0,atMost:1};break;case"{":var B=this.integerIncludingZero();switch(this.popChar()){case"}":C={atLeast:B,atMost:B};break;case",":var v;this.isDigit()?(v=this.integerIncludingZero(),C={atLeast:B,atMost:v}):C={atLeast:B,atMost:1/0},this.consumeChar("}");break}if(p===!0&&C===void 0)return;a(C);break}if(!(p===!0&&C===void 0))return a(C),this.peekChar(0)==="?"?(this.consumeChar("?"),C.greedy=!1):C.greedy=!0,C.type="Quantifier",C.loc=this.loc(w),C},r.prototype.atom=function(){var p,C=this.idx;switch(this.peekChar()){case".":p=this.dotAll();break;case"\\":p=this.atomEscape();break;case"[":p=this.characterClass();break;case"(":p=this.group();break}return p===void 0&&this.isPatternCharacter()&&(p=this.patternCharacter()),a(p),p.loc=this.loc(C),this.isQuantifier()&&(p.quantifier=this.quantifier()),p},r.prototype.dotAll=function(){return this.consumeChar("."),{type:"Set",complement:!0,value:[n(` -`),n("\r"),n("\u2028"),n("\u2029")]}},r.prototype.atomEscape=function(){switch(this.consumeChar("\\"),this.peekChar()){case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return this.decimalEscapeAtom();case"d":case"D":case"s":case"S":case"w":case"W":return this.characterClassEscape();case"f":case"n":case"r":case"t":case"v":return this.controlEscapeAtom();case"c":return this.controlLetterEscapeAtom();case"0":return this.nulCharacterAtom();case"x":return this.hexEscapeSequenceAtom();case"u":return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}},r.prototype.decimalEscapeAtom=function(){var p=this.positiveInteger();return{type:"GroupBackReference",value:p}},r.prototype.characterClassEscape=function(){var p,C=!1;switch(this.popChar()){case"d":p=u;break;case"D":p=u,C=!0;break;case"s":p=f;break;case"S":p=f,C=!0;break;case"w":p=g;break;case"W":p=g,C=!0;break}return a(p),{type:"Set",value:p,complement:C}},r.prototype.controlEscapeAtom=function(){var p;switch(this.popChar()){case"f":p=n("\f");break;case"n":p=n(` -`);break;case"r":p=n("\r");break;case"t":p=n(" ");break;case"v":p=n("\v");break}return a(p),{type:"Character",value:p}},r.prototype.controlLetterEscapeAtom=function(){this.consumeChar("c");var p=this.popChar();if(/[a-zA-Z]/.test(p)===!1)throw Error("Invalid ");var C=p.toUpperCase().charCodeAt(0)-64;return{type:"Character",value:C}},r.prototype.nulCharacterAtom=function(){return this.consumeChar("0"),{type:"Character",value:n("\0")}},r.prototype.hexEscapeSequenceAtom=function(){return this.consumeChar("x"),this.parseHexDigits(2)},r.prototype.regExpUnicodeEscapeSequenceAtom=function(){return this.consumeChar("u"),this.parseHexDigits(4)},r.prototype.identityEscapeAtom=function(){var p=this.popChar();return{type:"Character",value:n(p)}},r.prototype.classPatternCharacterAtom=function(){switch(this.peekChar()){case` -`:case"\r":case"\u2028":case"\u2029":case"\\":case"]":throw Error("TBD");default:var p=this.popChar();return{type:"Character",value:n(p)}}},r.prototype.characterClass=function(){var p=[],C=!1;for(this.consumeChar("["),this.peekChar(0)==="^"&&(this.consumeChar("^"),C=!0);this.isClassAtom();){var w=this.classAtom(),B=w.type==="Character";if(B&&this.isRangeDash()){this.consumeChar("-");var v=this.classAtom(),D=v.type==="Character";if(D){if(v.value=this.input.length)throw Error("Unexpected end of input");this.idx++},r.prototype.loc=function(p){return{begin:p,end:this.idx}};var e=/[0-9a-fA-F]/,t=/[0-9]/,i=/[1-9]/;function n(p){return p.charCodeAt(0)}function s(p,C){p.length!==void 0?p.forEach(function(w){C.push(w)}):C.push(p)}function o(p,C){if(p[C]===!0)throw"duplicate flag "+C;p[C]=!0}function a(p){if(p===void 0)throw Error("Internal Error - Should never get here!")}function l(){throw Error("Internal Error - Should never get here!")}var c,u=[];for(c=n("0");c<=n("9");c++)u.push(c);var g=[n("_")].concat(u);for(c=n("a");c<=n("z");c++)g.push(c);for(c=n("A");c<=n("Z");c++)g.push(c);var f=[n(" "),n("\f"),n(` -`),n("\r"),n(" "),n("\v"),n(" "),n("\xA0"),n("\u1680"),n("\u2000"),n("\u2001"),n("\u2002"),n("\u2003"),n("\u2004"),n("\u2005"),n("\u2006"),n("\u2007"),n("\u2008"),n("\u2009"),n("\u200A"),n("\u2028"),n("\u2029"),n("\u202F"),n("\u205F"),n("\u3000"),n("\uFEFF")];function h(){}return h.prototype.visitChildren=function(p){for(var C in p){var w=p[C];p.hasOwnProperty(C)&&(w.type!==void 0?this.visit(w):Array.isArray(w)&&w.forEach(function(B){this.visit(B)},this))}},h.prototype.visit=function(p){switch(p.type){case"Pattern":this.visitPattern(p);break;case"Flags":this.visitFlags(p);break;case"Disjunction":this.visitDisjunction(p);break;case"Alternative":this.visitAlternative(p);break;case"StartAnchor":this.visitStartAnchor(p);break;case"EndAnchor":this.visitEndAnchor(p);break;case"WordBoundary":this.visitWordBoundary(p);break;case"NonWordBoundary":this.visitNonWordBoundary(p);break;case"Lookahead":this.visitLookahead(p);break;case"NegativeLookahead":this.visitNegativeLookahead(p);break;case"Character":this.visitCharacter(p);break;case"Set":this.visitSet(p);break;case"Group":this.visitGroup(p);break;case"GroupBackReference":this.visitGroupBackReference(p);break;case"Quantifier":this.visitQuantifier(p);break}this.visitChildren(p)},h.prototype.visitPattern=function(p){},h.prototype.visitFlags=function(p){},h.prototype.visitDisjunction=function(p){},h.prototype.visitAlternative=function(p){},h.prototype.visitStartAnchor=function(p){},h.prototype.visitEndAnchor=function(p){},h.prototype.visitWordBoundary=function(p){},h.prototype.visitNonWordBoundary=function(p){},h.prototype.visitLookahead=function(p){},h.prototype.visitNegativeLookahead=function(p){},h.prototype.visitCharacter=function(p){},h.prototype.visitSet=function(p){},h.prototype.visitGroup=function(p){},h.prototype.visitGroupBackReference=function(p){},h.prototype.visitQuantifier=function(p){},{RegExpParser:r,BaseRegExpVisitor:h,VERSION:"0.5.0"}})});var ky=y(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});hf.clearRegExpParserCache=hf.getRegExpAst=void 0;var tye=Py(),Dy={},rye=new tye.RegExpParser;function iye(r){var e=r.toString();if(Dy.hasOwnProperty(e))return Dy[e];var t=rye.pattern(e);return Dy[e]=t,t}hf.getRegExpAst=iye;function nye(){Dy={}}hf.clearRegExpParserCache=nye});var Yj=y(dn=>{"use strict";var sye=dn&&dn.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(dn,"__esModule",{value:!0});dn.canMatchCharCode=dn.firstCharOptimizedIndices=dn.getOptimizedStartCodesIndices=dn.failedOptimizationPrefixMsg=void 0;var Kj=Py(),As=Gt(),Hj=ky(),Da=wx(),Gj="Complement Sets are not supported for first char optimization";dn.failedOptimizationPrefixMsg=`Unable to use "first char" lexer optimizations: -`;function oye(r,e){e===void 0&&(e=!1);try{var t=(0,Hj.getRegExpAst)(r),i=Fy(t.value,{},t.flags.ignoreCase);return i}catch(s){if(s.message===Gj)e&&(0,As.PRINT_WARNING)(""+dn.failedOptimizationPrefixMsg+(" Unable to optimize: < "+r.toString()+` > -`)+` Complement Sets cannot be automatically optimized. - This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{var n="";e&&(n=` - This will disable the lexer's first char optimizations. - See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),(0,As.PRINT_ERROR)(dn.failedOptimizationPrefixMsg+` -`+(" Failed parsing: < "+r.toString()+` > -`)+(" Using the regexp-to-ast library version: "+Kj.VERSION+` -`)+" Please open an issue at: https://github.com/bd82/regexp-to-ast/issues"+n)}}return[]}dn.getOptimizedStartCodesIndices=oye;function Fy(r,e,t){switch(r.type){case"Disjunction":for(var i=0;i=Da.minOptimizationVal)for(var f=u.from>=Da.minOptimizationVal?u.from:Da.minOptimizationVal,h=u.to,p=(0,Da.charCodeToOptimizedIndex)(f),C=(0,Da.charCodeToOptimizedIndex)(h),w=p;w<=C;w++)e[w]=w}}});break;case"Group":Fy(o.value,e,t);break;default:throw Error("Non Exhaustive Match")}var a=o.quantifier!==void 0&&o.quantifier.atLeast===0;if(o.type==="Group"&&yx(o)===!1||o.type!=="Group"&&a===!1)break}break;default:throw Error("non exhaustive match!")}return(0,As.values)(e)}dn.firstCharOptimizedIndices=Fy;function Ry(r,e,t){var i=(0,Da.charCodeToOptimizedIndex)(r);e[i]=i,t===!0&&aye(r,e)}function aye(r,e){var t=String.fromCharCode(r),i=t.toUpperCase();if(i!==t){var n=(0,Da.charCodeToOptimizedIndex)(i.charCodeAt(0));e[n]=n}else{var s=t.toLowerCase();if(s!==t){var n=(0,Da.charCodeToOptimizedIndex)(s.charCodeAt(0));e[n]=n}}}function Uj(r,e){return(0,As.find)(r.value,function(t){if(typeof t=="number")return(0,As.contains)(e,t);var i=t;return(0,As.find)(e,function(n){return i.from<=n&&n<=i.to})!==void 0})}function yx(r){return r.quantifier&&r.quantifier.atLeast===0?!0:r.value?(0,As.isArray)(r.value)?(0,As.every)(r.value,yx):yx(r.value):!1}var Aye=function(r){sye(e,r);function e(t){var i=r.call(this)||this;return i.targetCharCodes=t,i.found=!1,i}return e.prototype.visitChildren=function(t){if(this.found!==!0){switch(t.type){case"Lookahead":this.visitLookahead(t);return;case"NegativeLookahead":this.visitNegativeLookahead(t);return}r.prototype.visitChildren.call(this,t)}},e.prototype.visitCharacter=function(t){(0,As.contains)(this.targetCharCodes,t.value)&&(this.found=!0)},e.prototype.visitSet=function(t){t.complement?Uj(t,this.targetCharCodes)===void 0&&(this.found=!0):Uj(t,this.targetCharCodes)!==void 0&&(this.found=!0)},e}(Kj.BaseRegExpVisitor);function lye(r,e){if(e instanceof RegExp){var t=(0,Hj.getRegExpAst)(e),i=new Aye(r);return i.visit(t),i.found}else return(0,As.find)(e,function(n){return(0,As.contains)(r,n.charCodeAt(0))})!==void 0}dn.canMatchCharCode=lye});var wx=y(Je=>{"use strict";var jj=Je&&Je.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Je,"__esModule",{value:!0});Je.charCodeToOptimizedIndex=Je.minOptimizationVal=Je.buildLineBreakIssueMessage=Je.LineTerminatorOptimizedTester=Je.isShortPattern=Je.isCustomPattern=Je.cloneEmptyGroups=Je.performWarningRuntimeChecks=Je.performRuntimeChecks=Je.addStickyFlag=Je.addStartOfInput=Je.findUnreachablePatterns=Je.findModesThatDoNotExist=Je.findInvalidGroupType=Je.findDuplicatePatterns=Je.findUnsupportedFlags=Je.findStartOfInputAnchor=Je.findEmptyMatchRegExps=Je.findEndOfInputAnchor=Je.findInvalidPatterns=Je.findMissingPatterns=Je.validatePatterns=Je.analyzeTokenTypes=Je.enableSticky=Je.disableSticky=Je.SUPPORT_STICKY=Je.MODES=Je.DEFAULT_MODE=void 0;var qj=Py(),ir=Jd(),Se=Gt(),pf=Yj(),Jj=ky(),Do="PATTERN";Je.DEFAULT_MODE="defaultMode";Je.MODES="modes";Je.SUPPORT_STICKY=typeof new RegExp("(?:)").sticky=="boolean";function cye(){Je.SUPPORT_STICKY=!1}Je.disableSticky=cye;function uye(){Je.SUPPORT_STICKY=!0}Je.enableSticky=uye;function gye(r,e){e=(0,Se.defaults)(e,{useSticky:Je.SUPPORT_STICKY,debug:!1,safeMode:!1,positionTracking:"full",lineTerminatorCharacters:["\r",` -`],tracer:function(v,D){return D()}});var t=e.tracer;t("initCharCodeToOptimizedIndexMap",function(){wye()});var i;t("Reject Lexer.NA",function(){i=(0,Se.reject)(r,function(v){return v[Do]===ir.Lexer.NA})});var n=!1,s;t("Transform Patterns",function(){n=!1,s=(0,Se.map)(i,function(v){var D=v[Do];if((0,Se.isRegExp)(D)){var T=D.source;return T.length===1&&T!=="^"&&T!=="$"&&T!=="."&&!D.ignoreCase?T:T.length===2&&T[0]==="\\"&&!(0,Se.contains)(["d","D","s","S","t","r","n","t","0","c","b","B","f","v","w","W"],T[1])?T[1]:e.useSticky?Qx(D):bx(D)}else{if((0,Se.isFunction)(D))return n=!0,{exec:D};if((0,Se.has)(D,"exec"))return n=!0,D;if(typeof D=="string"){if(D.length===1)return D;var H=D.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),j=new RegExp(H);return e.useSticky?Qx(j):bx(j)}else throw Error("non exhaustive match")}})});var o,a,l,c,u;t("misc mapping",function(){o=(0,Se.map)(i,function(v){return v.tokenTypeIdx}),a=(0,Se.map)(i,function(v){var D=v.GROUP;if(D!==ir.Lexer.SKIPPED){if((0,Se.isString)(D))return D;if((0,Se.isUndefined)(D))return!1;throw Error("non exhaustive match")}}),l=(0,Se.map)(i,function(v){var D=v.LONGER_ALT;if(D){var T=(0,Se.isArray)(D)?(0,Se.map)(D,function(H){return(0,Se.indexOf)(i,H)}):[(0,Se.indexOf)(i,D)];return T}}),c=(0,Se.map)(i,function(v){return v.PUSH_MODE}),u=(0,Se.map)(i,function(v){return(0,Se.has)(v,"POP_MODE")})});var g;t("Line Terminator Handling",function(){var v=oq(e.lineTerminatorCharacters);g=(0,Se.map)(i,function(D){return!1}),e.positionTracking!=="onlyOffset"&&(g=(0,Se.map)(i,function(D){if((0,Se.has)(D,"LINE_BREAKS"))return D.LINE_BREAKS;if(nq(D,v)===!1)return(0,pf.canMatchCharCode)(v,D.PATTERN)}))});var f,h,p,C;t("Misc Mapping #2",function(){f=(0,Se.map)(i,vx),h=(0,Se.map)(s,iq),p=(0,Se.reduce)(i,function(v,D){var T=D.GROUP;return(0,Se.isString)(T)&&T!==ir.Lexer.SKIPPED&&(v[T]=[]),v},{}),C=(0,Se.map)(s,function(v,D){return{pattern:s[D],longerAlt:l[D],canLineTerminator:g[D],isCustom:f[D],short:h[D],group:a[D],push:c[D],pop:u[D],tokenTypeIdx:o[D],tokenType:i[D]}})});var w=!0,B=[];return e.safeMode||t("First Char Optimization",function(){B=(0,Se.reduce)(i,function(v,D,T){if(typeof D.PATTERN=="string"){var H=D.PATTERN.charCodeAt(0),j=Sx(H);Bx(v,j,C[T])}else if((0,Se.isArray)(D.START_CHARS_HINT)){var $;(0,Se.forEach)(D.START_CHARS_HINT,function(W){var Z=typeof W=="string"?W.charCodeAt(0):W,A=Sx(Z);$!==A&&($=A,Bx(v,A,C[T]))})}else if((0,Se.isRegExp)(D.PATTERN))if(D.PATTERN.unicode)w=!1,e.ensureOptimizations&&(0,Se.PRINT_ERROR)(""+pf.failedOptimizationPrefixMsg+(" Unable to analyze < "+D.PATTERN.toString()+` > pattern. -`)+` The regexp unicode flag is not currently supported by the regexp-to-ast library. - This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNICODE_OPTIMIZE`);else{var V=(0,pf.getOptimizedStartCodesIndices)(D.PATTERN,e.ensureOptimizations);(0,Se.isEmpty)(V)&&(w=!1),(0,Se.forEach)(V,function(W){Bx(v,W,C[T])})}else e.ensureOptimizations&&(0,Se.PRINT_ERROR)(""+pf.failedOptimizationPrefixMsg+(" TokenType: <"+D.name+`> is using a custom token pattern without providing parameter. -`)+` This will disable the lexer's first char optimizations. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_OPTIMIZE`),w=!1;return v},[])}),t("ArrayPacking",function(){B=(0,Se.packArray)(B)}),{emptyGroups:p,patternIdxToConfig:C,charCodeToPatternIdxToConfig:B,hasCustom:n,canBeOptimized:w}}Je.analyzeTokenTypes=gye;function fye(r,e){var t=[],i=Wj(r);t=t.concat(i.errors);var n=zj(i.valid),s=n.valid;return t=t.concat(n.errors),t=t.concat(hye(s)),t=t.concat(eq(s)),t=t.concat(tq(s,e)),t=t.concat(rq(s)),t}Je.validatePatterns=fye;function hye(r){var e=[],t=(0,Se.filter)(r,function(i){return(0,Se.isRegExp)(i[Do])});return e=e.concat(Vj(t)),e=e.concat(_j(t)),e=e.concat(Zj(t)),e=e.concat($j(t)),e=e.concat(Xj(t)),e}function Wj(r){var e=(0,Se.filter)(r,function(n){return!(0,Se.has)(n,Do)}),t=(0,Se.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- missing static 'PATTERN' property",type:ir.LexerDefinitionErrorType.MISSING_PATTERN,tokenTypes:[n]}}),i=(0,Se.difference)(r,e);return{errors:t,valid:i}}Je.findMissingPatterns=Wj;function zj(r){var e=(0,Se.filter)(r,function(n){var s=n[Do];return!(0,Se.isRegExp)(s)&&!(0,Se.isFunction)(s)&&!(0,Se.has)(s,"exec")&&!(0,Se.isString)(s)}),t=(0,Se.map)(e,function(n){return{message:"Token Type: ->"+n.name+"<- static 'PATTERN' can only be a RegExp, a Function matching the {CustomPatternMatcherFunc} type or an Object matching the {ICustomPattern} interface.",type:ir.LexerDefinitionErrorType.INVALID_PATTERN,tokenTypes:[n]}}),i=(0,Se.difference)(r,e);return{errors:t,valid:i}}Je.findInvalidPatterns=zj;var pye=/[^\\][\$]/;function Vj(r){var e=function(n){jj(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitEndAnchor=function(o){this.found=!0},s}(qj.BaseRegExpVisitor),t=(0,Se.filter)(r,function(n){var s=n[Do];try{var o=(0,Jj.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return pye.test(s.source)}}),i=(0,Se.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: - Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain end of input anchor '$' - See chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.EOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Je.findEndOfInputAnchor=Vj;function Xj(r){var e=(0,Se.filter)(r,function(i){var n=i[Do];return n.test("")}),t=(0,Se.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' must not match an empty string",type:ir.LexerDefinitionErrorType.EMPTY_MATCH_PATTERN,tokenTypes:[i]}});return t}Je.findEmptyMatchRegExps=Xj;var dye=/[^\\[][\^]|^\^/;function _j(r){var e=function(n){jj(s,n);function s(){var o=n!==null&&n.apply(this,arguments)||this;return o.found=!1,o}return s.prototype.visitStartAnchor=function(o){this.found=!0},s}(qj.BaseRegExpVisitor),t=(0,Se.filter)(r,function(n){var s=n[Do];try{var o=(0,Jj.getRegExpAst)(s),a=new e;return a.visit(o),a.found}catch{return dye.test(s.source)}}),i=(0,Se.map)(t,function(n){return{message:`Unexpected RegExp Anchor Error: - Token Type: ->`+n.name+`<- static 'PATTERN' cannot contain start of input anchor '^' - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#ANCHORS for details.`,type:ir.LexerDefinitionErrorType.SOI_ANCHOR_FOUND,tokenTypes:[n]}});return i}Je.findStartOfInputAnchor=_j;function Zj(r){var e=(0,Se.filter)(r,function(i){var n=i[Do];return n instanceof RegExp&&(n.multiline||n.global)}),t=(0,Se.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'PATTERN' may NOT contain global('g') or multiline('m')",type:ir.LexerDefinitionErrorType.UNSUPPORTED_FLAGS_FOUND,tokenTypes:[i]}});return t}Je.findUnsupportedFlags=Zj;function $j(r){var e=[],t=(0,Se.map)(r,function(s){return(0,Se.reduce)(r,function(o,a){return s.PATTERN.source===a.PATTERN.source&&!(0,Se.contains)(e,a)&&a.PATTERN!==ir.Lexer.NA&&(e.push(a),o.push(a)),o},[])});t=(0,Se.compact)(t);var i=(0,Se.filter)(t,function(s){return s.length>1}),n=(0,Se.map)(i,function(s){var o=(0,Se.map)(s,function(l){return l.name}),a=(0,Se.first)(s).PATTERN;return{message:"The same RegExp pattern ->"+a+"<-"+("has been used in all of the following Token Types: "+o.join(", ")+" <-"),type:ir.LexerDefinitionErrorType.DUPLICATE_PATTERNS_FOUND,tokenTypes:s}});return n}Je.findDuplicatePatterns=$j;function eq(r){var e=(0,Se.filter)(r,function(i){if(!(0,Se.has)(i,"GROUP"))return!1;var n=i.GROUP;return n!==ir.Lexer.SKIPPED&&n!==ir.Lexer.NA&&!(0,Se.isString)(n)}),t=(0,Se.map)(e,function(i){return{message:"Token Type: ->"+i.name+"<- static 'GROUP' can only be Lexer.SKIPPED/Lexer.NA/A String",type:ir.LexerDefinitionErrorType.INVALID_GROUP_TYPE_FOUND,tokenTypes:[i]}});return t}Je.findInvalidGroupType=eq;function tq(r,e){var t=(0,Se.filter)(r,function(n){return n.PUSH_MODE!==void 0&&!(0,Se.contains)(e,n.PUSH_MODE)}),i=(0,Se.map)(t,function(n){var s="Token Type: ->"+n.name+"<- static 'PUSH_MODE' value cannot refer to a Lexer Mode ->"+n.PUSH_MODE+"<-which does not exist";return{message:s,type:ir.LexerDefinitionErrorType.PUSH_MODE_DOES_NOT_EXIST,tokenTypes:[n]}});return i}Je.findModesThatDoNotExist=tq;function rq(r){var e=[],t=(0,Se.reduce)(r,function(i,n,s){var o=n.PATTERN;return o===ir.Lexer.NA||((0,Se.isString)(o)?i.push({str:o,idx:s,tokenType:n}):(0,Se.isRegExp)(o)&&mye(o)&&i.push({str:o.source,idx:s,tokenType:n})),i},[]);return(0,Se.forEach)(r,function(i,n){(0,Se.forEach)(t,function(s){var o=s.str,a=s.idx,l=s.tokenType;if(n"+i.name+"<-")+`in the lexer's definition. -See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#UNREACHABLE`;e.push({message:c,type:ir.LexerDefinitionErrorType.UNREACHABLE_PATTERN,tokenTypes:[i,l]})}})}),e}Je.findUnreachablePatterns=rq;function Cye(r,e){if((0,Se.isRegExp)(e)){var t=e.exec(r);return t!==null&&t.index===0}else{if((0,Se.isFunction)(e))return e(r,0,[],{});if((0,Se.has)(e,"exec"))return e.exec(r,0,[],{});if(typeof e=="string")return e===r;throw Error("non exhaustive match")}}function mye(r){var e=[".","\\","[","]","|","^","$","(",")","?","*","+","{"];return(0,Se.find)(e,function(t){return r.source.indexOf(t)!==-1})===void 0}function bx(r){var e=r.ignoreCase?"i":"";return new RegExp("^(?:"+r.source+")",e)}Je.addStartOfInput=bx;function Qx(r){var e=r.ignoreCase?"iy":"y";return new RegExp(""+r.source,e)}Je.addStickyFlag=Qx;function Eye(r,e,t){var i=[];return(0,Se.has)(r,Je.DEFAULT_MODE)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Je.DEFAULT_MODE+`> property in its definition -`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE}),(0,Se.has)(r,Je.MODES)||i.push({message:"A MultiMode Lexer cannot be initialized without a <"+Je.MODES+`> property in its definition -`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY}),(0,Se.has)(r,Je.MODES)&&(0,Se.has)(r,Je.DEFAULT_MODE)&&!(0,Se.has)(r.modes,r.defaultMode)&&i.push({message:"A MultiMode Lexer cannot be initialized with a "+Je.DEFAULT_MODE+": <"+r.defaultMode+`>which does not exist -`,type:ir.LexerDefinitionErrorType.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST}),(0,Se.has)(r,Je.MODES)&&(0,Se.forEach)(r.modes,function(n,s){(0,Se.forEach)(n,function(o,a){(0,Se.isUndefined)(o)&&i.push({message:"A Lexer cannot be initialized using an undefined Token Type. Mode:"+("<"+s+"> at index: <"+a+`> -`),type:ir.LexerDefinitionErrorType.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED})})}),i}Je.performRuntimeChecks=Eye;function Iye(r,e,t){var i=[],n=!1,s=(0,Se.compact)((0,Se.flatten)((0,Se.mapValues)(r.modes,function(l){return l}))),o=(0,Se.reject)(s,function(l){return l[Do]===ir.Lexer.NA}),a=oq(t);return e&&(0,Se.forEach)(o,function(l){var c=nq(l,a);if(c!==!1){var u=sq(l,c),g={message:u,type:c.issue,tokenType:l};i.push(g)}else(0,Se.has)(l,"LINE_BREAKS")?l.LINE_BREAKS===!0&&(n=!0):(0,pf.canMatchCharCode)(a,l.PATTERN)&&(n=!0)}),e&&!n&&i.push({message:`Warning: No LINE_BREAKS Found. - This Lexer has been defined to track line and column information, - But none of the Token Types can be identified as matching a line terminator. - See https://chevrotain.io/docs/guide/resolving_lexer_errors.html#LINE_BREAKS - for details.`,type:ir.LexerDefinitionErrorType.NO_LINE_BREAKS_FLAGS}),i}Je.performWarningRuntimeChecks=Iye;function yye(r){var e={},t=(0,Se.keys)(r);return(0,Se.forEach)(t,function(i){var n=r[i];if((0,Se.isArray)(n))e[i]=[];else throw Error("non exhaustive match")}),e}Je.cloneEmptyGroups=yye;function vx(r){var e=r.PATTERN;if((0,Se.isRegExp)(e))return!1;if((0,Se.isFunction)(e))return!0;if((0,Se.has)(e,"exec"))return!0;if((0,Se.isString)(e))return!1;throw Error("non exhaustive match")}Je.isCustomPattern=vx;function iq(r){return(0,Se.isString)(r)&&r.length===1?r.charCodeAt(0):!1}Je.isShortPattern=iq;Je.LineTerminatorOptimizedTester={test:function(r){for(var e=r.length,t=this.lastIndex;t Token Type -`)+(" Root cause: "+e.errMsg+`. -`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#IDENTIFY_TERMINATOR";if(e.issue===ir.LexerDefinitionErrorType.CUSTOM_LINE_BREAK)return`Warning: A Custom Token Pattern should specify the option. -`+(" The problem is in the <"+r.name+`> Token Type -`)+" For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#CUSTOM_LINE_BREAK";throw Error("non exhaustive match")}Je.buildLineBreakIssueMessage=sq;function oq(r){var e=(0,Se.map)(r,function(t){return(0,Se.isString)(t)&&t.length>0?t.charCodeAt(0):t});return e}function Bx(r,e,t){r[e]===void 0?r[e]=[t]:r[e].push(t)}Je.minOptimizationVal=256;var Ny=[];function Sx(r){return r255?255+~~(r/255):r}}});var df=y(Nt=>{"use strict";Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isTokenType=Nt.hasExtendingTokensTypesMapProperty=Nt.hasExtendingTokensTypesProperty=Nt.hasCategoriesProperty=Nt.hasShortKeyProperty=Nt.singleAssignCategoriesToksMap=Nt.assignCategoriesMapProp=Nt.assignCategoriesTokensProp=Nt.assignTokenDefaultProps=Nt.expandCategories=Nt.augmentTokenTypes=Nt.tokenIdxToClass=Nt.tokenShortNameIdx=Nt.tokenStructuredMatcherNoCategories=Nt.tokenStructuredMatcher=void 0;var ei=Gt();function Bye(r,e){var t=r.tokenTypeIdx;return t===e.tokenTypeIdx?!0:e.isParent===!0&&e.categoryMatchesMap[t]===!0}Nt.tokenStructuredMatcher=Bye;function bye(r,e){return r.tokenTypeIdx===e.tokenTypeIdx}Nt.tokenStructuredMatcherNoCategories=bye;Nt.tokenShortNameIdx=1;Nt.tokenIdxToClass={};function Qye(r){var e=aq(r);Aq(e),cq(e),lq(e),(0,ei.forEach)(e,function(t){t.isParent=t.categoryMatches.length>0})}Nt.augmentTokenTypes=Qye;function aq(r){for(var e=(0,ei.cloneArr)(r),t=r,i=!0;i;){t=(0,ei.compact)((0,ei.flatten)((0,ei.map)(t,function(s){return s.CATEGORIES})));var n=(0,ei.difference)(t,e);e=e.concat(n),(0,ei.isEmpty)(n)?i=!1:t=n}return e}Nt.expandCategories=aq;function Aq(r){(0,ei.forEach)(r,function(e){uq(e)||(Nt.tokenIdxToClass[Nt.tokenShortNameIdx]=e,e.tokenTypeIdx=Nt.tokenShortNameIdx++),xx(e)&&!(0,ei.isArray)(e.CATEGORIES)&&(e.CATEGORIES=[e.CATEGORIES]),xx(e)||(e.CATEGORIES=[]),gq(e)||(e.categoryMatches=[]),fq(e)||(e.categoryMatchesMap={})})}Nt.assignTokenDefaultProps=Aq;function lq(r){(0,ei.forEach)(r,function(e){e.categoryMatches=[],(0,ei.forEach)(e.categoryMatchesMap,function(t,i){e.categoryMatches.push(Nt.tokenIdxToClass[i].tokenTypeIdx)})})}Nt.assignCategoriesTokensProp=lq;function cq(r){(0,ei.forEach)(r,function(e){Px([],e)})}Nt.assignCategoriesMapProp=cq;function Px(r,e){(0,ei.forEach)(r,function(t){e.categoryMatchesMap[t.tokenTypeIdx]=!0}),(0,ei.forEach)(e.CATEGORIES,function(t){var i=r.concat(e);(0,ei.contains)(i,t)||Px(i,t)})}Nt.singleAssignCategoriesToksMap=Px;function uq(r){return(0,ei.has)(r,"tokenTypeIdx")}Nt.hasShortKeyProperty=uq;function xx(r){return(0,ei.has)(r,"CATEGORIES")}Nt.hasCategoriesProperty=xx;function gq(r){return(0,ei.has)(r,"categoryMatches")}Nt.hasExtendingTokensTypesProperty=gq;function fq(r){return(0,ei.has)(r,"categoryMatchesMap")}Nt.hasExtendingTokensTypesMapProperty=fq;function Sye(r){return(0,ei.has)(r,"tokenTypeIdx")}Nt.isTokenType=Sye});var Dx=y(Ty=>{"use strict";Object.defineProperty(Ty,"__esModule",{value:!0});Ty.defaultLexerErrorProvider=void 0;Ty.defaultLexerErrorProvider={buildUnableToPopLexerModeMessage:function(r){return"Unable to pop Lexer Mode after encountering Token ->"+r.image+"<- The Mode Stack is empty"},buildUnexpectedCharactersMessage:function(r,e,t,i,n){return"unexpected character: ->"+r.charAt(e)+"<- at offset: "+e+","+(" skipped "+t+" characters.")}}});var Jd=y(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.Lexer=Rc.LexerDefinitionErrorType=void 0;var Vs=wx(),nr=Gt(),vye=df(),xye=Dx(),Pye=ky(),Dye;(function(r){r[r.MISSING_PATTERN=0]="MISSING_PATTERN",r[r.INVALID_PATTERN=1]="INVALID_PATTERN",r[r.EOI_ANCHOR_FOUND=2]="EOI_ANCHOR_FOUND",r[r.UNSUPPORTED_FLAGS_FOUND=3]="UNSUPPORTED_FLAGS_FOUND",r[r.DUPLICATE_PATTERNS_FOUND=4]="DUPLICATE_PATTERNS_FOUND",r[r.INVALID_GROUP_TYPE_FOUND=5]="INVALID_GROUP_TYPE_FOUND",r[r.PUSH_MODE_DOES_NOT_EXIST=6]="PUSH_MODE_DOES_NOT_EXIST",r[r.MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE=7]="MULTI_MODE_LEXER_WITHOUT_DEFAULT_MODE",r[r.MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY=8]="MULTI_MODE_LEXER_WITHOUT_MODES_PROPERTY",r[r.MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST=9]="MULTI_MODE_LEXER_DEFAULT_MODE_VALUE_DOES_NOT_EXIST",r[r.LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED=10]="LEXER_DEFINITION_CANNOT_CONTAIN_UNDEFINED",r[r.SOI_ANCHOR_FOUND=11]="SOI_ANCHOR_FOUND",r[r.EMPTY_MATCH_PATTERN=12]="EMPTY_MATCH_PATTERN",r[r.NO_LINE_BREAKS_FLAGS=13]="NO_LINE_BREAKS_FLAGS",r[r.UNREACHABLE_PATTERN=14]="UNREACHABLE_PATTERN",r[r.IDENTIFY_TERMINATOR=15]="IDENTIFY_TERMINATOR",r[r.CUSTOM_LINE_BREAK=16]="CUSTOM_LINE_BREAK"})(Dye=Rc.LexerDefinitionErrorType||(Rc.LexerDefinitionErrorType={}));var Wd={deferDefinitionErrorsHandling:!1,positionTracking:"full",lineTerminatorsPattern:/\n|\r\n?/g,lineTerminatorCharacters:[` -`,"\r"],ensureOptimizations:!1,safeMode:!1,errorMessageProvider:xye.defaultLexerErrorProvider,traceInitPerf:!1,skipValidations:!1};Object.freeze(Wd);var kye=function(){function r(e,t){var i=this;if(t===void 0&&(t=Wd),this.lexerDefinition=e,this.lexerDefinitionErrors=[],this.lexerDefinitionWarning=[],this.patternIdxToConfig={},this.charCodeToPatternIdxToConfig={},this.modes=[],this.emptyGroups={},this.config=void 0,this.trackStartLines=!0,this.trackEndLines=!0,this.hasCustom=!1,this.canModeBeOptimized={},typeof t=="boolean")throw Error(`The second argument to the Lexer constructor is now an ILexerConfig Object. -a boolean 2nd argument is no longer supported`);this.config=(0,nr.merge)(Wd,t);var n=this.config.traceInitPerf;n===!0?(this.traceInitMaxIdent=1/0,this.traceInitPerf=!0):typeof n=="number"&&(this.traceInitMaxIdent=n,this.traceInitPerf=!0),this.traceInitIndent=-1,this.TRACE_INIT("Lexer Constructor",function(){var s,o=!0;i.TRACE_INIT("Lexer Config handling",function(){if(i.config.lineTerminatorsPattern===Wd.lineTerminatorsPattern)i.config.lineTerminatorsPattern=Vs.LineTerminatorOptimizedTester;else if(i.config.lineTerminatorCharacters===Wd.lineTerminatorCharacters)throw Error(`Error: Missing property on the Lexer config. - For details See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#MISSING_LINE_TERM_CHARS`);if(t.safeMode&&t.ensureOptimizations)throw Error('"safeMode" and "ensureOptimizations" flags are mutually exclusive.');i.trackStartLines=/full|onlyStart/i.test(i.config.positionTracking),i.trackEndLines=/full/i.test(i.config.positionTracking),(0,nr.isArray)(e)?(s={modes:{}},s.modes[Vs.DEFAULT_MODE]=(0,nr.cloneArr)(e),s[Vs.DEFAULT_MODE]=Vs.DEFAULT_MODE):(o=!1,s=(0,nr.cloneObj)(e))}),i.config.skipValidations===!1&&(i.TRACE_INIT("performRuntimeChecks",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Vs.performRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))}),i.TRACE_INIT("performWarningRuntimeChecks",function(){i.lexerDefinitionWarning=i.lexerDefinitionWarning.concat((0,Vs.performWarningRuntimeChecks)(s,i.trackStartLines,i.config.lineTerminatorCharacters))})),s.modes=s.modes?s.modes:{},(0,nr.forEach)(s.modes,function(u,g){s.modes[g]=(0,nr.reject)(u,function(f){return(0,nr.isUndefined)(f)})});var a=(0,nr.keys)(s.modes);if((0,nr.forEach)(s.modes,function(u,g){i.TRACE_INIT("Mode: <"+g+"> processing",function(){if(i.modes.push(g),i.config.skipValidations===!1&&i.TRACE_INIT("validatePatterns",function(){i.lexerDefinitionErrors=i.lexerDefinitionErrors.concat((0,Vs.validatePatterns)(u,a))}),(0,nr.isEmpty)(i.lexerDefinitionErrors)){(0,vye.augmentTokenTypes)(u);var f;i.TRACE_INIT("analyzeTokenTypes",function(){f=(0,Vs.analyzeTokenTypes)(u,{lineTerminatorCharacters:i.config.lineTerminatorCharacters,positionTracking:t.positionTracking,ensureOptimizations:t.ensureOptimizations,safeMode:t.safeMode,tracer:i.TRACE_INIT.bind(i)})}),i.patternIdxToConfig[g]=f.patternIdxToConfig,i.charCodeToPatternIdxToConfig[g]=f.charCodeToPatternIdxToConfig,i.emptyGroups=(0,nr.merge)(i.emptyGroups,f.emptyGroups),i.hasCustom=f.hasCustom||i.hasCustom,i.canModeBeOptimized[g]=f.canBeOptimized}})}),i.defaultMode=s.defaultMode,!(0,nr.isEmpty)(i.lexerDefinitionErrors)&&!i.config.deferDefinitionErrorsHandling){var l=(0,nr.map)(i.lexerDefinitionErrors,function(u){return u.message}),c=l.join(`----------------------- -`);throw new Error(`Errors detected in definition of Lexer: -`+c)}(0,nr.forEach)(i.lexerDefinitionWarning,function(u){(0,nr.PRINT_WARNING)(u.message)}),i.TRACE_INIT("Choosing sub-methods implementations",function(){if(Vs.SUPPORT_STICKY?(i.chopInput=nr.IDENTITY,i.match=i.matchWithTest):(i.updateLastIndex=nr.NOOP,i.match=i.matchWithExec),o&&(i.handleModes=nr.NOOP),i.trackStartLines===!1&&(i.computeNewColumn=nr.IDENTITY),i.trackEndLines===!1&&(i.updateTokenEndLineColumnLocation=nr.NOOP),/full/i.test(i.config.positionTracking))i.createTokenInstance=i.createFullToken;else if(/onlyStart/i.test(i.config.positionTracking))i.createTokenInstance=i.createStartOnlyToken;else if(/onlyOffset/i.test(i.config.positionTracking))i.createTokenInstance=i.createOffsetOnlyToken;else throw Error('Invalid config option: "'+i.config.positionTracking+'"');i.hasCustom?(i.addToken=i.addTokenUsingPush,i.handlePayload=i.handlePayloadWithCustom):(i.addToken=i.addTokenUsingMemberAccess,i.handlePayload=i.handlePayloadNoCustom)}),i.TRACE_INIT("Failed Optimization Warnings",function(){var u=(0,nr.reduce)(i.canModeBeOptimized,function(g,f,h){return f===!1&&g.push(h),g},[]);if(t.ensureOptimizations&&!(0,nr.isEmpty)(u))throw Error("Lexer Modes: < "+u.join(", ")+` > cannot be optimized. - Disable the "ensureOptimizations" lexer config flag to silently ignore this and run the lexer in an un-optimized mode. - Or inspect the console log for details on how to resolve these issues.`)}),i.TRACE_INIT("clearRegExpParserCache",function(){(0,Pye.clearRegExpParserCache)()}),i.TRACE_INIT("toFastProperties",function(){(0,nr.toFastProperties)(i)})})}return r.prototype.tokenize=function(e,t){if(t===void 0&&(t=this.defaultMode),!(0,nr.isEmpty)(this.lexerDefinitionErrors)){var i=(0,nr.map)(this.lexerDefinitionErrors,function(o){return o.message}),n=i.join(`----------------------- -`);throw new Error(`Unable to Tokenize because Errors detected in definition of Lexer: -`+n)}var s=this.tokenizeInternal(e,t);return s},r.prototype.tokenizeInternal=function(e,t){var i=this,n,s,o,a,l,c,u,g,f,h,p,C,w,B,v,D,T=e,H=T.length,j=0,$=0,V=this.hasCustom?0:Math.floor(e.length/10),W=new Array(V),Z=[],A=this.trackStartLines?1:void 0,ae=this.trackStartLines?1:void 0,ge=(0,Vs.cloneEmptyGroups)(this.emptyGroups),_=this.trackStartLines,L=this.config.lineTerminatorsPattern,N=0,ue=[],we=[],Te=[],Pe=[];Object.freeze(Pe);var Le=void 0;function se(){return ue}function Ae(dr){var Bi=(0,Vs.charCodeToOptimizedIndex)(dr),_n=we[Bi];return _n===void 0?Pe:_n}var be=function(dr){if(Te.length===1&&dr.tokenType.PUSH_MODE===void 0){var Bi=i.config.errorMessageProvider.buildUnableToPopLexerModeMessage(dr);Z.push({offset:dr.startOffset,line:dr.startLine!==void 0?dr.startLine:void 0,column:dr.startColumn!==void 0?dr.startColumn:void 0,length:dr.image.length,message:Bi})}else{Te.pop();var _n=(0,nr.last)(Te);ue=i.patternIdxToConfig[_n],we=i.charCodeToPatternIdxToConfig[_n],N=ue.length;var pa=i.canModeBeOptimized[_n]&&i.config.safeMode===!1;we&&pa?Le=Ae:Le=se}};function fe(dr){Te.push(dr),we=this.charCodeToPatternIdxToConfig[dr],ue=this.patternIdxToConfig[dr],N=ue.length,N=ue.length;var Bi=this.canModeBeOptimized[dr]&&this.config.safeMode===!1;we&&Bi?Le=Ae:Le=se}fe.call(this,t);for(var le;jc.length){c=a,u=g,le=tt;break}}}break}}if(c!==null){if(f=c.length,h=le.group,h!==void 0&&(p=le.tokenTypeIdx,C=this.createTokenInstance(c,j,p,le.tokenType,A,ae,f),this.handlePayload(C,u),h===!1?$=this.addToken(W,$,C):ge[h].push(C)),e=this.chopInput(e,f),j=j+f,ae=this.computeNewColumn(ae,f),_===!0&&le.canLineTerminator===!0){var It=0,Ur=void 0,oi=void 0;L.lastIndex=0;do Ur=L.test(c),Ur===!0&&(oi=L.lastIndex-1,It++);while(Ur===!0);It!==0&&(A=A+It,ae=f-oi,this.updateTokenEndLineColumnLocation(C,h,oi,It,A,ae,f))}this.handleModes(le,be,fe,C)}else{for(var pi=j,pr=A,di=ae,ai=!1;!ai&&j <"+e+">");var n=(0,nr.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r.SKIPPED="This marks a skipped Token pattern, this means each token identified by it willbe consumed and then thrown into oblivion, this can be used to for example to completely ignore whitespace.",r.NA=/NOT_APPLICABLE/,r}();Rc.Lexer=kye});var HA=y(Si=>{"use strict";Object.defineProperty(Si,"__esModule",{value:!0});Si.tokenMatcher=Si.createTokenInstance=Si.EOF=Si.createToken=Si.hasTokenLabel=Si.tokenName=Si.tokenLabel=void 0;var Xs=Gt(),Rye=Jd(),kx=df();function Fye(r){return wq(r)?r.LABEL:r.name}Si.tokenLabel=Fye;function Nye(r){return r.name}Si.tokenName=Nye;function wq(r){return(0,Xs.isString)(r.LABEL)&&r.LABEL!==""}Si.hasTokenLabel=wq;var Tye="parent",hq="categories",pq="label",dq="group",Cq="push_mode",mq="pop_mode",Eq="longer_alt",Iq="line_breaks",yq="start_chars_hint";function Bq(r){return Lye(r)}Si.createToken=Bq;function Lye(r){var e=r.pattern,t={};if(t.name=r.name,(0,Xs.isUndefined)(e)||(t.PATTERN=e),(0,Xs.has)(r,Tye))throw`The parent property is no longer supported. -See: https://github.com/chevrotain/chevrotain/issues/564#issuecomment-349062346 for details.`;return(0,Xs.has)(r,hq)&&(t.CATEGORIES=r[hq]),(0,kx.augmentTokenTypes)([t]),(0,Xs.has)(r,pq)&&(t.LABEL=r[pq]),(0,Xs.has)(r,dq)&&(t.GROUP=r[dq]),(0,Xs.has)(r,mq)&&(t.POP_MODE=r[mq]),(0,Xs.has)(r,Cq)&&(t.PUSH_MODE=r[Cq]),(0,Xs.has)(r,Eq)&&(t.LONGER_ALT=r[Eq]),(0,Xs.has)(r,Iq)&&(t.LINE_BREAKS=r[Iq]),(0,Xs.has)(r,yq)&&(t.START_CHARS_HINT=r[yq]),t}Si.EOF=Bq({name:"EOF",pattern:Rye.Lexer.NA});(0,kx.augmentTokenTypes)([Si.EOF]);function Oye(r,e,t,i,n,s,o,a){return{image:e,startOffset:t,endOffset:i,startLine:n,endLine:s,startColumn:o,endColumn:a,tokenTypeIdx:r.tokenTypeIdx,tokenType:r}}Si.createTokenInstance=Oye;function Mye(r,e){return(0,kx.tokenStructuredMatcher)(r,e)}Si.tokenMatcher=Mye});var Cn=y(Wt=>{"use strict";var ka=Wt&&Wt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Wt,"__esModule",{value:!0});Wt.serializeProduction=Wt.serializeGrammar=Wt.Terminal=Wt.Alternation=Wt.RepetitionWithSeparator=Wt.Repetition=Wt.RepetitionMandatoryWithSeparator=Wt.RepetitionMandatory=Wt.Option=Wt.Alternative=Wt.Rule=Wt.NonTerminal=Wt.AbstractProduction=void 0;var lr=Gt(),Uye=HA(),ko=function(){function r(e){this._definition=e}return Object.defineProperty(r.prototype,"definition",{get:function(){return this._definition},set:function(e){this._definition=e},enumerable:!1,configurable:!0}),r.prototype.accept=function(e){e.visit(this),(0,lr.forEach)(this.definition,function(t){t.accept(e)})},r}();Wt.AbstractProduction=ko;var bq=function(r){ka(e,r);function e(t){var i=r.call(this,[])||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this.referencedRule!==void 0?this.referencedRule.definition:[]},set:function(t){},enumerable:!1,configurable:!0}),e.prototype.accept=function(t){t.visit(this)},e}(ko);Wt.NonTerminal=bq;var Qq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.orgText="",(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.Rule=Qq;var Sq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.ignoreAmbiguities=!1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.Alternative=Sq;var vq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.Option=vq;var xq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.RepetitionMandatory=xq;var Pq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.RepetitionMandatoryWithSeparator=Pq;var Dq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.Repetition=Dq;var kq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return e}(ko);Wt.RepetitionWithSeparator=kq;var Rq=function(r){ka(e,r);function e(t){var i=r.call(this,t.definition)||this;return i.idx=1,i.ignoreAmbiguities=!1,i.hasPredicates=!1,(0,lr.assign)(i,(0,lr.pick)(t,function(n){return n!==void 0})),i}return Object.defineProperty(e.prototype,"definition",{get:function(){return this._definition},set:function(t){this._definition=t},enumerable:!1,configurable:!0}),e}(ko);Wt.Alternation=Rq;var Ly=function(){function r(e){this.idx=1,(0,lr.assign)(this,(0,lr.pick)(e,function(t){return t!==void 0}))}return r.prototype.accept=function(e){e.visit(this)},r}();Wt.Terminal=Ly;function Kye(r){return(0,lr.map)(r,zd)}Wt.serializeGrammar=Kye;function zd(r){function e(s){return(0,lr.map)(s,zd)}if(r instanceof bq){var t={type:"NonTerminal",name:r.nonTerminalName,idx:r.idx};return(0,lr.isString)(r.label)&&(t.label=r.label),t}else{if(r instanceof Sq)return{type:"Alternative",definition:e(r.definition)};if(r instanceof vq)return{type:"Option",idx:r.idx,definition:e(r.definition)};if(r instanceof xq)return{type:"RepetitionMandatory",idx:r.idx,definition:e(r.definition)};if(r instanceof Pq)return{type:"RepetitionMandatoryWithSeparator",idx:r.idx,separator:zd(new Ly({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof kq)return{type:"RepetitionWithSeparator",idx:r.idx,separator:zd(new Ly({terminalType:r.separator})),definition:e(r.definition)};if(r instanceof Dq)return{type:"Repetition",idx:r.idx,definition:e(r.definition)};if(r instanceof Rq)return{type:"Alternation",idx:r.idx,definition:e(r.definition)};if(r instanceof Ly){var i={type:"Terminal",name:r.terminalType.name,label:(0,Uye.tokenLabel)(r.terminalType),idx:r.idx};(0,lr.isString)(r.label)&&(i.terminalLabel=r.label);var n=r.terminalType.PATTERN;return r.terminalType.PATTERN&&(i.pattern=(0,lr.isRegExp)(n)?n.source:n),i}else{if(r instanceof Qq)return{type:"Rule",name:r.name,orgText:r.orgText,definition:e(r.definition)};throw Error("non exhaustive match")}}}Wt.serializeProduction=zd});var My=y(Oy=>{"use strict";Object.defineProperty(Oy,"__esModule",{value:!0});Oy.RestWalker=void 0;var Rx=Gt(),mn=Cn(),Hye=function(){function r(){}return r.prototype.walk=function(e,t){var i=this;t===void 0&&(t=[]),(0,Rx.forEach)(e.definition,function(n,s){var o=(0,Rx.drop)(e.definition,s+1);if(n instanceof mn.NonTerminal)i.walkProdRef(n,o,t);else if(n instanceof mn.Terminal)i.walkTerminal(n,o,t);else if(n instanceof mn.Alternative)i.walkFlat(n,o,t);else if(n instanceof mn.Option)i.walkOption(n,o,t);else if(n instanceof mn.RepetitionMandatory)i.walkAtLeastOne(n,o,t);else if(n instanceof mn.RepetitionMandatoryWithSeparator)i.walkAtLeastOneSep(n,o,t);else if(n instanceof mn.RepetitionWithSeparator)i.walkManySep(n,o,t);else if(n instanceof mn.Repetition)i.walkMany(n,o,t);else if(n instanceof mn.Alternation)i.walkOr(n,o,t);else throw Error("non exhaustive match")})},r.prototype.walkTerminal=function(e,t,i){},r.prototype.walkProdRef=function(e,t,i){},r.prototype.walkFlat=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkOption=function(e,t,i){var n=t.concat(i);this.walk(e,n)},r.prototype.walkAtLeastOne=function(e,t,i){var n=[new mn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkAtLeastOneSep=function(e,t,i){var n=Fq(e,t,i);this.walk(e,n)},r.prototype.walkMany=function(e,t,i){var n=[new mn.Option({definition:e.definition})].concat(t,i);this.walk(e,n)},r.prototype.walkManySep=function(e,t,i){var n=Fq(e,t,i);this.walk(e,n)},r.prototype.walkOr=function(e,t,i){var n=this,s=t.concat(i);(0,Rx.forEach)(e.definition,function(o){var a=new mn.Alternative({definition:[o]});n.walk(a,s)})},r}();Oy.RestWalker=Hye;function Fq(r,e,t){var i=[new mn.Option({definition:[new mn.Terminal({terminalType:r.separator})].concat(r.definition)})],n=i.concat(e,t);return n}});var Cf=y(Uy=>{"use strict";Object.defineProperty(Uy,"__esModule",{value:!0});Uy.GAstVisitor=void 0;var Ro=Cn(),Gye=function(){function r(){}return r.prototype.visit=function(e){var t=e;switch(t.constructor){case Ro.NonTerminal:return this.visitNonTerminal(t);case Ro.Alternative:return this.visitAlternative(t);case Ro.Option:return this.visitOption(t);case Ro.RepetitionMandatory:return this.visitRepetitionMandatory(t);case Ro.RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case Ro.RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Ro.Repetition:return this.visitRepetition(t);case Ro.Alternation:return this.visitAlternation(t);case Ro.Terminal:return this.visitTerminal(t);case Ro.Rule:return this.visitRule(t);default:throw Error("non exhaustive match")}},r.prototype.visitNonTerminal=function(e){},r.prototype.visitAlternative=function(e){},r.prototype.visitOption=function(e){},r.prototype.visitRepetition=function(e){},r.prototype.visitRepetitionMandatory=function(e){},r.prototype.visitRepetitionMandatoryWithSeparator=function(e){},r.prototype.visitRepetitionWithSeparator=function(e){},r.prototype.visitAlternation=function(e){},r.prototype.visitTerminal=function(e){},r.prototype.visitRule=function(e){},r}();Uy.GAstVisitor=Gye});var Xd=y(Ui=>{"use strict";var Yye=Ui&&Ui.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ui,"__esModule",{value:!0});Ui.collectMethods=Ui.DslMethodsCollectorVisitor=Ui.getProductionDslName=Ui.isBranchingProd=Ui.isOptionalProd=Ui.isSequenceProd=void 0;var Vd=Gt(),Qr=Cn(),jye=Cf();function qye(r){return r instanceof Qr.Alternative||r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionMandatory||r instanceof Qr.RepetitionMandatoryWithSeparator||r instanceof Qr.RepetitionWithSeparator||r instanceof Qr.Terminal||r instanceof Qr.Rule}Ui.isSequenceProd=qye;function Fx(r,e){e===void 0&&(e=[]);var t=r instanceof Qr.Option||r instanceof Qr.Repetition||r instanceof Qr.RepetitionWithSeparator;return t?!0:r instanceof Qr.Alternation?(0,Vd.some)(r.definition,function(i){return Fx(i,e)}):r instanceof Qr.NonTerminal&&(0,Vd.contains)(e,r)?!1:r instanceof Qr.AbstractProduction?(r instanceof Qr.NonTerminal&&e.push(r),(0,Vd.every)(r.definition,function(i){return Fx(i,e)})):!1}Ui.isOptionalProd=Fx;function Jye(r){return r instanceof Qr.Alternation}Ui.isBranchingProd=Jye;function Wye(r){if(r instanceof Qr.NonTerminal)return"SUBRULE";if(r instanceof Qr.Option)return"OPTION";if(r instanceof Qr.Alternation)return"OR";if(r instanceof Qr.RepetitionMandatory)return"AT_LEAST_ONE";if(r instanceof Qr.RepetitionMandatoryWithSeparator)return"AT_LEAST_ONE_SEP";if(r instanceof Qr.RepetitionWithSeparator)return"MANY_SEP";if(r instanceof Qr.Repetition)return"MANY";if(r instanceof Qr.Terminal)return"CONSUME";throw Error("non exhaustive match")}Ui.getProductionDslName=Wye;var Nq=function(r){Yye(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.separator="-",t.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]},t}return e.prototype.reset=function(){this.dslMethods={option:[],alternation:[],repetition:[],repetitionWithSeparator:[],repetitionMandatory:[],repetitionMandatoryWithSeparator:[]}},e.prototype.visitTerminal=function(t){var i=t.terminalType.name+this.separator+"Terminal";(0,Vd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitNonTerminal=function(t){var i=t.nonTerminalName+this.separator+"Terminal";(0,Vd.has)(this.dslMethods,i)||(this.dslMethods[i]=[]),this.dslMethods[i].push(t)},e.prototype.visitOption=function(t){this.dslMethods.option.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.dslMethods.repetitionWithSeparator.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.dslMethods.repetitionMandatory.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.dslMethods.repetitionMandatoryWithSeparator.push(t)},e.prototype.visitRepetition=function(t){this.dslMethods.repetition.push(t)},e.prototype.visitAlternation=function(t){this.dslMethods.alternation.push(t)},e}(jye.GAstVisitor);Ui.DslMethodsCollectorVisitor=Nq;var Ky=new Nq;function zye(r){Ky.reset(),r.accept(Ky);var e=Ky.dslMethods;return Ky.reset(),e}Ui.collectMethods=zye});var Tx=y(Fo=>{"use strict";Object.defineProperty(Fo,"__esModule",{value:!0});Fo.firstForTerminal=Fo.firstForBranching=Fo.firstForSequence=Fo.first=void 0;var Hy=Gt(),Tq=Cn(),Nx=Xd();function Gy(r){if(r instanceof Tq.NonTerminal)return Gy(r.referencedRule);if(r instanceof Tq.Terminal)return Mq(r);if((0,Nx.isSequenceProd)(r))return Lq(r);if((0,Nx.isBranchingProd)(r))return Oq(r);throw Error("non exhaustive match")}Fo.first=Gy;function Lq(r){for(var e=[],t=r.definition,i=0,n=t.length>i,s,o=!0;n&&o;)s=t[i],o=(0,Nx.isOptionalProd)(s),e=e.concat(Gy(s)),i=i+1,n=t.length>i;return(0,Hy.uniq)(e)}Fo.firstForSequence=Lq;function Oq(r){var e=(0,Hy.map)(r.definition,function(t){return Gy(t)});return(0,Hy.uniq)((0,Hy.flatten)(e))}Fo.firstForBranching=Oq;function Mq(r){return[r.terminalType]}Fo.firstForTerminal=Mq});var Lx=y(Yy=>{"use strict";Object.defineProperty(Yy,"__esModule",{value:!0});Yy.IN=void 0;Yy.IN="_~IN~_"});var Yq=y(ls=>{"use strict";var Vye=ls&&ls.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(ls,"__esModule",{value:!0});ls.buildInProdFollowPrefix=ls.buildBetweenProdsFollowPrefix=ls.computeAllProdsFollows=ls.ResyncFollowsWalker=void 0;var Xye=My(),_ye=Tx(),Uq=Gt(),Kq=Lx(),Zye=Cn(),Hq=function(r){Vye(e,r);function e(t){var i=r.call(this)||this;return i.topProd=t,i.follows={},i}return e.prototype.startWalking=function(){return this.walk(this.topProd),this.follows},e.prototype.walkTerminal=function(t,i,n){},e.prototype.walkProdRef=function(t,i,n){var s=Gq(t.referencedRule,t.idx)+this.topProd.name,o=i.concat(n),a=new Zye.Alternative({definition:o}),l=(0,_ye.first)(a);this.follows[s]=l},e}(Xye.RestWalker);ls.ResyncFollowsWalker=Hq;function $ye(r){var e={};return(0,Uq.forEach)(r,function(t){var i=new Hq(t).startWalking();(0,Uq.assign)(e,i)}),e}ls.computeAllProdsFollows=$ye;function Gq(r,e){return r.name+e+Kq.IN}ls.buildBetweenProdsFollowPrefix=Gq;function ewe(r){var e=r.terminalType.name;return e+r.idx+Kq.IN}ls.buildInProdFollowPrefix=ewe});var _d=y(Ra=>{"use strict";Object.defineProperty(Ra,"__esModule",{value:!0});Ra.defaultGrammarValidatorErrorProvider=Ra.defaultGrammarResolverErrorProvider=Ra.defaultParserErrorProvider=void 0;var mf=HA(),twe=Gt(),_s=Gt(),Ox=Cn(),jq=Xd();Ra.defaultParserErrorProvider={buildMismatchTokenMessage:function(r){var e=r.expected,t=r.actual,i=r.previous,n=r.ruleName,s=(0,mf.hasTokenLabel)(e),o=s?"--> "+(0,mf.tokenLabel)(e)+" <--":"token of type --> "+e.name+" <--",a="Expecting "+o+" but found --> '"+t.image+"' <--";return a},buildNotAllInputParsedMessage:function(r){var e=r.firstRedundant,t=r.ruleName;return"Redundant input, expecting EOF but found: "+e.image},buildNoViableAltMessage:function(r){var e=r.expectedPathsPerAlt,t=r.actual,i=r.previous,n=r.customUserDescription,s=r.ruleName,o="Expecting: ",a=(0,_s.first)(t).image,l=` -but found: '`+a+"'";if(n)return o+n+l;var c=(0,_s.reduce)(e,function(h,p){return h.concat(p)},[]),u=(0,_s.map)(c,function(h){return"["+(0,_s.map)(h,function(p){return(0,mf.tokenLabel)(p)}).join(", ")+"]"}),g=(0,_s.map)(u,function(h,p){return" "+(p+1)+". "+h}),f=`one of these possible Token sequences: -`+g.join(` -`);return o+f+l},buildEarlyExitMessage:function(r){var e=r.expectedIterationPaths,t=r.actual,i=r.customUserDescription,n=r.ruleName,s="Expecting: ",o=(0,_s.first)(t).image,a=` -but found: '`+o+"'";if(i)return s+i+a;var l=(0,_s.map)(e,function(u){return"["+(0,_s.map)(u,function(g){return(0,mf.tokenLabel)(g)}).join(",")+"]"}),c=`expecting at least one iteration which starts with one of these possible Token sequences:: - `+("<"+l.join(" ,")+">");return s+c+a}};Object.freeze(Ra.defaultParserErrorProvider);Ra.defaultGrammarResolverErrorProvider={buildRuleNotFoundError:function(r,e){var t="Invalid grammar, reference to a rule which is not defined: ->"+e.nonTerminalName+`<- -inside top level rule: ->`+r.name+"<-";return t}};Ra.defaultGrammarValidatorErrorProvider={buildDuplicateFoundError:function(r,e){function t(u){return u instanceof Ox.Terminal?u.terminalType.name:u instanceof Ox.NonTerminal?u.nonTerminalName:""}var i=r.name,n=(0,_s.first)(e),s=n.idx,o=(0,jq.getProductionDslName)(n),a=t(n),l=s>0,c="->"+o+(l?s:"")+"<- "+(a?"with argument: ->"+a+"<-":"")+` - appears more than once (`+e.length+" times) in the top level rule: ->"+i+`<-. - For further details see: https://chevrotain.io/docs/FAQ.html#NUMERICAL_SUFFIXES - `;return c=c.replace(/[ \t]+/g," "),c=c.replace(/\s\s+/g,` -`),c},buildNamespaceConflictError:function(r){var e=`Namespace conflict found in grammar. -`+("The grammar has both a Terminal(Token) and a Non-Terminal(Rule) named: <"+r.name+`>. -`)+`To resolve this make sure each Terminal and Non-Terminal names are unique -This is easy to accomplish by using the convention that Terminal names start with an uppercase letter -and Non-Terminal names start with a lower case letter.`;return e},buildAlternationPrefixAmbiguityError:function(r){var e=(0,_s.map)(r.prefixPath,function(n){return(0,mf.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous alternatives: <"+r.ambiguityIndices.join(" ,")+`> due to common lookahead prefix -`+("in inside <"+r.topLevelRule.name+`> Rule, -`)+("<"+e+`> may appears as a prefix path in all these alternatives. -`)+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#COMMON_PREFIX -For Further details.`;return i},buildAlternationAmbiguityError:function(r){var e=(0,_s.map)(r.prefixPath,function(n){return(0,mf.tokenLabel)(n)}).join(", "),t=r.alternation.idx===0?"":r.alternation.idx,i="Ambiguous Alternatives Detected: <"+r.ambiguityIndices.join(" ,")+"> in "+(" inside <"+r.topLevelRule.name+`> Rule, -`)+("<"+e+`> may appears as a prefix path in all these alternatives. -`);return i=i+`See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#AMBIGUOUS_ALTERNATIVES -For Further details.`,i},buildEmptyRepetitionError:function(r){var e=(0,jq.getProductionDslName)(r.repetition);r.repetition.idx!==0&&(e+=r.repetition.idx);var t="The repetition <"+e+"> within Rule <"+r.topLevelRule.name+`> can never consume any tokens. -This could lead to an infinite loop.`;return t},buildTokenNameError:function(r){return"deprecated"},buildEmptyAlternationError:function(r){var e="Ambiguous empty alternative: <"+(r.emptyChoiceIdx+1)+">"+(" in inside <"+r.topLevelRule.name+`> Rule. -`)+"Only the last alternative may be an empty alternative.";return e},buildTooManyAlternativesError:function(r){var e=`An Alternation cannot have more than 256 alternatives: -`+(" inside <"+r.topLevelRule.name+`> Rule. - has `+(r.alternation.definition.length+1)+" alternatives.");return e},buildLeftRecursionError:function(r){var e=r.topLevelRule.name,t=twe.map(r.leftRecursionPath,function(s){return s.name}),i=e+" --> "+t.concat([e]).join(" --> "),n=`Left Recursion found in grammar. -`+("rule: <"+e+`> can be invoked from itself (directly or indirectly) -`)+(`without consuming any Tokens. The grammar path that causes this is: - `+i+` -`)+` To fix this refactor your grammar to remove the left recursion. -see: https://en.wikipedia.org/wiki/LL_parser#Left_Factoring.`;return n},buildInvalidRuleNameError:function(r){return"deprecated"},buildDuplicateRuleNameError:function(r){var e;r.topLevelRule instanceof Ox.Rule?e=r.topLevelRule.name:e=r.topLevelRule;var t="Duplicate definition, rule: ->"+e+"<- is already defined in the grammar: ->"+r.grammarName+"<-";return t}}});var Wq=y(GA=>{"use strict";var rwe=GA&&GA.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(GA,"__esModule",{value:!0});GA.GastRefResolverVisitor=GA.resolveGrammar=void 0;var iwe=Hn(),qq=Gt(),nwe=Cf();function swe(r,e){var t=new Jq(r,e);return t.resolveRefs(),t.errors}GA.resolveGrammar=swe;var Jq=function(r){rwe(e,r);function e(t,i){var n=r.call(this)||this;return n.nameToTopRule=t,n.errMsgProvider=i,n.errors=[],n}return e.prototype.resolveRefs=function(){var t=this;(0,qq.forEach)((0,qq.values)(this.nameToTopRule),function(i){t.currTopLevel=i,i.accept(t)})},e.prototype.visitNonTerminal=function(t){var i=this.nameToTopRule[t.nonTerminalName];if(i)t.referencedRule=i;else{var n=this.errMsgProvider.buildRuleNotFoundError(this.currTopLevel,t);this.errors.push({message:n,type:iwe.ParserDefinitionErrorType.UNRESOLVED_SUBRULE_REF,ruleName:this.currTopLevel.name,unresolvedRefName:t.nonTerminalName})}},e}(nwe.GAstVisitor);GA.GastRefResolverVisitor=Jq});var $d=y(Lr=>{"use strict";var Fc=Lr&&Lr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Lr,"__esModule",{value:!0});Lr.nextPossibleTokensAfter=Lr.possiblePathsFrom=Lr.NextTerminalAfterAtLeastOneSepWalker=Lr.NextTerminalAfterAtLeastOneWalker=Lr.NextTerminalAfterManySepWalker=Lr.NextTerminalAfterManyWalker=Lr.AbstractNextTerminalAfterProductionWalker=Lr.NextAfterTokenWalker=Lr.AbstractNextPossibleTokensWalker=void 0;var zq=My(),Ut=Gt(),owe=Tx(),Dt=Cn(),Vq=function(r){Fc(e,r);function e(t,i){var n=r.call(this)||this;return n.topProd=t,n.path=i,n.possibleTokTypes=[],n.nextProductionName="",n.nextProductionOccurrence=0,n.found=!1,n.isAtEndOfPath=!1,n}return e.prototype.startWalking=function(){if(this.found=!1,this.path.ruleStack[0]!==this.topProd.name)throw Error("The path does not start with the walker's top Rule!");return this.ruleStack=(0,Ut.cloneArr)(this.path.ruleStack).reverse(),this.occurrenceStack=(0,Ut.cloneArr)(this.path.occurrenceStack).reverse(),this.ruleStack.pop(),this.occurrenceStack.pop(),this.updateExpectedNext(),this.walk(this.topProd),this.possibleTokTypes},e.prototype.walk=function(t,i){i===void 0&&(i=[]),this.found||r.prototype.walk.call(this,t,i)},e.prototype.walkProdRef=function(t,i,n){if(t.referencedRule.name===this.nextProductionName&&t.idx===this.nextProductionOccurrence){var s=i.concat(n);this.updateExpectedNext(),this.walk(t.referencedRule,s)}},e.prototype.updateExpectedNext=function(){(0,Ut.isEmpty)(this.ruleStack)?(this.nextProductionName="",this.nextProductionOccurrence=0,this.isAtEndOfPath=!0):(this.nextProductionName=this.ruleStack.pop(),this.nextProductionOccurrence=this.occurrenceStack.pop())},e}(zq.RestWalker);Lr.AbstractNextPossibleTokensWalker=Vq;var awe=function(r){Fc(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.path=i,n.nextTerminalName="",n.nextTerminalOccurrence=0,n.nextTerminalName=n.path.lastTok.name,n.nextTerminalOccurrence=n.path.lastTokOccurrence,n}return e.prototype.walkTerminal=function(t,i,n){if(this.isAtEndOfPath&&t.terminalType.name===this.nextTerminalName&&t.idx===this.nextTerminalOccurrence&&!this.found){var s=i.concat(n),o=new Dt.Alternative({definition:s});this.possibleTokTypes=(0,owe.first)(o),this.found=!0}},e}(Vq);Lr.NextAfterTokenWalker=awe;var Zd=function(r){Fc(e,r);function e(t,i){var n=r.call(this)||this;return n.topRule=t,n.occurrence=i,n.result={token:void 0,occurrence:void 0,isEndOfRule:void 0},n}return e.prototype.startWalking=function(){return this.walk(this.topRule),this.result},e}(zq.RestWalker);Lr.AbstractNextTerminalAfterProductionWalker=Zd;var Awe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkMany=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkMany.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterManyWalker=Awe;var lwe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkManySep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkManySep.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterManySepWalker=lwe;var cwe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOne=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOne.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterAtLeastOneWalker=cwe;var uwe=function(r){Fc(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.walkAtLeastOneSep=function(t,i,n){if(t.idx===this.occurrence){var s=(0,Ut.first)(i.concat(n));this.result.isEndOfRule=s===void 0,s instanceof Dt.Terminal&&(this.result.token=s.terminalType,this.result.occurrence=s.idx)}else r.prototype.walkAtLeastOneSep.call(this,t,i,n)},e}(Zd);Lr.NextTerminalAfterAtLeastOneSepWalker=uwe;function Xq(r,e,t){t===void 0&&(t=[]),t=(0,Ut.cloneArr)(t);var i=[],n=0;function s(c){return c.concat((0,Ut.drop)(r,n+1))}function o(c){var u=Xq(s(c),e,t);return i.concat(u)}for(;t.length=0;ge--){var _=B.definition[ge],L={idx:p,def:_.definition.concat((0,Ut.drop)(h)),ruleStack:C,occurrenceStack:w};g.push(L),g.push(o)}else if(B instanceof Dt.Alternative)g.push({idx:p,def:B.definition.concat((0,Ut.drop)(h)),ruleStack:C,occurrenceStack:w});else if(B instanceof Dt.Rule)g.push(fwe(B,p,C,w));else throw Error("non exhaustive match")}}return u}Lr.nextPossibleTokensAfter=gwe;function fwe(r,e,t,i){var n=(0,Ut.cloneArr)(t);n.push(r.name);var s=(0,Ut.cloneArr)(i);return s.push(1),{idx:e,def:r.definition,ruleStack:n,occurrenceStack:s}}});var eC=y(_t=>{"use strict";var $q=_t&&_t.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(_t,"__esModule",{value:!0});_t.areTokenCategoriesNotUsed=_t.isStrictPrefixOfPath=_t.containsPath=_t.getLookaheadPathsForOptionalProd=_t.getLookaheadPathsForOr=_t.lookAheadSequenceFromAlternatives=_t.buildSingleAlternativeLookaheadFunction=_t.buildAlternativesLookAheadFunc=_t.buildLookaheadFuncForOptionalProd=_t.buildLookaheadFuncForOr=_t.getProdType=_t.PROD_TYPE=void 0;var sr=Gt(),_q=$d(),hwe=My(),jy=df(),YA=Cn(),pwe=Cf(),li;(function(r){r[r.OPTION=0]="OPTION",r[r.REPETITION=1]="REPETITION",r[r.REPETITION_MANDATORY=2]="REPETITION_MANDATORY",r[r.REPETITION_MANDATORY_WITH_SEPARATOR=3]="REPETITION_MANDATORY_WITH_SEPARATOR",r[r.REPETITION_WITH_SEPARATOR=4]="REPETITION_WITH_SEPARATOR",r[r.ALTERNATION=5]="ALTERNATION"})(li=_t.PROD_TYPE||(_t.PROD_TYPE={}));function dwe(r){if(r instanceof YA.Option)return li.OPTION;if(r instanceof YA.Repetition)return li.REPETITION;if(r instanceof YA.RepetitionMandatory)return li.REPETITION_MANDATORY;if(r instanceof YA.RepetitionMandatoryWithSeparator)return li.REPETITION_MANDATORY_WITH_SEPARATOR;if(r instanceof YA.RepetitionWithSeparator)return li.REPETITION_WITH_SEPARATOR;if(r instanceof YA.Alternation)return li.ALTERNATION;throw Error("non exhaustive match")}_t.getProdType=dwe;function Cwe(r,e,t,i,n,s){var o=tJ(r,e,t),a=Kx(o)?jy.tokenStructuredMatcherNoCategories:jy.tokenStructuredMatcher;return s(o,i,a,n)}_t.buildLookaheadFuncForOr=Cwe;function mwe(r,e,t,i,n,s){var o=rJ(r,e,n,t),a=Kx(o)?jy.tokenStructuredMatcherNoCategories:jy.tokenStructuredMatcher;return s(o[0],a,i)}_t.buildLookaheadFuncForOptionalProd=mwe;function Ewe(r,e,t,i){var n=r.length,s=(0,sr.every)(r,function(l){return(0,sr.every)(l,function(c){return c.length===1})});if(e)return function(l){for(var c=(0,sr.map)(l,function(D){return D.GATE}),u=0;u{"use strict";var Hx=zt&&zt.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zt,"__esModule",{value:!0});zt.checkPrefixAlternativesAmbiguities=zt.validateSomeNonEmptyLookaheadPath=zt.validateTooManyAlts=zt.RepetionCollector=zt.validateAmbiguousAlternationAlternatives=zt.validateEmptyOrAlternative=zt.getFirstNoneTerminal=zt.validateNoLeftRecursion=zt.validateRuleIsOverridden=zt.validateRuleDoesNotAlreadyExist=zt.OccurrenceValidationCollector=zt.identifyProductionForDuplicates=zt.validateGrammar=void 0;var er=Gt(),Sr=Gt(),No=Hn(),Gx=Xd(),Ef=eC(),bwe=$d(),Zs=Cn(),Yx=Cf();function Qwe(r,e,t,i,n){var s=er.map(r,function(h){return Swe(h,i)}),o=er.map(r,function(h){return jx(h,h,i)}),a=[],l=[],c=[];(0,Sr.every)(o,Sr.isEmpty)&&(a=(0,Sr.map)(r,function(h){return AJ(h,i)}),l=(0,Sr.map)(r,function(h){return lJ(h,e,i)}),c=gJ(r,e,i));var u=Pwe(r,t,i),g=(0,Sr.map)(r,function(h){return uJ(h,i)}),f=(0,Sr.map)(r,function(h){return aJ(h,r,n,i)});return er.flatten(s.concat(c,o,a,l,u,g,f))}zt.validateGrammar=Qwe;function Swe(r,e){var t=new oJ;r.accept(t);var i=t.allProductions,n=er.groupBy(i,nJ),s=er.pick(n,function(a){return a.length>1}),o=er.map(er.values(s),function(a){var l=er.first(a),c=e.buildDuplicateFoundError(r,a),u=(0,Gx.getProductionDslName)(l),g={message:c,type:No.ParserDefinitionErrorType.DUPLICATE_PRODUCTIONS,ruleName:r.name,dslName:u,occurrence:l.idx},f=sJ(l);return f&&(g.parameter=f),g});return o}function nJ(r){return(0,Gx.getProductionDslName)(r)+"_#_"+r.idx+"_#_"+sJ(r)}zt.identifyProductionForDuplicates=nJ;function sJ(r){return r instanceof Zs.Terminal?r.terminalType.name:r instanceof Zs.NonTerminal?r.nonTerminalName:""}var oJ=function(r){Hx(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitNonTerminal=function(t){this.allProductions.push(t)},e.prototype.visitOption=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e.prototype.visitAlternation=function(t){this.allProductions.push(t)},e.prototype.visitTerminal=function(t){this.allProductions.push(t)},e}(Yx.GAstVisitor);zt.OccurrenceValidationCollector=oJ;function aJ(r,e,t,i){var n=[],s=(0,Sr.reduce)(e,function(a,l){return l.name===r.name?a+1:a},0);if(s>1){var o=i.buildDuplicateRuleNameError({topLevelRule:r,grammarName:t});n.push({message:o,type:No.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:r.name})}return n}zt.validateRuleDoesNotAlreadyExist=aJ;function vwe(r,e,t){var i=[],n;return er.contains(e,r)||(n="Invalid rule override, rule: ->"+r+"<- cannot be overridden in the grammar: ->"+t+"<-as it is not defined in any of the super grammars ",i.push({message:n,type:No.ParserDefinitionErrorType.INVALID_RULE_OVERRIDE,ruleName:r})),i}zt.validateRuleIsOverridden=vwe;function jx(r,e,t,i){i===void 0&&(i=[]);var n=[],s=tC(e.definition);if(er.isEmpty(s))return[];var o=r.name,a=er.contains(s,r);a&&n.push({message:t.buildLeftRecursionError({topLevelRule:r,leftRecursionPath:i}),type:No.ParserDefinitionErrorType.LEFT_RECURSION,ruleName:o});var l=er.difference(s,i.concat([r])),c=er.map(l,function(u){var g=er.cloneArr(i);return g.push(u),jx(r,u,t,g)});return n.concat(er.flatten(c))}zt.validateNoLeftRecursion=jx;function tC(r){var e=[];if(er.isEmpty(r))return e;var t=er.first(r);if(t instanceof Zs.NonTerminal)e.push(t.referencedRule);else if(t instanceof Zs.Alternative||t instanceof Zs.Option||t instanceof Zs.RepetitionMandatory||t instanceof Zs.RepetitionMandatoryWithSeparator||t instanceof Zs.RepetitionWithSeparator||t instanceof Zs.Repetition)e=e.concat(tC(t.definition));else if(t instanceof Zs.Alternation)e=er.flatten(er.map(t.definition,function(o){return tC(o.definition)}));else if(!(t instanceof Zs.Terminal))throw Error("non exhaustive match");var i=(0,Gx.isOptionalProd)(t),n=r.length>1;if(i&&n){var s=er.drop(r);return e.concat(tC(s))}else return e}zt.getFirstNoneTerminal=tC;var qx=function(r){Hx(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.alternations=[],t}return e.prototype.visitAlternation=function(t){this.alternations.push(t)},e}(Yx.GAstVisitor);function AJ(r,e){var t=new qx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){var a=er.dropRight(o.definition),l=er.map(a,function(c,u){var g=(0,bwe.nextPossibleTokensAfter)([c],[],null,1);return er.isEmpty(g)?{message:e.buildEmptyAlternationError({topLevelRule:r,alternation:o,emptyChoiceIdx:u}),type:No.ParserDefinitionErrorType.NONE_LAST_EMPTY_ALT,ruleName:r.name,occurrence:o.idx,alternative:u+1}:null});return s.concat(er.compact(l))},[]);return n}zt.validateEmptyOrAlternative=AJ;function lJ(r,e,t){var i=new qx;r.accept(i);var n=i.alternations;n=(0,Sr.reject)(n,function(o){return o.ignoreAmbiguities===!0});var s=er.reduce(n,function(o,a){var l=a.idx,c=a.maxLookahead||e,u=(0,Ef.getLookaheadPathsForOr)(l,r,c,a),g=xwe(u,a,r,t),f=fJ(u,a,r,t);return o.concat(g,f)},[]);return s}zt.validateAmbiguousAlternationAlternatives=lJ;var cJ=function(r){Hx(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t.allProductions=[],t}return e.prototype.visitRepetitionWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatory=function(t){this.allProductions.push(t)},e.prototype.visitRepetitionMandatoryWithSeparator=function(t){this.allProductions.push(t)},e.prototype.visitRepetition=function(t){this.allProductions.push(t)},e}(Yx.GAstVisitor);zt.RepetionCollector=cJ;function uJ(r,e){var t=new qx;r.accept(t);var i=t.alternations,n=er.reduce(i,function(s,o){return o.definition.length>255&&s.push({message:e.buildTooManyAlternativesError({topLevelRule:r,alternation:o}),type:No.ParserDefinitionErrorType.TOO_MANY_ALTS,ruleName:r.name,occurrence:o.idx}),s},[]);return n}zt.validateTooManyAlts=uJ;function gJ(r,e,t){var i=[];return(0,Sr.forEach)(r,function(n){var s=new cJ;n.accept(s);var o=s.allProductions;(0,Sr.forEach)(o,function(a){var l=(0,Ef.getProdType)(a),c=a.maxLookahead||e,u=a.idx,g=(0,Ef.getLookaheadPathsForOptionalProd)(u,n,l,c),f=g[0];if((0,Sr.isEmpty)((0,Sr.flatten)(f))){var h=t.buildEmptyRepetitionError({topLevelRule:n,repetition:a});i.push({message:h,type:No.ParserDefinitionErrorType.NO_NON_EMPTY_LOOKAHEAD,ruleName:n.name})}})}),i}zt.validateSomeNonEmptyLookaheadPath=gJ;function xwe(r,e,t,i){var n=[],s=(0,Sr.reduce)(r,function(a,l,c){return e.definition[c].ignoreAmbiguities===!0||(0,Sr.forEach)(l,function(u){var g=[c];(0,Sr.forEach)(r,function(f,h){c!==h&&(0,Ef.containsPath)(f,u)&&e.definition[h].ignoreAmbiguities!==!0&&g.push(h)}),g.length>1&&!(0,Ef.containsPath)(n,u)&&(n.push(u),a.push({alts:g,path:u}))}),a},[]),o=er.map(s,function(a){var l=(0,Sr.map)(a.alts,function(u){return u+1}),c=i.buildAlternationAmbiguityError({topLevelRule:t,alternation:e,ambiguityIndices:l,prefixPath:a.path});return{message:c,type:No.ParserDefinitionErrorType.AMBIGUOUS_ALTS,ruleName:t.name,occurrence:e.idx,alternatives:[a.alts]}});return o}function fJ(r,e,t,i){var n=[],s=(0,Sr.reduce)(r,function(o,a,l){var c=(0,Sr.map)(a,function(u){return{idx:l,path:u}});return o.concat(c)},[]);return(0,Sr.forEach)(s,function(o){var a=e.definition[o.idx];if(a.ignoreAmbiguities!==!0){var l=o.idx,c=o.path,u=(0,Sr.findAll)(s,function(f){return e.definition[f.idx].ignoreAmbiguities!==!0&&f.idx{"use strict";Object.defineProperty(If,"__esModule",{value:!0});If.validateGrammar=If.resolveGrammar=void 0;var Wx=Gt(),Dwe=Wq(),kwe=Jx(),hJ=_d();function Rwe(r){r=(0,Wx.defaults)(r,{errMsgProvider:hJ.defaultGrammarResolverErrorProvider});var e={};return(0,Wx.forEach)(r.rules,function(t){e[t.name]=t}),(0,Dwe.resolveGrammar)(e,r.errMsgProvider)}If.resolveGrammar=Rwe;function Fwe(r){return r=(0,Wx.defaults)(r,{errMsgProvider:hJ.defaultGrammarValidatorErrorProvider}),(0,kwe.validateGrammar)(r.rules,r.maxLookahead,r.tokenTypes,r.errMsgProvider,r.grammarName)}If.validateGrammar=Fwe});var yf=y(En=>{"use strict";var rC=En&&En.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(En,"__esModule",{value:!0});En.EarlyExitException=En.NotAllInputParsedException=En.NoViableAltException=En.MismatchedTokenException=En.isRecognitionException=void 0;var Nwe=Gt(),dJ="MismatchedTokenException",CJ="NoViableAltException",mJ="EarlyExitException",EJ="NotAllInputParsedException",IJ=[dJ,CJ,mJ,EJ];Object.freeze(IJ);function Twe(r){return(0,Nwe.contains)(IJ,r.name)}En.isRecognitionException=Twe;var qy=function(r){rC(e,r);function e(t,i){var n=this.constructor,s=r.call(this,t)||this;return s.token=i,s.resyncedTokens=[],Object.setPrototypeOf(s,n.prototype),Error.captureStackTrace&&Error.captureStackTrace(s,s.constructor),s}return e}(Error),Lwe=function(r){rC(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=dJ,s}return e}(qy);En.MismatchedTokenException=Lwe;var Owe=function(r){rC(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=CJ,s}return e}(qy);En.NoViableAltException=Owe;var Mwe=function(r){rC(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.name=EJ,n}return e}(qy);En.NotAllInputParsedException=Mwe;var Uwe=function(r){rC(e,r);function e(t,i,n){var s=r.call(this,t,i)||this;return s.previousToken=n,s.name=mJ,s}return e}(qy);En.EarlyExitException=Uwe});var Vx=y(Ki=>{"use strict";Object.defineProperty(Ki,"__esModule",{value:!0});Ki.attemptInRepetitionRecovery=Ki.Recoverable=Ki.InRuleRecoveryException=Ki.IN_RULE_RECOVERY_EXCEPTION=Ki.EOF_FOLLOW_KEY=void 0;var Jy=HA(),cs=Gt(),Kwe=yf(),Hwe=Lx(),Gwe=Hn();Ki.EOF_FOLLOW_KEY={};Ki.IN_RULE_RECOVERY_EXCEPTION="InRuleRecoveryException";function zx(r){this.name=Ki.IN_RULE_RECOVERY_EXCEPTION,this.message=r}Ki.InRuleRecoveryException=zx;zx.prototype=Error.prototype;var Ywe=function(){function r(){}return r.prototype.initRecoverable=function(e){this.firstAfterRepMap={},this.resyncFollows={},this.recoveryEnabled=(0,cs.has)(e,"recoveryEnabled")?e.recoveryEnabled:Gwe.DEFAULT_PARSER_CONFIG.recoveryEnabled,this.recoveryEnabled&&(this.attemptInRepetitionRecovery=yJ)},r.prototype.getTokenToInsert=function(e){var t=(0,Jy.createTokenInstance)(e,"",NaN,NaN,NaN,NaN,NaN,NaN);return t.isInsertedInRecovery=!0,t},r.prototype.canTokenTypeBeInsertedInRecovery=function(e){return!0},r.prototype.tryInRepetitionRecovery=function(e,t,i,n){for(var s=this,o=this.findReSyncTokenType(),a=this.exportLexerState(),l=[],c=!1,u=this.LA(1),g=this.LA(1),f=function(){var h=s.LA(0),p=s.errorMessageProvider.buildMismatchTokenMessage({expected:n,actual:u,previous:h,ruleName:s.getCurrRuleFullName()}),C=new Kwe.MismatchedTokenException(p,u,s.LA(0));C.resyncedTokens=(0,cs.dropRight)(l),s.SAVE_ERROR(C)};!c;)if(this.tokenMatcher(g,n)){f();return}else if(i.call(this)){f(),e.apply(this,t);return}else this.tokenMatcher(g,o)?c=!0:(g=this.SKIP_TOKEN(),this.addToResyncTokens(g,l));this.importLexerState(a)},r.prototype.shouldInRepetitionRecoveryBeTried=function(e,t,i){return!(i===!1||e===void 0||t===void 0||this.tokenMatcher(this.LA(1),e)||this.isBackTracking()||this.canPerformInRuleRecovery(e,this.getFollowsForInRuleRecovery(e,t)))},r.prototype.getFollowsForInRuleRecovery=function(e,t){var i=this.getCurrentGrammarPath(e,t),n=this.getNextPossibleTokenTypes(i);return n},r.prototype.tryInRuleRecovery=function(e,t){if(this.canRecoverWithSingleTokenInsertion(e,t)){var i=this.getTokenToInsert(e);return i}if(this.canRecoverWithSingleTokenDeletion(e)){var n=this.SKIP_TOKEN();return this.consumeToken(),n}throw new zx("sad sad panda")},r.prototype.canPerformInRuleRecovery=function(e,t){return this.canRecoverWithSingleTokenInsertion(e,t)||this.canRecoverWithSingleTokenDeletion(e)},r.prototype.canRecoverWithSingleTokenInsertion=function(e,t){var i=this;if(!this.canTokenTypeBeInsertedInRecovery(e)||(0,cs.isEmpty)(t))return!1;var n=this.LA(1),s=(0,cs.find)(t,function(o){return i.tokenMatcher(n,o)})!==void 0;return s},r.prototype.canRecoverWithSingleTokenDeletion=function(e){var t=this.tokenMatcher(this.LA(2),e);return t},r.prototype.isInCurrentRuleReSyncSet=function(e){var t=this.getCurrFollowKey(),i=this.getFollowSetFromFollowKey(t);return(0,cs.contains)(i,e)},r.prototype.findReSyncTokenType=function(){for(var e=this.flattenFollowSet(),t=this.LA(1),i=2;;){var n=t.tokenType;if((0,cs.contains)(e,n))return n;t=this.LA(i),i++}},r.prototype.getCurrFollowKey=function(){if(this.RULE_STACK.length===1)return Ki.EOF_FOLLOW_KEY;var e=this.getLastExplicitRuleShortName(),t=this.getLastExplicitRuleOccurrenceIndex(),i=this.getPreviousExplicitRuleShortName();return{ruleName:this.shortRuleNameToFullName(e),idxInCallingRule:t,inRule:this.shortRuleNameToFullName(i)}},r.prototype.buildFullFollowKeyStack=function(){var e=this,t=this.RULE_STACK,i=this.RULE_OCCURRENCE_STACK;return(0,cs.map)(t,function(n,s){return s===0?Ki.EOF_FOLLOW_KEY:{ruleName:e.shortRuleNameToFullName(n),idxInCallingRule:i[s],inRule:e.shortRuleNameToFullName(t[s-1])}})},r.prototype.flattenFollowSet=function(){var e=this,t=(0,cs.map)(this.buildFullFollowKeyStack(),function(i){return e.getFollowSetFromFollowKey(i)});return(0,cs.flatten)(t)},r.prototype.getFollowSetFromFollowKey=function(e){if(e===Ki.EOF_FOLLOW_KEY)return[Jy.EOF];var t=e.ruleName+e.idxInCallingRule+Hwe.IN+e.inRule;return this.resyncFollows[t]},r.prototype.addToResyncTokens=function(e,t){return this.tokenMatcher(e,Jy.EOF)||t.push(e),t},r.prototype.reSyncTo=function(e){for(var t=[],i=this.LA(1);this.tokenMatcher(i,e)===!1;)i=this.SKIP_TOKEN(),this.addToResyncTokens(i,t);return(0,cs.dropRight)(t)},r.prototype.attemptInRepetitionRecovery=function(e,t,i,n,s,o,a){},r.prototype.getCurrentGrammarPath=function(e,t){var i=this.getHumanReadableRuleStack(),n=(0,cs.cloneArr)(this.RULE_OCCURRENCE_STACK),s={ruleStack:i,occurrenceStack:n,lastTok:e,lastTokOccurrence:t};return s},r.prototype.getHumanReadableRuleStack=function(){var e=this;return(0,cs.map)(this.RULE_STACK,function(t){return e.shortRuleNameToFullName(t)})},r}();Ki.Recoverable=Ywe;function yJ(r,e,t,i,n,s,o){var a=this.getKeyForAutomaticLookahead(i,n),l=this.firstAfterRepMap[a];if(l===void 0){var c=this.getCurrRuleFullName(),u=this.getGAstProductions()[c],g=new s(u,n);l=g.startWalking(),this.firstAfterRepMap[a]=l}var f=l.token,h=l.occurrence,p=l.isEndOfRule;this.RULE_STACK.length===1&&p&&f===void 0&&(f=Jy.EOF,h=1),this.shouldInRepetitionRecoveryBeTried(f,h,o)&&this.tryInRepetitionRecovery(r,e,t,f)}Ki.attemptInRepetitionRecovery=yJ});var Wy=y(qt=>{"use strict";Object.defineProperty(qt,"__esModule",{value:!0});qt.getKeyForAutomaticLookahead=qt.AT_LEAST_ONE_SEP_IDX=qt.MANY_SEP_IDX=qt.AT_LEAST_ONE_IDX=qt.MANY_IDX=qt.OPTION_IDX=qt.OR_IDX=qt.BITS_FOR_ALT_IDX=qt.BITS_FOR_RULE_IDX=qt.BITS_FOR_OCCURRENCE_IDX=qt.BITS_FOR_METHOD_TYPE=void 0;qt.BITS_FOR_METHOD_TYPE=4;qt.BITS_FOR_OCCURRENCE_IDX=8;qt.BITS_FOR_RULE_IDX=12;qt.BITS_FOR_ALT_IDX=8;qt.OR_IDX=1<{"use strict";Object.defineProperty(zy,"__esModule",{value:!0});zy.LooksAhead=void 0;var Fa=eC(),$s=Gt(),wJ=Hn(),Na=Wy(),Nc=Xd(),qwe=function(){function r(){}return r.prototype.initLooksAhead=function(e){this.dynamicTokensEnabled=(0,$s.has)(e,"dynamicTokensEnabled")?e.dynamicTokensEnabled:wJ.DEFAULT_PARSER_CONFIG.dynamicTokensEnabled,this.maxLookahead=(0,$s.has)(e,"maxLookahead")?e.maxLookahead:wJ.DEFAULT_PARSER_CONFIG.maxLookahead,this.lookAheadFuncsCache=(0,$s.isES2015MapSupported)()?new Map:[],(0,$s.isES2015MapSupported)()?(this.getLaFuncFromCache=this.getLaFuncFromMap,this.setLaFuncCache=this.setLaFuncCacheUsingMap):(this.getLaFuncFromCache=this.getLaFuncFromObj,this.setLaFuncCache=this.setLaFuncUsingObj)},r.prototype.preComputeLookaheadFunctions=function(e){var t=this;(0,$s.forEach)(e,function(i){t.TRACE_INIT(i.name+" Rule Lookahead",function(){var n=(0,Nc.collectMethods)(i),s=n.alternation,o=n.repetition,a=n.option,l=n.repetitionMandatory,c=n.repetitionMandatoryWithSeparator,u=n.repetitionWithSeparator;(0,$s.forEach)(s,function(g){var f=g.idx===0?"":g.idx;t.TRACE_INIT(""+(0,Nc.getProductionDslName)(g)+f,function(){var h=(0,Fa.buildLookaheadFuncForOr)(g.idx,i,g.maxLookahead||t.maxLookahead,g.hasPredicates,t.dynamicTokensEnabled,t.lookAheadBuilderForAlternatives),p=(0,Na.getKeyForAutomaticLookahead)(t.fullRuleNameToShort[i.name],Na.OR_IDX,g.idx);t.setLaFuncCache(p,h)})}),(0,$s.forEach)(o,function(g){t.computeLookaheadFunc(i,g.idx,Na.MANY_IDX,Fa.PROD_TYPE.REPETITION,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(a,function(g){t.computeLookaheadFunc(i,g.idx,Na.OPTION_IDX,Fa.PROD_TYPE.OPTION,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(l,function(g){t.computeLookaheadFunc(i,g.idx,Na.AT_LEAST_ONE_IDX,Fa.PROD_TYPE.REPETITION_MANDATORY,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(c,function(g){t.computeLookaheadFunc(i,g.idx,Na.AT_LEAST_ONE_SEP_IDX,Fa.PROD_TYPE.REPETITION_MANDATORY_WITH_SEPARATOR,g.maxLookahead,(0,Nc.getProductionDslName)(g))}),(0,$s.forEach)(u,function(g){t.computeLookaheadFunc(i,g.idx,Na.MANY_SEP_IDX,Fa.PROD_TYPE.REPETITION_WITH_SEPARATOR,g.maxLookahead,(0,Nc.getProductionDslName)(g))})})})},r.prototype.computeLookaheadFunc=function(e,t,i,n,s,o){var a=this;this.TRACE_INIT(""+o+(t===0?"":t),function(){var l=(0,Fa.buildLookaheadFuncForOptionalProd)(t,e,s||a.maxLookahead,a.dynamicTokensEnabled,n,a.lookAheadBuilderForOptional),c=(0,Na.getKeyForAutomaticLookahead)(a.fullRuleNameToShort[e.name],i,t);a.setLaFuncCache(c,l)})},r.prototype.lookAheadBuilderForOptional=function(e,t,i){return(0,Fa.buildSingleAlternativeLookaheadFunction)(e,t,i)},r.prototype.lookAheadBuilderForAlternatives=function(e,t,i,n){return(0,Fa.buildAlternativesLookAheadFunc)(e,t,i,n)},r.prototype.getKeyForAutomaticLookahead=function(e,t){var i=this.getLastExplicitRuleShortName();return(0,Na.getKeyForAutomaticLookahead)(i,e,t)},r.prototype.getLaFuncFromCache=function(e){},r.prototype.getLaFuncFromMap=function(e){return this.lookAheadFuncsCache.get(e)},r.prototype.getLaFuncFromObj=function(e){return this.lookAheadFuncsCache[e]},r.prototype.setLaFuncCache=function(e,t){},r.prototype.setLaFuncCacheUsingMap=function(e,t){this.lookAheadFuncsCache.set(e,t)},r.prototype.setLaFuncUsingObj=function(e,t){this.lookAheadFuncsCache[e]=t},r}();zy.LooksAhead=qwe});var bJ=y(To=>{"use strict";Object.defineProperty(To,"__esModule",{value:!0});To.addNoneTerminalToCst=To.addTerminalToCst=To.setNodeLocationFull=To.setNodeLocationOnlyOffset=void 0;function Jwe(r,e){isNaN(r.startOffset)===!0?(r.startOffset=e.startOffset,r.endOffset=e.endOffset):r.endOffset{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.defineNameProp=jA.functionName=jA.classNameFromInstance=void 0;var Xwe=Gt();function _we(r){return SJ(r.constructor)}jA.classNameFromInstance=_we;var QJ="name";function SJ(r){var e=r.name;return e||"anonymous"}jA.functionName=SJ;function Zwe(r,e){var t=Object.getOwnPropertyDescriptor(r,QJ);return(0,Xwe.isUndefined)(t)||t.configurable?(Object.defineProperty(r,QJ,{enumerable:!1,configurable:!0,writable:!1,value:e}),!0):!1}jA.defineNameProp=Zwe});var kJ=y(vi=>{"use strict";Object.defineProperty(vi,"__esModule",{value:!0});vi.validateRedundantMethods=vi.validateMissingCstMethods=vi.validateVisitor=vi.CstVisitorDefinitionError=vi.createBaseVisitorConstructorWithDefaults=vi.createBaseSemanticVisitorConstructor=vi.defaultVisit=void 0;var us=Gt(),iC=Xx();function vJ(r,e){for(var t=(0,us.keys)(r),i=t.length,n=0;n: - `+(""+s.join(` - -`).replace(/\n/g,` - `)))}}};return t.prototype=i,t.prototype.constructor=t,t._RULE_NAMES=e,t}vi.createBaseSemanticVisitorConstructor=$we;function eBe(r,e,t){var i=function(){};(0,iC.defineNameProp)(i,r+"BaseSemanticsWithDefaults");var n=Object.create(t.prototype);return(0,us.forEach)(e,function(s){n[s]=vJ}),i.prototype=n,i.prototype.constructor=i,i}vi.createBaseVisitorConstructorWithDefaults=eBe;var _x;(function(r){r[r.REDUNDANT_METHOD=0]="REDUNDANT_METHOD",r[r.MISSING_METHOD=1]="MISSING_METHOD"})(_x=vi.CstVisitorDefinitionError||(vi.CstVisitorDefinitionError={}));function xJ(r,e){var t=PJ(r,e),i=DJ(r,e);return t.concat(i)}vi.validateVisitor=xJ;function PJ(r,e){var t=(0,us.map)(e,function(i){if(!(0,us.isFunction)(r[i]))return{msg:"Missing visitor method: <"+i+"> on "+(0,iC.functionName)(r.constructor)+" CST Visitor.",type:_x.MISSING_METHOD,methodName:i}});return(0,us.compact)(t)}vi.validateMissingCstMethods=PJ;var tBe=["constructor","visit","validateVisitor"];function DJ(r,e){var t=[];for(var i in r)(0,us.isFunction)(r[i])&&!(0,us.contains)(tBe,i)&&!(0,us.contains)(e,i)&&t.push({msg:"Redundant visitor method: <"+i+"> on "+(0,iC.functionName)(r.constructor)+` CST Visitor -There is no Grammar Rule corresponding to this method's name. -`,type:_x.REDUNDANT_METHOD,methodName:i});return t}vi.validateRedundantMethods=DJ});var FJ=y(Vy=>{"use strict";Object.defineProperty(Vy,"__esModule",{value:!0});Vy.TreeBuilder=void 0;var wf=bJ(),ti=Gt(),RJ=kJ(),rBe=Hn(),iBe=function(){function r(){}return r.prototype.initTreeBuilder=function(e){if(this.CST_STACK=[],this.outputCst=e.outputCst,this.nodeLocationTracking=(0,ti.has)(e,"nodeLocationTracking")?e.nodeLocationTracking:rBe.DEFAULT_PARSER_CONFIG.nodeLocationTracking,!this.outputCst)this.cstInvocationStateUpdate=ti.NOOP,this.cstFinallyStateUpdate=ti.NOOP,this.cstPostTerminal=ti.NOOP,this.cstPostNonTerminal=ti.NOOP,this.cstPostRule=ti.NOOP;else if(/full/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=wf.setNodeLocationFull,this.setNodeLocationFromNode=wf.setNodeLocationFull,this.cstPostRule=ti.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationFullRecovery):(this.setNodeLocationFromToken=ti.NOOP,this.setNodeLocationFromNode=ti.NOOP,this.cstPostRule=this.cstPostRuleFull,this.setInitialNodeLocation=this.setInitialNodeLocationFullRegular);else if(/onlyOffset/i.test(this.nodeLocationTracking))this.recoveryEnabled?(this.setNodeLocationFromToken=wf.setNodeLocationOnlyOffset,this.setNodeLocationFromNode=wf.setNodeLocationOnlyOffset,this.cstPostRule=ti.NOOP,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRecovery):(this.setNodeLocationFromToken=ti.NOOP,this.setNodeLocationFromNode=ti.NOOP,this.cstPostRule=this.cstPostRuleOnlyOffset,this.setInitialNodeLocation=this.setInitialNodeLocationOnlyOffsetRegular);else if(/none/i.test(this.nodeLocationTracking))this.setNodeLocationFromToken=ti.NOOP,this.setNodeLocationFromNode=ti.NOOP,this.cstPostRule=ti.NOOP,this.setInitialNodeLocation=ti.NOOP;else throw Error('Invalid config option: "'+e.nodeLocationTracking+'"')},r.prototype.setInitialNodeLocationOnlyOffsetRecovery=function(e){e.location={startOffset:NaN,endOffset:NaN}},r.prototype.setInitialNodeLocationOnlyOffsetRegular=function(e){e.location={startOffset:this.LA(1).startOffset,endOffset:NaN}},r.prototype.setInitialNodeLocationFullRecovery=function(e){e.location={startOffset:NaN,startLine:NaN,startColumn:NaN,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.setInitialNodeLocationFullRegular=function(e){var t=this.LA(1);e.location={startOffset:t.startOffset,startLine:t.startLine,startColumn:t.startColumn,endOffset:NaN,endLine:NaN,endColumn:NaN}},r.prototype.cstInvocationStateUpdate=function(e,t){var i={name:e,children:{}};this.setInitialNodeLocation(i),this.CST_STACK.push(i)},r.prototype.cstFinallyStateUpdate=function(){this.CST_STACK.pop()},r.prototype.cstPostRuleFull=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?(i.endOffset=t.endOffset,i.endLine=t.endLine,i.endColumn=t.endColumn):(i.startOffset=NaN,i.startLine=NaN,i.startColumn=NaN)},r.prototype.cstPostRuleOnlyOffset=function(e){var t=this.LA(0),i=e.location;i.startOffset<=t.startOffset?i.endOffset=t.endOffset:i.startOffset=NaN},r.prototype.cstPostTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,wf.addTerminalToCst)(i,t,e),this.setNodeLocationFromToken(i.location,t)},r.prototype.cstPostNonTerminal=function(e,t){var i=this.CST_STACK[this.CST_STACK.length-1];(0,wf.addNoneTerminalToCst)(i,t,e),this.setNodeLocationFromNode(i.location,e.location)},r.prototype.getBaseCstVisitorConstructor=function(){if((0,ti.isUndefined)(this.baseCstVisitorConstructor)){var e=(0,RJ.createBaseSemanticVisitorConstructor)(this.className,(0,ti.keys)(this.gastProductionsCache));return this.baseCstVisitorConstructor=e,e}return this.baseCstVisitorConstructor},r.prototype.getBaseCstVisitorConstructorWithDefaults=function(){if((0,ti.isUndefined)(this.baseCstVisitorWithDefaultsConstructor)){var e=(0,RJ.createBaseVisitorConstructorWithDefaults)(this.className,(0,ti.keys)(this.gastProductionsCache),this.getBaseCstVisitorConstructor());return this.baseCstVisitorWithDefaultsConstructor=e,e}return this.baseCstVisitorWithDefaultsConstructor},r.prototype.getLastExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-1]},r.prototype.getPreviousExplicitRuleShortName=function(){var e=this.RULE_STACK;return e[e.length-2]},r.prototype.getLastExplicitRuleOccurrenceIndex=function(){var e=this.RULE_OCCURRENCE_STACK;return e[e.length-1]},r}();Vy.TreeBuilder=iBe});var TJ=y(Xy=>{"use strict";Object.defineProperty(Xy,"__esModule",{value:!0});Xy.LexerAdapter=void 0;var NJ=Hn(),nBe=function(){function r(){}return r.prototype.initLexerAdapter=function(){this.tokVector=[],this.tokVectorLength=0,this.currIdx=-1},Object.defineProperty(r.prototype,"input",{get:function(){return this.tokVector},set:function(e){if(this.selfAnalysisDone!==!0)throw Error("Missing invocation at the end of the Parser's constructor.");this.reset(),this.tokVector=e,this.tokVectorLength=e.length},enumerable:!1,configurable:!0}),r.prototype.SKIP_TOKEN=function(){return this.currIdx<=this.tokVector.length-2?(this.consumeToken(),this.LA(1)):NJ.END_OF_FILE},r.prototype.LA=function(e){var t=this.currIdx+e;return t<0||this.tokVectorLength<=t?NJ.END_OF_FILE:this.tokVector[t]},r.prototype.consumeToken=function(){this.currIdx++},r.prototype.exportLexerState=function(){return this.currIdx},r.prototype.importLexerState=function(e){this.currIdx=e},r.prototype.resetLexerState=function(){this.currIdx=-1},r.prototype.moveToTerminatedState=function(){this.currIdx=this.tokVector.length-1},r.prototype.getLexerPosition=function(){return this.exportLexerState()},r}();Xy.LexerAdapter=nBe});var OJ=y(_y=>{"use strict";Object.defineProperty(_y,"__esModule",{value:!0});_y.RecognizerApi=void 0;var LJ=Gt(),sBe=yf(),Zx=Hn(),oBe=_d(),aBe=Jx(),ABe=Cn(),lBe=function(){function r(){}return r.prototype.ACTION=function(e){return e.call(this)},r.prototype.consume=function(e,t,i){return this.consumeInternal(t,e,i)},r.prototype.subrule=function(e,t,i){return this.subruleInternal(t,e,i)},r.prototype.option=function(e,t){return this.optionInternal(t,e)},r.prototype.or=function(e,t){return this.orInternal(t,e)},r.prototype.many=function(e,t){return this.manyInternal(e,t)},r.prototype.atLeastOne=function(e,t){return this.atLeastOneInternal(e,t)},r.prototype.CONSUME=function(e,t){return this.consumeInternal(e,0,t)},r.prototype.CONSUME1=function(e,t){return this.consumeInternal(e,1,t)},r.prototype.CONSUME2=function(e,t){return this.consumeInternal(e,2,t)},r.prototype.CONSUME3=function(e,t){return this.consumeInternal(e,3,t)},r.prototype.CONSUME4=function(e,t){return this.consumeInternal(e,4,t)},r.prototype.CONSUME5=function(e,t){return this.consumeInternal(e,5,t)},r.prototype.CONSUME6=function(e,t){return this.consumeInternal(e,6,t)},r.prototype.CONSUME7=function(e,t){return this.consumeInternal(e,7,t)},r.prototype.CONSUME8=function(e,t){return this.consumeInternal(e,8,t)},r.prototype.CONSUME9=function(e,t){return this.consumeInternal(e,9,t)},r.prototype.SUBRULE=function(e,t){return this.subruleInternal(e,0,t)},r.prototype.SUBRULE1=function(e,t){return this.subruleInternal(e,1,t)},r.prototype.SUBRULE2=function(e,t){return this.subruleInternal(e,2,t)},r.prototype.SUBRULE3=function(e,t){return this.subruleInternal(e,3,t)},r.prototype.SUBRULE4=function(e,t){return this.subruleInternal(e,4,t)},r.prototype.SUBRULE5=function(e,t){return this.subruleInternal(e,5,t)},r.prototype.SUBRULE6=function(e,t){return this.subruleInternal(e,6,t)},r.prototype.SUBRULE7=function(e,t){return this.subruleInternal(e,7,t)},r.prototype.SUBRULE8=function(e,t){return this.subruleInternal(e,8,t)},r.prototype.SUBRULE9=function(e,t){return this.subruleInternal(e,9,t)},r.prototype.OPTION=function(e){return this.optionInternal(e,0)},r.prototype.OPTION1=function(e){return this.optionInternal(e,1)},r.prototype.OPTION2=function(e){return this.optionInternal(e,2)},r.prototype.OPTION3=function(e){return this.optionInternal(e,3)},r.prototype.OPTION4=function(e){return this.optionInternal(e,4)},r.prototype.OPTION5=function(e){return this.optionInternal(e,5)},r.prototype.OPTION6=function(e){return this.optionInternal(e,6)},r.prototype.OPTION7=function(e){return this.optionInternal(e,7)},r.prototype.OPTION8=function(e){return this.optionInternal(e,8)},r.prototype.OPTION9=function(e){return this.optionInternal(e,9)},r.prototype.OR=function(e){return this.orInternal(e,0)},r.prototype.OR1=function(e){return this.orInternal(e,1)},r.prototype.OR2=function(e){return this.orInternal(e,2)},r.prototype.OR3=function(e){return this.orInternal(e,3)},r.prototype.OR4=function(e){return this.orInternal(e,4)},r.prototype.OR5=function(e){return this.orInternal(e,5)},r.prototype.OR6=function(e){return this.orInternal(e,6)},r.prototype.OR7=function(e){return this.orInternal(e,7)},r.prototype.OR8=function(e){return this.orInternal(e,8)},r.prototype.OR9=function(e){return this.orInternal(e,9)},r.prototype.MANY=function(e){this.manyInternal(0,e)},r.prototype.MANY1=function(e){this.manyInternal(1,e)},r.prototype.MANY2=function(e){this.manyInternal(2,e)},r.prototype.MANY3=function(e){this.manyInternal(3,e)},r.prototype.MANY4=function(e){this.manyInternal(4,e)},r.prototype.MANY5=function(e){this.manyInternal(5,e)},r.prototype.MANY6=function(e){this.manyInternal(6,e)},r.prototype.MANY7=function(e){this.manyInternal(7,e)},r.prototype.MANY8=function(e){this.manyInternal(8,e)},r.prototype.MANY9=function(e){this.manyInternal(9,e)},r.prototype.MANY_SEP=function(e){this.manySepFirstInternal(0,e)},r.prototype.MANY_SEP1=function(e){this.manySepFirstInternal(1,e)},r.prototype.MANY_SEP2=function(e){this.manySepFirstInternal(2,e)},r.prototype.MANY_SEP3=function(e){this.manySepFirstInternal(3,e)},r.prototype.MANY_SEP4=function(e){this.manySepFirstInternal(4,e)},r.prototype.MANY_SEP5=function(e){this.manySepFirstInternal(5,e)},r.prototype.MANY_SEP6=function(e){this.manySepFirstInternal(6,e)},r.prototype.MANY_SEP7=function(e){this.manySepFirstInternal(7,e)},r.prototype.MANY_SEP8=function(e){this.manySepFirstInternal(8,e)},r.prototype.MANY_SEP9=function(e){this.manySepFirstInternal(9,e)},r.prototype.AT_LEAST_ONE=function(e){this.atLeastOneInternal(0,e)},r.prototype.AT_LEAST_ONE1=function(e){return this.atLeastOneInternal(1,e)},r.prototype.AT_LEAST_ONE2=function(e){this.atLeastOneInternal(2,e)},r.prototype.AT_LEAST_ONE3=function(e){this.atLeastOneInternal(3,e)},r.prototype.AT_LEAST_ONE4=function(e){this.atLeastOneInternal(4,e)},r.prototype.AT_LEAST_ONE5=function(e){this.atLeastOneInternal(5,e)},r.prototype.AT_LEAST_ONE6=function(e){this.atLeastOneInternal(6,e)},r.prototype.AT_LEAST_ONE7=function(e){this.atLeastOneInternal(7,e)},r.prototype.AT_LEAST_ONE8=function(e){this.atLeastOneInternal(8,e)},r.prototype.AT_LEAST_ONE9=function(e){this.atLeastOneInternal(9,e)},r.prototype.AT_LEAST_ONE_SEP=function(e){this.atLeastOneSepFirstInternal(0,e)},r.prototype.AT_LEAST_ONE_SEP1=function(e){this.atLeastOneSepFirstInternal(1,e)},r.prototype.AT_LEAST_ONE_SEP2=function(e){this.atLeastOneSepFirstInternal(2,e)},r.prototype.AT_LEAST_ONE_SEP3=function(e){this.atLeastOneSepFirstInternal(3,e)},r.prototype.AT_LEAST_ONE_SEP4=function(e){this.atLeastOneSepFirstInternal(4,e)},r.prototype.AT_LEAST_ONE_SEP5=function(e){this.atLeastOneSepFirstInternal(5,e)},r.prototype.AT_LEAST_ONE_SEP6=function(e){this.atLeastOneSepFirstInternal(6,e)},r.prototype.AT_LEAST_ONE_SEP7=function(e){this.atLeastOneSepFirstInternal(7,e)},r.prototype.AT_LEAST_ONE_SEP8=function(e){this.atLeastOneSepFirstInternal(8,e)},r.prototype.AT_LEAST_ONE_SEP9=function(e){this.atLeastOneSepFirstInternal(9,e)},r.prototype.RULE=function(e,t,i){if(i===void 0&&(i=Zx.DEFAULT_RULE_CONFIG),(0,LJ.contains)(this.definedRulesNames,e)){var n=oBe.defaultGrammarValidatorErrorProvider.buildDuplicateRuleNameError({topLevelRule:e,grammarName:this.className}),s={message:n,type:Zx.ParserDefinitionErrorType.DUPLICATE_RULE_NAME,ruleName:e};this.definitionErrors.push(s)}this.definedRulesNames.push(e);var o=this.defineRule(e,t,i);return this[e]=o,o},r.prototype.OVERRIDE_RULE=function(e,t,i){i===void 0&&(i=Zx.DEFAULT_RULE_CONFIG);var n=[];n=n.concat((0,aBe.validateRuleIsOverridden)(e,this.definedRulesNames,this.className)),this.definitionErrors=this.definitionErrors.concat(n);var s=this.defineRule(e,t,i);return this[e]=s,s},r.prototype.BACKTRACK=function(e,t){return function(){this.isBackTrackingStack.push(1);var i=this.saveRecogState();try{return e.apply(this,t),!0}catch(n){if((0,sBe.isRecognitionException)(n))return!1;throw n}finally{this.reloadRecogState(i),this.isBackTrackingStack.pop()}}},r.prototype.getGAstProductions=function(){return this.gastProductionsCache},r.prototype.getSerializedGastProductions=function(){return(0,ABe.serializeGrammar)((0,LJ.values)(this.gastProductionsCache))},r}();_y.RecognizerApi=lBe});var HJ=y($y=>{"use strict";Object.defineProperty($y,"__esModule",{value:!0});$y.RecognizerEngine=void 0;var kr=Gt(),Gn=Wy(),Zy=yf(),MJ=eC(),Bf=$d(),UJ=Hn(),cBe=Vx(),KJ=HA(),nC=df(),uBe=Xx(),gBe=function(){function r(){}return r.prototype.initRecognizerEngine=function(e,t){if(this.className=(0,uBe.classNameFromInstance)(this),this.shortRuleNameToFull={},this.fullRuleNameToShort={},this.ruleShortNameIdx=256,this.tokenMatcher=nC.tokenStructuredMatcherNoCategories,this.definedRulesNames=[],this.tokensMap={},this.isBackTrackingStack=[],this.RULE_STACK=[],this.RULE_OCCURRENCE_STACK=[],this.gastProductionsCache={},(0,kr.has)(t,"serializedGrammar"))throw Error(`The Parser's configuration can no longer contain a property. - See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_6-0-0 - For Further details.`);if((0,kr.isArray)(e)){if((0,kr.isEmpty)(e))throw Error(`A Token Vocabulary cannot be empty. - Note that the first argument for the parser constructor - is no longer a Token vector (since v4.0).`);if(typeof e[0].startOffset=="number")throw Error(`The Parser constructor no longer accepts a token vector as the first argument. - See: https://chevrotain.io/docs/changes/BREAKING_CHANGES.html#_4-0-0 - For Further details.`)}if((0,kr.isArray)(e))this.tokensMap=(0,kr.reduce)(e,function(o,a){return o[a.name]=a,o},{});else if((0,kr.has)(e,"modes")&&(0,kr.every)((0,kr.flatten)((0,kr.values)(e.modes)),nC.isTokenType)){var i=(0,kr.flatten)((0,kr.values)(e.modes)),n=(0,kr.uniq)(i);this.tokensMap=(0,kr.reduce)(n,function(o,a){return o[a.name]=a,o},{})}else if((0,kr.isObject)(e))this.tokensMap=(0,kr.cloneObj)(e);else throw new Error(" argument must be An Array of Token constructors, A dictionary of Token constructors or an IMultiModeLexerDefinition");this.tokensMap.EOF=KJ.EOF;var s=(0,kr.every)((0,kr.values)(e),function(o){return(0,kr.isEmpty)(o.categoryMatches)});this.tokenMatcher=s?nC.tokenStructuredMatcherNoCategories:nC.tokenStructuredMatcher,(0,nC.augmentTokenTypes)((0,kr.values)(this.tokensMap))},r.prototype.defineRule=function(e,t,i){if(this.selfAnalysisDone)throw Error("Grammar rule <"+e+`> may not be defined after the 'performSelfAnalysis' method has been called' -Make sure that all grammar rule definitions are done before 'performSelfAnalysis' is called.`);var n=(0,kr.has)(i,"resyncEnabled")?i.resyncEnabled:UJ.DEFAULT_RULE_CONFIG.resyncEnabled,s=(0,kr.has)(i,"recoveryValueFunc")?i.recoveryValueFunc:UJ.DEFAULT_RULE_CONFIG.recoveryValueFunc,o=this.ruleShortNameIdx<t},r.prototype.orInternal=function(e,t){var i=this.getKeyForAutomaticLookahead(Gn.OR_IDX,t),n=(0,kr.isArray)(e)?e:e.DEF,s=this.getLaFuncFromCache(i),o=s.call(this,n);if(o!==void 0){var a=n[o];return a.ALT.call(this)}this.raiseNoAltException(t,e.ERR_MSG)},r.prototype.ruleFinallyStateUpdate=function(){if(this.RULE_STACK.pop(),this.RULE_OCCURRENCE_STACK.pop(),this.cstFinallyStateUpdate(),this.RULE_STACK.length===0&&this.isAtEndOfInput()===!1){var e=this.LA(1),t=this.errorMessageProvider.buildNotAllInputParsedMessage({firstRedundant:e,ruleName:this.getCurrRuleFullName()});this.SAVE_ERROR(new Zy.NotAllInputParsedException(t,e))}},r.prototype.subruleInternal=function(e,t,i){var n;try{var s=i!==void 0?i.ARGS:void 0;return n=e.call(this,t,s),this.cstPostNonTerminal(n,i!==void 0&&i.LABEL!==void 0?i.LABEL:e.ruleName),n}catch(o){this.subruleInternalError(o,i,e.ruleName)}},r.prototype.subruleInternalError=function(e,t,i){throw(0,Zy.isRecognitionException)(e)&&e.partialCstResult!==void 0&&(this.cstPostNonTerminal(e.partialCstResult,t!==void 0&&t.LABEL!==void 0?t.LABEL:i),delete e.partialCstResult),e},r.prototype.consumeInternal=function(e,t,i){var n;try{var s=this.LA(1);this.tokenMatcher(s,e)===!0?(this.consumeToken(),n=s):this.consumeInternalError(e,s,i)}catch(o){n=this.consumeInternalRecovery(e,t,o)}return this.cstPostTerminal(i!==void 0&&i.LABEL!==void 0?i.LABEL:e.name,n),n},r.prototype.consumeInternalError=function(e,t,i){var n,s=this.LA(0);throw i!==void 0&&i.ERR_MSG?n=i.ERR_MSG:n=this.errorMessageProvider.buildMismatchTokenMessage({expected:e,actual:t,previous:s,ruleName:this.getCurrRuleFullName()}),this.SAVE_ERROR(new Zy.MismatchedTokenException(n,t,s))},r.prototype.consumeInternalRecovery=function(e,t,i){if(this.recoveryEnabled&&i.name==="MismatchedTokenException"&&!this.isBackTracking()){var n=this.getFollowsForInRuleRecovery(e,t);try{return this.tryInRuleRecovery(e,n)}catch(s){throw s.name===cBe.IN_RULE_RECOVERY_EXCEPTION?i:s}}else throw i},r.prototype.saveRecogState=function(){var e=this.errors,t=(0,kr.cloneArr)(this.RULE_STACK);return{errors:e,lexerState:this.exportLexerState(),RULE_STACK:t,CST_STACK:this.CST_STACK}},r.prototype.reloadRecogState=function(e){this.errors=e.errors,this.importLexerState(e.lexerState),this.RULE_STACK=e.RULE_STACK},r.prototype.ruleInvocationStateUpdate=function(e,t,i){this.RULE_OCCURRENCE_STACK.push(i),this.RULE_STACK.push(e),this.cstInvocationStateUpdate(t,e)},r.prototype.isBackTracking=function(){return this.isBackTrackingStack.length!==0},r.prototype.getCurrRuleFullName=function(){var e=this.getLastExplicitRuleShortName();return this.shortRuleNameToFull[e]},r.prototype.shortRuleNameToFullName=function(e){return this.shortRuleNameToFull[e]},r.prototype.isAtEndOfInput=function(){return this.tokenMatcher(this.LA(1),KJ.EOF)},r.prototype.reset=function(){this.resetLexerState(),this.isBackTrackingStack=[],this.errors=[],this.RULE_STACK=[],this.CST_STACK=[],this.RULE_OCCURRENCE_STACK=[]},r}();$y.RecognizerEngine=gBe});var YJ=y(ew=>{"use strict";Object.defineProperty(ew,"__esModule",{value:!0});ew.ErrorHandler=void 0;var $x=yf(),eP=Gt(),GJ=eC(),fBe=Hn(),hBe=function(){function r(){}return r.prototype.initErrorHandler=function(e){this._errors=[],this.errorMessageProvider=(0,eP.has)(e,"errorMessageProvider")?e.errorMessageProvider:fBe.DEFAULT_PARSER_CONFIG.errorMessageProvider},r.prototype.SAVE_ERROR=function(e){if((0,$x.isRecognitionException)(e))return e.context={ruleStack:this.getHumanReadableRuleStack(),ruleOccurrenceStack:(0,eP.cloneArr)(this.RULE_OCCURRENCE_STACK)},this._errors.push(e),e;throw Error("Trying to save an Error which is not a RecognitionException")},Object.defineProperty(r.prototype,"errors",{get:function(){return(0,eP.cloneArr)(this._errors)},set:function(e){this._errors=e},enumerable:!1,configurable:!0}),r.prototype.raiseEarlyExitException=function(e,t,i){for(var n=this.getCurrRuleFullName(),s=this.getGAstProductions()[n],o=(0,GJ.getLookaheadPathsForOptionalProd)(e,s,t,this.maxLookahead),a=o[0],l=[],c=1;c<=this.maxLookahead;c++)l.push(this.LA(c));var u=this.errorMessageProvider.buildEarlyExitMessage({expectedIterationPaths:a,actual:l,previous:this.LA(0),customUserDescription:i,ruleName:n});throw this.SAVE_ERROR(new $x.EarlyExitException(u,this.LA(1),this.LA(0)))},r.prototype.raiseNoAltException=function(e,t){for(var i=this.getCurrRuleFullName(),n=this.getGAstProductions()[i],s=(0,GJ.getLookaheadPathsForOr)(e,n,this.maxLookahead),o=[],a=1;a<=this.maxLookahead;a++)o.push(this.LA(a));var l=this.LA(0),c=this.errorMessageProvider.buildNoViableAltMessage({expectedPathsPerAlt:s,actual:o,previous:l,customUserDescription:t,ruleName:this.getCurrRuleFullName()});throw this.SAVE_ERROR(new $x.NoViableAltException(c,this.LA(1),l))},r}();ew.ErrorHandler=hBe});var JJ=y(tw=>{"use strict";Object.defineProperty(tw,"__esModule",{value:!0});tw.ContentAssist=void 0;var jJ=$d(),qJ=Gt(),pBe=function(){function r(){}return r.prototype.initContentAssist=function(){},r.prototype.computeContentAssist=function(e,t){var i=this.gastProductionsCache[e];if((0,qJ.isUndefined)(i))throw Error("Rule ->"+e+"<- does not exist in this grammar.");return(0,jJ.nextPossibleTokensAfter)([i],t,this.tokenMatcher,this.maxLookahead)},r.prototype.getNextPossibleTokenTypes=function(e){var t=(0,qJ.first)(e.ruleStack),i=this.getGAstProductions(),n=i[t],s=new jJ.NextAfterTokenWalker(n,e).startWalking();return s},r}();tw.ContentAssist=pBe});var e3=y(nw=>{"use strict";Object.defineProperty(nw,"__esModule",{value:!0});nw.GastRecorder=void 0;var In=Gt(),Lo=Cn(),dBe=Jd(),XJ=df(),_J=HA(),CBe=Hn(),mBe=Wy(),iw={description:"This Object indicates the Parser is during Recording Phase"};Object.freeze(iw);var WJ=!0,zJ=Math.pow(2,mBe.BITS_FOR_OCCURRENCE_IDX)-1,ZJ=(0,_J.createToken)({name:"RECORDING_PHASE_TOKEN",pattern:dBe.Lexer.NA});(0,XJ.augmentTokenTypes)([ZJ]);var $J=(0,_J.createTokenInstance)(ZJ,`This IToken indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,-1,-1,-1,-1,-1,-1);Object.freeze($J);var EBe={name:`This CSTNode indicates the Parser is in Recording Phase - See: https://chevrotain.io/docs/guide/internals.html#grammar-recording for details`,children:{}},IBe=function(){function r(){}return r.prototype.initGastRecorder=function(e){this.recordingProdStack=[],this.RECORDING_PHASE=!1},r.prototype.enableRecording=function(){var e=this;this.RECORDING_PHASE=!0,this.TRACE_INIT("Enable Recording",function(){for(var t=function(n){var s=n>0?n:"";e["CONSUME"+s]=function(o,a){return this.consumeInternalRecord(o,n,a)},e["SUBRULE"+s]=function(o,a){return this.subruleInternalRecord(o,n,a)},e["OPTION"+s]=function(o){return this.optionInternalRecord(o,n)},e["OR"+s]=function(o){return this.orInternalRecord(o,n)},e["MANY"+s]=function(o){this.manyInternalRecord(n,o)},e["MANY_SEP"+s]=function(o){this.manySepFirstInternalRecord(n,o)},e["AT_LEAST_ONE"+s]=function(o){this.atLeastOneInternalRecord(n,o)},e["AT_LEAST_ONE_SEP"+s]=function(o){this.atLeastOneSepFirstInternalRecord(n,o)}},i=0;i<10;i++)t(i);e.consume=function(n,s,o){return this.consumeInternalRecord(s,n,o)},e.subrule=function(n,s,o){return this.subruleInternalRecord(s,n,o)},e.option=function(n,s){return this.optionInternalRecord(s,n)},e.or=function(n,s){return this.orInternalRecord(s,n)},e.many=function(n,s){this.manyInternalRecord(n,s)},e.atLeastOne=function(n,s){this.atLeastOneInternalRecord(n,s)},e.ACTION=e.ACTION_RECORD,e.BACKTRACK=e.BACKTRACK_RECORD,e.LA=e.LA_RECORD})},r.prototype.disableRecording=function(){var e=this;this.RECORDING_PHASE=!1,this.TRACE_INIT("Deleting Recording methods",function(){for(var t=0;t<10;t++){var i=t>0?t:"";delete e["CONSUME"+i],delete e["SUBRULE"+i],delete e["OPTION"+i],delete e["OR"+i],delete e["MANY"+i],delete e["MANY_SEP"+i],delete e["AT_LEAST_ONE"+i],delete e["AT_LEAST_ONE_SEP"+i]}delete e.consume,delete e.subrule,delete e.option,delete e.or,delete e.many,delete e.atLeastOne,delete e.ACTION,delete e.BACKTRACK,delete e.LA})},r.prototype.ACTION_RECORD=function(e){},r.prototype.BACKTRACK_RECORD=function(e,t){return function(){return!0}},r.prototype.LA_RECORD=function(e){return CBe.END_OF_FILE},r.prototype.topLevelRuleRecord=function(e,t){try{var i=new Lo.Rule({definition:[],name:e});return i.name=e,this.recordingProdStack.push(i),t.call(this),this.recordingProdStack.pop(),i}catch(n){if(n.KNOWN_RECORDER_ERROR!==!0)try{n.message=n.message+` - This error was thrown during the "grammar recording phase" For more info see: - https://chevrotain.io/docs/guide/internals.html#grammar-recording`}catch{throw n}throw n}},r.prototype.optionInternalRecord=function(e,t){return sC.call(this,Lo.Option,e,t)},r.prototype.atLeastOneInternalRecord=function(e,t){sC.call(this,Lo.RepetitionMandatory,t,e)},r.prototype.atLeastOneSepFirstInternalRecord=function(e,t){sC.call(this,Lo.RepetitionMandatoryWithSeparator,t,e,WJ)},r.prototype.manyInternalRecord=function(e,t){sC.call(this,Lo.Repetition,t,e)},r.prototype.manySepFirstInternalRecord=function(e,t){sC.call(this,Lo.RepetitionWithSeparator,t,e,WJ)},r.prototype.orInternalRecord=function(e,t){return yBe.call(this,e,t)},r.prototype.subruleInternalRecord=function(e,t,i){if(rw(t),!e||(0,In.has)(e,"ruleName")===!1){var n=new Error(" argument is invalid"+(" expecting a Parser method reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,In.peek)(this.recordingProdStack),o=e.ruleName,a=new Lo.NonTerminal({idx:t,nonTerminalName:o,label:i==null?void 0:i.LABEL,referencedRule:void 0});return s.definition.push(a),this.outputCst?EBe:iw},r.prototype.consumeInternalRecord=function(e,t,i){if(rw(t),!(0,XJ.hasShortKeyProperty)(e)){var n=new Error(" argument is invalid"+(" expecting a TokenType reference but got: <"+JSON.stringify(e)+">")+(` - inside top level rule: <`+this.recordingProdStack[0].name+">"));throw n.KNOWN_RECORDER_ERROR=!0,n}var s=(0,In.peek)(this.recordingProdStack),o=new Lo.Terminal({idx:t,terminalType:e,label:i==null?void 0:i.LABEL});return s.definition.push(o),$J},r}();nw.GastRecorder=IBe;function sC(r,e,t,i){i===void 0&&(i=!1),rw(t);var n=(0,In.peek)(this.recordingProdStack),s=(0,In.isFunction)(e)?e:e.DEF,o=new r({definition:[],idx:t});return i&&(o.separator=e.SEP),(0,In.has)(e,"MAX_LOOKAHEAD")&&(o.maxLookahead=e.MAX_LOOKAHEAD),this.recordingProdStack.push(o),s.call(this),n.definition.push(o),this.recordingProdStack.pop(),iw}function yBe(r,e){var t=this;rw(e);var i=(0,In.peek)(this.recordingProdStack),n=(0,In.isArray)(r)===!1,s=n===!1?r:r.DEF,o=new Lo.Alternation({definition:[],idx:e,ignoreAmbiguities:n&&r.IGNORE_AMBIGUITIES===!0});(0,In.has)(r,"MAX_LOOKAHEAD")&&(o.maxLookahead=r.MAX_LOOKAHEAD);var a=(0,In.some)(s,function(l){return(0,In.isFunction)(l.GATE)});return o.hasPredicates=a,i.definition.push(o),(0,In.forEach)(s,function(l){var c=new Lo.Alternative({definition:[]});o.definition.push(c),(0,In.has)(l,"IGNORE_AMBIGUITIES")?c.ignoreAmbiguities=l.IGNORE_AMBIGUITIES:(0,In.has)(l,"GATE")&&(c.ignoreAmbiguities=!0),t.recordingProdStack.push(c),l.ALT.call(t),t.recordingProdStack.pop()}),iw}function VJ(r){return r===0?"":""+r}function rw(r){if(r<0||r>zJ){var e=new Error("Invalid DSL Method idx value: <"+r+`> - `+("Idx value must be a none negative value smaller than "+(zJ+1)));throw e.KNOWN_RECORDER_ERROR=!0,e}}});var r3=y(sw=>{"use strict";Object.defineProperty(sw,"__esModule",{value:!0});sw.PerformanceTracer=void 0;var t3=Gt(),wBe=Hn(),BBe=function(){function r(){}return r.prototype.initPerformanceTracer=function(e){if((0,t3.has)(e,"traceInitPerf")){var t=e.traceInitPerf,i=typeof t=="number";this.traceInitMaxIdent=i?t:1/0,this.traceInitPerf=i?t>0:t}else this.traceInitMaxIdent=0,this.traceInitPerf=wBe.DEFAULT_PARSER_CONFIG.traceInitPerf;this.traceInitIndent=-1},r.prototype.TRACE_INIT=function(e,t){if(this.traceInitPerf===!0){this.traceInitIndent++;var i=new Array(this.traceInitIndent+1).join(" ");this.traceInitIndent <"+e+">");var n=(0,t3.timer)(t),s=n.time,o=n.value,a=s>10?console.warn:console.log;return this.traceInitIndent time: "+s+"ms"),this.traceInitIndent--,o}else return t()},r}();sw.PerformanceTracer=BBe});var i3=y(ow=>{"use strict";Object.defineProperty(ow,"__esModule",{value:!0});ow.applyMixins=void 0;function bBe(r,e){e.forEach(function(t){var i=t.prototype;Object.getOwnPropertyNames(i).forEach(function(n){if(n!=="constructor"){var s=Object.getOwnPropertyDescriptor(i,n);s&&(s.get||s.set)?Object.defineProperty(r.prototype,n,s):r.prototype[n]=t.prototype[n]}})})}ow.applyMixins=bBe});var Hn=y(Cr=>{"use strict";var o3=Cr&&Cr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Cr,"__esModule",{value:!0});Cr.EmbeddedActionsParser=Cr.CstParser=Cr.Parser=Cr.EMPTY_ALT=Cr.ParserDefinitionErrorType=Cr.DEFAULT_RULE_CONFIG=Cr.DEFAULT_PARSER_CONFIG=Cr.END_OF_FILE=void 0;var _i=Gt(),QBe=Yq(),n3=HA(),a3=_d(),s3=pJ(),SBe=Vx(),vBe=BJ(),xBe=FJ(),PBe=TJ(),DBe=OJ(),kBe=HJ(),RBe=YJ(),FBe=JJ(),NBe=e3(),TBe=r3(),LBe=i3();Cr.END_OF_FILE=(0,n3.createTokenInstance)(n3.EOF,"",NaN,NaN,NaN,NaN,NaN,NaN);Object.freeze(Cr.END_OF_FILE);Cr.DEFAULT_PARSER_CONFIG=Object.freeze({recoveryEnabled:!1,maxLookahead:3,dynamicTokensEnabled:!1,outputCst:!0,errorMessageProvider:a3.defaultParserErrorProvider,nodeLocationTracking:"none",traceInitPerf:!1,skipValidations:!1});Cr.DEFAULT_RULE_CONFIG=Object.freeze({recoveryValueFunc:function(){},resyncEnabled:!0});var OBe;(function(r){r[r.INVALID_RULE_NAME=0]="INVALID_RULE_NAME",r[r.DUPLICATE_RULE_NAME=1]="DUPLICATE_RULE_NAME",r[r.INVALID_RULE_OVERRIDE=2]="INVALID_RULE_OVERRIDE",r[r.DUPLICATE_PRODUCTIONS=3]="DUPLICATE_PRODUCTIONS",r[r.UNRESOLVED_SUBRULE_REF=4]="UNRESOLVED_SUBRULE_REF",r[r.LEFT_RECURSION=5]="LEFT_RECURSION",r[r.NONE_LAST_EMPTY_ALT=6]="NONE_LAST_EMPTY_ALT",r[r.AMBIGUOUS_ALTS=7]="AMBIGUOUS_ALTS",r[r.CONFLICT_TOKENS_RULES_NAMESPACE=8]="CONFLICT_TOKENS_RULES_NAMESPACE",r[r.INVALID_TOKEN_NAME=9]="INVALID_TOKEN_NAME",r[r.NO_NON_EMPTY_LOOKAHEAD=10]="NO_NON_EMPTY_LOOKAHEAD",r[r.AMBIGUOUS_PREFIX_ALTS=11]="AMBIGUOUS_PREFIX_ALTS",r[r.TOO_MANY_ALTS=12]="TOO_MANY_ALTS"})(OBe=Cr.ParserDefinitionErrorType||(Cr.ParserDefinitionErrorType={}));function MBe(r){return r===void 0&&(r=void 0),function(){return r}}Cr.EMPTY_ALT=MBe;var aw=function(){function r(e,t){this.definitionErrors=[],this.selfAnalysisDone=!1;var i=this;if(i.initErrorHandler(t),i.initLexerAdapter(),i.initLooksAhead(t),i.initRecognizerEngine(e,t),i.initRecoverable(t),i.initTreeBuilder(t),i.initContentAssist(),i.initGastRecorder(t),i.initPerformanceTracer(t),(0,_i.has)(t,"ignoredIssues"))throw new Error(`The IParserConfig property has been deprecated. - Please use the flag on the relevant DSL method instead. - See: https://chevrotain.io/docs/guide/resolving_grammar_errors.html#IGNORING_AMBIGUITIES - For further details.`);this.skipValidations=(0,_i.has)(t,"skipValidations")?t.skipValidations:Cr.DEFAULT_PARSER_CONFIG.skipValidations}return r.performSelfAnalysis=function(e){throw Error("The **static** `performSelfAnalysis` method has been deprecated. \nUse the **instance** method with the same name instead.")},r.prototype.performSelfAnalysis=function(){var e=this;this.TRACE_INIT("performSelfAnalysis",function(){var t;e.selfAnalysisDone=!0;var i=e.className;e.TRACE_INIT("toFastProps",function(){(0,_i.toFastProperties)(e)}),e.TRACE_INIT("Grammar Recording",function(){try{e.enableRecording(),(0,_i.forEach)(e.definedRulesNames,function(s){var o=e[s],a=o.originalGrammarAction,l=void 0;e.TRACE_INIT(s+" Rule",function(){l=e.topLevelRuleRecord(s,a)}),e.gastProductionsCache[s]=l})}finally{e.disableRecording()}});var n=[];if(e.TRACE_INIT("Grammar Resolving",function(){n=(0,s3.resolveGrammar)({rules:(0,_i.values)(e.gastProductionsCache)}),e.definitionErrors=e.definitionErrors.concat(n)}),e.TRACE_INIT("Grammar Validations",function(){if((0,_i.isEmpty)(n)&&e.skipValidations===!1){var s=(0,s3.validateGrammar)({rules:(0,_i.values)(e.gastProductionsCache),maxLookahead:e.maxLookahead,tokenTypes:(0,_i.values)(e.tokensMap),errMsgProvider:a3.defaultGrammarValidatorErrorProvider,grammarName:i});e.definitionErrors=e.definitionErrors.concat(s)}}),(0,_i.isEmpty)(e.definitionErrors)&&(e.recoveryEnabled&&e.TRACE_INIT("computeAllProdsFollows",function(){var s=(0,QBe.computeAllProdsFollows)((0,_i.values)(e.gastProductionsCache));e.resyncFollows=s}),e.TRACE_INIT("ComputeLookaheadFunctions",function(){e.preComputeLookaheadFunctions((0,_i.values)(e.gastProductionsCache))})),!r.DEFER_DEFINITION_ERRORS_HANDLING&&!(0,_i.isEmpty)(e.definitionErrors))throw t=(0,_i.map)(e.definitionErrors,function(s){return s.message}),new Error(`Parser Definition Errors detected: - `+t.join(` -------------------------------- -`))})},r.DEFER_DEFINITION_ERRORS_HANDLING=!1,r}();Cr.Parser=aw;(0,LBe.applyMixins)(aw,[SBe.Recoverable,vBe.LooksAhead,xBe.TreeBuilder,PBe.LexerAdapter,kBe.RecognizerEngine,DBe.RecognizerApi,RBe.ErrorHandler,FBe.ContentAssist,NBe.GastRecorder,TBe.PerformanceTracer]);var UBe=function(r){o3(e,r);function e(t,i){i===void 0&&(i=Cr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,_i.cloneObj)(i);return s.outputCst=!0,n=r.call(this,t,s)||this,n}return e}(aw);Cr.CstParser=UBe;var KBe=function(r){o3(e,r);function e(t,i){i===void 0&&(i=Cr.DEFAULT_PARSER_CONFIG);var n=this,s=(0,_i.cloneObj)(i);return s.outputCst=!1,n=r.call(this,t,s)||this,n}return e}(aw);Cr.EmbeddedActionsParser=KBe});var l3=y(Aw=>{"use strict";Object.defineProperty(Aw,"__esModule",{value:!0});Aw.createSyntaxDiagramsCode=void 0;var A3=Ix();function HBe(r,e){var t=e===void 0?{}:e,i=t.resourceBase,n=i===void 0?"https://unpkg.com/chevrotain@"+A3.VERSION+"/diagrams/":i,s=t.css,o=s===void 0?"https://unpkg.com/chevrotain@"+A3.VERSION+"/diagrams/diagrams.css":s,a=` - - - - - -`,l=` - -`,c=` -