@paraspell/descriptors 14.2.2 → 14.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ahp.d.ts +42 -18
- package/dist/ahp_metadata-zM1M2eiK.js +3 -0
- package/dist/bridgeHub.d.ts +29 -5
- package/dist/{bridgeHub_metadata-Li64-Pg1.js → bridgeHub_metadata-DyoXb_6R.js} +1 -1
- package/dist/common-types.d.ts +684 -2841
- package/dist/{descriptors-C7Rb0-iv.js → descriptors-BMv8Bnq1.js} +2 -3
- package/dist/descriptors.d.ts +0 -1
- package/dist/hydration.d.ts +40 -16
- package/dist/hydration_metadata-rFt-tc1Z.js +3 -0
- package/dist/index.d.ts +2 -6
- package/dist/index.js +23 -35
- package/dist/metadataTypes-BmVg3p7_.js +3 -0
- package/dist/metadataTypes.d.ts +1 -1
- package/package.json +3 -3
- package/dist/ahp_metadata-CN_MTTeF.js +0 -3
- package/dist/hydration_metadata-0UTkhPaM.js +0 -3
- package/dist/metadataTypes-uOlhw_Gc.js +0 -3
- package/dist/moonbeam.d.ts +0 -305
- package/dist/moonbeam_metadata-BYLNx4wH.js +0 -3
- package/dist/moonbeam_metadata.d.ts +0 -2
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const binMeta = "bWV0YRBdCgAMKHNwX3J1bnRpbWUwbXVsdGlhZGRyZXNzME11bHRpQWRkcmVzcwgkQWNjb3VudElkAQQwQWNjb3VudEluZGV4ARABFAhJZAQABAEkQWNjb3VudElkAAAAFEluZGV4BAAUATBBY2NvdW50SW5kZXgAAQAMUmF3BAAYARxWZWM8dTg+AAIAJEFkZHJlc3MzMgQACAEgW3U4OyAzMl0AAwAkQWRkcmVzczIwBAAcASBbdTg7IDIwXQAEAAAEDBxzcF9jb3JlGGNyeXB0byxBY2NvdW50SWQzMgAABAAIASBbdTg7IDMyXQAACAAAAyAAAAAMAAwAAAUDABAAAAQAABQAAAYQABgAAAIMABwAAAMUAAAADAAgCGxicmlkZ2VfaHViX3BvbGthZG90X3J1bnRpbWUsUnVudGltZUNhbGwAAWgYU3lzdGVtBAAkAa0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN5c3RlbSwgUnVudGltZT4AAAA8UGFyYWNoYWluU3lzdGVtBABAAdEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFBhcmFjaGFpblN5c3RlbSwgUnVudGltZT4AAQAkVGltZXN0YW1wBACwAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFRpbWVzdGFtcCwgUnVudGltZT4AAgA0UGFyYWNoYWluSW5mbwQAuAHJAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQYXJhY2hhaW5JbmZvLCBSdW50aW1lPgADACBCYWxhbmNlcwQAvAG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxCYWxhbmNlcywgUnVudGltZT4ACgBEQ29sbGF0b3JTZWxlY3Rpb24EANQB2QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q29sbGF0b3JTZWxlY3Rpb24sIFJ1bnRpbWU+ABUAHFNlc3Npb24EANgBsQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8U2Vzc2lvbiwgUnVudGltZT4AFgAkWGNtcFF1ZXVlBADkAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFhjbXBRdWV1ZSwgUnVudGltZT4AHgAsUG9sa2Fkb3RYY20EAOgBwQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UG9sa2Fkb3RYY20sIFJ1bnRpbWU+AB8AKEN1bXVsdXNYY20EAPkCAb0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEN1bXVsdXNYY20sIFJ1bnRpbWU+ACAAHFV0aWxpdHkEAP0CAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFV0aWxpdHksIFJ1bnRpbWU+ACgAIE11bHRpc2lnBAAZAwG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxNdWx0aXNpZywgUnVudGltZT4AKQAUUHJveHkEACUDAakBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFByb3h5LCBSdW50aW1lPgAqADhCcmlkZ2VSZWxheWVycwQAMQMBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8QnJpZGdlUmVsYXllcnMsIFJ1bnRpbWU+ADIATEJyaWRnZUt1c2FtYUdyYW5kcGEEAEkDAeEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEJyaWRnZUt1c2FtYUdyYW5kcGEsIFJ1bnRpbWU+ADMAWEJyaWRnZUt1c2FtYVBhcmFjaGFpbnMEAIEDAe0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEJyaWRnZUt1c2FtYVBhcmFjaGFpbnMsIFJ1bnRpbWU+ADQAUEJyaWRnZUt1c2FtYU1lc3NhZ2VzBACZAwHlAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxCcmlkZ2VLdXNhbWFNZXNzYWdlcywgUnVudGltZT4ANQBYWGNtT3ZlckJyaWRnZUh1Ykt1c2FtYQQArQMB7QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8WGNtT3ZlckJyaWRnZUh1Ykt1c2FtYSwgUnVudGltZT4ANgBQRXRoZXJldW1JbmJvdW5kUXVldWUEALUDAeUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEV0aGVyZXVtSW5ib3VuZFF1ZXVlLCBSdW50aW1lPgBQAFRFdGhlcmV1bU91dGJvdW5kUXVldWUEAPUDAekBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEV0aGVyZXVtT3V0Ym91bmRRdWV1ZSwgUnVudGltZT4AUQBQRXRoZXJldW1CZWFjb25DbGllbnQEAPkDAeUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEV0aGVyZXVtQmVhY29uQ2xpZW50LCBSdW50aW1lPgBSADhFdGhlcmV1bVN5c3RlbQQAKQQBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RXRoZXJldW1TeXN0ZW0sIFJ1bnRpbWU+AFMAQEV0aGVyZXVtU3lzdGVtVjIEAE0EAdUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEV0aGVyZXVtU3lzdGVtVjIsIFJ1bnRpbWU+AFoAWEV0aGVyZXVtSW5ib3VuZFF1ZXVlVjIEAFkEAe0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEV0aGVyZXVtSW5ib3VuZFF1ZXVlVjIsIFJ1bnRpbWU+AFsAXEV0aGVyZXVtT3V0Ym91bmRRdWV1ZVYyBABdBAHxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxFdGhlcmV1bU91dGJvdW5kUXVldWVWMiwgUnVudGltZT4AXAAwTWVzc2FnZVF1ZXVlBABhBAHFAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxNZXNzYWdlUXVldWUsIFJ1bnRpbWU+AK8AACQMMGZyYW1lX3N5c3RlbRhwYWxsZXQQQ2FsbAQEVAABLBhyZW1hcmsEARhyZW1hcmsYARxWZWM8dTg+AAAMaE1ha2Ugc29tZSBvbi1jaGFpbiByZW1hcmsuAIhDYW4gYmUgZXhlY3V0ZWQgYnkgZXZlcnkgYG9yaWdpbmAuOHNldF9oZWFwX3BhZ2VzBAEUcGFnZXMoAQx1NjQAAQT4U2V0IHRoZSBudW1iZXIgb2YgcGFnZXMgaW4gdGhlIFdlYkFzc2VtYmx5IGVudmlyb25tZW50J3MgaGVhcC4gc2V0X2NvZGUEARBjb2RlGAEcVmVjPHU4PgACBGRTZXQgdGhlIG5ldyBydW50aW1lIGNvZGUuXHNldF9jb2RlX3dpdGhvdXRfY2hlY2tzBAEQY29kZRgBHFZlYzx1OD4AAxAZAVNldCB0aGUgbmV3IHJ1bnRpbWUgY29kZSB3aXRob3V0IGRvaW5nIGFueSBjaGVja3Mgb2YgdGhlIGdpdmVuIGBjb2RlYC4AUQFOb3RlIHRoYXQgcnVudGltZSB1cGdyYWRlcyB3aWxsIG5vdCBydW4gaWYgdGhpcyBpcyBjYWxsZWQgd2l0aCBhIG5vdC1pbmNyZWFzaW5nIHNwZWMgdmVyc2lvbiEsc2V0X3N0b3JhZ2UEARRpdGVtcywBNFZlYzxLZXlWYWx1ZT4ABARoU2V0IHNvbWUgaXRlbXMgb2Ygc3RvcmFnZS4wa2lsbF9zdG9yYWdlBAEQa2V5czQBIFZlYzxLZXk+AAUEdEtpbGwgc29tZSBpdGVtcyBmcm9tIHN0b3JhZ2UuLGtpbGxfcHJlZml4CAEYcHJlZml4GAEMS2V5AAEcc3Via2V5czgBDHUzMgAGEBEBS2lsbCBhbGwgc3RvcmFnZSBpdGVtcyB3aXRoIGEga2V5IHRoYXQgc3RhcnRzIHdpdGggdGhlIGdpdmVuIHByZWZpeC4AOQEqKk5PVEU6KiogV2UgcmVseSBvbiB0aGUgUm9vdCBvcmlnaW4gdG8gcHJvdmlkZSB1cyB0aGUgbnVtYmVyIG9mIHN1YmtleXMgdW5kZXI9AXRoZSBwcmVmaXggd2UgYXJlIHJlbW92aW5nIHRvIGFjY3VyYXRlbHkgY2FsY3VsYXRlIHRoZSB3ZWlnaHQgb2YgdGhpcyBmdW5jdGlvbi5EcmVtYXJrX3dpdGhfZXZlbnQEARhyZW1hcmsYARxWZWM8dTg+AAcEpE1ha2Ugc29tZSBvbi1jaGFpbiByZW1hcmsgYW5kIGVtaXQgZXZlbnQuRGF1dGhvcml6ZV91cGdyYWRlBAEkY29kZV9oYXNoPAEcVDo6SGFzaAAJEGEBQXV0aG9yaXplIGFuIHVwZ3JhZGUgdG8gYSBnaXZlbiBgY29kZV9oYXNoYCBmb3IgdGhlIHJ1bnRpbWUuIFRoZSBydW50aW1lIGNhbiBiZSBzdXBwbGllZBhsYXRlci4AfFRoaXMgY2FsbCByZXF1aXJlcyBSb290IG9yaWdpbi6AYXV0aG9yaXplX3VwZ3JhZGVfd2l0aG91dF9jaGVja3MEASRjb2RlX2hhc2g8ARxUOjpIYXNoAAogYQFBdXRob3JpemUgYW4gdXBncmFkZSB0byBhIGdpdmVuIGBjb2RlX2hhc2hgIGZvciB0aGUgcnVudGltZS4gVGhlIHJ1bnRpbWUgY2FuIGJlIHN1cHBsaWVkGGxhdGVyLgBdAVdBUk5JTkc6IFRoaXMgYXV0aG9yaXplcyBhbiB1cGdyYWRlIHRoYXQgd2lsbCB0YWtlIHBsYWNlIHdpdGhvdXQgYW55IHNhZmV0eSBjaGVja3MsIGZvclkBZXhhbXBsZSB0aGF0IHRoZSBzcGVjIG5hbWUgcmVtYWlucyB0aGUgc2FtZSBhbmQgdGhhdCB0aGUgdmVyc2lvbiBudW1iZXIgaW5jcmVhc2VzLiBOb3TwcmVjb21tZW5kZWQgZm9yIG5vcm1hbCB1c2UuIFVzZSBgYXV0aG9yaXplX3VwZ3JhZGVgIGluc3RlYWQuAHxUaGlzIGNhbGwgcmVxdWlyZXMgUm9vdCBvcmlnaW4uYGFwcGx5X2F1dGhvcml6ZWRfdXBncmFkZQQBEGNvZGUYARxWZWM8dTg+AAskVQFQcm92aWRlIHRoZSBwcmVpbWFnZSAocnVudGltZSBiaW5hcnkpIGBjb2RlYCBmb3IgYW4gdXBncmFkZSB0aGF0IGhhcyBiZWVuIGF1dGhvcml6ZWQuAEkBSWYgdGhlIGF1dGhvcml6YXRpb24gcmVxdWlyZWQgYSB2ZXJzaW9uIGNoZWNrLCB0aGlzIGNhbGwgd2lsbCBlbnN1cmUgdGhlIHNwZWMgbmFtZehyZW1haW5zIHVuY2hhbmdlZCBhbmQgdGhhdCB0aGUgc3BlYyB2ZXJzaW9uIGhhcyBpbmNyZWFzZWQuAFkBRGVwZW5kaW5nIG9uIHRoZSBydW50aW1lJ3MgYE9uU2V0Q29kZWAgY29uZmlndXJhdGlvbiwgdGhpcyBmdW5jdGlvbiBtYXkgZGlyZWN0bHkgYXBwbHkRAXRoZSBuZXcgYGNvZGVgIGluIHRoZSBzYW1lIGJsb2NrIG9yIGF0dGVtcHQgdG8gc2NoZWR1bGUgdGhlIHVwZ3JhZGUuAGBBbGwgb3JpZ2lucyBhcmUgYWxsb3dlZC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuKAAABQYALAAAAjAAMAAABAgYGAA0AAACGAA4AAAFBQA8CDxwcmltaXRpdmVfdHlwZXMQSDI1NgAABAAIASBbdTg7IDMyXQAAQAx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQQQ2FsbAQEVAABCExzZXRfdmFsaWRhdGlvbl9kYXRhCAEQZGF0YUQBaEJhc2ljUGFyYWNoYWluSW5oZXJlbnREYXRhAAFUaW5ib3VuZF9tZXNzYWdlc19kYXRhfAFMSW5ib3VuZE1lc3NhZ2VzRGF0YQAAJIBTZXQgdGhlIGN1cnJlbnQgdmFsaWRhdGlvbiBkYXRhLgBBAVRoaXMgc2hvdWxkIGJlIGludm9rZWQgZXhhY3RseSBvbmNlIHBlciBibG9jay4gSXQgd2lsbCBwYW5pYyBhdCB0aGUgZmluYWxpemF0aW9uiHBoYXNlIGlmIHRoZSBjYWxsIHdhcyBub3QgaW52b2tlZC4A0FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBJbmhlcmVudGAAIQFBcyBhIHNpZGUgZWZmZWN0LCB0aGlzIGZ1bmN0aW9uIHVwZ3JhZGVzIHRoZSBjdXJyZW50IHZhbGlkYXRpb24gZnVuY3Rpb26EaWYgdGhlIGFwcHJvcHJpYXRlIHRpbWUgaGFzIGNvbWUuYHN1ZG9fc2VuZF91cHdhcmRfbWVzc2FnZQQBHG1lc3NhZ2UYATRVcHdhcmRNZXNzYWdlAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLkQMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IcGFyYWNoYWluX2luaGVyZW50aEJhc2ljUGFyYWNoYWluSW5oZXJlbnREYXRhAAAQATx2YWxpZGF0aW9uX2RhdGFIAVxQZXJzaXN0ZWRWYWxpZGF0aW9uRGF0YQABRHJlbGF5X2NoYWluX3N0YXRlUAFUc3BfdHJpZTo6U3RvcmFnZVByb29mAAFgcmVsYXlfcGFyZW50X2Rlc2NlbmRhbnRzWAFAVmVjPFJlbGF5SGVhZGVyPgABQGNvbGxhdG9yX3BlZXJfaWR0AVhPcHRpb248QXBwcm92ZWRQZWVySWQ+AABIDExwb2xrYWRvdF9wcmltaXRpdmVzCHY5XFBlcnNpc3RlZFZhbGlkYXRpb25EYXRhCARIATwETgE4ABABLHBhcmVudF9oZWFkTAEgSGVhZERhdGEAAUxyZWxheV9wYXJlbnRfbnVtYmVyOAEETgABZHJlbGF5X3BhcmVudF9zdG9yYWdlX3Jvb3Q8AQRIAAEwbWF4X3Bvdl9zaXplOAEMdTMyAABMDHRwb2xrYWRvdF9wYXJhY2hhaW5fcHJpbWl0aXZlcyhwcmltaXRpdmVzIEhlYWREYXRhAAAEABgBHFZlYzx1OD4AAFAMHHNwX3RyaWU0c3RvcmFnZV9wcm9vZjBTdG9yYWdlUHJvb2YAAAQBKHRyaWVfbm9kZXNUAURCVHJlZVNldDxWZWM8dTg+PgAAVAQgQlRyZWVTZXQEBFQBGAAEADQAAABYAAACXABcEChzcF9ydW50aW1lHGdlbmVyaWMYaGVhZGVyGEhlYWRlcggYTnVtYmVyATgQSGFzaAAAFAEscGFyZW50X2hhc2g8ATBIYXNoOjpPdXRwdXQAARhudW1iZXJgARhOdW1iZXIAAShzdGF0ZV9yb290PAEwSGFzaDo6T3V0cHV0AAE8ZXh0cmluc2ljc19yb290PAEwSGFzaDo6T3V0cHV0AAEYZGlnZXN0ZAEYRGlnZXN0AABgAAAGOABkEChzcF9ydW50aW1lHGdlbmVyaWMYZGlnZXN0GERpZ2VzdAAABAEQbG9nc2gBPFZlYzxEaWdlc3RJdGVtPgAAaAAAAmwAbBAoc3BfcnVudGltZRxnZW5lcmljGGRpZ2VzdChEaWdlc3RJdGVtAAEUKFByZVJ1bnRpbWUIAHABRENvbnNlbnN1c0VuZ2luZUlkAAAYARxWZWM8dTg+AAYAJENvbnNlbnN1cwgAcAFEQ29uc2Vuc3VzRW5naW5lSWQAABgBHFZlYzx1OD4ABAAQU2VhbAgAcAFEQ29uc2Vuc3VzRW5naW5lSWQAABgBHFZlYzx1OD4ABQAUT3RoZXIEABgBHFZlYzx1OD4AAABkUnVudGltZUVudmlyb25tZW50VXBkYXRlZAAIAABwAAADBAAAAAwAdAQYT3B0aW9uBARUAXgBCBBOb25lAAAAEFNvbWUEAHgAAAEAAHgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AAB8DHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHBhcmFjaGFpbl9pbmhlcmVudExJbmJvdW5kTWVzc2FnZXNEYXRhAAAIAURkb3dud2FyZF9tZXNzYWdlc4ABfEFicmlkZ2VkSW5ib3VuZERvd253YXJkTWVzc2FnZXMAAUxob3Jpem9udGFsX21lc3NhZ2VzlAFsQWJyaWRnZWRJbmJvdW5kSHJtcE1lc3NhZ2VzAACADHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHBhcmFjaGFpbl9pbmhlcmVudIRBYnJpZGdlZEluYm91bmRNZXNzYWdlc0NvbGxlY3Rpb24EHE1lc3NhZ2UBhAAIATRmdWxsX21lc3NhZ2VziAEwVmVjPE1lc3NhZ2U+AAE8aGFzaGVkX21lc3NhZ2VzjAF8VmVjPE1lc3NhZ2U6OkNvbXByZXNzZWRNZXNzYWdlPgAAhAhgcG9sa2Fkb3RfY29yZV9wcmltaXRpdmVzWEluYm91bmREb3dud2FyZE1lc3NhZ2UELEJsb2NrTnVtYmVyATgACAEcc2VudF9hdDgBLEJsb2NrTnVtYmVyAAEMbXNnGAE8RG93bndhcmRNZXNzYWdlAACIAAAChACMAAACkACQCJRjdW11bHVzX3ByaW1pdGl2ZXNfcGFyYWNoYWluX2luaGVyZW50NEhhc2hlZE1lc3NhZ2UAAAgBHHNlbnRfYXQ4AVRSZWxheUNoYWluQmxvY2tOdW1iZXIAASBtc2dfaGFzaDwBNHNwX2NvcmU6OkgyNTYAAJQMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IcGFyYWNoYWluX2luaGVyZW50hEFicmlkZ2VkSW5ib3VuZE1lc3NhZ2VzQ29sbGVjdGlvbgQcTWVzc2FnZQGYAAgBNGZ1bGxfbWVzc2FnZXOkATBWZWM8TWVzc2FnZT4AATxoYXNoZWRfbWVzc2FnZXOoAXxWZWM8TWVzc2FnZTo6Q29tcHJlc3NlZE1lc3NhZ2U+AACYAAAECJygAJwMdHBvbGthZG90X3BhcmFjaGFpbl9wcmltaXRpdmVzKHByaW1pdGl2ZXMISWQAAAQAOAEMdTMyAACgCGBwb2xrYWRvdF9jb3JlX3ByaW1pdGl2ZXNISW5ib3VuZEhybXBNZXNzYWdlBCxCbG9ja051bWJlcgE4AAgBHHNlbnRfYXQ4ASxCbG9ja051bWJlcgABEGRhdGEYAUxhbGxvYzo6dmVjOjpWZWM8dTg+AACkAAACmACoAAACrACsAAAECJyQALAMQHBhbGxldF90aW1lc3RhbXAYcGFsbGV0EENhbGwEBFQAAQQMc2V0BAEMbm93tAEkVDo6TW9tZW50AABMVFNldCB0aGUgY3VycmVudCB0aW1lLgBVAVRoaXMgY2FsbCBzaG91bGQgYmUgaW52b2tlZCBleGFjdGx5IG9uY2UgcGVyIGJsb2NrLiBJdCB3aWxsIHBhbmljIGF0IHRoZSBmaW5hbGl6YXRpb27UcGhhc2UsIGlmIHRoaXMgY2FsbCBoYXNuJ3QgYmVlbiBpbnZva2VkIGJ5IHRoYXQgdGltZS4AQQFUaGUgdGltZXN0YW1wIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGhlIHByZXZpb3VzIG9uZSBieSB0aGUgYW1vdW50IHNwZWNpZmllZCBieWhbYENvbmZpZzo6TWluaW11bVBlcmlvZGBdLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX05vbmVfLgBRAVRoaXMgZGlzcGF0Y2ggY2xhc3MgaXMgX01hbmRhdG9yeV8gdG8gZW5zdXJlIGl0IGdldHMgZXhlY3V0ZWQgaW4gdGhlIGJsb2NrLiBCZSBhd2FyZVEBdGhhdCBjaGFuZ2luZyB0aGUgY29tcGxleGl0eSBvZiB0aGlzIGNhbGwgY291bGQgcmVzdWx0IGV4aGF1c3RpbmcgdGhlIHJlc291cmNlcyBpbiBhhGJsb2NrIHRvIGV4ZWN1dGUgYW55IG90aGVyIGNhbGxzLgA0IyMgQ29tcGxleGl0eTEBLSBgTygxKWAgKE5vdGUgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgYE9uVGltZXN0YW1wU2V0YCBtdXN0IGFsc28gYmUgYE8oMSlgKVUBLSAxIHN0b3JhZ2UgcmVhZCBhbmQgMSBzdG9yYWdlIG11dGF0aW9uIChjb2RlYyBgTygxKWAgYmVjYXVzZSBvZiBgRGlkVXBkYXRlOjp0YWtlYCBpbkAgIGBvbl9maW5hbGl6ZWAp1C0gMSBldmVudCBoYW5kbGVyIGBvbl90aW1lc3RhbXBfc2V0YC4gTXVzdCBiZSBgTygxKWAuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLrQAAAYoALgMWHN0YWdpbmdfcGFyYWNoYWluX2luZm8YcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuvAw8cGFsbGV0X2JhbGFuY2VzGHBhbGxldBBDYWxsCARUAARJAAEkUHRyYW5zZmVyX2FsbG93X2RlYXRoCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUdmFsdWXAAShUOjpCYWxhbmNlAAAc1FRyYW5zZmVyIHNvbWUgbGlxdWlkIGZyZWUgYmFsYW5jZSB0byBhbm90aGVyIGFjY291bnQuADUBYHRyYW5zZmVyX2FsbG93X2RlYXRoYCB3aWxsIHNldCB0aGUgYEZyZWVCYWxhbmNlYCBvZiB0aGUgc2VuZGVyIGFuZCByZWNlaXZlci4RAUlmIHRoZSBzZW5kZXIncyBhY2NvdW50IGlzIGJlbG93IHRoZSBleGlzdGVudGlhbCBkZXBvc2l0IGFzIGEgcmVzdWx0sG9mIHRoZSB0cmFuc2ZlciwgdGhlIGFjY291bnQgd2lsbCBiZSByZWFwZWQuABUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFNpZ25lZGAgYnkgdGhlIHRyYW5zYWN0b3IuOGZvcmNlX3RyYW5zZmVyDAEYc291cmNlAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARBkZXN0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARR2YWx1ZcABKFQ6OkJhbGFuY2UAAghhAUV4YWN0bHkgYXMgYHRyYW5zZmVyX2FsbG93X2RlYXRoYCwgZXhjZXB0IHRoZSBvcmlnaW4gbXVzdCBiZSByb290IGFuZCB0aGUgc291cmNlIGFjY291bnREbWF5IGJlIHNwZWNpZmllZC5MdHJhbnNmZXJfa2VlcF9hbGl2ZQgBEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFHZhbHVlwAEoVDo6QmFsYW5jZQADGFkBU2FtZSBhcyB0aGUgW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdIGNhbGwsIGJ1dCB3aXRoIGEgY2hlY2sgdGhhdCB0aGUgdHJhbnNmZXIgd2lsbCBub3Rga2lsbCB0aGUgb3JpZ2luIGFjY291bnQuAOg5OSUgb2YgdGhlIHRpbWUgeW91IHdhbnQgW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdIGluc3RlYWQuAPBbYHRyYW5zZmVyX2FsbG93X2RlYXRoYF06IHN0cnVjdC5QYWxsZXQuaHRtbCNtZXRob2QudHJhbnNmZXIwdHJhbnNmZXJfYWxsCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEoa2VlcF9hbGl2ZcgBEGJvb2wABDwFAVRyYW5zZmVyIHRoZSBlbnRpcmUgdHJhbnNmZXJhYmxlIGJhbGFuY2UgZnJvbSB0aGUgY2FsbGVyIGFjY291bnQuAFkBTk9URTogVGhpcyBmdW5jdGlvbiBvbmx5IGF0dGVtcHRzIHRvIHRyYW5zZmVyIF90cmFuc2ZlcmFibGVfIGJhbGFuY2VzLiBUaGlzIG1lYW5zIHRoYXRhAWFueSBsb2NrZWQsIHJlc2VydmVkLCBvciBleGlzdGVudGlhbCBkZXBvc2l0cyAod2hlbiBga2VlcF9hbGl2ZWAgaXMgYHRydWVgKSwgd2lsbCBub3QgYmVdAXRyYW5zZmVycmVkIGJ5IHRoaXMgZnVuY3Rpb24uIFRvIGVuc3VyZSB0aGF0IHRoaXMgZnVuY3Rpb24gcmVzdWx0cyBpbiBhIGtpbGxlZCBhY2NvdW50LEUBeW91IG1pZ2h0IG5lZWQgdG8gcHJlcGFyZSB0aGUgYWNjb3VudCBieSByZW1vdmluZyBhbnkgcmVmZXJlbmNlIGNvdW50ZXJzLCBzdG9yYWdlQGRlcG9zaXRzLCBldGMuLi4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgU2lnbmVkLgCgLSBgZGVzdGA6IFRoZSByZWNpcGllbnQgb2YgdGhlIHRyYW5zZmVyLlkBLSBga2VlcF9hbGl2ZWA6IEEgYm9vbGVhbiB0byBkZXRlcm1pbmUgaWYgdGhlIGB0cmFuc2Zlcl9hbGxgIG9wZXJhdGlvbiBzaG91bGQgc2VuZCBhbGxNASAgb2YgdGhlIGZ1bmRzIHRoZSBhY2NvdW50IGhhcywgY2F1c2luZyB0aGUgc2VuZGVyIGFjY291bnQgdG8gYmUga2lsbGVkIChmYWxzZSksIG9yWQEgIHRyYW5zZmVyIGV2ZXJ5dGhpbmcgZXhjZXB0IGF0IGxlYXN0IHRoZSBleGlzdGVudGlhbCBkZXBvc2l0LCB3aGljaCB3aWxsIGd1YXJhbnRlZSB0b5wgIGtlZXAgdGhlIHNlbmRlciBhY2NvdW50IGFsaXZlICh0cnVlKS48Zm9yY2VfdW5yZXNlcnZlCAEMd2hvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARhhbW91bnTEAShUOjpCYWxhbmNlAAUMsFVucmVzZXJ2ZSBzb21lIGJhbGFuY2UgZnJvbSBhIHVzZXIgYnkgZm9yY2UuAGxDYW4gb25seSBiZSBjYWxsZWQgYnkgUk9PVC5AdXBncmFkZV9hY2NvdW50cwQBDHdob8wBRFZlYzxUOjpBY2NvdW50SWQ+AAYgcFVwZ3JhZGUgYSBzcGVjaWZpZWQgYWNjb3VudC4AdC0gYG9yaWdpbmA6IE11c3QgYmUgYFNpZ25lZGAukC0gYHdob2A6IFRoZSBhY2NvdW50IHRvIGJlIHVwZ3JhZGVkLgBVAVRoaXMgd2lsbCB3YWl2ZSB0aGUgdHJhbnNhY3Rpb24gZmVlIGlmIGF0IGxlYXN0IGFsbCBidXQgMTAlIG9mIHRoZSBhY2NvdW50cyBuZWVkZWQgdG9BAWJlIHVwZ3JhZGVkLiAoV2UgbGV0IHNvbWUgbm90IGhhdmUgdG8gYmUgdXBncmFkZWQganVzdCBpbiBvcmRlciB0byBhbGxvdyBmb3IgdGhlWHBvc3NpYmlsaXR5IG9mIGNodXJuKS5EZm9yY2Vfc2V0X2JhbGFuY2UIAQx3aG8AAVBBY2NvdW50SWRMb29rdXBPZjxUPgABIG5ld19mcmVlwAEoVDo6QmFsYW5jZQAIDKxTZXQgdGhlIHJlZ3VsYXIgYmFsYW5jZSBvZiBhIGdpdmVuIGFjY291bnQuALBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgaXMgYHJvb3RgLmxmb3JjZV9hZGp1c3RfdG90YWxfaXNzdWFuY2UIASRkaXJlY3Rpb27QAUxBZGp1c3RtZW50RGlyZWN0aW9uAAEUZGVsdGHAAShUOjpCYWxhbmNlAAkUuEFkanVzdCB0aGUgdG90YWwgaXNzdWFuY2UgaW4gYSBzYXR1cmF0aW5nIHdheS4A/ENhbiBvbmx5IGJlIGNhbGxlZCBieSByb290IGFuZCBhbHdheXMgbmVlZHMgYSBwb3NpdGl2ZSBgZGVsdGFgLgAkIyBFeGFtcGxlEGJ1cm4IARR2YWx1ZcABKFQ6OkJhbGFuY2UAAShrZWVwX2FsaXZlyAEQYm9vbAAKHPxCdXJuIHRoZSBzcGVjaWZpZWQgbGlxdWlkIGZyZWUgYmFsYW5jZSBmcm9tIHRoZSBvcmlnaW4gYWNjb3VudC4AJQFJZiB0aGUgb3JpZ2luJ3MgYWNjb3VudCBlbmRzIHVwIGJlbG93IHRoZSBleGlzdGVudGlhbCBkZXBvc2l0IGFzIGEgcmVzdWx0CQFvZiB0aGUgYnVybiBhbmQgYGtlZXBfYWxpdmVgIGlzIGZhbHNlLCB0aGUgYWNjb3VudCB3aWxsIGJlIHJlYXBlZC4AUQFVbmxpa2Ugc2VuZGluZyBmdW5kcyB0byBhIF9idXJuXyBhZGRyZXNzLCB3aGljaCBtZXJlbHkgbWFrZXMgdGhlIGZ1bmRzIGluYWNjZXNzaWJsZSwhAXRoaXMgYGJ1cm5gIG9wZXJhdGlvbiB3aWxsIHJlZHVjZSB0b3RhbCBpc3N1YW5jZSBieSB0aGUgYW1vdW50IF9idXJuZWRfLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7AAAAGxADEAAAFBwDIAAAFAADMAAACBADQDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXNMQWRqdXN0bWVudERpcmVjdGlvbgABCCBJbmNyZWFzZQAAACBEZWNyZWFzZQABAADUDGRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uGHBhbGxldBBDYWxsBARUAAEkRHNldF9pbnZ1bG5lcmFibGVzBAEMbmV3zAFEVmVjPFQ6OkFjY291bnRJZD4AADQxAVNldCB0aGUgbGlzdCBvZiBpbnZ1bG5lcmFibGUgKGZpeGVkKSBjb2xsYXRvcnMuIFRoZXNlIGNvbGxhdG9ycyBtdXN0IGRvIHNvbWXQcHJlcGFyYXRpb24sIG5hbWVseSB0byBoYXZlIHJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXlzLgBZAVRoZSBjYWxsIHdpbGwgcmVtb3ZlIGFueSBhY2NvdW50cyB0aGF0IGhhdmUgbm90IHJlZ2lzdGVyZWQga2V5cyBmcm9tIHRoZSBzZXQuIFRoYXQgaXMsXQFpdCBpcyBub24tYXRvbWljOyB0aGUgY2FsbGVyIGFjY2VwdHMgYWxsIGBBY2NvdW50SWRgcyBwYXNzZWQgaW4gYG5ld2AgX2luZGl2aWR1YWxseV8gYXMxAWFjY2VwdGFibGUgSW52dWxuZXJhYmxlcywgYW5kIGlzIG5vdCBwcm9wb3NpbmcgYSBfc2V0XyBvZiBuZXcgSW52dWxuZXJhYmxlcy4AWQFUaGlzIGNhbGwgZG9lcyBub3QgbWFpbnRhaW4gbXV0dWFsIGV4Y2x1c2l2aXR5IG9mIGBJbnZ1bG5lcmFibGVzYCBhbmQgYENhbmRpZGF0ZXNgLiBJdGEBaXMgcmVjb21tZW5kZWQgdG8gdXNlIGEgYmF0Y2ggb2YgYGFkZF9pbnZ1bG5lcmFibGVgIGFuZCBgcmVtb3ZlX2ludnVsbmVyYWJsZWAgaW5zdGVhZC4gQVEBYGJhdGNoX2FsbGAgY2FuIGFsc28gYmUgdXNlZCB0byBlbmZvcmNlIGF0b21pY2l0eS4gSWYgYW55IGNhbmRpZGF0ZXMgYXJlIGluY2x1ZGVkIGluTQFgbmV3YCwgdGhleSBzaG91bGQgYmUgcmVtb3ZlZCB3aXRoIGByZW1vdmVfaW52dWxuZXJhYmxlX2NhbmRpZGF0ZWAgYWZ0ZXIgZXhlY3V0aW9uLgCUTXVzdCBiZSBjYWxsZWQgYnkgdGhlIGBVcGRhdGVPcmlnaW5gLlhzZXRfZGVzaXJlZF9jYW5kaWRhdGVzBAEMbWF4OAEMdTMyAAEUVQFTZXQgdGhlIGlkZWFsIG51bWJlciBvZiBub24taW52dWxuZXJhYmxlIGNvbGxhdG9ycy4gSWYgbG93ZXJpbmcgdGhpcyBudW1iZXIsIHRoZW4gdGhlYQFudW1iZXIgb2YgcnVubmluZyBjb2xsYXRvcnMgY291bGQgYmUgaGlnaGVyIHRoYW4gdGhpcyBmaWd1cmUuIEFzaWRlIGZyb20gdGhhdCBlZGdlIGNhc2UsNQF0aGVyZSBzaG91bGQgYmUgbm8gb3RoZXIgd2F5IHRvIGhhdmUgbW9yZSBjYW5kaWRhdGVzIHRoYW4gdGhlIGRlc2lyZWQgbnVtYmVyLgDQVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIGBVcGRhdGVPcmlnaW5gLkhzZXRfY2FuZGlkYWN5X2JvbmQEARBib25kxAEwQmFsYW5jZU9mPFQ+AAIceFNldCB0aGUgY2FuZGlkYWN5IGJvbmQgYW1vdW50LgBRAUlmIHRoZSBjYW5kaWRhY3kgYm9uZCBpcyBpbmNyZWFzZWQgYnkgdGhpcyBjYWxsLCBhbGwgY3VycmVudCBjYW5kaWRhdGVzIHdoaWNoIGhhdmUgYU0BZGVwb3NpdCBsb3dlciB0aGFuIHRoZSBuZXcgYm9uZCB3aWxsIGJlIGtpY2tlZCBmcm9tIHRoZSBsaXN0IGFuZCBnZXQgdGhlaXIgZGVwb3NpdHMUYmFjay4A0FRoZSBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHRoZSBgVXBkYXRlT3JpZ2luYC5UcmVnaXN0ZXJfYXNfY2FuZGlkYXRlAAMQQQFSZWdpc3RlciB0aGlzIGFjY291bnQgYXMgYSBjb2xsYXRvciBjYW5kaWRhdGUuIFRoZSBhY2NvdW50IG11c3QgKGEpIGFscmVhZHkgaGF2ZR0BcmVnaXN0ZXJlZCBzZXNzaW9uIGtleXMgYW5kIChiKSBiZSBhYmxlIHRvIHJlc2VydmUgdGhlIGBDYW5kaWRhY3lCb25kYC4A3FRoaXMgY2FsbCBpcyBub3QgYXZhaWxhYmxlIHRvIGBJbnZ1bG5lcmFibGVgIGNvbGxhdG9ycy4wbGVhdmVfaW50ZW50AAQUVQFEZXJlZ2lzdGVyIGBvcmlnaW5gIGFzIGEgY29sbGF0b3IgY2FuZGlkYXRlLiBOb3RlIHRoYXQgdGhlIGNvbGxhdG9yIGNhbiBvbmx5IGxlYXZlIG9uDQFzZXNzaW9uIGNoYW5nZS4gVGhlIGBDYW5kaWRhY3lCb25kYCB3aWxsIGJlIHVucmVzZXJ2ZWQgaW1tZWRpYXRlbHkuABkBVGhpcyBjYWxsIHdpbGwgZmFpbCBpZiB0aGUgdG90YWwgbnVtYmVyIG9mIGNhbmRpZGF0ZXMgd291bGQgZHJvcCBiZWxvd1xgTWluRWxpZ2libGVDb2xsYXRvcnNgLkBhZGRfaW52dWxuZXJhYmxlBAEMd2hvBAEwVDo6QWNjb3VudElkAAUQRQFBZGQgYSBuZXcgYWNjb3VudCBgd2hvYCB0byB0aGUgbGlzdCBvZiBgSW52dWxuZXJhYmxlc2AgY29sbGF0b3JzLiBgd2hvYCBtdXN0IGhhdmUdAXJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXlzLiBJZiBgd2hvYCBpcyBhIGNhbmRpZGF0ZSwgdGhleSB3aWxsIGJlIHJlbW92ZWQuANBUaGUgb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSB0aGUgYFVwZGF0ZU9yaWdpbmAuTHJlbW92ZV9pbnZ1bG5lcmFibGUEAQx3aG8EATBUOjpBY2NvdW50SWQABhBhAVJlbW92ZSBhbiBhY2NvdW50IGB3aG9gIGZyb20gdGhlIGxpc3Qgb2YgYEludnVsbmVyYWJsZXNgIGNvbGxhdG9ycy4gYEludnVsbmVyYWJsZXNgIG11c3QoYmUgc29ydGVkLgDQVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIGBVcGRhdGVPcmlnaW5gLix1cGRhdGVfYm9uZAQBLG5ld19kZXBvc2l0xAEwQmFsYW5jZU9mPFQ+AAccXQFVcGRhdGUgdGhlIGNhbmRpZGFjeSBib25kIG9mIGNvbGxhdG9yIGNhbmRpZGF0ZSBgb3JpZ2luYCB0byBhIG5ldyBhbW91bnQgYG5ld19kZXBvc2l0YC4AQQFTZXR0aW5nIGEgYG5ld19kZXBvc2l0YCB0aGF0IGlzIGxvd2VyIHRoYW4gdGhlIGN1cnJlbnQgZGVwb3NpdCB3aGlsZSBgb3JpZ2luYCBpc+BvY2N1cHlpbmcgYSB0b3AtYERlc2lyZWRDYW5kaWRhdGVzYCBzbG90IGlzIG5vdCBhbGxvd2VkLgBZAVRoaXMgY2FsbCB3aWxsIGZhaWwgaWYgYG9yaWdpbmAgaXMgbm90IGEgY29sbGF0b3IgY2FuZGlkYXRlLCB0aGUgdXBkYXRlZCBib25kIGlzIGxvd2VyGQF0aGFuIHRoZSBtaW5pbXVtIGNhbmRpZGFjeSBib25kLCBhbmQvb3IgdGhlIGFtb3VudCBjYW5ub3QgYmUgcmVzZXJ2ZWQuTHRha2VfY2FuZGlkYXRlX3Nsb3QIARxkZXBvc2l0xAEwQmFsYW5jZU9mPFQ+AAEYdGFyZ2V0BAEwVDo6QWNjb3VudElkAAgcTQFUaGUgY2FsbGVyIGBvcmlnaW5gIHJlcGxhY2VzIGEgY2FuZGlkYXRlIGB0YXJnZXRgIGluIHRoZSBjb2xsYXRvciBjYW5kaWRhdGUgbGlzdCBieVUBcmVzZXJ2aW5nIGBkZXBvc2l0YC4gVGhlIGFtb3VudCBgZGVwb3NpdGAgcmVzZXJ2ZWQgYnkgdGhlIGNhbGxlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbuB0aGUgZXhpc3RpbmcgYm9uZCBvZiB0aGUgdGFyZ2V0IGl0IGlzIHRyeWluZyB0byByZXBsYWNlLgBZAVRoaXMgY2FsbCB3aWxsIGZhaWwgaWYgdGhlIGNhbGxlciBpcyBhbHJlYWR5IGEgY29sbGF0b3IgY2FuZGlkYXRlIG9yIGludnVsbmVyYWJsZSwgdGhlVQFjYWxsZXIgZG9lcyBub3QgaGF2ZSByZWdpc3RlcmVkIHNlc3Npb24ga2V5cywgdGhlIHRhcmdldCBpcyBub3QgYSBjb2xsYXRvciBjYW5kaWRhdGUsvGFuZC9vciB0aGUgYGRlcG9zaXRgIGFtb3VudCBjYW5ub3QgYmUgcmVzZXJ2ZWQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLtgMOHBhbGxldF9zZXNzaW9uGHBhbGxldBBDYWxsBARUAAEIIHNldF9rZXlzCAEQa2V5c9wBHFQ6OktleXMAARRwcm9vZhgBHFZlYzx1OD4AACzkU2V0cyB0aGUgc2Vzc2lvbiBrZXkocykgb2YgdGhlIGZ1bmN0aW9uIGNhbGxlciB0byBga2V5c2AuAB0BQWxsb3dzIGFuIGFjY291bnQgdG8gc2V0IGl0cyBzZXNzaW9uIGtleSBwcmlvciB0byBiZWNvbWluZyBhIHZhbGlkYXRvci7AVGhpcyBkb2Vzbid0IHRha2UgZWZmZWN0IHVudGlsIHRoZSBuZXh0IHNlc3Npb24uAAEBLSBgb3JpZ2luYDogVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGZ1bmN0aW9uIG11c3QgYmUgc2lnbmVkLlUBLSBga2V5c2A6IFRoZSBuZXcgc2Vzc2lvbiBrZXlzIHRvIHNldC4gVGhlc2UgYXJlIHRoZSBwdWJsaWMga2V5cyBvZiBhbGwgc2Vzc2lvbnMga2V5c1wgIHNldHVwIGluIHRoZSBydW50aW1lLkEBLSBgcHJvb2ZgOiBUaGUgcHJvb2YgdGhhdCBgb3JpZ2luYCBoYXMgYWNjZXNzIHRvIHRoZSBwcml2YXRlIGtleXMgb2YgYGtleXNgLiBTZWVNASAgW2BpbXBsX29wYXF1ZV9rZXlzYF0oc3BfcnVudGltZTo6aW1wbF9vcGFxdWVfa2V5cykgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlPCAgcHJvb2YgZm9ybWF0LihwdXJnZV9rZXlzAAEgyFJlbW92ZXMgYW55IHNlc3Npb24ga2V5KHMpIG9mIHRoZSBmdW5jdGlvbiBjYWxsZXIuAMBUaGlzIGRvZXNuJ3QgdGFrZSBlZmZlY3QgdW50aWwgdGhlIG5leHQgc2Vzc2lvbi4AVQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgZnVuY3Rpb24gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBhY2NvdW50IG11c3QgYmUgZWl0aGVyIGJlXQFjb252ZXJ0aWJsZSB0byBhIHZhbGlkYXRvciBJRCB1c2luZyB0aGUgY2hhaW4ncyB0eXBpY2FsIGFkZHJlc3Npbmcgc3lzdGVtICh0aGlzIHVzdWFsbHlRAW1lYW5zIGJlaW5nIGEgY29udHJvbGxlciBhY2NvdW50KSBvciBkaXJlY3RseSBjb252ZXJ0aWJsZSBpbnRvIGEgdmFsaWRhdG9yIElEICh3aGljaJR1c3VhbGx5IG1lYW5zIGJlaW5nIGEgc3Rhc2ggYWNjb3VudCkuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLtwIbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZSxTZXNzaW9uS2V5cwAABAEQYXVyYeABxDxBdXJhIGFzICRjcmF0ZTo6Qm91bmRUb1J1bnRpbWVBcHBQdWJsaWM+OjpQdWJsaWMAAOAQRHNwX2NvbnNlbnN1c19hdXJhHHNyMjU1MTksYXBwX3NyMjU1MTkYUHVibGljAAAEAAgBPHNyMjU1MTk6OlB1YmxpYwAA5AxkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZRhwYWxsZXQQQ2FsbAQEVAABFFRzdXNwZW5kX3hjbV9leGVjdXRpb24AAQxJAVN1c3BlbmRzIGFsbCBYQ00gZXhlY3V0aW9ucyBmb3IgdGhlIFhDTVAgcXVldWUsIHJlZ2FyZGxlc3Mgb2YgdGhlIHNlbmRlcidzIG9yaWdpbi4ApC0gYG9yaWdpbmA6IE11c3QgcGFzcyBgQ29udHJvbGxlck9yaWdpbmAuUHJlc3VtZV94Y21fZXhlY3V0aW9uAAIUuFJlc3VtZXMgYWxsIFhDTSBleGVjdXRpb25zIGZvciB0aGUgWENNUCBxdWV1ZS4APQFOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBkb2Vzbid0IGNoYW5nZSB0aGUgc3RhdHVzIG9mIHRoZSBpbi9vdXQgYm91bmQgY2hhbm5lbHMuAKQtIGBvcmlnaW5gOiBNdXN0IHBhc3MgYENvbnRyb2xsZXJPcmlnaW5gLmB1cGRhdGVfc3VzcGVuZF90aHJlc2hvbGQEAQxuZXc4AQx1MzIAAxRJAU92ZXJ3cml0ZXMgdGhlIG51bWJlciBvZiBwYWdlcyB3aGljaCBtdXN0IGJlIGluIHRoZSBxdWV1ZSBmb3IgdGhlIG90aGVyIHNpZGUgdG8gYmV4dG9sZCB0byBzdXNwZW5kIHRoZWlyIHNlbmRpbmcuAHQtIGBvcmlnaW5gOiBNdXN0IHBhc3MgYFJvb3RgLugtIGBuZXdgOiBEZXNpcmVkIHZhbHVlIGZvciBgUXVldWVDb25maWdEYXRhLnN1c3BlbmRfdmFsdWVgVHVwZGF0ZV9kcm9wX3RocmVzaG9sZAQBDG5ldzgBDHUzMgAEFEUBT3ZlcndyaXRlcyB0aGUgbnVtYmVyIG9mIHBhZ2VzIHdoaWNoIG11c3QgYmUgaW4gdGhlIHF1ZXVlIGFmdGVyIHdoaWNoIHdlIGRyb3AgYW55iGZ1cnRoZXIgbWVzc2FnZXMgZnJvbSB0aGUgY2hhbm5lbC4AdC0gYG9yaWdpbmA6IE11c3QgcGFzcyBgUm9vdGAu7C0gYG5ld2A6IERlc2lyZWQgdmFsdWUgZm9yIGBRdWV1ZUNvbmZpZ0RhdGEuZHJvcF90aHJlc2hvbGRgXHVwZGF0ZV9yZXN1bWVfdGhyZXNob2xkBAEMbmV3OAEMdTMyAAUUTQFPdmVyd3JpdGVzIHRoZSBudW1iZXIgb2YgcGFnZXMgd2hpY2ggdGhlIHF1ZXVlIG11c3QgYmUgcmVkdWNlZCB0byBiZWZvcmUgaXQgc2lnbmFscwEBdGhhdCBtZXNzYWdlIHNlbmRpbmcgbWF5IHJlY29tbWVuY2UgYWZ0ZXIgaXQgaGFzIGJlZW4gc3VzcGVuZGVkLgB0LSBgb3JpZ2luYDogTXVzdCBwYXNzIGBSb290YC70LSBgbmV3YDogRGVzaXJlZCB2YWx1ZSBmb3IgYFF1ZXVlQ29uZmlnRGF0YS5yZXN1bWVfdGhyZXNob2xkYAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7oDChwYWxsZXRfeGNtGHBhbGxldBBDYWxsBARUAAFEEHNlbmQIARBkZXN07AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABHG1lc3NhZ2V1AQFUQm94PFZlcnNpb25lZFhjbTwoKT4+AAAAPHRlbGVwb3J0X2Fzc2V0cxABEGRlc3TsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRzuQIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW04AQx1MzIAAUgRAVRlbGVwb3J0IHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHNvbWUgZGVzdGluYXRpb24gY2hhaW4uAB0BKipUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQ6IFVzZSBgbGltaXRlZF90ZWxlcG9ydF9hc3NldHNgIGluc3RlYWQuKioAUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2ZhAWluZGV4IGBmZWVfYXNzZXRfaXRlbWAuIFRoZSB3ZWlnaHQgbGltaXQgZm9yIGZlZXMgaXMgbm90IHByb3ZpZGVkIGFuZCB0aHVzIGlzIHVubGltaXRlZCy0d2l0aCBhbGwgZmVlcyB0YWtlbiBhcyBuZWVkZWQgZnJvbSB0aGUgYXNzZXQuACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb21UICByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZWggIGZlZSBvbiB0aGUgYGRlc3RgIGNoYWluLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLlxyZXNlcnZlX3RyYW5zZmVyX2Fzc2V0cxABEGRlc3TsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRzuQIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW04AQx1MzIAAnhdAVRyYW5zZmVyIHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB0aHJvdWdoIHRoZWlyIGxvY2FsLHhkZXN0aW5hdGlvbiBvciByZW1vdGUgcmVzZXJ2ZS4APQFgYXNzZXRzYCBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIGFuZCBtYXkgbm90IGJlIHRlbGVwb3J0YWJsZSB0byBgZGVzdGAuTQEgLSBgYXNzZXRzYCBoYXZlIGxvY2FsIHJlc2VydmU6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbk0BICAgY2hhaW4gYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWRsICAgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuVQEgLSBgYXNzZXRzYCBoYXZlIGRlc3RpbmF0aW9uIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvWQEgICBgZGVzdGAgY2hhaW4gdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZIQgICBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC5hASAtIGBhc3NldHNgIGhhdmUgcmVtb3RlIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byByZXNlcnZlIGNoYWluIHRvIG1vdmVhASAgIHJlc2VydmVzIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyIFhDTSB0byBgZGVzdGD0ICAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLgA9ASoqVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkOiBVc2UgYGxpbWl0ZWRfcmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHNgIGluc3RlYWQuKioAUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2ZhAWluZGV4IGBmZWVfYXNzZXRfaXRlbWAuIFRoZSB3ZWlnaHQgbGltaXQgZm9yIGZlZXMgaXMgbm90IHByb3ZpZGVkIGFuZCB0aHVzIGlzIHVubGltaXRlZCy0d2l0aCBhbGwgZmVlcyB0YWtlbiBhcyBuZWVkZWQgZnJvbSB0aGUgYXNzZXQuACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb21UICByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZcggIGZlZSBvbiB0aGUgYGRlc3RgIChhbmQgcG9zc2libHkgcmVzZXJ2ZSkgY2hhaW5zLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLhxleGVjdXRlCAEcbWVzc2FnZb0CAbRCb3g8VmVyc2lvbmVkWGNtPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPj4AAShtYXhfd2VpZ2h0tQEBGFdlaWdodAADINBFeGVjdXRlIGFuIFhDTSBtZXNzYWdlIGZyb20gYSBsb2NhbCwgc2lnbmVkLCBvcmlnaW4uAE0BQW4gZXZlbnQgaXMgZGVwb3NpdGVkIGluZGljYXRpbmcgd2hldGhlciBgbXNnYCBjb3VsZCBiZSBleGVjdXRlZCBjb21wbGV0ZWx5IG9yIG9ubHkocGFydGlhbGx5LgBdAU5vIG1vcmUgdGhhbiBgbWF4X3dlaWdodGAgd2lsbCBiZSB1c2VkIGluIGl0cyBhdHRlbXB0ZWQgZXhlY3V0aW9uLiBJZiB0aGlzIGlzIGxlc3MgdGhhbkEBdGhlIG1heGltdW0gYW1vdW50IG9mIHdlaWdodCB0aGF0IHRoZSBtZXNzYWdlIGNvdWxkIHRha2UgdG8gYmUgZXhlY3V0ZWQsIHRoZW4gbm98ZXhlY3V0aW9uIGF0dGVtcHQgd2lsbCBiZSBtYWRlLkRmb3JjZV94Y21fdmVyc2lvbggBIGxvY2F0aW9uQQEBNEJveDxMb2NhdGlvbj4AARx2ZXJzaW9uOAEoWGNtVmVyc2lvbgAEGEkBRXh0b2xsIHRoYXQgYSBwYXJ0aWN1bGFyIGRlc3RpbmF0aW9uIGNhbiBiZSBjb21tdW5pY2F0ZWQgd2l0aCB0aHJvdWdoIGEgcGFydGljdWxhcjx2ZXJzaW9uIG9mIFhDTS4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi7YLSBgbG9jYXRpb25gOiBUaGUgZGVzdGluYXRpb24gdGhhdCBpcyBiZWluZyBkZXNjcmliZWQuEQEtIGB4Y21fdmVyc2lvbmA6IFRoZSBsYXRlc3QgdmVyc2lvbiBvZiBYQ00gdGhhdCBgbG9jYXRpb25gIHN1cHBvcnRzLmRmb3JjZV9kZWZhdWx0X3hjbV92ZXJzaW9uBAFEbWF5YmVfeGNtX3ZlcnNpb27pAgFIT3B0aW9uPFhjbVZlcnNpb24+AAUUWQFTZXQgYSBzYWZlIFhDTSB2ZXJzaW9uICh0aGUgdmVyc2lvbiB0aGF0IFhDTSBzaG91bGQgYmUgZW5jb2RlZCB3aXRoIGlmIHRoZSBtb3N0IHJlY2VudLR2ZXJzaW9uIGEgZGVzdGluYXRpb24gY2FuIGFjY2VwdCBpcyB1bmtub3duKS4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi45AS0gYG1heWJlX3hjbV92ZXJzaW9uYDogVGhlIGRlZmF1bHQgWENNIGVuY29kaW5nIHZlcnNpb24sIG9yIGBOb25lYCB0byBkaXNhYmxlLnhmb3JjZV9zdWJzY3JpYmVfdmVyc2lvbl9ub3RpZnkEASBsb2NhdGlvbuwBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4ABhA5AUFzayBhIGxvY2F0aW9uIHRvIG5vdGlmeSB1cyByZWdhcmRpbmcgdGhlaXIgWENNIHZlcnNpb24gYW5kIGFueSBjaGFuZ2VzIHRvIGl0LgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLlkBLSBgbG9jYXRpb25gOiBUaGUgbG9jYXRpb24gdG8gd2hpY2ggd2Ugc2hvdWxkIHN1YnNjcmliZSBmb3IgWENNIHZlcnNpb24gbm90aWZpY2F0aW9ucy6AZm9yY2VfdW5zdWJzY3JpYmVfdmVyc2lvbl9ub3RpZnkEASBsb2NhdGlvbuwBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4ABxhJAVJlcXVpcmUgdGhhdCBhIHBhcnRpY3VsYXIgZGVzdGluYXRpb24gc2hvdWxkIG5vIGxvbmdlciBub3RpZnkgdXMgcmVnYXJkaW5nIGFueSBYQ01AdmVyc2lvbiBjaGFuZ2VzLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLj0BLSBgbG9jYXRpb25gOiBUaGUgbG9jYXRpb24gdG8gd2hpY2ggd2UgYXJlIGN1cnJlbnRseSBzdWJzY3JpYmVkIGZvciBYQ00gdmVyc2lvbqggIG5vdGlmaWNhdGlvbnMgd2hpY2ggd2Ugbm8gbG9uZ2VyIGRlc2lyZS58bGltaXRlZF9yZXNlcnZlX3RyYW5zZmVyX2Fzc2V0cxQBEGRlc3TsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRzuQIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW04AQx1MzIAATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQACHhdAVRyYW5zZmVyIHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB0aHJvdWdoIHRoZWlyIGxvY2FsLHhkZXN0aW5hdGlvbiBvciByZW1vdGUgcmVzZXJ2ZS4APQFgYXNzZXRzYCBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIGFuZCBtYXkgbm90IGJlIHRlbGVwb3J0YWJsZSB0byBgZGVzdGAuTQEgLSBgYXNzZXRzYCBoYXZlIGxvY2FsIHJlc2VydmU6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbk0BICAgY2hhaW4gYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWRsICAgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuVQEgLSBgYXNzZXRzYCBoYXZlIGRlc3RpbmF0aW9uIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvWQEgICBgZGVzdGAgY2hhaW4gdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZIQgICBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC5hASAtIGBhc3NldHNgIGhhdmUgcmVtb3RlIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byByZXNlcnZlIGNoYWluIHRvIG1vdmVhASAgIHJlc2VydmVzIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyIFhDTSB0byBgZGVzdGD0ICAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZmEBaW5kZXggYGZlZV9hc3NldF9pdGVtYCwgdXAgdG8gZW5vdWdoIHRvIHBheSBmb3IgYHdlaWdodF9saW1pdGAgb2Ygd2VpZ2h0LiBJZiBtb3JlIHdlaWdodFkBaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhlIG9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbVQgIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlyCAgZmVlIG9uIHRoZSBgZGVzdGAgKGFuZCBwb3NzaWJseSByZXNlcnZlKSBjaGFpbnMuTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS5cbGltaXRlZF90ZWxlcG9ydF9hc3NldHMUARBkZXN07AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABLGJlbmVmaWNpYXJ57AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c7kCAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABOGZlZV9hc3NldF9pdGVtOAEMdTMyAAEwd2VpZ2h0X2xpbWl07QEBLFdlaWdodExpbWl0AAlIEQFUZWxlcG9ydCBzb21lIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byBzb21lIGRlc3RpbmF0aW9uIGNoYWluLgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZmEBaW5kZXggYGZlZV9hc3NldF9pdGVtYCwgdXAgdG8gZW5vdWdoIHRvIHBheSBmb3IgYHdlaWdodF9saW1pdGAgb2Ygd2VpZ2h0LiBJZiBtb3JlIHdlaWdodFkBaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhlIG9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbVQgIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlaCAgZmVlIG9uIHRoZSBgZGVzdGAgY2hhaW4uTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS5AZm9yY2Vfc3VzcGVuc2lvbgQBJHN1c3BlbmRlZMgBEGJvb2wAChD0U2V0IG9yIHVuc2V0IHRoZSBnbG9iYWwgc3VzcGVuc2lvbiBzdGF0ZSBvZiB0aGUgWENNIGV4ZWN1dG9yLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLtAtIGBzdXNwZW5kZWRgOiBgdHJ1ZWAgdG8gc3VzcGVuZCwgYGZhbHNlYCB0byByZXN1bWUuPHRyYW5zZmVyX2Fzc2V0cxQBEGRlc3TsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRzuQIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW04AQx1MzIAATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAC4RdAVRyYW5zZmVyIHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB0aHJvdWdoIHRoZWlyIGxvY2FsLNBkZXN0aW5hdGlvbiBvciByZW1vdGUgcmVzZXJ2ZSwgb3IgdGhyb3VnaCB0ZWxlcG9ydHMuAFEBRmVlIHBheW1lbnQgb24gdGhlIGRlc3RpbmF0aW9uIHNpZGUgaXMgbWFkZSBmcm9tIHRoZSBhc3NldCBpbiB0aGUgYGFzc2V0c2AgdmVjdG9yIG9mNQFpbmRleCBgZmVlX2Fzc2V0X2l0ZW1gIChoZW5jZSByZWZlcnJlZCB0byBhcyBgZmVlc2ApLCB1cCB0byBlbm91Z2ggdG8gcGF5IGZvckEBYHdlaWdodF9saW1pdGAgb2Ygd2VpZ2h0LiBJZiBtb3JlIHdlaWdodCBpcyBuZWVkZWQgdGhhbiBgd2VpZ2h0X2xpbWl0YCwgdGhlbiB0aGXcb3BlcmF0aW9uIHdpbGwgZmFpbCBhbmQgdGhlIHNlbnQgYXNzZXRzIG1heSBiZSBhdCByaXNrLgBhAWBhc3NldHNgIChleGNsdWRpbmcgYGZlZXNgKSBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIG9yIG90aGVyd2lzZSBiZSB0ZWxlcG9ydGFibGWwdG8gYGRlc3RgLCBubyBsaW1pdGF0aW9ucyBpbXBvc2VkIG9uIGBmZWVzYC5NASAtIGZvciBsb2NhbCByZXNlcnZlOiB0cmFuc2ZlciBhc3NldHMgdG8gc292ZXJlaWduIGFjY291bnQgb2YgZGVzdGluYXRpb24gY2hhaW4gYW5kTQEgICBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0b0QgICBgYmVuZWZpY2lhcnlgLmEBIC0gZm9yIGRlc3RpbmF0aW9uIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvIGBkZXN0YCBjaGFpblkBICAgdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZCBkZXBvc2l0IHRoZW1QICAgdG8gYGJlbmVmaWNpYXJ5YC5dASAtIGZvciByZW1vdGUgcmVzZXJ2ZTogYnVybiBsb2NhbCBhc3NldHMsIGZvcndhcmQgWENNIHRvIHJlc2VydmUgY2hhaW4gdG8gbW92ZSByZXNlcnZlc10BICAgZnJvbSB0aGlzIGNoYWluJ3MgU0EgdG8gYGRlc3RgIGNoYWluJ3MgU0EsIGFuZCBmb3J3YXJkIGFub3RoZXIgWENNIHRvIGBkZXN0YCB0byBtaW501CAgIGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWQgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuUQEgLSBmb3IgdGVsZXBvcnRzOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBYQ00gdG8gYGRlc3RgIGNoYWluIHRvIG1pbnQvdGVsZXBvcnSwICAgYXNzZXRzIGFuZCBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLi0BLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBYMihQYXJlbnQsVQEgIFBhcmFjaGFpbiguLikpYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFgxKFBhcmFjaGFpbiguLikpYCB0byBzZW5kaCAgZnJvbSByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZcggIGZlZSBvbiB0aGUgYGRlc3RgIChhbmQgcG9zc2libHkgcmVzZXJ2ZSkgY2hhaW5zLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLkUBLSBgd2VpZ2h0X2xpbWl0YDogVGhlIHJlbW90ZS1zaWRlIHdlaWdodCBsaW1pdCwgaWYgYW55LCBmb3IgdGhlIFhDTSBmZWUgcHVyY2hhc2UuMGNsYWltX2Fzc2V0cwgBGGFzc2V0c7kCAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABLGJlbmVmaWNpYXJ57AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgAMGFUBQ2xhaW1zIGFzc2V0cyB0cmFwcGVkIG9uIHRoaXMgcGFsbGV0IGJlY2F1c2Ugb2YgbGVmdG92ZXIgYXNzZXRzIGR1cmluZyBYQ00gZXhlY3V0aW9uLgCsLSBgb3JpZ2luYDogQW55b25lIGNhbiBjYWxsIHRoaXMgZXh0cmluc2ljLl0BLSBgYXNzZXRzYDogVGhlIGV4YWN0IGFzc2V0cyB0aGF0IHdlcmUgdHJhcHBlZC4gVXNlIHRoZSB2ZXJzaW9uIHRvIHNwZWNpZnkgd2hhdCB2ZXJzaW9umHdhcyB0aGUgbGF0ZXN0IHdoZW4gdGhleSB3ZXJlIHRyYXBwZWQuRQEtIGBiZW5lZmljaWFyeWA6IFRoZSBsb2NhdGlvbi9hY2NvdW50IHdoZXJlIHRoZSBjbGFpbWVkIGFzc2V0cyB3aWxsIGJlIGRlcG9zaXRlZC6MdHJhbnNmZXJfYXNzZXRzX3VzaW5nX3R5cGVfYW5kX3RoZW4cARBkZXN07AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c7kCAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABUGFzc2V0c190cmFuc2Zlcl90eXBl7QIBREJveDxUcmFuc2ZlclR5cGU+AAE4cmVtb3RlX2ZlZXNfaWTxAgFUQm94PFZlcnNpb25lZEFzc2V0SWQ+AAFIZmVlc190cmFuc2Zlcl90eXBl7QIBREJveDxUcmFuc2ZlclR5cGU+AAFIY3VzdG9tX3hjbV9vbl9kZXN0dQEBVEJveDxWZXJzaW9uZWRYY208KCk+PgABMHdlaWdodF9saW1pdO0BASxXZWlnaHRMaW1pdAANwFUBVHJhbnNmZXIgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB1c2luZyBleHBsaWNpdCB0cmFuc2Zlcmh0eXBlcyBmb3IgYXNzZXRzIGFuZCBmZWVzLgBZAWBhc3NldHNgIG11c3QgaGF2ZSBzYW1lIHJlc2VydmUgbG9jYXRpb24gb3IgbWF5IGJlIHRlbGVwb3J0YWJsZSB0byBgZGVzdGAuIENhbGxlciBtdXN07HByb3ZpZGUgdGhlIGBhc3NldHNfdHJhbnNmZXJfdHlwZWAgdG8gYmUgdXNlZCBmb3IgYGFzc2V0c2A6UQEgLSBgVHJhbnNmZXJUeXBlOjpMb2NhbFJlc2VydmVgOiB0cmFuc2ZlciBhc3NldHMgdG8gc292ZXJlaWduIGFjY291bnQgb2YgZGVzdGluYXRpb25NASAgIGNoYWluIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkbCAgIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLlkBIC0gYFRyYW5zZmVyVHlwZTo6RGVzdGluYXRpb25SZXNlcnZlYDogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gdG9ZASAgIGBkZXN0YCBjaGFpbiB0byB3aXRoZHJhdyB0aGUgcmVzZXJ2ZSBhc3NldHMgZnJvbSB0aGlzIGNoYWluJ3Mgc292ZXJlaWduIGFjY291bnQgYW5khCAgIGRlcG9zaXQgdGhlbSB0byBgYmVuZWZpY2lhcnlgLlkBIC0gYFRyYW5zZmVyVHlwZTo6UmVtb3RlUmVzZXJ2ZShyZXNlcnZlKWA6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byBgcmVzZXJ2ZWBhASAgIGNoYWluIHRvIG1vdmUgcmVzZXJ2ZXMgZnJvbSB0aGlzIGNoYWluJ3MgU0EgdG8gYGRlc3RgIGNoYWluJ3MgU0EsIGFuZCBmb3J3YXJkIGFub3RoZXJVASAgIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLiBUeXBpY2FsbHmUICAgdGhlIHJlbW90ZSBgcmVzZXJ2ZWAgaXMgQXNzZXQgSHViLkUBIC0gYFRyYW5zZmVyVHlwZTo6VGVsZXBvcnRgOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBYQ00gdG8gYGRlc3RgIGNoYWluIHRv6CAgIG1pbnQvdGVsZXBvcnQgYXNzZXRzIGFuZCBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC4AVQFPbiB0aGUgZGVzdGluYXRpb24gY2hhaW4sIGFzIHdlbGwgYXMgYW55IGludGVybWVkaWFyeSBob3BzLCBgQnV5RXhlY3V0aW9uYCBpcyB1c2VkIHRvIQFidXkgZXhlY3V0aW9uIHVzaW5nIHRyYW5zZmVycmVkIGBhc3NldHNgIGlkZW50aWZpZWQgYnkgYHJlbW90ZV9mZWVzX2lkYC5ZAU1ha2Ugc3VyZSBlbm91Z2ggb2YgdGhlIHNwZWNpZmllZCBgcmVtb3RlX2ZlZXNfaWRgIGFzc2V0IGlzIGluY2x1ZGVkIGluIHRoZSBnaXZlbiBsaXN0YQFvZiBgYXNzZXRzYC4gYHJlbW90ZV9mZWVzX2lkYCBzaG91bGQgYmUgZW5vdWdoIHRvIHBheSBmb3IgYHdlaWdodF9saW1pdGAuIElmIG1vcmUgd2VpZ2h0WQFpcyBuZWVkZWQgdGhhbiBgd2VpZ2h0X2xpbWl0YCwgdGhlbiB0aGUgb3BlcmF0aW9uIHdpbGwgZmFpbCBhbmQgdGhlIHNlbnQgYXNzZXRzIG1heSBiZSBhdCByaXNrLgBFAWByZW1vdGVfZmVlc19pZGAgbWF5IHVzZSBkaWZmZXJlbnQgdHJhbnNmZXIgdHlwZSB0aGFuIHJlc3Qgb2YgYGFzc2V0c2AgYW5kIGNhbiBiZZxzcGVjaWZpZWQgdGhyb3VnaCBgZmVlc190cmFuc2Zlcl90eXBlYC4AYQFUaGUgY2FsbGVyIG5lZWRzIHRvIHNwZWNpZnkgd2hhdCBzaG91bGQgaGFwcGVuIHRvIHRoZSB0cmFuc2ZlcnJlZCBhc3NldHMgb25jZSB0aGV5IHJlYWNoQQF0aGUgYGRlc3RgIGNoYWluLiBUaGlzIGlzIGRvbmUgdGhyb3VnaCB0aGUgYGN1c3RvbV94Y21fb25fZGVzdGAgcGFyYW1ldGVyLCB3aGljaPxjb250YWlucyB0aGUgaW5zdHJ1Y3Rpb25zIHRvIGV4ZWN1dGUgb24gYGRlc3RgIGFzIGEgZmluYWwgc3RlcC58ICBUaGlzIGlzIHVzdWFsbHkgYXMgc2ltcGxlIGFzOlEBICBgWGNtKHZlYyFbRGVwb3NpdEFzc2V0IHsgYXNzZXRzOiBXaWxkKEFsbENvdW50ZWQoYXNzZXRzLmxlbigpKSksIGJlbmVmaWNpYXJ5IH1dKWAsMQEgIGJ1dCBjb3VsZCBiZSBzb21ldGhpbmcgbW9yZSBleG90aWMgbGlrZSBzZW5kaW5nIHRoZSBgYXNzZXRzYCBldmVuIGZ1cnRoZXIuACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb209ASAgcmVsYXkgdG8gcGFyYWNoYWluLCBvciBgKHBhcmVudHM6IDIsIChHbG9iYWxDb25zZW5zdXMoLi4pLCAuLikpYCB0byBzZW5kIGZyb230ICBwYXJhY2hhaW4gYWNyb3NzIGEgYnJpZGdlIHRvIGFub3RoZXIgZWNvc3lzdGVtIGRlc3RpbmF0aW9uLlkBLSBgYXNzZXRzYDogVGhlIGFzc2V0cyB0byBiZSB3aXRoZHJhd24uIFRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGFzc2V0cyB1c2VkIHRvIHBheSB0aGXIICBmZWUgb24gdGhlIGBkZXN0YCAoYW5kIHBvc3NpYmx5IHJlc2VydmUpIGNoYWlucy49AS0gYGFzc2V0c190cmFuc2Zlcl90eXBlYDogVGhlIFhDTSBgVHJhbnNmZXJUeXBlYCB1c2VkIHRvIHRyYW5zZmVyIHRoZSBgYXNzZXRzYC4hAS0gYHJlbW90ZV9mZWVzX2lkYDogT25lIG9mIHRoZSBpbmNsdWRlZCBgYXNzZXRzYCB0byBiZSB1c2VkIHRvIHBheSBmZWVzLkkBLSBgZmVlc190cmFuc2Zlcl90eXBlYDogVGhlIFhDTSBgVHJhbnNmZXJUeXBlYCB1c2VkIHRvIHRyYW5zZmVyIHRoZSBgZmVlc2AgYXNzZXRzLlkBLSBgY3VzdG9tX3hjbV9vbl9kZXN0YDogVGhlIFhDTSB0byBiZSBleGVjdXRlZCBvbiBgZGVzdGAgY2hhaW4gYXMgdGhlIGxhc3Qgc3RlcCBvZiB0aGVZASAgdHJhbnNmZXIsIHdoaWNoIGFsc28gZGV0ZXJtaW5lcyB3aGF0IGhhcHBlbnMgdG8gdGhlIGFzc2V0cyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS5QYWRkX2F1dGhvcml6ZWRfYWxpYXMIARxhbGlhc2Vy7AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABHGV4cGlyZXP1AgEsT3B0aW9uPHU2ND4ADixdAUF1dGhvcml6ZSBhbm90aGVyIGBhbGlhc2VyYCBsb2NhdGlvbiB0byBhbGlhcyBpbnRvIHRoZSBsb2NhbCBgb3JpZ2luYCBtYWtpbmcgdGhpcyBjYWxsLikBVGhlIGBhbGlhc2VyYCBpcyBvbmx5IGF1dGhvcml6ZWQgdW50aWwgdGhlIHByb3ZpZGVkIGBleHBpcnlgIGJsb2NrIG51bWJlci5JAVRoZSBjYWxsIGNhbiBhbHNvIGJlIHVzZWQgZm9yIGEgcHJldmlvdXNseSBhdXRob3JpemVkIGFsaWFzIGluIG9yZGVyIHRvIHVwZGF0ZSBpdHNYYGV4cGlyeWAgYmxvY2sgbnVtYmVyLgBRAVVzdWFsbHkgdXNlZnVsIHRvIGFsbG93IHlvdXIgbG9jYWwgYWNjb3VudCB0byBiZSBhbGlhc2VkIGludG8gZnJvbSBhIHJlbW90ZSBsb2NhdGlvbvRhbHNvIHVuZGVyIHlvdXIgY29udHJvbCAobGlrZSB5b3VyIGFjY291bnQgb24gYW5vdGhlciBjaGFpbikuAFEBV0FSTklORzogbWFrZSBzdXJlIHRoZSBjYWxsZXIgYG9yaWdpbmAgKHlvdSkgdHJ1c3RzIHRoZSBgYWxpYXNlcmAgbG9jYXRpb24gdG8gYWN0IGluWQF0aGVpci95b3VyIG5hbWUuIE9uY2UgYXV0aG9yaXplZCB1c2luZyB0aGlzIGNhbGwsIHRoZSBgYWxpYXNlcmAgY2FuIGZyZWVseSBpbXBlcnNvbmF0ZdRgb3JpZ2luYCBpbiBYQ00gcHJvZ3JhbXMgZXhlY3V0ZWQgb24gdGhlIGxvY2FsIGNoYWluLlxyZW1vdmVfYXV0aG9yaXplZF9hbGlhcwQBHGFsaWFzZXLsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AA8IXQFSZW1vdmUgYSBwcmV2aW91c2x5IGF1dGhvcml6ZWQgYGFsaWFzZXJgIGZyb20gdGhlIGxpc3Qgb2YgbG9jYXRpb25zIHRoYXQgY2FuIGFsaWFzIGludG+QdGhlIGxvY2FsIGBvcmlnaW5gIG1ha2luZyB0aGlzIGNhbGwudHJlbW92ZV9hbGxfYXV0aG9yaXplZF9hbGlhc2VzABAISQFSZW1vdmUgYWxsIHByZXZpb3VzbHkgYXV0aG9yaXplZCBgYWxpYXNlcmBzIHRoYXQgY2FuIGFsaWFzIGludG8gdGhlIGxvY2FsIGBvcmlnaW5gRG1ha2luZyB0aGlzIGNhbGwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLuwIDHhjbURWZXJzaW9uZWRMb2NhdGlvbgABDAhWMwQA8AFEdjM6Ok11bHRpTG9jYXRpb24AAwAIVjQEAA0BATB2NDo6TG9jYXRpb24ABAAIVjUEAEEBATB2NTo6TG9jYXRpb24ABQAA8BAsc3RhZ2luZ194Y20IdjM0bXVsdGlsb2NhdGlvbjRNdWx0aUxvY2F0aW9uAAAIARxwYXJlbnRzDAEIdTgAASBpbnRlcmlvcvQBJEp1bmN0aW9ucwAA9BAMeGNtCHYzJGp1bmN0aW9ucyRKdW5jdGlvbnMAASQQSGVyZQAAAAhYMQQA+AEgSnVuY3Rpb24AAQAIWDIIAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgACAAhYMwwA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgADAAhYNBAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24ABAAIWDUUAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAFAAhYNhgA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAGAAhYNxwA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24ABwAIWDggAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAIAAD4EAx4Y20IdjMganVuY3Rpb24gSnVuY3Rpb24AASgkUGFyYWNoYWluBABgAQx1MzIAAAAsQWNjb3VudElkMzIIARxuZXR3b3Jr/AFET3B0aW9uPE5ldHdvcmtJZD4AAQhpZAgBIFt1ODsgMzJdAAEAOEFjY291bnRJbmRleDY0CAEcbmV0d29ya/wBRE9wdGlvbjxOZXR3b3JrSWQ+AAEUaW5kZXi0AQx1NjQAAgAwQWNjb3VudEtleTIwCAEcbmV0d29ya/wBRE9wdGlvbjxOZXR3b3JrSWQ+AAEMa2V5HAEgW3U4OyAyMF0AAwA4UGFsbGV0SW5zdGFuY2UEAAwBCHU4AAQAMEdlbmVyYWxJbmRleAQAwAEQdTEyOAAFAChHZW5lcmFsS2V5CAEYbGVuZ3RoDAEIdTgAARBkYXRhCAEgW3U4OyAzMl0ABgAkT25seUNoaWxkAAcAJFBsdXJhbGl0eQgBCGlkBQEBGEJvZHlJZAABEHBhcnQJAQEgQm9keVBhcnQACAA8R2xvYmFsQ29uc2Vuc3VzBAABAQEkTmV0d29ya0lkAAkAAPwEGE9wdGlvbgQEVAEBAQEIEE5vbmUAAAAQU29tZQQAAQEAAAEAAAEBEAx4Y20IdjMganVuY3Rpb24kTmV0d29ya0lkAAEsJEJ5R2VuZXNpcwQACAEgW3U4OyAzMl0AAAAYQnlGb3JrCAEwYmxvY2tfbnVtYmVyKAEMdTY0AAEoYmxvY2tfaGFzaAgBIFt1ODsgMzJdAAEAIFBvbGthZG90AAIAGEt1c2FtYQADABxXZXN0ZW5kAAQAGFJvY29jbwAFABhXb2NvY28ABgAgRXRoZXJldW0EASBjaGFpbl9pZLQBDHU2NAAHACxCaXRjb2luQ29yZQAIACxCaXRjb2luQ2FzaAAJAEBQb2xrYWRvdEJ1bGxldGluAAoAAAUBEAx4Y20IdjMganVuY3Rpb24YQm9keUlkAAEoEFVuaXQAAAAcTW9uaWtlcgQAcAEcW3U4OyA0XQABABRJbmRleAQAYAEMdTMyAAIAJEV4ZWN1dGl2ZQADACRUZWNobmljYWwABAAsTGVnaXNsYXRpdmUABQAgSnVkaWNpYWwABgAcRGVmZW5zZQAHADhBZG1pbmlzdHJhdGlvbgAIACBUcmVhc3VyeQAJAAAJARAMeGNtCHYzIGp1bmN0aW9uIEJvZHlQYXJ0AAEUFFZvaWNlAAAAHE1lbWJlcnMEARRjb3VudGABDHUzMgABACBGcmFjdGlvbggBDG5vbWABDHUzMgABFGRlbm9tYAEMdTMyAAIAREF0TGVhc3RQcm9wb3J0aW9uCAEMbm9tYAEMdTMyAAEUZGVub21gAQx1MzIAAwBITW9yZVRoYW5Qcm9wb3J0aW9uCAEMbm9tYAEMdTMyAAEUZGVub21gAQx1MzIABAAADQEQLHN0YWdpbmdfeGNtCHY0IGxvY2F0aW9uIExvY2F0aW9uAAAIARxwYXJlbnRzDAEIdTgAASBpbnRlcmlvchEBASRKdW5jdGlvbnMAABEBECxzdGFnaW5nX3hjbQh2NCRqdW5jdGlvbnMkSnVuY3Rpb25zAAEkEEhlcmUAAAAIWDEEABUBAUhBcmM8W0p1bmN0aW9uOyAxXT4AAQAIWDIEACUBAUhBcmM8W0p1bmN0aW9uOyAyXT4AAgAIWDMEACkBAUhBcmM8W0p1bmN0aW9uOyAzXT4AAwAIWDQEAC0BAUhBcmM8W0p1bmN0aW9uOyA0XT4ABAAIWDUEADEBAUhBcmM8W0p1bmN0aW9uOyA1XT4ABQAIWDYEADUBAUhBcmM8W0p1bmN0aW9uOyA2XT4ABgAIWDcEADkBAUhBcmM8W0p1bmN0aW9uOyA3XT4ABwAIWDgEAD0BAUhBcmM8W0p1bmN0aW9uOyA4XT4ACAAAFQEAAAMBAAAAGQEAGQEQLHN0YWdpbmdfeGNtCHY0IGp1bmN0aW9uIEp1bmN0aW9uAAEoJFBhcmFjaGFpbgQAYAEMdTMyAAAALEFjY291bnRJZDMyCAEcbmV0d29yax0BAURPcHRpb248TmV0d29ya0lkPgABCGlkCAEgW3U4OyAzMl0AAQA4QWNjb3VudEluZGV4NjQIARxuZXR3b3JrHQEBRE9wdGlvbjxOZXR3b3JrSWQ+AAEUaW5kZXi0AQx1NjQAAgAwQWNjb3VudEtleTIwCAEcbmV0d29yax0BAURPcHRpb248TmV0d29ya0lkPgABDGtleRwBIFt1ODsgMjBdAAMAOFBhbGxldEluc3RhbmNlBAAMAQh1OAAEADBHZW5lcmFsSW5kZXgEAMABEHUxMjgABQAoR2VuZXJhbEtleQgBGGxlbmd0aAwBCHU4AAEQZGF0YQgBIFt1ODsgMzJdAAYAJE9ubHlDaGlsZAAHACRQbHVyYWxpdHkIAQhpZAUBARhCb2R5SWQAARBwYXJ0CQEBIEJvZHlQYXJ0AAgAPEdsb2JhbENvbnNlbnN1cwQAIQEBJE5ldHdvcmtJZAAJAAAdAQQYT3B0aW9uBARUASEBAQgQTm9uZQAAABBTb21lBAAhAQAAAQAAIQEQLHN0YWdpbmdfeGNtCHY0IGp1bmN0aW9uJE5ldHdvcmtJZAABLCRCeUdlbmVzaXMEAAgBIFt1ODsgMzJdAAAAGEJ5Rm9yawgBMGJsb2NrX251bWJlcigBDHU2NAABKGJsb2NrX2hhc2gIASBbdTg7IDMyXQABACBQb2xrYWRvdAACABhLdXNhbWEAAwAcV2VzdGVuZAAEABhSb2NvY28ABQAYV29jb2NvAAYAIEV0aGVyZXVtBAEgY2hhaW5faWS0AQx1NjQABwAsQml0Y29pbkNvcmUACAAsQml0Y29pbkNhc2gACQBAUG9sa2Fkb3RCdWxsZXRpbgAKAAAlAQAAAwIAAAAZAQApAQAAAwMAAAAZAQAtAQAAAwQAAAAZAQAxAQAAAwUAAAAZAQA1AQAAAwYAAAAZAQA5AQAAAwcAAAAZAQA9AQAAAwgAAAAZAQBBARAsc3RhZ2luZ194Y20IdjUgbG9jYXRpb24gTG9jYXRpb24AAAgBHHBhcmVudHMMAQh1OAABIGludGVyaW9yRQEBJEp1bmN0aW9ucwAARQEQLHN0YWdpbmdfeGNtCHY1JGp1bmN0aW9ucyRKdW5jdGlvbnMAASQQSGVyZQAAAAhYMQQASQEBSEFyYzxbSnVuY3Rpb247IDFdPgABAAhYMgQAWQEBSEFyYzxbSnVuY3Rpb247IDJdPgACAAhYMwQAXQEBSEFyYzxbSnVuY3Rpb247IDNdPgADAAhYNAQAYQEBSEFyYzxbSnVuY3Rpb247IDRdPgAEAAhYNQQAZQEBSEFyYzxbSnVuY3Rpb247IDVdPgAFAAhYNgQAaQEBSEFyYzxbSnVuY3Rpb247IDZdPgAGAAhYNwQAbQEBSEFyYzxbSnVuY3Rpb247IDddPgAHAAhYOAQAcQEBSEFyYzxbSnVuY3Rpb247IDhdPgAIAABJAQAAAwEAAABNAQBNARAsc3RhZ2luZ194Y20IdjUganVuY3Rpb24gSnVuY3Rpb24AASgkUGFyYWNoYWluBABgAQx1MzIAAAAsQWNjb3VudElkMzIIARxuZXR3b3JrUQEBRE9wdGlvbjxOZXR3b3JrSWQ+AAEIaWQIASBbdTg7IDMyXQABADhBY2NvdW50SW5kZXg2NAgBHG5ldHdvcmtRAQFET3B0aW9uPE5ldHdvcmtJZD4AARRpbmRleLQBDHU2NAACADBBY2NvdW50S2V5MjAIARxuZXR3b3JrUQEBRE9wdGlvbjxOZXR3b3JrSWQ+AAEMa2V5HAEgW3U4OyAyMF0AAwA4UGFsbGV0SW5zdGFuY2UEAAwBCHU4AAQAMEdlbmVyYWxJbmRleAQAwAEQdTEyOAAFAChHZW5lcmFsS2V5CAEYbGVuZ3RoDAEIdTgAARBkYXRhCAEgW3U4OyAzMl0ABgAkT25seUNoaWxkAAcAJFBsdXJhbGl0eQgBCGlkBQEBGEJvZHlJZAABEHBhcnQJAQEgQm9keVBhcnQACAA8R2xvYmFsQ29uc2Vuc3VzBABVAQEkTmV0d29ya0lkAAkAAFEBBBhPcHRpb24EBFQBVQEBCBBOb25lAAAAEFNvbWUEAFUBAAABAABVARAsc3RhZ2luZ194Y20IdjUganVuY3Rpb24kTmV0d29ya0lkAAEgJEJ5R2VuZXNpcwQACAEgW3U4OyAzMl0AAAAYQnlGb3JrCAEwYmxvY2tfbnVtYmVyKAEMdTY0AAEoYmxvY2tfaGFzaAgBIFt1ODsgMzJdAAEAIFBvbGthZG90AAIAGEt1c2FtYQADACBFdGhlcmV1bQQBIGNoYWluX2lktAEMdTY0AAcALEJpdGNvaW5Db3JlAAgALEJpdGNvaW5DYXNoAAkAQFBvbGthZG90QnVsbGV0aW4ACgAAWQEAAAMCAAAATQEAXQEAAAMDAAAATQEAYQEAAAMEAAAATQEAZQEAAAMFAAAATQEAaQEAAAMGAAAATQEAbQEAAAMHAAAATQEAcQEAAAMIAAAATQEAdQEIDHhjbTBWZXJzaW9uZWRYY20ELFJ1bnRpbWVDYWxsAAEMCFYzBAB5AQFQdjM6OlhjbTxSdW50aW1lQ2FsbD4AAwAIVjQEAPEBAVB2NDo6WGNtPFJ1bnRpbWVDYWxsPgAEAAhWNQQAPQIBUHY1OjpYY208UnVudGltZUNhbGw+AAUAAHkBDAx4Y20IdjMMWGNtBBBDYWxsAAAEAH0BAVhWZWM8SW5zdHJ1Y3Rpb248Q2FsbD4+AAB9AQAAAoEBAIEBDAx4Y20IdjMsSW5zdHJ1Y3Rpb24EEENhbGwAAcA0V2l0aGRyYXdBc3NldAQAhQEBLE11bHRpQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQAhQEBLE11bHRpQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAIUBASxNdWx0aUFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWS0ARxRdWVyeUlkAAEgcmVzcG9uc2WlAQEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0tQEBGFdlaWdodAABHHF1ZXJpZXLRAQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHOFAQEsTXVsdGlBc3NldHMAASxiZW5lZmljaWFyefABNE11bHRpTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHOFAQEsTXVsdGlBc3NldHMAARBkZXN08AE0TXVsdGlMb2NhdGlvbgABDHhjbXkBARxYY208KCk+AAUAIFRyYW5zYWN0DAEsb3JpZ2luX2tpbmTVAQEoT3JpZ2luS2luZAABWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3S1AQEYV2VpZ2h0AAEQY2FsbNkBAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJgAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplYAEMdTMyAAEwbWF4X2NhcGFjaXR5YAEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRgAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yYAEMdTMyAAEYc2VuZGVyYAEMdTMyAAEkcmVjaXBpZW50YAEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EAPQBVEludGVyaW9yTXVsdGlMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQA3QEBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0c+EBAUBNdWx0aUFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnnwATRNdWx0aUxvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHPhAQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3TwATRNdWx0aUxvY2F0aW9uAAEMeGNteQEBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAwBEGdpdmXhAQFATXVsdGlBc3NldEZpbHRlcgABEHdhbnSFAQEsTXVsdGlBc3NldHMAARxtYXhpbWFsyAEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0c+EBAUBNdWx0aUFzc2V0RmlsdGVyAAEccmVzZXJ2ZfABNE11bHRpTG9jYXRpb24AAQx4Y215AQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRz4QEBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN08AE0TXVsdGlMb2NhdGlvbgABDHhjbXkBARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZv3QEBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRz4QEBQE11bHRpQXNzZXRGaWx0ZXIAEgAwQnV5RXhlY3V0aW9uCAEQZmVlc40BAShNdWx0aUFzc2V0AAEwd2VpZ2h0X2xpbWl07QEBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBAB5AQEkWGNtPENhbGw+ABUALFNldEFwcGVuZGl4BAB5AQEkWGNtPENhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c4UBASxNdWx0aUFzc2V0cwABGHRpY2tldPABNE11bHRpTG9jYXRpb24AGAAQVHJhcAQAtAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZLQBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0tQEBGFdlaWdodAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAkQnVybkFzc2V0BACFAQEsTXVsdGlBc3NldHMAHAAsRXhwZWN0QXNzZXQEAIUBASxNdWx0aUFzc2V0cwAdADBFeHBlY3RPcmlnaW4EANEBAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AHgAsRXhwZWN0RXJyb3IEAKkBAVBPcHRpb248KHUzMiwgRXJyb3IpPgAfAFBFeHBlY3RUcmFuc2FjdFN0YXR1cwQAyQEBOE1heWJlRXJyb3JDb2RlACAALFF1ZXJ5UGFsbGV0CAEsbW9kdWxlX25hbWUYARxWZWM8dTg+AAE0cmVzcG9uc2VfaW5mb90BAURRdWVyeVJlc3BvbnNlSW5mbwAhADBFeHBlY3RQYWxsZXQUARRpbmRleGABDHUzMgABEG5hbWUYARxWZWM8dTg+AAEsbW9kdWxlX25hbWUYARxWZWM8dTg+AAEsY3JhdGVfbWFqb3JgAQx1MzIAATxtaW5fY3JhdGVfbWlub3JgAQx1MzIAIgBQUmVwb3J0VHJhbnNhY3RTdGF0dXMEAN0BAURRdWVyeVJlc3BvbnNlSW5mbwAjAExDbGVhclRyYW5zYWN0U3RhdHVzACQAPFVuaXZlcnNhbE9yaWdpbgQA+AEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmsBAQEkTmV0d29ya0lkAAEsZGVzdGluYXRpb270AVRJbnRlcmlvck11bHRpTG9jYXRpb24AAQx4Y215AQEcWGNtPCgpPgAmACRMb2NrQXNzZXQIARRhc3NldI0BAShNdWx0aUFzc2V0AAEgdW5sb2NrZXLwATRNdWx0aUxvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXSNAQEoTXVsdGlBc3NldAABGHRhcmdldPABNE11bHRpTG9jYXRpb24AKAA4Tm90ZVVubG9ja2FibGUIARRhc3NldI0BAShNdWx0aUFzc2V0AAEUb3duZXLwATRNdWx0aUxvY2F0aW9uACkANFJlcXVlc3RVbmxvY2sIARRhc3NldI0BAShNdWx0aUFzc2V0AAEYbG9ja2Vy8AE0TXVsdGlMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhd8gBEGJvb2wAKwAgU2V0VG9waWMEAAgBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAPABNE11bHRpTG9jYXRpb24ALgA8VW5wYWlkRXhlY3V0aW9uCAEwd2VpZ2h0X2xpbWl07QEBLFdlaWdodExpbWl0AAEwY2hlY2tfb3JpZ2lu0QEBVE9wdGlvbjxNdWx0aUxvY2F0aW9uPgAvAACFARAMeGNtCHYzKG11bHRpYXNzZXQsTXVsdGlBc3NldHMAAAQAiQEBPFZlYzxNdWx0aUFzc2V0PgAAiQEAAAKNAQCNARAMeGNtCHYzKG11bHRpYXNzZXQoTXVsdGlBc3NldAAACAEIaWSRAQEcQXNzZXRJZAABDGZ1bpUBASxGdW5naWJpbGl0eQAAkQEQDHhjbQh2MyhtdWx0aWFzc2V0HEFzc2V0SWQAAQggQ29uY3JldGUEAPABNE11bHRpTG9jYXRpb24AAAAgQWJzdHJhY3QEAAgBIFt1ODsgMzJdAAEAAJUBEAx4Y20IdjMobXVsdGlhc3NldCxGdW5naWJpbGl0eQABCCBGdW5naWJsZQQAwAEQdTEyOAAAACxOb25GdW5naWJsZQQAmQEBNEFzc2V0SW5zdGFuY2UAAQAAmQEQDHhjbQh2MyhtdWx0aWFzc2V0NEFzc2V0SW5zdGFuY2UAARgkVW5kZWZpbmVkAAAAFEluZGV4BADAARB1MTI4AAEAGEFycmF5NAQAcAEcW3U4OyA0XQACABhBcnJheTgEAJ0BARxbdTg7IDhdAAMAHEFycmF5MTYEAKEBASBbdTg7IDE2XQAEABxBcnJheTMyBAAIASBbdTg7IDMyXQAFAACdAQAAAwgAAAAMAKEBAAADEAAAAAwApQEMDHhjbQh2MyBSZXNwb25zZQABGBBOdWxsAAAAGEFzc2V0cwQAhQEBLE11bHRpQXNzZXRzAAEAPEV4ZWN1dGlvblJlc3VsdAQAqQEBUE9wdGlvbjwodTMyLCBFcnJvcik+AAIAHFZlcnNpb24EADgBOHN1cGVyOjpWZXJzaW9uAAMALFBhbGxldHNJbmZvBAC5AQGYQm91bmRlZFZlYzxQYWxsZXRJbmZvLCBNYXhQYWxsZXRzSW5mbz4ABAA4RGlzcGF0Y2hSZXN1bHQEAMkBAThNYXliZUVycm9yQ29kZQAFAACpAQQYT3B0aW9uBARUAa0BAQgQTm9uZQAAABBTb21lBACtAQAAAQAArQEAAAQIOLEBALEBEAx4Y20IdjMYdHJhaXRzFEVycm9yAAGgIE92ZXJmbG93AAAANFVuaW1wbGVtZW50ZWQAAQBgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAIAZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAwAwTG9jYXRpb25GdWxsAAQAVExvY2F0aW9uTm90SW52ZXJ0aWJsZQAFACRCYWRPcmlnaW4ABgA8SW52YWxpZExvY2F0aW9uAAcANEFzc2V0Tm90Rm91bmQACABURmFpbGVkVG9UcmFuc2FjdEFzc2V0AAkAPE5vdFdpdGhkcmF3YWJsZQAKAEhMb2NhdGlvbkNhbm5vdEhvbGQACwBURXhjZWVkc01heE1lc3NhZ2VTaXplAAwAWERlc3RpbmF0aW9uVW5zdXBwb3J0ZWQADQAkVHJhbnNwb3J0AA4AKFVucm91dGFibGUADwAwVW5rbm93bkNsYWltABAAOEZhaWxlZFRvRGVjb2RlABEAQE1heFdlaWdodEludmFsaWQAEgA4Tm90SG9sZGluZ0ZlZXMAEwAwVG9vRXhwZW5zaXZlABQAEFRyYXAEACgBDHU2NAAVAEBFeHBlY3RhdGlvbkZhbHNlABYAOFBhbGxldE5vdEZvdW5kABcAME5hbWVNaXNtYXRjaAAYAExWZXJzaW9uSW5jb21wYXRpYmxlABkAUEhvbGRpbmdXb3VsZE92ZXJmbG93ABoALEV4cG9ydEVycm9yABsAOFJlYW5jaG9yRmFpbGVkABwAGE5vRGVhbAAdAChGZWVzTm90TWV0AB4AJExvY2tFcnJvcgAfADBOb1Blcm1pc3Npb24AIAAoVW5hbmNob3JlZAAhADhOb3REZXBvc2l0YWJsZQAiAExVbmhhbmRsZWRYY21WZXJzaW9uACMASFdlaWdodExpbWl0UmVhY2hlZAQAtQEBGFdlaWdodAAkABxCYXJyaWVyACUATFdlaWdodE5vdENvbXB1dGFibGUAJgBERXhjZWVkc1N0YWNrTGltaXQAJwAAtQEMKHNwX3dlaWdodHMkd2VpZ2h0X3YyGFdlaWdodAAACAEgcmVmX3RpbWW0AQx1NjQAAShwcm9vZl9zaXpltAEMdTY0AAC5AQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAb0BBFMAAAQAxQEBGFZlYzxUPgAAvQEMDHhjbQh2MyhQYWxsZXRJbmZvAAAYARRpbmRleGABDHUzMgABEG5hbWXBAQGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AASxtb2R1bGVfbmFtZcEBAYBCb3VuZGVkVmVjPHU4LCBNYXhQYWxsZXROYW1lTGVuPgABFG1ham9yYAEMdTMyAAEUbWlub3JgAQx1MzIAARRwYXRjaGABDHUzMgAAwQEMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AADFAQAAAr0BAMkBDAx4Y20IdjM4TWF5YmVFcnJvckNvZGUAAQwcU3VjY2VzcwAAABRFcnJvcgQAzQEBjEJvdW5kZWRWZWM8dTgsIE1heERpc3BhdGNoRXJyb3JMZW4+AAEAOFRydW5jYXRlZEVycm9yBADNAQGMQm91bmRlZFZlYzx1OCwgTWF4RGlzcGF0Y2hFcnJvckxlbj4AAgAAzQEMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AADRAQQYT3B0aW9uBARUAfABCBBOb25lAAAAEFNvbWUEAPAAAAEAANUBDAx4Y20IdjMoT3JpZ2luS2luZAABEBhOYXRpdmUAAABAU292ZXJlaWduQWNjb3VudAABACRTdXBlcnVzZXIAAgAMWGNtAAMAANkBDAx4Y204ZG91YmxlX2VuY29kZWQ0RG91YmxlRW5jb2RlZAQEVAAABAEcZW5jb2RlZBgBHFZlYzx1OD4AAN0BDAx4Y20IdjNEUXVlcnlSZXNwb25zZUluZm8AAAwBLGRlc3RpbmF0aW9u8AE0TXVsdGlMb2NhdGlvbgABIHF1ZXJ5X2lktAEcUXVlcnlJZAABKG1heF93ZWlnaHS1AQEYV2VpZ2h0AADhARAMeGNtCHYzKG11bHRpYXNzZXRATXVsdGlBc3NldEZpbHRlcgABCCBEZWZpbml0ZQQAhQEBLE11bHRpQXNzZXRzAAAAEFdpbGQEAOUBAThXaWxkTXVsdGlBc3NldAABAADlARAMeGNtCHYzKG11bHRpYXNzZXQ4V2lsZE11bHRpQXNzZXQAARAMQWxsAAAAFEFsbE9mCAEIaWSRAQEcQXNzZXRJZAABDGZ1bukBATxXaWxkRnVuZ2liaWxpdHkAAQAoQWxsQ291bnRlZAQAYAEMdTMyAAIAMEFsbE9mQ291bnRlZAwBCGlkkQEBHEFzc2V0SWQAAQxmdW7pAQE8V2lsZEZ1bmdpYmlsaXR5AAEUY291bnRgAQx1MzIAAwAA6QEQDHhjbQh2MyhtdWx0aWFzc2V0PFdpbGRGdW5naWJpbGl0eQABCCBGdW5naWJsZQAAACxOb25GdW5naWJsZQABAADtAQwMeGNtCHYzLFdlaWdodExpbWl0AAEIJFVubGltaXRlZAAAABxMaW1pdGVkBAC1AQEYV2VpZ2h0AAEAAPEBDCxzdGFnaW5nX3hjbQh2NAxYY20EEENhbGwAAAQA9QEBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AAPUBAAAC+QEA+QEMLHN0YWdpbmdfeGNtCHY0LEluc3RydWN0aW9uBBBDYWxsAAHANFdpdGhkcmF3QXNzZXQEAP0BARhBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBAD9AQEYQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAP0BARhBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lktAEcUXVlcnlJZAABIHJlc3BvbnNlFQIBIFJlc3BvbnNlAAEobWF4X3dlaWdodLUBARhXZWlnaHQAARxxdWVyaWVyKQIBQE9wdGlvbjxMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c/0BARhBc3NldHMAASxiZW5lZmljaWFyeQ0BASBMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c/0BARhBc3NldHMAARBkZXN0DQEBIExvY2F0aW9uAAEMeGNt8QEBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZNUBAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdLUBARhXZWlnaHQAARBjYWxs2QEBTERvdWJsZUVuY29kZWQ8Q2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlcmABDHUzMgABQG1heF9tZXNzYWdlX3NpemVgAQx1MzIAATBtYXhfY2FwYWNpdHlgAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudGABDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JgAQx1MzIAARhzZW5kZXJgAQx1MzIAASRyZWNpcGllbnRgAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQAEQEBQEludGVyaW9yTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IEAC0CAURRdWVyeVJlc3BvbnNlSW5mbwAMADBEZXBvc2l0QXNzZXQIARhhc3NldHMxAgEsQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyeQ0BASBMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyAAEQZGVzdA0BASBMb2NhdGlvbgABDHhjbfEBARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQMARBnaXZlMQIBLEFzc2V0RmlsdGVyAAEQd2FudP0BARhBc3NldHMAARxtYXhpbWFsyAEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0czECASxBc3NldEZpbHRlcgABHHJlc2VydmUNAQEgTG9jYXRpb24AAQx4Y23xAQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyAAEQZGVzdA0BASBMb2NhdGlvbgABDHhjbfEBARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZvLQIBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXMFAgEUQXNzZXQAATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEAPEBASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEAPEBASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRz/QEBGEFzc2V0cwABGHRpY2tldA0BASBMb2NhdGlvbgAYABBUcmFwBAC0AQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lktAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHS1AQEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEAP0BARhBc3NldHMAHAAsRXhwZWN0QXNzZXQEAP0BARhBc3NldHMAHQAwRXhwZWN0T3JpZ2luBAApAgFAT3B0aW9uPExvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQAqQEBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBADJAQE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZvLQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4YAEMdTMyAAEQbmFtZRgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvcmABDHUzMgABPG1pbl9jcmF0ZV9taW5vcmABDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQALQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBAAZAQEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmshAQEkTmV0d29ya0lkAAEsZGVzdGluYXRpb24RAQFASW50ZXJpb3JMb2NhdGlvbgABDHhjbfEBARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0BQIBFEFzc2V0AAEgdW5sb2NrZXINAQEgTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldAUCARRBc3NldAABGHRhcmdldA0BASBMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0BQIBFEFzc2V0AAEUb3duZXINAQEgTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0BQIBFEFzc2V0AAEYbG9ja2VyDQEBIExvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3yAEQYm9vbAArACBTZXRUb3BpYwQACAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQADQEBIExvY2F0aW9uAC4APFVucGFpZEV4ZWN1dGlvbggBMHdlaWdodF9saW1pdO0BASxXZWlnaHRMaW1pdAABMGNoZWNrX29yaWdpbikCAUBPcHRpb248TG9jYXRpb24+AC8AAP0BECxzdGFnaW5nX3hjbQh2NBRhc3NldBhBc3NldHMAAAQAAQIBKFZlYzxBc3NldD4AAAECAAACBQIABQIQLHN0YWdpbmdfeGNtCHY0FGFzc2V0FEFzc2V0AAAIAQhpZAkCARxBc3NldElkAAEMZnVuDQIBLEZ1bmdpYmlsaXR5AAAJAhAsc3RhZ2luZ194Y20IdjQUYXNzZXQcQXNzZXRJZAAABAANAQEgTG9jYXRpb24AAA0CECxzdGFnaW5nX3hjbQh2NBRhc3NldCxGdW5naWJpbGl0eQABCCBGdW5naWJsZQQAwAEQdTEyOAAAACxOb25GdW5naWJsZQQAEQIBNEFzc2V0SW5zdGFuY2UAAQAAEQIQLHN0YWdpbmdfeGNtCHY0FGFzc2V0NEFzc2V0SW5zdGFuY2UAARgkVW5kZWZpbmVkAAAAFEluZGV4BADAARB1MTI4AAEAGEFycmF5NAQAcAEcW3U4OyA0XQACABhBcnJheTgEAJ0BARxbdTg7IDhdAAMAHEFycmF5MTYEAKEBASBbdTg7IDE2XQAEABxBcnJheTMyBAAIASBbdTg7IDMyXQAFAAAVAgwsc3RhZ2luZ194Y20IdjQgUmVzcG9uc2UAARgQTnVsbAAAABhBc3NldHMEAP0BARhBc3NldHMAAQA8RXhlY3V0aW9uUmVzdWx0BACpAQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AAgAcVmVyc2lvbgQAOAE4c3VwZXI6OlZlcnNpb24AAwAsUGFsbGV0c0luZm8EABkCAZhCb3VuZGVkVmVjPFBhbGxldEluZm8sIE1heFBhbGxldHNJbmZvPgAEADhEaXNwYXRjaFJlc3VsdAQAyQEBOE1heWJlRXJyb3JDb2RlAAUAABkCDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBHQIEUwAABAAlAgEYVmVjPFQ+AAAdAgwsc3RhZ2luZ194Y20IdjQoUGFsbGV0SW5mbwAAGAEUaW5kZXhgAQx1MzIAARBuYW1lIQIBgEJvdW5kZWRWZWM8dTgsIE1heFBhbGxldE5hbWVMZW4+AAEsbW9kdWxlX25hbWUhAgGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AARRtYWpvcmABDHUzMgABFG1pbm9yYAEMdTMyAAEUcGF0Y2hgAQx1MzIAACECDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBDARTAAAEABgBGFZlYzxUPgAAJQIAAAIdAgApAgQYT3B0aW9uBARUAQ0BAQgQTm9uZQAAABBTb21lBAANAQAAAQAALQIMLHN0YWdpbmdfeGNtCHY0RFF1ZXJ5UmVzcG9uc2VJbmZvAAAMASxkZXN0aW5hdGlvbg0BASBMb2NhdGlvbgABIHF1ZXJ5X2lktAEcUXVlcnlJZAABKG1heF93ZWlnaHS1AQEYV2VpZ2h0AAAxAhAsc3RhZ2luZ194Y20IdjQUYXNzZXQsQXNzZXRGaWx0ZXIAAQggRGVmaW5pdGUEAP0BARhBc3NldHMAAAAQV2lsZAQANQIBJFdpbGRBc3NldAABAAA1AhAsc3RhZ2luZ194Y20IdjQUYXNzZXQkV2lsZEFzc2V0AAEQDEFsbAAAABRBbGxPZggBCGlkCQIBHEFzc2V0SWQAAQxmdW45AgE8V2lsZEZ1bmdpYmlsaXR5AAEAKEFsbENvdW50ZWQEAGABDHUzMgACADBBbGxPZkNvdW50ZWQMAQhpZAkCARxBc3NldElkAAEMZnVuOQIBPFdpbGRGdW5naWJpbGl0eQABFGNvdW50YAEMdTMyAAMAADkCECxzdGFnaW5nX3hjbQh2NBRhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAAPQIMLHN0YWdpbmdfeGNtCHY1DFhjbQQQQ2FsbAAABABBAgFYVmVjPEluc3RydWN0aW9uPENhbGw+PgAAQQIAAAJFAgBFAgwsc3RhZ2luZ194Y20IdjUsSW5zdHJ1Y3Rpb24EEENhbGwAAdA0V2l0aGRyYXdBc3NldAQASQIBGEFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEAEkCARhBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQASQIBGEFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWS0ARxRdWVyeUlkAAEgcmVzcG9uc2VhAgEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0tQEBGFdlaWdodAABHHF1ZXJpZXKBAgFAT3B0aW9uPExvY2F0aW9uPgADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRzSQIBGEFzc2V0cwABLGJlbmVmaWNpYXJ5QQEBIExvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRzSQIBGEFzc2V0cwABEGRlc3RBAQEgTG9jYXRpb24AAQx4Y209AgEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl9raW5k1QEBKE9yaWdpbktpbmQAAUxmYWxsYmFja19tYXhfd2VpZ2h0hQIBOE9wdGlvbjxXZWlnaHQ+AAEQY2FsbNkBAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJgAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplYAEMdTMyAAEwbWF4X2NhcGFjaXR5YAEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRgAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yYAEMdTMyAAEYc2VuZGVyYAEMdTMyAAEkcmVjaXBpZW50YAEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EAEUBAUBJbnRlcmlvckxvY2F0aW9uAAsALFJlcG9ydEVycm9yBACJAgFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRzjQIBLEFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnlBAQEgTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldAwBGGFzc2V0c40CASxBc3NldEZpbHRlcgABEGRlc3RBAQEgTG9jYXRpb24AAQx4Y209AgEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZY0CASxBc3NldEZpbHRlcgABEHdhbnRJAgEYQXNzZXRzAAEcbWF4aW1hbMgBEGJvb2wADwBcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcMARhhc3NldHONAgEsQXNzZXRGaWx0ZXIAARxyZXNlcnZlQQEBIExvY2F0aW9uAAEMeGNtPQIBHFhjbTwoKT4AEABASW5pdGlhdGVUZWxlcG9ydAwBGGFzc2V0c40CASxBc3NldEZpbHRlcgABEGRlc3RBAQEgTG9jYXRpb24AAQx4Y209AgEcWGNtPCgpPgARADRSZXBvcnRIb2xkaW5nCAE0cmVzcG9uc2VfaW5mb4kCAURRdWVyeVJlc3BvbnNlSW5mbwABGGFzc2V0c40CASxBc3NldEZpbHRlcgASADBCdXlFeGVjdXRpb24IARBmZWVzUQIBFEFzc2V0AAEwd2VpZ2h0X2xpbWl07QEBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBAA9AgEkWGNtPENhbGw+ABUALFNldEFwcGVuZGl4BAA9AgEkWGNtPENhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c0kCARhBc3NldHMAARh0aWNrZXRBAQEgTG9jYXRpb24AGAAQVHJhcAQAtAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZLQBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0tQEBGFdlaWdodAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAkQnVybkFzc2V0BABJAgEYQXNzZXRzABwALEV4cGVjdEFzc2V0BABJAgEYQXNzZXRzAB0AMEV4cGVjdE9yaWdpbgQAgQIBQE9wdGlvbjxMb2NhdGlvbj4AHgAsRXhwZWN0RXJyb3IEAGUCAVBPcHRpb248KHUzMiwgRXJyb3IpPgAfAFBFeHBlY3RUcmFuc2FjdFN0YXR1cwQAyQEBOE1heWJlRXJyb3JDb2RlACAALFF1ZXJ5UGFsbGV0CAEsbW9kdWxlX25hbWUYARxWZWM8dTg+AAE0cmVzcG9uc2VfaW5mb4kCAURRdWVyeVJlc3BvbnNlSW5mbwAhADBFeHBlY3RQYWxsZXQUARRpbmRleGABDHUzMgABEG5hbWUYARxWZWM8dTg+AAEsbW9kdWxlX25hbWUYARxWZWM8dTg+AAEsY3JhdGVfbWFqb3JgAQx1MzIAATxtaW5fY3JhdGVfbWlub3JgAQx1MzIAIgBQUmVwb3J0VHJhbnNhY3RTdGF0dXMEAIkCAURRdWVyeVJlc3BvbnNlSW5mbwAjAExDbGVhclRyYW5zYWN0U3RhdHVzACQAPFVuaXZlcnNhbE9yaWdpbgQATQEBIEp1bmN0aW9uACUANEV4cG9ydE1lc3NhZ2UMARxuZXR3b3JrVQEBJE5ldHdvcmtJZAABLGRlc3RpbmF0aW9uRQEBQEludGVyaW9yTG9jYXRpb24AAQx4Y209AgEcWGNtPCgpPgAmACRMb2NrQXNzZXQIARRhc3NldFECARRBc3NldAABIHVubG9ja2VyQQEBIExvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXRRAgEUQXNzZXQAARh0YXJnZXRBAQEgTG9jYXRpb24AKAA4Tm90ZVVubG9ja2FibGUIARRhc3NldFECARRBc3NldAABFG93bmVyQQEBIExvY2F0aW9uACkANFJlcXVlc3RVbmxvY2sIARRhc3NldFECARRBc3NldAABGGxvY2tlckEBASBMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhd8gBEGJvb2wAKwAgU2V0VG9waWMEAAgBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAEEBASBMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW6BAgFAT3B0aW9uPExvY2F0aW9uPgAvABxQYXlGZWVzBAEUYXNzZXRRAgEUQXNzZXQAMABASW5pdGlhdGVUcmFuc2ZlchQBLGRlc3RpbmF0aW9uQQEBIExvY2F0aW9uAAEscmVtb3RlX2ZlZXOZAgFsT3B0aW9uPEFzc2V0VHJhbnNmZXJGaWx0ZXI+AAE8cHJlc2VydmVfb3JpZ2luyAEQYm9vbAABGGFzc2V0c6ECAeBCb3VuZGVkVmVjPEFzc2V0VHJhbnNmZXJGaWx0ZXIsIE1heEFzc2V0VHJhbnNmZXJGaWx0ZXJzPgABKHJlbW90ZV94Y209AgEcWGNtPCgpPgAxAERFeGVjdXRlV2l0aE9yaWdpbggBRGRlc2NlbmRhbnRfb3JpZ2luqQIBYE9wdGlvbjxJbnRlcmlvckxvY2F0aW9uPgABDHhjbT0CASRYY208Q2FsbD4AMgAgU2V0SGludHMEARRoaW50c60CAYRCb3VuZGVkVmVjPEhpbnQsIEhpbnROdW1WYXJpYW50cz4AMwAASQIQLHN0YWdpbmdfeGNtCHY1FGFzc2V0GEFzc2V0cwAABABNAgEoVmVjPEFzc2V0PgAATQIAAAJRAgBRAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQUQXNzZXQAAAgBCGlkVQIBHEFzc2V0SWQAAQxmdW5ZAgEsRnVuZ2liaWxpdHkAAFUCECxzdGFnaW5nX3hjbQh2NRRhc3NldBxBc3NldElkAAAEAEEBASBMb2NhdGlvbgAAWQIQLHN0YWdpbmdfeGNtCHY1FGFzc2V0LEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlBADAARB1MTI4AAAALE5vbkZ1bmdpYmxlBABdAgE0QXNzZXRJbnN0YW5jZQABAABdAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQ0QXNzZXRJbnN0YW5jZQABGCRVbmRlZmluZWQAAAAUSW5kZXgEAMABEHUxMjgAAQAYQXJyYXk0BABwARxbdTg7IDRdAAIAGEFycmF5OAQAnQEBHFt1ODsgOF0AAwAcQXJyYXkxNgQAoQEBIFt1ODsgMTZdAAQAHEFycmF5MzIEAAgBIFt1ODsgMzJdAAUAAGECDCxzdGFnaW5nX3hjbQh2NSBSZXNwb25zZQABGBBOdWxsAAAAGEFzc2V0cwQASQIBGEFzc2V0cwABADxFeGVjdXRpb25SZXN1bHQEAGUCAVBPcHRpb248KHUzMiwgRXJyb3IpPgACABxWZXJzaW9uBAA4AThzdXBlcjo6VmVyc2lvbgADACxQYWxsZXRzSW5mbwQAcQIBmEJvdW5kZWRWZWM8UGFsbGV0SW5mbywgTWF4UGFsbGV0c0luZm8+AAQAOERpc3BhdGNoUmVzdWx0BADJAQE4TWF5YmVFcnJvckNvZGUABQAAZQIEGE9wdGlvbgQEVAFpAgEIEE5vbmUAAAAQU29tZQQAaQIAAAEAAGkCAAAECDhtAgBtAhAMeGNtCHY1GHRyYWl0cxRFcnJvcgABpCBPdmVyZmxvdwAAADRVbmltcGxlbWVudGVkAAEAYFVudHJ1c3RlZFJlc2VydmVMb2NhdGlvbgACAGRVbnRydXN0ZWRUZWxlcG9ydExvY2F0aW9uAAMAMExvY2F0aW9uRnVsbAAEAFRMb2NhdGlvbk5vdEludmVydGlibGUABQAkQmFkT3JpZ2luAAYAPEludmFsaWRMb2NhdGlvbgAHADRBc3NldE5vdEZvdW5kAAgAVEZhaWxlZFRvVHJhbnNhY3RBc3NldAAJADxOb3RXaXRoZHJhd2FibGUACgBITG9jYXRpb25DYW5ub3RIb2xkAAsAVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQAMAFhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAA0AJFRyYW5zcG9ydAAOAChVbnJvdXRhYmxlAA8AMFVua25vd25DbGFpbQAQADhGYWlsZWRUb0RlY29kZQARAEBNYXhXZWlnaHRJbnZhbGlkABIAOE5vdEhvbGRpbmdGZWVzABMAMFRvb0V4cGVuc2l2ZQAUABBUcmFwBAAoAQx1NjQAFQBARXhwZWN0YXRpb25GYWxzZQAWADhQYWxsZXROb3RGb3VuZAAXADBOYW1lTWlzbWF0Y2gAGABMVmVyc2lvbkluY29tcGF0aWJsZQAZAFBIb2xkaW5nV291bGRPdmVyZmxvdwAaACxFeHBvcnRFcnJvcgAbADhSZWFuY2hvckZhaWxlZAAcABhOb0RlYWwAHQAoRmVlc05vdE1ldAAeACRMb2NrRXJyb3IAHwAwTm9QZXJtaXNzaW9uACAAKFVuYW5jaG9yZWQAIQA4Tm90RGVwb3NpdGFibGUAIgA0VG9vTWFueUFzc2V0cwAjAExVbmhhbmRsZWRYY21WZXJzaW9uACQASFdlaWdodExpbWl0UmVhY2hlZAQAtQEBGFdlaWdodAAlABxCYXJyaWVyACYATFdlaWdodE5vdENvbXB1dGFibGUAJwBERXhjZWVkc1N0YWNrTGltaXQAKAAAcQIMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAF1AgRTAAAEAH0CARhWZWM8VD4AAHUCDCxzdGFnaW5nX3hjbQh2NShQYWxsZXRJbmZvAAAYARRpbmRleGABDHUzMgABEG5hbWV5AgGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AASxtb2R1bGVfbmFtZXkCAYBCb3VuZGVkVmVjPHU4LCBNYXhQYWxsZXROYW1lTGVuPgABFG1ham9yYAEMdTMyAAEUbWlub3JgAQx1MzIAARRwYXRjaGABDHUzMgAAeQIMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AAB9AgAAAnUCAIECBBhPcHRpb24EBFQBQQEBCBBOb25lAAAAEFNvbWUEAEEBAAABAACFAgQYT3B0aW9uBARUAbUBAQgQTm9uZQAAABBTb21lBAC1AQAAAQAAiQIMLHN0YWdpbmdfeGNtCHY1RFF1ZXJ5UmVzcG9uc2VJbmZvAAAMASxkZXN0aW5hdGlvbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lktAEcUXVlcnlJZAABKG1heF93ZWlnaHS1AQEYV2VpZ2h0AACNAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQsQXNzZXRGaWx0ZXIAAQggRGVmaW5pdGUEAEkCARhBc3NldHMAAAAQV2lsZAQAkQIBJFdpbGRBc3NldAABAACRAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQkV2lsZEFzc2V0AAEQDEFsbAAAABRBbGxPZggBCGlkVQIBHEFzc2V0SWQAAQxmdW6VAgE8V2lsZEZ1bmdpYmlsaXR5AAEAKEFsbENvdW50ZWQEAGABDHUzMgACADBBbGxPZkNvdW50ZWQMAQhpZFUCARxBc3NldElkAAEMZnVulQIBPFdpbGRGdW5naWJpbGl0eQABFGNvdW50YAEMdTMyAAMAAJUCECxzdGFnaW5nX3hjbQh2NRRhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAAmQIEGE9wdGlvbgQEVAGdAgEIEE5vbmUAAAAQU29tZQQAnQIAAAEAAJ0CECxzdGFnaW5nX3hjbQh2NRRhc3NldExBc3NldFRyYW5zZmVyRmlsdGVyAAEMIFRlbGVwb3J0BACNAgEsQXNzZXRGaWx0ZXIAAAA4UmVzZXJ2ZURlcG9zaXQEAI0CASxBc3NldEZpbHRlcgABADxSZXNlcnZlV2l0aGRyYXcEAI0CASxBc3NldEZpbHRlcgACAAChAgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAZ0CBFMAAAQApQIBGFZlYzxUPgAApQIAAAKdAgCpAgQYT3B0aW9uBARUAUUBAQgQTm9uZQAAABBTb21lBABFAQAAAQAArQIMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGxAgRTAAAEALUCARhWZWM8VD4AALECDCxzdGFnaW5nX3hjbQh2NRBIaW50AAEEMEFzc2V0Q2xhaW1lcgQBIGxvY2F0aW9uQQEBIExvY2F0aW9uAAAAALUCAAACsQIAuQIIDHhjbTxWZXJzaW9uZWRBc3NldHMAAQwIVjMEAIUBATx2Mzo6TXVsdGlBc3NldHMAAwAIVjQEAP0BASh2NDo6QXNzZXRzAAQACFY1BABJAgEodjU6OkFzc2V0cwAFAAC9AggMeGNtMFZlcnNpb25lZFhjbQQsUnVudGltZUNhbGwAAQwIVjMEAMECAVB2Mzo6WGNtPFJ1bnRpbWVDYWxsPgADAAhWNAQA0QIBUHY0OjpYY208UnVudGltZUNhbGw+AAQACFY1BADdAgFQdjU6OlhjbTxSdW50aW1lQ2FsbD4ABQAAwQIMDHhjbQh2MwxYY20EEENhbGwAAAQAxQIBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AAMUCAAACyQIAyQIMDHhjbQh2MyxJbnN0cnVjdGlvbgQQQ2FsbAABwDRXaXRoZHJhd0Fzc2V0BACFAQEsTXVsdGlBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBACFAQEsTXVsdGlBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQAhQEBLE11bHRpQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UQASBxdWVyeV9pZLQBHFF1ZXJ5SWQAASByZXNwb25zZaUBASBSZXNwb25zZQABKG1heF93ZWlnaHS1AQEYV2VpZ2h0AAEccXVlcmllctEBAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c4UBASxNdWx0aUFzc2V0cwABLGJlbmVmaWNpYXJ58AE0TXVsdGlMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c4UBASxNdWx0aUFzc2V0cwABEGRlc3TwATRNdWx0aUxvY2F0aW9uAAEMeGNteQEBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZNUBAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdLUBARhXZWlnaHQAARBjYWxszQIBTERvdWJsZUVuY29kZWQ8Q2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlcmABDHUzMgABQG1heF9tZXNzYWdlX3NpemVgAQx1MzIAATBtYXhfY2FwYWNpdHlgAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudGABDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JgAQx1MzIAARhzZW5kZXJgAQx1MzIAASRyZWNpcGllbnRgAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQA9AFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAsALFJlcG9ydEVycm9yBADdAQFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRz4QEBQE11bHRpQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyefABNE11bHRpTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldAwBGGFzc2V0c+EBAUBNdWx0aUFzc2V0RmlsdGVyAAEQZGVzdPABNE11bHRpTG9jYXRpb24AAQx4Y215AQEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZeEBAUBNdWx0aUFzc2V0RmlsdGVyAAEQd2FudIUBASxNdWx0aUFzc2V0cwABHG1heGltYWzIARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRz4QEBQE11bHRpQXNzZXRGaWx0ZXIAARxyZXNlcnZl8AE0TXVsdGlMb2NhdGlvbgABDHhjbXkBARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHPhAQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3TwATRNdWx0aUxvY2F0aW9uAAEMeGNteQEBHFhjbTwoKT4AEQA0UmVwb3J0SG9sZGluZwgBNHJlc3BvbnNlX2luZm/dAQFEUXVlcnlSZXNwb25zZUluZm8AARhhc3NldHPhAQFATXVsdGlBc3NldEZpbHRlcgASADBCdXlFeGVjdXRpb24IARBmZWVzjQEBKE11bHRpQXNzZXQAATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEAMECASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEAMECASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRzhQEBLE11bHRpQXNzZXRzAAEYdGlja2V08AE0TXVsdGlMb2NhdGlvbgAYABBUcmFwBAC0AQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lktAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHS1AQEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEAIUBASxNdWx0aUFzc2V0cwAcACxFeHBlY3RBc3NldAQAhQEBLE11bHRpQXNzZXRzAB0AMEV4cGVjdE9yaWdpbgQA0QEBVE9wdGlvbjxNdWx0aUxvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQAqQEBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBADJAQE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZv3QEBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4YAEMdTMyAAEQbmFtZRgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvcmABDHUzMgABPG1pbl9jcmF0ZV9taW5vcmABDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQA3QEBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBAD4ASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29yawEBASROZXR3b3JrSWQAASxkZXN0aW5hdGlvbvQBVEludGVyaW9yTXVsdGlMb2NhdGlvbgABDHhjbXkBARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0jQEBKE11bHRpQXNzZXQAASB1bmxvY2tlcvABNE11bHRpTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldI0BAShNdWx0aUFzc2V0AAEYdGFyZ2V08AE0TXVsdGlMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0jQEBKE11bHRpQXNzZXQAARRvd25lcvABNE11bHRpTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0jQEBKE11bHRpQXNzZXQAARhsb2NrZXLwATRNdWx0aUxvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3yAEQYm9vbAArACBTZXRUb3BpYwQACAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQA8AE0TXVsdGlMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW7RAQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AC8AAM0CDAx4Y204ZG91YmxlX2VuY29kZWQ0RG91YmxlRW5jb2RlZAQEVAAABAEcZW5jb2RlZBgBHFZlYzx1OD4AANECDCxzdGFnaW5nX3hjbQh2NAxYY20EEENhbGwAAAQA1QIBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AANUCAAAC2QIA2QIMLHN0YWdpbmdfeGNtCHY0LEluc3RydWN0aW9uBBBDYWxsAAHANFdpdGhkcmF3QXNzZXQEAP0BARhBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBAD9AQEYQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAP0BARhBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lktAEcUXVlcnlJZAABIHJlc3BvbnNlFQIBIFJlc3BvbnNlAAEobWF4X3dlaWdodLUBARhXZWlnaHQAARxxdWVyaWVyKQIBQE9wdGlvbjxMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c/0BARhBc3NldHMAASxiZW5lZmljaWFyeQ0BASBMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c/0BARhBc3NldHMAARBkZXN0DQEBIExvY2F0aW9uAAEMeGNt8QEBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZNUBAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdLUBARhXZWlnaHQAARBjYWxszQIBTERvdWJsZUVuY29kZWQ8Q2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlcmABDHUzMgABQG1heF9tZXNzYWdlX3NpemVgAQx1MzIAATBtYXhfY2FwYWNpdHlgAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudGABDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JgAQx1MzIAARhzZW5kZXJgAQx1MzIAASRyZWNpcGllbnRgAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQAEQEBQEludGVyaW9yTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IEAC0CAURRdWVyeVJlc3BvbnNlSW5mbwAMADBEZXBvc2l0QXNzZXQIARhhc3NldHMxAgEsQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyeQ0BASBMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyAAEQZGVzdA0BASBMb2NhdGlvbgABDHhjbfEBARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQMARBnaXZlMQIBLEFzc2V0RmlsdGVyAAEQd2FudP0BARhBc3NldHMAARxtYXhpbWFsyAEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0czECASxBc3NldEZpbHRlcgABHHJlc2VydmUNAQEgTG9jYXRpb24AAQx4Y23xAQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyAAEQZGVzdA0BASBMb2NhdGlvbgABDHhjbfEBARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZvLQIBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXMFAgEUQXNzZXQAATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEANECASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEANECASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRz/QEBGEFzc2V0cwABGHRpY2tldA0BASBMb2NhdGlvbgAYABBUcmFwBAC0AQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lktAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHS1AQEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEAP0BARhBc3NldHMAHAAsRXhwZWN0QXNzZXQEAP0BARhBc3NldHMAHQAwRXhwZWN0T3JpZ2luBAApAgFAT3B0aW9uPExvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQAqQEBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBADJAQE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZvLQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4YAEMdTMyAAEQbmFtZRgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvcmABDHUzMgABPG1pbl9jcmF0ZV9taW5vcmABDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQALQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBAAZAQEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmshAQEkTmV0d29ya0lkAAEsZGVzdGluYXRpb24RAQFASW50ZXJpb3JMb2NhdGlvbgABDHhjbfEBARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0BQIBFEFzc2V0AAEgdW5sb2NrZXINAQEgTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldAUCARRBc3NldAABGHRhcmdldA0BASBMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0BQIBFEFzc2V0AAEUb3duZXINAQEgTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0BQIBFEFzc2V0AAEYbG9ja2VyDQEBIExvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3yAEQYm9vbAArACBTZXRUb3BpYwQACAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQADQEBIExvY2F0aW9uAC4APFVucGFpZEV4ZWN1dGlvbggBMHdlaWdodF9saW1pdO0BASxXZWlnaHRMaW1pdAABMGNoZWNrX29yaWdpbikCAUBPcHRpb248TG9jYXRpb24+AC8AAN0CDCxzdGFnaW5nX3hjbQh2NQxYY20EEENhbGwAAAQA4QIBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AAOECAAAC5QIA5QIMLHN0YWdpbmdfeGNtCHY1LEluc3RydWN0aW9uBBBDYWxsAAHQNFdpdGhkcmF3QXNzZXQEAEkCARhBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBABJAgEYQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAEkCARhBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lktAEcUXVlcnlJZAABIHJlc3BvbnNlYQIBIFJlc3BvbnNlAAEobWF4X3dlaWdodLUBARhXZWlnaHQAARxxdWVyaWVygQIBQE9wdGlvbjxMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c0kCARhBc3NldHMAASxiZW5lZmljaWFyeUEBASBMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c0kCARhBc3NldHMAARBkZXN0QQEBIExvY2F0aW9uAAEMeGNtPQIBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZNUBAShPcmlnaW5LaW5kAAFMZmFsbGJhY2tfbWF4X3dlaWdodIUCAThPcHRpb248V2VpZ2h0PgABEGNhbGzNAgFMRG91YmxlRW5jb2RlZDxDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyYAEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZWABDHUzMgABMG1heF9jYXBhY2l0eWABDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50YAEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvcmABDHUzMgABGHNlbmRlcmABDHUzMgABJHJlY2lwaWVudGABDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBABFAQFASW50ZXJpb3JMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQAiQIBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0c40CASxBc3NldEZpbHRlcgABLGJlbmVmaWNpYXJ5QQEBIExvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHONAgEsQXNzZXRGaWx0ZXIAARBkZXN0QQEBIExvY2F0aW9uAAEMeGNtPQIBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAwBEGdpdmWNAgEsQXNzZXRGaWx0ZXIAARB3YW50SQIBGEFzc2V0cwABHG1heGltYWzIARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRzjQIBLEFzc2V0RmlsdGVyAAEccmVzZXJ2ZUEBASBMb2NhdGlvbgABDHhjbT0CARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHONAgEsQXNzZXRGaWx0ZXIAARBkZXN0QQEBIExvY2F0aW9uAAEMeGNtPQIBHFhjbTwoKT4AEQA0UmVwb3J0SG9sZGluZwgBNHJlc3BvbnNlX2luZm+JAgFEUXVlcnlSZXNwb25zZUluZm8AARhhc3NldHONAgEsQXNzZXRGaWx0ZXIAEgAwQnV5RXhlY3V0aW9uCAEQZmVlc1ECARRBc3NldAABMHdlaWdodF9saW1pdO0BASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQA3QIBJFhjbTxDYWxsPgAVACxTZXRBcHBlbmRpeAQA3QIBJFhjbTxDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHNJAgEYQXNzZXRzAAEYdGlja2V0QQEBIExvY2F0aW9uABgAEFRyYXAEALQBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWS0ARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodLUBARhXZWlnaHQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAJEJ1cm5Bc3NldAQASQIBGEFzc2V0cwAcACxFeHBlY3RBc3NldAQASQIBGEFzc2V0cwAdADBFeHBlY3RPcmlnaW4EAIECAUBPcHRpb248TG9jYXRpb24+AB4ALEV4cGVjdEVycm9yBABlAgFQT3B0aW9uPCh1MzIsIEVycm9yKT4AHwBQRXhwZWN0VHJhbnNhY3RTdGF0dXMEAMkBAThNYXliZUVycm9yQ29kZQAgACxRdWVyeVBhbGxldAgBLG1vZHVsZV9uYW1lGAEcVmVjPHU4PgABNHJlc3BvbnNlX2luZm+JAgFEUXVlcnlSZXNwb25zZUluZm8AIQAwRXhwZWN0UGFsbGV0FAEUaW5kZXhgAQx1MzIAARBuYW1lGAEcVmVjPHU4PgABLG1vZHVsZV9uYW1lGAEcVmVjPHU4PgABLGNyYXRlX21ham9yYAEMdTMyAAE8bWluX2NyYXRlX21pbm9yYAEMdTMyACIAUFJlcG9ydFRyYW5zYWN0U3RhdHVzBACJAgFEUXVlcnlSZXNwb25zZUluZm8AIwBMQ2xlYXJUcmFuc2FjdFN0YXR1cwAkADxVbml2ZXJzYWxPcmlnaW4EAE0BASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29ya1UBASROZXR3b3JrSWQAASxkZXN0aW5hdGlvbkUBAUBJbnRlcmlvckxvY2F0aW9uAAEMeGNtPQIBHFhjbTwoKT4AJgAkTG9ja0Fzc2V0CAEUYXNzZXRRAgEUQXNzZXQAASB1bmxvY2tlckEBASBMb2NhdGlvbgAnACxVbmxvY2tBc3NldAgBFGFzc2V0UQIBFEFzc2V0AAEYdGFyZ2V0QQEBIExvY2F0aW9uACgAOE5vdGVVbmxvY2thYmxlCAEUYXNzZXRRAgEUQXNzZXQAARRvd25lckEBASBMb2NhdGlvbgApADRSZXF1ZXN0VW5sb2NrCAEUYXNzZXRRAgEUQXNzZXQAARhsb2NrZXJBAQEgTG9jYXRpb24AKgAsU2V0RmVlc01vZGUEATBqaXRfd2l0aGRyYXfIARBib29sACsAIFNldFRvcGljBAAIASBbdTg7IDMyXQAsAChDbGVhclRvcGljAC0ALEFsaWFzT3JpZ2luBABBAQEgTG9jYXRpb24ALgA8VW5wYWlkRXhlY3V0aW9uCAEwd2VpZ2h0X2xpbWl07QEBLFdlaWdodExpbWl0AAEwY2hlY2tfb3JpZ2lugQIBQE9wdGlvbjxMb2NhdGlvbj4ALwAcUGF5RmVlcwQBFGFzc2V0UQIBFEFzc2V0ADAAQEluaXRpYXRlVHJhbnNmZXIUASxkZXN0aW5hdGlvbkEBASBMb2NhdGlvbgABLHJlbW90ZV9mZWVzmQIBbE9wdGlvbjxBc3NldFRyYW5zZmVyRmlsdGVyPgABPHByZXNlcnZlX29yaWdpbsgBEGJvb2wAARhhc3NldHOhAgHgQm91bmRlZFZlYzxBc3NldFRyYW5zZmVyRmlsdGVyLCBNYXhBc3NldFRyYW5zZmVyRmlsdGVycz4AAShyZW1vdGVfeGNtPQIBHFhjbTwoKT4AMQBERXhlY3V0ZVdpdGhPcmlnaW4IAURkZXNjZW5kYW50X29yaWdpbqkCAWBPcHRpb248SW50ZXJpb3JMb2NhdGlvbj4AAQx4Y23dAgEkWGNtPENhbGw+ADIAIFNldEhpbnRzBAEUaGludHOtAgGEQm91bmRlZFZlYzxIaW50LCBIaW50TnVtVmFyaWFudHM+ADMAAOkCBBhPcHRpb24EBFQBOAEIEE5vbmUAAAAQU29tZQQAOAAAAQAA7QIQUHN0YWdpbmdfeGNtX2V4ZWN1dG9yGHRyYWl0czhhc3NldF90cmFuc2ZlcjBUcmFuc2ZlclR5cGUAARAgVGVsZXBvcnQAAAAwTG9jYWxSZXNlcnZlAAEASERlc3RpbmF0aW9uUmVzZXJ2ZQACADRSZW1vdGVSZXNlcnZlBADsAURWZXJzaW9uZWRMb2NhdGlvbgADAADxAggMeGNtQFZlcnNpb25lZEFzc2V0SWQAAQwIVjMEAJEBASx2Mzo6QXNzZXRJZAADAAhWNAQACQIBLHY0OjpBc3NldElkAAQACFY1BABVAgEsdjU6OkFzc2V0SWQABQAA9QIEGE9wdGlvbgQEVAEoAQgQTm9uZQAAABBTb21lBAAoAAABAAD5AgxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBBDYWxsBARUAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLv0CDDhwYWxsZXRfdXRpbGl0eRhwYWxsZXQQQ2FsbAQEVAABIBRiYXRjaAQBFGNhbGxzAQMBfFZlYzw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAEh8U2VuZCBhIGJhdGNoIG9mIGRpc3BhdGNoIGNhbGxzLgCwTWF5IGJlIGNhbGxlZCBmcm9tIGFueSBvcmlnaW4gZXhjZXB0IGBOb25lYC4AXQEtIGBjYWxsc2A6IFRoZSBjYWxscyB0byBiZSBkaXNwYXRjaGVkIGZyb20gdGhlIHNhbWUgb3JpZ2luLiBUaGUgbnVtYmVyIG9mIGNhbGwgbXVzdCBub3Q5ASAgZXhjZWVkIHRoZSBjb25zdGFudDogYGJhdGNoZWRfY2FsbHNfbGltaXRgIChhdmFpbGFibGUgaW4gY29uc3RhbnQgbWV0YWRhdGEpLgBVAUlmIG9yaWdpbiBpcyByb290IHRoZW4gdGhlIGNhbGxzIGFyZSBkaXNwYXRjaGVkIHdpdGhvdXQgY2hlY2tpbmcgb3JpZ2luIGZpbHRlci4gKFRoaXPsaW5jbHVkZXMgYnlwYXNzaW5nIGBmcmFtZV9zeXN0ZW06OkNvbmZpZzo6QmFzZUNhbGxGaWx0ZXJgKS4ANCMjIENvbXBsZXhpdHnQLSBPKEMpIHdoZXJlIEMgaXMgdGhlIG51bWJlciBvZiBjYWxscyB0byBiZSBiYXRjaGVkLgBVAVRoaXMgd2lsbCByZXR1cm4gYE9rYCBpbiBhbGwgY2lyY3Vtc3RhbmNlcy4gVG8gZGV0ZXJtaW5lIHRoZSBzdWNjZXNzIG9mIHRoZSBiYXRjaCwgYW4xAWV2ZW50IGlzIGRlcG9zaXRlZC4gSWYgYSBjYWxsIGZhaWxlZCBhbmQgdGhlIGJhdGNoIHdhcyBpbnRlcnJ1cHRlZCwgdGhlbiB0aGVVAWBCYXRjaEludGVycnVwdGVkYCBldmVudCBpcyBkZXBvc2l0ZWQsIGFsb25nIHdpdGggdGhlIG51bWJlciBvZiBzdWNjZXNzZnVsIGNhbGxzIG1hZGVNAWFuZCB0aGUgZXJyb3Igb2YgdGhlIGZhaWxlZCBjYWxsLiBJZiBhbGwgd2VyZSBzdWNjZXNzZnVsLCB0aGVuIHRoZSBgQmF0Y2hDb21wbGV0ZWRgTGV2ZW50IGlzIGRlcG9zaXRlZC40YXNfZGVyaXZhdGl2ZQgBFGluZGV4BQMBDHUxNgABEGNhbGwgAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAE03FNlbmQgYSBjYWxsIHRocm91Z2ggYW4gaW5kZXhlZCBwc2V1ZG9ueW0gb2YgdGhlIHNlbmRlci4AVQFGaWx0ZXIgZnJvbSBvcmlnaW4gYXJlIHBhc3NlZCBhbG9uZy4gVGhlIGNhbGwgd2lsbCBiZSBkaXNwYXRjaGVkIHdpdGggYW4gb3JpZ2luIHdoaWNovHVzZSB0aGUgc2FtZSBmaWx0ZXIgYXMgdGhlIG9yaWdpbiBvZiB0aGlzIGNhbGwuAEUBTk9URTogSWYgeW91IG5lZWQgdG8gZW5zdXJlIHRoYXQgYW55IGFjY291bnQtYmFzZWQgZmlsdGVyaW5nIGlzIG5vdCBob25vcmVkIChpLmUuYQFiZWNhdXNlIHlvdSBleHBlY3QgYHByb3h5YCB0byBoYXZlIGJlZW4gdXNlZCBwcmlvciBpbiB0aGUgY2FsbCBzdGFjayBhbmQgeW91IGRvIG5vdCB3YW50UQF0aGUgY2FsbCByZXN0cmljdGlvbnMgdG8gYXBwbHkgdG8gYW55IHN1Yi1hY2NvdW50cyksIHRoZW4gdXNlIGBhc19tdWx0aV90aHJlc2hvbGRfMWB8aW4gdGhlIE11bHRpc2lnIHBhbGxldCBpbnN0ZWFkLgD0Tk9URTogUHJpb3IgdG8gdmVyc2lvbiAqMTIsIHRoaXMgd2FzIGNhbGxlZCBgYXNfbGltaXRlZF9zdWJgLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uJGJhdGNoX2FsbAQBFGNhbGxzAQMBfFZlYzw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAjTsU2VuZCBhIGJhdGNoIG9mIGRpc3BhdGNoIGNhbGxzIGFuZCBhdG9taWNhbGx5IGV4ZWN1dGUgdGhlbS4hAVRoZSB3aG9sZSB0cmFuc2FjdGlvbiB3aWxsIHJvbGxiYWNrIGFuZCBmYWlsIGlmIGFueSBvZiB0aGUgY2FsbHMgZmFpbGVkLgCwTWF5IGJlIGNhbGxlZCBmcm9tIGFueSBvcmlnaW4gZXhjZXB0IGBOb25lYC4AXQEtIGBjYWxsc2A6IFRoZSBjYWxscyB0byBiZSBkaXNwYXRjaGVkIGZyb20gdGhlIHNhbWUgb3JpZ2luLiBUaGUgbnVtYmVyIG9mIGNhbGwgbXVzdCBub3Q5ASAgZXhjZWVkIHRoZSBjb25zdGFudDogYGJhdGNoZWRfY2FsbHNfbGltaXRgIChhdmFpbGFibGUgaW4gY29uc3RhbnQgbWV0YWRhdGEpLgBVAUlmIG9yaWdpbiBpcyByb290IHRoZW4gdGhlIGNhbGxzIGFyZSBkaXNwYXRjaGVkIHdpdGhvdXQgY2hlY2tpbmcgb3JpZ2luIGZpbHRlci4gKFRoaXPsaW5jbHVkZXMgYnlwYXNzaW5nIGBmcmFtZV9zeXN0ZW06OkNvbmZpZzo6QmFzZUNhbGxGaWx0ZXJgKS4ANCMjIENvbXBsZXhpdHnQLSBPKEMpIHdoZXJlIEMgaXMgdGhlIG51bWJlciBvZiBjYWxscyB0byBiZSBiYXRjaGVkLixkaXNwYXRjaF9hcwgBJGFzX29yaWdpbgkDAVRCb3g8VDo6UGFsbGV0c09yaWdpbj4AARBjYWxsIAF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgADGMhEaXNwYXRjaGVzIGEgZnVuY3Rpb24gY2FsbCB3aXRoIGEgcHJvdmlkZWQgb3JpZ2luLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgA0IyMgQ29tcGxleGl0eRwtIE8oMSkuLGZvcmNlX2JhdGNoBAEUY2FsbHMBAwF8VmVjPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAENHxTZW5kIGEgYmF0Y2ggb2YgZGlzcGF0Y2ggY2FsbHMu1FVubGlrZSBgYmF0Y2hgLCBpdCBhbGxvd3MgZXJyb3JzIGFuZCB3b24ndCBpbnRlcnJ1cHQuALBNYXkgYmUgY2FsbGVkIGZyb20gYW55IG9yaWdpbiBleGNlcHQgYE5vbmVgLgBdAS0gYGNhbGxzYDogVGhlIGNhbGxzIHRvIGJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgc2FtZSBvcmlnaW4uIFRoZSBudW1iZXIgb2YgY2FsbCBtdXN0IG5vdDkBICBleGNlZWQgdGhlIGNvbnN0YW50OiBgYmF0Y2hlZF9jYWxsc19saW1pdGAgKGF2YWlsYWJsZSBpbiBjb25zdGFudCBtZXRhZGF0YSkuAE0BSWYgb3JpZ2luIGlzIHJvb3QgdGhlbiB0aGUgY2FsbHMgYXJlIGRpc3BhdGNoIHdpdGhvdXQgY2hlY2tpbmcgb3JpZ2luIGZpbHRlci4gKFRoaXPsaW5jbHVkZXMgYnlwYXNzaW5nIGBmcmFtZV9zeXN0ZW06OkNvbmZpZzo6QmFzZUNhbGxGaWx0ZXJgKS4ANCMjIENvbXBsZXhpdHnQLSBPKEMpIHdoZXJlIEMgaXMgdGhlIG51bWJlciBvZiBjYWxscyB0byBiZSBiYXRjaGVkLix3aXRoX3dlaWdodAgBEGNhbGwgAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAEYd2VpZ2h0tQEBGFdlaWdodAAFGMREaXNwYXRjaCBhIGZ1bmN0aW9uIGNhbGwgd2l0aCBhIHNwZWNpZmllZCB3ZWlnaHQuAC0BVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjaGVjayB0aGUgd2VpZ2h0IG9mIHRoZSBjYWxsLCBhbmQgaW5zdGVhZCBhbGxvd3MgdGhluFJvb3Qgb3JpZ2luIHRvIHNwZWNpZnkgdGhlIHdlaWdodCBvZiB0aGUgY2FsbC4AxFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4caWZfZWxzZQgBEG1haW4gAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAEgZmFsbGJhY2sgAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAZcFQFEaXNwYXRjaCBhIGZhbGxiYWNrIGNhbGwgaW4gdGhlIGV2ZW50IHRoZSBtYWluIGNhbGwgZmFpbHMgdG8gZXhlY3V0ZS6wTWF5IGJlIGNhbGxlZCBmcm9tIGFueSBvcmlnaW4gZXhjZXB0IGBOb25lYC4A5FRoaXMgZnVuY3Rpb24gZmlyc3QgYXR0ZW1wdHMgdG8gZGlzcGF0Y2ggdGhlIGBtYWluYCBjYWxsLtRJZiB0aGUgYG1haW5gIGNhbGwgZmFpbHMsIHRoZSBgZmFsbGJhY2tgIGlzIGF0dGVtdGVkLhUBaWYgdGhlIGZhbGxiYWNrIGlzIHN1Y2Nlc3NmdWxseSBkaXNwYXRjaGVkLCB0aGUgd2VpZ2h0cyBvZiBib3RoIGNhbGxzJQFhcmUgYWNjdW11bGF0ZWQgYW5kIGFuIGV2ZW50IGNvbnRhaW5pbmcgdGhlIG1haW4gY2FsbCBlcnJvciBpcyBkZXBvc2l0ZWQuANxJbiB0aGUgZXZlbnQgb2YgYSBmYWxsYmFjayBmYWlsdXJlIHRoZSB3aG9sZSBjYWxsIGZhaWxzaHdpdGggdGhlIHdlaWdodHMgcmV0dXJuZWQuAEEBLSBgbWFpbmA6IFRoZSBtYWluIGNhbGwgdG8gYmUgZGlzcGF0Y2hlZC4gVGhpcyBpcyB0aGUgcHJpbWFyeSBhY3Rpb24gdG8gZXhlY3V0ZS49AS0gYGZhbGxiYWNrYDogVGhlIGZhbGxiYWNrIGNhbGwgdG8gYmUgZGlzcGF0Y2hlZCBpbiBjYXNlIHRoZSBgbWFpbmAgY2FsbCBmYWlscy4ARCMjIERpc3BhdGNoIExvZ2ljQQEtIElmIHRoZSBvcmlnaW4gaXMgYHJvb3RgLCBib3RoIHRoZSBtYWluIGFuZCBmYWxsYmFjayBjYWxscyBhcmUgZXhlY3V0ZWQgd2l0aG91dHggIGFwcGx5aW5nIGFueSBvcmlnaW4gZmlsdGVycy5JAS0gSWYgdGhlIG9yaWdpbiBpcyBub3QgYHJvb3RgLCB0aGUgb3JpZ2luIGZpbHRlciBpcyBhcHBsaWVkIHRvIGJvdGggdGhlIGBtYWluYCBhbmRMICBgZmFsbGJhY2tgIGNhbGxzLgAsIyMgVXNlIENhc2VZAS0gU29tZSB1c2UgY2FzZXMgbWlnaHQgaW52b2x2ZSBzdWJtaXR0aW5nIGEgYGJhdGNoYCB0eXBlIGNhbGwgaW4gZWl0aGVyIG1haW4sIGZhbGxiYWNrKCAgb3IgYm90aC5QZGlzcGF0Y2hfYXNfZmFsbGlibGUIASRhc19vcmlnaW4JAwFUQm94PFQ6OlBhbGxldHNPcmlnaW4+AAEQY2FsbCABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4ABxTIRGlzcGF0Y2hlcyBhIGZ1bmN0aW9uIGNhbGwgd2l0aCBhIHByb3ZpZGVkIG9yaWdpbi4AUQFBbG1vc3QgdGhlIHNhbWUgYXMgW2BQYWxsZXQ6OmRpc3BhdGNoX2FzYF0gYnV0IGZvcndhcmRzIGFueSBlcnJvciBvZiB0aGUgaW5uZXIgY2FsbC4AxFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuAQMAAAIgAAUDAAAFBAAJAwhsYnJpZGdlX2h1Yl9wb2xrYWRvdF9ydW50aW1lME9yaWdpbkNhbGxlcgABDBhzeXN0ZW0EAA0DAXRmcmFtZV9zeXN0ZW06Ok9yaWdpbjxSdW50aW1lPgAAACxQb2xrYWRvdFhjbQQAEQMBSHBhbGxldF94Y206Ok9yaWdpbgAfAChDdW11bHVzWGNtBAAVAwFoY3VtdWx1c19wYWxsZXRfeGNtOjpPcmlnaW4AIAAADQMMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2gkUmF3T3JpZ2luBCRBY2NvdW50SWQBBAEQEFJvb3QAAAAYU2lnbmVkBAAEASRBY2NvdW50SWQAAQAQTm9uZQACAChBdXRob3JpemVkAAMAABEDDChwYWxsZXRfeGNtGHBhbGxldBhPcmlnaW4AAQgMWGNtBABBAQEgTG9jYXRpb24AAAAgUmVzcG9uc2UEAEEBASBMb2NhdGlvbgABAAAVAwxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBhPcmlnaW4AAQgUUmVsYXkAAABAU2libGluZ1BhcmFjaGFpbgQAnAEYUGFyYUlkAAEAABkDDDxwYWxsZXRfbXVsdGlzaWcYcGFsbGV0EENhbGwEBFQAARRQYXNfbXVsdGlfdGhyZXNob2xkXzEIAURvdGhlcl9zaWduYXRvcmllc8wBRFZlYzxUOjpBY2NvdW50SWQ+AAEQY2FsbCABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AADBRAUltbWVkaWF0ZWx5IGRpc3BhdGNoIGEgbXVsdGktc2lnbmF0dXJlIGNhbGwgdXNpbmcgYSBzaW5nbGUgYXBwcm92YWwgZnJvbSB0aGUgY2FsbGVyLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAD0BLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGFyZSBwYXJ0IG9mIHRoZQEBbXVsdGktc2lnbmF0dXJlLCBidXQgZG8gbm90IHBhcnRpY2lwYXRlIGluIHRoZSBhcHByb3ZhbCBwcm9jZXNzLogtIGBjYWxsYDogVGhlIGNhbGwgdG8gYmUgZXhlY3V0ZWQuALhSZXN1bHQgaXMgZXF1aXZhbGVudCB0byB0aGUgZGlzcGF0Y2hlZCByZXN1bHQuADQjIyBDb21wbGV4aXR5GQFPKFogKyBDKSB3aGVyZSBaIGlzIHRoZSBsZW5ndGggb2YgdGhlIGNhbGwgYW5kIEMgaXRzIGV4ZWN1dGlvbiB3ZWlnaHQuIGFzX211bHRpFAEkdGhyZXNob2xkBQMBDHUxNgABRG90aGVyX3NpZ25hdG9yaWVzzAFEVmVjPFQ6OkFjY291bnRJZD4AATxtYXliZV90aW1lcG9pbnQdAwGQT3B0aW9uPFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4+AAEQY2FsbCABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAShtYXhfd2VpZ2h0tQEBGFdlaWdodAABqFUBUmVnaXN0ZXIgYXBwcm92YWwgZm9yIGEgZGlzcGF0Y2ggdG8gYmUgbWFkZSBmcm9tIGEgZGV0ZXJtaW5pc3RpYyBjb21wb3NpdGUgYWNjb3VudCBpZvhhcHByb3ZlZCBieSBhIHRvdGFsIG9mIGB0aHJlc2hvbGQgLSAxYCBvZiBgb3RoZXJfc2lnbmF0b3JpZXNgLgA9ASoqSWYgdGhlIGFwcHJvdmFsIHRocmVzaG9sZCBpcyBtZXQgKGluY2x1ZGluZyB0aGUgc2VuZGVyJ3MgYXBwcm92YWwpLCB0aGlzIHdpbGxFAWltbWVkaWF0ZWx5IGV4ZWN1dGUgdGhlIGNhbGwuKiogVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gZXhlY3V0ZSBhIG11bHRpc2lnIGNhbGwgLcBgYXBwcm92ZV9hc19tdWx0aWAgd2lsbCBuZXZlciB0cmlnZ2VyIGV4ZWN1dGlvbi4ALQFQYXltZW50OiBgRGVwb3NpdEJhc2VgIHdpbGwgYmUgcmVzZXJ2ZWQgaWYgdGhpcyBpcyB0aGUgZmlyc3QgYXBwcm92YWwsIHBsdXM9AWB0aHJlc2hvbGRgIHRpbWVzIGBEZXBvc2l0RmFjdG9yYC4gSXQgaXMgcmV0dXJuZWQgb25jZSB0aGlzIGRpc3BhdGNoIGhhcHBlbnMgb3I0aXMgY2FuY2VsbGVkLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAFUBLSBgdGhyZXNob2xkYDogVGhlIHRvdGFsIG51bWJlciBvZiBhcHByb3ZhbHMgZm9yIHRoaXMgZGlzcGF0Y2ggYmVmb3JlIGl0IGlzIGV4ZWN1dGVkLkEBLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGNhbiBhcHByb3ZlIHRoaXNsZGlzcGF0Y2guIE1heSBub3QgYmUgZW1wdHkuWQEtIGBtYXliZV90aW1lcG9pbnRgOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBhcHByb3ZhbCwgdGhlbiB0aGlzIG11c3QgYmUgYE5vbmVgLiBJZiBpdCBpc1EBbm90IHRoZSBmaXJzdCBhcHByb3ZhbCwgdGhlbiBpdCBtdXN0IGJlIGBTb21lYCwgd2l0aCB0aGUgdGltZXBvaW50IChibG9jayBudW1iZXIgYW5k1HRyYW5zYWN0aW9uIGluZGV4KSBvZiB0aGUgZmlyc3QgYXBwcm92YWwgdHJhbnNhY3Rpb24uiC0gYGNhbGxgOiBUaGUgY2FsbCB0byBiZSBleGVjdXRlZC4ATQFOT1RFOiBGb3IgaW50ZXJtZWRpYXRlIGFwcHJvdmFscyAobm90IHRoZSBmaW5hbCBhcHByb3ZhbCksIHlvdSBzaG91bGQgZ2VuZXJhbGx5IHVzZUUBYGFwcHJvdmVfYXNfbXVsdGlgIGluc3RlYWQsIHNpbmNlIGl0IG9ubHkgcmVxdWlyZXMgYSBoYXNoIG9mIHRoZSBjYWxsIGFuZCBpcyBtb3JlKGVmZmljaWVudC4AWQFSZXN1bHQgaXMgZXF1aXZhbGVudCB0byB0aGUgZGlzcGF0Y2hlZCByZXN1bHQgaWYgYHRocmVzaG9sZGAgaXMgZXhhY3RseSBgMWAuIE90aGVyd2lzZVUBb24gc3VjY2VzcywgcmVzdWx0IGlzIGBPa2AgYW5kIHRoZSByZXN1bHQgZnJvbSB0aGUgaW50ZXJpb3IgY2FsbCwgaWYgaXQgd2FzIGV4ZWN1dGVkLNxtYXkgYmUgZm91bmQgaW4gdGhlIGRlcG9zaXRlZCBgTXVsdGlzaWdFeGVjdXRlZGAgZXZlbnQuADQjIyBDb21wbGV4aXR5UC0gYE8oUyArIFogKyBDYWxsKWAuzC0gVXAgdG8gb25lIGJhbGFuY2UtcmVzZXJ2ZSBvciB1bnJlc2VydmUgb3BlcmF0aW9uLj0BLSBPbmUgcGFzc3Rocm91Z2ggb3BlcmF0aW9uLCBvbmUgaW5zZXJ0LCBib3RoIGBPKFMpYCB3aGVyZSBgU2AgaXMgdGhlIG51bWJlciBvZkUBICBzaWduYXRvcmllcy4gYFNgIGlzIGNhcHBlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIHdlaWdodCBiZWluZyBwcm9wb3J0aW9uYWwuIQEtIE9uZSBjYWxsIGVuY29kZSAmIGhhc2gsIGJvdGggb2YgY29tcGxleGl0eSBgTyhaKWAgd2hlcmUgYFpgIGlzIHR4LWxlbi68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC7ULSBVcCB0byBvbmUgYmluYXJ5IHNlYXJjaCBhbmQgaW5zZXJ0IChgTyhsb2dTICsgUylgKS74LSBJL086IDEgcmVhZCBgTyhTKWAsIHVwIHRvIDEgbXV0YXRlIGBPKFMpYC4gVXAgdG8gb25lIHJlbW92ZS4wLSBPbmUgZXZlbnQubC0gVGhlIHdlaWdodCBvZiB0aGUgYGNhbGxgLk0BLSBTdG9yYWdlOiBpbnNlcnRzIG9uZSBpdGVtLCB2YWx1ZSBzaXplIGJvdW5kZWQgYnkgYE1heFNpZ25hdG9yaWVzYCwgd2l0aCBhIGRlcG9zaXQZASAgdGFrZW4gZm9yIGl0cyBsaWZldGltZSBvZiBgRGVwb3NpdEJhc2UgKyB0aHJlc2hvbGQgKiBEZXBvc2l0RmFjdG9yYC5AYXBwcm92ZV9hc19tdWx0aRQBJHRocmVzaG9sZAUDAQx1MTYAAURvdGhlcl9zaWduYXRvcmllc8wBRFZlYzxUOjpBY2NvdW50SWQ+AAE8bWF5YmVfdGltZXBvaW50HQMBkE9wdGlvbjxUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+PgABJGNhbGxfaGFzaAgBIFt1ODsgMzJdAAEobWF4X3dlaWdodLUBARhXZWlnaHQAAphVAVJlZ2lzdGVyIGFwcHJvdmFsIGZvciBhIGRpc3BhdGNoIHRvIGJlIG1hZGUgZnJvbSBhIGRldGVybWluaXN0aWMgY29tcG9zaXRlIGFjY291bnQgaWb4YXBwcm92ZWQgYnkgYSB0b3RhbCBvZiBgdGhyZXNob2xkIC0gMWAgb2YgYG90aGVyX3NpZ25hdG9yaWVzYC4AOQEqKlRoaXMgZnVuY3Rpb24gd2lsbCBORVZFUiBleGVjdXRlIHRoZSBjYWxsLCBldmVuIGlmIHRoZSBhcHByb3ZhbCB0aHJlc2hvbGQgaXNRAXJlYWNoZWQuKiogSXQgb25seSByZWdpc3RlcnMgYXBwcm92YWwuIFRvIGFjdHVhbGx5IGV4ZWN1dGUgdGhlIGNhbGwsIGBhc19tdWx0aWAgbXVzdPBiZSBjYWxsZWQgd2l0aCB0aGUgZnVsbCBjYWxsIGRhdGEgYnkgYW55IG9mIHRoZSBzaWduYXRvcmllcy4ATQFUaGlzIGZ1bmN0aW9uIGlzIG1vcmUgZWZmaWNpZW50IHRoYW4gYGFzX211bHRpYCBmb3IgaW50ZXJtZWRpYXRlIGFwcHJvdmFscyBzaW5jZSBpdNBvbmx5IHJlcXVpcmVzIHRoZSBjYWxsIGhhc2gsIG5vdCB0aGUgZnVsbCBjYWxsIGRhdGEuAC0BUGF5bWVudDogYERlcG9zaXRCYXNlYCB3aWxsIGJlIHJlc2VydmVkIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGFwcHJvdmFsLCBwbHVzPQFgdGhyZXNob2xkYCB0aW1lcyBgRGVwb3NpdEZhY3RvcmAuIEl0IGlzIHJldHVybmVkIG9uY2UgdGhpcyBkaXNwYXRjaCBoYXBwZW5zIG9yNGlzIGNhbmNlbGxlZC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBVAS0gYHRocmVzaG9sZGA6IFRoZSB0b3RhbCBudW1iZXIgb2YgYXBwcm92YWxzIGZvciB0aGlzIGRpc3BhdGNoIGJlZm9yZSBpdCBpcyBleGVjdXRlZC5BAS0gYG90aGVyX3NpZ25hdG9yaWVzYDogVGhlIGFjY291bnRzIChvdGhlciB0aGFuIHRoZSBzZW5kZXIpIHdobyBjYW4gYXBwcm92ZSB0aGlzbGRpc3BhdGNoLiBNYXkgbm90IGJlIGVtcHR5LlkBLSBgbWF5YmVfdGltZXBvaW50YDogSWYgdGhpcyBpcyB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gdGhpcyBtdXN0IGJlIGBOb25lYC4gSWYgaXQgaXNRAW5vdCB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gaXQgbXVzdCBiZSBgU29tZWAsIHdpdGggdGhlIHRpbWVwb2ludCAoYmxvY2sgbnVtYmVyIGFuZNR0cmFuc2FjdGlvbiBpbmRleCkgb2YgdGhlIGZpcnN0IGFwcHJvdmFsIHRyYW5zYWN0aW9uLswtIGBjYWxsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgY2FsbCB0byBiZSBleGVjdXRlZC4APQFOT1RFOiBUbyBleGVjdXRlIHRoZSBjYWxsIGFmdGVyIGFwcHJvdmFscyBhcmUgZ2F0aGVyZWQsIGFueSBzaWduYXRvcnkgbXVzdCBjYWxsKQFgYXNfbXVsdGlgIHdpdGggdGhlIGZ1bGwgY2FsbCBkYXRhLiBUaGlzIGZ1bmN0aW9uIGNhbm5vdCBleGVjdXRlIHRoZSBjYWxsLgA0IyMgQ29tcGxleGl0eSQtIGBPKFMpYC7MLSBVcCB0byBvbmUgYmFsYW5jZS1yZXNlcnZlIG9yIHVucmVzZXJ2ZSBvcGVyYXRpb24uPQEtIE9uZSBwYXNzdGhyb3VnaCBvcGVyYXRpb24sIG9uZSBpbnNlcnQsIGJvdGggYE8oUylgIHdoZXJlIGBTYCBpcyB0aGUgbnVtYmVyIG9mRQEgIHNpZ25hdG9yaWVzLiBgU2AgaXMgY2FwcGVkIGJ5IGBNYXhTaWduYXRvcmllc2AsIHdpdGggd2VpZ2h0IGJlaW5nIHByb3BvcnRpb25hbC68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC7ULSBVcCB0byBvbmUgYmluYXJ5IHNlYXJjaCBhbmQgaW5zZXJ0IChgTyhsb2dTICsgUylgKS74LSBJL086IDEgcmVhZCBgTyhTKWAsIHVwIHRvIDEgbXV0YXRlIGBPKFMpYC4gVXAgdG8gb25lIHJlbW92ZS4wLSBPbmUgZXZlbnQuTQEtIFN0b3JhZ2U6IGluc2VydHMgb25lIGl0ZW0sIHZhbHVlIHNpemUgYm91bmRlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIGEgZGVwb3NpdBkBICB0YWtlbiBmb3IgaXRzIGxpZmV0aW1lIG9mIGBEZXBvc2l0QmFzZSArIHRocmVzaG9sZCAqIERlcG9zaXRGYWN0b3JgLjxjYW5jZWxfYXNfbXVsdGkQASR0aHJlc2hvbGQFAwEMdTE2AAFEb3RoZXJfc2lnbmF0b3JpZXPMAURWZWM8VDo6QWNjb3VudElkPgABJHRpbWVwb2ludCEDAXBUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+AAEkY2FsbF9oYXNoCAEgW3U4OyAzMl0AA1RVAUNhbmNlbCBhIHByZS1leGlzdGluZywgb24tZ29pbmcgbXVsdGlzaWcgdHJhbnNhY3Rpb24uIEFueSBkZXBvc2l0IHJlc2VydmVkIHByZXZpb3VzbHnEZm9yIHRoaXMgb3BlcmF0aW9uIHdpbGwgYmUgdW5yZXNlcnZlZCBvbiBzdWNjZXNzLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAFUBLSBgdGhyZXNob2xkYDogVGhlIHRvdGFsIG51bWJlciBvZiBhcHByb3ZhbHMgZm9yIHRoaXMgZGlzcGF0Y2ggYmVmb3JlIGl0IGlzIGV4ZWN1dGVkLkEBLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGNhbiBhcHByb3ZlIHRoaXNsZGlzcGF0Y2guIE1heSBub3QgYmUgZW1wdHkuXQEtIGB0aW1lcG9pbnRgOiBUaGUgdGltZXBvaW50IChibG9jayBudW1iZXIgYW5kIHRyYW5zYWN0aW9uIGluZGV4KSBvZiB0aGUgZmlyc3QgYXBwcm92YWx4dHJhbnNhY3Rpb24gZm9yIHRoaXMgZGlzcGF0Y2guzC0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIGV4ZWN1dGVkLgA0IyMgQ29tcGxleGl0eSQtIGBPKFMpYC7MLSBVcCB0byBvbmUgYmFsYW5jZS1yZXNlcnZlIG9yIHVucmVzZXJ2ZSBvcGVyYXRpb24uPQEtIE9uZSBwYXNzdGhyb3VnaCBvcGVyYXRpb24sIG9uZSBpbnNlcnQsIGJvdGggYE8oUylgIHdoZXJlIGBTYCBpcyB0aGUgbnVtYmVyIG9mRQEgIHNpZ25hdG9yaWVzLiBgU2AgaXMgY2FwcGVkIGJ5IGBNYXhTaWduYXRvcmllc2AsIHdpdGggd2VpZ2h0IGJlaW5nIHByb3BvcnRpb25hbC68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC4wLSBPbmUgZXZlbnQuhC0gSS9POiAxIHJlYWQgYE8oUylgLCBvbmUgcmVtb3ZlLnAtIFN0b3JhZ2U6IHJlbW92ZXMgb25lIGl0ZW0uMHBva2VfZGVwb3NpdAwBJHRocmVzaG9sZAUDAQx1MTYAAURvdGhlcl9zaWduYXRvcmllc8wBRFZlYzxUOjpBY2NvdW50SWQ+AAEkY2FsbF9oYXNoCAEgW3U4OyAzMl0ABDT0UG9rZSB0aGUgZGVwb3NpdCByZXNlcnZlZCBmb3IgYW4gZXhpc3RpbmcgbXVsdGlzaWcgb3BlcmF0aW9uLgBhAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCBtdXN0IGJlIHRoZSBvcmlnaW5hbCBkZXBvc2l0b3Igb2ZcdGhlIG11bHRpc2lnIG9wZXJhdGlvbi4AAQFUaGUgdHJhbnNhY3Rpb24gZmVlIGlzIHdhaXZlZCBpZiB0aGUgZGVwb3NpdCBhbW91bnQgaGFzIGNoYW5nZWQuABkBLSBgdGhyZXNob2xkYDogVGhlIHRvdGFsIG51bWJlciBvZiBhcHByb3ZhbHMgbmVlZGVkIGZvciB0aGlzIG11bHRpc2lnLj0BLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGFyZSBwYXJ0IG9mIHRoZSwgIG11bHRpc2lnLgUBLSBgY2FsbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGNhbGwgdGhpcyBkZXBvc2l0IGlzIHJlc2VydmVkIGZvci4AjEVtaXRzIGBEZXBvc2l0UG9rZWRgIGlmIHN1Y2Nlc3NmdWwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLh0DBBhPcHRpb24EBFQBIQMBCBBOb25lAAAAEFNvbWUEACEDAAABAAAhAwg8cGFsbGV0X211bHRpc2lnJFRpbWVwb2ludAQsQmxvY2tOdW1iZXIBOAAIARhoZWlnaHQ4ASxCbG9ja051bWJlcgABFGluZGV4OAEMdTMyAAAlAwwwcGFsbGV0X3Byb3h5GHBhbGxldBBDYWxsBARUAAEsFHByb3h5DAEQcmVhbAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAFAZm9yY2VfcHJveHlfdHlwZSkDAVBPcHRpb248VDo6UHJveHlUeXBlPgABEGNhbGwgAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAAkTQFEaXNwYXRjaCB0aGUgZ2l2ZW4gYGNhbGxgIGZyb20gYW4gYWNjb3VudCB0aGF0IHRoZSBzZW5kZXIgaXMgYXV0aG9yaXNlZCBmb3IgdGhyb3VnaDBgYWRkX3Byb3h5YC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczoNAS0gYHJlYWxgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBwcm94eSB3aWxsIG1ha2UgYSBjYWxsIG9uIGJlaGFsZiBvZi5hAS0gYGZvcmNlX3Byb3h5X3R5cGVgOiBTcGVjaWZ5IHRoZSBleGFjdCBwcm94eSB0eXBlIHRvIGJlIHVzZWQgYW5kIGNoZWNrZWQgZm9yIHRoaXMgY2FsbC7QLSBgY2FsbGA6IFRoZSBjYWxsIHRvIGJlIG1hZGUgYnkgdGhlIGByZWFsYCBhY2NvdW50LiRhZGRfcHJveHkMASBkZWxlZ2F0ZQABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEocHJveHlfdHlwZS0DATBUOjpQcm94eVR5cGUAARRkZWxheTgBREJsb2NrTnVtYmVyRm9yPFQ+AAEkRQFSZWdpc3RlciBhIHByb3h5IGFjY291bnQgZm9yIHRoZSBzZW5kZXIgdGhhdCBpcyBhYmxlIHRvIG1ha2UgY2FsbHMgb24gaXRzIGJlaGFsZi4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczoRAS0gYHByb3h5YDogVGhlIGFjY291bnQgdGhhdCB0aGUgYGNhbGxlcmAgd291bGQgbGlrZSB0byBtYWtlIGEgcHJveHku/C0gYHByb3h5X3R5cGVgOiBUaGUgcGVybWlzc2lvbnMgYWxsb3dlZCBmb3IgdGhpcyBwcm94eSBhY2NvdW50Lk0BLSBgZGVsYXlgOiBUaGUgYW5ub3VuY2VtZW50IHBlcmlvZCByZXF1aXJlZCBvZiB0aGUgaW5pdGlhbCBwcm94eS4gV2lsbCBnZW5lcmFsbHkgYmUUemVyby4wcmVtb3ZlX3Byb3h5DAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKHByb3h5X3R5cGUtAwEwVDo6UHJveHlUeXBlAAEUZGVsYXk4AURCbG9ja051bWJlckZvcjxUPgACHKhVbnJlZ2lzdGVyIGEgcHJveHkgYWNjb3VudCBmb3IgdGhlIHNlbmRlci4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczolAS0gYHByb3h5YDogVGhlIGFjY291bnQgdGhhdCB0aGUgYGNhbGxlcmAgd291bGQgbGlrZSB0byByZW1vdmUgYXMgYSBwcm94eS5BAS0gYHByb3h5X3R5cGVgOiBUaGUgcGVybWlzc2lvbnMgY3VycmVudGx5IGVuYWJsZWQgZm9yIHRoZSByZW1vdmVkIHByb3h5IGFjY291bnQuOHJlbW92ZV9wcm94aWVzAAMYtFVucmVnaXN0ZXIgYWxsIHByb3h5IGFjY291bnRzIGZvciB0aGUgc2VuZGVyLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAF0BV0FSTklORzogVGhpcyBtYXkgYmUgY2FsbGVkIG9uIGFjY291bnRzIGNyZWF0ZWQgYnkgYGNyZWF0ZV9wdXJlYCwgaG93ZXZlciBpZiBkb25lLCB0aGVuWQF0aGUgdW5yZXNlcnZlZCBmZWVzIHdpbGwgYmUgaW5hY2Nlc3NpYmxlLiAqKkFsbCBhY2Nlc3MgdG8gdGhpcyBhY2NvdW50IHdpbGwgYmUgbG9zdC4qKixjcmVhdGVfcHVyZQwBKHByb3h5X3R5cGUtAwEwVDo6UHJveHlUeXBlAAEUZGVsYXk4AURCbG9ja051bWJlckZvcjxUPgABFGluZGV4BQMBDHUxNgAESDkBU3Bhd24gYSBmcmVzaCBuZXcgYWNjb3VudCB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gYmUgb3RoZXJ3aXNlIGluYWNjZXNzaWJsZSwgYW5k/GluaXRpYWxpemUgaXQgd2l0aCBhIHByb3h5IG9mIGBwcm94eV90eXBlYCBmb3IgYG9yaWdpbmAgc2VuZGVyLgBsUmVxdWlyZXMgYSBgU2lnbmVkYCBvcmlnaW4uAFEBLSBgcHJveHlfdHlwZWA6IFRoZSB0eXBlIG9mIHRoZSBwcm94eSB0aGF0IHRoZSBzZW5kZXIgd2lsbCBiZSByZWdpc3RlcmVkIGFzIG92ZXIgdGhlTQFuZXcgYWNjb3VudC4gVGhpcyB3aWxsIGFsbW9zdCBhbHdheXMgYmUgdGhlIG1vc3QgcGVybWlzc2l2ZSBgUHJveHlUeXBlYCBwb3NzaWJsZSB0b3hhbGxvdyBmb3IgbWF4aW11bSBmbGV4aWJpbGl0eS5RAS0gYGluZGV4YDogQSBkaXNhbWJpZ3VhdGlvbiBpbmRleCwgaW4gY2FzZSB0aGlzIGlzIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpbiB0aGUgc2FtZV0BdHJhbnNhY3Rpb24gKGUuZy4gd2l0aCBgdXRpbGl0eTo6YmF0Y2hgKS4gVW5sZXNzIHlvdSdyZSB1c2luZyBgYmF0Y2hgIHlvdSBwcm9iYWJseSBqdXN0QHdhbnQgdG8gdXNlIGAwYC5NAS0gYGRlbGF5YDogVGhlIGFubm91bmNlbWVudCBwZXJpb2QgcmVxdWlyZWQgb2YgdGhlIGluaXRpYWwgcHJveHkuIFdpbGwgZ2VuZXJhbGx5IGJlFHplcm8uAFEBRmFpbHMgd2l0aCBgRHVwbGljYXRlYCBpZiB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gY2FsbGVkIGluIHRoaXMgdHJhbnNhY3Rpb24sIGZyb20gdGhlmHNhbWUgc2VuZGVyLCB3aXRoIHRoZSBzYW1lIHBhcmFtZXRlcnMuAORGYWlscyBpZiB0aGVyZSBhcmUgaW5zdWZmaWNpZW50IGZ1bmRzIHRvIHBheSBmb3IgZGVwb3NpdC4ka2lsbF9wdXJlFAEcc3Bhd25lcgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEocHJveHlfdHlwZS0DATBUOjpQcm94eVR5cGUAARRpbmRleAUDAQx1MTYAARhoZWlnaHRgAURCbG9ja051bWJlckZvcjxUPgABJGV4dF9pbmRleGABDHUzMgAFQKBSZW1vdmVzIGEgcHJldmlvdXNseSBzcGF3bmVkIHB1cmUgcHJveHkuAEkBV0FSTklORzogKipBbGwgYWNjZXNzIHRvIHRoaXMgYWNjb3VudCB3aWxsIGJlIGxvc3QuKiogQW55IGZ1bmRzIGhlbGQgaW4gaXQgd2lsbCBiZTRpbmFjY2Vzc2libGUuAFkBUmVxdWlyZXMgYSBgU2lnbmVkYCBvcmlnaW4sIGFuZCB0aGUgc2VuZGVyIGFjY291bnQgbXVzdCBoYXZlIGJlZW4gY3JlYXRlZCBieSBhIGNhbGwgdG+wYGNyZWF0ZV9wdXJlYCB3aXRoIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVycy4AVQEtIGBzcGF3bmVyYDogVGhlIGFjY291bnQgdGhhdCBvcmlnaW5hbGx5IGNhbGxlZCBgY3JlYXRlX3B1cmVgIHRvIGNyZWF0ZSB0aGlzIGFjY291bnQuVQEtIGBpbmRleGA6IFRoZSBkaXNhbWJpZ3VhdGlvbiBpbmRleCBvcmlnaW5hbGx5IHBhc3NlZCB0byBgY3JlYXRlX3B1cmVgLiBQcm9iYWJseSBgMGAuCQEtIGBwcm94eV90eXBlYDogVGhlIHByb3h5IHR5cGUgb3JpZ2luYWxseSBwYXNzZWQgdG8gYGNyZWF0ZV9wdXJlYC5FAS0gYGhlaWdodGA6IFRoZSBoZWlnaHQgb2YgdGhlIGNoYWluIHdoZW4gdGhlIGNhbGwgdG8gYGNyZWF0ZV9wdXJlYCB3YXMgcHJvY2Vzc2VkLlEBLSBgZXh0X2luZGV4YDogVGhlIGV4dHJpbnNpYyBpbmRleCBpbiB3aGljaCB0aGUgY2FsbCB0byBgY3JlYXRlX3B1cmVgIHdhcyBwcm9jZXNzZWQuADUBRmFpbHMgd2l0aCBgTm9QZXJtaXNzaW9uYCBpbiBjYXNlIHRoZSBjYWxsZXIgaXMgbm90IGEgcHJldmlvdXNseSBjcmVhdGVkIHB1cmX4YWNjb3VudCB3aG9zZSBgY3JlYXRlX3B1cmVgIGNhbGwgaGFzIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVycy4gYW5ub3VuY2UIARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRjYWxsX2hhc2g8ATRDYWxsSGFzaE9mPFQ+AAY8BQFQdWJsaXNoIHRoZSBoYXNoIG9mIGEgcHJveHktY2FsbCB0aGF0IHdpbGwgYmUgbWFkZSBpbiB0aGUgZnV0dXJlLgBdAVRoaXMgbXVzdCBiZSBjYWxsZWQgc29tZSBudW1iZXIgb2YgYmxvY2tzIGJlZm9yZSB0aGUgY29ycmVzcG9uZGluZyBgcHJveHlgIGlzIGF0dGVtcHRlZCUBaWYgdGhlIGRlbGF5IGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJveHkgcmVsYXRpb25zaGlwIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLgARAU5vIG1vcmUgdGhhbiBgTWF4UGVuZGluZ2AgYW5ub3VuY2VtZW50cyBtYXkgYmUgbWFkZSBhdCBhbnkgb25lIHRpbWUuAAkBVGhpcyB3aWxsIHRha2UgYSBkZXBvc2l0IG9mIGBBbm5vdW5jZW1lbnREZXBvc2l0RmFjdG9yYCBhcyB3ZWxsIGFzGQFgQW5ub3VuY2VtZW50RGVwb3NpdEJhc2VgIGlmIHRoZXJlIGFyZSBubyBvdGhlciBwZW5kaW5nIGFubm91bmNlbWVudHMuACUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIGEgcHJveHkgb2YgYHJlYWxgLgAsUGFyYW1ldGVyczoNAS0gYHJlYWxgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBwcm94eSB3aWxsIG1ha2UgYSBjYWxsIG9uIGJlaGFsZiBvZi4VAS0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIG1hZGUgYnkgdGhlIGByZWFsYCBhY2NvdW50LkxyZW1vdmVfYW5ub3VuY2VtZW50CAEQcmVhbAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEkY2FsbF9oYXNoPAE0Q2FsbEhhc2hPZjxUPgAHKHBSZW1vdmUgYSBnaXZlbiBhbm5vdW5jZW1lbnQuAFkBTWF5IGJlIGNhbGxlZCBieSBhIHByb3h5IGFjY291bnQgdG8gcmVtb3ZlIGEgY2FsbCB0aGV5IHByZXZpb3VzbHkgYW5ub3VuY2VkIGFuZCByZXR1cm4wdGhlIGRlcG9zaXQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6DQEtIGByZWFsYDogVGhlIGFjY291bnQgdGhhdCB0aGUgcHJveHkgd2lsbCBtYWtlIGEgY2FsbCBvbiBiZWhhbGYgb2YuFQEtIGBjYWxsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgY2FsbCB0byBiZSBtYWRlIGJ5IHRoZSBgcmVhbGAgYWNjb3VudC5McmVqZWN0X2Fubm91bmNlbWVudAgBIGRlbGVnYXRlAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRjYWxsX2hhc2g8ATRDYWxsSGFzaE9mPFQ+AAgosFJlbW92ZSB0aGUgZ2l2ZW4gYW5ub3VuY2VtZW50IG9mIGEgZGVsZWdhdGUuAGEBTWF5IGJlIGNhbGxlZCBieSBhIHRhcmdldCAocHJveGllZCkgYWNjb3VudCB0byByZW1vdmUgYSBjYWxsIHRoYXQgb25lIG9mIHRoZWlyIGRlbGVnYXRlcyUBKGBkZWxlZ2F0ZWApIGhhcyBhbm5vdW5jZWQgdGhleSB3YW50IHRvIGV4ZWN1dGUuIFRoZSBkZXBvc2l0IGlzIHJldHVybmVkLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uACxQYXJhbWV0ZXJzOvQtIGBkZWxlZ2F0ZWA6IFRoZSBhY2NvdW50IHRoYXQgcHJldmlvdXNseSBhbm5vdW5jZWQgdGhlIGNhbGwuvC0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIG1hZGUuPHByb3h5X2Fubm91bmNlZBABIGRlbGVnYXRlAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAUBmb3JjZV9wcm94eV90eXBlKQMBUE9wdGlvbjxUOjpQcm94eVR5cGU+AAEQY2FsbCABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4ACSxNAURpc3BhdGNoIHRoZSBnaXZlbiBgY2FsbGAgZnJvbSBhbiBhY2NvdW50IHRoYXQgdGhlIHNlbmRlciBpcyBhdXRob3JpemVkIGZvciB0aHJvdWdoMGBhZGRfcHJveHlgLgCoUmVtb3ZlcyBhbnkgY29ycmVzcG9uZGluZyBhbm5vdW5jZW1lbnQocykuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6DQEtIGByZWFsYDogVGhlIGFjY291bnQgdGhhdCB0aGUgcHJveHkgd2lsbCBtYWtlIGEgY2FsbCBvbiBiZWhhbGYgb2YuYQEtIGBmb3JjZV9wcm94eV90eXBlYDogU3BlY2lmeSB0aGUgZXhhY3QgcHJveHkgdHlwZSB0byBiZSB1c2VkIGFuZCBjaGVja2VkIGZvciB0aGlzIGNhbGwu0C0gYGNhbGxgOiBUaGUgY2FsbCB0byBiZSBtYWRlIGJ5IHRoZSBgcmVhbGAgYWNjb3VudC4wcG9rZV9kZXBvc2l0AAogSQFQb2tlIC8gQWRqdXN0IGRlcG9zaXRzIG1hZGUgZm9yIHByb3hpZXMgYW5kIGFubm91bmNlbWVudHMgYmFzZWQgb24gY3VycmVudCB2YWx1ZXMuDQFUaGlzIGNhbiBiZSB1c2VkIGJ5IGFjY291bnRzIHRvIHBvc3NpYmx5IGxvd2VyIHRoZWlyIGxvY2tlZCBhbW91bnQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AAQFUaGUgdHJhbnNhY3Rpb24gZmVlIGlzIHdhaXZlZCBpZiB0aGUgZGVwb3NpdCBhbW91bnQgaGFzIGNoYW5nZWQuAIxFbWl0cyBgRGVwb3NpdFBva2VkYCBpZiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4pAwQYT3B0aW9uBARUAS0DAQgQTm9uZQAAABBTb21lBAAtAwAAAQAALQMIbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZSRQcm94eVR5cGUAARAMQW55AAAALE5vblRyYW5zZmVyAAEALENhbmNlbFByb3h5AAIAIENvbGxhdG9yAAMAADEDDFhwYWxsZXRfYnJpZGdlX3JlbGF5ZXJzGHBhbGxldBBDYWxsCARUAARJAAEQNGNsYWltX3Jld2FyZHMEASxyZXdhcmRfa2luZDUDASRUOjpSZXdhcmQAAARoQ2xhaW0gYWNjdW11bGF0ZWQgcmV3YXJkcy4gcmVnaXN0ZXIEASh2YWxpZF90aWxsOAFEQmxvY2tOdW1iZXJGb3I8VD4AAQywUmVnaXN0ZXIgcmVsYXllciBvciB1cGRhdGUgaXRzIHJlZ2lzdHJhdGlvbi4AYQFSZWdpc3RyYXRpb24gYWxsb3dzIHJlbGF5ZXIgdG8gZ2V0IHByaW9yaXR5IGJvb3N0IGZvciBpdHMgbWVzc2FnZSBkZWxpdmVyeSB0cmFuc2FjdGlvbnMuKGRlcmVnaXN0ZXIAAhBUYERlcmVnaXN0ZXJgIHJlbGF5ZXIuAFEBQWZ0ZXIgdGhpcyBjYWxsLCBtZXNzYWdlIGRlbGl2ZXJ5IHRyYW5zYWN0aW9ucyBvZiB0aGUgcmVsYXllciB3b24ndCBnZXQgYW55IHByaW9yaXR5GGJvb3N0LkBjbGFpbV9yZXdhcmRzX3RvCAEscmV3YXJkX2tpbmQ1AwEkVDo6UmV3YXJkAAEsYmVuZWZpY2lhcnlFAwFMQmVuZWZpY2lhcnlPZjxULCBJPgADBB0BQ2xhaW0gYWNjdW11bGF0ZWQgcmV3YXJkcyBhbmQgc2VuZCB0aGVtIHRvIHRoZSBhbHRlcm5hdGl2ZSBiZW5lZmljaWFyeS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuNQMMbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZVBicmlkZ2VfY29tbW9uX2NvbmZpZzBCcmlkZ2VSZXdhcmQAAQhQUG9sa2Fkb3RLdXNhbWFCcmlkZ2UEADkDAYhSZXdhcmRzQWNjb3VudFBhcmFtczxMZWdhY3lMYW5lSWQ+AAAAKFNub3dicmlkZ2UAAQAAOQMILGJwX3JlbGF5ZXJzUFJld2FyZHNBY2NvdW50UGFyYW1zBBhMYW5lSWQBPQMADAEUb3duZXJBAwFMUmV3YXJkc0FjY291bnRPd25lcgABQGJyaWRnZWRfY2hhaW5faWRwARxDaGFpbklkAAEcbGFuZV9pZD0DARhMYW5lSWQAAD0DDCxicF9tZXNzYWdlcxBsYW5lMExlZ2FjeUxhbmVJZAAABABwARxbdTg7IDRdAABBAwgsYnBfcmVsYXllcnNMUmV3YXJkc0FjY291bnRPd25lcgABCCRUaGlzQ2hhaW4AAAAwQnJpZGdlZENoYWluAAEAAEUDDGxicmlkZ2VfaHViX3BvbGthZG90X3J1bnRpbWVQYnJpZGdlX2NvbW1vbl9jb25maWdkQnJpZGdlUmV3YXJkQmVuZWZpY2lhcmllcwABCDBMb2NhbEFjY291bnQEAAQBJEFjY291bnRJZAAAAEBBc3NldEh1YkxvY2F0aW9uBADsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEAAEkDDFRwYWxsZXRfYnJpZGdlX2dyYW5kcGEYcGFsbGV0EENhbGwIBFQABEkAARhUc3VibWl0X2ZpbmFsaXR5X3Byb29mCAE8ZmluYWxpdHlfdGFyZ2V0XAFgQm94PEJyaWRnZWRIZWFkZXI8VCwgST4+AAE0anVzdGlmaWNhdGlvbk0DAaRHcmFuZHBhSnVzdGlmaWNhdGlvbjxCcmlkZ2VkSGVhZGVyPFQsIEk+PgAADBEBVGhpcyBjYWxsIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBhcm91bmQgTWF5IDIwMjQuIFVzZSB0aGVNAWBzdWJtaXRfZmluYWxpdHlfcHJvb2ZfZXhgIGluc3RlYWQuIFNlbWFudGljYWxseSwgdGhpcyBjYWxsIGlzIGFuIGVxdWl2YWxlbnQgb2YgdGhlHQFgc3VibWl0X2ZpbmFsaXR5X3Byb29mX2V4YCBjYWxsIHdpdGhvdXQgY3VycmVudCBhdXRob3JpdHkgc2V0IGlkIGNoZWNrLihpbml0aWFsaXplBAEkaW5pdF9kYXRhbQMBuHN1cGVyOjpJbml0aWFsaXphdGlvbkRhdGE8QnJpZGdlZEhlYWRlcjxULCBJPj4AASRhAUJvb3RzdHJhcCB0aGUgYnJpZGdlIHBhbGxldCB3aXRoIGFuIGluaXRpYWwgaGVhZGVyIGFuZCBhdXRob3JpdHkgc2V0IGZyb20gd2hpY2ggdG8gc3luYy4AYQFUaGUgaW5pdGlhbCBjb25maWd1cmF0aW9uIHByb3ZpZGVkIGRvZXMgbm90IG5lZWQgdG8gYmUgdGhlIGdlbmVzaXMgaGVhZGVyIG9mIHRoZSBicmlkZ2VkSQFjaGFpbiwgaXQgY2FuIGJlIGFueSBhcmJpdHJhcnkgaGVhZGVyLiBZb3UgY2FuIGFsc28gcHJvdmlkZSB0aGUgbmV4dCBzY2hlZHVsZWQgc2V0dGNoYW5nZSBpZiBpdCBpcyBhbHJlYWR5IGtub3cuAFkBVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGFsbG93ZWQgdG8gYmUgY2FsbGVkIGZyb20gYSB0cnVzdGVkIG9yaWdpbiBhbmQgd3JpdGVzIHRvIHN0b3JhZ2VVAXdpdGggcHJhY3RpY2FsbHkgbm8gY2hlY2tzIGluIHRlcm1zIG9mIHRoZSB2YWxpZGl0eSBvZiB0aGUgZGF0YS4gSXQgaXMgaW1wb3J0YW50IHRoYXS4eW91IGVuc3VyZSB0aGF0IHZhbGlkIGRhdGEgaXMgYmVpbmcgcGFzc2VkIGluLiRzZXRfb3duZXIEASRuZXdfb3duZXJ9AwFQT3B0aW9uPFQ6OkFjY291bnRJZD4AAgxUQ2hhbmdlIGBQYWxsZXRPd25lcmAuANxNYXkgb25seSBiZSBjYWxsZWQgZWl0aGVyIGJ5IHJvb3QsIG9yIGJ5IGBQYWxsZXRPd25lcmAuSHNldF9vcGVyYXRpbmdfbW9kZQQBOG9wZXJhdGluZ19tb2RleQMBSEJhc2ljT3BlcmF0aW5nTW9kZQADDJRIYWx0IG9yIHJlc3VtZSBhbGwgcGFsbGV0IG9wZXJhdGlvbnMuANxNYXkgb25seSBiZSBjYWxsZWQgZWl0aGVyIGJ5IHJvb3QsIG9yIGJ5IGBQYWxsZXRPd25lcmAuYHN1Ym1pdF9maW5hbGl0eV9wcm9vZl9leBABPGZpbmFsaXR5X3RhcmdldFwBYEJveDxCcmlkZ2VkSGVhZGVyPFQsIEk+PgABNGp1c3RpZmljYXRpb25NAwGkR3JhbmRwYUp1c3RpZmljYXRpb248QnJpZGdlZEhlYWRlcjxULCBJPj4AAThjdXJyZW50X3NldF9pZCgBbHNwX2NvbnNlbnN1c19ncmFuZHBhOjpTZXRJZAABaGlzX2ZyZWVfZXhlY3V0aW9uX2V4cGVjdGVkyAEQYm9vbAAEbFEBVmVyaWZ5IGEgdGFyZ2V0IGhlYWRlciBpcyBmaW5hbGl6ZWQgYWNjb3JkaW5nIHRvIHRoZSBnaXZlbiBmaW5hbGl0eSBwcm9vZi4gVGhlIHByb29mMQFpcyBhc3N1bWVkIHRvIGJlIHNpZ25lZCBieSBHUkFORFBBIGF1dGhvcml0aWVzIHNldCB3aXRoIGBjdXJyZW50X3NldF9pZGAgaWQuAEEBSXQgd2lsbCB1c2UgdGhlIHVuZGVybHlpbmcgc3RvcmFnZSBwYWxsZXQgdG8gZmV0Y2ggaW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJlbnRZAWF1dGhvcml0aWVzIGFuZCBiZXN0IGZpbmFsaXplZCBoZWFkZXIgaW4gb3JkZXIgdG8gdmVyaWZ5IHRoYXQgdGhlIGhlYWRlciBpcyBmaW5hbGl6ZWQuAGEBSWYgc3VjY2Vzc2Z1bCBpbiB2ZXJpZmljYXRpb24sIGl0IHdpbGwgd3JpdGUgdGhlIHRhcmdldCBoZWFkZXIgdG8gdGhlIHVuZGVybHlpbmcgc3RvcmFnZRxwYWxsZXQuAEhUaGUgY2FsbCBmYWlscyBpZjoAXC0gdGhlIHBhbGxldCBpcyBoYWx0ZWQ7APAtIHRoZSBwYWxsZXQga25vd3MgYmV0dGVyIGhlYWRlciB0aGFuIHRoZSBgZmluYWxpdHlfdGFyZ2V0YDsAPQEtIHRoZSBpZCBvZiBiZXN0IEdSQU5EUEEgYXV0aG9yaXR5IHNldCwga25vd24gdG8gdGhlIHBhbGxldCBpcyBub3QgZXF1YWwgdG8gdGhlTCAgYGN1cnJlbnRfc2V0X2lkYDsArC0gdmVyaWZpY2F0aW9uIGlzIG5vdCBvcHRpbWl6ZWQgb3IgaW52YWxpZDsAOQEtIGhlYWRlciBjb250YWlucyBmb3JjZWQgYXV0aG9yaXRpZXMgc2V0IGNoYW5nZSBvciBjaGFuZ2Ugd2l0aCBub24temVybyBkZWxheS4AUQFUaGUgYGlzX2ZyZWVfZXhlY3V0aW9uX2V4cGVjdGVkYCBwYXJhbWV0ZXIgaXMgbm90IHJlYWxseSB1c2VkIGluc2lkZSB0aGUgY2FsbC4gSXQgaXNZAXVzZWQgYnkgdGhlIHRyYW5zYWN0aW9uIGV4dGVuc2lvbiwgd2hpY2ggc2hvdWxkIGJlIHJlZ2lzdGVyZWQgYXQgdGhlIHJ1bnRpbWUgbGV2ZWwuIElmXQF0aGlzIHBhcmFtZXRlciBpcyBgdHJ1ZWAsIHRoZSB0cmFuc2FjdGlvbiB3aWxsIGJlIHRyZWF0ZWQgYXMgaW52YWxpZCwgaWYgdGhlIGNhbGwgd29uJ3Q9AWJlIGV4ZWN1dGVkIGZvciBmcmVlLiBJZiB0cmFuc2FjdGlvbiBleHRlbnNpb24gaXMgbm90IHVzZWQgYnkgdGhlIHJ1bnRpbWUsIHRoaXN0cGFyYW1ldGVyIGlzIG5vdCB1c2VkIGF0IGFsbC5YZm9yY2Vfc2V0X3BhbGxldF9zdGF0ZQwBSG5ld19jdXJyZW50X3NldF9pZCgBFFNldElkAAE8bmV3X2F1dGhvcml0aWVzcQMBNEF1dGhvcml0eUxpc3QAATxuZXdfYmVzdF9oZWFkZXJcAWBCb3g8QnJpZGdlZEhlYWRlcjxULCBJPj4ABSQ1AVNldCBjdXJyZW50IGF1dGhvcml0aWVzIHNldCBhbmQgYmVzdCBmaW5hbGl6ZWQgYnJpZGdlZCBoZWFkZXIgdG8gZ2l2ZW4gdmFsdWVz4ChhbG1vc3QpIHdpdGhvdXQgYW55IGNoZWNrcy4gVGhpcyBjYWxsIGNhbiBmYWlsIG9ubHkgaWY6AMgtIHRoZSBjYWxsIG9yaWdpbiBpcyBub3QgYSByb290IG9yIGEgcGFsbGV0IG93bmVyOwDALSB0aGVyZSBhcmUgdG9vIG1hbnkgYXV0aG9yaXRpZXMgaW4gdGhlIG5ldyBzZXQuADUBTm8gb3RoZXIgY2hlY2tzIGFyZSBtYWRlLiBQcmV2aW91c2x5IGltcG9ydGVkIGhlYWRlcnMgc3RheSBpbiB0aGUgc3RvcmFnZSBhbmSQYXJlIHN0aWxsIGFjY2Vzc2libGUgYWZ0ZXIgdGhlIGNhbGwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLk0DDDxicF9oZWFkZXJfY2hhaW40anVzdGlmaWNhdGlvblBHcmFuZHBhSnVzdGlmaWNhdGlvbgQYSGVhZGVyAVwADAEUcm91bmQoAQx1NjQAARhjb21taXRRAwFdAWZpbmFsaXR5X2dyYW5kcGE6OkNvbW1pdDxIZWFkZXI6Okhhc2gsIEhlYWRlcjo6TnVtYmVyLApBdXRob3JpdHlTaWduYXR1cmUsIEF1dGhvcml0eUlkPgABQHZvdGVzX2FuY2VzdHJpZXNYASxWZWM8SGVhZGVyPgAAUQMIQGZpbmFsaXR5X2dyYW5kcGEYQ29tbWl0EARIATwETgE4BFMBVQMISWQBXQMADAEsdGFyZ2V0X2hhc2g8AQRIAAE0dGFyZ2V0X251bWJlcjgBBE4AAShwcmVjb21taXRzYQMBhFZlYzxTaWduZWRQcmVjb21taXQ8SCwgTiwgUywgSWQ+PgAAVQMMUHNwX2NvbnNlbnN1c19ncmFuZHBhDGFwcCRTaWduYXR1cmUAAAQAWQMBSGVkMjU1MTk6OlNpZ25hdHVyZQAAWQMAAANAAAAADABdAwxQc3BfY29uc2Vuc3VzX2dyYW5kcGEMYXBwGFB1YmxpYwAABAAIATxlZDI1NTE5OjpQdWJsaWMAAGEDAAACZQMAZQMIQGZpbmFsaXR5X2dyYW5kcGE8U2lnbmVkUHJlY29tbWl0EARIATwETgE4BFMBVQMISWQBXQMADAEkcHJlY29tbWl0aQMBPFByZWNvbW1pdDxILCBOPgABJHNpZ25hdHVyZVUDAQRTAAEIaWRdAwEISWQAAGkDCEBmaW5hbGl0eV9ncmFuZHBhJFByZWNvbW1pdAgESAE8BE4BOAAIASx0YXJnZXRfaGFzaDwBBEgAATR0YXJnZXRfbnVtYmVyOAEETgAAbQMIPGJwX2hlYWRlcl9jaGFpbkhJbml0aWFsaXphdGlvbkRhdGEEBEgBXAAQARhoZWFkZXJcARhCb3g8SD4AAThhdXRob3JpdHlfbGlzdHEDATRBdXRob3JpdHlMaXN0AAEYc2V0X2lkKAEUU2V0SWQAAThvcGVyYXRpbmdfbW9kZXkDAUhCYXNpY09wZXJhdGluZ01vZGUAAHEDAAACdQMAdQMAAAQIXQMoAHkDCChicF9ydW50aW1lSEJhc2ljT3BlcmF0aW5nTW9kZQABCBhOb3JtYWwAAAAYSGFsdGVkAAEAAH0DBBhPcHRpb24EBFQBBAEIEE5vbmUAAAAQU29tZQQABAAAAQAAgQMMYHBhbGxldF9icmlkZ2VfcGFyYWNoYWlucxhwYWxsZXQQQ2FsbAgEVAAESQABEFhzdWJtaXRfcGFyYWNoYWluX2hlYWRzDAE4YXRfcmVsYXlfYmxvY2uFAwGIKFJlbGF5QmxvY2tOdW1iZXIsIFJlbGF5QmxvY2tIYXNoKQABKHBhcmFjaGFpbnOJAwFcVmVjPChQYXJhSWQsIFBhcmFIYXNoKT4AAVRwYXJhY2hhaW5faGVhZHNfcHJvb2aVAwE4UGFyYUhlYWRzUHJvb2YAAEC8U3VibWl0IHByb29mIG9mIG9uZSBvciBzZXZlcmFsIHBhcmFjaGFpbiBoZWFkcy4ACQFUaGUgcHJvb2YgaXMgc3VwcG9zZWQgdG8gYmUgcHJvb2Ygb2Ygc29tZSBgSGVhZHNgIGVudHJpZXMgZnJvbSB0aGVRAWBwb2xrYWRvdC1ydW50aW1lLXBhcmFjaGFpbnM6OnBhcmFzYCBwYWxsZXQgaW5zdGFuY2UsIGRlcGxveWVkIGF0IHRoZSBicmlkZ2VkIGNoYWluLk0BVGhlIHByb29mIGlzIHN1cHBvc2VkIHRvIGJlIGNyYWZ0ZWQgYXQgdGhlIGByZWxheV9oZWFkZXJfaGFzaGAgdGhhdCBtdXN0IGFscmVhZHkgYmXcaW1wb3J0ZWQgYnkgY29ycmVzcG9uZGluZyBHUkFORFBBIHBhbGxldCBhdCB0aGlzIGNoYWluLgBIVGhlIGNhbGwgZmFpbHMgaWY6AFwtIHRoZSBwYWxsZXQgaXMgaGFsdGVkOwBFAS0gdGhlIHJlbGF5IGNoYWluIGJsb2NrIGBhdF9yZWxheV9ibG9ja2AgaXMgbm90IGltcG9ydGVkIGJ5IHRoZSBhc3NvY2lhdGVkIGJyaWRnZUQgIEdSQU5EUEEgcGFsbGV0LgBFAVRoZSBjYWxsIG1heSBzdWNjZWVkLCBidXQgc29tZSBoZWFkcyBtYXkgbm90IGJlIHVwZGF0ZWQgZS5nLiBiZWNhdXNlIHBhbGxldCBrbm93c7hiZXR0ZXIgaGVhZCBvciBpdCBpc24ndCB0cmFja2VkIGJ5IHRoZSBwYWxsZXQuJHNldF9vd25lcgQBJG5ld19vd25lcn0DAVBPcHRpb248VDo6QWNjb3VudElkPgABDFRDaGFuZ2UgYFBhbGxldE93bmVyYC4A3E1heSBvbmx5IGJlIGNhbGxlZCBlaXRoZXIgYnkgcm9vdCwgb3IgYnkgYFBhbGxldE93bmVyYC5Ic2V0X29wZXJhdGluZ19tb2RlBAE4b3BlcmF0aW5nX21vZGV5AwFIQmFzaWNPcGVyYXRpbmdNb2RlAAIMlEhhbHQgb3IgcmVzdW1lIGFsbCBwYWxsZXQgb3BlcmF0aW9ucy4A3E1heSBvbmx5IGJlIGNhbGxlZCBlaXRoZXIgYnkgcm9vdCwgb3IgYnkgYFBhbGxldE93bmVyYC5kc3VibWl0X3BhcmFjaGFpbl9oZWFkc19leBABOGF0X3JlbGF5X2Jsb2NrhQMBiChSZWxheUJsb2NrTnVtYmVyLCBSZWxheUJsb2NrSGFzaCkAAShwYXJhY2hhaW5ziQMBXFZlYzwoUGFyYUlkLCBQYXJhSGFzaCk+AAFUcGFyYWNoYWluX2hlYWRzX3Byb29mlQMBOFBhcmFIZWFkc1Byb29mAAFoaXNfZnJlZV9leGVjdXRpb25fZXhwZWN0ZWTIARBib29sAANYvFN1Ym1pdCBwcm9vZiBvZiBvbmUgb3Igc2V2ZXJhbCBwYXJhY2hhaW4gaGVhZHMuAAkBVGhlIHByb29mIGlzIHN1cHBvc2VkIHRvIGJlIHByb29mIG9mIHNvbWUgYEhlYWRzYCBlbnRyaWVzIGZyb20gdGhlUQFgcG9sa2Fkb3QtcnVudGltZS1wYXJhY2hhaW5zOjpwYXJhc2AgcGFsbGV0IGluc3RhbmNlLCBkZXBsb3llZCBhdCB0aGUgYnJpZGdlZCBjaGFpbi5NAVRoZSBwcm9vZiBpcyBzdXBwb3NlZCB0byBiZSBjcmFmdGVkIGF0IHRoZSBgcmVsYXlfaGVhZGVyX2hhc2hgIHRoYXQgbXVzdCBhbHJlYWR5IGJl3GltcG9ydGVkIGJ5IGNvcnJlc3BvbmRpbmcgR1JBTkRQQSBwYWxsZXQgYXQgdGhpcyBjaGFpbi4ASFRoZSBjYWxsIGZhaWxzIGlmOgBcLSB0aGUgcGFsbGV0IGlzIGhhbHRlZDsARQEtIHRoZSByZWxheSBjaGFpbiBibG9jayBgYXRfcmVsYXlfYmxvY2tgIGlzIG5vdCBpbXBvcnRlZCBieSB0aGUgYXNzb2NpYXRlZCBicmlkZ2VEICBHUkFORFBBIHBhbGxldC4ARQFUaGUgY2FsbCBtYXkgc3VjY2VlZCwgYnV0IHNvbWUgaGVhZHMgbWF5IG5vdCBiZSB1cGRhdGVkIGUuZy4gYmVjYXVzZSBwYWxsZXQga25vd3O4YmV0dGVyIGhlYWQgb3IgaXQgaXNuJ3QgdHJhY2tlZCBieSB0aGUgcGFsbGV0LgBRAVRoZSBgaXNfZnJlZV9leGVjdXRpb25fZXhwZWN0ZWRgIHBhcmFtZXRlciBpcyBub3QgcmVhbGx5IHVzZWQgaW5zaWRlIHRoZSBjYWxsLiBJdCBpc1kBdXNlZCBieSB0aGUgdHJhbnNhY3Rpb24gZXh0ZW5zaW9uLCB3aGljaCBzaG91bGQgYmUgcmVnaXN0ZXJlZCBhdCB0aGUgcnVudGltZSBsZXZlbC4gSWZdAXRoaXMgcGFyYW1ldGVyIGlzIGB0cnVlYCwgdGhlIHRyYW5zYWN0aW9uIHdpbGwgYmUgdHJlYXRlZCBhcyBpbnZhbGlkLCBpZiB0aGUgY2FsbCB3b24ndD0BYmUgZXhlY3V0ZWQgZm9yIGZyZWUuIElmIHRyYW5zYWN0aW9uIGV4dGVuc2lvbiBpcyBub3QgdXNlZCBieSB0aGUgcnVudGltZSwgdGhpc3RwYXJhbWV0ZXIgaXMgbm90IHVzZWQgYXQgYWxsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6FAwAABAg4PACJAwAAAo0DAI0DAAAECJEDPACRAwxAYnBfcG9sa2Fkb3RfY29yZShwYXJhY2hhaW5zGFBhcmFJZAAABAA4AQx1MzIAAJUDDEBicF9wb2xrYWRvdF9jb3JlKHBhcmFjaGFpbnM4UGFyYUhlYWRzUHJvb2YAAAQBNHN0b3JhZ2VfcHJvb2Y0ATxSYXdTdG9yYWdlUHJvb2YAAJkDDFhwYWxsZXRfYnJpZGdlX21lc3NhZ2VzGHBhbGxldBBDYWxsCARUAARJAAEQJHNldF9vd25lcgQBJG5ld19vd25lcn0DAVBPcHRpb248VDo6QWNjb3VudElkPgAADFRDaGFuZ2UgYFBhbGxldE93bmVyYC4A3E1heSBvbmx5IGJlIGNhbGxlZCBlaXRoZXIgYnkgcm9vdCwgb3IgYnkgYFBhbGxldE93bmVyYC5Ic2V0X29wZXJhdGluZ19tb2RlBAE4b3BlcmF0aW5nX21vZGWdAwFUTWVzc2FnZXNPcGVyYXRpbmdNb2RlAAEMqEhhbHQgb3IgcmVzdW1lIGFsbC9zb21lIHBhbGxldCBvcGVyYXRpb25zLgDcTWF5IG9ubHkgYmUgY2FsbGVkIGVpdGhlciBieSByb290LCBvciBieSBgUGFsbGV0T3duZXJgLlhyZWNlaXZlX21lc3NhZ2VzX3Byb29mEAFscmVsYXllcl9pZF9hdF9icmlkZ2VkX2NoYWluBAGEQWNjb3VudElkT2Y8QnJpZGdlZENoYWluT2Y8VCwgST4+AAEUcHJvb2ahAwExAUJveDxGcm9tQnJpZGdlZENoYWluTWVzc2FnZXNQcm9vZjxIYXNoT2Y8QnJpZGdlZENoYWluT2Y8VCwgST4+LCBUCjo6TGFuZUlkPj4AAThtZXNzYWdlc19jb3VudDgBDHUzMgABPGRpc3BhdGNoX3dlaWdodLUBARhXZWlnaHQAAlSoUmVjZWl2ZSBtZXNzYWdlcyBwcm9vZiBmcm9tIGJyaWRnZWQgY2hhaW4uAD0BVGhlIHdlaWdodCBvZiB0aGUgY2FsbCBhc3N1bWVzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIGFsd2F5cyBicmluZ3Mgb3V0Ym91bmQgbGFuZVkBc3RhdGUgdXBkYXRlLiBCZWNhdXNlIG9mIHRoYXQsIHRoZSBzdWJtaXR0ZXIgKHJlbGF5ZXIpIGhhcyBubyBiZW5lZml0IG9mIG5vdCBpbmNsdWRpbmc1AXRoaXMgZGF0YSBpbiB0aGUgdHJhbnNhY3Rpb24sIHNvIHJld2FyZCBjb25maXJtYXRpb25zIGxhZ3Mgc2hvdWxkIGJlIG1pbmltYWwuAEhUaGUgY2FsbCBmYWlscyBpZjoAXC0gdGhlIHBhbGxldCBpcyBoYWx0ZWQ7AJQtIHRoZSBjYWxsIG9yaWdpbiBpcyBub3QgYFNpZ25lZChfKWA7AKwtIHRoZXJlIGFyZSB0b28gbWFueSBtZXNzYWdlcyBpbiB0aGUgcHJvb2Y7AF0BLSB0aGUgcHJvb2YgdmVyaWZpY2F0aW9uIHByb2NlZHVyZSByZXR1cm5zIGFuIGVycm9yIC0gZS5nLiBiZWNhdXNlIGhlYWRlciB1c2VkIHRvIGNyYWZ06CAgcHJvb2YgaXMgbm90IGltcG9ydGVkIGJ5IHRoZSBhc3NvY2lhdGVkIGZpbmFsaXR5IHBhbGxldDsAUQEtIHRoZSBgZGlzcGF0Y2hfd2VpZ2h0YCBhcmd1bWVudCBpcyBub3Qgc3VmZmljaWVudCB0byBkaXNwYXRjaCBhbGwgYnVuZGxlZCBtZXNzYWdlcy4AVQFUaGUgY2FsbCBtYXkgc3VjY2VlZCwgYnV0IHNvbWUgbWVzc2FnZXMgbWF5IG5vdCBiZSBkZWxpdmVyZWQgZS5nLiBpZiB0aGV5IGFyZSBub3QgZml0kGludG8gdGhlIHVucmV3YXJkZWQgcmVsYXllcnMgdmVjdG9yLnxyZWNlaXZlX21lc3NhZ2VzX2RlbGl2ZXJ5X3Byb29mCAEUcHJvb2alAwE9AUZyb21CcmlkZ2VkQ2hhaW5NZXNzYWdlc0RlbGl2ZXJ5UHJvb2Y8SGFzaE9mPEJyaWRnZWRDaGFpbk9mPFQsIEk+PiwgVAo6OkxhbmVJZD4AAThyZWxheWVyc19zdGF0ZakDAVxVbnJld2FyZGVkUmVsYXllcnNTdGF0ZQADBMxSZWNlaXZlIG1lc3NhZ2VzIGRlbGl2ZXJ5IHByb29mIGZyb20gYnJpZGdlZCBjaGFpbi4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMunQMILGJwX21lc3NhZ2VzVE1lc3NhZ2VzT3BlcmF0aW5nTW9kZQABCBRCYXNpYwQAeQMBSEJhc2ljT3BlcmF0aW5nTW9kZQAAAGRSZWplY3RpbmdPdXRib3VuZE1lc3NhZ2VzAAEAAKEDDCxicF9tZXNzYWdlczB0YXJnZXRfY2hhaW50RnJvbUJyaWRnZWRDaGFpbk1lc3NhZ2VzUHJvb2YIREJyaWRnZWRIZWFkZXJIYXNoATwQTGFuZQE9AwAUAUxicmlkZ2VkX2hlYWRlcl9oYXNoPAFEQnJpZGdlZEhlYWRlckhhc2gAATRzdG9yYWdlX3Byb29mNAE8UmF3U3RvcmFnZVByb29mAAEQbGFuZT0DARBMYW5lAAEwbm9uY2VzX3N0YXJ0KAEwTWVzc2FnZU5vbmNlAAEobm9uY2VzX2VuZCgBME1lc3NhZ2VOb25jZQAApQMMLGJwX21lc3NhZ2VzMHNvdXJjZV9jaGFpbpRGcm9tQnJpZGdlZENoYWluTWVzc2FnZXNEZWxpdmVyeVByb29mCERCcmlkZ2VkSGVhZGVySGFzaAE8GExhbmVJZAE9AwAMAUxicmlkZ2VkX2hlYWRlcl9oYXNoPAFEQnJpZGdlZEhlYWRlckhhc2gAATRzdG9yYWdlX3Byb29mNAE8UmF3U3RvcmFnZVByb29mAAEQbGFuZT0DARhMYW5lSWQAAKkDCCxicF9tZXNzYWdlc1xVbnJld2FyZGVkUmVsYXllcnNTdGF0ZQAAEAFodW5yZXdhcmRlZF9yZWxheWVyX2VudHJpZXMoATBNZXNzYWdlTm9uY2UAAWBtZXNzYWdlc19pbl9vbGRlc3RfZW50cnkoATBNZXNzYWdlTm9uY2UAATh0b3RhbF9tZXNzYWdlcygBME1lc3NhZ2VOb25jZQABUGxhc3RfZGVsaXZlcmVkX25vbmNlKAEwTWVzc2FnZU5vbmNlAACtAwxUcGFsbGV0X3hjbV9icmlkZ2VfaHViGHBhbGxldBBDYWxsCARUAARJAAEILG9wZW5fYnJpZGdlBAGUYnJpZGdlX2Rlc3RpbmF0aW9uX3VuaXZlcnNhbF9sb2NhdGlvbrEDAXhCb3g8VmVyc2lvbmVkSW50ZXJpb3JMb2NhdGlvbj4AACyQT3BlbiBhIGJyaWRnZSBiZXR3ZWVuIHR3byBsb2NhdGlvbnMuAEUBVGhlIGNhbGxlciBtdXN0IGJlIHdpdGhpbiB0aGUgYFQ6Ok9wZW5CcmlkZ2VPcmlnaW5gIGZpbHRlciAocHJlc3VtYWJseTogYSBzaWJsaW5nXQFwYXJhY2hhaW4gb3IgYSBwYXJlbnQgcmVsYXkgY2hhaW4pLiBUaGUgYGJyaWRnZV9kZXN0aW5hdGlvbl91bml2ZXJzYWxfbG9jYXRpb25gIG11c3QgYmUZAWEgZGVzdGluYXRpb24gd2l0aGluIHRoZSBjb25zZW5zdXMgb2YgdGhlIGBUOjpCcmlkZ2VkTmV0d29ya2AgbmV0d29yay4AKQFUaGUgYEJyaWRnZURlcG9zaXRgIGFtb3VudCBpcyByZXNlcnZlZCBvbiB0aGUgY2FsbGVyIGFjY291bnQuIFRoaXMgZGVwb3NpdJRpcyB1bnJlc2VydmVkIGFmdGVyIGJyaWRnZSBpcyBjbG9zZWQuAF0BVGhlIHN0YXRlcyBhZnRlciB0aGlzIGNhbGw6IGJyaWRnZSBpcyBgT3BlbmVkYCwgb3V0Ym91bmQgbGFuZSBpcyBgT3BlbmVkYCwgaW5ib3VuZCBsYW5lMGlzIGBPcGVuZWRgLjBjbG9zZV9icmlkZ2UIAZRicmlkZ2VfZGVzdGluYXRpb25fdW5pdmVyc2FsX2xvY2F0aW9usQMBeEJveDxWZXJzaW9uZWRJbnRlcmlvckxvY2F0aW9uPgABSG1heV9wcnVuZV9tZXNzYWdlcygBME1lc3NhZ2VOb25jZQABRGBUcnkgdG8gY2xvc2UgdGhlIGJyaWRnZS4AOQFDYW4gb25seSBiZSBjYWxsZWQgYnkgdGhlICJvd25lciIgb2YgdGhpcyBzaWRlIG9mIHRoZSBicmlkZ2UsIG1lYW5pbmcgdGhhdCB0aGXsaW5ib3VuZCBYQ00gY2hhbm5lbCB3aXRoIHRoZSBsb2NhbCBvcmlnaW4gY2hhaW4gaXMgd29ya2luZy4ATQFDbG9zZWQgYnJpZGdlIGlzIGEgYnJpZGdlIHdpdGhvdXQgYW55IHRyYWNlcyBpbiB0aGUgcnVudGltZSBzdG9yYWdlLiBTbyB0aGlzIG1ldGhvZEEBZmlyc3QgdHJpZXMgdG8gcHJ1bmUgYWxsIHF1ZXVlZCBtZXNzYWdlcyBhdCB0aGUgb3V0Ym91bmQgbGFuZS4gV2hlbiB0aGVyZSBhcmUgbm9BAW91dGJvdW5kIG1lc3NhZ2VzIGxlZnQsIG91dGJvdW5kIGFuZCBpbmJvdW5kIGxhbmVzIGFyZSBwdXJnZWQuIEFmdGVyIHRoYXQsIGZ1bmRz6GFyZSByZXR1cm5lZCBiYWNrIHRvIHRoZSBvd25lciBvZiB0aGlzIHNpZGUgb2YgdGhlIGJyaWRnZS4ALQFUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHRoYXQgd2UgbWF5IHBydW5lIGluIGEgc2luZ2xlIGNhbGwgaXMgbGltaXRlZCBieSB0aGVJAWBtYXlfcHJ1bmVfbWVzc2FnZXNgIGFyZ3VtZW50LiBJZiB0aGVyZSBhcmUgbW9yZSBtZXNzYWdlcyBpbiB0aGUgcXVldWUsIHRoZSBtZXRob2RFAXBydW5lcyBleGFjdGx5IGBtYXlfcHJ1bmVfbWVzc2FnZXNgIGFuZCBleGl0cyBlYXJseS4gVGhlIGNhbGxlciBtYXkgY2FsbCBpdCBhZ2FpbuB1bnRpbCBvdXRib3VuZCBxdWV1ZSBpcyBkZXBsZXRlZCBhbmQgZ2V0IGhpcyBmdW5kcyBiYWNrLgA1AVRoZSBzdGF0ZXMgYWZ0ZXIgdGhpcyBjYWxsOiBldmVyeXRoaW5nIGlzIGVpdGhlciBgQ2xvc2VkYCwgb3IgcHVyZ2VkIGZyb20gdGhlQHJ1bnRpbWUgc3RvcmFnZS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMusQMIDHhjbWRWZXJzaW9uZWRJbnRlcmlvckxvY2F0aW9uAAEMCFYzBAD0AWR2Mzo6SW50ZXJpb3JNdWx0aUxvY2F0aW9uAAMACFY0BAARAQFQdjQ6OkludGVyaW9yTG9jYXRpb24ABAAIVjUEAEUBAVB2NTo6SW50ZXJpb3JMb2NhdGlvbgAFAAC1Awx8c25vd2JyaWRnZV9wYWxsZXRfaW5ib3VuZF9xdWV1ZRhwYWxsZXQQQ2FsbAQEVAABCBhzdWJtaXQEARRldmVudLkDAShFdmVudFByb29mAAAELQFTdWJtaXQgYW4gaW5ib3VuZCBtZXNzYWdlIG9yaWdpbmF0aW5nIGZyb20gdGhlIEdhdGV3YXkgY29udHJhY3Qgb24gRXRoZXJldW1Ic2V0X29wZXJhdGluZ19tb2RlBAEQbW9kZfEDAUhCYXNpY09wZXJhdGluZ01vZGUAAQQFAUhhbHQgb3IgcmVzdW1lIGFsbCBwYWxsZXQgb3BlcmF0aW9ucy4gTWF5IG9ubHkgYmUgY2FsbGVkIGJ5IHJvb3QuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLrkDCIhzbm93YnJpZGdlX3ZlcmlmaWNhdGlvbl9wcmltaXRpdmVzKEV2ZW50UHJvb2YAAAgBJGV2ZW50X2xvZ70DAQxMb2cAARRwcm9vZskDARRQcm9vZgAAvQMIiHNub3dicmlkZ2VfdmVyaWZpY2F0aW9uX3ByaW1pdGl2ZXMMTG9nAAAQARxhZGRyZXNzwQMBEEgxNjAAARh0b3BpY3PFAwEkVmVjPEgyNTY+AAEQZGF0YRgBHFZlYzx1OD4AASB0eF9pbmRleCgBDHU2NAAAwQMIPHByaW1pdGl2ZV90eXBlcxBIMTYwAAAEABwBIFt1ODsgMjBdAADFAwAAAjwAyQMIiHNub3dicmlkZ2VfdmVyaWZpY2F0aW9uX3ByaW1pdGl2ZXMUUHJvb2YAAAgBNHJlY2VpcHRfcHJvb2Y0ATBWZWM8VmVjPHU4Pj4AATxleGVjdXRpb25fcHJvb2bNAwE4RXhlY3V0aW9uUHJvb2YAAM0DDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzOEV4ZWN1dGlvblByb29mAAAQARhoZWFkZXLRAwEwQmVhY29uSGVhZGVyAAE4YW5jZXN0cnlfcHJvb2bVAwFUT3B0aW9uPEFuY2VzdHJ5UHJvb2Y+AAFAZXhlY3V0aW9uX2hlYWRlct0DAXxWZXJzaW9uZWRFeGVjdXRpb25QYXlsb2FkSGVhZGVyAAFAZXhlY3V0aW9uX2JyYW5jaMUDASRWZWM8SDI1Nj4AANEDDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzMEJlYWNvbkhlYWRlcgAAFAEQc2xvdCgBDHU2NAABOHByb3Bvc2VyX2luZGV4KAE4VmFsaWRhdG9ySW5kZXgAASxwYXJlbnRfcm9vdDwBEEgyNTYAAShzdGF0ZV9yb290PAEQSDI1NgABJGJvZHlfcm9vdDwBEEgyNTYAANUDBBhPcHRpb24EBFQB2QMBCBBOb25lAAAAEFNvbWUEANkDAAABAADZAwxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlczRBbmNlc3RyeVByb29mAAAIATRoZWFkZXJfYnJhbmNoxQMBJFZlYzxIMjU2PgABUGZpbmFsaXplZF9ibG9ja19yb290PAEQSDI1NgAA3QMMcHNub3dicmlkZ2VfYmVhY29uX3ByaW1pdGl2ZXMUdHlwZXN8VmVyc2lvbmVkRXhlY3V0aW9uUGF5bG9hZEhlYWRlcgABCBxDYXBlbGxhBADhAwFYRXhlY3V0aW9uUGF5bG9hZEhlYWRlcgAAABREZW5lYgQA7QMBdGRlbmViOjpFeGVjdXRpb25QYXlsb2FkSGVhZGVyAAEAAOEDDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzWEV4ZWN1dGlvblBheWxvYWRIZWFkZXIAADwBLHBhcmVudF9oYXNoPAEQSDI1NgABNGZlZV9yZWNpcGllbnTBAwEQSDE2MAABKHN0YXRlX3Jvb3Q8ARBIMjU2AAE0cmVjZWlwdHNfcm9vdDwBEEgyNTYAAShsb2dzX2Jsb29tGAEcVmVjPHU4PgABLHByZXZfcmFuZGFvPAEQSDI1NgABMGJsb2NrX251bWJlcigBDHU2NAABJGdhc19saW1pdCgBDHU2NAABIGdhc191c2VkKAEMdTY0AAEkdGltZXN0YW1wKAEMdTY0AAEoZXh0cmFfZGF0YRgBHFZlYzx1OD4AAUBiYXNlX2ZlZV9wZXJfZ2Fz5QMBEFUyNTYAAShibG9ja19oYXNoPAEQSDI1NgABRHRyYW5zYWN0aW9uc19yb290PAEQSDI1NgABQHdpdGhkcmF3YWxzX3Jvb3Q8ARBIMjU2AADlAwg8cHJpbWl0aXZlX3R5cGVzEFUyNTYAAAQA6QMBIFt1NjQ7IDRdAADpAwAAAwQAAAAoAO0DEHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzFGRlbmViWEV4ZWN1dGlvblBheWxvYWRIZWFkZXIAAEQBLHBhcmVudF9oYXNoPAEQSDI1NgABNGZlZV9yZWNpcGllbnTBAwEQSDE2MAABKHN0YXRlX3Jvb3Q8ARBIMjU2AAE0cmVjZWlwdHNfcm9vdDwBEEgyNTYAAShsb2dzX2Jsb29tGAEcVmVjPHU4PgABLHByZXZfcmFuZGFvPAEQSDI1NgABMGJsb2NrX251bWJlcigBDHU2NAABJGdhc19saW1pdCgBDHU2NAABIGdhc191c2VkKAEMdTY0AAEkdGltZXN0YW1wKAEMdTY0AAEoZXh0cmFfZGF0YRgBHFZlYzx1OD4AAUBiYXNlX2ZlZV9wZXJfZ2Fz5QMBEFUyNTYAAShibG9ja19oYXNoPAEQSDI1NgABRHRyYW5zYWN0aW9uc19yb290PAEQSDI1NgABQHdpdGhkcmF3YWxzX3Jvb3Q8ARBIMjU2AAE0YmxvYl9nYXNfdXNlZCgBDHU2NAABPGV4Y2Vzc19ibG9iX2dhcygBDHU2NAAA8QMMPHNub3dicmlkZ2VfY29yZThvcGVyYXRpbmdfbW9kZUhCYXNpY09wZXJhdGluZ01vZGUAAQgYTm9ybWFsAAAAGEhhbHRlZAABAAD1AwyAc25vd2JyaWRnZV9wYWxsZXRfb3V0Ym91bmRfcXVldWUYcGFsbGV0EENhbGwEBFQAAQRIc2V0X29wZXJhdGluZ19tb2RlBAEQbW9kZfEDAUhCYXNpY09wZXJhdGluZ01vZGUAAAQFAUhhbHQgb3IgcmVzdW1lIGFsbCBwYWxsZXQgb3BlcmF0aW9ucy4gTWF5IG9ubHkgYmUgY2FsbGVkIGJ5IHJvb3QuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLvkDDIRzbm93YnJpZGdlX3BhbGxldF9ldGhlcmV1bV9jbGllbnQYcGFsbGV0EENhbGwEBFQAAQxAZm9yY2VfY2hlY2twb2ludAQBGHVwZGF0Zf0DAVRCb3g8Q2hlY2twb2ludFVwZGF0ZT4AAAhBAVVzZWQgZm9yIHBhbGxldCBpbml0aWFsaXphdGlvbiBhbmQgbGlnaHQgY2xpZW50IHJlc2V0dGluZy4gTmVlZHMgdG8gYmUgY2FsbGVkIGJ5QHRoZSByb290IG9yaWdpbi4Yc3VibWl0BAEYdXBkYXRlEQQBLEJveDxVcGRhdGU+AAEINQFTdWJtaXRzIGEgbmV3IGZpbmFsaXplZCBiZWFjb24gaGVhZGVyIHVwZGF0ZS4gVGhlIHVwZGF0ZSBtYXkgY29udGFpbiB0aGUgbmV4dDxzeW5jIGNvbW1pdHRlZS5Ic2V0X29wZXJhdGluZ19tb2RlBAEQbW9kZfEDAUhCYXNpY09wZXJhdGluZ01vZGUAAwQFAUhhbHQgb3IgcmVzdW1lIGFsbCBwYWxsZXQgb3BlcmF0aW9ucy4gTWF5IG9ubHkgYmUgY2FsbGVkIGJ5IHJvb3QuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLv0DDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzHHVwZGF0ZXNAQ2hlY2twb2ludFVwZGF0ZQAAGAEYaGVhZGVy0QMBMEJlYWNvbkhlYWRlcgABWGN1cnJlbnRfc3luY19jb21taXR0ZWUBBAF0U3luY0NvbW1pdHRlZTxDT01NSVRURUVfU0laRT4AAXRjdXJyZW50X3N5bmNfY29tbWl0dGVlX2JyYW5jaMUDASRWZWM8SDI1Nj4AATx2YWxpZGF0b3JzX3Jvb3Q8ARBIMjU2AAFAYmxvY2tfcm9vdHNfcm9vdDwBEEgyNTYAAUhibG9ja19yb290c19icmFuY2jFAwEkVmVjPEgyNTY+AAABBAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlczRTeW5jQ29tbWl0dGVlAAAIARxwdWJrZXlzBQQBbFtQdWJsaWNLZXk7IENPTU1JVFRFRV9TSVpFXQABQGFnZ3JlZ2F0ZV9wdWJrZXkJBAEkUHVibGljS2V5AAAFBAAAAwACAAAJBAAJBAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlcyRQdWJsaWNLZXkAAAQADQQBRFt1ODsgUFVCS0VZX1NJWkVdAAANBAAAAzAAAAAMABEEDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzHHVwZGF0ZXMYVXBkYXRlAAAgATxhdHRlc3RlZF9oZWFkZXLRAwEwQmVhY29uSGVhZGVyAAE4c3luY19hZ2dyZWdhdGUVBAHIU3luY0FnZ3JlZ2F0ZTxDT01NSVRURUVfU0laRSwgQ09NTUlUVEVFX0JJVFNfU0laRT4AAThzaWduYXR1cmVfc2xvdCgBDHU2NAABaG5leHRfc3luY19jb21taXR0ZWVfdXBkYXRlIQQBvE9wdGlvbjxOZXh0U3luY0NvbW1pdHRlZVVwZGF0ZTxDT01NSVRURUVfU0laRT4+AAFAZmluYWxpemVkX2hlYWRlctEDATBCZWFjb25IZWFkZXIAATxmaW5hbGl0eV9icmFuY2jFAwEkVmVjPEgyNTY+AAFAYmxvY2tfcm9vdHNfcm9vdDwBEEgyNTYAAUhibG9ja19yb290c19icmFuY2jFAwEkVmVjPEgyNTY+AAAVBAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlczRTeW5jQWdncmVnYXRlAAAIAUxzeW5jX2NvbW1pdHRlZV9iaXRzWQMBZFt1ODsgQ09NTUlUVEVFX0JJVFNfU0laRV0AAWBzeW5jX2NvbW1pdHRlZV9zaWduYXR1cmUZBAEkU2lnbmF0dXJlAAAZBAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlcyRTaWduYXR1cmUAAAQAHQQBUFt1ODsgU0lHTkFUVVJFX1NJWkVdAAAdBAAAA2AAAAAMACEEBBhPcHRpb24EBFQBJQQBCBBOb25lAAAAEFNvbWUEACUEAAABAAAlBAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxx1cGRhdGVzXE5leHRTeW5jQ29tbWl0dGVlVXBkYXRlAAAIAUxuZXh0X3N5bmNfY29tbWl0dGVlAQQBdFN5bmNDb21taXR0ZWU8Q09NTUlUVEVFX1NJWkU+AAFobmV4dF9zeW5jX2NvbW1pdHRlZV9icmFuY2jFAwEkVmVjPEgyNTY+AAApBAxgc25vd2JyaWRnZV9wYWxsZXRfc3lzdGVtGHBhbGxldBBDYWxsBARUAAEUHHVwZ3JhZGUMATBpbXBsX2FkZHJlc3PBAwEQSDE2MAABOGltcGxfY29kZV9oYXNoPAEQSDI1NgABLGluaXRpYWxpemVyLQQBTE9wdGlvbjxJbml0aWFsaXplcj4AACRFAVNlbmRzIGNvbW1hbmQgdG8gdGhlIEdhdGV3YXkgY29udHJhY3QgdG8gdXBncmFkZSBpdHNlbGYgd2l0aCBhIG5ldyBpbXBsZW1lbnRhdGlvbiBjb250cmFjdABARmVlIHJlcXVpcmVkOiBObwBsLSBgb3JpZ2luYDogTXVzdCBiZSBgUm9vdGAu9C0gYGltcGxfYWRkcmVzc2A6IFRoZSBhZGRyZXNzIG9mIHRoZSBpbXBsZW1lbnRhdGlvbiBjb250cmFjdC4BAS0gYGltcGxfY29kZV9oYXNoYDogVGhlIGNvZGVoYXNoIG9mIHRoZSBpbXBsZW1lbnRhdGlvbiBjb250cmFjdC49AS0gYGluaXRpYWxpemVyYDogT3B0aW9uYWxseSBjYWxsIGFuIGluaXRpYWxpemVyIG9uIHRoZSBpbXBsZW1lbnRhdGlvbiBjb250cmFjdC5Ic2V0X29wZXJhdGluZ19tb2RlBAEQbW9kZTUEATRPcGVyYXRpbmdNb2RlAAEUEQFTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIEdhdGV3YXkgY29udHJhY3QgdG8gY2hhbmdlIGl0cyBvcGVyYXRpbmcgbW9kZQBARmVlIHJlcXVpcmVkOiBObwB4LSBgb3JpZ2luYDogTXVzdCBiZSBgTG9jYXRpb25gWHNldF9wcmljaW5nX3BhcmFtZXRlcnMEARhwYXJhbXM5BAFYUHJpY2luZ1BhcmFtZXRlcnNPZjxUPgACFMhTZXQgcHJpY2luZyBwYXJhbWV0ZXJzIG9uIGJvdGggc2lkZXMgb2YgdGhlIGJyaWRnZQBARmVlIHJlcXVpcmVkOiBObwBgLSBgb3JpZ2luYDogTXVzdCBiZSByb290XHNldF90b2tlbl90cmFuc2Zlcl9mZWVzDAFAY3JlYXRlX2Fzc2V0X3hjbcQBEHUxMjgAAUh0cmFuc2Zlcl9hc3NldF94Y23EARB1MTI4AAE4cmVnaXN0ZXJfdG9rZW7lAwEQVTI1NgAJNDEBU2VuZHMgYSBtZXNzYWdlIHRvIHRoZSBHYXRld2F5IGNvbnRyYWN0IHRvIHVwZGF0ZSBmZWUgcmVsYXRlZCBwYXJhbWV0ZXJzIGZvckB0b2tlbiB0cmFuc2ZlcnMuAJxQcml2aWxlZ2VkLiBDYW4gb25seSBiZSBjYWxsZWQgYnkgcm9vdC4AQEZlZSByZXF1aXJlZDogTm8AYC0gYG9yaWdpbmA6IE11c3QgYmUgcm9vdGEBLSBgY3JlYXRlX2Fzc2V0X3hjbWA6IFRoZSBYQ00gZXhlY3V0aW9uIGNvc3QgZm9yIGNyZWF0aW5nIGEgbmV3IGFzc2V0IGNsYXNzIG9uIEFzc2V0SHViLCAgIGluIERPVE0BLSBgdHJhbnNmZXJfYXNzZXRfeGNtYDogVGhlIFhDTSBleGVjdXRpb24gY29zdCBmb3IgcGVyZm9ybWluZyBhIHJlc2VydmUgdHJhbnNmZXIgb25IICBBc3NldEh1YiwgaW4gRE9UVQEtIGByZWdpc3Rlcl90b2tlbmA6IFRoZSBFdGhlciBmZWUgZm9yIHJlZ2lzdGVyaW5nIGEgbmV3IHRva2VuLCB0byBkaXNjb3VyYWdlIHNwYW1taW5nOHJlZ2lzdGVyX3Rva2VuCAEgbG9jYXRpb27sAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEgbWV0YWRhdGFFBAE0QXNzZXRNZXRhZGF0YQAKIB0BUmVnaXN0ZXJzIGEgUG9sa2Fkb3QtbmF0aXZlIHRva2VuIGFzIGEgd3JhcHBlZCBFUkMyMCB0b2tlbiBvbiBFdGhlcmV1bS6cUHJpdmlsZWdlZC4gQ2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHJvb3QuAEBGZWUgcmVxdWlyZWQ6IE5vAGAtIGBvcmlnaW5gOiBNdXN0IGJlIHJvb3TwLSBgbG9jYXRpb25gOiBMb2NhdGlvbiBvZiB0aGUgYXNzZXQgKHJlbGF0aXZlIHRvIHRoaXMgY2hhaW4pQQEtIGBtZXRhZGF0YWA6IE1ldGFkYXRhIHRvIGluY2x1ZGUgaW4gdGhlIGluc3RhbnRpYXRlZCBFUkMyMCBjb250cmFjdCBvbiBFdGhlcmV1bQQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4tBAQYT3B0aW9uBARUATEEAQgQTm9uZQAAABBTb21lBAAxBAAAAQAAMQQQkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcwh2MRxtZXNzYWdlLEluaXRpYWxpemVyAAAIARhwYXJhbXMYARxWZWM8dTg+AAFQbWF4aW11bV9yZXF1aXJlZF9nYXMoAQx1NjQAADUECJBzbm93YnJpZGdlX291dGJvdW5kX3F1ZXVlX3ByaW1pdGl2ZXM0T3BlcmF0aW5nTW9kZQABCBhOb3JtYWwAAABkUmVqZWN0aW5nT3V0Ym91bmRNZXNzYWdlcwABAAA5BAw8c25vd2JyaWRnZV9jb3JlHHByaWNpbmdEUHJpY2luZ1BhcmFtZXRlcnMEHEJhbGFuY2UBxAAQATRleGNoYW5nZV9yYXRlPQQBJEZpeGVkVTEyOAABHHJld2FyZHNBBAFAUmV3YXJkczxCYWxhbmNlPgABLGZlZV9wZXJfZ2Fz5QMBEFUyNTYAAShtdWx0aXBsaWVyPQQBJEZpeGVkVTEyOAAAPQQMNHNwX2FyaXRobWV0aWMsZml4ZWRfcG9pbnQkRml4ZWRVMTI4AAAEAMQBEHUxMjgAAEEEDDxzbm93YnJpZGdlX2NvcmUccHJpY2luZxxSZXdhcmRzBBxCYWxhbmNlAcQACAEUbG9jYWzEARxCYWxhbmNlAAEYcmVtb3Rl5QMBEFUyNTYAAEUECDxzbm93YnJpZGdlX2NvcmU0QXNzZXRNZXRhZGF0YQAADAEQbmFtZUkEAcBCb3VuZGVkVmVjPHU4LCBDb25zdFUzMjxNRVRBREFUQV9GSUVMRF9NQVhfTEVOPj4AARhzeW1ib2xJBAHAQm91bmRlZFZlYzx1OCwgQ29uc3RVMzI8TUVUQURBVEFfRklFTERfTUFYX0xFTj4+AAEgZGVjaW1hbHMMAQh1OAAASQQMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AABNBAxsc25vd2JyaWRnZV9wYWxsZXRfc3lzdGVtX3YyGHBhbGxldBBDYWxsBARUAAEQHHVwZ3JhZGUMATBpbXBsX2FkZHJlc3PBAwEQSDE2MAABOGltcGxfY29kZV9oYXNoPAEQSDI1NgABLGluaXRpYWxpemVyUQQBLEluaXRpYWxpemVyAAAkRQFTZW5kcyBjb21tYW5kIHRvIHRoZSBHYXRld2F5IGNvbnRyYWN0IHRvIHVwZ3JhZGUgaXRzZWxmIHdpdGggYSBuZXcgaW1wbGVtZW50YXRpb24gY29udHJhY3QAQEZlZSByZXF1aXJlZDogTm8AbC0gYG9yaWdpbmA6IE11c3QgYmUgYFJvb3RgLvQtIGBpbXBsX2FkZHJlc3NgOiBUaGUgYWRkcmVzcyBvZiB0aGUgaW1wbGVtZW50YXRpb24gY29udHJhY3QuAQEtIGBpbXBsX2NvZGVfaGFzaGA6IFRoZSBjb2RlaGFzaCBvZiB0aGUgaW1wbGVtZW50YXRpb24gY29udHJhY3QuPQEtIGBpbml0aWFsaXplcmA6IE9wdGlvbmFsbHkgY2FsbCBhbiBpbml0aWFsaXplciBvbiB0aGUgaW1wbGVtZW50YXRpb24gY29udHJhY3QuSHNldF9vcGVyYXRpbmdfbW9kZQQBEG1vZGU1BAE0T3BlcmF0aW5nTW9kZQABFBEBU2VuZHMgYSBtZXNzYWdlIHRvIHRoZSBHYXRld2F5IGNvbnRyYWN0IHRvIGNoYW5nZSBpdHMgb3BlcmF0aW5nIG1vZGUAQEZlZSByZXF1aXJlZDogTm8AmC0gYG9yaWdpbmA6IE11c3QgYmUgYEdvdmVybmFuY2VPcmlnaW5gOHJlZ2lzdGVyX3Rva2VuEAEYc2VuZGVy7AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABIGFzc2V0X2lk7AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABIG1ldGFkYXRhRQQBNEFzc2V0TWV0YWRhdGEAARhhbW91bnTEARB1MTI4AAIcHQFSZWdpc3RlcnMgYSBQb2xrYWRvdC1uYXRpdmUgdG9rZW4gYXMgYSB3cmFwcGVkIEVSQzIwIHRva2VuIG9uIEV0aGVyZXVtLgDkVGhlIHN5c3RlbSBmcm9udGVuZCBwYWxsZXQgb24gQUggcHJveGllcyB0aGlzIGNhbGwgdG8gQkguAOQtIGBzZW5kZXJgOiBUaGUgb3JpZ2luYWwgc2VuZGVyIGluaXRpYXRpbmcgdGhlIGNhbGwgb24gQUjwLSBgYXNzZXRfaWRgOiBMb2NhdGlvbiBvZiB0aGUgYXNzZXQgKHJlbGF0aXZlIHRvIHRoaXMgY2hhaW4pQQEtIGBtZXRhZGF0YWA6IE1ldGFkYXRhIHRvIGluY2x1ZGUgaW4gdGhlIGluc3RhbnRpYXRlZCBFUkMyMCBjb250cmFjdCBvbiBFdGhlcmV1bRxhZGRfdGlwDAEYc2VuZGVyBAE4QWNjb3VudElkT2Y8VD4AAShtZXNzYWdlX2lkVQQBJE1lc3NhZ2VJZAABGGFtb3VudMQBEHUxMjgAAwAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuUQQQkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcwh2MhxtZXNzYWdlLEluaXRpYWxpemVyAAAIARhwYXJhbXMYARxWZWM8dTg+AAFQbWF4aW11bV9yZXF1aXJlZF9nYXMoAQx1NjQAAFUEDDxzbm93YnJpZGdlX2NvcmUYcmV3YXJkJE1lc3NhZ2VJZAABCBxJbmJvdW5kBAAoAQx1NjQAAAAgT3V0Ym91bmQEACgBDHU2NAABAABZBAyIc25vd2JyaWRnZV9wYWxsZXRfaW5ib3VuZF9xdWV1ZV92MhhwYWxsZXQQQ2FsbAQEVAABCBhzdWJtaXQEARRldmVudLkDATxCb3g8RXZlbnRQcm9vZj4AAAQtAVN1Ym1pdCBhbiBpbmJvdW5kIG1lc3NhZ2Ugb3JpZ2luYXRpbmcgZnJvbSB0aGUgR2F0ZXdheSBjb250cmFjdCBvbiBFdGhlcmV1bUhzZXRfb3BlcmF0aW5nX21vZGUEARBtb2Rl8QMBSEJhc2ljT3BlcmF0aW5nTW9kZQABBAUBSGFsdCBvciByZXN1bWUgYWxsIHBhbGxldCBvcGVyYXRpb25zLiBNYXkgb25seSBiZSBjYWxsZWQgYnkgcm9vdC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuXQQMjHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlX3YyGHBhbGxldBBDYWxsBARUAAEEXHN1Ym1pdF9kZWxpdmVyeV9yZWNlaXB0BAEUZXZlbnS5AwE8Qm94PEV2ZW50UHJvb2Y+AAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLmEEDFBwYWxsZXRfbWVzc2FnZV9xdWV1ZRhwYWxsZXQQQ2FsbAQEVAABCCRyZWFwX3BhZ2UIAThtZXNzYWdlX29yaWdpbmUEAUhNZXNzYWdlT3JpZ2luT2Y8VD4AAShwYWdlX2luZGV4OAEkUGFnZUluZGV4AAAEPQFSZW1vdmUgYSBwYWdlIHdoaWNoIGhhcyBubyBtb3JlIG1lc3NhZ2VzIHJlbWFpbmluZyB0byBiZSBwcm9jZXNzZWQgb3IgaXMgc3RhbGUuSGV4ZWN1dGVfb3ZlcndlaWdodBABOG1lc3NhZ2Vfb3JpZ2luZQQBSE1lc3NhZ2VPcmlnaW5PZjxUPgABEHBhZ2U4ASRQYWdlSW5kZXgAARRpbmRleDgBHFQ6OlNpemUAATB3ZWlnaHRfbGltaXS1AQEYV2VpZ2h0AAE0eEV4ZWN1dGUgYW4gb3ZlcndlaWdodCBtZXNzYWdlLgBNAVRlbXBvcmFyeSBwcm9jZXNzaW5nIGVycm9ycyB3aWxsIGJlIHByb3BhZ2F0ZWQgd2hlcmVhcyBwZXJtYW5lbnQgZXJyb3JzIGFyZSB0cmVhdGVkVGFzIHN1Y2Nlc3MgY29uZGl0aW9uLgB0LSBgb3JpZ2luYDogTXVzdCBiZSBgU2lnbmVkYC41AS0gYG1lc3NhZ2Vfb3JpZ2luYDogVGhlIG9yaWdpbiBmcm9tIHdoaWNoIHRoZSBtZXNzYWdlIHRvIGJlIGV4ZWN1dGVkIGFycml2ZWQuPQEtIGBwYWdlYDogVGhlIHBhZ2UgaW4gdGhlIHF1ZXVlIGluIHdoaWNoIHRoZSBtZXNzYWdlIHRvIGJlIGV4ZWN1dGVkIGlzIHNpdHRpbmcuCQEtIGBpbmRleGA6IFRoZSBpbmRleCBpbnRvIHRoZSBxdWV1ZSBvZiB0aGUgbWVzc2FnZSB0byBiZSBleGVjdXRlZC5ZAS0gYHdlaWdodF9saW1pdGA6IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB3ZWlnaHQgYWxsb3dlZCB0byBiZSBjb25zdW1lZCBpbiB0aGUgZXhlY3V0aW9uRCAgb2YgdGhlIG1lc3NhZ2UuAPRCZW5jaG1hcmsgY29tcGxleGl0eSBjb25zaWRlcmF0aW9uczogTyhpbmRleCArIHdlaWdodF9saW1pdCkuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLmUEDERicmlkZ2VfaHViX2NvbW1vbjRtZXNzYWdlX3F1ZXVlWEFnZ3JlZ2F0ZU1lc3NhZ2VPcmlnaW4AARQQSGVyZQAAABhQYXJlbnQAAQAcU2libGluZwQAnAEYUGFyYUlkAAIAKFNub3dicmlkZ2UEAGkEASRDaGFubmVsSWQAAwAwU25vd2JyaWRnZVYyBAA8ARBIMjU2AAQAAGkECDxzbm93YnJpZGdlX2NvcmUkQ2hhbm5lbElkAAAEAAgBIFt1ODsgMzJdAABtBAgoc3BfcnVudGltZThNdWx0aVNpZ25hdHVyZQABEBxFZDI1NTE5BABZAwFIZWQyNTUxOTo6U2lnbmF0dXJlAAAAHFNyMjU1MTkEAFkDAUhzcjI1NTE5OjpTaWduYXR1cmUAAQAURWNkc2EEAHEEAUBlY2RzYTo6U2lnbmF0dXJlAAIADEV0aAQAcQQBWGVjZHNhOjpLZWNjYWtTaWduYXR1cmUAAwAAcQQAAANBAAAADAB1BBAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnM4YXV0aG9yaXplX2NhbGw0QXV0aG9yaXplQ2FsbAQEVAAAAAB5BBAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnNUY2hlY2tfbm9uX3plcm9fc2VuZGVySENoZWNrTm9uWmVyb1NlbmRlcgQEVAAAAAB9BBAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnNIY2hlY2tfc3BlY192ZXJzaW9uQENoZWNrU3BlY1ZlcnNpb24EBFQAAAAAgQQQMGZyYW1lX3N5c3RlbShleHRlbnNpb25zQGNoZWNrX3R4X3ZlcnNpb244Q2hlY2tUeFZlcnNpb24EBFQAAAAAhQQQMGZyYW1lX3N5c3RlbShleHRlbnNpb25zNGNoZWNrX2dlbmVzaXMwQ2hlY2tHZW5lc2lzBARUAAAAAIkEEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uczxjaGVja19tb3J0YWxpdHk4Q2hlY2tNb3J0YWxpdHkEBFQAAAQAjQQBDEVyYQAAjQQQKHNwX3J1bnRpbWUcZ2VuZXJpYwxlcmEMRXJhAAEBBCBJbW1vcnRhbAAAABxNb3J0YWwxBAAMAAABABxNb3J0YWwyBAAMAAACABxNb3J0YWwzBAAMAAADABxNb3J0YWw0BAAMAAAEABxNb3J0YWw1BAAMAAAFABxNb3J0YWw2BAAMAAAGABxNb3J0YWw3BAAMAAAHABxNb3J0YWw4BAAMAAAIABxNb3J0YWw5BAAMAAAJACBNb3J0YWwxMAQADAAACgAgTW9ydGFsMTEEAAwAAAsAIE1vcnRhbDEyBAAMAAAMACBNb3J0YWwxMwQADAAADQAgTW9ydGFsMTQEAAwAAA4AIE1vcnRhbDE1BAAMAAAPACBNb3J0YWwxNgQADAAAEAAgTW9ydGFsMTcEAAwAABEAIE1vcnRhbDE4BAAMAAASACBNb3J0YWwxOQQADAAAEwAgTW9ydGFsMjAEAAwAABQAIE1vcnRhbDIxBAAMAAAVACBNb3J0YWwyMgQADAAAFgAgTW9ydGFsMjMEAAwAABcAIE1vcnRhbDI0BAAMAAAYACBNb3J0YWwyNQQADAAAGQAgTW9ydGFsMjYEAAwAABoAIE1vcnRhbDI3BAAMAAAbACBNb3J0YWwyOAQADAAAHAAgTW9ydGFsMjkEAAwAAB0AIE1vcnRhbDMwBAAMAAAeACBNb3J0YWwzMQQADAAAHwAgTW9ydGFsMzIEAAwAACAAIE1vcnRhbDMzBAAMAAAhACBNb3J0YWwzNAQADAAAIgAgTW9ydGFsMzUEAAwAACMAIE1vcnRhbDM2BAAMAAAkACBNb3J0YWwzNwQADAAAJQAgTW9ydGFsMzgEAAwAACYAIE1vcnRhbDM5BAAMAAAnACBNb3J0YWw0MAQADAAAKAAgTW9ydGFsNDEEAAwAACkAIE1vcnRhbDQyBAAMAAAqACBNb3J0YWw0MwQADAAAKwAgTW9ydGFsNDQEAAwAACwAIE1vcnRhbDQ1BAAMAAAtACBNb3J0YWw0NgQADAAALgAgTW9ydGFsNDcEAAwAAC8AIE1vcnRhbDQ4BAAMAAAwACBNb3J0YWw0OQQADAAAMQAgTW9ydGFsNTAEAAwAADIAIE1vcnRhbDUxBAAMAAAzACBNb3J0YWw1MgQADAAANAAgTW9ydGFsNTMEAAwAADUAIE1vcnRhbDU0BAAMAAA2ACBNb3J0YWw1NQQADAAANwAgTW9ydGFsNTYEAAwAADgAIE1vcnRhbDU3BAAMAAA5ACBNb3J0YWw1OAQADAAAOgAgTW9ydGFsNTkEAAwAADsAIE1vcnRhbDYwBAAMAAA8ACBNb3J0YWw2MQQADAAAPQAgTW9ydGFsNjIEAAwAAD4AIE1vcnRhbDYzBAAMAAA/ACBNb3J0YWw2NAQADAAAQAAgTW9ydGFsNjUEAAwAAEEAIE1vcnRhbDY2BAAMAABCACBNb3J0YWw2NwQADAAAQwAgTW9ydGFsNjgEAAwAAEQAIE1vcnRhbDY5BAAMAABFACBNb3J0YWw3MAQADAAARgAgTW9ydGFsNzEEAAwAAEcAIE1vcnRhbDcyBAAMAABIACBNb3J0YWw3MwQADAAASQAgTW9ydGFsNzQEAAwAAEoAIE1vcnRhbDc1BAAMAABLACBNb3J0YWw3NgQADAAATAAgTW9ydGFsNzcEAAwAAE0AIE1vcnRhbDc4BAAMAABOACBNb3J0YWw3OQQADAAATwAgTW9ydGFsODAEAAwAAFAAIE1vcnRhbDgxBAAMAABRACBNb3J0YWw4MgQADAAAUgAgTW9ydGFsODMEAAwAAFMAIE1vcnRhbDg0BAAMAABUACBNb3J0YWw4NQQADAAAVQAgTW9ydGFsODYEAAwAAFYAIE1vcnRhbDg3BAAMAABXACBNb3J0YWw4OAQADAAAWAAgTW9ydGFsODkEAAwAAFkAIE1vcnRhbDkwBAAMAABaACBNb3J0YWw5MQQADAAAWwAgTW9ydGFsOTIEAAwAAFwAIE1vcnRhbDkzBAAMAABdACBNb3J0YWw5NAQADAAAXgAgTW9ydGFsOTUEAAwAAF8AIE1vcnRhbDk2BAAMAABgACBNb3J0YWw5NwQADAAAYQAgTW9ydGFsOTgEAAwAAGIAIE1vcnRhbDk5BAAMAABjACRNb3J0YWwxMDAEAAwAAGQAJE1vcnRhbDEwMQQADAAAZQAkTW9ydGFsMTAyBAAMAABmACRNb3J0YWwxMDMEAAwAAGcAJE1vcnRhbDEwNAQADAAAaAAkTW9ydGFsMTA1BAAMAABpACRNb3J0YWwxMDYEAAwAAGoAJE1vcnRhbDEwNwQADAAAawAkTW9ydGFsMTA4BAAMAABsACRNb3J0YWwxMDkEAAwAAG0AJE1vcnRhbDExMAQADAAAbgAkTW9ydGFsMTExBAAMAABvACRNb3J0YWwxMTIEAAwAAHAAJE1vcnRhbDExMwQADAAAcQAkTW9ydGFsMTE0BAAMAAByACRNb3J0YWwxMTUEAAwAAHMAJE1vcnRhbDExNgQADAAAdAAkTW9ydGFsMTE3BAAMAAB1ACRNb3J0YWwxMTgEAAwAAHYAJE1vcnRhbDExOQQADAAAdwAkTW9ydGFsMTIwBAAMAAB4ACRNb3J0YWwxMjEEAAwAAHkAJE1vcnRhbDEyMgQADAAAegAkTW9ydGFsMTIzBAAMAAB7ACRNb3J0YWwxMjQEAAwAAHwAJE1vcnRhbDEyNQQADAAAfQAkTW9ydGFsMTI2BAAMAAB+ACRNb3J0YWwxMjcEAAwAAH8AJE1vcnRhbDEyOAQADAAAgAAkTW9ydGFsMTI5BAAMAACBACRNb3J0YWwxMzAEAAwAAIIAJE1vcnRhbDEzMQQADAAAgwAkTW9ydGFsMTMyBAAMAACEACRNb3J0YWwxMzMEAAwAAIUAJE1vcnRhbDEzNAQADAAAhgAkTW9ydGFsMTM1BAAMAACHACRNb3J0YWwxMzYEAAwAAIgAJE1vcnRhbDEzNwQADAAAiQAkTW9ydGFsMTM4BAAMAACKACRNb3J0YWwxMzkEAAwAAIsAJE1vcnRhbDE0MAQADAAAjAAkTW9ydGFsMTQxBAAMAACNACRNb3J0YWwxNDIEAAwAAI4AJE1vcnRhbDE0MwQADAAAjwAkTW9ydGFsMTQ0BAAMAACQACRNb3J0YWwxNDUEAAwAAJEAJE1vcnRhbDE0NgQADAAAkgAkTW9ydGFsMTQ3BAAMAACTACRNb3J0YWwxNDgEAAwAAJQAJE1vcnRhbDE0OQQADAAAlQAkTW9ydGFsMTUwBAAMAACWACRNb3J0YWwxNTEEAAwAAJcAJE1vcnRhbDE1MgQADAAAmAAkTW9ydGFsMTUzBAAMAACZACRNb3J0YWwxNTQEAAwAAJoAJE1vcnRhbDE1NQQADAAAmwAkTW9ydGFsMTU2BAAMAACcACRNb3J0YWwxNTcEAAwAAJ0AJE1vcnRhbDE1OAQADAAAngAkTW9ydGFsMTU5BAAMAACfACRNb3J0YWwxNjAEAAwAAKAAJE1vcnRhbDE2MQQADAAAoQAkTW9ydGFsMTYyBAAMAACiACRNb3J0YWwxNjMEAAwAAKMAJE1vcnRhbDE2NAQADAAApAAkTW9ydGFsMTY1BAAMAAClACRNb3J0YWwxNjYEAAwAAKYAJE1vcnRhbDE2NwQADAAApwAkTW9ydGFsMTY4BAAMAACoACRNb3J0YWwxNjkEAAwAAKkAJE1vcnRhbDE3MAQADAAAqgAkTW9ydGFsMTcxBAAMAACrACRNb3J0YWwxNzIEAAwAAKwAJE1vcnRhbDE3MwQADAAArQAkTW9ydGFsMTc0BAAMAACuACRNb3J0YWwxNzUEAAwAAK8AJE1vcnRhbDE3NgQADAAAsAAkTW9ydGFsMTc3BAAMAACxACRNb3J0YWwxNzgEAAwAALIAJE1vcnRhbDE3OQQADAAAswAkTW9ydGFsMTgwBAAMAAC0ACRNb3J0YWwxODEEAAwAALUAJE1vcnRhbDE4MgQADAAAtgAkTW9ydGFsMTgzBAAMAAC3ACRNb3J0YWwxODQEAAwAALgAJE1vcnRhbDE4NQQADAAAuQAkTW9ydGFsMTg2BAAMAAC6ACRNb3J0YWwxODcEAAwAALsAJE1vcnRhbDE4OAQADAAAvAAkTW9ydGFsMTg5BAAMAAC9ACRNb3J0YWwxOTAEAAwAAL4AJE1vcnRhbDE5MQQADAAAvwAkTW9ydGFsMTkyBAAMAADAACRNb3J0YWwxOTMEAAwAAMEAJE1vcnRhbDE5NAQADAAAwgAkTW9ydGFsMTk1BAAMAADDACRNb3J0YWwxOTYEAAwAAMQAJE1vcnRhbDE5NwQADAAAxQAkTW9ydGFsMTk4BAAMAADGACRNb3J0YWwxOTkEAAwAAMcAJE1vcnRhbDIwMAQADAAAyAAkTW9ydGFsMjAxBAAMAADJACRNb3J0YWwyMDIEAAwAAMoAJE1vcnRhbDIwMwQADAAAywAkTW9ydGFsMjA0BAAMAADMACRNb3J0YWwyMDUEAAwAAM0AJE1vcnRhbDIwNgQADAAAzgAkTW9ydGFsMjA3BAAMAADPACRNb3J0YWwyMDgEAAwAANAAJE1vcnRhbDIwOQQADAAA0QAkTW9ydGFsMjEwBAAMAADSACRNb3J0YWwyMTEEAAwAANMAJE1vcnRhbDIxMgQADAAA1AAkTW9ydGFsMjEzBAAMAADVACRNb3J0YWwyMTQEAAwAANYAJE1vcnRhbDIxNQQADAAA1wAkTW9ydGFsMjE2BAAMAADYACRNb3J0YWwyMTcEAAwAANkAJE1vcnRhbDIxOAQADAAA2gAkTW9ydGFsMjE5BAAMAADbACRNb3J0YWwyMjAEAAwAANwAJE1vcnRhbDIyMQQADAAA3QAkTW9ydGFsMjIyBAAMAADeACRNb3J0YWwyMjMEAAwAAN8AJE1vcnRhbDIyNAQADAAA4AAkTW9ydGFsMjI1BAAMAADhACRNb3J0YWwyMjYEAAwAAOIAJE1vcnRhbDIyNwQADAAA4wAkTW9ydGFsMjI4BAAMAADkACRNb3J0YWwyMjkEAAwAAOUAJE1vcnRhbDIzMAQADAAA5gAkTW9ydGFsMjMxBAAMAADnACRNb3J0YWwyMzIEAAwAAOgAJE1vcnRhbDIzMwQADAAA6QAkTW9ydGFsMjM0BAAMAADqACRNb3J0YWwyMzUEAAwAAOsAJE1vcnRhbDIzNgQADAAA7AAkTW9ydGFsMjM3BAAMAADtACRNb3J0YWwyMzgEAAwAAO4AJE1vcnRhbDIzOQQADAAA7wAkTW9ydGFsMjQwBAAMAADwACRNb3J0YWwyNDEEAAwAAPEAJE1vcnRhbDI0MgQADAAA8gAkTW9ydGFsMjQzBAAMAADzACRNb3J0YWwyNDQEAAwAAPQAJE1vcnRhbDI0NQQADAAA9QAkTW9ydGFsMjQ2BAAMAAD2ACRNb3J0YWwyNDcEAAwAAPcAJE1vcnRhbDI0OAQADAAA+AAkTW9ydGFsMjQ5BAAMAAD5ACRNb3J0YWwyNTAEAAwAAPoAJE1vcnRhbDI1MQQADAAA+wAkTW9ydGFsMjUyBAAMAAD8ACRNb3J0YWwyNTMEAAwAAP0AJE1vcnRhbDI1NAQADAAA/gAkTW9ydGFsMjU1BAAMAAD/AACRBBAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnMsY2hlY2tfbm9uY2UoQ2hlY2tOb25jZQQEVAAABABgASBUOjpOb25jZQAAlQQQMGZyYW1lX3N5c3RlbShleHRlbnNpb25zMGNoZWNrX3dlaWdodCxDaGVja1dlaWdodAQEVAAAAACZBAhocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnRgQ2hhcmdlVHJhbnNhY3Rpb25QYXltZW50BARUAAAEAMABMEJhbGFuY2VPZjxUPgAAnQQIbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZZhCcmlkZ2VSZWplY3RPYnNvbGV0ZUhlYWRlcnNBbmRNZXNzYWdlcwAAAAChBAxYcGFsbGV0X2JyaWRnZV9yZWxheWVycyRleHRlbnNpb26IQnJpZGdlUmVsYXllcnNUcmFuc2FjdGlvbkV4dGVuc2lvbggcUnVudGltZQAYQ29uZmlnAAAAAKUECHRmcmFtZV9tZXRhZGF0YV9oYXNoX2V4dGVuc2lvbkRDaGVja01ldGFkYXRhSGFzaAQEVAAABAEQbW9kZakEARBNb2RlAACpBAh0ZnJhbWVfbWV0YWRhdGFfaGFzaF9leHRlbnNpb24QTW9kZQABCCBEaXNhYmxlZAAAABxFbmFibGVkAAEAAK0EBBhPcHRpb24EBFQBCAEIEE5vbmUAAAAQU29tZQQACAAAAQAAsQQIMGZyYW1lX3N5c3RlbSxBY2NvdW50SW5mbwgUTm9uY2UBOCxBY2NvdW50RGF0YQG1BAAUARRub25jZTgBFE5vbmNlAAEkY29uc3VtZXJzOAEgUmVmQ291bnQAASRwcm92aWRlcnM4ASBSZWZDb3VudAABLHN1ZmZpY2llbnRzOAEgUmVmQ291bnQAARBkYXRhtQQBLEFjY291bnREYXRhAAC1BAw8cGFsbGV0X2JhbGFuY2VzFHR5cGVzLEFjY291bnREYXRhBBxCYWxhbmNlAcQAEAEQZnJlZcQBHEJhbGFuY2UAASByZXNlcnZlZMQBHEJhbGFuY2UAARhmcm96ZW7EARxCYWxhbmNlAAEUZmxhZ3O5BAEoRXh0cmFGbGFncwAAuQQMPHBhbGxldF9iYWxhbmNlcxR0eXBlcyhFeHRyYUZsYWdzAAAEAMQBEHUxMjgAAL0EDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoQFBlckRpc3BhdGNoQ2xhc3MEBFQBtQEADAEYbm9ybWFstQEBBFQAASxvcGVyYXRpb25hbLUBAQRUAAEkbWFuZGF0b3J5tQEBBFQAAMEEAAACxQQAxQQIMGZyYW1lX3N5c3RlbSxFdmVudFJlY29yZAgERQHJBARUATwADAEUcGhhc2XJBQEUUGhhc2UAARRldmVudMkEAQRFAAEYdG9waWNzxQMBGFZlYzxUPgAAyQQIbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZTBSdW50aW1lRXZlbnQAAWQYU3lzdGVtBADNBAFwZnJhbWVfc3lzdGVtOjpFdmVudDxSdW50aW1lPgAAADxQYXJhY2hhaW5TeXN0ZW0EAPUEAbxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtOjpFdmVudDxSdW50aW1lPgABACBCYWxhbmNlcwQA+QQBfHBhbGxldF9iYWxhbmNlczo6RXZlbnQ8UnVudGltZT4ACgBIVHJhbnNhY3Rpb25QYXltZW50BAAVBQGocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQ6OkV2ZW50PFJ1bnRpbWU+AAsARENvbGxhdG9yU2VsZWN0aW9uBAAZBQGkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbjo6RXZlbnQ8UnVudGltZT4AFQAcU2Vzc2lvbgQAHQUBeHBhbGxldF9zZXNzaW9uOjpFdmVudDxSdW50aW1lPgAWACRYY21wUXVldWUEACEFAaRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlOjpFdmVudDxSdW50aW1lPgAeACxQb2xrYWRvdFhjbQQAJQUBaHBhbGxldF94Y206OkV2ZW50PFJ1bnRpbWU+AB8AKEN1bXVsdXNYY20EADUFAYhjdW11bHVzX3BhbGxldF94Y206OkV2ZW50PFJ1bnRpbWU+ACAAHFV0aWxpdHkEADkFAVRwYWxsZXRfdXRpbGl0eTo6RXZlbnQAKAAgTXVsdGlzaWcEAEEFAXxwYWxsZXRfbXVsdGlzaWc6OkV2ZW50PFJ1bnRpbWU+ACkAFFByb3h5BABFBQFwcGFsbGV0X3Byb3h5OjpFdmVudDxSdW50aW1lPgAqADhCcmlkZ2VSZWxheWVycwQATQUBmHBhbGxldF9icmlkZ2VfcmVsYXllcnM6OkV2ZW50PFJ1bnRpbWU+ADIATEJyaWRnZUt1c2FtYUdyYW5kcGEEAFUFAR0BcGFsbGV0X2JyaWRnZV9ncmFuZHBhOjpFdmVudDxSdW50aW1lLCBwYWxsZXRfYnJpZGdlX2dyYW5kcGE6Okluc3RhbmNlMT4AMwBYQnJpZGdlS3VzYW1hUGFyYWNoYWlucwQAZQUBOQFwYWxsZXRfYnJpZGdlX3BhcmFjaGFpbnM6OkV2ZW50PFJ1bnRpbWUsIHBhbGxldF9icmlkZ2VfcGFyYWNoYWluczo6Ckluc3RhbmNlMT4ANABQQnJpZGdlS3VzYW1hTWVzc2FnZXMEAGkFASkBcGFsbGV0X2JyaWRnZV9tZXNzYWdlczo6RXZlbnQ8UnVudGltZSwgcGFsbGV0X2JyaWRnZV9tZXNzYWdlczo6SW5zdGFuY2UxCj4ANQBYWGNtT3ZlckJyaWRnZUh1Ykt1c2FtYQQAiQUBHQFwYWxsZXRfeGNtX2JyaWRnZV9odWI6OkV2ZW50PFJ1bnRpbWUsIHBhbGxldF94Y21fYnJpZGdlX2h1Yjo6SW5zdGFuY2UxPgA2AFBFdGhlcmV1bUluYm91bmRRdWV1ZQQAkQUBvHNub3dicmlkZ2VfcGFsbGV0X2luYm91bmRfcXVldWU6OkV2ZW50PFJ1bnRpbWU+AFAAVEV0aGVyZXVtT3V0Ym91bmRRdWV1ZQQAlQUBwHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlOjpFdmVudDxSdW50aW1lPgBRAFBFdGhlcmV1bUJlYWNvbkNsaWVudAQAmQUBxHNub3dicmlkZ2VfcGFsbGV0X2V0aGVyZXVtX2NsaWVudDo6RXZlbnQ8UnVudGltZT4AUgA4RXRoZXJldW1TeXN0ZW0EAJ0FAaBzbm93YnJpZGdlX3BhbGxldF9zeXN0ZW06OkV2ZW50PFJ1bnRpbWU+AFMAQEV0aGVyZXVtU3lzdGVtVjIEAKUFAaxzbm93YnJpZGdlX3BhbGxldF9zeXN0ZW1fdjI6OkV2ZW50PFJ1bnRpbWU+AFoAWEV0aGVyZXVtSW5ib3VuZFF1ZXVlVjIEAKkFAchzbm93YnJpZGdlX3BhbGxldF9pbmJvdW5kX3F1ZXVlX3YyOjpFdmVudDxSdW50aW1lPgBbAFxFdGhlcmV1bU91dGJvdW5kUXVldWVWMgQArQUBzHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlX3YyOjpFdmVudDxSdW50aW1lPgBcADBNZXNzYWdlUXVldWUEAMUFAZBwYWxsZXRfbWVzc2FnZV9xdWV1ZTo6RXZlbnQ8UnVudGltZT4ArwAAzQQMMGZyYW1lX3N5c3RlbRhwYWxsZXQURXZlbnQEBFQAASBARXh0cmluc2ljU3VjY2VzcwQBNGRpc3BhdGNoX2luZm/RBAFERGlzcGF0Y2hFdmVudEluZm8AAASQQW4gZXh0cmluc2ljIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuPEV4dHJpbnNpY0ZhaWxlZAgBOGRpc3BhdGNoX2Vycm9y3QQBNERpc3BhdGNoRXJyb3IAATRkaXNwYXRjaF9pbmZv0QQBRERpc3BhdGNoRXZlbnRJbmZvAAEEUEFuIGV4dHJpbnNpYyBmYWlsZWQuLENvZGVVcGRhdGVkBAEQaGFzaDwBHFQ6Okhhc2gAAgTQYDpjb2RlYCB3YXMgdXBkYXRlZCB0byB0aGUgY29kZSB3aXRoIHRoZSBnaXZlbiBoYXNoLihOZXdBY2NvdW50BAEcYWNjb3VudAQBMFQ6OkFjY291bnRJZAADBGhBIG5ldyBhY2NvdW50IHdhcyBjcmVhdGVkLjRLaWxsZWRBY2NvdW50BAEcYWNjb3VudAQBMFQ6OkFjY291bnRJZAAEBFhBbiBhY2NvdW50IHdhcyByZWFwZWQuIFJlbWFya2VkCAEYc2VuZGVyBAEwVDo6QWNjb3VudElkAAEQaGFzaDwBHFQ6Okhhc2gABQRwT24gb24tY2hhaW4gcmVtYXJrIGhhcHBlbmVkLkRVcGdyYWRlQXV0aG9yaXplZAgBJGNvZGVfaGFzaDwBHFQ6Okhhc2gAATRjaGVja192ZXJzaW9uyAEQYm9vbAAGBGhBbiB1cGdyYWRlIHdhcyBhdXRob3JpemVkLoBSZWplY3RlZEludmFsaWRBdXRob3JpemVkVXBncmFkZQgBJGNvZGVfaGFzaDwBHFQ6Okhhc2gAARRlcnJvct0EATREaXNwYXRjaEVycm9yAAcEEQFBbiBpbnZhbGlkIGF1dGhvcml6ZWQgdXBncmFkZSB3YXMgcmVqZWN0ZWQgd2hpbGUgdHJ5aW5nIHRvIGFwcGx5IGl0LgRwRXZlbnQgZm9yIHRoZSBTeXN0ZW0gcGFsbGV0LtEECDBmcmFtZV9zeXN0ZW1ERGlzcGF0Y2hFdmVudEluZm8AAAwBGHdlaWdodLUBARhXZWlnaHQAARRjbGFzc9UEATREaXNwYXRjaENsYXNzAAEgcGF5c19mZWXZBAEQUGF5cwAA1QQMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2g0RGlzcGF0Y2hDbGFzcwABDBhOb3JtYWwAAAAsT3BlcmF0aW9uYWwAAQAkTWFuZGF0b3J5AAIAANkEDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoEFBheXMAAQgMWWVzAAAACE5vAAEAAN0ECChzcF9ydW50aW1lNERpc3BhdGNoRXJyb3IAATwUT3RoZXIAAAAwQ2Fubm90TG9va3VwAAEAJEJhZE9yaWdpbgACABhNb2R1bGUEAOEEASxNb2R1bGVFcnJvcgADAERDb25zdW1lclJlbWFpbmluZwAEACxOb1Byb3ZpZGVycwAFAEBUb29NYW55Q29uc3VtZXJzAAYAFFRva2VuBADlBAEoVG9rZW5FcnJvcgAHAChBcml0aG1ldGljBADpBAE8QXJpdGhtZXRpY0Vycm9yAAgANFRyYW5zYWN0aW9uYWwEAO0EAUhUcmFuc2FjdGlvbmFsRXJyb3IACQAkRXhoYXVzdGVkAAoAKENvcnJ1cHRpb24ACwAsVW5hdmFpbGFibGUADAA4Um9vdE5vdEFsbG93ZWQADQAQVHJpZQQA8QQBJFRyaWVFcnJvcgAOAADhBAgoc3BfcnVudGltZSxNb2R1bGVFcnJvcgAACAEUaW5kZXgMAQh1OAABFGVycm9ycAGMW3U4OyBNQVhfTU9EVUxFX0VSUk9SX0VOQ09ERURfU0laRV0AAOUECChzcF9ydW50aW1lKFRva2VuRXJyb3IAAShARnVuZHNVbmF2YWlsYWJsZQAAADBPbmx5UHJvdmlkZXIAAQAwQmVsb3dNaW5pbXVtAAIAMENhbm5vdENyZWF0ZQADADBVbmtub3duQXNzZXQABAAYRnJvemVuAAUALFVuc3VwcG9ydGVkAAYAQENhbm5vdENyZWF0ZUhvbGQABwA0Tm90RXhwZW5kYWJsZQAIABxCbG9ja2VkAAkAAOkECDRzcF9hcml0aG1ldGljPEFyaXRobWV0aWNFcnJvcgABDCRVbmRlcmZsb3cAAAAgT3ZlcmZsb3cAAQA4RGl2aXNpb25CeVplcm8AAgAA7QQIKHNwX3J1bnRpbWVIVHJhbnNhY3Rpb25hbEVycm9yAAEIMExpbWl0UmVhY2hlZAAAABxOb0xheWVyAAEAAPEEDChzcF9ydW50aW1lMHByb3ZpbmdfdHJpZSRUcmllRXJyb3IAAThASW52YWxpZFN0YXRlUm9vdAAAAEhJbmNvbXBsZXRlRGF0YWJhc2UAAQBQVmFsdWVBdEluY29tcGxldGVLZXkAAgAwRGVjb2RlckVycm9yAAMALEludmFsaWRIYXNoAAQAMER1cGxpY2F0ZUtleQAFADhFeHRyYW5lb3VzTm9kZQAGADxFeHRyYW5lb3VzVmFsdWUABwBcRXh0cmFuZW91c0hhc2hSZWZlcmVuY2UACABUSW52YWxpZENoaWxkUmVmZXJlbmNlAAkANFZhbHVlTWlzbWF0Y2gACgA8SW5jb21wbGV0ZVByb29mAAsAMFJvb3RNaXNtYXRjaAAMACxEZWNvZGVFcnJvcgANAAD1BAx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQURXZlbnQEBFQAARhgVmFsaWRhdGlvbkZ1bmN0aW9uU3RvcmVkAAAE0FRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIGhhcyBiZWVuIHNjaGVkdWxlZCB0byBhcHBseS5kVmFsaWRhdGlvbkZ1bmN0aW9uQXBwbGllZAQBVHJlbGF5X2NoYWluX2Jsb2NrX251bTgBVFJlbGF5Q2hhaW5CbG9ja051bWJlcgABBEUBVGhlIHZhbGlkYXRpb24gZnVuY3Rpb24gd2FzIGFwcGxpZWQgYXMgb2YgdGhlIGNvbnRhaW5lZCByZWxheSBjaGFpbiBibG9jayBudW1iZXIubFZhbGlkYXRpb25GdW5jdGlvbkRpc2NhcmRlZAACBLBUaGUgcmVsYXktY2hhaW4gYWJvcnRlZCB0aGUgdXBncmFkZSBwcm9jZXNzLmBEb3dud2FyZE1lc3NhZ2VzUmVjZWl2ZWQEARRjb3VudDgBDHUzMgADBAEBU29tZSBkb3dud2FyZCBtZXNzYWdlcyBoYXZlIGJlZW4gcmVjZWl2ZWQgYW5kIHdpbGwgYmUgcHJvY2Vzc2VkLmREb3dud2FyZE1lc3NhZ2VzUHJvY2Vzc2VkCAEsd2VpZ2h0X3VzZWS1AQEYV2VpZ2h0AAEgZG1xX2hlYWQ8AURyZWxheV9jaGFpbjo6SGFzaAAEBOBEb3dud2FyZCBtZXNzYWdlcyB3ZXJlIHByb2Nlc3NlZCB1c2luZyB0aGUgZ2l2ZW4gd2VpZ2h0LkRVcHdhcmRNZXNzYWdlU2VudAQBMG1lc3NhZ2VfaGFzaK0EATxPcHRpb248WGNtSGFzaD4ABQS4QW4gdXB3YXJkIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIHJlbGF5IGNoYWluLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldPkEDDxwYWxsZXRfYmFsYW5jZXMYcGFsbGV0FEV2ZW50CARUAARJAAF4HEVuZG93ZWQIARxhY2NvdW50BAEwVDo6QWNjb3VudElkAAEwZnJlZV9iYWxhbmNlxAEoVDo6QmFsYW5jZQAABLhBbiBhY2NvdW50IHdhcyBjcmVhdGVkIHdpdGggc29tZSBmcmVlIGJhbGFuY2UuIER1c3RMb3N0CAEcYWNjb3VudAQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UAAQg9AUFuIGFjY291bnQgd2FzIHJlbW92ZWQgd2hvc2UgYmFsYW5jZSB3YXMgbm9uLXplcm8gYnV0IGJlbG93IEV4aXN0ZW50aWFsRGVwb3NpdCx4cmVzdWx0aW5nIGluIGFuIG91dHJpZ2h0IGxvc3MuIFRyYW5zZmVyDAEQZnJvbQQBMFQ6OkFjY291bnRJZAABCHRvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50xAEoVDo6QmFsYW5jZQACBExUcmFuc2ZlciBzdWNjZWVkZWQuKEJhbGFuY2VTZXQIAQx3aG8EATBUOjpBY2NvdW50SWQAARBmcmVlxAEoVDo6QmFsYW5jZQADBGhBIGJhbGFuY2Ugd2FzIHNldCBieSByb290LiBSZXNlcnZlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UABATgU29tZSBiYWxhbmNlIHdhcyByZXNlcnZlZCAobW92ZWQgZnJvbSBmcmVlIHRvIHJlc2VydmVkKS4oVW5yZXNlcnZlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UABQToU29tZSBiYWxhbmNlIHdhcyB1bnJlc2VydmVkIChtb3ZlZCBmcm9tIHJlc2VydmVkIHRvIGZyZWUpLkhSZXNlcnZlUmVwYXRyaWF0ZWQQARBmcm9tBAEwVDo6QWNjb3VudElkAAEIdG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlAAFIZGVzdGluYXRpb25fc3RhdHVz/QQBGFN0YXR1cwAGCE0BU29tZSBiYWxhbmNlIHdhcyBtb3ZlZCBmcm9tIHRoZSByZXNlcnZlIG9mIHRoZSBmaXJzdCBhY2NvdW50IHRvIHRoZSBzZWNvbmQgYWNjb3VudC7YRmluYWwgYXJndW1lbnQgaW5kaWNhdGVzIHRoZSBkZXN0aW5hdGlvbiBiYWxhbmNlIHR5cGUuHERlcG9zaXQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlAAcE2FNvbWUgYW1vdW50IHdhcyBkZXBvc2l0ZWQgKGUuZy4gZm9yIHRyYW5zYWN0aW9uIGZlZXMpLiBXaXRoZHJhdwgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UACAQdAVNvbWUgYW1vdW50IHdhcyB3aXRoZHJhd24gZnJvbSB0aGUgYWNjb3VudCAoZS5nLiBmb3IgdHJhbnNhY3Rpb24gZmVlcykuHFNsYXNoZWQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlAAkEAQFTb21lIGFtb3VudCB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBhY2NvdW50IChlLmcuIGZvciBtaXNiZWhhdmlvcikuGE1pbnRlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UACgScU29tZSBhbW91bnQgd2FzIG1pbnRlZCBpbnRvIGFuIGFjY291bnQuME1pbnRlZENyZWRpdAQBGGFtb3VudMQBKFQ6OkJhbGFuY2UACwTgU29tZSBjcmVkaXQgd2FzIGJhbGFuY2VkIGFuZCBhZGRlZCB0byB0aGUgVG90YWxJc3N1YW5jZS4YQnVybmVkCAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50xAEoVDo6QmFsYW5jZQAMBJxTb21lIGFtb3VudCB3YXMgYnVybmVkIGZyb20gYW4gYWNjb3VudC4oQnVybmVkRGVidAQBGGFtb3VudMQBKFQ6OkJhbGFuY2UADQTMU29tZSBkZWJ0IGhhcyBiZWVuIGRyb3BwZWQgZnJvbSB0aGUgVG90YWwgSXNzdWFuY2UuJFN1c3BlbmRlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UADgQVAVNvbWUgYW1vdW50IHdhcyBzdXNwZW5kZWQgZnJvbSBhbiBhY2NvdW50IChpdCBjYW4gYmUgcmVzdG9yZWQgbGF0ZXIpLiBSZXN0b3JlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UADwSkU29tZSBhbW91bnQgd2FzIHJlc3RvcmVkIGludG8gYW4gYWNjb3VudC4gVXBncmFkZWQEAQx3aG8EATBUOjpBY2NvdW50SWQAEARgQW4gYWNjb3VudCB3YXMgdXBncmFkZWQuGElzc3VlZAQBGGFtb3VudMQBKFQ6OkJhbGFuY2UAEQQtAVRvdGFsIGlzc3VhbmNlIHdhcyBpbmNyZWFzZWQgYnkgYGFtb3VudGAsIGNyZWF0aW5nIGEgY3JlZGl0IHRvIGJlIGJhbGFuY2VkLiRSZXNjaW5kZWQEARhhbW91bnTEAShUOjpCYWxhbmNlABIEJQFUb3RhbCBpc3N1YW5jZSB3YXMgZGVjcmVhc2VkIGJ5IGBhbW91bnRgLCBjcmVhdGluZyBhIGRlYnQgdG8gYmUgYmFsYW5jZWQuGExvY2tlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UAEwRgU29tZSBiYWxhbmNlIHdhcyBsb2NrZWQuIFVubG9ja2VkCAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50xAEoVDo6QmFsYW5jZQAUBGhTb21lIGJhbGFuY2Ugd2FzIHVubG9ja2VkLhhGcm96ZW4IAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlABUEYFNvbWUgYmFsYW5jZSB3YXMgZnJvemVuLhhUaGF3ZWQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlABYEYFNvbWUgYmFsYW5jZSB3YXMgdGhhd2VkLkxUb3RhbElzc3VhbmNlRm9yY2VkCAEMb2xkxAEoVDo6QmFsYW5jZQABDG5ld8QBKFQ6OkJhbGFuY2UAFwSsVGhlIGBUb3RhbElzc3VhbmNlYCB3YXMgZm9yY2VmdWxseSBjaGFuZ2VkLhBIZWxkDAEYcmVhc29uAQUBUFQ6OlJ1bnRpbWVIb2xkUmVhc29uAAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50xAEoVDo6QmFsYW5jZQAYBIBTb21lIGJhbGFuY2Ugd2FzIHBsYWNlZCBvbiBob2xkLihCdXJuZWRIZWxkDAEYcmVhc29uAQUBUFQ6OlJ1bnRpbWVIb2xkUmVhc29uAAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50xAEoVDo6QmFsYW5jZQAZBKBIZWxkIGJhbGFuY2Ugd2FzIGJ1cm5lZCBmcm9tIGFuIGFjY291bnQuOFRyYW5zZmVyT25Ib2xkEAEYcmVhc29uAQUBUFQ6OlJ1bnRpbWVIb2xkUmVhc29uAAEYc291cmNlBAEwVDo6QWNjb3VudElkAAEQZGVzdAQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UAGgQVAUEgdHJhbnNmZXIgb2YgYGFtb3VudGAgb24gaG9sZCBmcm9tIGBzb3VyY2VgIHRvIGBkZXN0YCB3YXMgaW5pdGlhdGVkLjxUcmFuc2ZlckFuZEhvbGQQARhyZWFzb24BBQFQVDo6UnVudGltZUhvbGRSZWFzb24AARhzb3VyY2UEATBUOjpBY2NvdW50SWQAARBkZXN0BAEwVDo6QWNjb3VudElkAAEsdHJhbnNmZXJyZWTEAShUOjpCYWxhbmNlABsECQFUaGUgYHRyYW5zZmVycmVkYCBiYWxhbmNlIGlzIHBsYWNlZCBvbiBob2xkIGF0IHRoZSBgZGVzdGAgYWNjb3VudC4gUmVsZWFzZWQMARhyZWFzb24BBQFQVDo6UnVudGltZUhvbGRSZWFzb24AAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlABwEkFNvbWUgYmFsYW5jZSB3YXMgcmVsZWFzZWQgZnJvbSBob2xkLihVbmV4cGVjdGVkBAARBQE4VW5leHBlY3RlZEtpbmQAHQSwQW4gdW5leHBlY3RlZC9kZWZlbnNpdmUgZXZlbnQgd2FzIHRyaWdnZXJlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXT9BBQ0ZnJhbWVfc3VwcG9ydBh0cmFpdHMYdG9rZW5zEG1pc2M0QmFsYW5jZVN0YXR1cwABCBBGcmVlAAAAIFJlc2VydmVkAAEAAAEFCGxicmlkZ2VfaHViX3BvbGthZG90X3J1bnRpbWVEUnVudGltZUhvbGRSZWFzb24AAQwcU2Vzc2lvbgQABQUBaHBhbGxldF9zZXNzaW9uOjpIb2xkUmVhc29uABYALFBvbGthZG90WGNtBAAJBQFYcGFsbGV0X3hjbTo6SG9sZFJlYXNvbgAfAFhYY21PdmVyQnJpZGdlSHViS3VzYW1hBAANBQENAXBhbGxldF94Y21fYnJpZGdlX2h1Yjo6SG9sZFJlYXNvbjxwYWxsZXRfeGNtX2JyaWRnZV9odWI6Okluc3RhbmNlMT4ANgAABQUMOHBhbGxldF9zZXNzaW9uGHBhbGxldChIb2xkUmVhc29uAAEEEEtleXMAAAAACQUMKHBhbGxldF94Y20YcGFsbGV0KEhvbGRSZWFzb24AAQQ4QXV0aG9yaXplQWxpYXMAAAAADQUMVHBhbGxldF94Y21fYnJpZGdlX2h1YhhwYWxsZXQoSG9sZFJlYXNvbgQESQABBDRCcmlkZ2VEZXBvc2l0AAAAABEFDDxwYWxsZXRfYmFsYW5jZXMYcGFsbGV0OFVuZXhwZWN0ZWRLaW5kAAEIOEJhbGFuY2VVcGRhdGVkAAAAVEZhaWxlZFRvTXV0YXRlQWNjb3VudAABAAAVBQxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQYcGFsbGV0FEV2ZW50BARUAAEESFRyYW5zYWN0aW9uRmVlUGFpZAwBDHdobwQBMFQ6OkFjY291bnRJZAABKGFjdHVhbF9mZWXEATBCYWxhbmNlT2Y8VD4AAQx0aXDEATBCYWxhbmNlT2Y8VD4AAAhZAUEgdHJhbnNhY3Rpb24gZmVlIGBhY3R1YWxfZmVlYCwgb2Ygd2hpY2ggYHRpcGAgd2FzIGFkZGVkIHRvIHRoZSBtaW5pbXVtIGluY2x1c2lvbiBmZWUsXGhhcyBiZWVuIHBhaWQgYnkgYHdob2AuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0GQUMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0FEV2ZW50BARUAAEoQE5ld0ludnVsbmVyYWJsZXMEATRpbnZ1bG5lcmFibGVzzAFEVmVjPFQ6OkFjY291bnRJZD4AAARsTmV3IEludnVsbmVyYWJsZXMgd2VyZSBzZXQuREludnVsbmVyYWJsZUFkZGVkBAEoYWNjb3VudF9pZAQBMFQ6OkFjY291bnRJZAABBHRBIG5ldyBJbnZ1bG5lcmFibGUgd2FzIGFkZGVkLkxJbnZ1bG5lcmFibGVSZW1vdmVkBAEoYWNjb3VudF9pZAQBMFQ6OkFjY291bnRJZAACBHBBbiBJbnZ1bG5lcmFibGUgd2FzIHJlbW92ZWQuUE5ld0Rlc2lyZWRDYW5kaWRhdGVzBAFIZGVzaXJlZF9jYW5kaWRhdGVzOAEMdTMyAAMEpFRoZSBudW1iZXIgb2YgZGVzaXJlZCBjYW5kaWRhdGVzIHdhcyBzZXQuQE5ld0NhbmRpZGFjeUJvbmQEASxib25kX2Ftb3VudMQBMEJhbGFuY2VPZjxUPgAEBGxUaGUgY2FuZGlkYWN5IGJvbmQgd2FzIHNldC44Q2FuZGlkYXRlQWRkZWQIAShhY2NvdW50X2lkBAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdMQBMEJhbGFuY2VPZjxUPgAFBFxBIG5ldyBjYW5kaWRhdGUgam9pbmVkLlBDYW5kaWRhdGVCb25kVXBkYXRlZAgBKGFjY291bnRfaWQEATBUOjpBY2NvdW50SWQAARxkZXBvc2l0xAEwQmFsYW5jZU9mPFQ+AAYEcEJvbmQgb2YgYSBjYW5kaWRhdGUgdXBkYXRlZC5AQ2FuZGlkYXRlUmVtb3ZlZAQBKGFjY291bnRfaWQEATBUOjpBY2NvdW50SWQABwRgQSBjYW5kaWRhdGUgd2FzIHJlbW92ZWQuRENhbmRpZGF0ZVJlcGxhY2VkDAEMb2xkBAEwVDo6QWNjb3VudElkAAEMbmV3BAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdMQBMEJhbGFuY2VPZjxUPgAIBPRBbiBhY2NvdW50IHdhcyByZXBsYWNlZCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QgYnkgYW5vdGhlciBvbmUuaEludmFsaWRJbnZ1bG5lcmFibGVTa2lwcGVkBAEoYWNjb3VudF9pZAQBMFQ6OkFjY291bnRJZAAJCFUBQW4gYWNjb3VudCB3YXMgdW5hYmxlIHRvIGJlIGFkZGVkIHRvIHRoZSBJbnZ1bG5lcmFibGVzIGJlY2F1c2UgdGhleSBkaWQgbm90IGhhdmUga2V5c8hyZWdpc3RlcmVkLiBPdGhlciBJbnZ1bG5lcmFibGVzIG1heSBoYXZlIGJlZW4gc2V0LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldB0FDDhwYWxsZXRfc2Vzc2lvbhhwYWxsZXQURXZlbnQEBFQAARAoTmV3U2Vzc2lvbgQBNHNlc3Npb25faW5kZXg4ATBTZXNzaW9uSW5kZXgAAAg5AU5ldyBzZXNzaW9uIGhhcyBoYXBwZW5lZC4gTm90ZSB0aGF0IHRoZSBhcmd1bWVudCBpcyB0aGUgc2Vzc2lvbiBpbmRleCwgbm90IHRoZZxibG9jayBudW1iZXIgYXMgdGhlIHR5cGUgbWlnaHQgc3VnZ2VzdC4kTmV3UXVldWVkAAEISQFUaGUgYE5ld1Nlc3Npb25gIGV2ZW50IGluIHRoZSBjdXJyZW50IGJsb2NrIGFsc28gaW1wbGllcyBhIG5ldyB2YWxpZGF0b3Igc2V0IHRvIGJlHHF1ZXVlZC5EVmFsaWRhdG9yRGlzYWJsZWQEASR2YWxpZGF0b3IEAThUOjpWYWxpZGF0b3JJZAACBHBWYWxpZGF0b3IgaGFzIGJlZW4gZGlzYWJsZWQuSFZhbGlkYXRvclJlZW5hYmxlZAQBJHZhbGlkYXRvcgQBOFQ6OlZhbGlkYXRvcklkAAMEeFZhbGlkYXRvciBoYXMgYmVlbiByZS1lbmFibGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldCEFDGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlGHBhbGxldBRFdmVudAQEVAABBDxYY21wTWVzc2FnZVNlbnQEATBtZXNzYWdlX2hhc2gIARxYY21IYXNoAAAEwEFuIEhSTVAgbWVzc2FnZSB3YXMgc2VudCB0byBhIHNpYmxpbmcgcGFyYWNoYWluLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldCUFDChwYWxsZXRfeGNtGHBhbGxldBRFdmVudAQEVAABdCRBdHRlbXB0ZWQEARxvdXRjb21lKQUBUHhjbTo6bGF0ZXN0OjpPdXRjb21lAAAEqEV4ZWN1dGlvbiBvZiBhbiBYQ00gbWVzc2FnZSB3YXMgYXR0ZW1wdGVkLhBTZW50EAEYb3JpZ2luQQEBIExvY2F0aW9uAAEsZGVzdGluYXRpb25BAQEgTG9jYXRpb24AARxtZXNzYWdlPQIBHFhjbTwoKT4AAShtZXNzYWdlX2lkCAEcWGNtSGFzaAABBGBBbiBYQ00gbWVzc2FnZSB3YXMgc2VudC4oU2VuZEZhaWxlZBABGG9yaWdpbkEBASBMb2NhdGlvbgABLGRlc3RpbmF0aW9uQQEBIExvY2F0aW9uAAEUZXJyb3IxBQEkU2VuZEVycm9yAAEobWVzc2FnZV9pZAgBHFhjbUhhc2gAAgR4QW4gWENNIG1lc3NhZ2UgZmFpbGVkIHRvIHNlbmQuPFByb2Nlc3NYY21FcnJvcgwBGG9yaWdpbkEBASBMb2NhdGlvbgABFGVycm9ybQIBIFhjbUVycm9yAAEobWVzc2FnZV9pZAgBHFhjbUhhc2gAAwSEQW4gWENNIG1lc3NhZ2UgZmFpbGVkIHRvIHByb2Nlc3MuSFVuZXhwZWN0ZWRSZXNwb25zZQgBGG9yaWdpbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAAEDFkBUXVlcnkgcmVzcG9uc2UgcmVjZWl2ZWQgd2hpY2ggZG9lcyBub3QgbWF0Y2ggYSByZWdpc3RlcmVkIHF1ZXJ5LiBUaGlzIG1heSBiZSBiZWNhdXNlIGFVAW1hdGNoaW5nIHF1ZXJ5IHdhcyBuZXZlciByZWdpc3RlcmVkLCBpdCBtYXkgYmUgYmVjYXVzZSBpdCBpcyBhIGR1cGxpY2F0ZSByZXNwb25zZSwgb3JwYmVjYXVzZSB0aGUgcXVlcnkgdGltZWQgb3V0LjRSZXNwb25zZVJlYWR5CAEgcXVlcnlfaWQoARxRdWVyeUlkAAEgcmVzcG9uc2VhAgEgUmVzcG9uc2UABQhdAVF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBpcyByZWFkeSBmb3IgdGFraW5nIHdpdGggYHRha2VfcmVzcG9uc2VgLiBUaGVyZSBpc4BubyByZWdpc3RlcmVkIG5vdGlmaWNhdGlvbiBjYWxsLiBOb3RpZmllZAwBIHF1ZXJ5X2lkKAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAwBCHU4AAEoY2FsbF9pbmRleAwBCHU4AAYIWQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgcXVlcnkgaXMgcmVtb3ZlZC4gVGhlIHJlZ2lzdGVyZWQgbm90aWZpY2F0aW9uIGhhc6hiZWVuIGRpc3BhdGNoZWQgYW5kIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseS5ATm90aWZ5T3ZlcndlaWdodBQBIHF1ZXJ5X2lkKAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAwBCHU4AAEoY2FsbF9pbmRleAwBCHU4AAE0YWN0dWFsX3dlaWdodLUBARhXZWlnaHQAAUxtYXhfYnVkZ2V0ZWRfd2VpZ2h0tQEBGFdlaWdodAAHDEkBUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHF1ZXJ5IGlzIHJlbW92ZWQuIFRoZSByZWdpc3RlcmVkIG5vdGlmaWNhdGlvblkBY291bGQgbm90IGJlIGRpc3BhdGNoZWQgYmVjYXVzZSB0aGUgZGlzcGF0Y2ggd2VpZ2h0IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSB3ZWlnaHTkb3JpZ2luYWxseSBidWRnZXRlZCBieSB0aGlzIHJ1bnRpbWUgZm9yIHRoZSBxdWVyeSByZXN1bHQuTE5vdGlmeURpc3BhdGNoRXJyb3IMASBxdWVyeV9pZCgBHFF1ZXJ5SWQAATBwYWxsZXRfaW5kZXgMAQh1OAABKGNhbGxfaW5kZXgMAQh1OAAICFUBUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHF1ZXJ5IGlzIHJlbW92ZWQuIFRoZXJlIHdhcyBhIGdlbmVyYWwgZXJyb3Igd2l0aIhkaXNwYXRjaGluZyB0aGUgbm90aWZpY2F0aW9uIGNhbGwuSE5vdGlmeURlY29kZUZhaWxlZAwBIHF1ZXJ5X2lkKAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAwBCHU4AAEoY2FsbF9pbmRleAwBCHU4AAkMUQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgcXVlcnkgaXMgcmVtb3ZlZC4gVGhlIGRpc3BhdGNoIHdhcyB1bmFibGUgdG8gYmVZAWRlY29kZWQgaW50byBhIGBDYWxsYDsgdGhpcyBtaWdodCBiZSBkdWUgdG8gZGlzcGF0Y2ggZnVuY3Rpb24gaGF2aW5nIGEgc2lnbmF0dXJlIHdoaWNolGlzIG5vdCBgKG9yaWdpbiwgUXVlcnlJZCwgUmVzcG9uc2UpYC5ASW52YWxpZFJlc3BvbmRlcgwBGG9yaWdpbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAABRGV4cGVjdGVkX2xvY2F0aW9ugQIBQE9wdGlvbjxMb2NhdGlvbj4ACgxZAUV4cGVjdGVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGJ1dCB0aGUgb3JpZ2luIGxvY2F0aW9uIG9mIHRoZSByZXNwb25zZSBkb2VzVQFub3QgbWF0Y2ggdGhhdCBleHBlY3RlZC4gVGhlIHF1ZXJ5IHJlbWFpbnMgcmVnaXN0ZXJlZCBmb3IgYSBsYXRlciwgdmFsaWQsIHJlc3BvbnNlIHRvbGJlIHJlY2VpdmVkIGFuZCBhY3RlZCB1cG9uLlxJbnZhbGlkUmVzcG9uZGVyVmVyc2lvbggBGG9yaWdpbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAALHFEBRXhwZWN0ZWQgcXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYnV0IHRoZSBleHBlY3RlZCBvcmlnaW4gbG9jYXRpb24gcGxhY2VkIGluTQFzdG9yYWdlIGJ5IHRoaXMgcnVudGltZSBwcmV2aW91c2x5IGNhbm5vdCBiZSBkZWNvZGVkLiBUaGUgcXVlcnkgcmVtYWlucyByZWdpc3RlcmVkLgBBAVRoaXMgaXMgdW5leHBlY3RlZCAoc2luY2UgYSBsb2NhdGlvbiBwbGFjZWQgaW4gc3RvcmFnZSBpbiBhIHByZXZpb3VzbHkgZXhlY3V0aW5nTQFydW50aW1lIHNob3VsZCBiZSByZWFkYWJsZSBwcmlvciB0byBxdWVyeSB0aW1lb3V0KSBhbmQgZGFuZ2Vyb3VzIHNpbmNlIHRoZSBwb3NzaWJseVkBdmFsaWQgcmVzcG9uc2Ugd2lsbCBiZSBkcm9wcGVkLiBNYW51YWwgZ292ZXJuYW5jZSBpbnRlcnZlbnRpb24gaXMgcHJvYmFibHkgZ29pbmcgdG8gYmUcbmVlZGVkLjRSZXNwb25zZVRha2VuBAEgcXVlcnlfaWQoARxRdWVyeUlkAAwEyFJlY2VpdmVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlYWQgYW5kIHJlbW92ZWQuNEFzc2V0c1RyYXBwZWQMARBoYXNoPAEQSDI1NgABGG9yaWdpbkEBASBMb2NhdGlvbgABGGFzc2V0c7kCATxWZXJzaW9uZWRBc3NldHMADQS4U29tZSBhc3NldHMgaGF2ZSBiZWVuIHBsYWNlZCBpbiBhbiBhc3NldCB0cmFwLlRWZXJzaW9uQ2hhbmdlTm90aWZpZWQQASxkZXN0aW5hdGlvbkEBASBMb2NhdGlvbgABGHJlc3VsdDgBKFhjbVZlcnNpb24AARBjb3N0SQIBGEFzc2V0cwABKG1lc3NhZ2VfaWQIARxYY21IYXNoAA4MJQFBbiBYQ00gdmVyc2lvbiBjaGFuZ2Ugbm90aWZpY2F0aW9uIG1lc3NhZ2UgaGFzIGJlZW4gYXR0ZW1wdGVkIHRvIGJlIHNlbnQuAOBUaGUgY29zdCBvZiBzZW5kaW5nIGl0IChib3JuZSBieSB0aGUgY2hhaW4pIGlzIGluY2x1ZGVkLlxTdXBwb3J0ZWRWZXJzaW9uQ2hhbmdlZAgBIGxvY2F0aW9uQQEBIExvY2F0aW9uAAEcdmVyc2lvbjgBKFhjbVZlcnNpb24ADwg5AVRoZSBzdXBwb3J0ZWQgdmVyc2lvbiBvZiBhIGxvY2F0aW9uIGhhcyBiZWVuIGNoYW5nZWQuIFRoaXMgbWlnaHQgYmUgdGhyb3VnaCBhbsBhdXRvbWF0aWMgbm90aWZpY2F0aW9uIG9yIGEgbWFudWFsIGludGVydmVudGlvbi5QTm90aWZ5VGFyZ2V0U2VuZEZhaWwMASBsb2NhdGlvbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAABFGVycm9ybQIBIFhjbUVycm9yABAIWQFBIGdpdmVuIGxvY2F0aW9uIHdoaWNoIGhhZCBhIHZlcnNpb24gY2hhbmdlIHN1YnNjcmlwdGlvbiB3YXMgZHJvcHBlZCBvd2luZyB0byBhbiBlcnJvcnxzZW5kaW5nIHRoZSBub3RpZmljYXRpb24gdG8gaXQuZE5vdGlmeVRhcmdldE1pZ3JhdGlvbkZhaWwIASBsb2NhdGlvbuwBRFZlcnNpb25lZExvY2F0aW9uAAEgcXVlcnlfaWQoARxRdWVyeUlkABEIWQFBIGdpdmVuIGxvY2F0aW9uIHdoaWNoIGhhZCBhIHZlcnNpb24gY2hhbmdlIHN1YnNjcmlwdGlvbiB3YXMgZHJvcHBlZCBvd2luZyB0byBhbiBlcnJvcrRtaWdyYXRpbmcgdGhlIGxvY2F0aW9uIHRvIG91ciBuZXcgWENNIGZvcm1hdC5USW52YWxpZFF1ZXJpZXJWZXJzaW9uCAEYb3JpZ2luQQEBIExvY2F0aW9uAAEgcXVlcnlfaWQoARxRdWVyeUlkABIcVQFFeHBlY3RlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBidXQgdGhlIGV4cGVjdGVkIHF1ZXJpZXIgbG9jYXRpb24gcGxhY2VkIGluTQFzdG9yYWdlIGJ5IHRoaXMgcnVudGltZSBwcmV2aW91c2x5IGNhbm5vdCBiZSBkZWNvZGVkLiBUaGUgcXVlcnkgcmVtYWlucyByZWdpc3RlcmVkLgBBAVRoaXMgaXMgdW5leHBlY3RlZCAoc2luY2UgYSBsb2NhdGlvbiBwbGFjZWQgaW4gc3RvcmFnZSBpbiBhIHByZXZpb3VzbHkgZXhlY3V0aW5nTQFydW50aW1lIHNob3VsZCBiZSByZWFkYWJsZSBwcmlvciB0byBxdWVyeSB0aW1lb3V0KSBhbmQgZGFuZ2Vyb3VzIHNpbmNlIHRoZSBwb3NzaWJseVkBdmFsaWQgcmVzcG9uc2Ugd2lsbCBiZSBkcm9wcGVkLiBNYW51YWwgZ292ZXJuYW5jZSBpbnRlcnZlbnRpb24gaXMgcHJvYmFibHkgZ29pbmcgdG8gYmUcbmVlZGVkLjhJbnZhbGlkUXVlcmllchABGG9yaWdpbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAABQGV4cGVjdGVkX3F1ZXJpZXJBAQEgTG9jYXRpb24AAVBtYXliZV9hY3R1YWxfcXVlcmllcoECAUBPcHRpb248TG9jYXRpb24+ABMMXQFFeHBlY3RlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBidXQgdGhlIHF1ZXJpZXIgbG9jYXRpb24gb2YgdGhlIHJlc3BvbnNlIGRvZXNRAW5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQuIFRoZSBxdWVyeSByZW1haW5zIHJlZ2lzdGVyZWQgZm9yIGEgbGF0ZXIsIHZhbGlkLCByZXNwb25zZSB0b2xiZSByZWNlaXZlZCBhbmQgYWN0ZWQgdXBvbi5QVmVyc2lvbk5vdGlmeVN0YXJ0ZWQMASxkZXN0aW5hdGlvbkEBASBMb2NhdGlvbgABEGNvc3RJAgEYQXNzZXRzAAEobWVzc2FnZV9pZAgBHFhjbUhhc2gAFAhZAUEgcmVtb3RlIGhhcyByZXF1ZXN0ZWQgWENNIHZlcnNpb24gY2hhbmdlIG5vdGlmaWNhdGlvbiBmcm9tIHVzIGFuZCB3ZSBoYXZlIGhvbm9yZWQgaXQuHQFBIHZlcnNpb24gaW5mb3JtYXRpb24gbWVzc2FnZSBpcyBzZW50IHRvIHRoZW0gYW5kIGl0cyBjb3N0IGlzIGluY2x1ZGVkLlhWZXJzaW9uTm90aWZ5UmVxdWVzdGVkDAEsZGVzdGluYXRpb25BAQEgTG9jYXRpb24AARBjb3N0SQIBGEFzc2V0cwABKG1lc3NhZ2VfaWQIARxYY21IYXNoABUEPQFXZSBoYXZlIHJlcXVlc3RlZCB0aGF0IGEgcmVtb3RlIGNoYWluIHNlbmQgdXMgWENNIHZlcnNpb24gY2hhbmdlIG5vdGlmaWNhdGlvbnMuYFZlcnNpb25Ob3RpZnlVbnJlcXVlc3RlZAwBLGRlc3RpbmF0aW9uQQEBIExvY2F0aW9uAAEQY29zdEkCARhBc3NldHMAAShtZXNzYWdlX2lkCAEcWGNtSGFzaAAWCCUBV2UgaGF2ZSByZXF1ZXN0ZWQgdGhhdCBhIHJlbW90ZSBjaGFpbiBzdG9wcyBzZW5kaW5nIHVzIFhDTSB2ZXJzaW9uIGNoYW5nZThub3RpZmljYXRpb25zLiBGZWVzUGFpZAgBGHBheWluZ0EBASBMb2NhdGlvbgABEGZlZXNJAgEYQXNzZXRzABcEMQFGZWVzIHdlcmUgcGFpZCBmcm9tIGEgbG9jYXRpb24gZm9yIGFuIG9wZXJhdGlvbiAob2Z0ZW4gZm9yIHVzaW5nIGBTZW5kWGNtYCkuNEFzc2V0c0NsYWltZWQMARBoYXNoPAEQSDI1NgABGG9yaWdpbkEBASBMb2NhdGlvbgABGGFzc2V0c7kCATxWZXJzaW9uZWRBc3NldHMAGATAU29tZSBhc3NldHMgaGF2ZSBiZWVuIGNsYWltZWQgZnJvbSBhbiBhc3NldCB0cmFwYFZlcnNpb25NaWdyYXRpb25GaW5pc2hlZAQBHHZlcnNpb244AShYY21WZXJzaW9uABkEhEEgWENNIHZlcnNpb24gbWlncmF0aW9uIGZpbmlzaGVkLjxBbGlhc0F1dGhvcml6ZWQMARxhbGlhc2VyQQEBIExvY2F0aW9uAAEYdGFyZ2V0QQEBIExvY2F0aW9uAAEYZXhwaXJ59QIBLE9wdGlvbjx1NjQ+ABoIXQFBbiBgYWxpYXNlcmAgbG9jYXRpb24gd2FzIGF1dGhvcml6ZWQgYnkgYHRhcmdldGAgdG8gYWxpYXMgaXQsIGF1dGhvcml6YXRpb24gdmFsaWQgdW50aWxYYGV4cGlyeWAgYmxvY2sgbnVtYmVyLmRBbGlhc0F1dGhvcml6YXRpb25SZW1vdmVkCAEcYWxpYXNlckEBASBMb2NhdGlvbgABGHRhcmdldEEBASBMb2NhdGlvbgAbBMxgdGFyZ2V0YCByZW1vdmVkIGFsaWFzIGF1dGhvcml6YXRpb24gZm9yIGBhbGlhc2VyYC5wQWxpYXNlc0F1dGhvcml6YXRpb25zUmVtb3ZlZAQBGHRhcmdldEEBASBMb2NhdGlvbgAcBKhgdGFyZ2V0YCByZW1vdmVkIGFsbCBhbGlhcyBhdXRob3JpemF0aW9ucy4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQpBRAsc3RhZ2luZ194Y20IdjUYdHJhaXRzHE91dGNvbWUAAQwgQ29tcGxldGUEARB1c2VktQEBGFdlaWdodAAAAChJbmNvbXBsZXRlCAEQdXNlZLUBARhXZWlnaHQAARRlcnJvci0FAUBJbnN0cnVjdGlvbkVycm9yAAEAFEVycm9yBAAtBQFASW5zdHJ1Y3Rpb25FcnJvcgACAAAtBRAsc3RhZ2luZ194Y20IdjUYdHJhaXRzQEluc3RydWN0aW9uRXJyb3IAAAgBFGluZGV4DAFASW5zdHJ1Y3Rpb25JbmRleAABFGVycm9ybQIBFEVycm9yAAAxBRAMeGNtCHYzGHRyYWl0cyRTZW5kRXJyb3IAARw0Tm90QXBwbGljYWJsZQAAACRUcmFuc3BvcnQAAQAoVW5yb3V0YWJsZQACAFhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAAMAVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQAEADxNaXNzaW5nQXJndW1lbnQABQAQRmVlcwAGAAA1BQxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBRFdmVudAQEVAABDDRJbnZhbGlkRm9ybWF0BAAIASBbdTg7IDMyXQAACIBEb3dud2FyZCBtZXNzYWdlIGlzIGludmFsaWQgWENNLiBcWyBpZCBcXUhVbnN1cHBvcnRlZFZlcnNpb24EAAgBIFt1ODsgMzJdAAEIvERvd253YXJkIG1lc3NhZ2UgaXMgdW5zdXBwb3J0ZWQgdmVyc2lvbiBvZiBYQ00uIFxbIGlkIFxdQEV4ZWN1dGVkRG93bndhcmQIAAgBIFt1ODsgMzJdAAApBQEcT3V0Y29tZQACCMREb3dud2FyZCBtZXNzYWdlIGV4ZWN1dGVkIHdpdGggdGhlIGdpdmVuIG91dGNvbWUuRFxbIGlkLCBvdXRjb21lIFxdBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0OQUMOHBhbGxldF91dGlsaXR5GHBhbGxldBRFdmVudAABIEBCYXRjaEludGVycnVwdGVkCAEUaW5kZXg4AQx1MzIAARRlcnJvct0EATREaXNwYXRjaEVycm9yAAAIVQFCYXRjaCBvZiBkaXNwYXRjaGVzIGRpZCBub3QgY29tcGxldGUgZnVsbHkuIEluZGV4IG9mIGZpcnN0IGZhaWxpbmcgZGlzcGF0Y2ggZ2l2ZW4sIGFzSHdlbGwgYXMgdGhlIGVycm9yLjhCYXRjaENvbXBsZXRlZAABBMhCYXRjaCBvZiBkaXNwYXRjaGVzIGNvbXBsZXRlZCBmdWxseSB3aXRoIG5vIGVycm9yLmBCYXRjaENvbXBsZXRlZFdpdGhFcnJvcnMAAgS0QmF0Y2ggb2YgZGlzcGF0Y2hlcyBjb21wbGV0ZWQgYnV0IGhhcyBlcnJvcnMuNEl0ZW1Db21wbGV0ZWQAAwQdAUEgc2luZ2xlIGl0ZW0gd2l0aGluIGEgQmF0Y2ggb2YgZGlzcGF0Y2hlcyBoYXMgY29tcGxldGVkIHdpdGggbm8gZXJyb3IuKEl0ZW1GYWlsZWQEARRlcnJvct0EATREaXNwYXRjaEVycm9yAAQEEQFBIHNpbmdsZSBpdGVtIHdpdGhpbiBhIEJhdGNoIG9mIGRpc3BhdGNoZXMgaGFzIGNvbXBsZXRlZCB3aXRoIGVycm9yLjBEaXNwYXRjaGVkQXMEARhyZXN1bHQ9BQE4RGlzcGF0Y2hSZXN1bHQABQRYQSBjYWxsIHdhcyBkaXNwYXRjaGVkLkRJZkVsc2VNYWluU3VjY2VzcwAGBGRNYWluIGNhbGwgd2FzIGRpc3BhdGNoZWQuUElmRWxzZUZhbGxiYWNrQ2FsbGVkBAEobWFpbl9lcnJvct0EATREaXNwYXRjaEVycm9yAAcEhFRoZSBmYWxsYmFjayBjYWxsIHdhcyBkaXNwYXRjaGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldD0FBBhSZXN1bHQIBFQBEARFAd0EAQgIT2sEABAAAAAADEVycgQA3QQAAAEAAEEFDDxwYWxsZXRfbXVsdGlzaWcYcGFsbGV0FEV2ZW50BARUAAEULE5ld011bHRpc2lnDAEkYXBwcm92aW5nBAEwVDo6QWNjb3VudElkAAEgbXVsdGlzaWcEATBUOjpBY2NvdW50SWQAASRjYWxsX2hhc2gIASBDYWxsSGFzaAAABIxBIG5ldyBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZ3VuLkBNdWx0aXNpZ0FwcHJvdmFsEAEkYXBwcm92aW5nBAEwVDo6QWNjb3VudElkAAEkdGltZXBvaW50IQMBcFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4AASBtdWx0aXNpZwQBMFQ6OkFjY291bnRJZAABJGNhbGxfaGFzaAgBIENhbGxIYXNoAAEEyEEgbXVsdGlzaWcgb3BlcmF0aW9uIGhhcyBiZWVuIGFwcHJvdmVkIGJ5IHNvbWVvbmUuQE11bHRpc2lnRXhlY3V0ZWQUASRhcHByb3ZpbmcEATBUOjpBY2NvdW50SWQAASR0aW1lcG9pbnQhAwFwVGltZXBvaW50PEJsb2NrTnVtYmVyRm9yPFQ+PgABIG11bHRpc2lnBAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoCAEgQ2FsbEhhc2gAARhyZXN1bHQ9BQE4RGlzcGF0Y2hSZXN1bHQAAgScQSBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZW4gZXhlY3V0ZWQuRE11bHRpc2lnQ2FuY2VsbGVkEAEoY2FuY2VsbGluZwQBMFQ6OkFjY291bnRJZAABJHRpbWVwb2ludCEDAXBUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+AAEgbXVsdGlzaWcEATBUOjpBY2NvdW50SWQAASRjYWxsX2hhc2gIASBDYWxsSGFzaAADBKBBIG11bHRpc2lnIG9wZXJhdGlvbiBoYXMgYmVlbiBjYW5jZWxsZWQuMERlcG9zaXRQb2tlZBABDHdobwQBMFQ6OkFjY291bnRJZAABJGNhbGxfaGFzaAgBIENhbGxIYXNoAAEsb2xkX2RlcG9zaXTEATBCYWxhbmNlT2Y8VD4AASxuZXdfZGVwb3NpdMQBMEJhbGFuY2VPZjxUPgAEBPBUaGUgZGVwb3NpdCBmb3IgYSBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZW4gdXBkYXRlZC9wb2tlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRFBQwwcGFsbGV0X3Byb3h5GHBhbGxldBRFdmVudAQEVAABHDRQcm94eUV4ZWN1dGVkBAEYcmVzdWx0PQUBOERpc3BhdGNoUmVzdWx0AAAEvEEgcHJveHkgd2FzIGV4ZWN1dGVkIGNvcnJlY3RseSwgd2l0aCB0aGUgZ2l2ZW4uLFB1cmVDcmVhdGVkGAEQcHVyZQQBMFQ6OkFjY291bnRJZAABDHdobwQBMFQ6OkFjY291bnRJZAABKHByb3h5X3R5cGUtAwEwVDo6UHJveHlUeXBlAAFQZGlzYW1iaWd1YXRpb25faW5kZXgFAwEMdTE2AAEIYXQ4AURCbG9ja051bWJlckZvcjxUPgABPGV4dHJpbnNpY19pbmRleDgBDHUzMgABCNxBIHB1cmUgYWNjb3VudCBoYXMgYmVlbiBjcmVhdGVkIGJ5IG5ldyBwcm94eSB3aXRoIGdpdmVukGRpc2FtYmlndWF0aW9uIGluZGV4IGFuZCBwcm94eSB0eXBlLihQdXJlS2lsbGVkEAEQcHVyZQQBMFQ6OkFjY291bnRJZAABHHNwYXduZXIEATBUOjpBY2NvdW50SWQAAShwcm94eV90eXBlLQMBMFQ6OlByb3h5VHlwZQABUGRpc2FtYmlndWF0aW9uX2luZGV4BQMBDHUxNgACBJxBIHB1cmUgcHJveHkgd2FzIGtpbGxlZCBieSBpdHMgc3Bhd25lci4kQW5ub3VuY2VkDAEQcmVhbAQBMFQ6OkFjY291bnRJZAABFHByb3h5BAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoPAE0Q2FsbEhhc2hPZjxUPgADBOBBbiBhbm5vdW5jZW1lbnQgd2FzIHBsYWNlZCB0byBtYWtlIGEgY2FsbCBpbiB0aGUgZnV0dXJlLihQcm94eUFkZGVkEAEkZGVsZWdhdG9yBAEwVDo6QWNjb3VudElkAAEkZGVsZWdhdGVlBAEwVDo6QWNjb3VudElkAAEocHJveHlfdHlwZS0DATBUOjpQcm94eVR5cGUAARRkZWxheTgBREJsb2NrTnVtYmVyRm9yPFQ+AAQESEEgcHJveHkgd2FzIGFkZGVkLjBQcm94eVJlbW92ZWQQASRkZWxlZ2F0b3IEATBUOjpBY2NvdW50SWQAASRkZWxlZ2F0ZWUEATBUOjpBY2NvdW50SWQAAShwcm94eV90eXBlLQMBMFQ6OlByb3h5VHlwZQABFGRlbGF5OAFEQmxvY2tOdW1iZXJGb3I8VD4ABQRQQSBwcm94eSB3YXMgcmVtb3ZlZC4wRGVwb3NpdFBva2VkEAEMd2hvBAEwVDo6QWNjb3VudElkAAEQa2luZEkFASxEZXBvc2l0S2luZAABLG9sZF9kZXBvc2l0xAEwQmFsYW5jZU9mPFQ+AAEsbmV3X2RlcG9zaXTEATBCYWxhbmNlT2Y8VD4ABgQJAUEgZGVwb3NpdCBzdG9yZWQgZm9yIHByb3hpZXMgb3IgYW5ub3VuY2VtZW50cyB3YXMgcG9rZWQgLyB1cGRhdGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldEkFCDBwYWxsZXRfcHJveHksRGVwb3NpdEtpbmQAAQgcUHJveGllcwAAADRBbm5vdW5jZW1lbnRzAAEAAE0FDFhwYWxsZXRfYnJpZGdlX3JlbGF5ZXJzGHBhbGxldBRFdmVudAgEVAAESQABFEBSZXdhcmRSZWdpc3RlcmVkDAEccmVsYXllcgQBMFQ6OkFjY291bnRJZASYUmVsYXllciBhY2NvdW50IHRoYXQgY2FuIGNsYWltIHJld2FyZC4BLHJld2FyZF9raW5kNQMBJFQ6OlJld2FyZASYUmVsYXllciBjYW4gY2xhaW0gdGhpcyBraW5kIG9mIHJld2FyZC4BOHJld2FyZF9iYWxhbmNlxAFAVDo6UmV3YXJkQmFsYW5jZQQ4UmV3YXJkIGFtb3VudC4ABPBSZWxheWVyIHJld2FyZCBoYXMgYmVlbiByZWdpc3RlcmVkIGFuZCBtYXkgYmUgY2xhaW1lZCBsYXRlci4oUmV3YXJkUGFpZBABHHJlbGF5ZXIEATBUOjpBY2NvdW50SWQEnFJlbGF5ZXIgYWNjb3VudCB0aGF0IGhhcyBiZWVuIHJld2FyZGVkLgEscmV3YXJkX2tpbmQ1AwEkVDo6UmV3YXJkBKRSZWxheWVyIGhhcyByZWNlaXZlZCByZXdhcmQgb2YgdGhpcyBraW5kLgE4cmV3YXJkX2JhbGFuY2XEAUBUOjpSZXdhcmRCYWxhbmNlBDhSZXdhcmQgYW1vdW50LgEsYmVuZWZpY2lhcnlFAwFMQmVuZWZpY2lhcnlPZjxULCBJPgQwQmVuZWZpY2lhcnkuAQSQUmV3YXJkIGhhcyBiZWVuIHBhaWQgdG8gdGhlIHJlbGF5ZXIuTFJlZ2lzdHJhdGlvblVwZGF0ZWQIARxyZWxheWVyBAEwVDo6QWNjb3VudElkBKRSZWxheWVyIGFjY291bnQgdGhhdCBoYXMgYmVlbiByZWdpc3RlcmVkLgEwcmVnaXN0cmF0aW9uUQUBrFJlZ2lzdHJhdGlvbjxCbG9ja051bWJlckZvcjxUPiwgVDo6QmFsYW5jZT4EVFJlbGF5ZXIgcmVnaXN0cmF0aW9uLgIEvFJlbGF5ZXIgcmVnaXN0cmF0aW9uIGhhcyBiZWVuIGFkZGVkIG9yIHVwZGF0ZWQuMERlcmVnaXN0ZXJlZAQBHHJlbGF5ZXIEATBUOjpBY2NvdW50SWQEtFJlbGF5ZXIgYWNjb3VudCB0aGF0IGhhcyBiZWVuIGBkZXJlZ2lzdGVyZWRgLgMEgFJlbGF5ZXIgaGFzIGJlZW4gYGRlcmVnaXN0ZXJlZGAuWFNsYXNoZWRBbmREZXJlZ2lzdGVyZWQIARxyZWxheWVyBAEwVDo6QWNjb3VudElkBLRSZWxheWVyIGFjY291bnQgdGhhdCBoYXMgYmVlbiBgZGVyZWdpc3RlcmVkYC4BMHJlZ2lzdHJhdGlvblEFAaxSZWdpc3RyYXRpb248QmxvY2tOdW1iZXJGb3I8VD4sIFQ6OkJhbGFuY2U+BHhSZWdpc3RyYXRpb24gdGhhdCB3YXMgcmVtb3ZlZC4EBLBSZWxheWVyIGhhcyBiZWVuIHNsYXNoZWQgYW5kIGBkZXJlZ2lzdGVyZWRgLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldFEFDCxicF9yZWxheWVyczByZWdpc3RyYXRpb24wUmVnaXN0cmF0aW9uCCxCbG9ja051bWJlcgE4HEJhbGFuY2UBxAAIASh2YWxpZF90aWxsOAEsQmxvY2tOdW1iZXIAARRzdGFrZcQBHEJhbGFuY2UAAFUFDFRwYWxsZXRfYnJpZGdlX2dyYW5kcGEYcGFsbGV0FEV2ZW50CARUAARJAAEEaFVwZGF0ZWRCZXN0RmluYWxpemVkSGVhZGVyDAEYbnVtYmVyOAFgQnJpZGdlZEJsb2NrTnVtYmVyPFQsIEk+BKBOdW1iZXIgb2YgdGhlIG5ldyBiZXN0IGZpbmFsaXplZCBoZWFkZXIuARBoYXNoPAFYQnJpZGdlZEJsb2NrSGFzaDxULCBJPgSYSGFzaCBvZiB0aGUgbmV3IGJlc3QgZmluYWxpemVkIGhlYWRlci4BMGdyYW5kcGFfaW5mb1kFAbBTdG9yZWRIZWFkZXJHcmFuZHBhSW5mbzxCcmlkZ2VkSGVhZGVyPFQsIEk+PgT0VGhlIEdyYW5kcGEgaW5mbyBhc3NvY2lhdGVkIHRvIHRoZSBuZXcgYmVzdCBmaW5hbGl6ZWQgaGVhZGVyLgAEWQFCZXN0IGZpbmFsaXplZCBjaGFpbiBoZWFkZXIgaGFzIGJlZW4gdXBkYXRlZCB0byB0aGUgaGVhZGVyIHdpdGggZ2l2ZW4gbnVtYmVyIGFuZCBoYXNoLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldFkFCDxicF9oZWFkZXJfY2hhaW5ISGVhZGVyRmluYWxpdHlJbmZvCDRGaW5hbGl0eVByb29mAU0DbEZpbmFsaXR5VmVyaWZpY2F0aW9uQ29udGV4dAFdBQAIAThmaW5hbGl0eV9wcm9vZk0DATRGaW5hbGl0eVByb29mAAFgbmV3X3ZlcmlmaWNhdGlvbl9jb250ZXh0YQUBjE9wdGlvbjxGaW5hbGl0eVZlcmlmaWNhdGlvbkNvbnRleHQ+AABdBQg8YnBfaGVhZGVyX2NoYWluMEF1dGhvcml0eVNldAAACAEsYXV0aG9yaXRpZXNxAwE0QXV0aG9yaXR5TGlzdAABGHNldF9pZCgBFFNldElkAABhBQQYT3B0aW9uBARUAV0FAQgQTm9uZQAAABBTb21lBABdBQAAAQAAZQUMYHBhbGxldF9icmlkZ2VfcGFyYWNoYWlucxhwYWxsZXQURXZlbnQIBFQABEkAARhoVW50cmFja2VkUGFyYWNoYWluUmVqZWN0ZWQEASRwYXJhY2hhaW6RAwEYUGFyYUlkBPhJZGVudGlmaWVyIG9mIHRoZSBwYXJhY2hhaW4gdGhhdCBpcyBub3QgdHJhY2tlZCBieSB0aGUgcGFsbGV0LgAEVQFUaGUgY2FsbGVyIGhhcyBwcm92aWRlZCBoZWFkIG9mIHBhcmFjaGFpbiB0aGF0IHRoZSBwYWxsZXQgaXMgbm90IGNvbmZpZ3VyZWQgdG8gdHJhY2suUE1pc3NpbmdQYXJhY2hhaW5IZWFkBAEkcGFyYWNoYWlukQMBGFBhcmFJZAS4SWRlbnRpZmllciBvZiB0aGUgcGFyYWNoYWluIHdpdGggbWlzc2luZyBoZWFkLgEIUQFUaGUgY2FsbGVyIGhhcyBkZWNsYXJlZCB0aGF0IGhlIGhhcyBwcm92aWRlZCBnaXZlbiBwYXJhY2hhaW4gaGVhZCwgYnV0IGl0IGlzIG1pc3NpbmdcZnJvbSB0aGUgc3RvcmFnZSBwcm9vZi5oSW5jb3JyZWN0UGFyYWNoYWluSGVhZEhhc2gMASRwYXJhY2hhaW6RAwEYUGFyYUlkBNRJZGVudGlmaWVyIG9mIHRoZSBwYXJhY2hhaW4gd2l0aCBpbmNvcnJlY3QgaGVhZCBoYXN0LgFMcGFyYWNoYWluX2hlYWRfaGFzaDwBIFBhcmFIYXNoBHhTcGVjaWZpZWQgcGFyYWNoYWluIGhlYWQgaGFzaC4BaGFjdHVhbF9wYXJhY2hhaW5faGVhZF9oYXNoPAEgUGFyYUhhc2gEbEFjdHVhbCBwYXJhY2hhaW4gaGVhZCBoYXNoLgIIXQFUaGUgY2FsbGVyIGhhcyBwcm92aWRlZCBwYXJhY2hhaW4gaGVhZCBoYXNoIHRoYXQgaXMgbm90IG1hdGNoaW5nIHRoZSBoYXNoIHJlYWQgZnJvbSB0aGU4c3RvcmFnZSBwcm9vZi50UmVqZWN0ZWRPYnNvbGV0ZVBhcmFjaGFpbkhlYWQIASRwYXJhY2hhaW6RAwEYUGFyYUlkBLxJZGVudGlmaWVyIG9mIHRoZSBwYXJhY2hhaW4gd2l0aCBvYnNvbGV0ZSBoZWFkLgFMcGFyYWNoYWluX2hlYWRfaGFzaDwBIFBhcmFIYXNoBHRPYnNvbGV0ZSBwYXJhY2hhaW4gaGVhZCBoYXNoLgMEWQFUaGUgY2FsbGVyIGhhcyBwcm92aWRlZCBvYnNvbGV0ZSBwYXJhY2hhaW4gaGVhZCwgd2hpY2ggaXMgYWxyZWFkeSBrbm93biB0byB0aGUgcGFsbGV0LmhSZWplY3RlZExhcmdlUGFyYWNoYWluSGVhZAwBJHBhcmFjaGFpbpEDARhQYXJhSWQEvElkZW50aWZpZXIgb2YgdGhlIHBhcmFjaGFpbiB3aXRoIHJlamVjdGVkIGhlYWQuAUxwYXJhY2hhaW5faGVhZF9oYXNoPAEgUGFyYUhhc2gEUFBhcmFjaGFpbiBoZWFkIGhhc2guAUxwYXJhY2hhaW5faGVhZF9zaXplOAEMdTMyBFBQYXJhY2hhaW4gaGVhZCBzaXplLgQEVQFUaGUgY2FsbGVyIGhhcyBwcm92aWRlZCBwYXJhY2hhaW4gaGVhZCB0aGF0IGV4Y2VlZHMgdGhlIG1heGltYWwgY29uZmlndXJlZCBoZWFkIHNpemUuUFVwZGF0ZWRQYXJhY2hhaW5IZWFkCAEkcGFyYWNoYWlukQMBGFBhcmFJZATISWRlbnRpZmllciBvZiB0aGUgcGFyYWNoYWluIHRoYXQgaGFzIGJlZW4gdXBkYXRlZC4BTHBhcmFjaGFpbl9oZWFkX2hhc2g8ASBQYXJhSGFzaARQUGFyYWNoYWluIGhlYWQgaGFzaC4FBIBQYXJhY2hhaW4gaGVhZCBoYXMgYmVlbiB1cGRhdGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldGkFDFhwYWxsZXRfYnJpZGdlX21lc3NhZ2VzGHBhbGxldBRFdmVudAgEVAAESQABDDxNZXNzYWdlQWNjZXB0ZWQIARxsYW5lX2lkPQMBJFQ6OkxhbmVJZASUTGFuZSwgd2hpY2ggaGFzIGFjY2VwdGVkIHRoZSBtZXNzYWdlLgEUbm9uY2UoATBNZXNzYWdlTm9uY2UEaE5vbmNlIG9mIGFjY2VwdGVkIG1lc3NhZ2UuAATkTWVzc2FnZSBoYXMgYmVlbiBhY2NlcHRlZCBhbmQgaXMgd2FpdGluZyB0byBiZSBkZWxpdmVyZWQuQE1lc3NhZ2VzUmVjZWl2ZWQEAG0FAW0BUmVjZWl2ZWRNZXNzYWdlczw8VDo6TWVzc2FnZURpc3BhdGNoIGFzIE1lc3NhZ2VEaXNwYXRjaD46OgpEaXNwYXRjaExldmVsUmVzdWx0LCBUOjpMYW5lSWQsPgSUUmVzdWx0IG9mIHJlY2VpdmVkIG1lc3NhZ2VzIGRpc3BhdGNoLgEEzE1lc3NhZ2VzIGhhdmUgYmVlbiByZWNlaXZlZCBmcm9tIHRoZSBicmlkZ2VkIGNoYWluLkRNZXNzYWdlc0RlbGl2ZXJlZAgBHGxhbmVfaWQ9AwEkVDo6TGFuZUlkBLxMYW5lIGZvciB3aGljaCB0aGUgZGVsaXZlcnkgaGFzIGJlZW4gY29uZmlybWVkLgEgbWVzc2FnZXOFBQFERGVsaXZlcmVkTWVzc2FnZXMETERlbGl2ZXJlZCBtZXNzYWdlcy4CBCUBTWVzc2FnZXMgaW4gdGhlIGluY2x1c2l2ZSByYW5nZSBoYXZlIGJlZW4gZGVsaXZlcmVkIHRvIHRoZSBicmlkZ2VkIGNoYWluLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldG0FCCxicF9tZXNzYWdlc0BSZWNlaXZlZE1lc3NhZ2VzCExEaXNwYXRjaExldmVsUmVzdWx0AXEFGExhbmVJZAE9AwAIARBsYW5lPQMBGExhbmVJZAABPHJlY2VpdmVfcmVzdWx0c3UFAeRWZWM8KE1lc3NhZ2VOb25jZSwgUmVjZXB0aW9uUmVzdWx0PERpc3BhdGNoTGV2ZWxSZXN1bHQ+KT4AAHEFDFRwYWxsZXRfeGNtX2JyaWRnZV9odWIoZGlzcGF0Y2hlcnBYY21CbG9iTWVzc2FnZURpc3BhdGNoUmVzdWx0AAEMOEludmFsaWRQYXlsb2FkAAAAKERpc3BhdGNoZWQAAQA0Tm90RGlzcGF0Y2hlZAACAAB1BQAAAnkFAHkFAAAECCh9BQB9BQgsYnBfbWVzc2FnZXM8UmVjZXB0aW9uUmVzdWx0BExEaXNwYXRjaExldmVsUmVzdWx0AXEFARAoRGlzcGF0Y2hlZAQAgQUBqE1lc3NhZ2VEaXNwYXRjaFJlc3VsdDxEaXNwYXRjaExldmVsUmVzdWx0PgAAADBJbnZhbGlkTm9uY2UAAQBkVG9vTWFueVVucmV3YXJkZWRSZWxheWVycwACAGhUb29NYW55VW5jb25maXJtZWRNZXNzYWdlcwADAACBBQwoYnBfcnVudGltZSBtZXNzYWdlc1RNZXNzYWdlRGlzcGF0Y2hSZXN1bHQETERpc3BhdGNoTGV2ZWxSZXN1bHQBcQUACAE4dW5zcGVudF93ZWlnaHS1AQEYV2VpZ2h0AAFUZGlzcGF0Y2hfbGV2ZWxfcmVzdWx0cQUBTERpc3BhdGNoTGV2ZWxSZXN1bHQAAIUFCCxicF9tZXNzYWdlc0REZWxpdmVyZWRNZXNzYWdlcwAACAEUYmVnaW4oATBNZXNzYWdlTm9uY2UAAQxlbmQoATBNZXNzYWdlTm9uY2UAAIkFDFRwYWxsZXRfeGNtX2JyaWRnZV9odWIYcGFsbGV0FEV2ZW50CARUAARJAAEMMEJyaWRnZU9wZW5lZBQBJGJyaWRnZV9pZI0FASBCcmlkZ2VJZARIQnJpZGdlIGlkZW50aWZpZXIuAThicmlkZ2VfZGVwb3NpdMQBcEJhbGFuY2VPZjxUaGlzQ2hhaW5PZjxULCBJPj4EXEFtb3VudCBvZiBkZXBvc2l0IGhlbGQuAThsb2NhbF9lbmRwb2ludEUBAVRCb3g8SW50ZXJpb3JMb2NhdGlvbj4EsFVuaXZlcnNhbCBsb2NhdGlvbiBvZiBsb2NhbCBicmlkZ2UgZW5kcG9pbnQuATxyZW1vdGVfZW5kcG9pbnRFAQFUQm94PEludGVyaW9yTG9jYXRpb24+BLRVbml2ZXJzYWwgbG9jYXRpb24gb2YgcmVtb3RlIGJyaWRnZSBlbmRwb2ludC4BHGxhbmVfaWQ9AwEkVDo6TGFuZUlkBEBMYW5lIGlkZW50aWZpZXIuAATEVGhlIGJyaWRnZSBiZXR3ZWVuIHR3byBsb2NhdGlvbnMgaGFzIGJlZW4gb3BlbmVkLjRDbG9zaW5nQnJpZGdlEAEkYnJpZGdlX2lkjQUBIEJyaWRnZUlkBEhCcmlkZ2UgaWRlbnRpZmllci4BHGxhbmVfaWQ9AwEkVDo6TGFuZUlkBEBMYW5lIGlkZW50aWZpZXIuATxwcnVuZWRfbWVzc2FnZXMoATBNZXNzYWdlTm9uY2UEwE51bWJlciBvZiBwcnVuZWQgbWVzc2FnZXMgZHVyaW5nIHRoZSBjbG9zZSBjYWxsLgFEZW5xdWV1ZWRfbWVzc2FnZXMoATBNZXNzYWdlTm9uY2UEGQFOdW1iZXIgb2YgZW5xdWV1ZWQgbWVzc2FnZXMgdGhhdCBuZWVkIHRvIGJlIHBydW5lZCBpbiBmb2xsb3cgdXAgY2FsbHMuAQRBAUJyaWRnZSBpcyBnb2luZyB0byBiZSBjbG9zZWQsIGJ1dCBub3QgeWV0IGZ1bGx5IHBydW5lZCBmcm9tIHRoZSBydW50aW1lIHN0b3JhZ2UuMEJyaWRnZVBydW5lZBABJGJyaWRnZV9pZI0FASBCcmlkZ2VJZARIQnJpZGdlIGlkZW50aWZpZXIuARxsYW5lX2lkPQMBJFQ6OkxhbmVJZARATGFuZSBpZGVudGlmaWVyLgE4YnJpZGdlX2RlcG9zaXTEAXBCYWxhbmNlT2Y8VGhpc0NoYWluT2Y8VCwgST4+BGxBbW91bnQgb2YgZGVwb3NpdCByZWxlYXNlZC4BPHBydW5lZF9tZXNzYWdlcygBME1lc3NhZ2VOb25jZQTATnVtYmVyIG9mIHBydW5lZCBtZXNzYWdlcyBkdXJpbmcgdGhlIGNsb3NlIGNhbGwuAghJAUJyaWRnZSBoYXMgYmVlbiBjbG9zZWQgYW5kIHBydW5lZCBmcm9tIHRoZSBydW50aW1lIHN0b3JhZ2UuIEl0IG5vdyBtYXkgYmUgcmVvcGVuZWRkYWdhaW4gYnkgYW55IHBhcnRpY2lwYW50LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldI0FCERicF94Y21fYnJpZGdlX2h1YiBCcmlkZ2VJZAAABAA8ARBIMjU2AACRBQx8c25vd2JyaWRnZV9wYWxsZXRfaW5ib3VuZF9xdWV1ZRhwYWxsZXQURXZlbnQEBFQAAQg8TWVzc2FnZVJlY2VpdmVkEAEoY2hhbm5lbF9pZGkEASRDaGFubmVsSWQETFRoZSBtZXNzYWdlIGNoYW5uZWwBFG5vbmNlKAEMdTY0BERUaGUgbWVzc2FnZSBub25jZQEobWVzc2FnZV9pZAgBIFt1ODsgMzJdBDEBSUQgb2YgdGhlIFhDTSBtZXNzYWdlIHdoaWNoIHdhcyBmb3J3YXJkZWQgdG8gdGhlIGZpbmFsIGRlc3RpbmF0aW9uIHBhcmFjaGFpbgEoZmVlX2J1cm5lZMQBMEJhbGFuY2VPZjxUPgRsRmVlIGJ1cm5lZCBmb3IgdGhlIHRlbGVwb3J0AASQQSBtZXNzYWdlIHdhcyByZWNlaXZlZCBmcm9tIEV0aGVyZXVtUE9wZXJhdGluZ01vZGVDaGFuZ2VkBAEQbW9kZfEDAUhCYXNpY09wZXJhdGluZ01vZGUAAQREU2V0IE9wZXJhdGluZ01vZGUEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSVBQyAc25vd2JyaWRnZV9wYWxsZXRfb3V0Ym91bmRfcXVldWUYcGFsbGV0FEV2ZW50BARUAAEQNE1lc3NhZ2VRdWV1ZWQEAQhpZDwBEEgyNTYE+ElEIG9mIHRoZSBtZXNzYWdlLiBVc3VhbGx5IHRoZSBYQ00gbWVzc2FnZSBoYXNoIG9yIGEgU2V0VG9waWMuAATsTWVzc2FnZSBoYXMgYmVlbiBxdWV1ZWQgYW5kIHdpbGwgYmUgcHJvY2Vzc2VkIGluIHRoZSBmdXR1cmU8TWVzc2FnZUFjY2VwdGVkCAEIaWQ8ARBIMjU2BERJRCBvZiB0aGUgbWVzc2FnZQEUbm9uY2UoAQx1NjQEiFRoZSBub25jZSBhc3NpZ25lZCB0byB0aGlzIG1lc3NhZ2UBCEEBTWVzc2FnZSB3aWxsIGJlIGNvbW1pdHRlZCBhdCB0aGUgZW5kIG9mIGN1cnJlbnQgYmxvY2suIEZyb20gbm93IG9uLCB0byB0cmFjayB0aGW4cHJvZ3Jlc3MgdGhlIG1lc3NhZ2UsIHVzZSB0aGUgYG5vbmNlYCBvZiBgaWRgLkRNZXNzYWdlc0NvbW1pdHRlZAgBEHJvb3Q8ARBIMjU2BJRNZXJrbGUgcm9vdCBvZiB0aGUgY29tbWl0dGVkIG1lc3NhZ2VzARRjb3VudCgBDHU2NARwbnVtYmVyIG9mIGNvbW1pdHRlZCBtZXNzYWdlcwIEhFNvbWUgbWVzc2FnZXMgaGF2ZSBiZWVuIGNvbW1pdHRlZFBPcGVyYXRpbmdNb2RlQ2hhbmdlZAQBEG1vZGXxAwFIQmFzaWNPcGVyYXRpbmdNb2RlAAMERFNldCBPcGVyYXRpbmdNb2RlBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0mQUMhHNub3dicmlkZ2VfcGFsbGV0X2V0aGVyZXVtX2NsaWVudBhwYWxsZXQURXZlbnQEBFQAAQxQQmVhY29uSGVhZGVySW1wb3J0ZWQIAShibG9ja19oYXNoPAEQSDI1NgABEHNsb3QoAQx1NjQAAABQU3luY0NvbW1pdHRlZVVwZGF0ZWQEARhwZXJpb2QoAQx1NjQAAQBQT3BlcmF0aW5nTW9kZUNoYW5nZWQEARBtb2Rl8QMBSEJhc2ljT3BlcmF0aW5nTW9kZQACBERTZXQgT3BlcmF0aW5nTW9kZQR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldJ0FDGBzbm93YnJpZGdlX3BhbGxldF9zeXN0ZW0YcGFsbGV0FEV2ZW50BARUAAEkHFVwZ3JhZGUMATBpbXBsX2FkZHJlc3PBAwEQSDE2MAABOGltcGxfY29kZV9oYXNoPAEQSDI1NgABXGluaXRpYWxpemVyX3BhcmFtc19oYXNooQUBME9wdGlvbjxIMjU2PgAABKhBbiBVcGdyYWRlIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIEdhdGV3YXksQ3JlYXRlQWdlbnQIASBsb2NhdGlvbkEBATRCb3g8TG9jYXRpb24+AAEgYWdlbnRfaWQ8ARxBZ2VudElkAAEEuEFuIENyZWF0ZUFnZW50IG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIEdhdGV3YXk0Q3JlYXRlQ2hhbm5lbAgBKGNoYW5uZWxfaWRpBAEkQ2hhbm5lbElkAAEgYWdlbnRfaWQ8ARxBZ2VudElkAAIEwEFuIENyZWF0ZUNoYW5uZWwgbWVzc2FnZSB3YXMgc2VudCB0byB0aGUgR2F0ZXdheTRVcGRhdGVDaGFubmVsCAEoY2hhbm5lbF9pZGkEASRDaGFubmVsSWQAARBtb2RlNQQBNE9wZXJhdGluZ01vZGUAAwTAQW4gVXBkYXRlQ2hhbm5lbCBtZXNzYWdlIHdhcyBzZW50IHRvIHRoZSBHYXRld2F5QFNldE9wZXJhdGluZ01vZGUEARBtb2RlNQQBNE9wZXJhdGluZ01vZGUABATMQW4gU2V0T3BlcmF0aW5nTW9kZSBtZXNzYWdlIHdhcyBzZW50IHRvIHRoZSBHYXRld2F5XFRyYW5zZmVyTmF0aXZlRnJvbUFnZW50DAEgYWdlbnRfaWQ8ARxBZ2VudElkAAEkcmVjaXBpZW50wQMBEEgxNjAAARhhbW91bnTEARB1MTI4AAUE6EFuIFRyYW5zZmVyTmF0aXZlRnJvbUFnZW50IG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIEdhdGV3YXlQU2V0VG9rZW5UcmFuc2ZlckZlZXMMAUBjcmVhdGVfYXNzZXRfeGNtxAEQdTEyOAABSHRyYW5zZmVyX2Fzc2V0X3hjbcQBEHUxMjgAAThyZWdpc3Rlcl90b2tlbuUDARBVMjU2AAYE2EEgU2V0VG9rZW5UcmFuc2ZlckZlZXMgbWVzc2FnZSB3YXMgc2VudCB0byB0aGUgR2F0ZXdheWBQcmljaW5nUGFyYW1ldGVyc0NoYW5nZWQEARhwYXJhbXM5BAFYUHJpY2luZ1BhcmFtZXRlcnNPZjxUPgAHADRSZWdpc3RlclRva2VuCAEgbG9jYXRpb27sAURWZXJzaW9uZWRMb2NhdGlvbgSETG9jYXRpb24gb2YgUG9sa2Fkb3QtbmF0aXZlIHRva2VuAUBmb3JlaWduX3Rva2VuX2lkPAEQSDI1NgScSUQgb2YgUG9sa2Fkb3QtbmF0aXZlIHRva2VuIG9uIEV0aGVyZXVtCAQNAVJlZ2lzdGVyIFBvbGthZG90LW5hdGl2ZSB0b2tlbiBhcyBhIHdyYXBwZWQgRVJDMjAgdG9rZW4gb24gRXRoZXJldW0EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXShBQQYT3B0aW9uBARUATwBCBBOb25lAAAAEFNvbWUEADwAAAEAAKUFDGxzbm93YnJpZGdlX3BhbGxldF9zeXN0ZW1fdjIYcGFsbGV0FEV2ZW50BARUAAEQHFVwZ3JhZGUMATBpbXBsX2FkZHJlc3PBAwEQSDE2MAABOGltcGxfY29kZV9oYXNoPAEQSDI1NgABXGluaXRpYWxpemVyX3BhcmFtc19oYXNoPAEQSDI1NgAABKhBbiBVcGdyYWRlIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIEdhdGV3YXlAU2V0T3BlcmF0aW5nTW9kZQQBEG1vZGU1BAE0T3BlcmF0aW5nTW9kZQABBMxBbiBTZXRPcGVyYXRpbmdNb2RlIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIEdhdGV3YXk0UmVnaXN0ZXJUb2tlbggBIGxvY2F0aW9u7AFEVmVyc2lvbmVkTG9jYXRpb24EhExvY2F0aW9uIG9mIFBvbGthZG90LW5hdGl2ZSB0b2tlbgFAZm9yZWlnbl90b2tlbl9pZDwBEEgyNTYEnElEIG9mIFBvbGthZG90LW5hdGl2ZSB0b2tlbiBvbiBFdGhlcmV1bQIEDQFSZWdpc3RlciBQb2xrYWRvdC1uYXRpdmUgdG9rZW4gYXMgYSB3cmFwcGVkIEVSQzIwIHRva2VuIG9uIEV0aGVyZXVtMFRpcFByb2Nlc3NlZBABGHNlbmRlcgQBOEFjY291bnRJZE9mPFQ+BORUaGUgb3JpZ2luYWwgc2VuZGVyIG9mIHRoZSB0aXAgKHdobyBkZXBvc2l0ZWQgdGhlIGZ1bmRzKS4BKG1lc3NhZ2VfaWRVBAEkTWVzc2FnZUlkBIhUaGUgSW5ib3VuZC9PdXRib3VuZCBtZXNzYWdlIG5vbmNlARhhbW91bnTEARB1MTI4BGBUaGUgdGlwIGFtb3VudCBpbiBldGhlci4BHHN1Y2Nlc3PIARBib29sCCEBV2hldGhlciB0aGUgdGlwIHdhcyBhZGRlZCBzdWNjZXNzZnVsbHkuIElmIHRoZSB0aXAgd2FzIGFkZGVkIGZvciBhIG5vbmNl9HRoYXQgd2FzIGFscmVhZHkgY29uc3VtZWQsIHRoZSB0aXAgd2lsbCBiZSBhZGRlZCB0byBMb3N0VGlwcy4DCFEBQSB0aXAgd2FzIHByb2Nlc3NlZCBmb3IgYW4gaW5ib3VuZCBvciBvdXRib3VuZCBtZXNzYWdlLCBmb3IgcmVsYXllciBpbmNlbnRpdml6YXRpb24u/El0IGNvdWxkIGhhdmUgc3VjY2VlZGVkIG9yIGZhaWxlZCAoYW5kIHRoZW4gYWRkZWQgdG8gTG9zdFRpcHMpLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKkFDIhzbm93YnJpZGdlX3BhbGxldF9pbmJvdW5kX3F1ZXVlX3YyGHBhbGxldBRFdmVudAQEVAABCDxNZXNzYWdlUmVjZWl2ZWQIARRub25jZSgBDHU2NAREVGhlIG1lc3NhZ2Ugbm9uY2UBKG1lc3NhZ2VfaWQIASBbdTg7IDMyXQQxAUlEIG9mIHRoZSBYQ00gbWVzc2FnZSB3aGljaCB3YXMgZm9yd2FyZGVkIHRvIHRoZSBmaW5hbCBkZXN0aW5hdGlvbiBwYXJhY2hhaW4ABJBBIG1lc3NhZ2Ugd2FzIHJlY2VpdmVkIGZyb20gRXRoZXJldW1QT3BlcmF0aW5nTW9kZUNoYW5nZWQEARBtb2Rl8QMBSEJhc2ljT3BlcmF0aW5nTW9kZQABBERTZXQgT3BlcmF0aW5nTW9kZQR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldK0FDIxzbm93YnJpZGdlX3BhbGxldF9vdXRib3VuZF9xdWV1ZV92MhhwYWxsZXQURXZlbnQEBFQAARw0TWVzc2FnZVF1ZXVlZAQBHG1lc3NhZ2WxBQEcTWVzc2FnZQQsVGhlIG1lc3NhZ2UABOxNZXNzYWdlIGhhcyBiZWVuIHF1ZXVlZCBhbmQgd2lsbCBiZSBwcm9jZXNzZWQgaW4gdGhlIGZ1dHVyZTxNZXNzYWdlQWNjZXB0ZWQIAQhpZDwBEEgyNTYERElEIG9mIHRoZSBtZXNzYWdlARRub25jZSgBDHU2NASIVGhlIG5vbmNlIGFzc2lnbmVkIHRvIHRoaXMgbWVzc2FnZQEIQQFNZXNzYWdlIHdpbGwgYmUgY29tbWl0dGVkIGF0IHRoZSBlbmQgb2YgY3VycmVudCBibG9jay4gRnJvbSBub3cgb24sIHRvIHRyYWNrIHRoZchwcm9ncmVzcyB0aGUgbWVzc2FnZSwgdXNlIHRoZSBgbm9uY2VgIG9yIHRoZSBgaWRgLjxNZXNzYWdlUmVqZWN0ZWQMAQhpZKEFATBPcHRpb248SDI1Nj4INQFJRCBvZiB0aGUgbWVzc2FnZSwgaWYga25vd24gKGUuZy4gaWYgYSBtZXNzYWdlIGlzIGNvcnJ1cHQsIHRoZSBJRCB3aWxsIG5vdCBiZRxrbm93bikuARxwYXlsb2FkGAEcVmVjPHU4PgghAVRoZSBwYXlsb2FkIG9mIHRoZSBtZXNzYWdlLiBVc2VmdWwgZm9yIGRlYnVnZ2luZyBwdXJwb3NlcyBpZiB0aGUgbWVzc2FnZUhjYW5ub3QgYmUgZGVjb2RlZC4BFGVycm9ywQUBTFByb2Nlc3NNZXNzYWdlRXJyb3IEcFRoZSBlcnJvciB0aGF0IHdhcyByZXR1cm5lZC4CBFEBTWVzc2FnZSB3YXMgbm90IGNvbW1pdHRlZCBkdWUgdG8gc29tZSBmYWlsdXJlIGNvbmRpdGlvbiwgbGlrZSBhbiBvdmVyd2VpZ2h0IG1lc3NhZ2UuQE1lc3NhZ2VQb3N0cG9uZWQIARxwYXlsb2FkGAEcVmVjPHU4PgghAVRoZSBwYXlsb2FkIG9mIHRoZSBtZXNzYWdlLiBVc2VmdWwgZm9yIGRlYnVnZ2luZyBwdXJwb3NlcyBpZiB0aGUgbWVzc2FnZUhjYW5ub3QgYmUgZGVjb2RlZC4BGHJlYXNvbsEFAUxQcm9jZXNzTWVzc2FnZUVycm9yBHBUaGUgZXJyb3IgdGhhdCB3YXMgcmV0dXJuZWQuAwQ9AU1lc3NhZ2Ugd2FzIG5vdCBjb21taXR0ZWQgZHVlIHRvIGJlaW5nIG92ZXJ3ZWlnaHQgb3IgdGhlIGN1cnJlbnQgYmxvY2sgaXMgZnVsbC5ETWVzc2FnZXNDb21taXR0ZWQIARByb290PAEQSDI1NgSUTWVya2xlIHJvb3Qgb2YgdGhlIGNvbW1pdHRlZCBtZXNzYWdlcwEUY291bnQoAQx1NjQEcG51bWJlciBvZiBjb21taXR0ZWQgbWVzc2FnZXMEBIRTb21lIG1lc3NhZ2VzIGhhdmUgYmVlbiBjb21taXR0ZWRQT3BlcmF0aW5nTW9kZUNoYW5nZWQEARBtb2Rl8QMBSEJhc2ljT3BlcmF0aW5nTW9kZQAFBERTZXQgT3BlcmF0aW5nTW9kZUBNZXNzYWdlRGVsaXZlcmVkBAEUbm9uY2UoAQx1NjQABgRcRGVsaXZlcnkgUHJvb2YgcmVjZWl2ZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSxBRCQc25vd2JyaWRnZV9vdXRib3VuZF9xdWV1ZV9wcmltaXRpdmVzCHYyHG1lc3NhZ2UcTWVzc2FnZQAAEAEYb3JpZ2luPAEQSDI1NgABCGlkPAEQSDI1NgABDGZlZcQBEHUxMjgAASBjb21tYW5kc7UFAaxCb3VuZGVkVmVjPENvbW1hbmQsIENvbnN0VTMyPE1BWF9DT01NQU5EUz4+AAC1BQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAbkFBFMAAAQAvQUBGFZlYzxUPgAAuQUQkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcwh2MhxtZXNzYWdlHENvbW1hbmQAARgcVXBncmFkZQwBMGltcGxfYWRkcmVzc8EDARBIMTYwAAE4aW1wbF9jb2RlX2hhc2g8ARBIMjU2AAEsaW5pdGlhbGl6ZXJRBAEsSW5pdGlhbGl6ZXIAAABAU2V0T3BlcmF0aW5nTW9kZQQBEG1vZGU1BAE0T3BlcmF0aW5nTW9kZQABAERVbmxvY2tOYXRpdmVUb2tlbgwBFHRva2VuwQMBEEgxNjAAASRyZWNpcGllbnTBAwEQSDE2MAABGGFtb3VudMQBEHUxMjgAAgBQUmVnaXN0ZXJGb3JlaWduVG9rZW4QASB0b2tlbl9pZDwBEEgyNTYAARBuYW1lGAEcVmVjPHU4PgABGHN5bWJvbBgBHFZlYzx1OD4AASBkZWNpbWFscwwBCHU4AAMAQE1pbnRGb3JlaWduVG9rZW4MASB0b2tlbl9pZDwBEEgyNTYAASRyZWNpcGllbnTBAwEQSDE2MAABGGFtb3VudMQBEHUxMjgABAAwQ2FsbENvbnRyYWN0EAEYdGFyZ2V0wQMBEEgxNjAAASBjYWxsZGF0YRgBHFZlYzx1OD4AAQxnYXMoAQx1NjQAARR2YWx1ZcQBEHUxMjgABQAAvQUAAAK5BQDBBRA0ZnJhbWVfc3VwcG9ydBh0cmFpdHMgbWVzc2FnZXNMUHJvY2Vzc01lc3NhZ2VFcnJvcgABGCRCYWRGb3JtYXQAAAAcQ29ycnVwdAABACxVbnN1cHBvcnRlZAACAChPdmVyd2VpZ2h0BAC1AQEYV2VpZ2h0AAMAFFlpZWxkAAQARFN0YWNrTGltaXRSZWFjaGVkAAUAAMUFDFBwYWxsZXRfbWVzc2FnZV9xdWV1ZRhwYWxsZXQURXZlbnQEBFQAARBAUHJvY2Vzc2luZ0ZhaWxlZAwBCGlkPAEQSDI1NgSUVGhlIGBibGFrZTJfMjU2YCBoYXNoIG9mIHRoZSBtZXNzYWdlLgEYb3JpZ2luZQQBSE1lc3NhZ2VPcmlnaW5PZjxUPgRkVGhlIHF1ZXVlIG9mIHRoZSBtZXNzYWdlLgEUZXJyb3LBBQFMUHJvY2Vzc01lc3NhZ2VFcnJvchBgVGhlIGVycm9yIHRoYXQgb2NjdXJyZWQuAEkBVGhpcyBlcnJvciBpcyBwcmV0dHkgb3BhcXVlLiBNb3JlIGZpbmUtZ3JhaW5lZCBlcnJvcnMgbmVlZCB0byBiZSBlbWl0dGVkIGFzIGV2ZW50c2hieSB0aGUgYE1lc3NhZ2VQcm9jZXNzb3JgLgAEVQFNZXNzYWdlIGRpc2NhcmRlZCBkdWUgdG8gYW4gZXJyb3IgaW4gdGhlIGBNZXNzYWdlUHJvY2Vzc29yYCAodXN1YWxseSBhIGZvcm1hdCBlcnJvcikuJFByb2Nlc3NlZBABCGlkPAEQSDI1NgSUVGhlIGBibGFrZTJfMjU2YCBoYXNoIG9mIHRoZSBtZXNzYWdlLgEYb3JpZ2luZQQBSE1lc3NhZ2VPcmlnaW5PZjxUPgRkVGhlIHF1ZXVlIG9mIHRoZSBtZXNzYWdlLgEsd2VpZ2h0X3VzZWS1AQEYV2VpZ2h0BMBIb3cgbXVjaCB3ZWlnaHQgd2FzIHVzZWQgdG8gcHJvY2VzcyB0aGUgbWVzc2FnZS4BHHN1Y2Nlc3PIARBib29sGIhXaGV0aGVyIHRoZSBtZXNzYWdlIHdhcyBwcm9jZXNzZWQuAEkBTm90ZSB0aGF0IHRoaXMgZG9lcyBub3QgbWVhbiB0aGF0IHRoZSB1bmRlcmx5aW5nIGBNZXNzYWdlUHJvY2Vzc29yYCB3YXMgaW50ZXJuYWxseTUBc3VjY2Vzc2Z1bC4gSXQgKnNvbGVseSogbWVhbnMgdGhhdCB0aGUgTVEgcGFsbGV0IHdpbGwgdHJlYXQgdGhpcyBhcyBhIHN1Y2Nlc3NNAWNvbmRpdGlvbiBhbmQgZGlzY2FyZCB0aGUgbWVzc2FnZS4gQW55IGludGVybmFsIGVycm9yIG5lZWRzIHRvIGJlIGVtaXR0ZWQgYXMgZXZlbnRzaGJ5IHRoZSBgTWVzc2FnZVByb2Nlc3NvcmAuAQRUTWVzc2FnZSBpcyBwcm9jZXNzZWQuSE92ZXJ3ZWlnaHRFbnF1ZXVlZBABCGlkCAEgW3U4OyAzMl0ElFRoZSBgYmxha2UyXzI1NmAgaGFzaCBvZiB0aGUgbWVzc2FnZS4BGG9yaWdpbmUEAUhNZXNzYWdlT3JpZ2luT2Y8VD4EZFRoZSBxdWV1ZSBvZiB0aGUgbWVzc2FnZS4BKHBhZ2VfaW5kZXg4ASRQYWdlSW5kZXgEYFRoZSBwYWdlIG9mIHRoZSBtZXNzYWdlLgE0bWVzc2FnZV9pbmRleDgBHFQ6OlNpemUEpFRoZSBpbmRleCBvZiB0aGUgbWVzc2FnZSB3aXRoaW4gdGhlIHBhZ2UuAgSMTWVzc2FnZSBwbGFjZWQgaW4gb3ZlcndlaWdodCBxdWV1ZS4oUGFnZVJlYXBlZAgBGG9yaWdpbmUEAUhNZXNzYWdlT3JpZ2luT2Y8VD4EWFRoZSBxdWV1ZSBvZiB0aGUgcGFnZS4BFGluZGV4OAEkUGFnZUluZGV4BFhUaGUgaW5kZXggb2YgdGhlIHBhZ2UuAwRUVGhpcyBwYWdlIHdhcyByZWFwZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0yQUIMGZyYW1lX3N5c3RlbRRQaGFzZQABDDhBcHBseUV4dHJpbnNpYwQAOAEMdTMyAAAAMEZpbmFsaXphdGlvbgABADhJbml0aWFsaXphdGlvbgACAADNBQAAAtEFANEFAAAECDg4ANUFCDBmcmFtZV9zeXN0ZW1YTGFzdFJ1bnRpbWVVcGdyYWRlSW5mbwAACAEwc3BlY192ZXJzaW9uYAFMY29kZWM6OkNvbXBhY3Q8dTMyPgABJHNwZWNfbmFtZdkFAURDb3c8J3N0YXRpYywgc3RyPgAA2QUEDENvdwQEVAHdBQAEAN0FAAAA3QUAAAUCAOEFCDBmcmFtZV9zeXN0ZW1gQ29kZVVwZ3JhZGVBdXRob3JpemF0aW9uBARUAAAIASRjb2RlX2hhc2g8ARxUOjpIYXNoAAE0Y2hlY2tfdmVyc2lvbsgBEGJvb2wAAOUFDDBmcmFtZV9zeXN0ZW0YbGltaXRzMEJsb2NrV2VpZ2h0cwAADAEoYmFzZV9ibG9ja7UBARhXZWlnaHQAASRtYXhfYmxvY2u1AQEYV2VpZ2h0AAEkcGVyX2NsYXNz6QUBhFBlckRpc3BhdGNoQ2xhc3M8V2VpZ2h0c1BlckNsYXNzPgAA6QUMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUGVyRGlzcGF0Y2hDbGFzcwQEVAHtBQAMARhub3JtYWztBQEEVAABLG9wZXJhdGlvbmFs7QUBBFQAASRtYW5kYXRvcnntBQEEVAAA7QUMMGZyYW1lX3N5c3RlbRhsaW1pdHM8V2VpZ2h0c1BlckNsYXNzAAAQAThiYXNlX2V4dHJpbnNpY7UBARhXZWlnaHQAATRtYXhfZXh0cmluc2ljhQIBOE9wdGlvbjxXZWlnaHQ+AAEkbWF4X3RvdGFshQIBOE9wdGlvbjxXZWlnaHQ+AAEgcmVzZXJ2ZWSFAgE4T3B0aW9uPFdlaWdodD4AAPEFDDBmcmFtZV9zeXN0ZW0YbGltaXRzLEJsb2NrTGVuZ3RoAAAIAQxtYXj1BQFUUGVyRGlzcGF0Y2hDbGFzczx1MzI+AAE8bWF4X2hlYWRlcl9zaXpl6QIBLE9wdGlvbjx1MzI+AAD1BQw0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaEBQZXJEaXNwYXRjaENsYXNzBARUATgADAEYbm9ybWFsOAEEVAABLG9wZXJhdGlvbmFsOAEEVAABJG1hbmRhdG9yeTgBBFQAAPkFCChzcF93ZWlnaHRzPFJ1bnRpbWVEYldlaWdodAAACAEQcmVhZCgBDHU2NAABFHdyaXRlKAEMdTY0AAD9BQgoc3BfdmVyc2lvbjhSdW50aW1lVmVyc2lvbgAAIAEkc3BlY19uYW1l2QUBRENvdzwnc3RhdGljLCBzdHI+AAEkaW1wbF9uYW1l2QUBRENvdzwnc3RhdGljLCBzdHI+AAFEYXV0aG9yaW5nX3ZlcnNpb244AQx1MzIAATBzcGVjX3ZlcnNpb244AQx1MzIAATBpbXBsX3ZlcnNpb244AQx1MzIAARBhcGlzAQYBHEFwaXNWZWMAAUx0cmFuc2FjdGlvbl92ZXJzaW9uOAEMdTMyAAE4c3lzdGVtX3ZlcnNpb24MAQh1OAAAAQYEDENvdwQEVAEFBgAEAAUGAAAABQYAAAIJBgAJBgAABAidATgADQYMMGZyYW1lX3N5c3RlbRhwYWxsZXQURXJyb3IEBFQAASQ8SW52YWxpZFNwZWNOYW1lAAAIEQFUaGUgbmFtZSBvZiBzcGVjaWZpY2F0aW9uIGRvZXMgbm90IG1hdGNoIGJldHdlZW4gdGhlIGN1cnJlbnQgcnVudGltZVBhbmQgdGhlIG5ldyBydW50aW1lLmhTcGVjVmVyc2lvbk5lZWRzVG9JbmNyZWFzZQABCEEBVGhlIHNwZWNpZmljYXRpb24gdmVyc2lvbiBpcyBub3QgYWxsb3dlZCB0byBkZWNyZWFzZSBiZXR3ZWVuIHRoZSBjdXJyZW50IHJ1bnRpbWVQYW5kIHRoZSBuZXcgcnVudGltZS50RmFpbGVkVG9FeHRyYWN0UnVudGltZVZlcnNpb24AAgzsRmFpbGVkIHRvIGV4dHJhY3QgdGhlIHJ1bnRpbWUgdmVyc2lvbiBmcm9tIHRoZSBuZXcgcnVudGltZS4ACQFFaXRoZXIgY2FsbGluZyBgQ29yZV92ZXJzaW9uYCBvciBkZWNvZGluZyBgUnVudGltZVZlcnNpb25gIGZhaWxlZC5MTm9uRGVmYXVsdENvbXBvc2l0ZQADBPxTdWljaWRlIGNhbGxlZCB3aGVuIHRoZSBhY2NvdW50IGhhcyBub24tZGVmYXVsdCBjb21wb3NpdGUgZGF0YS48Tm9uWmVyb1JlZkNvdW50AAQENQFUaGVyZSBpcyBhIG5vbi16ZXJvIHJlZmVyZW5jZSBjb3VudCBwcmV2ZW50aW5nIHRoZSBhY2NvdW50IGZyb20gYmVpbmcgcHVyZ2VkLjBDYWxsRmlsdGVyZWQABQTQVGhlIG9yaWdpbiBmaWx0ZXIgcHJldmVudCB0aGUgY2FsbCB0byBiZSBkaXNwYXRjaGVkLmxNdWx0aUJsb2NrTWlncmF0aW9uc09uZ29pbmcABgRVAUEgbXVsdGktYmxvY2sgbWlncmF0aW9uIGlzIG9uZ29pbmcgYW5kIHByZXZlbnRzIHRoZSBjdXJyZW50IGNvZGUgZnJvbSBiZWluZyByZXBsYWNlZC5ETm90aGluZ0F1dGhvcml6ZWQABwRYTm8gdXBncmFkZSBhdXRob3JpemVkLjBVbmF1dGhvcml6ZWQACASUVGhlIHN1Ym1pdHRlZCBjb2RlIGlzIG5vdCBhdXRob3JpemVkLgRsRXJyb3IgZm9yIHRoZSBTeXN0ZW0gcGFsbGV0EQYMKHNwX3J1bnRpbWUYdHJhaXRzLEJsYWtlVHdvMjU2AAAAABUGEChzcF9ydW50aW1lHGdlbmVyaWMUYmxvY2sUQmxvY2sIGEhlYWRlcgFcJEV4dHJpbnNpYwEZBgAIARhoZWFkZXJcARhIZWFkZXIAAShleHRyaW5zaWNzJQYBOFZlYzxFeHRyaW5zaWM+AAAZBhAoc3BfcnVudGltZRxnZW5lcmljTHVuY2hlY2tlZF9leHRyaW5zaWNIVW5jaGVja2VkRXh0cmluc2ljEBxBZGRyZXNzAQAQQ2FsbAEgJFNpZ25hdHVyZQFtBBRFeHRyYQEdBgAEABgAAAAdBgh0Y3VtdWx1c19wYWxsZXRfd2VpZ2h0X3JlY2xhaW1QU3RvcmFnZVdlaWdodFJlY2xhaW0IBFQABFMBIQYABAAhBgEEUwAAIQYAAAQwdQR5BH0EgQSFBIkEkQSVBJkEnQShBKUEACUGAAACGQYAKQYMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW0wYmxvY2tfd2VpZ2h0PEJsb2NrV2VpZ2h0TW9kZQQEVAABDCBGdWxsQ29yZQQBHGNvbnRleHQ4AURCbG9ja051bWJlckZvcjxUPgAAAERQb3RlbnRpYWxGdWxsQ29yZQwBHGNvbnRleHQ4AURCbG9ja051bWJlckZvcjxUPgABXGZpcnN0X3RyYW5zYWN0aW9uX2luZGV46QIBLE9wdGlvbjx1MzI+AAE0dGFyZ2V0X3dlaWdodLUBARhXZWlnaHQAAQA4RnJhY3Rpb25PZkNvcmUIARxjb250ZXh0OAFEQmxvY2tOdW1iZXJGb3I8VD4AAVxmaXJzdF90cmFuc2FjdGlvbl9pbmRleOkCASxPcHRpb248dTMyPgACAAAtBgAABgUDADEGAAACNQYANQYMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50IEFuY2VzdG9yBARIATwADAE4dXNlZF9iYW5kd2lkdGg5BgE0VXNlZEJhbmR3aWR0aAABOHBhcmFfaGVhZF9oYXNooQUBJE9wdGlvbjxIPgABYGNvbnN1bWVkX2dvX2FoZWFkX3NpZ25hbE0GAYxPcHRpb248cmVsYXlfY2hhaW46OlVwZ3JhZGVHb0FoZWFkPgAAOQYMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50NFVzZWRCYW5kd2lkdGgAAAwBNHVtcF9tc2dfY291bnQ4AQx1MzIAATx1bXBfdG90YWxfYnl0ZXM4AQx1MzIAATRocm1wX291dGdvaW5nPQYBjEJUcmVlTWFwPFBhcmFJZCwgSHJtcENoYW5uZWxVcGRhdGU+AAA9BgQgQlRyZWVNYXAIBEsBnARWAUEGAAQARQYAAABBBgx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUh1bmluY2x1ZGVkX3NlZ21lbnRESHJtcENoYW5uZWxVcGRhdGUAAAgBJG1zZ19jb3VudDgBDHUzMgABLHRvdGFsX2J5dGVzOAEMdTMyAABFBgAAAkkGAEkGAAAECJxBBgBNBgQYT3B0aW9uBARUAVEGAQgQTm9uZQAAABBTb21lBABRBgAAAQAAUQYMTHBvbGthZG90X3ByaW1pdGl2ZXMIdjk4VXBncmFkZUdvQWhlYWQAAQgUQWJvcnQAAAAcR29BaGVhZAABAABVBgx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUh1bmluY2x1ZGVkX3NlZ21lbnQ4U2VnbWVudFRyYWNrZXIEBEgBPAAMATh1c2VkX2JhbmR3aWR0aDkGATRVc2VkQmFuZHdpZHRoAAE4aHJtcF93YXRlcm1hcmvpAgGAT3B0aW9uPHJlbGF5X2NoYWluOjpCbG9ja051bWJlcj4AAWBjb25zdW1lZF9nb19haGVhZF9zaWduYWxNBgGMT3B0aW9uPHJlbGF5X2NoYWluOjpVcGdyYWRlR29BaGVhZD4AAFkGBBhPcHRpb24EBFQBXQYBCBBOb25lAAAAEFNvbWUEAF0GAAABAABdBgxMcG9sa2Fkb3RfcHJpbWl0aXZlcwh2OUhVcGdyYWRlUmVzdHJpY3Rpb24AAQQcUHJlc2VudAAAAABhBgx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbVByZWxheV9zdGF0ZV9zbmFwc2hvdFhNZXNzYWdpbmdTdGF0ZVNuYXBzaG90AAAQATBkbXFfbXFjX2hlYWQ8AURyZWxheV9jaGFpbjo6SGFzaAABnHJlbGF5X2Rpc3BhdGNoX3F1ZXVlX3JlbWFpbmluZ19jYXBhY2l0eWUGAYxSZWxheURpc3BhdGNoUXVldWVSZW1haW5pbmdDYXBhY2l0eQABQGluZ3Jlc3NfY2hhbm5lbHNpBgGIVmVjPChQYXJhSWQsIEFicmlkZ2VkSHJtcENoYW5uZWwpPgABPGVncmVzc19jaGFubmVsc2kGAYhWZWM8KFBhcmFJZCwgQWJyaWRnZWRIcm1wQ2hhbm5lbCk+AABlBgx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbVByZWxheV9zdGF0ZV9zbmFwc2hvdIxSZWxheURpc3BhdGNoUXVldWVSZW1haW5pbmdDYXBhY2l0eQAACAE8cmVtYWluaW5nX2NvdW50OAEMdTMyAAE4cmVtYWluaW5nX3NpemU4AQx1MzIAAGkGAAACbQYAbQYAAAQInHEGAHEGDExwb2xrYWRvdF9wcmltaXRpdmVzCHY5TEFicmlkZ2VkSHJtcENoYW5uZWwAABgBMG1heF9jYXBhY2l0eTgBDHUzMgABOG1heF90b3RhbF9zaXplOAEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZTgBDHUzMgABJG1zZ19jb3VudDgBDHUzMgABKHRvdGFsX3NpemU4AQx1MzIAASBtcWNfaGVhZKEFATBPcHRpb248SGFzaD4AAHUGDExwb2xrYWRvdF9wcmltaXRpdmVzCHY5ZEFicmlkZ2VkSG9zdENvbmZpZ3VyYXRpb24AACgBNG1heF9jb2RlX3NpemU4AQx1MzIAAUhtYXhfaGVhZF9kYXRhX3NpemU4AQx1MzIAAVhtYXhfdXB3YXJkX3F1ZXVlX2NvdW50OAEMdTMyAAFUbWF4X3Vwd2FyZF9xdWV1ZV9zaXplOAEMdTMyAAFcbWF4X3Vwd2FyZF9tZXNzYWdlX3NpemU4AQx1MzIAAZBtYXhfdXB3YXJkX21lc3NhZ2VfbnVtX3Blcl9jYW5kaWRhdGU4AQx1MzIAAYhocm1wX21heF9tZXNzYWdlX251bV9wZXJfY2FuZGlkYXRlOAEMdTMyAAFsdmFsaWRhdGlvbl91cGdyYWRlX2Nvb2xkb3duOAEsQmxvY2tOdW1iZXIAAWB2YWxpZGF0aW9uX3VwZ3JhZGVfZGVsYXk4ASxCbG9ja051bWJlcgABUGFzeW5jX2JhY2tpbmdfcGFyYW1zeQYBSEFzeW5jQmFja2luZ1BhcmFtcwAAeQYQTHBvbGthZG90X3ByaW1pdGl2ZXMIdjk0YXN5bmNfYmFja2luZ0hBc3luY0JhY2tpbmdQYXJhbXMAAAgBTG1heF9jYW5kaWRhdGVfZGVwdGg4AQx1MzIAAVBhbGxvd2VkX2FuY2VzdHJ5X2xlbjgBDHUzMgAAfQYIlGN1bXVsdXNfcHJpbWl0aXZlc19wYXJhY2hhaW5faW5oZXJlbnRETWVzc2FnZVF1ZXVlQ2hhaW4AAAQAPAEkUmVsYXlIYXNoAACBBgQgQlRyZWVNYXAIBEsBnARWAX0GAAQAhQYAAACFBgAAAokGAIkGAAAECJx9BgCNBgx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUhwYXJhY2hhaW5faW5oZXJlbnRASW5ib3VuZE1lc3NhZ2VJZAAACAEcc2VudF9hdDgBLEJsb2NrTnVtYmVyAAEscmV2ZXJzZV9pZHg4AQx1MzIAAJEGAAAClQYAlQYIYHBvbGthZG90X2NvcmVfcHJpbWl0aXZlc0xPdXRib3VuZEhybXBNZXNzYWdlBAhJZAGcAAgBJHJlY2lwaWVudJwBCElkAAEQZGF0YRgBTGFsbG9jOjp2ZWM6OlZlYzx1OD4AAJkGCHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtLFBvVk1lc3NhZ2VzAAAYAWhyZWxheV9zdG9yYWdlX3Jvb3Rfb3JfaGFzaDwBRHJlbGF5X2NoYWluOjpIYXNoAAE0Y29yZV9zZWxlY3RvcgwBCHU4AAEwYnVuZGxlX2luZGV4DAEIdTgAATR1bXBfbXNnX2NvdW50OAEMdTMyAAFMaHJtcF9vdXRib3VuZF9jb3VudDgBDHUzMgABYGhybXBfb3V0Ym91bmRfcmVjaXBpZW50c50GASxWZWM8UGFyYUlkPgAAnQYAAAKcAKEGDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtGHBhbGxldBRFcnJvcgQEVAABGExPdmVybGFwcGluZ1VwZ3JhZGVzAAAEGQFBdHRlbXB0IHRvIHVwZ3JhZGUgdmFsaWRhdGlvbiBmdW5jdGlvbiB3aGlsZSBleGlzdGluZyB1cGdyYWRlIHBlbmRpbmcuUFByb2hpYml0ZWRCeVBvbGthZG90AAEETQFQb2xrYWRvdCBjdXJyZW50bHkgcHJvaGliaXRzIHRoaXMgcGFyYWNoYWluIGZyb20gdXBncmFkaW5nIGl0cyB2YWxpZGF0aW9uIGZ1bmN0aW9uLhhUb29CaWcAAghFAVRoZSBzdXBwbGllZCB2YWxpZGF0aW9uIGZ1bmN0aW9uIGhhcyBjb21waWxlZCBpbnRvIGEgYmxvYiBsYXJnZXIgdGhhbiBQb2xrYWRvdCBpczx3aWxsaW5nIHRvIHJ1bi5oVmFsaWRhdGlvbkRhdGFOb3RBdmFpbGFibGUAAwQdAVRoZSBpbmhlcmVudCB3aGljaCBzdXBwbGllcyB0aGUgdmFsaWRhdGlvbiBkYXRhIGRpZCBub3QgcnVuIHRoaXMgYmxvY2sudEhvc3RDb25maWd1cmF0aW9uTm90QXZhaWxhYmxlAAQEKQFUaGUgaW5oZXJlbnQgd2hpY2ggc3VwcGxpZXMgdGhlIGhvc3QgY29uZmlndXJhdGlvbiBkaWQgbm90IHJ1biB0aGlzIGJsb2NrLjBOb3RTY2hlZHVsZWQABQTYTm8gdmFsaWRhdGlvbiBmdW5jdGlvbiB1cGdyYWRlIGlzIGN1cnJlbnRseSBzY2hlZHVsZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LqUGDExib3VuZGVkX2NvbGxlY3Rpb25zQHdlYWtfYm91bmRlZF92ZWM4V2Vha0JvdW5kZWRWZWMIBFQBqQYEUwAABACxBgEYVmVjPFQ+AACpBgw8cGFsbGV0X2JhbGFuY2VzFHR5cGVzLEJhbGFuY2VMb2NrBBxCYWxhbmNlAcQADAEIaWSdAQE4TG9ja0lkZW50aWZpZXIAARhhbW91bnTEARxCYWxhbmNlAAEccmVhc29uc60GARxSZWFzb25zAACtBgw8cGFsbGV0X2JhbGFuY2VzFHR5cGVzHFJlYXNvbnMAAQwMRmVlAAAAEE1pc2MAAQAMQWxsAAIAALEGAAACqQYAtQYMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAG5BgRTAAAEAL0GARhWZWM8VD4AALkGDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXMsUmVzZXJ2ZURhdGEIRFJlc2VydmVJZGVudGlmaWVyAZ0BHEJhbGFuY2UBxAAIAQhpZJ0BAURSZXNlcnZlSWRlbnRpZmllcgABGGFtb3VudMQBHEJhbGFuY2UAAL0GAAACuQYAwQYMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHFBgRTAAAEAMkGARhWZWM8VD4AAMUGFDRmcmFtZV9zdXBwb3J0GHRyYWl0cxh0b2tlbnMQbWlzYyBJZEFtb3VudAgISWQBAQUcQmFsYW5jZQHEAAgBCGlkAQUBCElkAAEYYW1vdW50xAEcQmFsYW5jZQAAyQYAAALFBgDNBgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAdEGBFMAAAQA1QYBGFZlYzxUPgAA0QYUNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucxBtaXNjIElkQW1vdW50CAhJZAEQHEJhbGFuY2UBxAAIAQhpZBABCElkAAEYYW1vdW50xAEcQmFsYW5jZQAA1QYAAALRBgDZBgw8cGFsbGV0X2JhbGFuY2VzGHBhbGxldBRFcnJvcggEVAAESQABMDhWZXN0aW5nQmFsYW5jZQAABJxWZXN0aW5nIGJhbGFuY2UgdG9vIGhpZ2ggdG8gc2VuZCB2YWx1ZS5UTGlxdWlkaXR5UmVzdHJpY3Rpb25zAAEEyEFjY291bnQgbGlxdWlkaXR5IHJlc3RyaWN0aW9ucyBwcmV2ZW50IHdpdGhkcmF3YWwuTEluc3VmZmljaWVudEJhbGFuY2UAAgR4QmFsYW5jZSB0b28gbG93IHRvIHNlbmQgdmFsdWUuSEV4aXN0ZW50aWFsRGVwb3NpdAADBOxWYWx1ZSB0b28gbG93IHRvIGNyZWF0ZSBhY2NvdW50IGR1ZSB0byBleGlzdGVudGlhbCBkZXBvc2l0LjRFeHBlbmRhYmlsaXR5AAQEkFRyYW5zZmVyL3BheW1lbnQgd291bGQga2lsbCBhY2NvdW50LlxFeGlzdGluZ1Zlc3RpbmdTY2hlZHVsZQAFBMxBIHZlc3Rpbmcgc2NoZWR1bGUgYWxyZWFkeSBleGlzdHMgZm9yIHRoaXMgYWNjb3VudC4sRGVhZEFjY291bnQABgSMQmVuZWZpY2lhcnkgYWNjb3VudCBtdXN0IHByZS1leGlzdC48VG9vTWFueVJlc2VydmVzAAcEuE51bWJlciBvZiBuYW1lZCByZXNlcnZlcyBleGNlZWQgYE1heFJlc2VydmVzYC4wVG9vTWFueUhvbGRzAAgE+E51bWJlciBvZiBob2xkcyBleGNlZWQgYFZhcmlhbnRDb3VudE9mPFQ6OlJ1bnRpbWVIb2xkUmVhc29uPmAuOFRvb01hbnlGcmVlemVzAAkEmE51bWJlciBvZiBmcmVlemVzIGV4Y2VlZCBgTWF4RnJlZXplc2AuTElzc3VhbmNlRGVhY3RpdmF0ZWQACgQBAVRoZSBpc3N1YW5jZSBjYW5ub3QgYmUgbW9kaWZpZWQgc2luY2UgaXQgaXMgYWxyZWFkeSBkZWFjdGl2YXRlZC4kRGVsdGFaZXJvAAsEZFRoZSBkZWx0YSBjYW5ub3QgYmUgemVyby4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu3QYIaHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50IFJlbGVhc2VzAAEIJFYxQW5jaWVudAAAAAhWMgABAADhBhA0ZnJhbWVfc3VwcG9ydBh0cmFpdHMcc3RvcmFnZRhOb0Ryb3AEBFQB5QYABADlBgEEVAAA5QYYNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucyBmdW5naWJsZSRpbWJhbGFuY2UkSW1iYWxhbmNlDARCAcQYT25Ecm9wADhPcHBvc2l0ZU9uRHJvcAAABAEYYW1vdW50xAEEQgAA6QYMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEEBFMAAAQAzAEYVmVjPFQ+AADtBgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAfEGBFMAAAQA9QYBGFZlYzxUPgAA8QYMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0NENhbmRpZGF0ZUluZm8IJEFjY291bnRJZAEEHEJhbGFuY2UBxAAIAQx3aG8EASRBY2NvdW50SWQAARxkZXBvc2l0xAEcQmFsYW5jZQAA9QYAAALxBgD5Bgg0ZnJhbWVfc3VwcG9ydCBQYWxsZXRJZAAABACdAQEcW3U4OyA4XQAA/QYMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0FEVycm9yBARUAAFERFRvb01hbnlDYW5kaWRhdGVzAAAEjFRoZSBwYWxsZXQgaGFzIHRvbyBtYW55IGNhbmRpZGF0ZXMuXFRvb0Zld0VsaWdpYmxlQ29sbGF0b3JzAAEErExlYXZpbmcgd291bGQgcmVzdWx0IGluIHRvbyBmZXcgY2FuZGlkYXRlcy5AQWxyZWFkeUNhbmRpZGF0ZQACBHxBY2NvdW50IGlzIGFscmVhZHkgYSBjYW5kaWRhdGUuME5vdENhbmRpZGF0ZQADBGxBY2NvdW50IGlzIG5vdCBhIGNhbmRpZGF0ZS5QVG9vTWFueUludnVsbmVyYWJsZXMABASEVGhlcmUgYXJlIHRvbyBtYW55IEludnVsbmVyYWJsZXMuTEFscmVhZHlJbnZ1bG5lcmFibGUABQSMQWNjb3VudCBpcyBhbHJlYWR5IGFuIEludnVsbmVyYWJsZS48Tm90SW52dWxuZXJhYmxlAAYEfEFjY291bnQgaXMgbm90IGFuIEludnVsbmVyYWJsZS5cTm9Bc3NvY2lhdGVkVmFsaWRhdG9ySWQABwScQWNjb3VudCBoYXMgbm8gYXNzb2NpYXRlZCB2YWxpZGF0b3IgSUQuWFZhbGlkYXRvck5vdFJlZ2lzdGVyZWQACASMVmFsaWRhdG9yIElEIGlzIG5vdCB5ZXQgcmVnaXN0ZXJlZC5sSW5zZXJ0VG9DYW5kaWRhdGVMaXN0RmFpbGVkAAkEnENvdWxkIG5vdCBpbnNlcnQgaW4gdGhlIGNhbmRpZGF0ZSBsaXN0LnRSZW1vdmVGcm9tQ2FuZGlkYXRlTGlzdEZhaWxlZAAKBKRDb3VsZCBub3QgcmVtb3ZlIGZyb20gdGhlIGNhbmRpZGF0ZSBsaXN0LjREZXBvc2l0VG9vTG93AAsE9E5ldyBkZXBvc2l0IGFtb3VudCB3b3VsZCBiZSBiZWxvdyB0aGUgbWluaW11bSBjYW5kaWRhY3kgYm9uZC5kVXBkYXRlQ2FuZGlkYXRlTGlzdEZhaWxlZAAMBJBDb3VsZCBub3QgdXBkYXRlIHRoZSBjYW5kaWRhdGUgbGlzdC5ASW5zdWZmaWNpZW50Qm9uZAANBCkBRGVwb3NpdCBhbW91bnQgaXMgdG9vIGxvdyB0byB0YWtlIHRoZSB0YXJnZXQncyBzbG90IGluIHRoZSBjYW5kaWRhdGUgbGlzdC5QVGFyZ2V0SXNOb3RDYW5kaWRhdGUADgQtAVRoZSB0YXJnZXQgYWNjb3VudCB0byBiZSByZXBsYWNlZCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QgaXMgbm90IGEgY2FuZGlkYXRlLkBJZGVudGljYWxEZXBvc2l0AA8EDQFUaGUgdXBkYXRlZCBkZXBvc2l0IGFtb3VudCBpcyBlcXVhbCB0byB0aGUgYW1vdW50IGFscmVhZHkgcmVzZXJ2ZWQuQEludmFsaWRVbnJlc2VydmUAEAQ9AUNhbm5vdCBsb3dlciBjYW5kaWRhY3kgYm9uZCB3aGlsZSBvY2N1cHlpbmcgYSBmdXR1cmUgY29sbGF0b3Igc2xvdCBpbiB0aGUgbGlzdC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuAQcAAAIFBwAFBwAABAgE3AAJBwAAAg0HAA0HAAAECDgRBwARBwwoc3Bfc3Rha2luZxxvZmZlbmNlPE9mZmVuY2VTZXZlcml0eQAABAAVBwEcUGVyYmlsbAAAFQcMNHNwX2FyaXRobWV0aWMocGVyX3RoaW5ncxxQZXJiaWxsAAAEADgBDHUzMgAAGQcAAAQIHQcYAB0HDBxzcF9jb3JlGGNyeXB0byRLZXlUeXBlSWQAAAQAcAEcW3U4OyA0XQAAIQcMOHBhbGxldF9zZXNzaW9uGHBhbGxldBRFcnJvcgQEVAABFDBJbnZhbGlkUHJvb2YAAARgSW52YWxpZCBvd25lcnNoaXAgcHJvb2YuXE5vQXNzb2NpYXRlZFZhbGlkYXRvcklkAAEEnE5vIGFzc29jaWF0ZWQgdmFsaWRhdG9yIElEIGZvciBhY2NvdW50LjREdXBsaWNhdGVkS2V5AAIEZFJlZ2lzdGVyZWQgZHVwbGljYXRlIGtleS4YTm9LZXlzAAMEpE5vIGtleXMgYXJlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGFjY291bnQuJE5vQWNjb3VudAAEBBkBS2V5IHNldHRpbmcgYWNjb3VudCBpcyBub3QgbGl2ZSwgc28gaXQncyBpbXBvc3NpYmxlIHRvIGFzc29jaWF0ZSBrZXlzLgR0RXJyb3IgZm9yIHRoZSBzZXNzaW9uIHBhbGxldC4lBwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAeAEUwAABAApBwEYVmVjPFQ+AAApBwAAAuAALQcISHNwX2NvbnNlbnN1c19zbG90cxBTbG90AAAEACgBDHU2NAAAMQcAAAQILQc4ADUHDExib3VuZGVkX2NvbGxlY3Rpb25zRGJvdW5kZWRfYnRyZWVfc2V0PEJvdW5kZWRCVHJlZVNldAgEVAGcBFMAAAQAOQcBLEJUcmVlU2V0PFQ+AAA5BwQgQlRyZWVTZXQEBFQBnAAEAJ0GAAAAPQcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFBBwRTAAAEAE0HARhWZWM8VD4AAEEHCGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlWE91dGJvdW5kQ2hhbm5lbERldGFpbHMAABgBJHJlY2lwaWVudJwBGFBhcmFJZAABFHN0YXRlRQcBNE91dGJvdW5kU3RhdGUAATRzaWduYWxzX2V4aXN0yAEQYm9vbAABLGZpcnN0X2luZGV4BQMBDHUxNgABKGxhc3RfaW5kZXgFAwEMdTE2AAEUZmxhZ3NJBwFQT3V0Ym91bmRDaGFubmVsRmxhZ3MAAEUHCGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlNE91dGJvdW5kU3RhdGUAAQgIT2sAAAAkU3VzcGVuZGVkAAEAAEkHCGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlUE91dGJvdW5kQ2hhbm5lbEZsYWdzAAAEARBiaXRzOAEMdTMyAABNBwAAAkEHAFEHAAAECJwFAwBVBwxMYm91bmRlZF9jb2xsZWN0aW9uc0B3ZWFrX2JvdW5kZWRfdmVjOFdlYWtCb3VuZGVkVmVjCARUAQwEUwAABAAYARhWZWM8VD4AAFkHCGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlPFF1ZXVlQ29uZmlnRGF0YQAADAFEc3VzcGVuZF90aHJlc2hvbGQ4AQx1MzIAAThkcm9wX3RocmVzaG9sZDgBDHUzMgABQHJlc3VtZV90aHJlc2hvbGQ4AQx1MzIAAF0HDGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlGHBhbGxldBRFcnJvcgQEVAABFDhCYWRRdWV1ZUNvbmZpZwAABBEBU2V0dGluZyB0aGUgcXVldWUgY29uZmlnIGZhaWxlZCBzaW5jZSBvbmUgb2YgaXRzIHZhbHVlcyB3YXMgaW52YWxpZC5AQWxyZWFkeVN1c3BlbmRlZAABBIxUaGUgZXhlY3V0aW9uIGlzIGFscmVhZHkgc3VzcGVuZGVkLjhBbHJlYWR5UmVzdW1lZAACBIRUaGUgZXhlY3V0aW9uIGlzIGFscmVhZHkgcmVzdW1lZC50VG9vTWFueUFjdGl2ZU91dGJvdW5kQ2hhbm5lbHMAAwSwVGhlcmUgYXJlIHRvbyBtYW55IGFjdGl2ZSBvdXRib3VuZCBjaGFubmVscy4YVG9vQmlnAAQEXFRoZSBtZXNzYWdlIGlzIHRvbyBiaWcuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LmEHDChwYWxsZXRfeGNtGHBhbGxldCxRdWVyeVN0YXR1cwQsQmxvY2tOdW1iZXIBOAEMHFBlbmRpbmcQASRyZXNwb25kZXLsAURWZXJzaW9uZWRMb2NhdGlvbgABTG1heWJlX21hdGNoX3F1ZXJpZXJlBwFkT3B0aW9uPFZlcnNpb25lZExvY2F0aW9uPgABMG1heWJlX25vdGlmeWkHAUBPcHRpb248KHU4LCB1OCk+AAEcdGltZW91dDgBLEJsb2NrTnVtYmVyAAAAPFZlcnNpb25Ob3RpZmllcggBGG9yaWdpbuwBRFZlcnNpb25lZExvY2F0aW9uAAEkaXNfYWN0aXZlyAEQYm9vbAABABRSZWFkeQgBIHJlc3BvbnNlcQcBRFZlcnNpb25lZFJlc3BvbnNlAAEIYXQ4ASxCbG9ja051bWJlcgACAABlBwQYT3B0aW9uBARUAewBCBBOb25lAAAAEFNvbWUEAOwAAAEAAGkHBBhPcHRpb24EBFQBbQcBCBBOb25lAAAAEFNvbWUEAG0HAAABAABtBwAABAgMDABxBwgMeGNtRFZlcnNpb25lZFJlc3BvbnNlAAEMCFYzBAClAQEwdjM6OlJlc3BvbnNlAAMACFY0BAAVAgEwdjQ6OlJlc3BvbnNlAAQACFY1BABhAgEwdjU6OlJlc3BvbnNlAAUAAHUHAAAECDjsAHkHAAAEDCi1ATgAfQcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGBBwRTAAAEAIUHARhWZWM8VD4AAIEHAAAECOw4AIUHAAACgQcAiQcMKHBhbGxldF94Y20YcGFsbGV0VFZlcnNpb25NaWdyYXRpb25TdGFnZQABEFxNaWdyYXRlU3VwcG9ydGVkVmVyc2lvbgAAAFxNaWdyYXRlVmVyc2lvbk5vdGlmaWVycwABAFBOb3RpZnlDdXJyZW50VGFyZ2V0cwQAjQcBPE9wdGlvbjxWZWM8dTg+PgACAGhNaWdyYXRlQW5kTm90aWZ5T2xkVGFyZ2V0cwADAACNBwQYT3B0aW9uBARUARgBCBBOb25lAAAAEFNvbWUEABgAAAEAAJEHAAAEDDgE8QIAlQcMKHBhbGxldF94Y20YcGFsbGV0aFJlbW90ZUxvY2tlZEZ1bmdpYmxlUmVjb3JkCEhDb25zdW1lcklkZW50aWZpZXIBEDBNYXhDb25zdW1lcnMAABABGGFtb3VudMQBEHUxMjgAARRvd25lcuwBRFZlcnNpb25lZExvY2F0aW9uAAEYbG9ja2Vy7AFEVmVyc2lvbmVkTG9jYXRpb24AASRjb25zdW1lcnOZBwHQQm91bmRlZFZlYzwoQ29uc3VtZXJJZGVudGlmaWVyLCB1MTI4KSwgTWF4Q29uc3VtZXJzPgAAmQcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGdBwRTAAAEAKEHARhWZWM8VD4AAJ0HAAAECBDEAKEHAAACnQcApQcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGpBwRTAAAEAK0HARhWZWM8VD4AAKkHAAAECMTsAK0HAAACqQcAsQcIKHBhbGxldF94Y21YQXV0aG9yaXplZEFsaWFzZXNFbnRyeQgYVGlja2V0AbUHDE1BWAG5BwAIASBhbGlhc2Vyc70HAXhCb3VuZGVkVmVjPE9yaWdpbkFsaWFzZXIsIE1BWD4AARh0aWNrZXS1BwEYVGlja2V0AAC1BxQ0ZnJhbWVfc3VwcG9ydBh0cmFpdHMYdG9rZW5zIGZ1bmdpYmxlREhvbGRDb25zaWRlcmF0aW9uFARBAARGAARSAAREAAhGcAAABADEAShGOjpCYWxhbmNlAAC5BwwocGFsbGV0X3hjbRhwYWxsZXRQTWF4QXV0aG9yaXplZEFsaWFzZXMAAAAAvQcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHBBwRTAAAEAMUHARhWZWM8VD4AAMEHDEB4Y21fcnVudGltZV9hcGlzSGF1dGhvcml6ZWRfYWxpYXNlczRPcmlnaW5BbGlhc2VyAAAIASBsb2NhdGlvbuwBRFZlcnNpb25lZExvY2F0aW9uAAEYZXhwaXJ59QIBLE9wdGlvbjx1NjQ+AADFBwAAAsEHAMkHDChwYWxsZXRfeGNtGHBhbGxldBRFcnJvcgQEVAABcCxVbnJlYWNoYWJsZQAACF0BVGhlIGRlc2lyZWQgZGVzdGluYXRpb24gd2FzIHVucmVhY2hhYmxlLCBnZW5lcmFsbHkgYmVjYXVzZSB0aGVyZSBpcyBhIG5vIHdheSBvZiByb3V0aW5nGHRvIGl0LixTZW5kRmFpbHVyZQABCEEBVGhlcmUgd2FzIHNvbWUgb3RoZXIgaXNzdWUgKGkuZS4gbm90IHRvIGRvIHdpdGggcm91dGluZykgaW4gc2VuZGluZyB0aGUgbWVzc2FnZS7IUGVyaGFwcyBhIGxhY2sgb2Ygc3BhY2UgZm9yIGJ1ZmZlcmluZyB0aGUgbWVzc2FnZS4gRmlsdGVyZWQAAgScVGhlIG1lc3NhZ2UgZXhlY3V0aW9uIGZhaWxzIHRoZSBmaWx0ZXIuSFVud2VpZ2hhYmxlTWVzc2FnZQADBLRUaGUgbWVzc2FnZSdzIHdlaWdodCBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZC5gRGVzdGluYXRpb25Ob3RJbnZlcnRpYmxlAAQE3FRoZSBkZXN0aW5hdGlvbiBgTG9jYXRpb25gIHByb3ZpZGVkIGNhbm5vdCBiZSBpbnZlcnRlZC4URW1wdHkABQSAVGhlIGFzc2V0cyB0byBiZSBzZW50IGFyZSBlbXB0eS44Q2Fubm90UmVhbmNob3IABgQ1AUNvdWxkIG5vdCByZS1hbmNob3IgdGhlIGFzc2V0cyB0byBkZWNsYXJlIHRoZSBmZWVzIGZvciB0aGUgZGVzdGluYXRpb24gY2hhaW4uNFRvb01hbnlBc3NldHMABwTEVG9vIG1hbnkgYXNzZXRzIGhhdmUgYmVlbiBhdHRlbXB0ZWQgZm9yIHRyYW5zZmVyLjRJbnZhbGlkT3JpZ2luAAgEeE9yaWdpbiBpcyBpbnZhbGlkIGZvciBzZW5kaW5nLihCYWRWZXJzaW9uAAkEIQFUaGUgdmVyc2lvbiBvZiB0aGUgYFZlcnNpb25lZGAgdmFsdWUgdXNlZCBpcyBub3QgYWJsZSB0byBiZSBpbnRlcnByZXRlZC4sQmFkTG9jYXRpb24ACghBAVRoZSBnaXZlbiBsb2NhdGlvbiBjb3VsZCBub3QgYmUgdXNlZCAoZS5nLiBiZWNhdXNlIGl0IGNhbm5vdCBiZSBleHByZXNzZWQgaW4gdGhlYGRlc2lyZWQgdmVyc2lvbiBvZiBYQ00pLjhOb1N1YnNjcmlwdGlvbgALBLxUaGUgcmVmZXJlbmNlZCBzdWJzY3JpcHRpb24gY291bGQgbm90IGJlIGZvdW5kLkRBbHJlYWR5U3Vic2NyaWJlZAAMBBEBVGhlIGxvY2F0aW9uIGlzIGludmFsaWQgc2luY2UgaXQgYWxyZWFkeSBoYXMgYSBzdWJzY3JpcHRpb24gZnJvbSB1cy5YQ2Fubm90Q2hlY2tPdXRUZWxlcG9ydAANBCkBQ291bGQgbm90IGNoZWNrLW91dCB0aGUgYXNzZXRzIGZvciB0ZWxlcG9ydGF0aW9uIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4oTG93QmFsYW5jZQAOBEEBVGhlIG93bmVyIGRvZXMgbm90IG93biAoYWxsKSBvZiB0aGUgYXNzZXQgdGhhdCB0aGV5IHdpc2ggdG8gZG8gdGhlIG9wZXJhdGlvbiBvbi4wVG9vTWFueUxvY2tzAA8EwFRoZSBhc3NldCBvd25lciBoYXMgdG9vIG1hbnkgbG9ja3Mgb24gdGhlIGFzc2V0LkxBY2NvdW50Tm90U292ZXJlaWduABAEMQFUaGUgZ2l2ZW4gYWNjb3VudCBpcyBub3QgYW4gaWRlbnRpZmlhYmxlIHNvdmVyZWlnbiBhY2NvdW50IGZvciBhbnkgbG9jYXRpb24uKEZlZXNOb3RNZXQAEQQpAVRoZSBvcGVyYXRpb24gcmVxdWlyZWQgZmVlcyB0byBiZSBwYWlkIHdoaWNoIHRoZSBpbml0aWF0b3IgY291bGQgbm90IG1lZXQuMExvY2tOb3RGb3VuZAASBPRBIHJlbW90ZSBsb2NrIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZGF0YSBjb3VsZCBub3QgYmUgZm91bmQuFEluVXNlABMESQFUaGUgdW5sb2NrIG9wZXJhdGlvbiBjYW5ub3Qgc3VjY2VlZCBiZWNhdXNlIHRoZXJlIGFyZSBzdGlsbCBjb25zdW1lcnMgb2YgdGhlIGxvY2suaEludmFsaWRBc3NldFVua25vd25SZXNlcnZlABUE8EludmFsaWQgYXNzZXQsIHJlc2VydmUgY2hhaW4gY291bGQgbm90IGJlIGRldGVybWluZWQgZm9yIGl0LnhJbnZhbGlkQXNzZXRVbnN1cHBvcnRlZFJlc2VydmUAFgRFAUludmFsaWQgYXNzZXQsIGRvIG5vdCBzdXBwb3J0IHJlbW90ZSBhc3NldCByZXNlcnZlcyB3aXRoIGRpZmZlcmVudCBmZWVzIHJlc2VydmVzLjxUb29NYW55UmVzZXJ2ZXMAFwRJAVRvbyBtYW55IGFzc2V0cyB3aXRoIGRpZmZlcmVudCByZXNlcnZlIGxvY2F0aW9ucyBoYXZlIGJlZW4gYXR0ZW1wdGVkIGZvciB0cmFuc2Zlci5gTG9jYWxFeGVjdXRpb25JbmNvbXBsZXRlABgEfExvY2FsIFhDTSBleGVjdXRpb24gaW5jb21wbGV0ZS5gVG9vTWFueUF1dGhvcml6ZWRBbGlhc2VzABkEuFRvbyBtYW55IGxvY2F0aW9ucyBhdXRob3JpemVkIHRvIGFsaWFzIG9yaWdpbi40RXhwaXJlc0luUGFzdAAaBIxFeHBpcnkgYmxvY2sgbnVtYmVyIGlzIGluIHRoZSBwYXN0LjRBbGlhc05vdEZvdW5kABsE0FRoZSBhbGlhcyB0byByZW1vdmUgYXV0aG9yaXphdGlvbiBmb3Igd2FzIG5vdCBmb3VuZC6ETG9jYWxFeGVjdXRpb25JbmNvbXBsZXRlV2l0aEVycm9yCAEUaW5kZXgMAUBJbnN0cnVjdGlvbkluZGV4AAEUZXJyb3LNBwE4RXhlY3V0aW9uRXJyb3IAHAg1AUxvY2FsIFhDTSBleGVjdXRpb24gaW5jb21wbGV0ZSB3aXRoIHRoZSBhY3R1YWwgWENNIGVycm9yIGFuZCB0aGUgaW5kZXggb2YgdGhliGluc3RydWN0aW9uIHRoYXQgY2F1c2VkIHRoZSBlcnJvci4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuzQcMKHBhbGxldF94Y20YZXJyb3JzOEV4ZWN1dGlvbkVycm9yAAGkIE92ZXJmbG93AAAANFVuaW1wbGVtZW50ZWQAAQBgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAIAZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAwAwTG9jYXRpb25GdWxsAAQAVExvY2F0aW9uTm90SW52ZXJ0aWJsZQAFACRCYWRPcmlnaW4ABgA8SW52YWxpZExvY2F0aW9uAAcANEFzc2V0Tm90Rm91bmQACABURmFpbGVkVG9UcmFuc2FjdEFzc2V0AAkAPE5vdFdpdGhkcmF3YWJsZQAKAEhMb2NhdGlvbkNhbm5vdEhvbGQACwBURXhjZWVkc01heE1lc3NhZ2VTaXplAAwAWERlc3RpbmF0aW9uVW5zdXBwb3J0ZWQADQAkVHJhbnNwb3J0AA4AKFVucm91dGFibGUADwAwVW5rbm93bkNsYWltABAAOEZhaWxlZFRvRGVjb2RlABEAQE1heFdlaWdodEludmFsaWQAEgA4Tm90SG9sZGluZ0ZlZXMAEwAwVG9vRXhwZW5zaXZlABQAEFRyYXAAFQBARXhwZWN0YXRpb25GYWxzZQAWADhQYWxsZXROb3RGb3VuZAAXADBOYW1lTWlzbWF0Y2gAGABMVmVyc2lvbkluY29tcGF0aWJsZQAZAFBIb2xkaW5nV291bGRPdmVyZmxvdwAaACxFeHBvcnRFcnJvcgAbADhSZWFuY2hvckZhaWxlZAAcABhOb0RlYWwAHQAoRmVlc05vdE1ldAAeACRMb2NrRXJyb3IAHwAwTm9QZXJtaXNzaW9uACAAKFVuYW5jaG9yZWQAIQA4Tm90RGVwb3NpdGFibGUAIgA0VG9vTWFueUFzc2V0cwAjAExVbmhhbmRsZWRYY21WZXJzaW9uACQASFdlaWdodExpbWl0UmVhY2hlZAAlABxCYXJyaWVyACYATFdlaWdodE5vdENvbXB1dGFibGUAJwBERXhjZWVkc1N0YWNrTGltaXQAKAAA0QcMOHBhbGxldF91dGlsaXR5GHBhbGxldBRFcnJvcgQEVAABBDBUb29NYW55Q2FsbHMAAARcVG9vIG1hbnkgY2FsbHMgYmF0Y2hlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu1QcAAAQIBAgA2QcIPHBhbGxldF9tdWx0aXNpZyBNdWx0aXNpZxAsQmxvY2tOdW1iZXIBOBxCYWxhbmNlAcQkQWNjb3VudElkAQQwTWF4QXBwcm92YWxzAAAQARB3aGVuIQMBWFRpbWVwb2ludDxCbG9ja051bWJlcj4AARxkZXBvc2l0xAEcQmFsYW5jZQABJGRlcG9zaXRvcgQBJEFjY291bnRJZAABJGFwcHJvdmFsc90HAYxCb3VuZGVkVmVjPEFjY291bnRJZCwgTWF4QXBwcm92YWxzPgAA3QcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEEBFMAAAQAzAEYVmVjPFQ+AADhBww8cGFsbGV0X211bHRpc2lnGHBhbGxldBRFcnJvcgQEVAABOEBNaW5pbXVtVGhyZXNob2xkAAAEfFRocmVzaG9sZCBtdXN0IGJlIDIgb3IgZ3JlYXRlci48QWxyZWFkeUFwcHJvdmVkAAEErENhbGwgaXMgYWxyZWFkeSBhcHByb3ZlZCBieSB0aGlzIHNpZ25hdG9yeS5ETm9BcHByb3ZhbHNOZWVkZWQAAgScQ2FsbCBkb2Vzbid0IG5lZWQgYW55IChtb3JlKSBhcHByb3ZhbHMuRFRvb0Zld1NpZ25hdG9yaWVzAAMEqFRoZXJlIGFyZSB0b28gZmV3IHNpZ25hdG9yaWVzIGluIHRoZSBsaXN0LkhUb29NYW55U2lnbmF0b3JpZXMABASsVGhlcmUgYXJlIHRvbyBtYW55IHNpZ25hdG9yaWVzIGluIHRoZSBsaXN0LlRTaWduYXRvcmllc091dE9mT3JkZXIABQQNAVRoZSBzaWduYXRvcmllcyB3ZXJlIHByb3ZpZGVkIG91dCBvZiBvcmRlcjsgdGhleSBzaG91bGQgYmUgb3JkZXJlZC5MU2VuZGVySW5TaWduYXRvcmllcwAGBA0BVGhlIHNlbmRlciB3YXMgY29udGFpbmVkIGluIHRoZSBvdGhlciBzaWduYXRvcmllczsgaXQgc2hvdWxkbid0IGJlLiBOb3RGb3VuZAAHBKBNdWx0aXNpZyBvcGVyYXRpb24gbm90IGZvdW5kIGluIHN0b3JhZ2UuIE5vdE93bmVyAAgIUQFPbmx5IHRoZSBhY2NvdW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoZSBtdWx0aXNpZyBpcyBhYmxlIHRvIGNhbmNlbCBpdCBvciB1cGRhdGU0aXRzIGRlcG9zaXRzLixOb1RpbWVwb2ludAAJBB0BTm8gdGltZXBvaW50IHdhcyBnaXZlbiwgeWV0IHRoZSBtdWx0aXNpZyBvcGVyYXRpb24gaXMgYWxyZWFkeSB1bmRlcndheS44V3JvbmdUaW1lcG9pbnQACgQtAUEgZGlmZmVyZW50IHRpbWVwb2ludCB3YXMgZ2l2ZW4gdG8gdGhlIG11bHRpc2lnIG9wZXJhdGlvbiB0aGF0IGlzIHVuZGVyd2F5LkxVbmV4cGVjdGVkVGltZXBvaW50AAsE9EEgdGltZXBvaW50IHdhcyBnaXZlbiwgeWV0IG5vIG11bHRpc2lnIG9wZXJhdGlvbiBpcyB1bmRlcndheS48TWF4V2VpZ2h0VG9vTG93AAwE0FRoZSBtYXhpbXVtIHdlaWdodCBpbmZvcm1hdGlvbiBwcm92aWRlZCB3YXMgdG9vIGxvdy40QWxyZWFkeVN0b3JlZAANBKBUaGUgZGF0YSB0byBiZSBzdG9yZWQgaXMgYWxyZWFkeSBzdG9yZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LuUHAAAECOkHxADpBwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAe0HBFMAAAQA8QcBGFZlYzxUPgAA7QcIMHBhbGxldF9wcm94eTxQcm94eURlZmluaXRpb24MJEFjY291bnRJZAEEJFByb3h5VHlwZQEtAyxCbG9ja051bWJlcgE4AAwBIGRlbGVnYXRlBAEkQWNjb3VudElkAAEocHJveHlfdHlwZS0DASRQcm94eVR5cGUAARRkZWxheTgBLEJsb2NrTnVtYmVyAADxBwAAAu0HAPUHAAAECPkHxAD5BwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAf0HBFMAAAQAAQgBGFZlYzxUPgAA/QcIMHBhbGxldF9wcm94eTBBbm5vdW5jZW1lbnQMJEFjY291bnRJZAEEEEhhc2gBPCxCbG9ja051bWJlcgE4AAwBEHJlYWwEASRBY2NvdW50SWQAASRjYWxsX2hhc2g8ARBIYXNoAAEYaGVpZ2h0OAEsQmxvY2tOdW1iZXIAAAEIAAAC/QcABQgMMHBhbGxldF9wcm94eRhwYWxsZXQURXJyb3IEBFQAASAcVG9vTWFueQAABCEBVGhlcmUgYXJlIHRvbyBtYW55IHByb3hpZXMgcmVnaXN0ZXJlZCBvciB0b28gbWFueSBhbm5vdW5jZW1lbnRzIHBlbmRpbmcuIE5vdEZvdW5kAAEEdFByb3h5IHJlZ2lzdHJhdGlvbiBub3QgZm91bmQuIE5vdFByb3h5AAIEzFNlbmRlciBpcyBub3QgYSBwcm94eSBvZiB0aGUgYWNjb3VudCB0byBiZSBwcm94aWVkLixVbnByb3h5YWJsZQADBCEBQSBjYWxsIHdoaWNoIGlzIGluY29tcGF0aWJsZSB3aXRoIHRoZSBwcm94eSB0eXBlJ3MgZmlsdGVyIHdhcyBhdHRlbXB0ZWQuJER1cGxpY2F0ZQAEBGxBY2NvdW50IGlzIGFscmVhZHkgYSBwcm94eS4wTm9QZXJtaXNzaW9uAAUEFQFDYWxsIG1heSBub3QgYmUgbWFkZSBieSBwcm94eSBiZWNhdXNlIGl0IG1heSBlc2NhbGF0ZSBpdHMgcHJpdmlsZWdlcy4sVW5hbm5vdW5jZWQABgTQQW5ub3VuY2VtZW50LCBpZiBtYWRlIGF0IGFsbCwgd2FzIG1hZGUgdG9vIHJlY2VudGx5LixOb1NlbGZQcm94eQAHBGRDYW5ub3QgYWRkIHNlbGYgYXMgcHJveHkuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LgkIAAAECAQ1AwANCAxYcGFsbGV0X2JyaWRnZV9yZWxheWVycxhwYWxsZXQURXJyb3IIBFQABEkAASBITm9SZXdhcmRGb3JSZWxheWVyAAAEqE5vIHJld2FyZCBjYW4gYmUgY2xhaW1lZCBieSBnaXZlbiByZWxheWVyLkRGYWlsZWRUb1BheVJld2FyZAABBJBSZXdhcmQgcGF5bWVudCBwcm9jZWR1cmUgaGFzIGZhaWxlZC5gSW52YWxpZFJlZ2lzdHJhdGlvbkxlYXNlAAIIGQFUaGUgcmVsYXllciBoYXMgdHJpZWQgdG8gcmVnaXN0ZXIgZm9yIHBhc3QgYmxvY2sgb3IgcmVnaXN0cmF0aW9uIGxlYXNlNGlzIHRvbyBzaG9ydC50Q2Fubm90UmVkdWNlUmVnaXN0cmF0aW9uTGVhc2UAAwTUTmV3IHJlZ2lzdHJhdGlvbiBsZWFzZSBpcyBsZXNzIHRoYW4gdGhlIHByZXZpb3VzIG9uZS48RmFpbGVkVG9SZXNlcnZlAAQEyEZhaWxlZCB0byByZXNlcnZlIGVub3VnaCBmdW5kcyBvbiByZWxheWVyIGFjY291bnQuREZhaWxlZFRvVW5yZXNlcnZlAAUE2EZhaWxlZCB0byBgdW5yZXNlcnZlYCBlbm91Z2ggZnVuZHMgb24gcmVsYXllciBhY2NvdW50LjROb3RSZWdpc3RlcmVkAAYEmENhbm5vdCBgZGVyZWdpc3RlcmAgaWYgbm90IHJlZ2lzdGVyZWQuZFJlZ2lzdHJhdGlvbklzU3RpbGxBY3RpdmUABwT4RmFpbGVkIHRvIGBkZXJlZ2lzdGVyYCByZWxheWVyLCBiZWNhdXNlIGxlYXNlIGlzIHN0aWxsIGFjdGl2ZS4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuEQgIKGJwX3J1bnRpbWUgSGVhZGVySWQIEEhhc2gBPBhOdW1iZXIBOAAIADgBGE51bWJlcgAAPAEQSGFzaAAAFQgIPGJwX2hlYWRlcl9jaGFpbkBTdG9yZWRIZWFkZXJEYXRhCBhOdW1iZXIBOBBIYXNoATwACAEYbnVtYmVyOAEYTnVtYmVyAAEoc3RhdGVfcm9vdDwBEEhhc2gAABkIDFRwYWxsZXRfYnJpZGdlX2dyYW5kcGE0c3RvcmFnZV90eXBlc0hTdG9yZWRBdXRob3JpdHlTZXQIBFQABEkAAAgBLGF1dGhvcml0aWVzHQgBzFN0b3JlZEF1dGhvcml0eUxpc3Q8U3RvcmVkQXV0aG9yaXR5TGlzdExpbWl0PFQsIEk+PgABGHNldF9pZCgBFFNldElkAAAdCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAXUDBFMAAAQAcQMBGFZlYzxUPgAAIQgMVHBhbGxldF9icmlkZ2VfZ3JhbmRwYRhwYWxsZXQURXJyb3IIBFQABEkAATBQSW52YWxpZEp1c3RpZmljYXRpb24AAATgVGhlIGdpdmVuIGp1c3RpZmljYXRpb24gaXMgaW52YWxpZCBmb3IgdGhlIGdpdmVuIGhlYWRlci5MSW52YWxpZEF1dGhvcml0eVNldAABBPhUaGUgYXV0aG9yaXR5IHNldCBmcm9tIHRoZSB1bmRlcmx5aW5nIGhlYWRlciBjaGFpbiBpcyBpbnZhbGlkLiRPbGRIZWFkZXIAAgRZAVRoZSBoZWFkZXIgYmVpbmcgaW1wb3J0ZWQgaXMgb2xkZXIgdGhhbiB0aGUgYmVzdCBmaW5hbGl6ZWQgaGVhZGVyIGtub3duIHRvIHRoZSBwYWxsZXQuaFVuc3VwcG9ydGVkU2NoZWR1bGVkQ2hhbmdlAAMMUQFUaGUgc2NoZWR1bGVkIGF1dGhvcml0eSBzZXQgY2hhbmdlIGZvdW5kIGluIHRoZSBoZWFkZXIgaXMgdW5zdXBwb3J0ZWQgYnkgdGhlIHBhbGxldC4AFQFUaGlzIGlzIHRoZSBjYXNlIGZvciBub24tc3RhbmRhcmQgKGUuZyBmb3JjZWQpIGF1dGhvcml0eSBzZXQgY2hhbmdlcy44Tm90SW5pdGlhbGl6ZWQABASIVGhlIHBhbGxldCBpcyBub3QgeWV0IGluaXRpYWxpemVkLkhBbHJlYWR5SW5pdGlhbGl6ZWQABQSgVGhlIHBhbGxldCBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpemVkLlxUb29NYW55QXV0aG9yaXRpZXNJblNldAAGBIBUb28gbWFueSBhdXRob3JpdGllcyBpbiB0aGUgc2V0LjBCcmlkZ2VNb2R1bGUEACUIAYhicF9ydW50aW1lOjpPd25lZEJyaWRnZU1vZHVsZUVycm9yAAcExEVycm9yIGdlbmVyYXRlZCBieSB0aGUgYE93bmVkQnJpZGdlTW9kdWxlYCB0cmFpdC5USW52YWxpZEF1dGhvcml0eVNldElkAAgINQFUaGUgYGN1cnJlbnRfc2V0X2lkYCBhcmd1bWVudCBvZiB0aGUgYHN1Ym1pdF9maW5hbGl0eV9wcm9vZl9leGAgZG9lc24ndCBtYXRjaLx0aGUgaWQgb2YgdGhlIGN1cnJlbnQgc2V0LCBrbm93biB0byB0aGUgcGFsbGV0LlxGcmVlSGVhZGVyc0xpbWl0RXhjZWRlZAAJCDEBVGhlIHN1Ym1pdHRlciB3YW50ZWQgZnJlZSBleGVjdXRpb24sIGJ1dCB3ZSBjYW4ndCBmaXQgbW9yZSBmcmVlIHRyYW5zYWN0aW9uczR0byB0aGUgYmxvY2suXEJlbG93RnJlZUhlYWRlckludGVydmFsAAoIOQFUaGUgc3VibWl0dGVyIHdhbnRlZCBmcmVlIGV4ZWN1dGlvbiwgYnV0IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYmVzdCBrbm93biBhbmToYnVuZGxlZCBoZWFkZXIgbnVtYmVycyBpcyBiZWxvdyB0aGUgYEZyZWVIZWFkZXJzSW50ZXJ2YWxgLlBIZWFkZXJPdmVyZmxvd0xpbWl0cwALCD0BVGhlIGhlYWRlciAoYW5kIGl0cyBmaW5hbGl0eSkgc3VibWlzc2lvbiBvdmVyZmxvd3MgaGFyZGNvZGVkIGNoYWluIGxpbWl0czogc2l6ZZxhbmQvb3Igd2VpZ2h0IGFyZSBsYXJnZXIgdGhhbiBleHBlY3RlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuJQgIKGJwX3J1bnRpbWVYT3duZWRCcmlkZ2VNb2R1bGVFcnJvcgABBBhIYWx0ZWQAAAAAKQgINGJwX3BhcmFjaGFpbnMgUGFyYUluZm8AAAgBOGJlc3RfaGVhZF9oYXNoLQgBQEJlc3RQYXJhSGVhZEhhc2gAAWxuZXh0X2ltcG9ydGVkX2hhc2hfcG9zaXRpb244AQx1MzIAAC0ICDRicF9wYXJhY2hhaW5zQEJlc3RQYXJhSGVhZEhhc2gAAAgBVGF0X3JlbGF5X2Jsb2NrX251bWJlcjgBQFJlbGF5QmxvY2tOdW1iZXIAASRoZWFkX2hhc2g8ASBQYXJhSGFzaAAAMQgINGJwX3BhcmFjaGFpbnNQUGFyYVN0b3JlZEhlYWRlckRhdGEAAAQAGAEcVmVjPHU4PgAANQgAAAQIkQM4ADkIDGBwYWxsZXRfYnJpZGdlX3BhcmFjaGFpbnMYcGFsbGV0FEVycm9yCARUAARJAAEQWFVua25vd25SZWxheUNoYWluQmxvY2sAAASgUmVsYXkgY2hhaW4gYmxvY2sgaGFzaCBpcyB1bmtub3duIHRvIHVzLnBJbnZhbGlkUmVsYXlDaGFpbkJsb2NrTnVtYmVyAAEERQFUaGUgbnVtYmVyIG9mIHN0b3JlZCByZWxheSBibG9jayBpcyBkaWZmZXJlbnQgZnJvbSB3aGF0IHRoZSByZWxheWVyIGhhcyBwcm92aWRlZC5cSGVhZGVyQ2hhaW5TdG9yYWdlUHJvb2YEAD0IAUBIZWFkZXJDaGFpbkVycm9yAAIEpFBhcmFjaGFpbiBoZWFkcyBzdG9yYWdlIHByb29mIGlzIGludmFsaWQuMEJyaWRnZU1vZHVsZQQAJQgBiGJwX3J1bnRpbWU6Ok93bmVkQnJpZGdlTW9kdWxlRXJyb3IAAwTERXJyb3IgZ2VuZXJhdGVkIGJ5IHRoZSBgT3duZWRCcmlkZ2VNb2R1bGVgIHRyYWl0LgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC49CAg8YnBfaGVhZGVyX2NoYWluQEhlYWRlckNoYWluRXJyb3IAAQg0VW5rbm93bkhlYWRlcgAAADBTdG9yYWdlUHJvb2YEAEEIAURTdG9yYWdlUHJvb2ZFcnJvcgABAABBCAwoYnBfcnVudGltZTRzdG9yYWdlX3Byb29mRFN0b3JhZ2VQcm9vZkVycm9yAAEoZFVuYWJsZVRvR2VuZXJhdGVUcmllUHJvb2YAAAAwSW52YWxpZFByb29mAAEAPFVuc29ydGVkRW50cmllcwACADhVbmF2YWlsYWJsZUtleQADACBFbXB0eVZhbAAEACxEZWNvZGVFcnJvcgAFACRVbnVzZWRLZXkABgBMU3RvcmFnZVJvb3RNaXNtYXRjaAAHAFxTdG9yYWdlVmFsdWVVbmF2YWlsYWJsZQAIADhEdXBsaWNhdGVOb2RlcwAJAABFCAgsYnBfbWVzc2FnZXM8SW5ib3VuZExhbmVEYXRhBCRSZWxheWVySWQBBAAMASByZWxheWVyc0kIAZhWZWNEZXF1ZTxVbnJld2FyZGVkUmVsYXllcjxSZWxheWVySWQ+PgABUGxhc3RfY29uZmlybWVkX25vbmNlKAEwTWVzc2FnZU5vbmNlAAEUc3RhdGVRCAEkTGFuZVN0YXRlAABJCAAAAk0IAE0ICCxicF9tZXNzYWdlc0RVbnJld2FyZGVkUmVsYXllcgQkUmVsYXllcklkAQQACAEccmVsYXllcgQBJFJlbGF5ZXJJZAABIG1lc3NhZ2VzhQUBRERlbGl2ZXJlZE1lc3NhZ2VzAABRCAwsYnBfbWVzc2FnZXMQbGFuZSRMYW5lU3RhdGUAAQgYT3BlbmVkAAAAGENsb3NlZAABAABVCAgsYnBfbWVzc2FnZXNAT3V0Ym91bmRMYW5lRGF0YQAAEAFUb2xkZXN0X3VucHJ1bmVkX25vbmNlKAEwTWVzc2FnZU5vbmNlAAFUbGF0ZXN0X3JlY2VpdmVkX25vbmNlKAEwTWVzc2FnZU5vbmNlAAFYbGF0ZXN0X2dlbmVyYXRlZF9ub25jZSgBME1lc3NhZ2VOb25jZQABFHN0YXRlUQgBJExhbmVTdGF0ZQAAWQgILGJwX21lc3NhZ2VzKE1lc3NhZ2VLZXkEGExhbmVJZAE9AwAIARxsYW5lX2lkPQMBGExhbmVJZAABFG5vbmNlKAEwTWVzc2FnZU5vbmNlAABdCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQwEUwAABAAYARhWZWM8VD4AAGEIDFhwYWxsZXRfYnJpZGdlX21lc3NhZ2VzGHBhbGxldBRFcnJvcggEVAAESQABKFBOb3RPcGVyYXRpbmdOb3JtYWxseQAABJxQYWxsZXQgaXMgbm90IGluIE5vcm1hbCBvcGVyYXRpbmcgbW9kZS4wTGFuZXNNYW5hZ2VyBABlCAFETGFuZXNNYW5hZ2VyRXJyb3IAAQSwRXJyb3IgdGhhdCBpcyByZXBvcnRlZCBieSB0aGUgbGFuZXMgbWFuYWdlci5cTWVzc2FnZVJlamVjdGVkQnlQYWxsZXQEAGkIAURWZXJpZmljYXRpb25FcnJvcgACBOBNZXNzYWdlIGhhcyBiZWVuIHRyZWF0ZWQgYXMgaW52YWxpZCBieSB0aGUgcGFsbGV0IGxvZ2ljLmRUb29NYW55TWVzc2FnZXNJblRoZVByb29mAAMEpFRoZSB0cmFuc2FjdGlvbiBicmluZ3MgdG9vIG1hbnkgbWVzc2FnZXMuUEludmFsaWRNZXNzYWdlc1Byb29mAAQEkEludmFsaWQgbWVzc2FnZXMgaGFzIGJlZW4gc3VibWl0dGVkLnBJbnZhbGlkTWVzc2FnZXNEZWxpdmVyeVByb29mAAUEzEludmFsaWQgbWVzc2FnZXMgZGVsaXZlcnkgcHJvb2YgaGFzIGJlZW4gc3VibWl0dGVkLnhJbnZhbGlkVW5yZXdhcmRlZFJlbGF5ZXJzU3RhdGUABggFAVRoZSByZWxheWVyIGhhcyBkZWNsYXJlZCBpbnZhbGlkIHVucmV3YXJkZWQgcmVsYXllcnMgc3RhdGUgaW4gdGhlnGByZWNlaXZlX21lc3NhZ2VzX2RlbGl2ZXJ5X3Byb29mYCBjYWxsLmhJbnN1ZmZpY2llbnREaXNwYXRjaFdlaWdodAAHCEUBVGhlIGN1bXVsYXRpdmUgZGlzcGF0Y2ggd2VpZ2h0LCBwYXNzZWQgYnkgcmVsYXllciBpcyBub3QgZW5vdWdoIHRvIGNvdmVyIGRpc3BhdGNoYG9mIGFsbCBidW5kbGVkIG1lc3NhZ2VzLlRSZWNlcHRpb25Db25maXJtYXRpb24EAG0IAWhSZWNlcHRpb25Db25maXJtYXRpb25FcnJvcgAIBIxFcnJvciBjb25maXJtaW5nIG1lc3NhZ2VzIHJlY2VpdmFsLjBCcmlkZ2VNb2R1bGUEACUIAYhicF9ydW50aW1lOjpPd25lZEJyaWRnZU1vZHVsZUVycm9yAAkExEVycm9yIGdlbmVyYXRlZCBieSB0aGUgYE93bmVkQnJpZGdlTW9kdWxlYCB0cmFpdC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuZQgMWHBhbGxldF9icmlkZ2VfbWVzc2FnZXM0bGFuZXNfbWFuYWdlckRMYW5lc01hbmFnZXJFcnJvcgABHGBJbmJvdW5kTGFuZUFscmVhZHlFeGlzdHMAAABkT3V0Ym91bmRMYW5lQWxyZWFkeUV4aXN0cwABAEhVbmtub3duSW5ib3VuZExhbmUAAgBMVW5rbm93bk91dGJvdW5kTGFuZQADAERDbG9zZWRJbmJvdW5kTGFuZQAEAEhDbG9zZWRPdXRib3VuZExhbmUABQBYTGFuZURpc3BhdGNoZXJJbmFjdGl2ZQAGAABpCAgsYnBfbWVzc2FnZXNEVmVyaWZpY2F0aW9uRXJyb3IAAShERW1wdHlNZXNzYWdlUHJvb2YAAAAsSGVhZGVyQ2hhaW4EAD0IAUBIZWFkZXJDaGFpbkVycm9yAAEASEluYm91bmRMYW5lU3RvcmFnZQQAQQgBRFN0b3JhZ2VQcm9vZkVycm9yAAIAUEludmFsaWRNZXNzYWdlV2VpZ2h0AAMAVE1lc3NhZ2VzQ291bnRNaXNtYXRjaAAEADhNZXNzYWdlU3RvcmFnZQQAQQgBRFN0b3JhZ2VQcm9vZkVycm9yAAUAPE1lc3NhZ2VUb29MYXJnZQAGAExPdXRib3VuZExhbmVTdG9yYWdlBABBCAFEU3RvcmFnZVByb29mRXJyb3IABwAwU3RvcmFnZVByb29mBABBCAFEU3RvcmFnZVByb29mRXJyb3IACAAUT3RoZXIACQAAbQgMWHBhbGxldF9icmlkZ2VfbWVzc2FnZXM0b3V0Ym91bmRfbGFuZWhSZWNlcHRpb25Db25maXJtYXRpb25FcnJvcgABEHRGYWlsZWRUb0NvbmZpcm1GdXR1cmVNZXNzYWdlcwAAAGxFbXB0eVVucmV3YXJkZWRSZWxheWVyRW50cnkAAQCYTm9uQ29uc2VjdXRpdmVVbnJld2FyZGVkUmVsYXllckVudHJpZXMAAgCcVHJ5aW5nVG9Db25maXJtTW9yZU1lc3NhZ2VzVGhhbkV4cGVjdGVkAAMAAHEICERicF94Y21fYnJpZGdlX2h1YhhCcmlkZ2UIJFRoaXNDaGFpbgAYTGFuZUlkAAAcAXxicmlkZ2Vfb3JpZ2luX3JlbGF0aXZlX2xvY2F0aW9u7AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABgGJyaWRnZV9vcmlnaW5fdW5pdmVyc2FsX2xvY2F0aW9usQMBeEJveDxWZXJzaW9uZWRJbnRlcmlvckxvY2F0aW9uPgABlGJyaWRnZV9kZXN0aW5hdGlvbl91bml2ZXJzYWxfbG9jYXRpb26xAwF4Qm94PFZlcnNpb25lZEludGVyaW9yTG9jYXRpb24+AAEUc3RhdGV1CAEsQnJpZGdlU3RhdGUAAVBicmlkZ2Vfb3duZXJfYWNjb3VudAQBWEFjY291bnRJZE9mPFRoaXNDaGFpbj4AARxkZXBvc2l0xAFQQmFsYW5jZU9mPFRoaXNDaGFpbj4AARxsYW5lX2lkPQMBGExhbmVJZAAAdQgIRGJwX3hjbV9icmlkZ2VfaHViLEJyaWRnZVN0YXRlAAEMGE9wZW5lZAAAACRTdXNwZW5kZWQAAQAYQ2xvc2VkAAIAAHkIDFRwYWxsZXRfeGNtX2JyaWRnZV9odWIYcGFsbGV0FEVycm9yCARUAARJAAEkPEJyaWRnZUxvY2F0aW9ucwQAfQgBUEJyaWRnZUxvY2F0aW9uc0Vycm9yAAAEXEJyaWRnZSBsb2NhdGlvbnMgZXJyb3IuaEludmFsaWRCcmlkZ2VPcmlnaW5BY2NvdW50AAEEkEludmFsaWQgbG9jYWwgYnJpZGdlIG9yaWdpbiBhY2NvdW50LkxCcmlkZ2VBbHJlYWR5RXhpc3RzAAIEwFRoZSBicmlkZ2UgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGluIHRoaXMgcGFsbGV0LnBUb29NYW55QnJpZGdlc0ZvckxvY2FsT3JpZ2luAAME6FRoZSBsb2NhbCBvcmlnaW4gYWxyZWFkeSBvd25zIGEgbWF4aW1hbCBudW1iZXIgb2YgYnJpZGdlcy5MQnJpZGdlQWxyZWFkeUNsb3NlZAAEBJhUcnlpbmcgdG8gY2xvc2UgYWxyZWFkeSBjbG9zZWQgYnJpZGdlLjBMYW5lc01hbmFnZXIEAGUIAURMYW5lc01hbmFnZXJFcnJvcgAFBFBMYW5lcyBtYW5hZ2VyIGVycm9yLjRVbmtub3duQnJpZGdlAAYEgFRyeWluZyB0byBhY2Nlc3MgdW5rbm93biBicmlkZ2UucEZhaWxlZFRvUmVzZXJ2ZUJyaWRnZURlcG9zaXQABwQdAVRoZSBicmlkZ2Ugb3JpZ2luIGNhbid0IHBheSB0aGUgcmVxdWlyZWQgYW1vdW50IGZvciBvcGVuaW5nIHRoZSBicmlkZ2UuVFVuc3VwcG9ydGVkWGNtVmVyc2lvbgAIBNBUaGUgdmVyc2lvbiBvZiBYQ00gbG9jYXRpb24gYXJndW1lbnQgaXMgdW5zdXBwb3J0ZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Ln0ICERicF94Y21fYnJpZGdlX2h1YlBCcmlkZ2VMb2NhdGlvbnNFcnJvcgABIFBOb25Vbml2ZXJzYWxMb2NhdGlvbgAAAExJbnZhbGlkQnJpZGdlT3JpZ2luAAEAYEludmFsaWRCcmlkZ2VEZXN0aW5hdGlvbgACAEhEZXN0aW5hdGlvbklzTG9jYWwAAwBYVW5yZWFjaGFibGVEZXN0aW5hdGlvbgAEAHhVbnN1cHBvcnRlZERlc3RpbmF0aW9uTG9jYXRpb24ABQBUVW5zdXBwb3J0ZWRYY21WZXJzaW9uAAYAVFVuc3VwcG9ydGVkTGFuZUlkVHlwZQAHAACBCAx8c25vd2JyaWRnZV9wYWxsZXRfaW5ib3VuZF9xdWV1ZRhwYWxsZXQURXJyb3IEBFQAASw4SW52YWxpZEdhdGV3YXkAAAQNAU1lc3NhZ2UgY2FtZSBmcm9tIGFuIGludmFsaWQgb3V0Ym91bmQgY2hhbm5lbCBvbiB0aGUgRXRoZXJldW0gc2lkZS48SW52YWxpZEVudmVsb3BlAAEEgE1lc3NhZ2UgaGFzIGFuIGludmFsaWQgZW52ZWxvcGUuMEludmFsaWROb25jZQACBIBNZXNzYWdlIGhhcyBhbiB1bmV4cGVjdGVkIG5vbmNlLjhJbnZhbGlkUGF5bG9hZAADBHxNZXNzYWdlIGhhcyBhbiBpbnZhbGlkIHBheWxvYWQuOEludmFsaWRDaGFubmVsAAQEaE1lc3NhZ2UgY2hhbm5lbCBpcyBpbnZhbGlkPE1heE5vbmNlUmVhY2hlZAAFBKxUaGUgbWF4IG5vbmNlIGZvciB0aGUgdHlwZSBoYXMgYmVlbiByZWFjaGVkYEludmFsaWRBY2NvdW50Q29udmVyc2lvbgAGBFxDYW5ub3QgY29udmVydCBsb2NhdGlvbhhIYWx0ZWQABwRAUGFsbGV0IGlzIGhhbHRlZDBWZXJpZmljYXRpb24EAIUIAURWZXJpZmljYXRpb25FcnJvcgAIBGxNZXNzYWdlIHZlcmlmaWNhdGlvbiBlcnJvciwQU2VuZAQAiQgBJFNlbmRFcnJvcgAJBERYQ01QIHNlbmQgZmFpbHVyZThDb252ZXJ0TWVzc2FnZQQAjQgBTENvbnZlcnRNZXNzYWdlRXJyb3IACgRgTWVzc2FnZSBjb252ZXJzaW9uIGVycm9yBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LoUICIhzbm93YnJpZGdlX3ZlcmlmaWNhdGlvbl9wcmltaXRpdmVzRFZlcmlmaWNhdGlvbkVycm9yAAEYOEhlYWRlck5vdEZvdW5kAAAALExvZ05vdEZvdW5kAAEAKEludmFsaWRMb2cAAgAwSW52YWxpZFByb29mAAMAVEludmFsaWRFeGVjdXRpb25Qcm9vZgAEABhIYWx0ZWQABQAAiQgMfHNub3dicmlkZ2VfcGFsbGV0X2luYm91bmRfcXVldWUYcGFsbGV0JFNlbmRFcnJvcgABHDROb3RBcHBsaWNhYmxlAAAALE5vdFJvdXRhYmxlAAEAJFRyYW5zcG9ydAACAFhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAAMAVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQAEADxNaXNzaW5nQXJndW1lbnQABQAQRmVlcwAGAACNCAyMc25vd2JyaWRnZV9pbmJvdW5kX3F1ZXVlX3ByaW1pdGl2ZXMIdjFMQ29udmVydE1lc3NhZ2VFcnJvcgABFEhVbnN1cHBvcnRlZFZlcnNpb24AAABISW52YWxpZERlc3RpbmF0aW9uAAEAMEludmFsaWRUb2tlbgACAExVbnN1cHBvcnRlZEZlZUFzc2V0AAMAOENhbm5vdFJlYW5jaG9yAAQAAJEIAAAClQgAlQgMgHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlFHR5cGVzQENvbW1pdHRlZE1lc3NhZ2UAACABKGNoYW5uZWxfaWRpBAEkQ2hhbm5lbElkAAEUbm9uY2W0AQx1NjQAARxjb21tYW5kDAEIdTgAARhwYXJhbXMYARxWZWM8dTg+AAFAbWF4X2Rpc3BhdGNoX2dhc7QBDHU2NAABPG1heF9mZWVfcGVyX2dhc8ABEHUxMjgAARhyZXdhcmTAARB1MTI4AAEIaWQ8ARBIMjU2AACZCAyAc25vd2JyaWRnZV9wYWxsZXRfb3V0Ym91bmRfcXVldWUYcGFsbGV0FEVycm9yBARUAAEMPE1lc3NhZ2VUb29MYXJnZQAABGBUaGUgbWVzc2FnZSBpcyB0b28gbGFyZ2UYSGFsdGVkAAEEUFRoZSBwYWxsZXQgaXMgaGFsdGVkOEludmFsaWRDaGFubmVsAAIEPEludmFsaWQgQ2hhbm5lbASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6dCAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlc0hDb21wYWN0QmVhY29uU3RhdGUAAAgBEHNsb3S0AQx1NjQAAUBibG9ja19yb290c19yb290PAEQSDI1NgAAoQgMcHNub3dicmlkZ2VfYmVhY29uX3ByaW1pdGl2ZXMUdHlwZXNUU3luY0NvbW1pdHRlZVByZXBhcmVkAAAMARByb290PAEQSDI1NgABHHB1YmtleXOlCAGgQm94PFtQdWJsaWNLZXlQcmVwYXJlZDsgQ09NTUlUVEVFX1NJWkVdPgABQGFnZ3JlZ2F0ZV9wdWJrZXmpCAFEUHVibGljS2V5UHJlcGFyZWQAAKUIAAADAAIAAKkIAKkIDFhzbm93YnJpZGdlX21pbGFncm9fYmxzEGtleXMkUHVibGljS2V5AAAEARRwb2ludK0IARxHcm91cEcxAACtCBA8c25vd2JyaWRnZV9hbWNsGGJsczM4MQxlY3AMRUNQAAAMAQR4sQgBCEZQAAEEebEIAQhGUAABBHqxCAEIRlAAALEIEDxzbm93YnJpZGdlX2FtY2wYYmxzMzgxCGZwCEZQAAAIAQR4tQgBDEJpZwABDHhlc70IAQxpMzIAALUIEDxzbm93YnJpZGdlX2FtY2wYYmxzMzgxDGJpZwxCaWcAAAQBBHe5CAE0W0NodW5rOyBOTEVOXQAAuQgAAAMOAAAAvQgAvQgAAAULAMEIDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzMEZvcmtWZXJzaW9ucwAAHAEcZ2VuZXNpc8UIARBGb3JrAAEYYWx0YWlyxQgBEEZvcmsAASRiZWxsYXRyaXjFCAEQRm9yawABHGNhcGVsbGHFCAEQRm9yawABFGRlbmVixQgBEEZvcmsAARxlbGVjdHJhxQgBEEZvcmsAARBmdWx1xQgBEEZvcmsAAMUIDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzEEZvcmsAAAgBHHZlcnNpb25wARxbdTg7IDRdAAEUZXBvY2goAQx1NjQAAMkIDIRzbm93YnJpZGdlX3BhbGxldF9ldGhlcmV1bV9jbGllbnQYcGFsbGV0FEVycm9yBARUAAFkaFNraXBwZWRTeW5jQ29tbWl0dGVlUGVyaW9kAAAAbFN5bmNDb21taXR0ZWVVcGRhdGVSZXF1aXJlZAABAEBJcnJlbGV2YW50VXBkYXRlAAIE2EF0dGVzdGVkIGhlYWRlciBpcyBvbGRlciB0aGFuIGxhdGVzdCBmaW5hbGl6ZWQgaGVhZGVyLjxOb3RCb290c3RyYXBwZWQAAwCkU3luY0NvbW1pdHRlZVBhcnRpY2lwYW50c05vdFN1cGVybWFqb3JpdHkABABgSW52YWxpZEhlYWRlck1lcmtsZVByb29mAAUAfEludmFsaWRTeW5jQ29tbWl0dGVlTWVya2xlUHJvb2YABgBsSW52YWxpZEV4ZWN1dGlvbkhlYWRlclByb29mAAcAaEludmFsaWRBbmNlc3RyeU1lcmtsZVByb29mAAgAgEludmFsaWRCbG9ja1Jvb3RzUm9vdE1lcmtsZVByb29mAAkAZEludmFsaWRGaW5hbGl6ZWRIZWFkZXJHYXAACgw9AVRoZSBnYXAgYmV0d2VlbiB0aGUgZmluYWxpemVkIGhlYWRlcnMgaXMgbGFyZ2VyIHRoYW4gdGhlIHN5bmMgY29tbWl0dGVlIHBlcmlvZCxFAXJlbmRlcmluZyBleGVjdXRpb24gaGVhZGVycyB1bnByb3ZhYmxlIHVzaW5nIGFuY2VzdHJ5IHByb29mcyAoYmxvY2tzIHJvb3Qgc2l6ZSBpc7R0aGUgc2FtZSBhcyB0aGUgc3luYyBjb21taXR0ZWUgcGVyaW9kIHNsb3RzKS5ISGVhZGVyTm90RmluYWxpemVkAAsAbEJsb2NrQm9keUhhc2hUcmVlUm9vdEZhaWxlZAAMAGBIZWFkZXJIYXNoVHJlZVJvb3RGYWlsZWQADQB8U3luY0NvbW1pdHRlZUhhc2hUcmVlUm9vdEZhaWxlZAAOAHRTaWduaW5nUm9vdEhhc2hUcmVlUm9vdEZhaWxlZAAPAGhGb3JrRGF0YUhhc2hUcmVlUm9vdEZhaWxlZAAQAIBFeHBlY3RlZEZpbmFsaXplZEhlYWRlck5vdFN0b3JlZAARAGhCTFNQcmVwYXJlUHVibGljS2V5c0ZhaWxlZAASAFRCTFNWZXJpZmljYXRpb25GYWlsZWQEAM0IASBCbHNFcnJvcgATAERJbnZhbGlkVXBkYXRlU2xvdAAUAGhJbnZhbGlkU3luY0NvbW1pdHRlZVVwZGF0ZQAVCFUBVGhlIGdpdmVuIHVwZGF0ZSBpcyBub3QgaW4gdGhlIGV4cGVjdGVkIHBlcmlvZCwgb3IgdGhlIGdpdmVuIG5leHQgc3luYyBjb21taXR0ZWUgZG9lc7Rub3QgbWF0Y2ggdGhlIG5leHQgc3luYyBjb21taXR0ZWUgaW4gc3RvcmFnZS5sRXhlY3V0aW9uSGVhZGVyVG9vRmFyQmVoaW5kABYAbEV4ZWN1dGlvbkhlYWRlclNraXBwZWRCbG9jawAXABhIYWx0ZWQAGAAEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuzQgMcHNub3dicmlkZ2VfYmVhY29uX3ByaW1pdGl2ZXMMYmxzIEJsc0Vycm9yAAEQQEludmFsaWRTaWduYXR1cmUAAABASW52YWxpZFB1YmxpY0tleQABAGhJbnZhbGlkQWdncmVnYXRlUHVibGljS2V5cwACAGxTaWduYXR1cmVWZXJpZmljYXRpb25GYWlsZWQAAwAA0QgIPHNub3dicmlkZ2VfY29yZRxDaGFubmVsAAAIASBhZ2VudF9pZDwBHEFnZW50SWQAARxwYXJhX2lknAEYUGFyYUlkAADVCAxgc25vd2JyaWRnZV9wYWxsZXRfc3lzdGVtGHBhbGxldBRFcnJvcgQEVAABLGBMb2NhdGlvbkNvbnZlcnNpb25GYWlsZWQAAABMQWdlbnRBbHJlYWR5Q3JlYXRlZAABABxOb0FnZW50AAIAVENoYW5uZWxBbHJlYWR5Q3JlYXRlZAADACROb0NoYW5uZWwABABoVW5zdXBwb3J0ZWRMb2NhdGlvblZlcnNpb24ABQA8SW52YWxpZExvY2F0aW9uAAYAEFNlbmQEANkIASRTZW5kRXJyb3IABwBgSW52YWxpZFRva2VuVHJhbnNmZXJGZWVzAAgAYEludmFsaWRQcmljaW5nUGFyYW1ldGVycwAJAGBJbnZhbGlkVXBncmFkZVBhcmFtZXRlcnMACgAEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu2QgIkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcyRTZW5kRXJyb3IAARA8TWVzc2FnZVRvb0xhcmdlAAAAGEhhbHRlZAABADhJbnZhbGlkQ2hhbm5lbAACADRJbnZhbGlkT3JpZ2luAAMAAN0IDGxzbm93YnJpZGdlX3BhbGxldF9zeXN0ZW1fdjIYcGFsbGV0FEVycm9yBARUAAEUWExvY2F0aW9uUmVhbmNob3JGYWlsZWQAAAR8TG9jYXRpb24gY291bGQgbm90IGJlIHJlYWNob3JlZGBMb2NhdGlvbkNvbnZlcnNpb25GYWlsZWQAAQTYQSB0b2tlbiBsb2NhdGlvbiBjb3VsZCBub3QgYmUgY29udmVydGVkIHRvIGEgdG9rZW4gSUQuaFVuc3VwcG9ydGVkTG9jYXRpb25WZXJzaW9uAAIE/EEgYFZlcnNpb25lZExvY2F0aW9uYCBjb3VsZCBub3QgYmUgY29udmVydGVkIGludG8gYSBgTG9jYXRpb25gLhBTZW5kBADZCAEkU2VuZEVycm9yAAMEvEFuIFhDTSBjb3VsZCBub3QgYmUgc2VudCwgZHVlIHRvIGEgYFNlbmRFcnJvcmAuYEludmFsaWRVcGdyYWRlUGFyYW1ldGVycwAECDUBVGhlIGdhdGV3YXkgY29udHJhY3QgdXBncmFkZSBtZXNzYWdlIGNvdWxkIG5vdCBiZSBzZW50IGR1ZSB0byBpbnZhbGlkIHVwZ3JhZGUscGFyYW1ldGVycy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu4QgMiHNub3dicmlkZ2VfcGFsbGV0X2luYm91bmRfcXVldWVfdjIYcGFsbGV0FEVycm9yBARUAAEsOEludmFsaWRHYXRld2F5AAAEDQFNZXNzYWdlIGNhbWUgZnJvbSBhbiBpbnZhbGlkIG91dGJvdW5kIGNoYW5uZWwgb24gdGhlIEV0aGVyZXVtIHNpZGUuOEludmFsaWRNZXNzYWdlAAEEgE1lc3NhZ2UgaGFzIGFuIGludmFsaWQgZW52ZWxvcGUuMEludmFsaWROb25jZQACBIBNZXNzYWdlIGhhcyBhbiB1bmV4cGVjdGVkIG5vbmNlLjhJbnZhbGlkTmV0d29yawADBGRJbnZhbGlkIG5ldHdvcmsgc3BlY2lmaWVkGEhhbHRlZAAEBEBQYWxsZXQgaXMgaGFsdGVkKEZlZXNOb3RNZXQABQQpAVRoZSBvcGVyYXRpb24gcmVxdWlyZWQgZmVlcyB0byBiZSBwYWlkIHdoaWNoIHRoZSBpbml0aWF0b3IgY291bGQgbm90IG1lZXQuLFVucmVhY2hhYmxlAAYIXQFUaGUgZGVzaXJlZCBkZXN0aW5hdGlvbiB3YXMgdW5yZWFjaGFibGUsIGdlbmVyYWxseSBiZWNhdXNlIHRoZXJlIGlzIGEgbm8gd2F5IG9mIHJvdXRpbmcYdG8gaXQuLFNlbmRGYWlsdXJlAAcIQQFUaGVyZSB3YXMgc29tZSBvdGhlciBpc3N1ZSAoaS5lLiBub3QgdG8gZG8gd2l0aCByb3V0aW5nKSBpbiBzZW5kaW5nIHRoZSBtZXNzYWdlLshQZXJoYXBzIGEgbGFjayBvZiBzcGFjZSBmb3IgYnVmZmVyaW5nIHRoZSBtZXNzYWdlLjBJbnZhbGlkQXNzZXQACAR8SW52YWxpZCBmb3JlaWduIEVSQy0yMCB0b2tlbiBJRDhDYW5ub3RSZWFuY2hvcgAJBLxDYW5ub3QgcmVhY2hvciBhIGZvcmVpZ24gRVJDLTIwIGFzc2V0IGxvY2F0aW9uLjBWZXJpZmljYXRpb24EAIUIAURWZXJpZmljYXRpb25FcnJvcgAKBGhNZXNzYWdlIHZlcmlmaWNhdGlvbiBlcnJvcgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7lCAAAAukIAOkIEJBzbm93YnJpZGdlX291dGJvdW5kX3F1ZXVlX3ByaW1pdGl2ZXMIdjIcbWVzc2FnZTxPdXRib3VuZE1lc3NhZ2UAABABGG9yaWdpbjwBEEgyNTYAARRub25jZSgBDHU2NAABFHRvcGljPAEQSDI1NgABIGNvbW1hbmRz7QgB6EJvdW5kZWRWZWM8T3V0Ym91bmRDb21tYW5kV3JhcHBlciwgQ29uc3RVMzI8TUFYX0NPTU1BTkRTPj4AAO0IDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB8QgEUwAABAD1CAEYVmVjPFQ+AADxCBCQc25vd2JyaWRnZV9vdXRib3VuZF9xdWV1ZV9wcmltaXRpdmVzCHYyHG1lc3NhZ2VYT3V0Ym91bmRDb21tYW5kV3JhcHBlcgAADAEQa2luZAwBCHU4AAEMZ2FzKAEMdTY0AAEccGF5bG9hZBgBHFZlYzx1OD4AAPUIAAAC8QgA+QgMjHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlX3YyFHR5cGVzMFBlbmRpbmdPcmRlcgQsQmxvY2tOdW1iZXIBOAAMARRub25jZSgBDHU2NAABMGJsb2NrX251bWJlcjgBLEJsb2NrTnVtYmVyAAEMZmVlwAEQdTEyOAAA/QgMjHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlX3YyGHBhbGxldBRFcnJvcgQEVAABIDxNZXNzYWdlVG9vTGFyZ2UAAARgVGhlIG1lc3NhZ2UgaXMgdG9vIGxhcmdlGEhhbHRlZAABBFBUaGUgcGFsbGV0IGlzIGhhbHRlZDhJbnZhbGlkQ2hhbm5lbAACBDxJbnZhbGlkIENoYW5uZWw8SW52YWxpZEVudmVsb3BlAAMEQEludmFsaWQgRW52ZWxvcGUwVmVyaWZpY2F0aW9uBACFCAFEVmVyaWZpY2F0aW9uRXJyb3IABARoTWVzc2FnZSB2ZXJpZmljYXRpb24gZXJyb3I4SW52YWxpZEdhdGV3YXkABQQ8SW52YWxpZCBHYXRld2F5TEludmFsaWRQZW5kaW5nTm9uY2UABgRwUGVuZGluZyBub25jZSBkb2VzIG5vdCBleGlzdExSZXdhcmRQYXltZW50RmFpbGVkAAcEVFJld2FyZCBwYXltZW50IGZhaWxlZASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4BCQhQcGFsbGV0X21lc3NhZ2VfcXVldWUkQm9va1N0YXRlBDRNZXNzYWdlT3JpZ2luAWUEABgBFGJlZ2luOAEkUGFnZUluZGV4AAEMZW5kOAEkUGFnZUluZGV4AAEUY291bnQ4ASRQYWdlSW5kZXgAAUByZWFkeV9uZWlnaGJvdXJzBQkBhE9wdGlvbjxOZWlnaGJvdXJzPE1lc3NhZ2VPcmlnaW4+PgABNG1lc3NhZ2VfY291bnQoAQx1NjQAARBzaXplKAEMdTY0AAAFCQQYT3B0aW9uBARUAQkJAQgQTm9uZQAAABBTb21lBAAJCQAAAQAACQkIUHBhbGxldF9tZXNzYWdlX3F1ZXVlKE5laWdoYm91cnMENE1lc3NhZ2VPcmlnaW4BZQQACAEQcHJldmUEATRNZXNzYWdlT3JpZ2luAAEQbmV4dGUEATRNZXNzYWdlT3JpZ2luAAANCQAABAhlBDgAEQkIUHBhbGxldF9tZXNzYWdlX3F1ZXVlEFBhZ2UIEFNpemUBOCBIZWFwU2l6ZQAAGAEkcmVtYWluaW5nOAEQU2l6ZQABOHJlbWFpbmluZ19zaXplOAEQU2l6ZQABLGZpcnN0X2luZGV4OAEQU2l6ZQABFGZpcnN0OAEQU2l6ZQABEGxhc3Q4ARBTaXplAAEQaGVhcBUJAZxCb3VuZGVkVmVjPHU4LCBJbnRvVTMyPEhlYXBTaXplLCBTaXplPj4AABUJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBDARTAAAEABgBGFZlYzxUPgAAGQkMUHBhbGxldF9tZXNzYWdlX3F1ZXVlGHBhbGxldBRFcnJvcgQEVAABJCxOb3RSZWFwYWJsZQAACEkBUGFnZSBpcyBub3QgcmVhcGFibGUgYmVjYXVzZSBpdCBoYXMgaXRlbXMgcmVtYWluaW5nIHRvIGJlIHByb2Nlc3NlZCBhbmQgaXMgbm90IG9sZBxlbm91Z2guGE5vUGFnZQABBIRQYWdlIHRvIGJlIHJlYXBlZCBkb2VzIG5vdCBleGlzdC4kTm9NZXNzYWdlAAIEqFRoZSByZWZlcmVuY2VkIG1lc3NhZ2UgY291bGQgbm90IGJlIGZvdW5kLkBBbHJlYWR5UHJvY2Vzc2VkAAMEAQFUaGUgbWVzc2FnZSB3YXMgYWxyZWFkeSBwcm9jZXNzZWQgYW5kIGNhbm5vdCBiZSBwcm9jZXNzZWQgYWdhaW4uGFF1ZXVlZAAEBKxUaGUgbWVzc2FnZSBpcyBxdWV1ZWQgZm9yIGZ1dHVyZSBleGVjdXRpb24uSEluc3VmZmljaWVudFdlaWdodAAFBBkBVGhlcmUgaXMgdGVtcG9yYXJpbHkgbm90IGVub3VnaCB3ZWlnaHQgdG8gY29udGludWUgc2VydmljaW5nIG1lc3NhZ2VzLmBUZW1wb3JhcmlseVVucHJvY2Vzc2FibGUABhCoVGhpcyBtZXNzYWdlIGlzIHRlbXBvcmFyaWx5IHVucHJvY2Vzc2FibGUuAFkBU3VjaCBlcnJvcnMgYXJlIGV4cGVjdGVkLCBidXQgbm90IGd1YXJhbnRlZWQsIHRvIHJlc29sdmUgdGhlbXNlbHZlcyBldmVudHVhbGx5IHRocm91Z2gkcmV0cnlpbmcuLFF1ZXVlUGF1c2VkAAcM7FRoZSBxdWV1ZSBpcyBwYXVzZWQgYW5kIG5vIG1lc3NhZ2UgY2FuIGJlIGV4ZWN1dGVkIGZyb20gaXQuAB0BVGhpcyBjYW4gY2hhbmdlIGF0IGFueSB0aW1lIGFuZCBtYXkgcmVzb2x2ZSBpbiB0aGUgZnV0dXJlIGJ5IHJlLXRyeWluZy5MUmVjdXJzaXZlRGlzYWxsb3dlZAAIBDEBQW5vdGhlciBjYWxsIGlzIGluIHByb2dyZXNzIGFuZCBuZWVkcyB0byBmaW5pc2ggYmVmb3JlIHRoaXMgY2FsbCBjYW4gaGFwcGVuLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4dCQhIc3BfY29uc2Vuc3VzX3Nsb3RzMFNsb3REdXJhdGlvbgAABAAoAQx1NjQAACEJEChzcF9ydW50aW1lHGdlbmVyaWMUYmxvY2skTGF6eUJsb2NrCBhIZWFkZXIBXCRFeHRyaW5zaWMBGQYACAEYaGVhZGVyXAEYSGVhZGVyAAEoZXh0cmluc2ljcyUJAVBWZWM8T3BhcXVlRXh0cmluc2ljPgAAJQkAAAIpCQApCQgoc3BfcnVudGltZTxPcGFxdWVFeHRyaW5zaWMAAAQAGAEcVmVjPHU4PgAALQkIKHNwX3J1bnRpbWVYRXh0cmluc2ljSW5jbHVzaW9uTW9kZQABCDRBbGxFeHRyaW5zaWNzAAAANE9ubHlJbmhlcmVudHMAAQAAMQkIHHNwX2NvcmU4T3BhcXVlTWV0YWRhdGEAAAQAGAEcVmVjPHU4PgAANQkEGE9wdGlvbgQEVAExCQEIEE5vbmUAAAAQU29tZQQAMQkAAAEAADkJAAACOAA9CQQYUmVzdWx0CARUAT0FBEUBQQkBCAhPawQAPQUAAAAADEVycgQAQQkAAAEAAEEJDChzcF9ydW50aW1lUHRyYW5zYWN0aW9uX3ZhbGlkaXR5YFRyYW5zYWN0aW9uVmFsaWRpdHlFcnJvcgABCBxJbnZhbGlkBABFCQFISW52YWxpZFRyYW5zYWN0aW9uAAAAHFVua25vd24EAEkJAUhVbmtub3duVHJhbnNhY3Rpb24AAQAARQkMKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlISW52YWxpZFRyYW5zYWN0aW9uAAE0EENhbGwAAAAcUGF5bWVudAABABhGdXR1cmUAAgAUU3RhbGUAAwAgQmFkUHJvb2YABABEQW5jaWVudEJpcnRoQmxvY2sABQBERXhoYXVzdHNSZXNvdXJjZXMABgAYQ3VzdG9tBAAMAQh1OAAHADBCYWRNYW5kYXRvcnkACABMTWFuZGF0b3J5VmFsaWRhdGlvbgAJACRCYWRTaWduZXIACgBUSW5kZXRlcm1pbmF0ZUltcGxpY2l0AAsANFVua25vd25PcmlnaW4ADAAASQkMKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlIVW5rbm93blRyYW5zYWN0aW9uAAEMMENhbm5vdExvb2t1cAAAAExOb1Vuc2lnbmVkVmFsaWRhdG9yAAEAGEN1c3RvbQQADAEIdTgAAgAATQkIMHNwX2luaGVyZW50czBJbmhlcmVudERhdGEAAAQBEGRhdGFRCQGUQlRyZWVNYXA8SW5oZXJlbnRJZGVudGlmaWVyLCBWZWM8dTg+PgAAUQkEIEJUcmVlTWFwCARLAZ0BBFYBGAAEAFUJAAAAVQkAAAJZCQBZCQAABAidARgAXQkIMHNwX2luaGVyZW50c1BDaGVja0luaGVyZW50c1Jlc3VsdAAADAEQb2thecgBEGJvb2wAASxmYXRhbF9lcnJvcsgBEGJvb2wAARhlcnJvcnNNCQEwSW5oZXJlbnREYXRhAABhCQwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eURUcmFuc2FjdGlvblNvdXJjZQABDBxJbkJsb2NrAAAAFExvY2FsAAEAIEV4dGVybmFsAAIAAGUJBBhSZXN1bHQIBFQBaQkERQFBCQEICE9rBABpCQAAAAAMRXJyBABBCQAAAQAAaQkMKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlAVmFsaWRUcmFuc2FjdGlvbgAAFAEgcHJpb3JpdHkoAUxUcmFuc2FjdGlvblByaW9yaXR5AAEgcmVxdWlyZXM0AUxWZWM8VHJhbnNhY3Rpb25UYWc+AAEgcHJvdmlkZXM0AUxWZWM8VHJhbnNhY3Rpb25UYWc+AAEkbG9uZ2V2aXR5KAFQVHJhbnNhY3Rpb25Mb25nZXZpdHkAASRwcm9wYWdhdGXIARBib29sAABtCQwoc3Bfc2Vzc2lvbixydW50aW1lX2FwaWhPcGFxdWVHZW5lcmF0ZWRTZXNzaW9uS2V5cwAACAEQa2V5cxgBHFZlYzx1OD4AARRwcm9vZhgBHFZlYzx1OD4AAHEJBBhPcHRpb24EBFQBdQkBCBBOb25lAAAAEFNvbWUEAHUJAAABAAB1CQAAAnkJAHkJAAAECBgdBwB9CQw0ZnJhbWVfc3VwcG9ydDh2aWV3X2Z1bmN0aW9uczhWaWV3RnVuY3Rpb25JZAAACAEYcHJlZml4oQEBIFt1ODsgMTZdAAEYc3VmZml4oQEBIFt1ODsgMTZdAACBCQQYUmVzdWx0CARUARgERQGFCQEICE9rBAAYAAAAAAxFcnIEAIUJAAABAACFCQw0ZnJhbWVfc3VwcG9ydDh2aWV3X2Z1bmN0aW9uc2RWaWV3RnVuY3Rpb25EaXNwYXRjaEVycm9yAAEMOE5vdEltcGxlbWVudGVkAAAAIE5vdEZvdW5kBAB9CQE4Vmlld0Z1bmN0aW9uSWQAAQAUQ29kZWMAAgAAiQkMaHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50FHR5cGVzTFJ1bnRpbWVEaXNwYXRjaEluZm8IHEJhbGFuY2UBxBhXZWlnaHQBtQEADAEYd2VpZ2h0tQEBGFdlaWdodAABFGNsYXNz1QQBNERpc3BhdGNoQ2xhc3MAASxwYXJ0aWFsX2ZlZcQBHEJhbGFuY2UAAI0JDGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudBR0eXBlcyhGZWVEZXRhaWxzBBxCYWxhbmNlAcQACAE0aW5jbHVzaW9uX2ZlZZEJAXRPcHRpb248SW5jbHVzaW9uRmVlPEJhbGFuY2U+PgABDHRpcMQBHEJhbGFuY2UAAJEJBBhPcHRpb24EBFQBlQkBCBBOb25lAAAAEFNvbWUEAJUJAAABAACVCQxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQUdHlwZXMwSW5jbHVzaW9uRmVlBBxCYWxhbmNlAcQADAEgYmFzZV9mZWXEARxCYWxhbmNlAAEcbGVuX2ZlZcQBHEJhbGFuY2UAAUxhZGp1c3RlZF93ZWlnaHRfZmVlxAEcQmFsYW5jZQAAmQkEGFJlc3VsdAgEVAGdCQRFAaEJAQgIT2sEAJ0JAAAAAAxFcnIEAKEJAAABAACdCQAAAvECAKEJDEB4Y21fcnVudGltZV9hcGlzEGZlZXMURXJyb3IAARg0VW5pbXBsZW1lbnRlZAAAAGRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEATFdlaWdodE5vdENvbXB1dGFibGUAAgBMVW5oYW5kbGVkWGNtVmVyc2lvbgADADRBc3NldE5vdEZvdW5kAAQAKFVucm91dGFibGUABQAApQkEGFJlc3VsdAgEVAG1AQRFAaEJAQgIT2sEALUBAAAAAAxFcnIEAKEJAAABAACpCQQYUmVzdWx0CARUAcQERQGhCQEICE9rBADEAAAAAAxFcnIEAKEJAAABAACtCQQYUmVzdWx0CARUAbkCBEUBoQkBCAhPawQAuQIAAAAADEVycgQAoQkAAAEAALEJBBhSZXN1bHQIBFQBtQkERQHZCQEICE9rBAC1CQAAAAAMRXJyBADZCQAAAQAAtQkMQHhjbV9ydW50aW1lX2FwaXMcZHJ5X3J1bkRDYWxsRHJ5UnVuRWZmZWN0cwQURXZlbnQByQQAEAFAZXhlY3V0aW9uX3Jlc3VsdLkJAWhEaXNwYXRjaFJlc3VsdFdpdGhQb3N0SW5mbwABOGVtaXR0ZWRfZXZlbnRzxQkBKFZlYzxFdmVudD4AASRsb2NhbF94Y23JCQFgT3B0aW9uPFZlcnNpb25lZFhjbTwoKT4+AAE4Zm9yd2FyZGVkX3hjbXPNCQG8VmVjPChWZXJzaW9uZWRMb2NhdGlvbiwgVmVjPFZlcnNpb25lZFhjbTwoKT4+KT4AALkJBBhSZXN1bHQIBFQBvQkERQHBCQEICE9rBAC9CQAAAAAMRXJyBADBCQAAAQAAvQkMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUG9zdERpc3BhdGNoSW5mbwAACAE0YWN0dWFsX3dlaWdodIUCAThPcHRpb248V2VpZ2h0PgABIHBheXNfZmVl2QQBEFBheXMAAMEJCChzcF9ydW50aW1lZERpc3BhdGNoRXJyb3JXaXRoUG9zdEluZm8EEEluZm8BvQkACAEkcG9zdF9pbmZvvQkBEEluZm8AARRlcnJvct0EATREaXNwYXRjaEVycm9yAADFCQAAAskEAMkJBBhPcHRpb24EBFQBdQEBCBBOb25lAAAAEFNvbWUEAHUBAAABAADNCQAAAtEJANEJAAAECOzVCQDVCQAAAnUBANkJDEB4Y21fcnVudGltZV9hcGlzHGRyeV9ydW4URXJyb3IAAQg0VW5pbXBsZW1lbnRlZAAAAGRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEAAN0JBBhSZXN1bHQIBFQB4QkERQHZCQEICE9rBADhCQAAAAAMRXJyBADZCQAAAQAA4QkMQHhjbV9ydW50aW1lX2FwaXMcZHJ5X3J1bkBYY21EcnlSdW5FZmZlY3RzBBRFdmVudAHJBAAMAUBleGVjdXRpb25fcmVzdWx0KQUBHE91dGNvbWUAAThlbWl0dGVkX2V2ZW50c8UJAShWZWM8RXZlbnQ+AAE4Zm9yd2FyZGVkX3hjbXPNCQG8VmVjPChWZXJzaW9uZWRMb2NhdGlvbiwgVmVjPFZlcnNpb25lZFhjbTwoKT4+KT4AAOUJBBhSZXN1bHQIBFQBBARFAekJAQgIT2sEAAQAAAAADEVycgQA6QkAAAEAAOkJDEB4Y21fcnVudGltZV9hcGlzLGNvbnZlcnNpb25zFEVycm9yAAEILFVuc3VwcG9ydGVkAAAAZFZlcnNpb25lZENvbnZlcnNpb25GYWlsZWQAAQAA7QkIDHhjbThWZXJzaW9uZWRBc3NldAABDAhWMwQAjQEBOHYzOjpNdWx0aUFzc2V0AAMACFY0BAAFAgEkdjQ6OkFzc2V0AAQACFY1BABRAgEkdjU6OkFzc2V0AAUAAPEJBBhSZXN1bHQIBFQByARFAfUJAQgIT2sEAMgAAAAADEVycgQA9QkAAAEAAPUJDEB4Y21fcnVudGltZV9hcGlzNHRydXN0ZWRfcXVlcnkURXJyb3IAAQh4VmVyc2lvbmVkQXNzZXRDb252ZXJzaW9uRmFpbGVkAAAAhFZlcnNpb25lZExvY2F0aW9uQ29udmVyc2lvbkZhaWxlZAABAAD5CQQYUmVzdWx0CARUAcUHBEUB/QkBCAhPawQAxQcAAAAADEVycgQA/QkAAAEAAP0JDEB4Y21fcnVudGltZV9hcGlzSGF1dGhvcml6ZWRfYWxpYXNlcxRFcnJvcgABBHxMb2NhdGlvblZlcnNpb25Db252ZXJzaW9uRmFpbGVkAAAAAAEKBBhSZXN1bHQIBFQByARFAf0JAQgIT2sEAMgAAAAADEVycgQA/QkAAAEAAAUKCFxjdW11bHVzX3ByaW1pdGl2ZXNfY29yZTRDb2xsYXRpb25JbmZvAAAYATx1cHdhcmRfbWVzc2FnZXM0AUhWZWM8VXB3YXJkTWVzc2FnZT4AAUxob3Jpem9udGFsX21lc3NhZ2VzkQYBYFZlYzxPdXRib3VuZEhybXBNZXNzYWdlPgABTG5ld192YWxpZGF0aW9uX2NvZGUJCgGMT3B0aW9uPHJlbGF5X2NoYWluOjpWYWxpZGF0aW9uQ29kZT4AAWxwcm9jZXNzZWRfZG93bndhcmRfbWVzc2FnZXM4AQx1MzIAAThocm1wX3dhdGVybWFyazgBYHJlbGF5X2NoYWluOjpCbG9ja051bWJlcgABJGhlYWRfZGF0YUwBIEhlYWREYXRhAAAJCgQYT3B0aW9uBARUAQ0KAQgQTm9uZQAAABBTb21lBAANCgAAAQAADQoMdHBvbGthZG90X3BhcmFjaGFpbl9wcmltaXRpdmVzKHByaW1pdGl2ZXM4VmFsaWRhdGlvbkNvZGUAAAQAGAEcVmVjPHU4PgAAEQoEGFJlc3VsdAgEVAEQBEUB3QUBCAhPawQAEAAAAAAMRXJyBADdBQAAAQAAFQoEGE9wdGlvbgQEVAHdBQEIEE5vbmUAAAAQU29tZQQA3QUAAAEAABkKAAAC3QUAHQoEGE9wdGlvbgQEVAERCAEIEE5vbmUAAAAQU29tZQQAEQgAAAEAACEKAAACWQUAJQoAAAIpCgApCgAABAgYLQoALQoILGJwX21lc3NhZ2VzWE91dGJvdW5kTWVzc2FnZURldGFpbHMAAAwBFG5vbmNlKAEwTWVzc2FnZU5vbmNlAAE8ZGlzcGF0Y2hfd2VpZ2h0tQEBGFdlaWdodAABEHNpemU4AQx1MzIAADEKAAACNQoANQoILGJwX21lc3NhZ2VzVEluYm91bmRNZXNzYWdlRGV0YWlscwAABAE8ZGlzcGF0Y2hfd2VpZ2h0tQEBGFdlaWdodAAAOQoAAAItCgA9CgQYT3B0aW9uBARUAUEKAQgQTm9uZQAAABBTb21lBABBCgAAAQAAQQoIWHNub3dicmlkZ2VfbWVya2xlX3RyZWUsTWVya2xlUHJvb2YAABQBEHJvb3Q8ARBIMjU2AAEUcHJvb2bFAwEkVmVjPEgyNTY+AAFAbnVtYmVyX29mX2xlYXZlcygBDHU2NAABKGxlYWZfaW5kZXgoAQx1NjQAARBsZWFmPAEQSDI1NgAARQoQkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcwh2MRxtZXNzYWdlHENvbW1hbmQAASAwQWdlbnRFeGVjdXRlCAEgYWdlbnRfaWQ8ARBIMjU2AAEcY29tbWFuZEkKAUxBZ2VudEV4ZWN1dGVDb21tYW5kAAAAHFVwZ3JhZGUMATBpbXBsX2FkZHJlc3PBAwEQSDE2MAABOGltcGxfY29kZV9oYXNoPAEQSDI1NgABLGluaXRpYWxpemVyLQQBTE9wdGlvbjxJbml0aWFsaXplcj4AAQBAU2V0T3BlcmF0aW5nTW9kZQQBEG1vZGU1BAE0T3BlcmF0aW5nTW9kZQACAFBTZXRUb2tlblRyYW5zZmVyRmVlcwwBQGNyZWF0ZV9hc3NldF94Y23EARB1MTI4AAFIdHJhbnNmZXJfYXNzZXRfeGNtxAEQdTEyOAABOHJlZ2lzdGVyX3Rva2Vu5QMBEFUyNTYAAwBQU2V0UHJpY2luZ1BhcmFtZXRlcnMMATRleGNoYW5nZV9yYXRlTQoBHFVENjB4MTgAATRkZWxpdmVyeV9jb3N0xAEQdTEyOAABKG11bHRpcGxpZXJNCgEcVUQ2MHgxOAAEAERVbmxvY2tOYXRpdmVUb2tlbhABIGFnZW50X2lkPAEQSDI1NgABFHRva2VuwQMBEEgxNjAAASRyZWNpcGllbnTBAwEQSDE2MAABGGFtb3VudMQBEHUxMjgABQBQUmVnaXN0ZXJGb3JlaWduVG9rZW4QASB0b2tlbl9pZDwBEEgyNTYAARBuYW1lGAEcVmVjPHU4PgABGHN5bWJvbBgBHFZlYzx1OD4AASBkZWNpbWFscwwBCHU4AAYAQE1pbnRGb3JlaWduVG9rZW4MASB0b2tlbl9pZDwBEEgyNTYAASRyZWNpcGllbnTBAwEQSDE2MAABGGFtb3VudMQBEHUxMjgABwAASQoQkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcwh2MRxtZXNzYWdlTEFnZW50RXhlY3V0ZUNvbW1hbmQAAQQ0VHJhbnNmZXJUb2tlbgwBFHRva2VuwQMBEEgxNjAAASRyZWNpcGllbnTBAwEQSDE2MAABGGFtb3VudMQBEHUxMjgAAAAATQoMPHNub3dicmlkZ2VfY29yZRxwcmljaW5nHFVENjB4MTgAAAQA5QMBEFUyNTYAAFEKBBhPcHRpb24EBFQBOQQBCBBOb25lAAAAEFNvbWUEADkEAAABAABVChCQc25vd2JyaWRnZV9vdXRib3VuZF9xdWV1ZV9wcmltaXRpdmVzCHYxHG1lc3NhZ2UMRmVlBBxCYWxhbmNlAcQACAEUbG9jYWzEARxCYWxhbmNlAAEYcmVtb3RlxAEcQmFsYW5jZQAAWQoIbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZTBSdW50aW1lRXJyb3IAAVwYU3lzdGVtBAANBgFwZnJhbWVfc3lzdGVtOjpFcnJvcjxSdW50aW1lPgAAADxQYXJhY2hhaW5TeXN0ZW0EAKEGAbxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtOjpFcnJvcjxSdW50aW1lPgABACBCYWxhbmNlcwQA2QYBfHBhbGxldF9iYWxhbmNlczo6RXJyb3I8UnVudGltZT4ACgBEQ29sbGF0b3JTZWxlY3Rpb24EAP0GAaRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uOjpFcnJvcjxSdW50aW1lPgAVABxTZXNzaW9uBAAhBwF4cGFsbGV0X3Nlc3Npb246OkVycm9yPFJ1bnRpbWU+ABYAJFhjbXBRdWV1ZQQAXQcBpGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWU6OkVycm9yPFJ1bnRpbWU+AB4ALFBvbGthZG90WGNtBADJBwFocGFsbGV0X3hjbTo6RXJyb3I8UnVudGltZT4AHwAcVXRpbGl0eQQA0QcBeHBhbGxldF91dGlsaXR5OjpFcnJvcjxSdW50aW1lPgAoACBNdWx0aXNpZwQA4QcBfHBhbGxldF9tdWx0aXNpZzo6RXJyb3I8UnVudGltZT4AKQAUUHJveHkEAAUIAXBwYWxsZXRfcHJveHk6OkVycm9yPFJ1bnRpbWU+ACoAOEJyaWRnZVJlbGF5ZXJzBAANCAGYcGFsbGV0X2JyaWRnZV9yZWxheWVyczo6RXJyb3I8UnVudGltZT4AMgBMQnJpZGdlS3VzYW1hR3JhbmRwYQQAIQgBHQFwYWxsZXRfYnJpZGdlX2dyYW5kcGE6OkVycm9yPFJ1bnRpbWUsIHBhbGxldF9icmlkZ2VfZ3JhbmRwYTo6SW5zdGFuY2UxPgAzAFhCcmlkZ2VLdXNhbWFQYXJhY2hhaW5zBAA5CAE5AXBhbGxldF9icmlkZ2VfcGFyYWNoYWluczo6RXJyb3I8UnVudGltZSwgcGFsbGV0X2JyaWRnZV9wYXJhY2hhaW5zOjoKSW5zdGFuY2UxPgA0AFBCcmlkZ2VLdXNhbWFNZXNzYWdlcwQAYQgBKQFwYWxsZXRfYnJpZGdlX21lc3NhZ2VzOjpFcnJvcjxSdW50aW1lLCBwYWxsZXRfYnJpZGdlX21lc3NhZ2VzOjpJbnN0YW5jZTEKPgA1AFhYY21PdmVyQnJpZGdlSHViS3VzYW1hBAB5CAEdAXBhbGxldF94Y21fYnJpZGdlX2h1Yjo6RXJyb3I8UnVudGltZSwgcGFsbGV0X3hjbV9icmlkZ2VfaHViOjpJbnN0YW5jZTE+ADYAUEV0aGVyZXVtSW5ib3VuZFF1ZXVlBACBCAG8c25vd2JyaWRnZV9wYWxsZXRfaW5ib3VuZF9xdWV1ZTo6RXJyb3I8UnVudGltZT4AUABURXRoZXJldW1PdXRib3VuZFF1ZXVlBACZCAHAc25vd2JyaWRnZV9wYWxsZXRfb3V0Ym91bmRfcXVldWU6OkVycm9yPFJ1bnRpbWU+AFEAUEV0aGVyZXVtQmVhY29uQ2xpZW50BADJCAHEc25vd2JyaWRnZV9wYWxsZXRfZXRoZXJldW1fY2xpZW50OjpFcnJvcjxSdW50aW1lPgBSADhFdGhlcmV1bVN5c3RlbQQA1QgBoHNub3dicmlkZ2VfcGFsbGV0X3N5c3RlbTo6RXJyb3I8UnVudGltZT4AUwBARXRoZXJldW1TeXN0ZW1WMgQA3QgBrHNub3dicmlkZ2VfcGFsbGV0X3N5c3RlbV92Mjo6RXJyb3I8UnVudGltZT4AWgBYRXRoZXJldW1JbmJvdW5kUXVldWVWMgQA4QgByHNub3dicmlkZ2VfcGFsbGV0X2luYm91bmRfcXVldWVfdjI6OkVycm9yPFJ1bnRpbWU+AFsAXEV0aGVyZXVtT3V0Ym91bmRRdWV1ZVYyBAD9CAHMc25vd2JyaWRnZV9wYWxsZXRfb3V0Ym91bmRfcXVldWVfdjI6OkVycm9yPFJ1bnRpbWU+AFwAME1lc3NhZ2VRdWV1ZQQAGQkBkHBhbGxldF9tZXNzYWdlX3F1ZXVlOjpFcnJvcjxSdW50aW1lPgCvAAB8GFN5c3RlbQEYU3lzdGVtUBxBY2NvdW50AQEEAgSxBEEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAE6CBUaGUgZnVsbCBhY2NvdW50IGluZm9ybWF0aW9uIGZvciBhIHBhcnRpY3VsYXIgYWNjb3VudCBJRC4AOEV4dHJpbnNpY0NvdW50AAA4BAAEuCBUb3RhbCBleHRyaW5zaWNzIGNvdW50IGZvciB0aGUgY3VycmVudCBibG9jay4AQEluaGVyZW50c0FwcGxpZWQBAMgEAASkIFdoZXRoZXIgYWxsIGluaGVyZW50cyBoYXZlIGJlZW4gYXBwbGllZC4ALEJsb2NrV2VpZ2h0AQC9BBgAAAAAAAAEiCBUaGUgY3VycmVudCB3ZWlnaHQgZm9yIHRoZSBibG9jay4AJEJsb2NrU2l6ZQAAOAQADLAgVG90YWwgc2l6ZSAoaW4gYnl0ZXMpIG9mIHRoZSBjdXJyZW50IGJsb2NrLgDIIFRyYWNrcyB0aGUgc2l6ZSBvZiB0aGUgaGVhZGVyIGFuZCBhbGwgZXh0cmluc2ljcy4AJEJsb2NrSGFzaAEBBAU4PIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASYIE1hcCBvZiBibG9jayBudW1iZXJzIHRvIGJsb2NrIGhhc2hlcy4ANEV4dHJpbnNpY0RhdGEBAQQFOBgEAAQ9ASBFeHRyaW5zaWNzIGRhdGEgZm9yIHRoZSBjdXJyZW50IGJsb2NrIChtYXBzIGFuIGV4dHJpbnNpYydzIGluZGV4IHRvIGl0cyBkYXRhKS4AGE51bWJlcgEAOBAAAAAABAkBIFRoZSBjdXJyZW50IGJsb2NrIG51bWJlciBiZWluZyBwcm9jZXNzZWQuIFNldCBieSBgZXhlY3V0ZV9ibG9ja2AuAChQYXJlbnRIYXNoAQA8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHAgSGFzaCBvZiB0aGUgcHJldmlvdXMgYmxvY2suABhEaWdlc3QBAGQEAATwIERpZ2VzdCBvZiB0aGUgY3VycmVudCBibG9jaywgYWxzbyBwYXJ0IG9mIHRoZSBibG9jayBoZWFkZXIuABhFdmVudHMBAMEEBAAcoCBFdmVudHMgZGVwb3NpdGVkIGZvciB0aGUgY3VycmVudCBibG9jay4AHQEgTk9URTogVGhlIGl0ZW0gaXMgdW5ib3VuZCBhbmQgc2hvdWxkIHRoZXJlZm9yZSBuZXZlciBiZSByZWFkIG9uIGNoYWluLtAgSXQgY291bGQgb3RoZXJ3aXNlIGluZmxhdGUgdGhlIFBvViBzaXplIG9mIGEgYmxvY2suAC0BIEV2ZW50cyBoYXZlIGEgbGFyZ2UgaW4tbWVtb3J5IHNpemUuIEJveCB0aGUgZXZlbnRzIHRvIG5vdCBnbyBvdXQtb2YtbWVtb3J5/CBqdXN0IGluIGNhc2Ugc29tZW9uZSBzdGlsbCByZWFkcyB0aGVtIGZyb20gd2l0aGluIHRoZSBydW50aW1lLgAoRXZlbnRDb3VudAEAOBAAAAAABLggVGhlIG51bWJlciBvZiBldmVudHMgaW4gdGhlIGBFdmVudHM8VD5gIGxpc3QuACxFdmVudFRvcGljcwEBBAI8zQUEACglASBNYXBwaW5nIGJldHdlZW4gYSB0b3BpYyAocmVwcmVzZW50ZWQgYnkgVDo6SGFzaCkgYW5kIGEgdmVjdG9yIG9mIGluZGV4ZXOUIG9mIGV2ZW50cyBpbiB0aGUgYDxFdmVudHM8VD4+YCBsaXN0LgBRASBBbGwgdG9waWMgdmVjdG9ycyBoYXZlIGRldGVybWluaXN0aWMgc3RvcmFnZSBsb2NhdGlvbnMgZGVwZW5kaW5nIG9uIHRoZSB0b3BpYy4gVGhpc0UBIGFsbG93cyBsaWdodC1jbGllbnRzIHRvIGxldmVyYWdlIHRoZSBjaGFuZ2VzIHRyaWUgc3RvcmFnZSB0cmFja2luZyBtZWNoYW5pc20gYW5k5CBpbiBjYXNlIG9mIGNoYW5nZXMgZmV0Y2ggdGhlIGxpc3Qgb2YgZXZlbnRzIG9mIGludGVyZXN0LgBZASBUaGUgdmFsdWUgaGFzIHRoZSB0eXBlIGAoQmxvY2tOdW1iZXJGb3I8VD4sIEV2ZW50SW5kZXgpYCBiZWNhdXNlIGlmIHdlIHVzZWQgb25seSBqdXN0TQEgdGhlIGBFdmVudEluZGV4YCB0aGVuIGluIGNhc2UgaWYgdGhlIHRvcGljIGhhcyB0aGUgc2FtZSBjb250ZW50cyBvbiB0aGUgbmV4dCBibG9jawEBIG5vIG5vdGlmaWNhdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCB0aHVzIHRoZSBldmVudCBtaWdodCBiZSBsb3N0LgBITGFzdFJ1bnRpbWVVcGdyYWRlAADVBQQABFUBIFN0b3JlcyB0aGUgYHNwZWNfdmVyc2lvbmAgYW5kIGBzcGVjX25hbWVgIG9mIHdoZW4gdGhlIGxhc3QgcnVudGltZSB1cGdyYWRlIGhhcHBlbmVkLgBEQmxvY2tzVGlsbFVwZ3JhZGUAAAwEAATsIE51bWJlciBvZiBibG9ja3MgdGlsbCB0aGUgcGVuZGluZyBjb2RlIHVwZ3JhZGUgaXMgYXBwbGllZC4AVFVwZ3JhZGVkVG9VMzJSZWZDb3VudAEAyAQABE0BIFRydWUgaWYgd2UgaGF2ZSB1cGdyYWRlZCBzbyB0aGF0IGB0eXBlIFJlZkNvdW50YCBpcyBgdTMyYC4gRmFsc2UgKGRlZmF1bHQpIGlmIG5vdC4AYFVwZ3JhZGVkVG9UcmlwbGVSZWZDb3VudAEAyAQACF0BIFRydWUgaWYgd2UgaGF2ZSB1cGdyYWRlZCBzbyB0aGF0IEFjY291bnRJbmZvIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIGBSZWZDb3VudGAuIEZhbHNlSCAoZGVmYXVsdCkgaWYgbm90LgA4RXhlY3V0aW9uUGhhc2UAAMkFBAAEiCBUaGUgZXhlY3V0aW9uIHBoYXNlIG9mIHRoZSBibG9jay4AREF1dGhvcml6ZWRVcGdyYWRlAADhBQQABLggYFNvbWVgIGlmIGEgY29kZSB1cGdyYWRlIGhhcyBiZWVuIGF1dGhvcml6ZWQuAGBFeHRyaW5zaWNXZWlnaHRSZWNsYWltZWQBALUBCAAAHKAgVGhlIHdlaWdodCByZWNsYWltZWQgZm9yIHRoZSBleHRyaW5zaWMuACEBIFRoaXMgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHVudGlsIHRoZSBlbmQgb2YgdGhlIGV4dHJpbnNpYyBleGVjdXRpb24uIQEgTW9yZSBwcmVjaXNlbHkgdGhpcyBpbmZvcm1hdGlvbiBpcyByZW1vdmVkIGluIGBub3RlX2FwcGxpZWRfZXh0cmluc2ljYC4AcQEgTG9naWMgZG9pbmcgc29tZSBwb3N0IGRpc3BhdGNoIHdlaWdodCByZWR1Y3Rpb24gbXVzdCB1cGRhdGUgdGhpcyBzdG9yYWdlIHRvIGF2b2lkIGR1cGxpY2F0ZSwgcmVkdWN0aW9uLgABJAABzQQAGDBCbG9ja1dlaWdodHPlBXUBBwDyBSoBAAcAiFJqdAIAgAICZc0dAAEHwNIsdlECAMABAQcA5r1PVwIA4AEBAAACZc0dAAEHwHTBkG4CAGACAQcAiFJqdAIAgAIBBwCilBodAgCgAAJlzR0AAAAABNAgQmxvY2sgJiBleHRyaW5zaWNzIHdlaWdodHM6IGJhc2UgdmFsdWVzIGFuZCBsaW1pdHMuACxCbG9ja0xlbmd0aPEFNAAAPAAAAFAAAABQAAAEqCBUaGUgbWF4aW11bSBsZW5ndGggb2YgYSBibG9jayAoaW4gYnl0ZXMpLgA4QmxvY2tIYXNoQ291bnQ4EAAQAAAEVQEgTWF4aW11bSBudW1iZXIgb2YgYmxvY2sgbnVtYmVyIHRvIGJsb2NrIGhhc2ggbWFwcGluZ3MgdG8ga2VlcCAob2xkZXN0IHBydW5lZCBmaXJzdCkuACBEYldlaWdodPkFQEB4fQEAAAAAAOH1BQAAAAAECQEgVGhlIHdlaWdodCBvZiBydW50aW1lIGRhdGFiYXNlIG9wZXJhdGlvbnMgdGhlIHJ1bnRpbWUgY2FuIGludm9rZS4AHFZlcnNpb279BYkGTGJyaWRnZS1odWItcG9sa2Fkb3RMYnJpZGdlLWh1Yi1wb2xrYWRvdAEAAAA4kB4AAAAAAHjdcY1cxTJi1AEAAAAE5wUhoNPS+AEAAADXvdiicsoNZQIAAADfastomQdgmwUAAAA345f8fJH15AIAAABA/jrUAfiVmgYAAADSvJiX7tCPFQMAAAD3iyeL5T9FTAIAAACrPAVyKR/riwIAAADM2d5jlsiZygEAAAC8nYmQT1uSPwEAAAA3yLsTUKmiqAQAAADz/xTVq1JwWQMAAABv9S7oWObFvQIAAACRscixYyjrkgIAAACf+1BapzjWnAEAAAAmCb6DrERo3AEAAAASyOPU1+Bt4AEAAADqk+Pxbz1pYgMAAAD7xXe510fv1gEAAADdXFYX5SCWTQEAAACF4CHyH3AN+wEAAAATUnblbd6m4gEAAADyy4lAu97AywEAAAAMff1ZXRDuFAEAAACJF5okgXFSpwEAAAA91iJGIXFxHAEAAAB27lzrsvqP/wEAAABtZCaAV7zpcwEAAACi3balhHe/YwEAAAAEAAAAAQSEIEdldCB0aGUgY2hhaW4ncyBpbi1jb2RlIHZlcnNpb24uAChTUzU4UHJlZml4BQMIAAAUqCBUaGUgZGVzaWduYXRlZCBTUzU4IHByZWZpeCBvZiB0aGlzIGNoYWluLgA5ASBUaGlzIHJlcGxhY2VzIHRoZSAic3M1OEZvcm1hdCIgcHJvcGVydHkgZGVjbGFyZWQgaW4gdGhlIGNoYWluIHNwZWMuIFJlYXNvbiBpczEBIHRoYXQgdGhlIHJ1bnRpbWUgc2hvdWxkIGtub3cgYWJvdXQgdGhlIHByZWZpeCBpbiBvcmRlciB0byBtYWtlIHVzZSBvZiBpdCBhc3AgYW4gaWRlbnRpZmllciBvZiB0aGUgY2hhaW4uAAENBgAcLFJ1bnRpbWVDYWxsIASMIFRoZSBhZ2dyZWdhdGVkIGBSdW50aW1lQ2FsbGAgdHlwZS4UTm9uY2U4BEkBIFRoaXMgc3RvcmVzIHRoZSBudW1iZXIgb2YgcHJldmlvdXMgdHJhbnNhY3Rpb25zIGFzc29jaWF0ZWQgd2l0aCBhIHNlbmRlciBhY2NvdW50LhBIYXNoPASYIFRoZSBvdXRwdXQgb2YgdGhlIGBIYXNoaW5nYCBmdW5jdGlvbi4cSGFzaGluZxEGBCEBIFRoZSBoYXNoaW5nIHN5c3RlbSAoYWxnb3JpdGhtKSBiZWluZyB1c2VkIGluIHRoZSBydW50aW1lIChlLmcuIEJsYWtlMikuJEFjY291bnRJZAQEyCBUaGUgdXNlciBhY2NvdW50IGlkZW50aWZpZXIgdHlwZSBmb3IgdGhlIHJ1bnRpbWUuFEJsb2NrFQYIYQEgVGhlIEJsb2NrIHR5cGUgdXNlZCBieSB0aGUgcnVudGltZS4gVGhpcyBpcyB1c2VkIGJ5IGBjb25zdHJ1Y3RfcnVudGltZWAgdG8gcmV0cmlldmUgdGhlzCBleHRyaW5zaWNzIG9yIG90aGVyIGJsb2NrIHNwZWNpZmljIGRhdGEgYXMgbmVlZGVkLixBY2NvdW50RGF0YbUECGEBIERhdGEgdG8gYmUgYXNzb2NpYXRlZCB3aXRoIGFuIGFjY291bnQgKG90aGVyIHRoYW4gbm9uY2UvdHJhbnNhY3Rpb24gY291bnRlciwgd2hpY2ggdGhpc2QgcGFsbGV0IGRvZXMgcmVnYXJkbGVzcykuAAAAADxQYXJhY2hhaW5TeXN0ZW0BPFBhcmFjaGFpblN5c3RlbXw8QmxvY2tXZWlnaHRNb2RlAAApBgQAGHwgVGhlIGN1cnJlbnQgYmxvY2sgd2VpZ2h0IG1vZGUuAHUBIFRoaXMgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hhdCBpcyB0aGUgbWF4aW11bSBhbGxvd2VkIGJsb2NrIHdlaWdodCwgZm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlSCBbYGJsb2NrX3dlaWdodGBdLgAlASBLaWxsZWQgaW4gW2BTZWxmOjpvbl9pbml0aWFsaXplYF0gYW5kIHNldCBieSB0aGUgW2BibG9ja193ZWlnaHRgXSBsb2dpYy4ARFByZXZpb3VzQ29yZUNvdW50AAAtBgQADAUBIFRoZSBjb3JlIGNvdW50IGF2YWlsYWJsZSB0byB0aGUgcGFyYWNoYWluIGluIHRoZSBwcmV2aW91cyBibG9jay4AdQEgVGhpcyBpcyBtYWlubHkgdXNlZCBmb3Igb2ZmY2hhaW4gZnVuY3Rpb25hbGl0eSB0byBjYWxjdWxhdGUgdGhlIGNvcnJlY3QgdGFyZ2V0IGJsb2NrIHdlaWdodC4ARFVuaW5jbHVkZWRTZWdtZW50AQAxBgQAGEkBIExhdGVzdCBpbmNsdWRlZCBibG9jayBkZXNjZW5kYW50cyB0aGUgcnVudGltZSBhY2NlcHRlZC4gSW4gb3RoZXIgd29yZHMsIHRoZXNlIGFyZWEBIGFuY2VzdG9ycyBvZiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyBibG9jayB3aGljaCBoYXZlIG5vdCBiZWVuIGluY2x1ZGVkIGluIHRoZSBvYnNlcnZlZEwgcmVsYXktY2hhaW4gc3RhdGUuAHUBIFRoZSBzZWdtZW50IGxlbmd0aCBpcyBsaW1pdGVkIGJ5IHRoZSBjYXBhY2l0eSByZXR1cm5lZCBmcm9tIHRoZSBbYENvbnNlbnN1c0hvb2tgXSBjb25maWd1cmVkPCBpbiB0aGUgcGFsbGV0LgBsQWdncmVnYXRlZFVuaW5jbHVkZWRTZWdtZW50AABVBgQADGkBIFN0b3JhZ2UgZmllbGQgdGhhdCBrZWVwcyB0cmFjayBvZiBiYW5kd2lkdGggdXNlZCBieSB0aGUgdW5pbmNsdWRlZCBzZWdtZW50IGFsb25nIHdpdGggdGhlLQEgbGF0ZXN0IEhSTVAgd2F0ZXJtYXJrLiBVc2VkIGZvciBsaW1pdGluZyB0aGUgYWNjZXB0YW5jZSBvZiBuZXcgYmxvY2tzIHdpdGiQIHJlc3BlY3QgdG8gcmVsYXkgY2hhaW4gY29uc3RyYWludHMuAFRQZW5kaW5nVmFsaWRhdGlvbkNvZGUBABgEABhZASBJbiBjYXNlIG9mIGEgc2NoZWR1bGVkIHVwZ3JhZGUsIHRoaXMgc3RvcmFnZSBmaWVsZCBjb250YWlucyB0aGUgdmFsaWRhdGlvbiBjb2RlIHRvIGJlJCBhcHBsaWVkLgA9ASBBcyBzb29uIGFzIHRoZSByZWxheSBjaGFpbiBnaXZlcyB1cyB0aGUgZ28tYWhlYWQgc2lnbmFsLCB3ZSB3aWxsIG92ZXJ3cml0ZSB0aGVlASBbYDpwZW5kaW5nX2NvZGVgXVtzcF9jb3JlOjpzdG9yYWdlOjp3ZWxsX2tub3duX2tleXM6OlBFTkRJTkdfQ09ERV0gd2hpY2ggd2lsbCByZXN1bHQgdGhldQEgbmV4dCBibG9jayB0byBiZSBwcm9jZXNzZWQgd2l0aCB0aGUgbmV3IHZhbGlkYXRpb24gY29kZS4gVGhpcyBjb25jbHVkZXMgdGhlIHVwZ3JhZGUgcHJvY2Vzcy4ARE5ld1ZhbGlkYXRpb25Db2RlAAAYBAAUXQEgVmFsaWRhdGlvbiBjb2RlIHRoYXQgaXMgc2V0IGJ5IHRoZSBwYXJhY2hhaW4gYW5kIGlzIHRvIGJlIGNvbW11bmljYXRlZCB0byBjb2xsYXRvciBhbmR4IGNvbnNlcXVlbnRseSB0aGUgcmVsYXktY2hhaW4uAGUBIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBvZiBlYWNoIG5ldyBibG9jayBpZiBubyBvdGhlciBwYWxsZXQgYWxyZWFkeSBzZXQsIHRoZSB2YWx1ZS4AOFZhbGlkYXRpb25EYXRhAABIBAAM0CBUaGUgW2BQZXJzaXN0ZWRWYWxpZGF0aW9uRGF0YWBdIHNldCBmb3IgdGhpcyBibG9jay4AcQEgVGhpcyB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSBzZXQgb25seSBvbmNlIGJ5IHRoZSBbYFBhbGxldDo6c2V0X3ZhbGlkYXRpb25fZGF0YWBdIGluaGVyZW50LgBQRGlkU2V0VmFsaWRhdGlvbkNvZGUBAMgEAATgIFdlcmUgdGhlIHZhbGlkYXRpb24gZGF0YSBzZXQgdG8gbm90aWZ5IHRoZSByZWxheSBjaGFpbj8AZExhc3RSZWxheUNoYWluQmxvY2tOdW1iZXIBADgQAAAAAAwdASBUaGUgcmVsYXkgY2hhaW4gYmxvY2sgbnVtYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGFzdCBwYXJhY2hhaW4gYmxvY2suAIggVGhpcyBpcyB1cGRhdGVkIGluIGBvbl9maW5hbGl6ZWAuAGBVcGdyYWRlUmVzdHJpY3Rpb25TaWduYWwBAFkGBAAcdQEgQW4gb3B0aW9uIHdoaWNoIGluZGljYXRlcyBpZiB0aGUgcmVsYXktY2hhaW4gcmVzdHJpY3RzIHNpZ25hbGxpbmcgYSB2YWxpZGF0aW9uIGNvZGUgdXBncmFkZS5hASBJbiBvdGhlciB3b3JkcywgaWYgdGhpcyBpcyBgU29tZWAgYW5kIFtgTmV3VmFsaWRhdGlvbkNvZGVgXSBpcyBgU29tZWAgdGhlbiB0aGUgcHJvZHVjZWRsIGNhbmRpZGF0ZSB3aWxsIGJlIGludmFsaWQuAHEBIFRoaXMgc3RvcmFnZSBpdGVtIGlzIGEgbWlycm9yIG9mIHRoZSBjb3JyZXNwb25kaW5nIHZhbHVlIGZvciB0aGUgY3VycmVudCBwYXJhY2hhaW4gZnJvbSB0aGVtASByZWxheS1jaGFpbi4gVGhpcyB2YWx1ZSBpcyBlcGhlbWVyYWwgd2hpY2ggbWVhbnMgaXQgZG9lc24ndCBoaXQgdGhlIHN0b3JhZ2UuIFRoaXMgdmFsdWUgaXNgIHNldCBhZnRlciB0aGUgaW5oZXJlbnQuADhVcGdyYWRlR29BaGVhZAEATQYEABTcIE9wdGlvbmFsIHVwZ3JhZGUgZ28tYWhlYWQgc2lnbmFsIGZyb20gdGhlIHJlbGF5LWNoYWluLgBxASBUaGlzIHN0b3JhZ2UgaXRlbSBpcyBhIG1pcnJvciBvZiB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZSBmb3IgdGhlIGN1cnJlbnQgcGFyYWNoYWluIGZyb20gdGhlbQEgcmVsYXktY2hhaW4uIFRoaXMgdmFsdWUgaXMgZXBoZW1lcmFsIHdoaWNoIG1lYW5zIGl0IGRvZXNuJ3QgaGl0IHRoZSBzdG9yYWdlLiBUaGlzIHZhbHVlIGlzYCBzZXQgYWZ0ZXIgdGhlIGluaGVyZW50LgA8UmVsYXlTdGF0ZVByb29mAABQBAAYxCBUaGUgc3RhdGUgcHJvb2YgZm9yIHRoZSBsYXN0IHJlbGF5IHBhcmVudCBibG9jay4AbQEgVGhpcyBmaWVsZCBpcyBtZWFudCB0byBiZSB1cGRhdGVkIGVhY2ggYmxvY2sgd2l0aCB0aGUgdmFsaWRhdGlvbiBkYXRhIGluaGVyZW50LiBUaGVyZWZvcmUsTQEgYmVmb3JlIHByb2Nlc3Npbmcgb2YgdGhlIGluaGVyZW50LCBlLmcuIGluIGBvbl9pbml0aWFsaXplYCB0aGlzIGRhdGEgbWF5IGJlIHN0YWxlLgCsIFRoaXMgZGF0YSBpcyBhbHNvIGFic2VudCBmcm9tIHRoZSBnZW5lc2lzLgBYUmVsZXZhbnRNZXNzYWdpbmdTdGF0ZQAAYQYEABxlASBUaGUgc25hcHNob3Qgb2Ygc29tZSBzdGF0ZSByZWxhdGVkIHRvIG1lc3NhZ2luZyByZWxldmFudCB0byB0aGUgY3VycmVudCBwYXJhY2hhaW4gYXMgcGVySCB0aGUgcmVsYXkgcGFyZW50LgBtASBUaGlzIGZpZWxkIGlzIG1lYW50IHRvIGJlIHVwZGF0ZWQgZWFjaCBibG9jayB3aXRoIHRoZSB2YWxpZGF0aW9uIGRhdGEgaW5oZXJlbnQuIFRoZXJlZm9yZSxNASBiZWZvcmUgcHJvY2Vzc2luZyBvZiB0aGUgaW5oZXJlbnQsIGUuZy4gaW4gYG9uX2luaXRpYWxpemVgIHRoaXMgZGF0YSBtYXkgYmUgc3RhbGUuAKwgVGhpcyBkYXRhIGlzIGFsc28gYWJzZW50IGZyb20gdGhlIGdlbmVzaXMuAERIb3N0Q29uZmlndXJhdGlvbgAAdQYEABgpASBUaGUgcGFyYWNoYWluIGhvc3QgY29uZmlndXJhdGlvbiB0aGF0IHdhcyBvYnRhaW5lZCBmcm9tIHRoZSByZWxheSBwYXJlbnQuAG0BIFRoaXMgZmllbGQgaXMgbWVhbnQgdG8gYmUgdXBkYXRlZCBlYWNoIGJsb2NrIHdpdGggdGhlIHZhbGlkYXRpb24gZGF0YSBpbmhlcmVudC4gVGhlcmVmb3JlLE0BIGJlZm9yZSBwcm9jZXNzaW5nIG9mIHRoZSBpbmhlcmVudCwgZS5nLiBpbiBgb25faW5pdGlhbGl6ZWAgdGhpcyBkYXRhIG1heSBiZSBzdGFsZS4ArCBUaGlzIGRhdGEgaXMgYWxzbyBhYnNlbnQgZnJvbSB0aGUgZ2VuZXNpcy4AOExhc3REbXFNcWNIZWFkAQB9BoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABD0IFRoZSBsYXN0IGRvd253YXJkIG1lc3NhZ2UgcXVldWUgY2hhaW4gaGVhZCB3ZSBoYXZlIG9ic2VydmVkLgBlASBUaGlzIHZhbHVlIGlzIGxvYWRlZCBiZWZvcmUgYW5kIHNhdmVkIGFmdGVyIHByb2Nlc3NpbmcgaW5ib3VuZCBkb3dud2FyZCBtZXNzYWdlcyBjYXJyaWVkYCBieSB0aGUgc3lzdGVtIGluaGVyZW50LgBATGFzdEhybXBNcWNIZWFkcwEAgQYEABBJASBUaGUgbWVzc2FnZSBxdWV1ZSBjaGFpbiBoZWFkcyB3ZSBoYXZlIG9ic2VydmVkIHBlciBlYWNoIGNoYW5uZWwgaW5jb21pbmcgY2hhbm5lbC4AZQEgVGhpcyB2YWx1ZSBpcyBsb2FkZWQgYmVmb3JlIGFuZCBzYXZlZCBhZnRlciBwcm9jZXNzaW5nIGluYm91bmQgZG93bndhcmQgbWVzc2FnZXMgY2FycmllZGAgYnkgdGhlIHN5c3RlbSBpbmhlcmVudC4AZFByb2Nlc3NlZERvd253YXJkTWVzc2FnZXMBADgQAAAAAAzIIE51bWJlciBvZiBkb3dud2FyZCBtZXNzYWdlcyBwcm9jZXNzZWQgaW4gYSBibG9jay4A7CBUaGlzIHdpbGwgYmUgY2xlYXJlZCBpbiBgb25faW5pdGlhbGl6ZWAgb2YgZWFjaCBuZXcgYmxvY2suAHBMYXN0UHJvY2Vzc2VkRG93bndhcmRNZXNzYWdlAACNBgQADJQgVGhlIGxhc3QgcHJvY2Vzc2VkIGRvd253YXJkIG1lc3NhZ2UuAF0BIFdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGlzIHRvIGZpbHRlciB0aGUgbWVzc2FnZXMgdGhhdCBoYXZlIGJlZW4gYWxyZWFkeSBwcm9jZXNzZWQuADRIcm1wV2F0ZXJtYXJrAQA4EAAAAAAEoCBIUk1QIHdhdGVybWFyayB0aGF0IHdhcyBzZXQgaW4gYSBibG9jay4AYExhc3RQcm9jZXNzZWRIcm1wTWVzc2FnZQAAjQYEAAyEIFRoZSBsYXN0IHByb2Nlc3NlZCBIUk1QIG1lc3NhZ2UuAF0BIFdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB0aGlzIHRvIGZpbHRlciB0aGUgbWVzc2FnZXMgdGhhdCBoYXZlIGJlZW4gYWxyZWFkeSBwcm9jZXNzZWQuAFBIcm1wT3V0Ym91bmRNZXNzYWdlcwEAkQYEAAykIEhSTVAgbWVzc2FnZXMgdGhhdCB3ZXJlIHNlbnQgaW4gYSBibG9jay4A7CBUaGlzIHdpbGwgYmUgY2xlYXJlZCBpbiBgb25faW5pdGlhbGl6ZWAgb2YgZWFjaCBuZXcgYmxvY2suADhVcHdhcmRNZXNzYWdlcwEANAQADKwgVXB3YXJkIG1lc3NhZ2VzIHRoYXQgd2VyZSBzZW50IGluIGEgYmxvY2suAPAgVGhpcyB3aWxsIGJlIGNsZWFyZWQgaW4gYG9uX2luaXRpYWxpemVgIGZvciBlYWNoIG5ldyBibG9jay4AVFBlbmRpbmdVcHdhcmRNZXNzYWdlcwEANAQABDEBIFVwd2FyZCBtZXNzYWdlcyB0aGF0IGFyZSBzdGlsbCBwZW5kaW5nIGFuZCBub3QgeWV0IHNlbnQgdG8gdGhlIHJlbGF5IGNoYWluLgBQUGVuZGluZ1Vwd2FyZFNpZ25hbHMBADQEAAwtASBVcHdhcmQgc2lnbmFscyB0aGF0IGFyZSBzdGlsbCBwZW5kaW5nIGFuZCBub3QgeWV0IHNlbnQgdG8gdGhlIHJlbGF5IGNoYWluLgDYIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9maW5hbGl6ZWAgZm9yIGVhY2ggYmxvY2suAExQZW5kaW5nQXBwcm92ZWRQZWVyAAB4BAAEOQEgVGhlIGFwcHJvdmVkIHBlZXIgaWQgdG8gYmUgc2VudCBhcyBhIFVNUCBzaWduYWwgb24gdGhlIGxhc3QgYmxvY2sgb2YgdGhlIFBvVi4AXFVwd2FyZERlbGl2ZXJ5RmVlRmFjdG9yAQA9BEAAAGSns7bgDQAAAAAAAAAABOQgVGhlIGZhY3RvciB0byBtdWx0aXBseSB0aGUgYmFzZSBkZWxpdmVyeSBmZWUgYnkgZm9yIFVNUC4AhEFubm91bmNlZEhybXBNZXNzYWdlc1BlckNhbmRpZGF0ZQEAOBAAAAAACGUBIFRoZSBudW1iZXIgb2YgSFJNUCBtZXNzYWdlcyB3ZSBvYnNlcnZlZCBpbiBgb25faW5pdGlhbGl6ZWAgYW5kIHRodXMgdXNlZCB0aGF0IG51bWJlciBmb3LwIGFubm91bmNpbmcgdGhlIHdlaWdodCBvZiBgb25faW5pdGlhbGl6ZWAgYW5kIGBvbl9maW5hbGl6ZWAuAGhSZXNlcnZlZFhjbXBXZWlnaHRPdmVycmlkZQAAtQEEAAhdASBUaGUgd2VpZ2h0IHdlIHJlc2VydmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgZm9yIHByb2Nlc3NpbmcgWENNUCBtZXNzYWdlcy4gVGhpc7ggb3ZlcnJpZGVzIHRoZSBhbW91bnQgc2V0IGluIHRoZSBDb25maWcgdHJhaXQuAGRSZXNlcnZlZERtcFdlaWdodE92ZXJyaWRlAAC1AQQACFkBIFRoZSB3ZWlnaHQgd2UgcmVzZXJ2ZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBibG9jayBmb3IgcHJvY2Vzc2luZyBETVAgbWVzc2FnZXMuIFRoaXO4IG92ZXJyaWRlcyB0aGUgYW1vdW50IHNldCBpbiB0aGUgQ29uZmlnIHRyYWl0LgBgQ3VzdG9tVmFsaWRhdGlvbkhlYWREYXRhAAAYBAAMKQEgQSBjdXN0b20gaGVhZCBkYXRhIHRoYXQgc2hvdWxkIGJlIHJldHVybmVkIGFzIHJlc3VsdCBvZiBgdmFsaWRhdGVfYmxvY2tgLgARASBTZWUgYFBhbGxldDo6c2V0X2N1c3RvbV92YWxpZGF0aW9uX2hlYWRfZGF0YWAgZm9yIG1vcmUgaW5mb3JtYXRpb24uAEhQb1ZNZXNzYWdlc1RyYWNrZXIAAJkGBAAMVQEgVHJhY2tzIGN1bXVsYXRpdmUgYFVNUGAgYW5kIGBIUk1QYCBtZXNzYWdlcyBzZW50IGFjcm9zcyBibG9ja3MgaW4gdGhlIGN1cnJlbnQgYFBvVmAuAHUBIEFjcm9zcyBkaWZmZXJlbnQgY2FuZGlkYXRlcy9Qb1ZzIHRoZSBidWRnZXRzIGFyZSB0cmFja2VkIGJ5IFtgQWdncmVnYXRlZFVuaW5jbHVkZWRTZWdtZW50YF0uAAFAAAH1BAAEKFNlbGZQYXJhSWScEOoDAAAEuCBSZXR1cm5zIHRoZSBwYXJhY2hhaW4gSUQgd2UgYXJlIHJ1bm5pbmcgd2l0aC4AAaEGAAAAAQAAJFRpbWVzdGFtcAEkVGltZXN0YW1wCAxOb3cBACggAAAAAAAAAAAEoCBUaGUgY3VycmVudCB0aW1lIGZvciB0aGUgY3VycmVudCBibG9jay4AJERpZFVwZGF0ZQEAyAQAENggV2hldGhlciB0aGUgdGltZXN0YW1wIGhhcyBiZWVuIHVwZGF0ZWQgaW4gdGhpcyBibG9jay4AVQEgVGhpcyB2YWx1ZSBpcyB1cGRhdGVkIHRvIGB0cnVlYCB1cG9uIHN1Y2Nlc3NmdWwgc3VibWlzc2lvbiBvZiBhIHRpbWVzdGFtcCBieSBhIG5vZGUuRQEgSXQgaXMgdGhlbiBjaGVja2VkIGF0IHRoZSBlbmQgb2YgZWFjaCBibG9jayBleGVjdXRpb24gaW4gdGhlIGBvbl9maW5hbGl6ZWAgaG9vay4AAbAAAAQ0TWluaW11bVBlcmlvZCggAAAAAAAAAAAYjCBUaGUgbWluaW11bSBwZXJpb2QgYmV0d2VlbiBibG9ja3MuAE0BIEJlIGF3YXJlIHRoYXQgdGhpcyBpcyBkaWZmZXJlbnQgdG8gdGhlICpleHBlY3RlZCogcGVyaW9kIHRoYXQgdGhlIGJsb2NrIHByb2R1Y3Rpb25JASBhcHBhcmF0dXMgcHJvdmlkZXMuIFlvdXIgY2hvc2VuIGNvbnNlbnN1cyBzeXN0ZW0gd2lsbCBnZW5lcmFsbHkgd29yayB3aXRoIHRoaXMgdG9hASBkZXRlcm1pbmUgYSBzZW5zaWJsZSBibG9jayB0aW1lLiBGb3IgZXhhbXBsZSwgaW4gdGhlIEF1cmEgcGFsbGV0IGl0IHdpbGwgYmUgZG91YmxlIHRoaXNwIHBlcmlvZCBvbiBkZWZhdWx0IHNldHRpbmdzLgAABBhNb21lbnQoBJggVHlwZSB1c2VkIGZvciBleHByZXNzaW5nIGEgdGltZXN0YW1wLgACAAA0UGFyYWNoYWluSW5mbwE0UGFyYWNoYWluSW5mbwQsUGFyYWNoYWluSWQBAJwQZAAAAAAAAbgAAAAAAAADAAA0V2VpZ2h0UmVjbGFpbQAAAAAAAAAECIEBIFBhbGxldCB0byB1c2UgYWxvbmdzaWRlIHRoZSB0cmFuc2FjdGlvbiBleHRlbnNpb24gW2BTdG9yYWdlV2VpZ2h0UmVjbGFpbWBdLCB0aGUgcGFsbGV0IHByb3ZpZGVzjCB3ZWlnaHQgaW5mb3JtYXRpb24gYW5kIGJlbmNobWFya3MuACBCYWxhbmNlcwEgQmFsYW5jZXMcNFRvdGFsSXNzdWFuY2UBAMRAAAAAAAAAAAAAAAAAAAAAAASYIFRoZSB0b3RhbCB1bml0cyBpc3N1ZWQgaW4gdGhlIHN5c3RlbS4AQEluYWN0aXZlSXNzdWFuY2UBAMRAAAAAAAAAAAAAAAAAAAAAAAQJASBUaGUgdG90YWwgdW5pdHMgb2Ygb3V0c3RhbmRpbmcgZGVhY3RpdmF0ZWQgYmFsYW5jZSBpbiB0aGUgc3lzdGVtLgAcQWNjb3VudAEBBAIEtQQBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBgCQEgVGhlIEJhbGFuY2VzIHBhbGxldCBleGFtcGxlIG9mIHN0b3JpbmcgdGhlIGJhbGFuY2Ugb2YgYW4gYWNjb3VudC4AKCAjIEV4YW1wbGUANCBgYGBub2NvbXBpbGWwICBpbXBsIHBhbGxldF9iYWxhbmNlczo6Q29uZmlnIGZvciBSdW50aW1lIHsZAiAgICB0eXBlIEFjY291bnRTdG9yZSA9IFN0b3JhZ2VNYXBTaGltPFNlbGY6OkFjY291bnQ8UnVudGltZT4sIGZyYW1lX3N5c3RlbTo6UHJvdmlkZXI8UnVudGltZT4sIEFjY291bnRJZCwgU2VsZjo6QWNjb3VudERhdGE8QmFsYW5jZT4+DCAgfRAgYGBgABUBIFlvdSBjYW4gYWxzbyBzdG9yZSB0aGUgYmFsYW5jZSBvZiBhbiBhY2NvdW50IGluIHRoZSBgU3lzdGVtYCBwYWxsZXQuACggIyBFeGFtcGxlADQgYGBgbm9jb21waWxlsCAgaW1wbCBwYWxsZXRfYmFsYW5jZXM6OkNvbmZpZyBmb3IgUnVudGltZSB7dCAgIHR5cGUgQWNjb3VudFN0b3JlID0gU3lzdGVtDCAgfRAgYGBgAFEBIEJ1dCB0aGlzIGNvbWVzIHdpdGggdHJhZGVvZmZzLCBzdG9yaW5nIGFjY291bnQgYmFsYW5jZXMgaW4gdGhlIHN5c3RlbSBwYWxsZXQgc3RvcmVzbQEgYGZyYW1lX3N5c3RlbWAgZGF0YSBhbG9uZ3NpZGUgdGhlIGFjY291bnQgZGF0YSBjb250cmFyeSB0byBzdG9yaW5nIGFjY291bnQgYmFsYW5jZXMgaW4gdGhlKQEgYEJhbGFuY2VzYCBwYWxsZXQsIHdoaWNoIHVzZXMgYSBgU3RvcmFnZU1hcGAgdG8gc3RvcmUgYmFsYW5jZXMgZGF0YSBvbmx5LkEBIE5PVEU6IFRoaXMgaXMgb25seSB1c2VkIGluIHRoZSBjYXNlIHRoYXQgdGhpcyBwYWxsZXQgaXMgdXNlZCB0byBzdG9yZSBiYWxhbmNlcy4AFExvY2tzAQEEAgSlBgQAELggQW55IGxpcXVpZGl0eSBsb2NrcyBvbiBzb21lIGFjY291bnQgYmFsYW5jZXMuJQEgTk9URTogU2hvdWxkIG9ubHkgYmUgYWNjZXNzZWQgd2hlbiBzZXR0aW5nLCBjaGFuZ2luZyBhbmQgZnJlZWluZyBhIGxvY2suAK0BIFVzZSBvZiBsb2NrcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBmcmVlemVzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2AAIFJlc2VydmVzAQEEAgS1BgQADKQgTmFtZWQgcmVzZXJ2ZXMgb24gc29tZSBhY2NvdW50IGJhbGFuY2VzLgCxASBVc2Ugb2YgcmVzZXJ2ZXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgaG9sZHMuIFNlZSBgaHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL3B1bGwvMTI5NTEvYAAUSG9sZHMBAQQCBMEGBAAEbCBIb2xkcyBvbiBhY2NvdW50IGJhbGFuY2VzLgAcRnJlZXplcwEBBAIEzQYEAASIIEZyZWV6ZSBsb2NrcyBvbiBhY2NvdW50IGJhbGFuY2VzLgABvAAB+QQAEEhFeGlzdGVudGlhbERlcG9zaXTEQADKmjsAAAAAAAAAAAAAAAAgQQEgVGhlIG1pbmltdW0gYW1vdW50IHJlcXVpcmVkIHRvIGtlZXAgYW4gYWNjb3VudCBvcGVuLiBNVVNUIEJFIEdSRUFURVIgVEhBTiBaRVJPIQBZASBJZiB5b3UgKnJlYWxseSogbmVlZCBpdCB0byBiZSB6ZXJvLCB5b3UgY2FuIGVuYWJsZSB0aGUgZmVhdHVyZSBgaW5zZWN1cmVfemVyb19lZGAgZm9yYQEgdGhpcyBwYWxsZXQuIEhvd2V2ZXIsIHlvdSBkbyBzbyBhdCB5b3VyIG93biByaXNrOiB0aGlzIHdpbGwgb3BlbiB1cCBhIG1ham9yIERvUyB2ZWN0b3IuWQEgSW4gY2FzZSB5b3UgaGF2ZSBtdWx0aXBsZSBzb3VyY2VzIG9mIHByb3ZpZGVyIHJlZmVyZW5jZXMsIHlvdSBtYXkgYWxzbyBnZXQgdW5leHBlY3RlZIwgYmVoYXZpb3VyIGlmIHlvdSBzZXQgdGhpcyB0byB6ZXJvLgDwIEJvdHRvbSBsaW5lOiBEbyB5b3Vyc2VsZiBhIGZhdm91ciBhbmQgbWFrZSBpdCBhdCBsZWFzdCBvbmUhACBNYXhMb2NrczgQMgAAABD0IFRoZSBtYXhpbXVtIG51bWJlciBvZiBsb2NrcyB0aGF0IHNob3VsZCBleGlzdCBvbiBhbiBhY2NvdW50LtwgTm90IHN0cmljdGx5IGVuZm9yY2VkLCBidXQgdXNlZCBmb3Igd2VpZ2h0IGVzdGltYXRpb24uAK0BIFVzZSBvZiBsb2NrcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBmcmVlemVzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2AALE1heFJlc2VydmVzOBAyAAAADA0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBuYW1lZCByZXNlcnZlcyB0aGF0IGNhbiBleGlzdCBvbiBhbiBhY2NvdW50LgCxASBVc2Ugb2YgcmVzZXJ2ZXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgaG9sZHMuIFNlZSBgaHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL3B1bGwvMTI5NTEvYAAoTWF4RnJlZXplczgQAAAAAARhASBUaGUgbWF4aW11bSBudW1iZXIgb2YgaW5kaXZpZHVhbCBmcmVlemUgbG9ja3MgdGhhdCBjYW4gZXhpc3Qgb24gYW4gYWNjb3VudCBhdCBhbnkgdGltZS4AAdkGABBEUnVudGltZUhvbGRSZWFzb24BBQR0IFRoZSBvdmVyYXJjaGluZyBob2xkIHJlYXNvbi4cQmFsYW5jZcQEbCBUaGUgYmFsYW5jZSBvZiBhbiBhY2NvdW50LkRSZXNlcnZlSWRlbnRpZmllcp0BDGggVGhlIElEIHR5cGUgZm9yIHJlc2VydmVzLgCxASBVc2Ugb2YgcmVzZXJ2ZXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgaG9sZHMuIFNlZSBgaHR0cHM6Ly9naXRodWIuY29tL3Bhcml0eXRlY2gvc3Vic3RyYXRlL3B1bGwvMTI5NTEvYEBGcmVlemVJZGVudGlmaWVyEARkIFRoZSBJRCB0eXBlIGZvciBmcmVlemVzLgAKAABIVHJhbnNhY3Rpb25QYXltZW50AUhUcmFuc2FjdGlvblBheW1lbnQMRE5leHRGZWVNdWx0aXBsaWVyAQA9BEAAAGSns7bgDQAAAAAAAAAAAAA4U3RvcmFnZVZlcnNpb24BAN0GBAAAADxUeFBheW1lbnRDcmVkaXQAAOEGBAAM8CBUaGUgYE9uQ2hhcmdlVHJhbnNhY3Rpb25gIHN0b3JlcyB0aGUgd2l0aGRyYXduIHR4IGZlZSBoZXJlLgA1ASBVc2UgYHdpdGhkcmF3X3R4ZmVlYCBhbmQgYHJlbWFpbmluZ190eGZlZWAgdG8gYWNjZXNzIGZyb20gb3V0c2lkZSB0aGUgY3JhdGUuAAABFQUABGBPcGVyYXRpb25hbEZlZU11bHRpcGxpZXIMBAVUWQEgQSBmZWUgbXVsdGlwbGllciBmb3IgYE9wZXJhdGlvbmFsYCBleHRyaW5zaWNzIHRvIGNvbXB1dGUgInZpcnR1YWwgdGlwIiB0byBib29zdCB0aGVpciwgYHByaW9yaXR5YABRASBUaGlzIHZhbHVlIGlzIG11bHRpcGxpZWQgYnkgdGhlIGBmaW5hbF9mZWVgIHRvIG9idGFpbiBhICJ2aXJ0dWFsIHRpcCIgdGhhdCBpcyBsYXRlcvQgYWRkZWQgdG8gYSB0aXAgY29tcG9uZW50IGluIHJlZ3VsYXIgYHByaW9yaXR5YCBjYWxjdWxhdGlvbnMuTQEgSXQgbWVhbnMgdGhhdCBhIGBOb3JtYWxgIHRyYW5zYWN0aW9uIGNhbiBmcm9udC1ydW4gYSBzaW1pbGFybHktc2l6ZWQgYE9wZXJhdGlvbmFsYEEBIGV4dHJpbnNpYyAod2l0aCBubyB0aXApLCBieSBpbmNsdWRpbmcgYSB0aXAgdmFsdWUgZ3JlYXRlciB0aGFuIHRoZSB2aXJ0dWFsIHRpcC4APCBgYGBydXN0LGlnbm9yZUAgLy8gRm9yIGBOb3JtYWxgjCBsZXQgcHJpb3JpdHkgPSBwcmlvcml0eV9jYWxjKHRpcCk7AFQgLy8gRm9yIGBPcGVyYXRpb25hbGARASBsZXQgdmlydHVhbF90aXAgPSAoaW5jbHVzaW9uX2ZlZSArIHRpcCkgKiBPcGVyYXRpb25hbEZlZU11bHRpcGxpZXI7xCBsZXQgcHJpb3JpdHkgPSBwcmlvcml0eV9jYWxjKHRpcCArIHZpcnR1YWxfdGlwKTsQIGBgYABRASBOb3RlIHRoYXQgc2luY2Ugd2UgdXNlIGBmaW5hbF9mZWVgIHRoZSBtdWx0aXBsaWVyIGFwcGxpZXMgYWxzbyB0byB0aGUgcmVndWxhciBgdGlwYF0BIHNlbnQgd2l0aCB0aGUgdHJhbnNhY3Rpb24uIFNvLCBub3Qgb25seSBkb2VzIHRoZSB0cmFuc2FjdGlvbiBnZXQgYSBwcmlvcml0eSBidW1wIGJhc2VkYQEgb24gdGhlIGBpbmNsdXNpb25fZmVlYCwgYnV0IHdlIGFsc28gYW1wbGlmeSB0aGUgaW1wYWN0IG9mIHRpcHMgYXBwbGllZCB0byBgT3BlcmF0aW9uYWxgOCB0cmFuc2FjdGlvbnMuAAAAAAsAAChBdXRob3JzaGlwAShBdXRob3JzaGlwBBhBdXRob3IAAAQEAARkIEF1dGhvciBvZiBjdXJyZW50IGJsb2NrLgAAAAAAAAAUAABEQ29sbGF0b3JTZWxlY3Rpb24BRENvbGxhdG9yU2VsZWN0aW9uFDRJbnZ1bG5lcmFibGVzAQDpBgQABBEBIFRoZSBpbnZ1bG5lcmFibGUsIHBlcm1pc3Npb25lZCBjb2xsYXRvcnMuIFRoaXMgbGlzdCBtdXN0IGJlIHNvcnRlZC4ANENhbmRpZGF0ZUxpc3QBAO0GBAAUaQEgVGhlIChjb21tdW5pdHksIGxpbWl0ZWQpIGNvbGxhdGlvbiBjYW5kaWRhdGVzLiBgQ2FuZGlkYXRlc2AgYW5kIGBJbnZ1bG5lcmFibGVzYCBzaG91bGQgYmVQIG11dHVhbGx5IGV4Y2x1c2l2ZS4AdQEgVGhpcyBsaXN0IGlzIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIgYnkgZGVwb3NpdCBhbmQgd2hlbiB0aGUgZGVwb3NpdHMgYXJlIGVxdWFsLCB0aGUgbGVhc3SgIHJlY2VudGx5IHVwZGF0ZWQgaXMgY29uc2lkZXJlZCBncmVhdGVyLgBETGFzdEF1dGhvcmVkQmxvY2sBAQQFBDgQAAAAAASEIExhc3QgYmxvY2sgYXV0aG9yZWQgYnkgY29sbGF0b3IuAEREZXNpcmVkQ2FuZGlkYXRlcwEAOBAAAAAADHggRGVzaXJlZCBudW1iZXIgb2YgY2FuZGlkYXRlcy4AdQEgVGhpcyBzaG91bGQgaWRlYWxseSBhbHdheXMgYmUgbGVzcyB0aGFuIFtgQ29uZmlnOjpNYXhDYW5kaWRhdGVzYF0gZm9yIHdlaWdodHMgdG8gYmUgY29ycmVjdC4ANENhbmRpZGFjeUJvbmQBAMRAAAAAAAAAAAAAAAAAAAAAAAy4IEZpeGVkIGFtb3VudCB0byBkZXBvc2l0IHRvIGJlY29tZSBhIGNvbGxhdG9yLgBBASBXaGVuIGEgY29sbGF0b3IgY2FsbHMgYGxlYXZlX2ludGVudGAgdGhleSBpbW1lZGlhdGVseSByZWNlaXZlIHRoZSBkZXBvc2l0IGJhY2suAAHUAAEZBQAYFFBvdElk+QYgUG90U3Rha2UE9CBBY2NvdW50IElkZW50aWZpZXIgZnJvbSB3aGljaCB0aGUgaW50ZXJuYWwgUG90IGlzIGdlbmVyYXRlZC4ANE1heENhbmRpZGF0ZXM4EGQAAAAMyCBNYXhpbXVtIG51bWJlciBvZiBjYW5kaWRhdGVzIHRoYXQgd2Ugc2hvdWxkIGhhdmUuAMwgVGhpcyBkb2VzIG5vdCB0YWtlIGludG8gYWNjb3VudCB0aGUgaW52dWxuZXJhYmxlcy4AUE1pbkVsaWdpYmxlQ29sbGF0b3JzOBAEAAAADFUBIE1pbmltdW0gbnVtYmVyIGVsaWdpYmxlIGNvbGxhdG9ycy4gU2hvdWxkIGFsd2F5cyBiZSBncmVhdGVyIHRoYW4gemVyby4gVGhpcyBpbmNsdWRlc1EBIEludnVsbmVyYWJsZSBjb2xsYXRvcnMuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZXJlIHdpbGwgYWx3YXlzIGJlIG9uZSBjb2xsYXRvciB3aG8gY2FuRCBwcm9kdWNlIGEgYmxvY2suAEBNYXhJbnZ1bG5lcmFibGVzOBAUAAAABIQgTWF4aW11bSBudW1iZXIgb2YgaW52dWxuZXJhYmxlcy4ANEtpY2tUaHJlc2hvbGQ4EAgHAAAAACxwb3RfYWNjb3VudASAbW9kbFBvdFN0YWtlAAAAAAAAAAAAAAAAAAAAAAAAAAAEoCBHZXRzIHRoaXMgcGFsbGV0J3MgZGVyaXZlZCBwb3QgYWNjb3VudC4AAf0GAAQsVmFsaWRhdG9ySWQEBHQgQSBzdGFibGUgSUQgZm9yIGEgdmFsaWRhdG9yLgAVAAAcU2Vzc2lvbgEcU2Vzc2lvbiAoVmFsaWRhdG9ycwEAzAQABHwgVGhlIGN1cnJlbnQgc2V0IG9mIHZhbGlkYXRvcnMuADBDdXJyZW50SW5kZXgBADgQAAAAAAR4IEN1cnJlbnQgaW5kZXggb2YgdGhlIHNlc3Npb24uADRRdWV1ZWRDaGFuZ2VkAQDIBAAIOQEgVHJ1ZSBpZiB0aGUgdW5kZXJseWluZyBlY29ub21pYyBpZGVudGl0aWVzIG9yIHdlaWdodGluZyBiZWhpbmQgdGhlIHZhbGlkYXRvcnOkIGhhcyBjaGFuZ2VkIGluIHRoZSBxdWV1ZWQgdmFsaWRhdG9yIHNldC4AKFF1ZXVlZEtleXMBAAEHBAAIPQEgVGhlIHF1ZXVlZCBrZXlzIGZvciB0aGUgbmV4dCBzZXNzaW9uLiBXaGVuIHRoZSBuZXh0IHNlc3Npb24gYmVnaW5zLCB0aGVzZSBrZXlz4CB3aWxsIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSB2YWxpZGF0b3IncyBzZXNzaW9uIGtleXMuAEhEaXNhYmxlZFZhbGlkYXRvcnMBAAkHBAAUgCBJbmRpY2VzIG9mIGRpc2FibGVkIHZhbGlkYXRvcnMuAD0BIFRoZSB2ZWMgaXMgYWx3YXlzIGtlcHQgc29ydGVkIHNvIHRoYXQgd2UgY2FuIGZpbmQgd2hldGhlciBhIGdpdmVuIHZhbGlkYXRvciBpcz0BIGRpc2FibGVkIHVzaW5nIGJpbmFyeSBzZWFyY2guIEl0IGdldHMgY2xlYXJlZCB3aGVuIGBvbl9zZXNzaW9uX2VuZGluZ2AgcmV0dXJuc2QgYSBuZXcgc2V0IG9mIGlkZW50aXRpZXMuACBOZXh0S2V5cwABBAUE3AQABJwgVGhlIG5leHQgc2Vzc2lvbiBrZXlzIGZvciBhIHZhbGlkYXRvci4AIEtleU93bmVyAAEEBRkHBAQABAkBIFRoZSBvd25lciBvZiBhIGtleS4gVGhlIGtleSBpcyB0aGUgYEtleVR5cGVJZGAgKyB0aGUgZW5jb2RlZCBrZXkuAERFeHRlcm5hbGx5U2V0S2V5cwABBAUEEAQAEDEBIEFjY291bnRzIHdob3NlIGtleXMgd2VyZSBzZXQgdmlhIGBTZXNzaW9uSW50ZXJmYWNlYCAoZXh0ZXJuYWwgcGF0aCkgd2l0aG91dDkBIGluY3JlbWVudGluZyB0aGUgY29uc3VtZXIgcmVmZXJlbmNlIG9yIHBsYWNpbmcgYSBrZXkgZGVwb3NpdC4gYGRvX3B1cmdlX2tleXNgOQEgb25seSBkZWNyZW1lbnRzIGNvbnN1bWVycyBmb3IgYWNjb3VudHMgdGhhdCB3ZXJlIHJlZ2lzdGVyZWQgdGhyb3VnaCB0aGUgbG9jYWxAIHNlc3Npb24gcGFsbGV0LgAB2AABHQUABChLZXlEZXBvc2l0xEAAAAAAAAAAAAAAAAAAAAAABKQgVGhlIGFtb3VudCB0byBiZSBoZWxkIHdoZW4gc2V0dGluZyBrZXlzLgABIQcACCxWYWxpZGF0b3JJZAQEdCBBIHN0YWJsZSBJRCBmb3IgYSB2YWxpZGF0b3IuEEtleXPcBCggVGhlIGtleXMuABYAABBBdXJhARBBdXJhCCxBdXRob3JpdGllcwEAJQcEAARsIFRoZSBjdXJyZW50IGF1dGhvcml0eSBzZXQuACxDdXJyZW50U2xvdAEALQcgAAAAAAAAAAAMgCBUaGUgY3VycmVudCBzbG90IG9mIHRoaXMgYmxvY2suAJQgVGhpcyB3aWxsIGJlIHNldCBpbiBgb25faW5pdGlhbGl6ZWAuAAAABDBTbG90RHVyYXRpb24oIOAuAAAAAAAAFA0BIFRoZSBzbG90IGR1cmF0aW9uIEF1cmEgc2hvdWxkIHJ1biB3aXRoLCBleHByZXNzZWQgaW4gbWlsbGlzZWNvbmRzLgAhASBUaGUgZWZmZWN0aXZlIHZhbHVlIG9mIHRoaXMgdHlwZSBjYW4gYmUgY2hhbmdlZCB3aXRoIGEgcnVudGltZSB1cGdyYWRlLgA1ASBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgZWl0aGVyIHVzZSBbYE1pbmltdW1QZXJpb2RUaW1lc1R3b2BdIG9yIGEgY29uc3QuAAAELEF1dGhvcml0eUlk4ASYIFRoZSBpZGVudGlmaWVyIHR5cGUgZm9yIGFuIGF1dGhvcml0eS4AFwAAHEF1cmFFeHQBHEF1cmFFeHQILEF1dGhvcml0aWVzAQAlBwQAFJQgU2VydmVzIGFzIGNhY2hlIGZvciB0aGUgYXV0aG9yaXRpZXMuAHEBIFRoZSBhdXRob3JpdGllcyBpbiBBdVJhIGFyZSBvdmVyd3JpdHRlbiBpbiBgb25faW5pdGlhbGl6ZWAgd2hlbiB3ZSBzd2l0Y2ggdG8gYSBuZXcgc2Vzc2lvbixdASBidXQgd2UgcmVxdWlyZSB0aGUgb2xkIGF1dGhvcml0aWVzIHRvIHZlcmlmeSB0aGUgc2VhbCB3aGVuIHZhbGlkYXRpbmcgYSBQb1YuIFRoaXMgd2lsbA0BIGFsd2F5cyBiZSB1cGRhdGVkIHRvIHRoZSBsYXRlc3QgQXVSYSBhdXRob3JpdGllcyBpbiBgb25fZmluYWxpemVgLgA0UmVsYXlTbG90SW5mbwAAMQcEABAJASBDdXJyZW50IHJlbGF5IGNoYWluIHNsb3QgcGFpcmVkIHdpdGggYSBudW1iZXIgb2YgYXV0aG9yZWQgYmxvY2tzLgBlASBUaGlzIGlzIHVwZGF0ZWQgaW4gW2BGaXhlZFZlbG9jaXR5Q29uc2Vuc3VzSG9vazo6b25fc3RhdGVfcHJvb2ZgXSB3aXRoIHRoZSBjdXJyZW50IHJlbGF53CBjaGFpbiBzbG90IGFzIHByb3ZpZGVkIGJ5IHRoZSByZWxheSBjaGFpbiBzdGF0ZSBwcm9vZi4AAAAAAAAAGAAAJFhjbXBRdWV1ZQEkWGNtcFF1ZXVlHFBJbmJvdW5kWGNtcFN1c3BlbmRlZAEANQcEACANASBUaGUgc3VzcGVuZGVkIGluYm91bmQgWENNUCBjaGFubmVscy4gQWxsIG90aGVycyBhcmUgbm90IHN1c3BlbmRlZC4AcQEgVGhpcyBpcyBhIGBTdG9yYWdlVmFsdWVgIGluc3RlYWQgb2YgYSBgU3RvcmFnZU1hcGAgc2luY2Ugd2UgZXhwZWN0IG11bHRpcGxlIHJlYWRzIHBlciBibG9ja2kBIHRvIGRpZmZlcmVudCBrZXlzIHdpdGggYSBvbmUgYnl0ZSBwYXlsb2FkLiBUaGUgYWNjZXNzIHRvIGBCb3VuZGVkQlRyZWVTZXRgIHdpbGwgYmUgY2FjaGVkFQEgd2l0aGluIHRoZSBibG9jayBhbmQgdGhlcmVmb3JlIG9ubHkgaW5jbHVkZWQgb25jZSBpbiB0aGUgcHJvb2Ygc2l6ZS4AZQEgTk9URTogVGhlIFBvViBiZW5jaG1hcmtpbmcgY2Fubm90IGtub3cgdGhpcyBhbmQgd2lsbCBvdmVyLWVzdGltYXRlLCBidXQgdGhlIGFjdHVhbCBwcm9vZkQgd2lsbCBiZSBzbWFsbGVyLgBIT3V0Ym91bmRYY21wU3RhdHVzAQA9BwQAGF0BIFRoZSBub24tZW1wdHkgWENNUCBjaGFubmVscyBpbiBvcmRlciBvZiBiZWNvbWluZyBub24tZW1wdHksIGFuZCB0aGUgaW5kZXggb2YgdGhlIGZpcnN0UQEgYW5kIGxhc3Qgb3V0Ym91bmQgbWVzc2FnZS4gSWYgdGhlIHR3byBpbmRpY2VzIGFyZSBlcXVhbCwgdGhlbiBpdCBpbmRpY2F0ZXMgYW4gZW1wdHlZASBxdWV1ZSBhbmQgdGhlcmUgbXVzdCBiZSBhIG5vbi1gT2tgIGBPdXRib3VuZFN0YXR1c2AuIFdlIGFzc3VtZSBxdWV1ZXMgZ3JvdyBubyBncmVhdGVyWQEgdGhhbiA2NTUzNSBpdGVtcy4gUXVldWUgaW5kaWNlcyBmb3Igbm9ybWFsIG1lc3NhZ2VzIGJlZ2luIGF0IG9uZTsgemVybyBpcyByZXNlcnZlZCBpbhEBIGNhc2Ugb2YgdGhlIG5lZWQgdG8gc2VuZCBhIGhpZ2gtcHJpb3JpdHkgc2lnbmFsIG1lc3NhZ2UgdGhpcyBibG9jay4JASBUaGUgYm9vbCBpcyB0cnVlIGlmIHRoZXJlIGlzIGEgc2lnbmFsIG1lc3NhZ2Ugd2FpdGluZyB0byBiZSBzZW50LgBQT3V0Ym91bmRYY21wTWVzc2FnZXMBAQgCBVEHVQcEAAS8IFRoZSBtZXNzYWdlcyBvdXRib3VuZCBpbiBhIGdpdmVuIFhDTVAgY2hhbm5lbC4AOFNpZ25hbE1lc3NhZ2VzAQEEApxVBwQABKAgQW55IHNpZ25hbCBtZXNzYWdlcyB3YWl0aW5nIHRvIGJlIHNlbnQuACxRdWV1ZUNvbmZpZwEAWQcwIAAAADAAAAAIAAAABBUBIFRoZSBjb25maWd1cmF0aW9uIHdoaWNoIGNvbnRyb2xzIHRoZSBkeW5hbWljcyBvZiB0aGUgb3V0Ym91bmQgcXVldWUuADhRdWV1ZVN1c3BlbmRlZAEAyAQABEEBIFdoZXRoZXIgb3Igbm90IHRoZSBYQ01QIHF1ZXVlIGlzIHN1c3BlbmRlZCBmcm9tIGV4ZWN1dGluZyBpbmNvbWluZyBYQ01zIG9yIG5vdC4ARERlbGl2ZXJ5RmVlRmFjdG9yAQEEBZw9BEAAAGSns7bgDQAAAAAAAAAABMQgVGhlIGZhY3RvciB0byBtdWx0aXBseSB0aGUgYmFzZSBkZWxpdmVyeSBmZWUgYnkuAAHkAAEhBQAMTE1heEluYm91bmRTdXNwZW5kZWQ4EOgDAAAUSQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIGluYm91bmQgWENNUCBjaGFubmVscyB0aGF0IGNhbiBiZSBzdXNwZW5kZWQgc2ltdWx0YW5lb3VzbHkuAF0BIEFueSBmdXJ0aGVyIGNoYW5uZWwgc3VzcGVuc2lvbnMgd2lsbCBmYWlsIGFuZCBtZXNzYWdlcyBtYXkgZ2V0IGRyb3BwZWQgd2l0aG91dCBmdXJ0aGVyRQEgbm90aWNlLiBDaG9vc2luZyBhIGhpZ2ggdmFsdWUgKDEwMDApIGlzIG9rYXk7IHRoZSB0cmFkZS1vZmYgdGhhdCBpcyBkZXNjcmliZWQgaW7YIFtgSW5ib3VuZFhjbXBTdXNwZW5kZWRgXSBzdGlsbCBhcHBsaWVzIGF0IHRoYXQgc2NhbGUuAGRNYXhBY3RpdmVPdXRib3VuZENoYW5uZWxzOBCAAAAAIGUBIE1heGltYWwgbnVtYmVyIG9mIG91dGJvdW5kIFhDTVAgY2hhbm5lbHMgdGhhdCBjYW4gaGF2ZSBtZXNzYWdlcyBxdWV1ZWQgYXQgdGhlIHNhbWUgdGltZS4AVQEgSWYgdGhpcyBpcyByZWFjaGVkLCB0aGVuIG5vIGZ1cnRoZXIgbWVzc2FnZXMgY2FuIGJlIHNlbnQgdG8gY2hhbm5lbHMgdGhhdCBkbyBub3QgeWV0XQEgaGF2ZSBhIG1lc3NhZ2UgcXVldWVkLiBUaGlzIHNob3VsZCBiZSBzZXQgdG8gdGhlIGV4cGVjdGVkIG1heGltdW0gb2Ygb3V0Ym91bmQgY2hhbm5lbHNhASB3aGljaCBpcyBkZXRlcm1pbmVkIGJ5IFtgU2VsZjo6Q2hhbm5lbEluZm9gXS4gSXQgaXMgaW1wb3J0YW50IHRvIHNldCB0aGlzIGxhcmdlIGVub3VnaCxdASBzaW5jZSBvdGhlcndpc2UgdGhlIGNvbmdlc3Rpb24gY29udHJvbCBwcm90b2NvbCB3aWxsIG5vdCB3b3JrIGFzIGludGVuZGVkIGFuZCBtZXNzYWdlc1EBIG1heSBiZSBkcm9wcGVkLiBUaGlzIHZhbHVlIGluY3JlYXNlcyB0aGUgUG9WIGFuZCBzaG91bGQgdGhlcmVmb3JlIG5vdCBiZSBwaWNrZWQgdG9vTQEgaGlnaC4gR292ZXJuYW5jZSBuZWVkcyB0byBwYXkgYXR0ZW50aW9uIHRvIG5vdCBvcGVuIG1vcmUgY2hhbm5lbHMgdGhhbiB0aGlzIHZhbHVlLgAsTWF4UGFnZVNpemU4EACcAQAUuCBUaGUgbWF4aW1hbCBwYWdlIHNpemUgZm9yIEhSTVAgbWVzc2FnZSBwYWdlcy4AYQEgQSBsb3dlciBsaW1pdCBjYW4gYmUgc2V0IGR5bmFtaWNhbGx5LCBidXQgdGhpcyBpcyB0aGUgaGFyZC1saW1pdCBmb3IgdGhlIFBvViB3b3JzdCBjYXNlVQEgYmVuY2htYXJraW5nLiBUaGUgbGltaXQgZm9yIHRoZSBzaXplIG9mIGEgbWVzc2FnZSBpcyBzbGlnaHRseSBiZWxvdyB0aGlzLCBzaW5jZSBzb21luCBvdmVyaGVhZCBpcyBpbmN1cnJlZCBmb3IgZW5jb2RpbmcgdGhlIGZvcm1hdC4AAV0HAAAAHgAALFBvbGthZG90WGNtASxQb2xrYWRvdFhjbTwwUXVlcnlDb3VudGVyAQAoIAAAAAAAAAAABIggVGhlIGxhdGVzdCBhdmFpbGFibGUgcXVlcnkgaW5kZXguABxRdWVyaWVzAAEEAihhBwQABFQgVGhlIG9uZ29pbmcgcXVlcmllcy4AKEFzc2V0VHJhcHMBAQQGPDgQAAAAABBoIFRoZSBleGlzdGluZyBhc3NldCB0cmFwcy4AYQEgS2V5IGlzIHRoZSBibGFrZTIgMjU2IGhhc2ggb2YgKG9yaWdpbiwgdmVyc2lvbmVkIGBBc3NldHNgKSBwYWlyLiBWYWx1ZSBpcyB0aGUgbnVtYmVyIG9mHQEgdGltZXMgdGhpcyBwYWlyIGhhcyBiZWVuIHRyYXBwZWQgKHVzdWFsbHkganVzdCAxIGlmIGl0IGV4aXN0cyBhdCBhbGwpLgA4U2FmZVhjbVZlcnNpb24AADgEAAhhASBEZWZhdWx0IHZlcnNpb24gdG8gZW5jb2RlIFhDTSB3aGVuIGxhdGVzdCB2ZXJzaW9uIG9mIGRlc3RpbmF0aW9uIGlzIHVua25vd24uIElmIGBOb25lYCw9ASB0aGVuIHRoZSBkZXN0aW5hdGlvbnMgd2hvc2UgWENNIHZlcnNpb24gaXMgdW5rbm93biBhcmUgY29uc2lkZXJlZCB1bnJlYWNoYWJsZS4AQFN1cHBvcnRlZFZlcnNpb24AAQgFAnUHOAQABPAgVGhlIExhdGVzdCB2ZXJzaW9ucyB0aGF0IHdlIGtub3cgdmFyaW91cyBsb2NhdGlvbnMgc3VwcG9ydC4AQFZlcnNpb25Ob3RpZmllcnMAAQgFAnUHKAQABAUBIEFsbCBsb2NhdGlvbnMgdGhhdCB3ZSBoYXZlIHJlcXVlc3RlZCB2ZXJzaW9uIG5vdGlmaWNhdGlvbnMgZnJvbS4AUFZlcnNpb25Ob3RpZnlUYXJnZXRzAAEIBQJ1B3kHBAAIcQEgVGhlIHRhcmdldCBsb2NhdGlvbnMgdGhhdCBhcmUgc3Vic2NyaWJlZCB0byBvdXIgdmVyc2lvbiBjaGFuZ2VzLCBhcyB3ZWxsIGFzIHRoZSBtb3N0IHJlY2VudJQgb2Ygb3VyIHZlcnNpb25zIHdlIGluZm9ybWVkIHRoZW0gb2YuAFRWZXJzaW9uRGlzY292ZXJ5UXVldWUBAH0HBAAMZQEgRGVzdGluYXRpb25zIHdob3NlIGxhdGVzdCBYQ00gdmVyc2lvbiB3ZSB3b3VsZCBsaWtlIHRvIGtub3cuIER1cGxpY2F0ZXMgbm90IGFsbG93ZWQsIGFuZHEBIHRoZSBgdTMyYCBjb3VudGVyIGlzIHRoZSBudW1iZXIgb2YgdGltZXMgdGhhdCBhIHNlbmQgdG8gdGhlIGRlc3RpbmF0aW9uIGhhcyBiZWVuIGF0dGVtcHRlZCyMIHdoaWNoIGlzIHVzZWQgYXMgYSBwcmlvcml0aXphdGlvbi4AQEN1cnJlbnRNaWdyYXRpb24AAIkHBAAEnCBUaGUgY3VycmVudCBtaWdyYXRpb24ncyBzdGFnZSwgaWYgYW55LgBUUmVtb3RlTG9ja2VkRnVuZ2libGVzAAEMBQICkQeVBwQABPAgRnVuZ2libGUgYXNzZXRzIHdoaWNoIHdlIGtub3cgYXJlIGxvY2tlZCBvbiBhIHJlbW90ZSBjaGFpbi4APExvY2tlZEZ1bmdpYmxlcwABBAIEpQcEAATgIEZ1bmdpYmxlIGFzc2V0cyB3aGljaCB3ZSBrbm93IGFyZSBsb2NrZWQgb24gdGhpcyBjaGFpbi4AVFhjbUV4ZWN1dGlvblN1c3BlbmRlZAEAyAQABLQgR2xvYmFsIHN1c3BlbnNpb24gc3RhdGUgb2YgdGhlIFhDTSBleGVjdXRvci4APFNob3VsZFJlY29yZFhjbQEAyAQAHFkBIFdoZXRoZXIgb3Igbm90IGluY29taW5nIFhDTXMgKGJvdGggZXhlY3V0ZWQgbG9jYWxseSBhbmQgcmVjZWl2ZWQpIHNob3VsZCBiZSByZWNvcmRlZC7EIE9ubHkgb25lIFhDTSBwcm9ncmFtIHdpbGwgYmUgcmVjb3JkZWQgYXQgYSB0aW1lLikBIFRoaXMgaXMgbWVhbnQgdG8gYmUgdXNlZCBpbiBydW50aW1lIEFQSXMsIGFuZCBpdCdzIGFkdmlzZWQgaXQgc3RheXMgZmFsc2UNASBmb3IgYWxsIG90aGVyIHVzZSBjYXNlcywgc28gYXMgdG8gbm90IGRlZ3JhZGUgcmVndWxhciBwZXJmb3JtYW5jZS4AWQEgT25seSByZWxldmFudCBpZiB0aGlzIHBhbGxldCBpcyBiZWluZyB1c2VkIGFzIHRoZSBbYHhjbV9leGVjdXRvcjo6dHJhaXRzOjpSZWNvcmRYY21gXcggaW1wbGVtZW50YXRpb24gaW4gdGhlIFhDTSBleGVjdXRvciBjb25maWd1cmF0aW9uLgAsUmVjb3JkZWRYY20AAD0CBAAYSQEgSWYgW2BTaG91bGRSZWNvcmRYY21gXSBpcyBzZXQgdG8gdHJ1ZSwgdGhlbiB0aGUgbGFzdCBYQ00gcHJvZ3JhbSBleGVjdXRlZCBsb2NhbGx5VCB3aWxsIGJlIHN0b3JlZCBoZXJlLikBIFJ1bnRpbWUgQVBJcyBjYW4gZmV0Y2ggdGhlIFhDTSB0aGF0IHdhcyBleGVjdXRlZCBieSBhY2Nlc3NpbmcgdGhpcyB2YWx1ZS4AWQEgT25seSByZWxldmFudCBpZiB0aGlzIHBhbGxldCBpcyBiZWluZyB1c2VkIGFzIHRoZSBbYHhjbV9leGVjdXRvcjo6dHJhaXRzOjpSZWNvcmRYY21gXcggaW1wbGVtZW50YXRpb24gaW4gdGhlIFhDTSBleGVjdXRvciBjb25maWd1cmF0aW9uLgBEQXV0aG9yaXplZEFsaWFzZXMAAQQC7LEHBAAMZQEgTWFwIG9mIGF1dGhvcml6ZWQgYWxpYXNlcnMgb2YgbG9jYWwgb3JpZ2lucy4gRWFjaCBsb2NhbCBsb2NhdGlvbiBjYW4gYXV0aG9yaXplIGEgbGlzdCBvZlkBIG90aGVyIGxvY2F0aW9ucyB0byBhbGlhcyBpbnRvIGl0LiBFYWNoIGFsaWFzZXIgaXMgb25seSB2YWxpZCB1bnRpbCBpdHMgaW5uZXIgYGV4cGlyeWA4IGJsb2NrIG51bWJlci4AAegIAQK5AVRoaXMgZXh0cmluc2ljIHVzZXMgYFdlaWdodExpbWl0OjpVbmxpbWl0ZWRgLCBwbGVhc2UgbWlncmF0ZSB0byBgbGltaXRlZF90ZWxlcG9ydF9hc3NldHNgIG9yIGB0cmFuc2Zlcl9hc3NldHNgAAIC2QFUaGlzIGV4dHJpbnNpYyB1c2VzIGBXZWlnaHRMaW1pdDo6VW5saW1pdGVkYCwgcGxlYXNlIG1pZ3JhdGUgdG8gYGxpbWl0ZWRfcmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHNgIG9yIGB0cmFuc2Zlcl9hc3NldHNgAAElBQAQRFVuaXZlcnNhbExvY2F0aW9uRQEYAgkCAKkPBIQgVGhpcyBjaGFpbidzIFVuaXZlcnNhbCBMb2NhdGlvbi4AUEFkdmVydGlzZWRYY21WZXJzaW9uOBAFAAAACCUBIFRoZSBsYXRlc3Qgc3VwcG9ydGVkIHZlcnNpb24gdGhhdCB3ZSBhZHZlcnRpc2UuIEdlbmVyYWxseSBqdXN0IHNldCBpdCB0b4QgYHBhbGxldF94Y206OkN1cnJlbnRYY21WZXJzaW9uYC4AKE1heExvY2tlcnM4EAgAAAAEGQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIGxvY2FsIFhDTSBsb2NrcyB0aGF0IGEgc2luZ2xlIGFjY291bnQgbWF5IGhhdmUuAFhNYXhSZW1vdGVMb2NrQ29uc3VtZXJzOBAAAAAABPwgVGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbnN1bWVycyBhIHNpbmdsZSByZW1vdGUgbG9jayBtYXkgaGF2ZS4AAckHBBgCvFVzZSBgTG9jYWxFeGVjdXRpb25JbmNvbXBsZXRlV2l0aEVycm9yYCBpbnN0ZWFkARgyMC4wLjAILFJ1bnRpbWVDYWxsIARkIFRoZSBydW50aW1lIGBDYWxsYCB0eXBlLnBSZW1vdGVMb2NrQ29uc3VtZXJJZGVudGlmaWVyEATEIFRoZSBJRCB0eXBlIGZvciBsb2NhbCBjb25zdW1lcnMgb2YgcmVtb3RlIGxvY2tzLgAfAAAoQ3VtdWx1c1hjbQAB+QIAATUFAAAAAAAgAAAcVXRpbGl0eQAB/QIAATkFAARMYmF0Y2hlZF9jYWxsc19saW1pdDgQqioAAASoIFRoZSBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIGJhdGNoZWQgY2FsbHMuAAHRBwAILFJ1bnRpbWVDYWxsIARsIFRoZSBvdmVyYXJjaGluZyBjYWxsIHR5cGUuNFBhbGxldHNPcmlnaW4JAwTwIFRoZSBjYWxsZXIgb3JpZ2luLCBvdmVyYXJjaGluZyB0eXBlIG9mIGFsbCBwYWxsZXRzIG9yaWdpbnMuACgAACBNdWx0aXNpZwEgTXVsdGlzaWcEJE11bHRpc2lncwABCAUC1QfZBwQABJQgVGhlIHNldCBvZiBvcGVuIG11bHRpc2lnIG9wZXJhdGlvbnMuAAEZAwABQQUADCxEZXBvc2l0QmFzZcRAANu7dwAAAAAAAAAAAAAAABhZASBUaGUgYmFzZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHRvIHJlc2VydmUgZm9yIGNyZWF0aW5nIGEgbXVsdGlzaWcgZXhlY3V0aW9uIG9yIHRvhCBzdG9yZSBhIGRpc3BhdGNoIGNhbGwgZm9yIGxhdGVyLgABASBUaGlzIGlzIGhlbGQgZm9yIGFuIGFkZGl0aW9uYWwgc3RvcmFnZSBpdGVtIHdob3NlIHZhbHVlIHNpemUgaXMxASBgNCArIHNpemVvZigoQmxvY2tOdW1iZXIsIEJhbGFuY2UsIEFjY291bnRJZCkpYCBieXRlcyBhbmQgd2hvc2Uga2V5IHNpemUgaXOAIGAzMiArIHNpemVvZihBY2NvdW50SWQpYCBieXRlcy4ANERlcG9zaXRGYWN0b3LEQADUMAAAAAAAAAAAAAAAAAAMVQEgVGhlIGFtb3VudCBvZiBjdXJyZW5jeSBuZWVkZWQgcGVyIHVuaXQgdGhyZXNob2xkIHdoZW4gY3JlYXRpbmcgYSBtdWx0aXNpZyBleGVjdXRpb24uACUBIFRoaXMgaXMgaGVsZCBmb3IgYWRkaW5nIDMyIGJ5dGVzIG1vcmUgaW50byBhIHByZS1leGlzdGluZyBzdG9yYWdlIHZhbHVlLgA4TWF4U2lnbmF0b3JpZXM4EGQAAAAE7CBUaGUgbWF4aW11bSBhbW91bnQgb2Ygc2lnbmF0b3JpZXMgYWxsb3dlZCBpbiB0aGUgbXVsdGlzaWcuAAHhBwAELFJ1bnRpbWVDYWxsIARsIFRoZSBvdmVyYXJjaGluZyBjYWxsIHR5cGUuACkAABRQcm94eQEUUHJveHkIHFByb3hpZXMBAQQFBOUHRAAAAAAAAAAAAAAAAAAAAAAACEUBIFRoZSBzZXQgb2YgYWNjb3VudCBwcm94aWVzLiBNYXBzIHRoZSBhY2NvdW50IHdoaWNoIGhhcyBkZWxlZ2F0ZWQgdG8gdGhlIGFjY291bnRzIQEgd2hpY2ggYXJlIGJlaW5nIGRlbGVnYXRlZCB0bywgdG9nZXRoZXIgd2l0aCB0aGUgYW1vdW50IGhlbGQgb24gZGVwb3NpdC4ANEFubm91bmNlbWVudHMBAQQFBPUHRAAAAAAAAAAAAAAAAAAAAAAABKwgVGhlIGFubm91bmNlbWVudHMgbWFkZSBieSB0aGUgcHJveHkgKGtleSkuAAElAwABRQUAGEBQcm94eURlcG9zaXRCYXNlxEAAnXJ3AAAAAAAAAAAAAAAAEBEBIFRoZSBiYXNlIGFtb3VudCBvZiBjdXJyZW5jeSBuZWVkZWQgdG8gcmVzZXJ2ZSBmb3IgY3JlYXRpbmcgYSBwcm94eS4AAQEgVGhpcyBpcyBoZWxkIGZvciBhbiBhZGRpdGlvbmFsIHN0b3JhZ2UgaXRlbSB3aG9zZSB2YWx1ZSBzaXplIGlzJQEgYHNpemVvZihCYWxhbmNlKWAgYnl0ZXMgYW5kIHdob3NlIGtleSBzaXplIGlzIGBzaXplb2YoQWNjb3VudElkKWAgYnl0ZXMuAEhQcm94eURlcG9zaXRGYWN0b3LEQKBaMgAAAAAAAAAAAAAAAAAUvCBUaGUgYW1vdW50IG9mIGN1cnJlbmN5IG5lZWRlZCBwZXIgcHJveHkgYWRkZWQuADUBIFRoaXMgaXMgaGVsZCBmb3IgYWRkaW5nIDMyIGJ5dGVzIHBsdXMgYW4gaW5zdGFuY2Ugb2YgYFByb3h5VHlwZWAgbW9yZSBpbnRvIGFhASBwcmUtZXhpc3Rpbmcgc3RvcmFnZSB2YWx1ZS4gVGh1cywgd2hlbiBjb25maWd1cmluZyBgUHJveHlEZXBvc2l0RmFjdG9yYCBvbmUgc2hvdWxkIHRha2X0IGludG8gYWNjb3VudCBgMzIgKyBwcm94eV90eXBlLmVuY29kZSgpLmxlbigpYCBieXRlcyBvZiBkYXRhLgAoTWF4UHJveGllczgQIAAAAATwIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBwcm94aWVzIGFsbG93ZWQgZm9yIGEgc2luZ2xlIGFjY291bnQuAChNYXhQZW5kaW5nOBAgAAAABEUBIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lLWRlbGF5ZWQgYW5ub3VuY2VtZW50cyB0aGF0IGFyZSBhbGxvd2VkIHRvIGJlIHBlbmRpbmcuAFxBbm5vdW5jZW1lbnREZXBvc2l0QmFzZcRAANJ+dwAAAAAAAAAAAAAAABAxASBUaGUgYmFzZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHRvIHJlc2VydmUgZm9yIGNyZWF0aW5nIGFuIGFubm91bmNlbWVudC4ASQEgVGhpcyBpcyBoZWxkIHdoZW4gYSBuZXcgc3RvcmFnZSBpdGVtIGhvbGRpbmcgYSBgQmFsYW5jZWAgaXMgY3JlYXRlZCAodHlwaWNhbGx5IDE2ICBieXRlcykuAGRBbm5vdW5jZW1lbnREZXBvc2l0RmFjdG9yxEBAtWQAAAAAAAAAAAAAAAAAENQgVGhlIGFtb3VudCBvZiBjdXJyZW5jeSBuZWVkZWQgcGVyIGFubm91bmNlbWVudCBtYWRlLgBZASBUaGlzIGlzIGhlbGQgZm9yIGFkZGluZyBhbiBgQWNjb3VudElkYCwgYEhhc2hgIGFuZCBgQmxvY2tOdW1iZXJgICh0eXBpY2FsbHkgNjggYnl0ZXMpjCBpbnRvIGEgcHJlLWV4aXN0aW5nIHN0b3JhZ2UgdmFsdWUuAAEFCAAILFJ1bnRpbWVDYWxsIARsIFRoZSBvdmVyYXJjaGluZyBjYWxsIHR5cGUuJFByb3h5VHlwZS0DEFUBIEEga2luZCBvZiBwcm94eTsgc3BlY2lmaWVkIHdpdGggdGhlIHByb3h5IGFuZCBwYXNzZWQgaW4gdG8gdGhlIGBJc1Byb3h5YWJsZWAgZmlsdGVyLlEBIFRoZSBpbnN0YW5jZSBmaWx0ZXIgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgZ2l2ZW4gY2FsbCBtYXkgYmUgcHJveGllZCB1bmRlciB0aGlzIHR5cGUuAE0BIElNUE9SVEFOVDogYERlZmF1bHRgIG11c3QgYmUgcHJvdmlkZWQgYW5kIE1VU1QgQkUgdGhlIHRoZSAqbW9zdCBwZXJtaXNzaXZlKiB2YWx1ZS4IGAnXg0Zyeg71jA+gO6+jI8vFFIjZKhqnE3sDv7UO/BdEY2hlY2tfcGVybWlzc2lvbnMIEGNhbGwgKHByb3h5X3R5cGUtA8gE9CBDaGVjayBpZiBhIGBSdW50aW1lQ2FsbGAgaXMgYWxsb3dlZCBmb3IgYSBnaXZlbiBgUHJveHlUeXBlYC4AGAnXg0Zyeg71jA+gO6+jIxcUsGB9Yq8KOzsK0sXVXFgsaXNfc3VwZXJzZXQIIHRvX2NoZWNrLQMcYWdhaW5zdC0DyAT0IENoZWNrIGlmIG9uZSBgUHJveHlUeXBlYCBpcyBhIHN1YnNldCBvZiBhbm90aGVyIGBQcm94eVR5cGVgLgAqAAA4QnJpZGdlUmVsYXllcnMBOEJyaWRnZVJlbGF5ZXJzCDhSZWxheWVyUmV3YXJkcwABCAIGCQjEBAAEqCBNYXAgb2YgdGhlIHJlbGF5ZXIgPT4gYWNjdW11bGF0ZWQgcmV3YXJkLgBIUmVnaXN0ZXJlZFJlbGF5ZXJzAAEEAgRRBQQAGDUBIFJlbGF5ZXJzIHRoYXQgaGF2ZSByZXNlcnZlZCBzb21lIG9mIHRoZWlyIGJhbGFuY2UgdG8gZ2V0IGZyZWUgcHJpb3JpdHkgYm9vc3SkIGZvciB0aGVpciBtZXNzYWdlIGRlbGl2ZXJ5IHRyYW5zYWN0aW9ucy4ALQEgT3RoZXIgcmVsYXllcnMgbWF5IHN1Ym1pdCB0cmFuc2FjdGlvbnMgYXMgd2VsbCwgYnV0IHRoZXkgd2lsbCBoYXZlIGRlZmF1bHQ5ASBwcmlvcml0eSBhbmQgd2lsbCBiZSByZWplY3RlZCAod2l0aG91dCBzaWduaWZpY2FudCB0aXApIGluIGNhc2UgaWYgcmVnaXN0ZXJlZFAgcmVsYXllciBpcyBwcmVzZW50LgABMQMAAU0FAAABDQgACDRSZXdhcmRCYWxhbmNlxASAIFR5cGUgb2YgcmVsYXllciByZXdhcmQgYmFsYW5jZS4YUmV3YXJkNQMYTQEgUmV3YXJkIGRpc2NyaW1pbmF0b3IgdHlwZS4gVGhlIHBhbGxldCBjYW4gY29sbGVjdCBkaWZmZXJlbnQgdHlwZXMgb2YgcmV3YXJkcyBmb3IgYVUBIHNpbmdsZSBhY2NvdW50LCBzbyBgUmV3YXJkYCBpcyB1c2VkIGFzIHRoZSBzZWNvbmQga2V5IGluIHRoZSBgUmVsYXllclJld2FyZHNgIGRvdWJsZRQgbWFwLgAxASBGb3IgZXhhbXBsZSwgcmV3YXJkcyBmb3IgZGlmZmVyZW50IGJyaWRnZXMgY2FuIGJlIHN0b3JlZCwgd2hlcmUgYFJld2FyZGAgaXPEIGltcGxlbWVudGVkIGFzIGFuIGVudW0gcmVwcmVzZW50aW5nIGVhY2ggYnJpZGdlLgAyAABMQnJpZGdlS3VzYW1hR3JhbmRwYQFMQnJpZGdlS3VzYW1hR3JhbmRwYSRQRnJlZUhlYWRlcnNSZW1haW5pbmcAADgEACA9ASBOdW1iZXIgb2YgZnJlZSBoZWFkZXIgc3VibWlzc2lvbnMgdGhhdCB3ZSBtYXkgeWV0IGFjY2VwdCBpbiB0aGUgY3VycmVudCBibG9jay4AQQEgSWYgdGhlIGBGcmVlSGVhZGVyc1JlbWFpbmluZ2AgaGl0cyB6ZXJvLCBhbGwgZm9sbG93aW5nIG1hbmRhdG9yeSBoZWFkZXJzIGluIHRoZfwgY3VycmVudCBibG9jayBhcmUgYWNjZXB0ZWQgd2l0aCBmZWUgKGBQYXlzOjpZZXNgIGlzIHJldHVybmVkKS4AAQEgVGhlIGBGcmVlSGVhZGVyc1JlbWFpbmluZ2AgaXMgYW4gZXBoZW1lcmFsIHZhbHVlIHRoYXQgaXMgc2V0IHRvNQEgYE1heEZyZWVIZWFkZXJzUGVyQmxvY2tgIGF0IGVhY2ggYmxvY2sgaW5pdGlhbGl6YXRpb24gYW5kIGlzIGtpbGxlZCBvbiBibG9ja9wgZmluYWxpemF0aW9uLiBTbyBpdCBuZXZlciBlbmRzIHVwIGluIHRoZSBzdG9yYWdlIHRyaWUuACxJbml0aWFsSGFzaAEAPIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATEIEhhc2ggb2YgdGhlIGhlYWRlciB1c2VkIHRvIGJvb3RzdHJhcCB0aGUgcGFsbGV0LgA0QmVzdEZpbmFsaXplZAAAEQgEAASMIEhhc2ggb2YgdGhlIGJlc3QgZmluYWxpemVkIGhlYWRlci4AOEltcG9ydGVkSGFzaGVzAAEEBjg8BAAEBQEgQSByaW5nIGJ1ZmZlciBvZiBpbXBvcnRlZCBoYXNoZXMuIE9yZGVyZWQgYnkgdGhlIGluc2VydGlvbiB0aW1lLgBUSW1wb3J0ZWRIYXNoZXNQb2ludGVyAQA4EAAAAAAEeCBDdXJyZW50IHJpbmcgYnVmZmVyIHBvc2l0aW9uLgA8SW1wb3J0ZWRIZWFkZXJzAAEEBjwVCAQABJQgUmVsZXZhbnQgZmllbGRzIG9mIGltcG9ydGVkIGhlYWRlcnMuAExDdXJyZW50QXV0aG9yaXR5U2V0AQAZCCQAAAAAAAAAAAAEjCBUaGUgY3VycmVudCBHUkFORFBBIEF1dGhvcml0eSBzZXQuACxQYWxsZXRPd25lcgAABAQAGFwgT3B0aW9uYWwgcGFsbGV0IG93bmVyLgBRASBQYWxsZXQgb3duZXIgaGFzIGEgcmlnaHQgdG8gaGFsdCBhbGwgcGFsbGV0IG9wZXJhdGlvbnMgYW5kIHRoZW4gcmVzdW1lIGl0LiBJZiBpdCBpc0kBIGBOb25lYCwgdGhlbiB0aGVyZSBhcmUgbm8gZGlyZWN0IHdheXMgdG8gaGFsdC9yZXN1bWUgcGFsbGV0IG9wZXJhdGlvbnMsIGJ1dCBvdGhlcmEBIHJ1bnRpbWUgbWV0aG9kcyBtYXkgc3RpbGwgYmUgdXNlZCB0byBkbyB0aGF0IChpLmUuIGRlbW9jcmFjeTo6cmVmZXJlbmR1bSB0byB1cGRhdGUgaGFsdMQgZmxhZyBkaXJlY3RseSBvciBjYWxsIHRoZSBgc2V0X29wZXJhdGluZ19tb2RlYCkuAExQYWxsZXRPcGVyYXRpbmdNb2RlAQB5AwQADKggVGhlIGN1cnJlbnQgb3BlcmF0aW5nIG1vZGUgb2YgdGhlIHBhbGxldC4AGQEgRGVwZW5kaW5nIG9uIHRoZSBtb2RlIGVpdGhlciBhbGwsIG9yIG5vIHRyYW5zYWN0aW9ucyB3aWxsIGJlIGFsbG93ZWQuAAFJAwQAAnEBYHN1Ym1pdF9maW5hbGl0eV9wcm9vZmAgd2lsbCBiZSByZW1vdmVkIGluIE1heSAyMDI0LiBVc2UgYHN1Ym1pdF9maW5hbGl0eV9wcm9vZl9leGAgaW5zdGVhZC4AAVUFAAxYTWF4RnJlZUhlYWRlcnNQZXJCbG9jazgQBAAAADzgIE1heGltYWwgbnVtYmVyIG9mICJmcmVlIiBoZWFkZXIgdHJhbnNhY3Rpb25zIHBlciBibG9jay4AQQEgVG8gYmUgYWJsZSB0byB0cmFjayB0aGUgYnJpZGdlZCBjaGFpbiwgdGhlIHBhbGxldCByZXF1aXJlcyBhbGwgaGVhZGVycyB0aGF0IGFyZUEBIGNoYW5naW5nIEdSQU5EUEEgYXV0aG9yaXRpZXMgc2V0IGF0IHRoZSBicmlkZ2VkIGNoYWluICh3ZSBjYWxsIHRoZW0gbWFuZGF0b3J5KS4dASBTbyBpdCBpcyBhIGNvbW1vbiBnb29kIGRlZWQgdG8gc3VibWl0IG1hbmRhdG9yeSBoZWFkZXJzIHRvIHRoZSBwYWxsZXQuAEEBIFRoZSBwYWxsZXQgbWF5IGJlIGNvbmZpZ3VyZWQgKHNlZSBgW1NlbGY6OkZyZWVIZWFkZXJzSW50ZXJ2YWxdYCkgdG8gaW1wb3J0IHNvbWVBASBub24tbWFuZGF0b3J5IGhlYWRlcnMgZm9yIGZyZWUgYXMgd2VsbC4gSXQgYWxzbyBtYXkgYmUgdHJlYXRlZCBhcyBhIGNvbW1vbiBnb29kRQEgZGVlZCwgYmVjYXVzZSBpdCBtYXkgaGVscCB0byByZWR1Y2UgYnJpZGdlIGZlZXMgLSB0aGlzIGNvc3QgbWF5IGJlIGRlZHVjdGVkIGZyb22YIGJyaWRnZSBmZWVzLCBwYWlkIGJ5IG1lc3NhZ2Ugc2VuZGVycy4AUQEgSG93ZXZlciwgaWYgdGhlIGJyaWRnZWQgY2hhaW4gZ2V0cyBjb21wcm9taXNlZCwgaXRzIHZhbGlkYXRvcnMgbWF5IGdlbmVyYXRlIGFzIG1hbnlNASAiZnJlZSIgaGVhZGVycyBhcyB0aGV5IHdhbnQuIEFuZCB0aGV5IG1heSBmaWxsIHRoZSB3aG9sZSBibG9jayAoYXQgdGhpcyBjaGFpbikgZm9yRQEgZnJlZS4gVGhpcyBjb25zdGFudCBsaW1pdHMgbnVtYmVyIG9mIGNhbGxzIHRoYXQgd2UgbWF5IHJlZnVuZCBpbiBhIHNpbmdsZSBibG9jay78IEFsbCBjYWxscyBhYm92ZSB0aGlzIGxpbWl0IGFyZSBhY2NlcHRlZCwgYnV0IGFyZSBub3QgcmVmdW5kZWQuAExGcmVlSGVhZGVyc0ludGVydmFs6QIUAQUAAAAUQQEgVGhlIGRpc3RhbmNlIGJldHdlZW4gYnJpZGdlZCBjaGFpbiBoZWFkZXJzLCB0aGF0IG1heSBiZSBzdWJtaXR0ZWQgZm9yIGZyZWUuIFRoZR0BIGZpcnN0IGZyZWUgaGVhZGVyIGlzIGhlYWRlciBudW1iZXIgemVybywgdGhlIG5leHQgb25lIGlzIGhlYWRlciBudW1iZXI1ASBgRnJlZUhlYWRlcnNJbnRlcnZhbDo6Z2V0KClgIG9yIGFueSBvZiBpdHMgZGVzY2VuZGFudCBpZiB0aGF0IGhlYWRlciBoYXMgbm90RQEgYmVlbiBzdWJtaXR0ZWQuIEluIG90aGVyIHdvcmRzLCBpbnRlcnZhbCBiZXR3ZWVuIGZyZWUgaGVhZGVycyBzaG91bGQgYmUgYXQgbGVhc3RcIGBGcmVlSGVhZGVyc0ludGVydmFsYC4ANEhlYWRlcnNUb0tlZXA4ELAEAAAc8CBNYXhpbWFsIG51bWJlciBvZiBmaW5hbGl6ZWQgaGVhZGVycyB0byBrZWVwIGluIHRoZSBzdG9yYWdlLgA5ASBUaGUgc2V0dGluZyBpcyB0aGVyZSB0byBwcmV2ZW50IGdyb3dpbmcgdGhlIG9uLWNoYWluIHN0YXRlIGluZGVmaW5pdGVseS4gTm90ZUUBIHRoZSBzZXR0aW5nIGRvZXMgbm90IHJlbGF0ZSB0byBibG9jayBudW1iZXJzIC0gd2Ugd2lsbCBzaW1wbHkga2VlcCBhcyBtdWNoIGl0ZW1zSQEgaW4gdGhlIHN0b3JhZ2UsIHNvIGl0IGRvZXNuJ3QgZ3VhcmFudGVlIGFueSBmaXhlZCB0aW1lZnJhbWUgZm9yIGZpbmFsaXR5IGhlYWRlcnMuAFkBIEluY2F1dGlvdXMgY2hhbmdlIG9mIHRoaXMgY29uc3RhbnQgbWF5IGxlYWQgdG8gb3JwaGFuIGVudHJpZXMgaW4gdGhlIHJ1bnRpbWUgc3RvcmFnZS4AASEIAAAAMwAAWEJyaWRnZUt1c2FtYVBhcmFjaGFpbnMBWEJyaWRnZUt1c2FtYVBhcmFjaGFpbnMULFBhbGxldE93bmVyAAAEBAAYXCBPcHRpb25hbCBwYWxsZXQgb3duZXIuAFkBIFBhbGxldCBvd25lciBoYXMgYSByaWdodCB0byBoYWx0IGFsbCBwYWxsZXQgb3BlcmF0aW9ucyBhbmQgdGhlbiByZXN1bWUgdGhlbS4gSWYgaXQgaXNJASBgTm9uZWAsIHRoZW4gdGhlcmUgYXJlIG5vIGRpcmVjdCB3YXlzIHRvIGhhbHQvcmVzdW1lIHBhbGxldCBvcGVyYXRpb25zLCBidXQgb3RoZXJhASBydW50aW1lIG1ldGhvZHMgbWF5IHN0aWxsIGJlIHVzZWQgdG8gZG8gdGhhdCAoaS5lLiBkZW1vY3JhY3k6OnJlZmVyZW5kdW0gdG8gdXBkYXRlIGhhbHTEIGZsYWcgZGlyZWN0bHkgb3IgY2FsbCB0aGUgYHNldF9vcGVyYXRpbmdfbW9kZWApLgBMUGFsbGV0T3BlcmF0aW5nTW9kZQEAeQMEAAyoIFRoZSBjdXJyZW50IG9wZXJhdGluZyBtb2RlIG9mIHRoZSBwYWxsZXQuABkBIERlcGVuZGluZyBvbiB0aGUgbW9kZSBlaXRoZXIgYWxsLCBvciBubyB0cmFuc2FjdGlvbnMgd2lsbCBiZSBhbGxvd2VkLgAkUGFyYXNJbmZvAAEEApEDKQgEABREIFBhcmFjaGFpbnMgaW5mby4AdCBDb250YWlucyB0aGUgZm9sbG93aW5nIGluZm86bCAtIGJlc3QgcGFyYWNoYWluIGhlYWQgaGFzaMwgLSB0aGUgaGVhZCBvZiB0aGUgYEltcG9ydGVkUGFyYUhhc2hlc2AgcmluZyBidWZmZXIAREltcG9ydGVkUGFyYUhlYWRzAAEIAgKNAzEIBAAEJQEgU3RhdGUgcm9vdHMgb2YgcGFyYWNoYWluIGhlYWRzIHdoaWNoIGhhdmUgYmVlbiBpbXBvcnRlZCBpbnRvIHRoZSBwYWxsZXQuAEhJbXBvcnRlZFBhcmFIYXNoZXMAAQgCBTUIPAQABEEBIEEgcmluZyBidWZmZXIgb2YgaW1wb3J0ZWQgcGFyYWNoYWluIGhlYWQgaGFzaGVzLiBPcmRlcmVkIGJ5IHRoZSBpbnNlcnRpb24gdGltZS4AAYEDAAFlBQAMPFBhcmFzUGFsbGV0TmFtZd0FGBRQYXJhcxRZASBOYW1lIG9mIHRoZSBvcmlnaW5hbCBgcGFyYXNgIHBhbGxldCBpbiB0aGUgYGNvbnN0cnVjdF9ydW50aW1lISgpYCBjYWxsIGF0IHRoZSBicmlkZ2VkHCBjaGFpbi4AUQEgUGxlYXNlIGtlZXAgaW4gbWluZCB0aGF0IHRoaXMgc2hvdWxkIGJlIHRoZSBuYW1lIG9mIHRoZSBgcnVudGltZV9wYXJhY2hhaW5zOjpwYXJhc2AVASBwYWxsZXQgZnJvbSBwb2xrYWRvdCByZXBvc2l0b3J5LCBub3QgdGhlIGBwYWxsZXQtYnJpZGdlLXBhcmFjaGFpbnNgLgAsSGVhZHNUb0tlZXA4EFgCAAAcBQEgTWF4aW1hbCBudW1iZXIgb2Ygc2luZ2xlIHBhcmFjaGFpbiBoZWFkcyB0byBrZWVwIGluIHRoZSBzdG9yYWdlLgA5ASBUaGUgc2V0dGluZyBpcyB0aGVyZSB0byBwcmV2ZW50IGdyb3dpbmcgdGhlIG9uLWNoYWluIHN0YXRlIGluZGVmaW5pdGVseS4gTm90ZVUBIHRoZSBzZXR0aW5nIGRvZXMgbm90IHJlbGF0ZSB0byBwYXJhY2hhaW4gYmxvY2sgbnVtYmVycyAtIHdlIHdpbGwgc2ltcGx5IGtlZXAgYXMgbXVjaDUBIGl0ZW1zIGluIHRoZSBzdG9yYWdlLCBzbyBpdCBkb2Vzbid0IGd1YXJhbnRlZSBhbnkgZml4ZWQgdGltZWZyYW1lIGZvciBoZWFkcy4AWQEgSW5jYXV0aW91cyBjaGFuZ2Ugb2YgdGhpcyBjb25zdGFudCBtYXkgbGVhZCB0byBvcnBoYW4gZW50cmllcyBpbiB0aGUgcnVudGltZSBzdG9yYWdlLgBMTWF4UGFyYUhlYWREYXRhU2l6ZTgQgAAAACQFASBNYXhpbWFsIHNpemUgKGluIGJ5dGVzKSBvZiB0aGUgU0NBTEUtZW5jb2RlZCBwYXJhY2hhaW4gaGVhZCBkYXRhpCAoYGJwX3BhcmFjaGFpbnM6OlBhcmFTdG9yZWRIZWFkZXJEYXRhYCkuAFUBIEtlZXAgaW4gbWluZCB0aGF0IHRoZSBzaXplIG9mIGFueSB0cmFja2VkIHBhcmFjaGFpbiBoZWFkZXIgZGF0YSBtdXN0IG5vdCBleGNlZWQgdGhpc1EBIHZhbHVlLiBTbyBpZiB5b3UncmUgZ29pbmcgdG8gdHJhY2sgbXVsdGlwbGUgcGFyYWNoYWlucywgb25lIG9mIHdoaWNoIGlzIHVzaW5nIGxhcmdltCBoYXNoZXMsIHlvdSBzaGFsbCBjaG9vc2UgdGhpcyBtYXhpbWFsIHZhbHVlLgBZASBUaGVyZSdzIG5vIG1hbmRhdG9yeSBoZWFkZXJzIGluIHRoaXMgcGFsbGV0LCBzbyBpdCBjYW4ndCBzdGFsbCBpZiB0aGVyZSdzIHNvbWUgaGVhZGVyZCB0aGF0IGV4Y2VlZHMgdGhpcyBib3VuZC4AATkIAAAANAAAUEJyaWRnZUt1c2FtYU1lc3NhZ2VzAVBCcmlkZ2VLdXNhbWFNZXNzYWdlcxQsUGFsbGV0T3duZXIAAAQEABhcIE9wdGlvbmFsIHBhbGxldCBvd25lci4AUQEgUGFsbGV0IG93bmVyIGhhcyBhIHJpZ2h0IHRvIGhhbHQgYWxsIHBhbGxldCBvcGVyYXRpb25zIGFuZCB0aGVuIHJlc3VtZSBpdC4gSWYgaXQgaXNJASBgTm9uZWAsIHRoZW4gdGhlcmUgYXJlIG5vIGRpcmVjdCB3YXlzIHRvIGhhbHQvcmVzdW1lIHBhbGxldCBvcGVyYXRpb25zLCBidXQgb3RoZXJhASBydW50aW1lIG1ldGhvZHMgbWF5IHN0aWxsIGJlIHVzZWQgdG8gZG8gdGhhdCAoaS5lLiBkZW1vY3JhY3k6OnJlZmVyZW5kdW0gdG8gdXBkYXRlIGhhbHTEIGZsYWcgZGlyZWN0bHkgb3IgY2FsbCB0aGUgYHNldF9vcGVyYXRpbmdfbW9kZWApLgBMUGFsbGV0T3BlcmF0aW5nTW9kZQEAnQMIAAAMqCBUaGUgY3VycmVudCBvcGVyYXRpbmcgbW9kZSBvZiB0aGUgcGFsbGV0LgAxASBEZXBlbmRpbmcgb24gdGhlIG1vZGUgZWl0aGVyIGFsbCwgc29tZSwgb3Igbm8gdHJhbnNhY3Rpb25zIHdpbGwgYmUgYWxsb3dlZC4AMEluYm91bmRMYW5lcwABBAI9A0UIBAAElCBNYXAgb2YgbGFuZSBpZCA9PiBpbmJvdW5kIGxhbmUgZGF0YS4ANE91dGJvdW5kTGFuZXMAAQQCPQNVCAQABJggTWFwIG9mIGxhbmUgaWQgPT4gb3V0Ym91bmQgbGFuZSBkYXRhLgBAT3V0Ym91bmRNZXNzYWdlcwABBAJZCF0IBAAEeCBBbGwgcXVldWVkIG91dGJvdW5kIG1lc3NhZ2VzLgABmQMAAWkFAAABYQgABDxPdXRib3VuZFBheWxvYWQYBFEBIFBheWxvYWQgdHlwZSBvZiBvdXRib3VuZCBtZXNzYWdlcy4gVGhpcyBwYXlsb2FkIGlzIGRpc3BhdGNoZWQgb24gdGhlIGJyaWRnZWQgY2hhaW4uADUAAFhYY21PdmVyQnJpZGdlSHViS3VzYW1hAVhYY21PdmVyQnJpZGdlSHViS3VzYW1hCBxCcmlkZ2VzAAEEBo0FcQgEAARgIEFsbCByZWdpc3RlcmVkIGJyaWRnZXMuADBMYW5lVG9CcmlkZ2UAAQQGPQONBQQABMwgQWxsIHJlZ2lzdGVyZWQgYGxhbmVfaWRgIGFuZCBgYnJpZGdlX2lkYCBtYXBwaW5ncy4AAa0DAAGJBQAIOEJyaWRnZWROZXR3b3JrQQEQAgEJAwQNASBCcmlkZ2VkIG5ldHdvcmsgYXMgcmVsYXRpdmUgbG9jYXRpb24gb2YgYnJpZGdlZCBgR2xvYmFsQ29uc2Vuc3VzYC4ANEJyaWRnZURlcG9zaXTEQAAAAAAAAAAAAAAAAAAAAAAIVQEgQW1vdW50IG9mIHRoaXMgY2hhaW4gbmF0aXZlIHRva2VucyB0aGF0IGlzIHJlc2VydmVkIG9uIHRoZSBzaWJsaW5nIHBhcmFjaGFpbiBhY2NvdW50oCB3aGVuIGJyaWRnZSBvcGVuIHJlcXVlc3QgaXMgcmVnaXN0ZXJlZC4AAXkIAAAANgAAUEV0aGVyZXVtSW5ib3VuZFF1ZXVlAVBFdGhlcmV1bUluYm91bmRRdWV1ZQgUTm9uY2UBAQQFaQQoIAAAAAAAAAAABIwgVGhlIGN1cnJlbnQgbm9uY2UgZm9yIGVhY2ggY2hhbm5lbAA0T3BlcmF0aW5nTW9kZQEA8QMEAASoIFRoZSBjdXJyZW50IG9wZXJhdGluZyBtb2RlIG9mIHRoZSBwYWxsZXQuAAG1AwABkQUABDhHYXRld2F5QWRkcmVzc8EDUCfKljwnnJOAGUHh64eZwj9AfWjnAAABgQgAAABQAABURXRoZXJldW1PdXRib3VuZFF1ZXVlAVRFdGhlcmV1bU91dGJvdW5kUXVldWUQIE1lc3NhZ2VzAQCRCAQAGD0BIE1lc3NhZ2VzIHRvIGJlIGNvbW1pdHRlZCBpbiB0aGUgY3VycmVudCBibG9jay4gVGhpcyBzdG9yYWdlIHZhbHVlIGlzIGtpbGxlZCBpbtAgYG9uX2luaXRpYWxpemVgLCBzbyBzaG91bGQgbmV2ZXIgZ28gaW50byBibG9jayBQb1YuAAUBIElzIG5ldmVyIHJlYWQgaW4gdGhlIHJ1bnRpbWUsIG9ubHkgYnkgb2ZmY2hhaW4gbWVzc2FnZSByZWxheWVycy4A9CBJbnNwaXJlZCBieSB0aGUgYGZyYW1lX3N5c3RlbTo6UGFsbGV0OjpFdmVudHNgIHN0b3JhZ2UgdmFsdWUANE1lc3NhZ2VMZWF2ZXMBAMUDBAAMZQEgSGFzaGVzIG9mIHRoZSBBQkktZW5jb2RlZCBtZXNzYWdlcyBpbiB0aGUgW2BNZXNzYWdlc2BdIHN0b3JhZ2UgdmFsdWUuIFVzZWQgdG8gZ2VuZXJhdGUgYQkBIG1lcmtsZSByb290IGR1cmluZyBgb25fZmluYWxpemVgLiBUaGlzIHN0b3JhZ2UgdmFsdWUgaXMga2lsbGVkIGlu0CBgb25faW5pdGlhbGl6ZWAsIHNvIHNob3VsZCBuZXZlciBnbyBpbnRvIGJsb2NrIFBvVi4AFE5vbmNlAQEEBWkEKCAAAAAAAAAAAASoIFRoZSBjdXJyZW50IG5vbmNlIGZvciBlYWNoIG1lc3NhZ2Ugb3JpZ2luADRPcGVyYXRpbmdNb2RlAQDxAwQABKggVGhlIGN1cnJlbnQgb3BlcmF0aW5nIG1vZGUgb2YgdGhlIHBhbGxldC4AAfUDAAGVBQAMIERlY2ltYWxzDAQKBLAgTnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIGluIG5hdGl2ZSBjdXJyZW5jeQBUTWF4TWVzc2FnZVBheWxvYWRTaXplOBAACAAABHwgTWF4IGJ5dGVzIGluIGEgbWVzc2FnZSBwYXlsb2FkAExNYXhNZXNzYWdlc1BlckJsb2NrOBAgAAAABKwgTWF4IG51bWJlciBvZiBtZXNzYWdlcyBwcm9jZXNzZWQgcGVyIGJsb2NrAAGZCAAAAFEAAFBFdGhlcmV1bUJlYWNvbkNsaWVudAFQRXRoZXJldW1CZWFjb25DbGllbnQoVEluaXRpYWxDaGVja3BvaW50Um9vdAEAPIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAIExhdGVzdCBpbXBvcnRlZCBjaGVja3BvaW50IHJvb3QAYExhdGVzdEZpbmFsaXplZEJsb2NrUm9vdAEAPIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASUIExhdGVzdCBpbXBvcnRlZCBmaW5hbGl6ZWQgYmxvY2sgcm9vdABQRmluYWxpemVkQmVhY29uU3RhdGUAAQQGPJ0IBAAElCBCZWFjb24gc3RhdGUgYnkgZmluYWxpemVkIGJsb2NrIHJvb3QAZEZpbmFsaXplZEJlYWNvblN0YXRlSW5kZXgBADgQAAAAAATMIEZpbmFsaXplZCBIZWFkZXJzOiBDdXJyZW50IHBvc2l0aW9uIGluIHJpbmcgYnVmZmVyAGxGaW5hbGl6ZWRCZWFjb25TdGF0ZU1hcHBpbmcBAQQGODyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEHQEgRmluYWxpemVkIEhlYWRlcnM6IE1hcHBpbmcgb2YgcmluZyBidWZmZXIgaW5kZXggdG8gYSBwcnVuaW5nIGNhbmRpZGF0ZQA4VmFsaWRhdG9yc1Jvb3QBADyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBDdXJyZW50U3luY0NvbW1pdHRlZQEAoQhSowUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEiCBTeW5jIGNvbW1pdHRlZSBmb3IgY3VycmVudCBwZXJpb2QARE5leHRTeW5jQ29tbWl0dGVlAQChCFKjBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR8IFN5bmMgY29tbWl0dGVlIGZvciBuZXh0IHBlcmlvZAB8TGF0ZXN0U3luY0NvbW1pdHRlZVVwZGF0ZVBlcmlvZAEAKCAAAAAAAAAAAAQRASBUaGUgbGFzdCBwZXJpb2Qgd2hlcmUgdGhlIG5leHQgc3luYyBjb21taXR0ZWUgd2FzIHVwZGF0ZWQgZm9yIGZyZWUuADRPcGVyYXRpbmdNb2RlAQDxAwQABKggVGhlIGN1cnJlbnQgb3BlcmF0aW5nIG1vZGUgb2YgdGhlIHBhbGxldC4AAfkDAAGZBQAIMEZvcmtWZXJzaW9uc8EIUQEAAAAAAAAAAAAAAAABAAAAACIBAAAAAAACAAAAADYCAAAAAAADAAAAAPYCAAAAAAAEAAAAAB0EAAAAAAAFAAAAAI4FAAAAAAAGAAAAAEcGAAAAAAAAAExGcmVlSGVhZGVyc0ludGVydmFsOBAgAAAABAEBIE1pbmltdW0gZ2FwIGJldHdlZW4gZmluYWxpemVkIGhlYWRlcnMgZm9yIGFuIHVwZGF0ZSB0byBiZSBmcmVlLgAByQgAAABSAAA4RXRoZXJldW1TeXN0ZW0BOEV0aGVyZXVtU3lzdGVtEBhBZ2VudHMAAQQFPBAEAAR0IFRoZSBzZXQgb2YgcmVnaXN0ZXJlZCBhZ2VudHMAIENoYW5uZWxzAAEEBWkE0QgEAAR8IFRoZSBzZXQgb2YgcmVnaXN0ZXJlZCBjaGFubmVscwBEUHJpY2luZ1BhcmFtZXRlcnMBADkEwQEAAGSns7bgDQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGSns7bgDQAAAAAAAAAAAABERm9yZWlnblRvTmF0aXZlSWQAAQQCPEEBBAAEKQEgTG9va3VwIHRhYmxlIGZvciBmb3JlaWduIHRva2VuIElEIHRvIG5hdGl2ZSBsb2NhdGlvbiByZWxhdGl2ZSB0byBldGhlcmV1bQABKQQAAZ0FAAg8VHJlYXN1cnlBY2NvdW50BICvPn2ihgjhPkOZzH0UpXvbFU3eXz1Ub18pOZTvNu9/EQSAIFRyZWFzdXJ5QWNjb3VudCB0byBjb2xsZWN0IGZlZXMATEluYm91bmREZWxpdmVyeUNvc3TEQL9oMQwAAAAAAAAAAAAAAAAErCBDb3N0IG9mIGRlbGl2ZXJpbmcgYSBtZXNzYWdlIGZyb20gRXRoZXJldW0AAdUIAAAAUwAAQEV0aGVyZXVtU3lzdGVtVjIBQEV0aGVyZXVtU3lzdGVtVjIEIExvc3RUaXBzAQEEAgTEQAAAAAAAAAAAAAAAAAAAAAAQWQEgUmVsYXllciByZXdhcmQgdGlwcyB0aGF0IHdlcmUgcGFpZCBieSB0aGUgdXNlciB0byBpbmNlbnRpdml6ZSB0aGUgcHJvY2Vzc2luZyBvZiB0aGVpcmUBIG1lc3NhZ2UsIGJ1dCB0aGVuIGNvdWxkIG5vdCBiZSBhZGRlZCB0byB0aGVpciBtZXNzYWdlIHJld2FyZCAoZS5nLiB0aGUgbm9uY2Ugd2FzIGFscmVhZHlRASBwcm9jZXNzZWQgb3IgdGhlaXIgb3JkZXIgY291bGQgbm90IGJlIGZvdW5kKS4gQ2FwdHVyaW5nIHRoZSBsb3N0IHRpcHMgaGVyZSBzdXBwb3J0c7ggaW1wbGVtZW50aW5nIGEgcmVjb3ZlcnkgbWV0aG9kIGluIHRoZSBmdXR1cmUuAAFNBAABpQUAAAHdCAAAAFoAAFhFdGhlcmV1bUluYm91bmRRdWV1ZVYyAVhFdGhlcmV1bUluYm91bmRRdWV1ZVYyDCxOb25jZUJpdG1hcAEBBAUoxEAAAAAAAAAAAAAAAAAAAAAACGUBIFN0b3JhZ2VNYXAgdXNlZCBmb3IgZW5jb2RpbmcgYSBTcGFyc2VCaXRtYXBJbXBsIHRoYXQgdHJhY2tzIHdoZXRoZXIgYSBzcGVjaWZpYyBub25jZSBoYXMVASBiZWVuIHByb2Nlc3NlZCBvciBub3QuIE1lc3NhZ2Ugbm9uY2VzIGFyZSB1bmlxdWUgYW5kIG5ldmVyIHJlcGVhdGVkLgA0T3BlcmF0aW5nTW9kZQEA8QMEAASoIFRoZSBjdXJyZW50IG9wZXJhdGluZyBtb2RlIG9mIHRoZSBwYWxsZXQuABBUaXBzAAEEAijEBAAMVQEgS2VlcCB0cmFjayBvZiB0aXBzIGFkZGVkIGZvciBhIG1lc3NhZ2UgYXMgYW4gYWRkaXRpb25hbCByZWxheWVyIGluY2VudGl2aXphdGlvbi4gVGhlWQEga2V5IGZvciB0aGUgc3RvcmFnZSBtYXAgaXMgdGhlIG5vbmNlIG9mIHRoZSBtZXNzYWdlIHRvIHdoaWNoIHRoZSB0aXAgc2hvdWxkIGJlIGFkZGVkLpwgVGhlIHZhbHVlIGlzIHRoZSB0aXAgYW1vdW50LCBpbiBFdGhlci4AAVkEAAGpBQAIOEdhdGV3YXlBZGRyZXNzwQNQJ8qWPCeck4AZQeHrh5nCP0B9aOcEhCBBZGRyZXNzIG9mIHRoZSBHYXRld2F5IGNvbnRyYWN0LgBERGVmYXVsdFJld2FyZEtpbmQ1AwQBBGUBIFRoZSBkZWZhdWx0IFJld2FyZEtpbmQgZGlzY3JpbWluYXRvciBmb3IgcmV3YXJkcyBhbGxvY2F0ZWQgdG8gcmVsYXllcnMgZnJvbSB0aGlzIHBhbGxldC4AAeEIAAQoUmV3YXJkS2luZDUDBGwgUmV3YXJkIGRpc2NyaW1pbmF0b3IgdHlwZS4AWwAAXEV0aGVyZXVtT3V0Ym91bmRRdWV1ZVYyAVxFdGhlcmV1bU91dGJvdW5kUXVldWVWMhAgTWVzc2FnZXMBAOUIBAAcPQEgTWVzc2FnZXMgdG8gYmUgY29tbWl0dGVkIGluIHRoZSBjdXJyZW50IGJsb2NrLiBUaGlzIHN0b3JhZ2UgdmFsdWUgaXMga2lsbGVkIGlu0CBgb25faW5pdGlhbGl6ZWAsIHNvIHdpbGwgbm90IGVuZCB1cCBibG9hdGluZyBzdGF0ZS4ABQEgSXMgbmV2ZXIgcmVhZCBpbiB0aGUgcnVudGltZSwgb25seSBieSBvZmZjaGFpbiBtZXNzYWdlIHJlbGF5ZXJzLuwgQmVjYXVzZSBvZiB0aGlzLCBpdCB3aWxsIG5ldmVyIGdvIGludG8gdGhlIFBvViBvZiBhIGJsb2NrLgD0IEluc3BpcmVkIGJ5IHRoZSBgZnJhbWVfc3lzdGVtOjpQYWxsZXQ6OkV2ZW50c2Agc3RvcmFnZSB2YWx1ZQA0TWVzc2FnZUxlYXZlcwEAxQMEABBlASBIYXNoZXMgb2YgdGhlIEFCSS1lbmNvZGVkIG1lc3NhZ2VzIGluIHRoZSBbYE1lc3NhZ2VzYF0gc3RvcmFnZSB2YWx1ZS4gVXNlZCB0byBnZW5lcmF0ZSBhcQEgbWVya2xlIHJvb3QgZHVyaW5nIGBvbl9maW5hbGl6ZWAuIFRoaXMgc3RvcmFnZSB2YWx1ZSBpcyBraWxsZWQgaW4gYG9uX2luaXRpYWxpemVgLCBzbyBzdGF0ZW0BIGF0IGVhY2ggYmxvY2sgY29udGFpbnMgb25seSByb290IGhhc2ggb2YgbWVzc2FnZXMgcHJvY2Vzc2VkIGluIHRoYXQgYmxvY2suIFRoaXMgYWxzbyBtZWFuc5wgaXQgZG9lc24ndCBoYXZlIHRvIGJlIGluY2x1ZGVkIGluIFBvVi4AFE5vbmNlAQAoIAAAAAAAAAAABIwgVGhlIGN1cnJlbnQgbm9uY2UgZm9yIHRoZSBtZXNzYWdlcwA0UGVuZGluZ09yZGVycwABBAUo+QgEAARgIFBlbmRpbmcgb3JkZXJzIHRvIHJlbGF5AAFdBAABrQUAEFRNYXhNZXNzYWdlUGF5bG9hZFNpemU4EAAIAAAEfCBNYXggYnl0ZXMgaW4gYSBtZXNzYWdlIHBheWxvYWQATE1heE1lc3NhZ2VzUGVyQmxvY2s4ECAAAAAErCBNYXggbnVtYmVyIG9mIG1lc3NhZ2VzIHByb2Nlc3NlZCBwZXIgYmxvY2sAOEdhdGV3YXlBZGRyZXNzwQNQJ8qWPCeck4AZQeHrh5nCP0B9aOcEgCBBZGRyZXNzIG9mIHRoZSBHYXRld2F5IGNvbnRyYWN0AEREZWZhdWx0UmV3YXJkS2luZDUDBAEEZQEgVGhlIGRlZmF1bHQgUmV3YXJkS2luZCBkaXNjcmltaW5hdG9yIGZvciByZXdhcmRzIGFsbG9jYXRlZCB0byByZWxheWVycyBmcm9tIHRoaXMgcGFsbGV0LgAB/QgACFhBZ2dyZWdhdGVNZXNzYWdlT3JpZ2luZQQAKFJld2FyZEtpbmQ1AwRsIFJld2FyZCBkaXNjcmltaW5hdG9yIHR5cGUuAFwAADBNZXNzYWdlUXVldWUBME1lc3NhZ2VRdWV1ZQwwQm9va1N0YXRlRm9yAQEEBWUEAQl0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEzCBUaGUgaW5kZXggb2YgdGhlIGZpcnN0IGFuZCBsYXN0IChub24tZW1wdHkpIHBhZ2VzLgAsU2VydmljZUhlYWQAAGUEBAAEvCBUaGUgb3JpZ2luIGF0IHdoaWNoIHdlIHNob3VsZCBiZWdpbiBzZXJ2aWNpbmcuABRQYWdlcwABCAUFDQkRCQQABIggVGhlIG1hcCBvZiBwYWdlIGluZGljZXMgdG8gcGFnZXMuAAFhBAABxQUAECBIZWFwU2l6ZTgQAAABABQ9ASBUaGUgc2l6ZSBvZiB0aGUgcGFnZTsgdGhpcyBpbXBsaWVzIHRoZSBtYXhpbXVtIG1lc3NhZ2Ugc2l6ZSB3aGljaCBjYW4gYmUgc2VudC4AWQEgQSBnb29kIHZhbHVlIGRlcGVuZHMgb24gdGhlIGV4cGVjdGVkIG1lc3NhZ2Ugc2l6ZXMsIHRoZWlyIHdlaWdodHMsIHRoZSB3ZWlnaHQgdGhhdCBpc10BIGF2YWlsYWJsZSBmb3IgcHJvY2Vzc2luZyB0aGVtIGFuZCB0aGUgbWF4aW1hbCBuZWVkZWQgbWVzc2FnZSBzaXplLiBUaGUgbWF4aW1hbCBtZXNzYWdlEQEgc2l6ZSBpcyBzbGlnaHRseSBsb3dlciB0aGFuIHRoaXMgYXMgZGVmaW5lZCBieSBbYE1heE1lc3NhZ2VMZW5PZmBdLgAgTWF4U3RhbGU4EAgAAAAMXQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIHN0YWxlIHBhZ2VzIChpLmUuIG9mIG92ZXJ3ZWlnaHQgbWVzc2FnZXMpIGFsbG93ZWQgYmVmb3JlIGN1bGxpbmdRASBjYW4gaGFwcGVuLiBPbmNlIHRoZXJlIGFyZSBtb3JlIHN0YWxlIHBhZ2VzIHRoYW4gdGhpcywgdGhlbiBoaXN0b3JpY2FsIHBhZ2VzIG1heSBiZfwgZHJvcHBlZCwgZXZlbiBpZiB0aGV5IGNvbnRhaW4gdW5wcm9jZXNzZWQgb3ZlcndlaWdodCBtZXNzYWdlcy4ANFNlcnZpY2VXZWlnaHSFAiwBBwC4ZNlFAgCAARhBASBUaGUgYW1vdW50IG9mIHdlaWdodCAoaWYgYW55KSB3aGljaCBzaG91bGQgYmUgcHJvdmlkZWQgdG8gdGhlIG1lc3NhZ2UgcXVldWUgZm9yqCBzZXJ2aWNpbmcgZW5xdWV1ZWQgaXRlbXMgYG9uX2luaXRpYWxpemVgLgD8IFRoaXMgbWF5IGJlIGxlZ2l0aW1hdGVseSBgTm9uZWAgaW4gdGhlIGNhc2UgdGhhdCB5b3Ugd2lsbCBjYWxsXQEgYFNlcnZpY2VRdWV1ZXM6OnNlcnZpY2VfcXVldWVzYCBtYW51YWxseSBvciBzZXQgW2BTZWxmOjpJZGxlTWF4U2VydmljZVdlaWdodGBdIHRvIGhhdmVUIGl0IHJ1biBpbiBgb25faWRsZWAuAFBJZGxlTWF4U2VydmljZVdlaWdodIUCLAEHAOh2SBcCAIAAFF0BIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB3ZWlnaHQgKGlmIGFueSkgdG8gYmUgdXNlZCBmcm9tIHJlbWFpbmluZyB3ZWlnaHQgYG9uX2lkbGVgIHdoaWNoQQEgc2hvdWxkIGJlIHByb3ZpZGVkIHRvIHRoZSBtZXNzYWdlIHF1ZXVlIGZvciBzZXJ2aWNpbmcgZW5xdWV1ZWQgaXRlbXMgYG9uX2lkbGVgLj0BIFVzZWZ1bCBmb3IgcGFyYWNoYWlucyB0byBwcm9jZXNzIG1lc3NhZ2VzIGF0IHRoZSBzYW1lIGJsb2NrIHRoZXkgYXJlIHJlY2VpdmVkLgApASBJZiBgTm9uZWAsIGl0IHdpbGwgbm90IGNhbGwgYFNlcnZpY2VRdWV1ZXM6OnNlcnZpY2VfcXVldWVzYCBpbiBgb25faWRsZWAuAAEZCQAEEFNpemU4BFQgUGFnZS9oZWFwIHNpemUgdHlwZS4ArwAACAQFACBtBAQANAAECAwQFBgcICQoLDA0NEF1dGhvcml6ZUNhbGx1BBBIQ2hlY2tOb25aZXJvU2VuZGVyeQQQQENoZWNrU3BlY1ZlcnNpb259BDg4Q2hlY2tUeFZlcnNpb26BBDgwQ2hlY2tHZW5lc2lzhQQ8OENoZWNrTW9ydGFsaXR5iQQ8KENoZWNrTm9uY2WRBBAsQ2hlY2tXZWlnaHSVBBBgQ2hhcmdlVHJhbnNhY3Rpb25QYXltZW50mQQQmEJyaWRnZVJlamVjdE9ic29sZXRlSGVhZGVyc0FuZE1lc3NhZ2VznQQQwE9uQnJpZGdlSHViUG9sa2Fkb3RSZWZ1bmRCcmlkZ2VIdWJLdXNhbWFNZXNzYWdlc6EEEERDaGVja01ldGFkYXRhSGFzaKUErQRQU3RvcmFnZVdlaWdodFJlY2xhaW0QEHgcQXVyYUFwaQg0c2xvdF9kdXJhdGlvbgAdCQyQIFJldHVybnMgdGhlIHNsb3QgZHVyYXRpb24gZm9yIEF1cmEuACUBIEN1cnJlbnRseSwgb25seSB0aGUgdmFsdWUgcHJvdmlkZWQgYnkgdGhpcyB0eXBlIGF0IGdlbmVzaXMgd2lsbCBiZSB1c2VkLgAsYXV0aG9yaXRpZXMAKQcEnCBSZXR1cm4gdGhlIGN1cnJlbnQgc2V0IG9mIGF1dGhvcml0aWVzLgAEuCBBUEkgbmVjZXNzYXJ5IGZvciBibG9jayBhdXRob3JzaGlwIHdpdGggYXVyYS4EAFBSZWxheVBhcmVudE9mZnNldEFwaQRMcmVsYXlfcGFyZW50X29mZnNldAA4BPQgRmV0Y2ggdGhlIHNsb3Qgb2Zmc2V0IHRoYXQgaXMgZXhwZWN0ZWQgZnJvbSB0aGUgcmVsYXkgY2hhaW4uABAFASBBUEkgdG8gdGVsbCB0aGUgbm9kZSBzaWRlIGhvdyB0aGUgcmVsYXkgcGFyZW50IHNob3VsZCBiZSBjaG9zZW4uAGkBIEEgbGFyZ2VyIG9mZnNldCBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVsYXkgcGFyZW50IHNob3VsZCBub3QgYmUgdGhlIHRpcCBvZiB0aGUgcmVsYXkgY2hhaW4sMQEgYnV0IGBOYCBibG9ja3MgYmVoaW5kIHRoZSB0aXAuIFRoaXMgb2Zmc2V0IGlzIHRoZW4gZW5mb3JjZWQgYnkgdGhlIHJ1bnRpbWUuBABgQXVyYVVuaW5jbHVkZWRTZWdtZW50QXBpBDhjYW5fYnVpbGRfdXBvbgg0aW5jbHVkZWRfaGFzaDwQc2xvdC0HyCg5ASBXaGV0aGVyIGl0IGlzIGxlZ2FsIHRvIGV4dGVuZCB0aGUgY2hhaW4sIGFzc3VtaW5nIHRoZSBnaXZlbiBibG9jayBpcyB0aGUgbW9zdDUBIHJlY2VudGx5IGluY2x1ZGVkIG9uZSBhcy1vZiB0aGUgcmVsYXkgcGFyZW50IHRoYXQgd2lsbCBiZSBidWlsdCBhZ2FpbnN0LCBhbmRwIHRoZSBnaXZlbiByZWxheSBjaGFpbiBzbG90LgBRASBUaGlzIHNob3VsZCBiZSBjb25zaXN0ZW50IHdpdGggdGhlIGxvZ2ljIHRoZSBydW50aW1lIHVzZXMgd2hlbiB2YWxpZGF0aW5nIGJsb2NrcyB0bzggYXZvaWQgaXNzdWVzLgBhASBXaGVuIHRoZSB1bmluY2x1ZGVkIHNlZ21lbnQgaXMgZW1wdHksIGkuZS4gYGluY2x1ZGVkX2hhc2ggPT0gYXRgLCB3aGVyZSBhdCBpcyB0aGUgYmxvY2thASB3aG9zZSBzdGF0ZSB3ZSBhcmUgcXVlcnlpbmcgYWdhaW5zdCwgdGhpcyBtdXN0IGFsd2F5cyByZXR1cm4gYHRydWVgIGFzIGxvbmcgYXMgdGhlIHNsb3S8IGlzIG1vcmUgcmVjZW50IHRoYW4gdGhlIGluY2x1ZGVkIGJsb2NrIGl0c2VsZi4ANDUBIFRoaXMgcnVudGltZSBBUEkgaXMgdXNlZCB0byBpbmZvcm0gcG90ZW50aWFsIGJsb2NrIGF1dGhvcnMgd2hldGhlciB0aGV5IHdpbGwlASBoYXZlIHRoZSByaWdodCB0byBhdXRob3IgYXQgYSBzbG90LCBhc3N1bWluZyB0aGV5IGhhdmUgY2xhaW1lZCB0aGUgc2xvdC4AdQEgSW4gcGFydGljdWxhciwgdGhpcyBBUEkgYWxsb3dzIEF1cmEtYmFzZWQgcGFyYWNoYWlucyB0byByZWd1bGF0ZSB0aGVpciAidW5pbmNsdWRlZCBzZWdtZW50IixtASB3aGljaCBpcyB0aGUgc2VjdGlvbiBvZiB0aGUgaGVhZCBvZiB0aGUgY2hhaW4gd2hpY2ggaGFzIG5vdCB5ZXQgYmVlbiBtYWRlIGF2YWlsYWJsZSBpbiB0aGU0IHJlbGF5IGNoYWluLgBhASBXaGVuIHRoZSB1bmluY2x1ZGVkIHNlZ21lbnQgaXMgc2hvcnQsIEF1cmEgY2hhaW5zIHdpbGwgYWxsb3cgYXV0aG9ycyB0byBjcmVhdGUgbXVsdGlwbGVdASBibG9ja3MgcGVyIHNsb3QgaW4gb3JkZXIgdG8gYnVpbGQgYSBiYWNrbG9nLiBXaGVuIGl0IGlzIHNhdHVyYXRlZCwgdGhpcyBBUEkgd2lsbCBsaW1pdKggdGhlIGFtb3VudCBvZiBibG9ja3MgdGhhdCBjYW4gYmUgY3JlYXRlZC4AJCBDaGFuZ2VzOpEBIC0gVmVyc2lvbiAyOiBVcGRhdGUgdG8gYGNhbl9idWlsZF91cG9uYCB0byB0YWtlIGEgcmVsYXkgY2hhaW4gYFNsb3RgIGluc3RlYWQgb2YgYSBwYXJhY2hhaW4gYFNsb3RgLggAEENvcmUMHHZlcnNpb24A/QUEkCBSZXR1cm5zIHRoZSB2ZXJzaW9uIG9mIHRoZSBydW50aW1lLgA0ZXhlY3V0ZV9ibG9jawQUYmxvY2shCRAEZCBFeGVjdXRlIHRoZSBnaXZlbiBibG9jay4AQGluaXRpYWxpemVfYmxvY2sEGGhlYWRlclwtCQRBASBJbml0aWFsaXplIGEgYmxvY2sgd2l0aCB0aGUgZ2l2ZW4gaGVhZGVyIGFuZCByZXR1cm4gdGhlIHJ1bnRpbWUgZXhlY3V0aXZlIG1vZGUuAAQhASBUaGUgYENvcmVgIHJ1bnRpbWUgYXBpIHRoYXQgZXZlcnkgU3Vic3RyYXRlIHJ1bnRpbWUgbmVlZHMgdG8gaW1wbGVtZW50LhQAIE1ldGFkYXRhDCBtZXRhZGF0YQAxCQSMIFJldHVybnMgdGhlIG1ldGFkYXRhIG9mIGEgcnVudGltZS4ATG1ldGFkYXRhX2F0X3ZlcnNpb24EHHZlcnNpb244NQkQpCBSZXR1cm5zIHRoZSBtZXRhZGF0YSBhdCBhIGdpdmVuIHZlcnNpb24uAAUBIElmIHRoZSBnaXZlbiBgdmVyc2lvbmAgaXNuJ3Qgc3VwcG9ydGVkLCB0aGlzIHdpbGwgcmV0dXJuIGBOb25lYC51ASBVc2UgW2BTZWxmOjptZXRhZGF0YV92ZXJzaW9uc2BdIHRvIGZpbmQgb3V0IGFib3V0IHN1cHBvcnRlZCBtZXRhZGF0YSB2ZXJzaW9uIG9mIHRoZSBydW50aW1lLgBEbWV0YWRhdGFfdmVyc2lvbnMAOQkMpCBSZXR1cm5zIHRoZSBzdXBwb3J0ZWQgbWV0YWRhdGEgdmVyc2lvbnMuAMAgVGhpcyBjYW4gYmUgdXNlZCB0byBjYWxsIGBtZXRhZGF0YV9hdF92ZXJzaW9uYC4ABAEBIFRoZSBgTWV0YWRhdGFgIGFwaSB0cmFpdCB0aGF0IHJldHVybnMgbWV0YWRhdGEgZm9yIHRoZSBydW50aW1lLggAMEJsb2NrQnVpbGRlchA8YXBwbHlfZXh0cmluc2ljBCRleHRyaW5zaWMZBj0JEGwgQXBwbHkgdGhlIGdpdmVuIGV4dHJpbnNpYy4AOQEgUmV0dXJucyBhbiBpbmNsdXNpb24gb3V0Y29tZSB3aGljaCBzcGVjaWZpZXMgaWYgdGhpcyBleHRyaW5zaWMgaXMgaW5jbHVkZWQgaW5MIHRoaXMgYmxvY2sgb3Igbm90LgA4ZmluYWxpemVfYmxvY2sAXARoIEZpbmlzaCB0aGUgY3VycmVudCBibG9jay4ATGluaGVyZW50X2V4dHJpbnNpY3MEIGluaGVyZW50TQklBgQ9ASBHZW5lcmF0ZSBpbmhlcmVudCBleHRyaW5zaWNzLiBUaGUgaW5oZXJlbnQgZGF0YSB3aWxsIHZhcnkgZnJvbSBjaGFpbiB0byBjaGFpbi4APGNoZWNrX2luaGVyZW50cwgUYmxvY2shCRBkYXRhTQldCQRVASBDaGVjayB0aGF0IHRoZSBpbmhlcmVudHMgYXJlIHZhbGlkLiBUaGUgaW5oZXJlbnQgZGF0YSB3aWxsIHZhcnkgZnJvbSBjaGFpbiB0byBjaGFpbi4ABHEBIFRoZSBgQmxvY2tCdWlsZGVyYCBhcGkgdHJhaXQgdGhhdCBwcm92aWRlcyB0aGUgcmVxdWlyZWQgZnVuY3Rpb25hbGl0eSBmb3IgYnVpbGRpbmcgYSBibG9jay4YAFhUYWdnZWRUcmFuc2FjdGlvblF1ZXVlBFB2YWxpZGF0ZV90cmFuc2FjdGlvbgwYc291cmNlYQkIdHgZBihibG9ja19oYXNoPGUJJGggVmFsaWRhdGUgdGhlIHRyYW5zYWN0aW9uLgBlASBUaGlzIG1ldGhvZCBpcyBpbnZva2VkIGJ5IHRoZSB0cmFuc2FjdGlvbiBwb29sIHRvIGxlYXJuIGRldGFpbHMgYWJvdXQgZ2l2ZW4gdHJhbnNhY3Rpb24uRQEgVGhlIGltcGxlbWVudGF0aW9uIHNob3VsZCBtYWtlIHN1cmUgdG8gdmVyaWZ5IHRoZSBjb3JyZWN0bmVzcyBvZiB0aGUgdHJhbnNhY3Rpb25NASBhZ2FpbnN0IGN1cnJlbnQgc3RhdGUuIFRoZSBnaXZlbiBgYmxvY2tfaGFzaGAgY29ycmVzcG9uZHMgdG8gdGhlIGhhc2ggb2YgdGhlIGJsb2NrfCB0aGF0IGlzIHVzZWQgYXMgY3VycmVudCBzdGF0ZS4ARQEgTm90ZSB0aGF0IHRoaXMgY2FsbCBtYXkgYmUgcGVyZm9ybWVkIGJ5IHRoZSBwb29sIG11bHRpcGxlIHRpbWVzIGFuZCB0cmFuc2FjdGlvbnOkIG1pZ2h0IGJlIHZlcmlmaWVkIGluIGFueSBwb3NzaWJsZSBvcmRlci4ABE0BIFRoZSBgVGFnZ2VkVHJhbnNhY3Rpb25RdWV1ZWAgYXBpIHRyYWl0IGZvciBpbnRlcmZlcmluZyB3aXRoIHRoZSB0cmFuc2FjdGlvbiBxdWV1ZS4MAERPZmZjaGFpbldvcmtlckFwaQQ8b2ZmY2hhaW5fd29ya2VyBBhoZWFkZXJcEATIIFN0YXJ0cyB0aGUgb2ZmLWNoYWluIHRhc2sgZm9yIGdpdmVuIGJsb2NrIGhlYWRlci4ABGQgVGhlIG9mZmNoYWluIHdvcmtlciBhcGkuCAAsU2Vzc2lvbktleXMIVGdlbmVyYXRlX3Nlc3Npb25fa2V5cwgUb3duZXIYEHNlZWSNB20JHBUBIEdlbmVyYXRlIGEgc2V0IG9mIHNlc3Npb24ga2V5cyB3aXRoIG9wdGlvbmFsbHkgdXNpbmcgdGhlIGdpdmVuIHNlZWQuCQEgVGhlIGtleXMgc2hvdWxkIGJlIHN0b3JlZCB3aXRoaW4gdGhlIGtleXN0b3JlIGV4cG9zZWQgdmlhIHJ1bnRpbWU8IGV4dGVybmFsaXRpZXMuALAgVGhlIHNlZWQgbmVlZHMgdG8gYmUgYSB2YWxpZCBgdXRmOGAgc3RyaW5nLgDQIFJldHVybnMgdGhlIGNvbmNhdGVuYXRlZCBTQ0FMRSBlbmNvZGVkIHB1YmxpYyBrZXlzLgBMZGVjb2RlX3Nlc3Npb25fa2V5cwQcZW5jb2RlZBhxCQyYIERlY29kZSB0aGUgZ2l2ZW4gcHVibGljIHNlc3Npb24ga2V5cy4A3CBSZXR1cm5zIHRoZSBsaXN0IG9mIHB1YmxpYyByYXcgcHVibGljIGtleXMgKyBrZXkgdHlwZS4ABGggU2Vzc2lvbiBrZXlzIHJ1bnRpbWUgYXBpLggATFJ1bnRpbWVWaWV3RnVuY3Rpb24EVGV4ZWN1dGVfdmlld19mdW5jdGlvbgggcXVlcnlfaWR9CRRpbnB1dBiBCQR8IEV4ZWN1dGUgYSB2aWV3IGZ1bmN0aW9uIHF1ZXJ5LgAEpCBSdW50aW1lIEFQSSBmb3IgZXhlY3V0aW5nIHZpZXcgZnVuY3Rpb25zBAA8QWNjb3VudE5vbmNlQXBpBDRhY2NvdW50X25vbmNlBBxhY2NvdW50BDgEwCBHZXQgY3VycmVudCBhY2NvdW50IG5vbmNlIG9mIGdpdmVuIGBBY2NvdW50SWRgLgAEgCBUaGUgQVBJIHRvIHF1ZXJ5IGFjY291bnQgbm9uY2UuBABUVHJhbnNhY3Rpb25QYXltZW50QXBpEChxdWVyeV9pbmZvCAx1eHQZBgxsZW44iQkAAERxdWVyeV9mZWVfZGV0YWlscwgMdXh0GQYMbGVuOI0JAABMcXVlcnlfd2VpZ2h0X3RvX2ZlZQQYd2VpZ2h0tQHEAABMcXVlcnlfbGVuZ3RoX3RvX2ZlZQQYbGVuZ3RoOMQAAAAQAGRUcmFuc2FjdGlvblBheW1lbnRDYWxsQXBpEDxxdWVyeV9jYWxsX2luZm8IEGNhbGwgDGxlbjiJCQRJASBRdWVyeSBpbmZvcm1hdGlvbiBvZiBhIGRpc3BhdGNoIGNsYXNzLCB3ZWlnaHQsIGFuZCBmZWUgb2YgYSBnaXZlbiBlbmNvZGVkIGBDYWxsYC4AWHF1ZXJ5X2NhbGxfZmVlX2RldGFpbHMIEGNhbGwgDGxlbjiNCQS0IFF1ZXJ5IGZlZSBkZXRhaWxzIG9mIGEgZ2l2ZW4gZW5jb2RlZCBgQ2FsbGAuAExxdWVyeV93ZWlnaHRfdG9fZmVlBBh3ZWlnaHS1AcQEAQEgUXVlcnkgdGhlIG91dHB1dCBvZiB0aGUgY3VycmVudCBgV2VpZ2h0VG9GZWVgIGdpdmVuIHNvbWUgaW5wdXQuAExxdWVyeV9sZW5ndGhfdG9fZmVlBBhsZW5ndGg4xAQBASBRdWVyeSB0aGUgb3V0cHV0IG9mIHRoZSBjdXJyZW50IGBMZW5ndGhUb0ZlZWAgZ2l2ZW4gc29tZSBpbnB1dC4AAAwANFhjbVBheW1lbnRBcGkQfHF1ZXJ5X2FjY2VwdGFibGVfcGF5bWVudF9hc3NldHMELHhjbV92ZXJzaW9uOJkJFLQgUmV0dXJucyBhIGxpc3Qgb2YgYWNjZXB0YWJsZSBwYXltZW50IGFzc2V0cy4AMCAjIEFyZ3VtZW50cwBoICogYHhjbV92ZXJzaW9uYDogVmVyc2lvbi4AQHF1ZXJ5X3hjbV93ZWlnaHQEHG1lc3NhZ2V1AaUJFKggUmV0dXJucyBhIHdlaWdodCBuZWVkZWQgdG8gZXhlY3V0ZSBhIFhDTS4AMCAjIEFyZ3VtZW50cwB0ICogYG1lc3NhZ2VgOiBgVmVyc2lvbmVkWGNtYC4AZHF1ZXJ5X3dlaWdodF90b19hc3NldF9mZWUIGHdlaWdodLUBFGFzc2V08QKpCRjoIENvbnZlcnRzIGEgd2VpZ2h0IGludG8gYSBmZWUgZm9yIHRoZSBzcGVjaWZpZWQgYEFzc2V0SWRgLgAwICMgQXJndW1lbnRzAIggKiBgd2VpZ2h0YDogY29udmVydGlibGUgYFdlaWdodGAufCAqIGBhc3NldGA6IGBWZXJzaW9uZWRBc3NldElkYC4ATHF1ZXJ5X2RlbGl2ZXJ5X2ZlZXMMLGRlc3RpbmF0aW9u7BxtZXNzYWdldQEgYXNzZXRfaWTxAq0JKGAgUXVlcnkgZGVsaXZlcnkgZmVlcyBWMi4AHQEgR2V0IGRlbGl2ZXJ5IGZlZXMgZm9yIHNlbmRpbmcgYSBzcGVjaWZpYyBgbWVzc2FnZWAgdG8gYSBgZGVzdGluYXRpb25gLvQgVGhlc2UgYWx3YXlzIGNvbWUgaW4gYSBzcGVjaWZpYyBhc3NldCwgZGVmaW5lZCBieSB0aGUgY2hhaW4uADAgIyBBcmd1bWVudHOBASAqIGBtZXNzYWdlYDogVGhlIG1lc3NhZ2UgdGhhdCdsbCBiZSBzZW50LCBuZWNlc3NhcnkgYmVjYXVzZSBtb3N0IGRlbGl2ZXJ5IGZlZXMgYXJlIGJhc2VkIG9uIHRoZVwgICBzaXplIG9mIHRoZSBtZXNzYWdlLmEBICogYGRlc3RpbmF0aW9uYDogVGhlIGRlc3RpbmF0aW9uIHRvIHNlbmQgdGhlIG1lc3NhZ2UgdG8uIERpZmZlcmVudCBkZXN0aW5hdGlvbnMgbWF5IHVzZcAgICBkaWZmZXJlbnQgc2VuZGVycyB0aGF0IGNoYXJnZSBkaWZmZXJlbnQgZmVlcy4ALHAgQSB0cmFpdCBvZiBYQ00gcGF5bWVudCBBUEkuAKggQVBJIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgZm9yIG9idGFpbmluZzoAxCAqIHRoZSB3ZWlnaHQgcmVxdWlyZWQgdG8gZXhlY3V0ZSBhbiBYQ00gbWVzc2FnZSwFASAqIGEgbGlzdCBvZiBhY2NlcHRhYmxlIGBBc3NldElkYHMgZm9yIG1lc3NhZ2UgZXhlY3V0aW9uIHBheW1lbnQsAQEgKiB0aGUgY29zdCBvZiB0aGUgd2VpZ2h0IGluIHRoZSBzcGVjaWZpZWQgYWNjZXB0YWJsZSBgQXNzZXRJZGAuoCAqIHRoZSBmZWVzIGZvciBhbiBYQ00gbWVzc2FnZSBkZWxpdmVyeS4A8CBUbyBkZXRlcm1pbmUgdGhlIGV4ZWN1dGlvbiB3ZWlnaHQgb2YgdGhlIGNhbGxzIHJlcXVpcmVkIGZvcnUBIFtgeGNtOjpsYXRlc3Q6Okluc3RydWN0aW9uOjpUcmFuc2FjdGBdIGluc3RydWN0aW9uLCBgVHJhbnNhY3Rpb25QYXltZW50Q2FsbEFwaWAgY2FuIGJlIHVzZWQuCAAkRHJ5UnVuQXBpCDBkcnlfcnVuX2NhbGwMGG9yaWdpbgkDEGNhbGwgTHJlc3VsdF94Y21zX3ZlcnNpb244sQkERCBEcnkgcnVuIGNhbGwgVjIuACxkcnlfcnVuX3hjbQg8b3JpZ2luX2xvY2F0aW9u7Ax4Y229At0JBFAgRHJ5IHJ1biBYQ00gcHJvZ3JhbQAksQEgQVBJIGZvciBkcnktcnVubmluZyBleHRyaW5zaWNzIGFuZCBYQ00gcHJvZ3JhbXMgdG8gZ2V0IHRoZSBwcm9ncmFtcyB0aGF0IG5lZWQgdG8gYmUgcGFzc2VkIHRvIHRoZSBmZWVzIEFQSS4AgQEgQWxsIGNhbGxzIHJldHVybiBhIHZlY3RvciBvZiB0dXBsZXMgKGxvY2F0aW9uLCB4Y20pIHdoZXJlIGVhY2ggInhjbSIgaXMgZXhlY3V0ZWQgaW4gImxvY2F0aW9uIi7kIElmIHRoZXJlJ3MgbG9jYWwgZXhlY3V0aW9uLCB0aGUgbG9jYXRpb24gd2lsbCBiZSAiSGVyZSIuHQEgVGhpcyB2ZWN0b3IgY2FuIGJlIHVzZWQgdG8gY2FsY3VsYXRlIGJvdGggZXhlY3V0aW9uIGFuZCBkZWxpdmVyeSBmZWVzLgCZASBDYWxscyBvciBYQ01zIG1pZ2h0IGZhaWwgd2hlbiBleGVjdXRlZCwgdGhpcyBkb2Vzbid0IG1lYW4gdGhlIHJlc3VsdCBvZiB0aGVzZSBjYWxscyB3aWxsIGJlIGFuIGBFcnJgLmUBIEluIHRob3NlIGNhc2VzLCB0aGVyZSBtaWdodCBzdGlsbCBiZSBhIHZhbGlkIHJlc3VsdCwgd2l0aCB0aGUgZXhlY3V0aW9uIGVycm9yIGluc2lkZSBpdC5lASBUaGUgb25seSByZWFzb25zIHdoeSB0aGVzZSBjYWxscyBtaWdodCByZXR1cm4gYW4gZXJyb3IgYXJlIGxpc3RlZCBpbiB0aGUgW2BFcnJvcmBdIGVudW0uCABQTG9jYXRpb25Ub0FjY291bnRBcGkEQGNvbnZlcnRfbG9jYXRpb24EIGxvY2F0aW9u7OUJBJAgQ29udmVydHMgYExvY2F0aW9uYCB0byBgQWNjb3VudElkYC4ABA0BIEFQSSBmb3IgdXNlZnVsIGNvbnZlcnNpb25zIGJldHdlZW4gWENNIGBMb2NhdGlvbmAgYW5kIGBBY2NvdW50SWRgLgQAPFRydXN0ZWRRdWVyeUFwaQhIaXNfdHJ1c3RlZF9yZXNlcnZlCBRhc3NldO0JIGxvY2F0aW9u7PEJFPAgUmV0dXJucyBpZiB0aGUgbG9jYXRpb24gaXMgYSB0cnVzdGVkIHJlc2VydmUgZm9yIHRoZSBhc3NldC4AMCAjIEFyZ3VtZW50c3QgKiBgYXNzZXRgOiBgVmVyc2lvbmVkQXNzZXRgLowgKiBgbG9jYXRpb25gOiBgVmVyc2lvbmVkTG9jYXRpb25gLgBUaXNfdHJ1c3RlZF90ZWxlcG9ydGVyCBRhc3NldO0JIGxvY2F0aW9u7PEJFOAgUmV0dXJucyBpZiB0aGUgYXNzZXQgY2FuIGJlIHRlbGVwb3J0ZWQgdG8gdGhlIGxvY2F0aW9uLgAwICMgQXJndW1lbnRzdCAqIGBhc3NldGA6IGBWZXJzaW9uZWRBc3NldGAujCAqIGBsb2NhdGlvbmA6IGBWZXJzaW9uZWRMb2NhdGlvbmAuAATsIEFQSSBmb3IgcXVlcnlpbmcgdHJ1c3RlZCByZXNlcnZlcyBhbmQgdHJ1c3RlZCB0ZWxlcG9ydGVycy4EAFRBdXRob3JpemVkQWxpYXNlcnNBcGkITGF1dGhvcml6ZWRfYWxpYXNlcnMEGHRhcmdldOz5CQT0IFJldHVybnMgbG9jYXRpb25zIGFsbG93ZWQgdG8gYWxpYXMgaW50byBhbmQgYWN0IGFzIGB0YXJnZXRgLgBMaXNfYXV0aG9yaXplZF9hbGlhcwgYb3JpZ2lu7Bh0YXJnZXTsAQoEHQEgUmV0dXJucyB3aGV0aGVyIGBvcmlnaW5gIGlzIGFsbG93ZWQgdG8gYWxpYXMgaW50byBhbmQgYWN0IGFzIGB0YXJnZXRgLgAEoCBBUEkgZm9yIHF1ZXJ5aW5nIFhDTSBhdXRob3JpemVkIGFsaWFzZXMEAFBDb2xsZWN0Q29sbGF0aW9uSW5mbwRYY29sbGVjdF9jb2xsYXRpb25faW5mbwQYaGVhZGVyXAUKEJwgQ29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCBhIGNvbGxhdGlvbi4A9CBUaGUgZ2l2ZW4gYGhlYWRlcmAgaXMgdGhlIGhlYWRlciBvZiB0aGUgYnVpbHQgYmxvY2sgZm9yIHRoYXSoIHdlIGFyZSBjb2xsZWN0aW5nIHRoZSBjb2xsYXRpb24gaW5mbyBmb3IuABTYIFJ1bnRpbWUgYXBpIHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgYSBjb2xsYXRpb24uAEQgVmVyc2lvbiBoaXN0b3J5OgEBIC0gVmVyc2lvbiAyOiBDaGFuZ2VkIFtgU2VsZjo6Y29sbGVjdF9jb2xsYXRpb25faW5mb2BdIHNpZ25hdHVyZTUBIC0gVmVyc2lvbiAzOiBTaWduYWxzIHRvIHRoZSBub2RlIHRvIHVzZSB2ZXJzaW9uIDEgb2YgW2BQYXJhY2hhaW5CbG9ja0RhdGFgXS4MADhHZW5lc2lzQnVpbGRlcgwsYnVpbGRfc3RhdGUEEGpzb24YEQooZQEgQnVpbGQgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBmcm9tIGEgSlNPTiBibG9iIG5vdCB1c2luZyBhbnkgZGVmYXVsdHMgYW5kIHN0b3JlIGl0IGluIHRoZSQgc3RvcmFnZS4AKQEgSW4gdGhlIGNhc2Ugb2YgYSBGUkFNRS1iYXNlZCBydW50aW1lLCB0aGlzIGZ1bmN0aW9uIGRlc2VyaWFsaXplcyB0aGUgZnVsbFUBIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgZnJvbSB0aGUgZ2l2ZW4gSlNPTiBibG9iIGFuZCBwdXRzIGl0IGludG8gdGhlIHN0b3JhZ2UuIElmIHRoZVUBIHByb3ZpZGVkIEpTT04gYmxvYiBpcyBpbmNvcnJlY3Qgb3IgaW5jb21wbGV0ZSBvciB0aGUgZGVzZXJpYWxpemF0aW9uIGZhaWxzLCBhbiBlcnJvcjQgaXMgcmV0dXJuZWQuAF0BIFBsZWFzZSBub3RlIHRoYXQgcHJvdmlkZWQgSlNPTiBibG9iIG11c3QgY29udGFpbiBhbGwgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBmaWVsZHMsIG5vXCBkZWZhdWx0cyB3aWxsIGJlIHVzZWQuAChnZXRfcHJlc2V0BAhpZBUKjQc4YQEgUmV0dXJucyBhIEpTT04gYmxvYiByZXByZXNlbnRhdGlvbiBvZiB0aGUgYnVpbHQtaW4gYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBpZGVudGlmaWVkIGJ5GCBgaWRgLgBVASBJZiBgaWRgIGlzIGBOb25lYCB0aGUgZnVuY3Rpb24gc2hvdWxkIHJldHVybiBKU09OIGJsb2IgcmVwcmVzZW50YXRpb24gb2YgdGhlIGRlZmF1bHRJASBgUnVudGltZUdlbmVzaXNDb25maWdgIHN0cnVjdCBvZiB0aGUgcnVudGltZS4gSW1wbGVtZW50YXRpb24gbXVzdCBwcm92aWRlIGRlZmF1bHRgIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AuACEBIE90aGVyd2lzZSBmdW5jdGlvbiByZXR1cm5zIGEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgYnVpbHQtaW4sIG5hbWVkUQEgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBwcmVzZXQgaWRlbnRpZmllZCBieSBgaWRgLCBvciBgTm9uZWAgaWYgc3VjaCBwcmVzZXQgZG9lcyBub3RhASBleGlzdC4gUmV0dXJuZWQgYFZlYzx1OD5gIGNvbnRhaW5zIGJ5dGVzIG9mIEpTT04gYmxvYiAocGF0Y2gpIHdoaWNoIGNvbXByaXNlcyBhIGxpc3Qgb2ZNASAocG90ZW50aWFsbHkgbmVzdGVkKSBrZXktdmFsdWUgcGFpcnMgdGhhdCBhcmUgaW50ZW5kZWQgZm9yIGN1c3RvbWl6aW5nIHRoZSBkZWZhdWx0ZQEgcnVudGltZSBnZW5lc2lzIGNvbmZpZy4gVGhlIHBhdGNoIHNoYWxsIGJlIG1lcmdlZCAocmZjNzM4Nikgd2l0aCB0aGUgSlNPTiByZXByZXNlbnRhdGlvbmEBIG9mIHRoZSBkZWZhdWx0IGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgdG8gY3JlYXRlIGEgY29tcHJlaGVuc2l2ZSBnZW5lc2lzIGNvbmZpZyB0aGF0IGNhboQgYmUgdXNlZCBpbiBgYnVpbGRfc3RhdGVgIG1ldGhvZC4AMHByZXNldF9uYW1lcwAZChBRASBSZXR1cm5zIGEgbGlzdCBvZiBpZGVudGlmaWVycyBmb3IgYXZhaWxhYmxlIGJ1aWx0aW4gYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBwcmVzZXRzLgBhASBUaGUgcHJlc2V0cyBmcm9tIHRoZSBsaXN0IGNhbiBiZSBxdWVyaWVkIHdpdGggW2BHZW5lc2lzQnVpbGRlcjo6Z2V0X3ByZXNldGBdIG1ldGhvZC4gSWYBASBubyBuYW1lZCBwcmVzZXRzIGFyZSBwcm92aWRlZCBieSB0aGUgcnVudGltZSB0aGUgbGlzdCBpcyBlbXB0eS4ABPAgQVBJIHRvIGludGVyYWN0IHdpdGggYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBmb3IgdGhlIHJ1bnRpbWUEAERLdXNhbWFGaW5hbGl0eUFwaQw4YmVzdF9maW5hbGl6ZWQAHQoERQEgUmV0dXJucyBudW1iZXIgYW5kIGhhc2ggb2YgdGhlIGJlc3QgZmluYWxpemVkIGhlYWRlciBrbm93biB0byB0aGUgYnJpZGdlIG1vZHVsZS4AVGZyZWVfaGVhZGVyc19pbnRlcnZhbADpAhQNASBSZXR1cm5zIGZyZWUgaGVhZGVycyBpbnRlcnZhbCwgaWYgaXQgaXMgY29uZmlndXJlZCBpbiB0aGUgcnVudGltZS4ZASBUaGUgY2FsbGVyIGV4cGVjdHMgdGhhdCBpZiBoaXMgdHJhbnNhY3Rpb24gaW1wcm92ZXMgYmVzdCBrbm93biBoZWFkZXL0IGF0IGxlYXN0IGJ5IHRoZSBmcmVlX2hlYWRlcnNfaW50ZXJ2YWxgLCBpdCB3aWxsIGJlIGZlZS1mcmVlLgAhASBTZWUgW2BwYWxsZXRfYnJpZGdlX2dyYW5kcGE6OkNvbmZpZzo6RnJlZUhlYWRlcnNJbnRlcnZhbGBdIGZvciBkZXRhaWxzLgBsc3luY2VkX2hlYWRlcnNfZ3JhbmRwYV9pbmZvACEKBOggUmV0dXJucyB0aGUganVzdGlmaWNhdGlvbnMgYWNjZXB0ZWQgaW4gdGhlIGN1cnJlbnQgYmxvY2suABABASBBUEkgZm9yIHF1ZXJ5aW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaW5hbGl6ZWQgY2hhaW4gaGVhZGVycy4AdQEgVGhpcyBBUEkgaXMgaW1wbGVtZW50ZWQgYnkgcnVudGltZXMgdGhhdCBhcmUgcmVjZWl2aW5nIG1lc3NhZ2VzIGZyb20gdGhpcyBjaGFpbiwgbm90IGJ5IHRoaXNgIGNoYWluJ3MgcnVudGltZSBpdHNlbGYuBABoQnJpZGdlSHViS3VzYW1hRmluYWxpdHlBcGkIOGJlc3RfZmluYWxpemVkAB0KBEUBIFJldHVybnMgbnVtYmVyIGFuZCBoYXNoIG9mIHRoZSBiZXN0IGZpbmFsaXplZCBoZWFkZXIga25vd24gdG8gdGhlIGJyaWRnZSBtb2R1bGUuAFRmcmVlX2hlYWRlcnNfaW50ZXJ2YWwA6QIUDQEgUmV0dXJucyBmcmVlIGhlYWRlcnMgaW50ZXJ2YWwsIGlmIGl0IGlzIGNvbmZpZ3VyZWQgaW4gdGhlIHJ1bnRpbWUuGQEgVGhlIGNhbGxlciBleHBlY3RzIHRoYXQgaWYgaGlzIHRyYW5zYWN0aW9uIGltcHJvdmVzIGJlc3Qga25vd24gaGVhZGVy9CBhdCBsZWFzdCBieSB0aGUgZnJlZV9oZWFkZXJzX2ludGVydmFsYCwgaXQgd2lsbCBiZSBmZWUtZnJlZS4AIQEgU2VlIFtgcGFsbGV0X2JyaWRnZV9ncmFuZHBhOjpDb25maWc6OkZyZWVIZWFkZXJzSW50ZXJ2YWxgXSBmb3IgZGV0YWlscy4AEAEBIEFQSSBmb3IgcXVlcnlpbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZpbmFsaXplZCBjaGFpbiBoZWFkZXJzLgB1ASBUaGlzIEFQSSBpcyBpbXBsZW1lbnRlZCBieSBydW50aW1lcyB0aGF0IGFyZSByZWNlaXZpbmcgbWVzc2FnZXMgZnJvbSB0aGlzIGNoYWluLCBub3QgYnkgdGhpc2AgY2hhaW4ncyBydW50aW1lIGl0c2VsZi4EAIRGcm9tQnJpZGdlSHViS3VzYW1hSW5ib3VuZExhbmVBcGkEPG1lc3NhZ2VfZGV0YWlscwgQbGFuZT0DIG1lc3NhZ2VzJQoxCgSoIFJldHVybiBkZXRhaWxzIG9mIGdpdmVuIGluYm91bmQgbWVzc2FnZXMuABzoIEluYm91bmQgbWVzc2FnZSBsYW5lIEFQSSBmb3IgbWVzc2FnZXMgc2VudCBieSB0aGlzIGNoYWluLgB1ASBUaGlzIEFQSSBpcyBpbXBsZW1lbnRlZCBieSBydW50aW1lcyB0aGF0IGFyZSByZWNlaXZpbmcgbWVzc2FnZXMgZnJvbSB0aGlzIGNoYWluLCBub3QgYnkgdGhpc2AgY2hhaW4ncyBydW50aW1lIGl0c2VsZi4AeQEgRW50cmllcyBvZiB0aGUgcmVzdWx0aW5nIHZlY3RvciBhcmUgbWF0Y2hpbmcgZW50cmllcyBvZiB0aGUgYG1lc3NhZ2VzYCB2ZWN0b3IuIEVudHJpZXMgb2YgdGhljQEgYG1lc3NhZ2VzYCB2ZWN0b3IgbWF5IChhbmQgbmVlZCB0bykgYmUgcmVhZCB1c2luZyBgVG88VGhpc0NoYWluPk91dGJvdW5kTGFuZUFwaTo6bWVzc2FnZV9kZXRhaWxzYC4EAIBUb0JyaWRnZUh1Ykt1c2FtYU91dGJvdW5kTGFuZUFwaQQ8bWVzc2FnZV9kZXRhaWxzDBBsYW5lPQMUYmVnaW4oDGVuZCg5ChQ9ASBSZXR1cm5zIGRpc3BhdGNoIHdlaWdodCwgZW5jb2RlZCBwYXlsb2FkIHNpemUgYW5kIGRlbGl2ZXJ5K2Rpc3BhdGNoIGZlZSBvZiBhbGyMIG1lc3NhZ2VzIGluIGdpdmVuIGluY2x1c2l2ZSByYW5nZS4AKQEgSWYgc29tZSAob3IgYWxsKSBtZXNzYWdlcyBhcmUgbWlzc2luZyBmcm9tIHRoZSBzdG9yYWdlLCB0aGV5J2xsIGFsc28gd2lsbCkBIGJlIG1pc3NpbmcgZnJvbSB0aGUgcmVzdWx0aW5nIHZlY3Rvci4gVGhlIHZlY3RvciBpcyBvcmRlcmVkIGJ5IHRoZSBub25jZS4AEBEBIE91dGJvdW5kIG1lc3NhZ2UgbGFuZSBBUEkgZm9yIG1lc3NhZ2VzIHRoYXQgYXJlIHNlbnQgdG8gdGhpcyBjaGFpbi4AdQEgVGhpcyBBUEkgaXMgaW1wbGVtZW50ZWQgYnkgcnVudGltZXMgdGhhdCBhcmUgcmVjZWl2aW5nIG1lc3NhZ2VzIGZyb20gdGhpcyBjaGFpbiwgbm90IGJ5IHRoaXNgIGNoYWluJ3MgcnVudGltZSBpdHNlbGYuBABAT3V0Ym91bmRRdWV1ZUFwaQg0cHJvdmVfbWVzc2FnZQQobGVhZl9pbmRleCg9CgwxASBHZW5lcmF0ZSBhIG1lcmtsZSBwcm9vZiBmb3IgYSBjb21taXR0ZWQgbWVzc2FnZSBpZGVudGlmaWVkIGJ5IGBsZWFmX2luZGV4YC7MIFRoZSBtZXJrbGUgcm9vdCBpcyBzdG9yZWQgaW4gdGhlIGJsb2NrIGhlYWRlciBhcyBhpCBgc3BfcnVudGltZTo6Z2VuZXJpYzo6RGlnZXN0SXRlbTo6T3RoZXJgADRjYWxjdWxhdGVfZmVlCBxjb21tYW5kRQoocGFyYW1ldGVyc1EKVQoEpCBDYWxjdWxhdGUgdGhlIGRlbGl2ZXJ5IGZlZSBmb3IgYGNvbW1hbmRgAAAEAEhPdXRib3VuZFF1ZXVlVjJBcGkENHByb3ZlX21lc3NhZ2UEKGxlYWZfaW5kZXgoPQoEMQEgR2VuZXJhdGUgYSBtZXJrbGUgcHJvb2YgZm9yIGEgY29tbWl0dGVkIG1lc3NhZ2UgaWRlbnRpZmllZCBieSBgbGVhZl9pbmRleGAuAAAEAERJbmJvdW5kUXVldWVWMkFwaQRIaXNfbWVzc2FnZV9yZWxheWVkBBRub25jZSjIBOggQ2hlY2sgaWYgYSBtZXNzYWdlIHdpdGggdGhlIGdpdmVuIG5vbmNlIGhhcyBiZWVuIHJlbGF5ZWQuAAAEAChDb250cm9sQXBpBCBhZ2VudF9pZAQgbG9jYXRpb27soQUAAAAEADBDb250cm9sVjJBcGkEIGFnZW50X2lkBCBsb2NhdGlvbuyhBQT4IFByb3ZpZGVzIHRoZSBBZ2VudCBJRCBvbiBFdGhlcmV1bSBmb3IgdGhlIHNwZWNpZmllZCBsb2NhdGlvbi4AAAQAQEdldFBhcmFjaGFpbkluZm8EMHBhcmFjaGFpbl9pZACcBLAgUmV0cmlldmUgdGhlIHBhcmFjaGFpbiBpZCB1c2VkIGZvciBydW50aW1lLgAEDQEgUnVudGltZSBhcGkgdXNlZCB0byBhY2Nlc3MgZ2VuZXJhbCBpbmZvIGFib3V0IGEgcGFyYWNoYWluIHJ1bnRpbWUuBAAgyQRZCgA=";
|
|
1
|
+
const binMeta = "bWV0YRBdCgAMKHNwX3J1bnRpbWUwbXVsdGlhZGRyZXNzME11bHRpQWRkcmVzcwgkQWNjb3VudElkAQQwQWNjb3VudEluZGV4ARABFAhJZAQABAEkQWNjb3VudElkAAAAFEluZGV4BAAUATBBY2NvdW50SW5kZXgAAQAMUmF3BAAYARxWZWM8dTg+AAIAJEFkZHJlc3MzMgQACAEgW3U4OyAzMl0AAwAkQWRkcmVzczIwBAAcASBbdTg7IDIwXQAEAAAEDBxzcF9jb3JlGGNyeXB0byxBY2NvdW50SWQzMgAABAAIASBbdTg7IDMyXQAACAAAAyAAAAAMAAwAAAUDABAAAAQAABQAAAYQABgAAAIMABwAAAMUAAAADAAgCGxicmlkZ2VfaHViX3BvbGthZG90X3J1bnRpbWUsUnVudGltZUNhbGwAAWgYU3lzdGVtBAAkAa0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFN5c3RlbSwgUnVudGltZT4AAAA8UGFyYWNoYWluU3lzdGVtBABAAdEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFBhcmFjaGFpblN5c3RlbSwgUnVudGltZT4AAQAkVGltZXN0YW1wBACwAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFRpbWVzdGFtcCwgUnVudGltZT4AAgA0UGFyYWNoYWluSW5mbwQAuAHJAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxQYXJhY2hhaW5JbmZvLCBSdW50aW1lPgADACBCYWxhbmNlcwQAvAG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxCYWxhbmNlcywgUnVudGltZT4ACgBEQ29sbGF0b3JTZWxlY3Rpb24EANQB2QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8Q29sbGF0b3JTZWxlY3Rpb24sIFJ1bnRpbWU+ABUAHFNlc3Npb24EANgBsQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8U2Vzc2lvbiwgUnVudGltZT4AFgAkWGNtcFF1ZXVlBADkAbkBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFhjbXBRdWV1ZSwgUnVudGltZT4AHgAsUG9sa2Fkb3RYY20EAOgBwQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8UG9sa2Fkb3RYY20sIFJ1bnRpbWU+AB8AKEN1bXVsdXNYY20EAPkCAb0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEN1bXVsdXNYY20sIFJ1bnRpbWU+ACAAHFV0aWxpdHkEAP0CAbEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFV0aWxpdHksIFJ1bnRpbWU+ACgAIE11bHRpc2lnBAAZAwG1AXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxNdWx0aXNpZywgUnVudGltZT4AKQAUUHJveHkEACUDAakBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPFByb3h5LCBSdW50aW1lPgAqADhCcmlkZ2VSZWxheWVycwQAMQMBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8QnJpZGdlUmVsYXllcnMsIFJ1bnRpbWU+ADIATEJyaWRnZUt1c2FtYUdyYW5kcGEEAEkDAeEBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEJyaWRnZUt1c2FtYUdyYW5kcGEsIFJ1bnRpbWU+ADMAWEJyaWRnZUt1c2FtYVBhcmFjaGFpbnMEAIEDAe0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEJyaWRnZUt1c2FtYVBhcmFjaGFpbnMsIFJ1bnRpbWU+ADQAUEJyaWRnZUt1c2FtYU1lc3NhZ2VzBACZAwHlAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxCcmlkZ2VLdXNhbWFNZXNzYWdlcywgUnVudGltZT4ANQBYWGNtT3ZlckJyaWRnZUh1Ykt1c2FtYQQArQMB7QFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8WGNtT3ZlckJyaWRnZUh1Ykt1c2FtYSwgUnVudGltZT4ANgBQRXRoZXJldW1JbmJvdW5kUXVldWUEALUDAeUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEV0aGVyZXVtSW5ib3VuZFF1ZXVlLCBSdW50aW1lPgBQAFRFdGhlcmV1bU91dGJvdW5kUXVldWUEAPUDAekBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEV0aGVyZXVtT3V0Ym91bmRRdWV1ZSwgUnVudGltZT4AUQBQRXRoZXJldW1CZWFjb25DbGllbnQEAPkDAeUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEV0aGVyZXVtQmVhY29uQ2xpZW50LCBSdW50aW1lPgBSADhFdGhlcmV1bVN5c3RlbQQAKQQBzQFzZWxmOjpzcF9hcGlfaGlkZGVuX2luY2x1ZGVzX2NvbnN0cnVjdF9ydW50aW1lOjpoaWRkZW5faW5jbHVkZTo6ZGlzcGF0Y2gKOjpDYWxsYWJsZUNhbGxGb3I8RXRoZXJldW1TeXN0ZW0sIFJ1bnRpbWU+AFMAQEV0aGVyZXVtU3lzdGVtVjIEAE0EAdUBc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEV0aGVyZXVtU3lzdGVtVjIsIFJ1bnRpbWU+AFoAWEV0aGVyZXVtSW5ib3VuZFF1ZXVlVjIEAFkEAe0Bc2VsZjo6c3BfYXBpX2hpZGRlbl9pbmNsdWRlc19jb25zdHJ1Y3RfcnVudGltZTo6aGlkZGVuX2luY2x1ZGU6OmRpc3BhdGNoCjo6Q2FsbGFibGVDYWxsRm9yPEV0aGVyZXVtSW5ib3VuZFF1ZXVlVjIsIFJ1bnRpbWU+AFsAXEV0aGVyZXVtT3V0Ym91bmRRdWV1ZVYyBABdBAHxAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxFdGhlcmV1bU91dGJvdW5kUXVldWVWMiwgUnVudGltZT4AXAAwTWVzc2FnZVF1ZXVlBABhBAHFAXNlbGY6OnNwX2FwaV9oaWRkZW5faW5jbHVkZXNfY29uc3RydWN0X3J1bnRpbWU6OmhpZGRlbl9pbmNsdWRlOjpkaXNwYXRjaAo6OkNhbGxhYmxlQ2FsbEZvcjxNZXNzYWdlUXVldWUsIFJ1bnRpbWU+AK8AACQMMGZyYW1lX3N5c3RlbRhwYWxsZXQQQ2FsbAQEVAABLBhyZW1hcmsEARhyZW1hcmsYARxWZWM8dTg+AAAMaE1ha2Ugc29tZSBvbi1jaGFpbiByZW1hcmsuAIhDYW4gYmUgZXhlY3V0ZWQgYnkgZXZlcnkgYG9yaWdpbmAuOHNldF9oZWFwX3BhZ2VzBAEUcGFnZXMoAQx1NjQAAQT4U2V0IHRoZSBudW1iZXIgb2YgcGFnZXMgaW4gdGhlIFdlYkFzc2VtYmx5IGVudmlyb25tZW50J3MgaGVhcC4gc2V0X2NvZGUEARBjb2RlGAEcVmVjPHU4PgACBGRTZXQgdGhlIG5ldyBydW50aW1lIGNvZGUuXHNldF9jb2RlX3dpdGhvdXRfY2hlY2tzBAEQY29kZRgBHFZlYzx1OD4AAxAZAVNldCB0aGUgbmV3IHJ1bnRpbWUgY29kZSB3aXRob3V0IGRvaW5nIGFueSBjaGVja3Mgb2YgdGhlIGdpdmVuIGBjb2RlYC4AUQFOb3RlIHRoYXQgcnVudGltZSB1cGdyYWRlcyB3aWxsIG5vdCBydW4gaWYgdGhpcyBpcyBjYWxsZWQgd2l0aCBhIG5vdC1pbmNyZWFzaW5nIHNwZWMgdmVyc2lvbiEsc2V0X3N0b3JhZ2UEARRpdGVtcywBNFZlYzxLZXlWYWx1ZT4ABARoU2V0IHNvbWUgaXRlbXMgb2Ygc3RvcmFnZS4wa2lsbF9zdG9yYWdlBAEQa2V5czQBIFZlYzxLZXk+AAUEdEtpbGwgc29tZSBpdGVtcyBmcm9tIHN0b3JhZ2UuLGtpbGxfcHJlZml4CAEYcHJlZml4GAEMS2V5AAEcc3Via2V5czgBDHUzMgAGEBEBS2lsbCBhbGwgc3RvcmFnZSBpdGVtcyB3aXRoIGEga2V5IHRoYXQgc3RhcnRzIHdpdGggdGhlIGdpdmVuIHByZWZpeC4AOQEqKk5PVEU6KiogV2UgcmVseSBvbiB0aGUgUm9vdCBvcmlnaW4gdG8gcHJvdmlkZSB1cyB0aGUgbnVtYmVyIG9mIHN1YmtleXMgdW5kZXI9AXRoZSBwcmVmaXggd2UgYXJlIHJlbW92aW5nIHRvIGFjY3VyYXRlbHkgY2FsY3VsYXRlIHRoZSB3ZWlnaHQgb2YgdGhpcyBmdW5jdGlvbi5EcmVtYXJrX3dpdGhfZXZlbnQEARhyZW1hcmsYARxWZWM8dTg+AAcEpE1ha2Ugc29tZSBvbi1jaGFpbiByZW1hcmsgYW5kIGVtaXQgZXZlbnQuRGF1dGhvcml6ZV91cGdyYWRlBAEkY29kZV9oYXNoPAEcVDo6SGFzaAAJEGEBQXV0aG9yaXplIGFuIHVwZ3JhZGUgdG8gYSBnaXZlbiBgY29kZV9oYXNoYCBmb3IgdGhlIHJ1bnRpbWUuIFRoZSBydW50aW1lIGNhbiBiZSBzdXBwbGllZBhsYXRlci4AfFRoaXMgY2FsbCByZXF1aXJlcyBSb290IG9yaWdpbi6AYXV0aG9yaXplX3VwZ3JhZGVfd2l0aG91dF9jaGVja3MEASRjb2RlX2hhc2g8ARxUOjpIYXNoAAogYQFBdXRob3JpemUgYW4gdXBncmFkZSB0byBhIGdpdmVuIGBjb2RlX2hhc2hgIGZvciB0aGUgcnVudGltZS4gVGhlIHJ1bnRpbWUgY2FuIGJlIHN1cHBsaWVkGGxhdGVyLgBdAVdBUk5JTkc6IFRoaXMgYXV0aG9yaXplcyBhbiB1cGdyYWRlIHRoYXQgd2lsbCB0YWtlIHBsYWNlIHdpdGhvdXQgYW55IHNhZmV0eSBjaGVja3MsIGZvclkBZXhhbXBsZSB0aGF0IHRoZSBzcGVjIG5hbWUgcmVtYWlucyB0aGUgc2FtZSBhbmQgdGhhdCB0aGUgdmVyc2lvbiBudW1iZXIgaW5jcmVhc2VzLiBOb3TwcmVjb21tZW5kZWQgZm9yIG5vcm1hbCB1c2UuIFVzZSBgYXV0aG9yaXplX3VwZ3JhZGVgIGluc3RlYWQuAHxUaGlzIGNhbGwgcmVxdWlyZXMgUm9vdCBvcmlnaW4uYGFwcGx5X2F1dGhvcml6ZWRfdXBncmFkZQQBEGNvZGUYARxWZWM8dTg+AAskVQFQcm92aWRlIHRoZSBwcmVpbWFnZSAocnVudGltZSBiaW5hcnkpIGBjb2RlYCBmb3IgYW4gdXBncmFkZSB0aGF0IGhhcyBiZWVuIGF1dGhvcml6ZWQuAEkBSWYgdGhlIGF1dGhvcml6YXRpb24gcmVxdWlyZWQgYSB2ZXJzaW9uIGNoZWNrLCB0aGlzIGNhbGwgd2lsbCBlbnN1cmUgdGhlIHNwZWMgbmFtZehyZW1haW5zIHVuY2hhbmdlZCBhbmQgdGhhdCB0aGUgc3BlYyB2ZXJzaW9uIGhhcyBpbmNyZWFzZWQuAFkBRGVwZW5kaW5nIG9uIHRoZSBydW50aW1lJ3MgYE9uU2V0Q29kZWAgY29uZmlndXJhdGlvbiwgdGhpcyBmdW5jdGlvbiBtYXkgZGlyZWN0bHkgYXBwbHkRAXRoZSBuZXcgYGNvZGVgIGluIHRoZSBzYW1lIGJsb2NrIG9yIGF0dGVtcHQgdG8gc2NoZWR1bGUgdGhlIHVwZ3JhZGUuAGBBbGwgb3JpZ2lucyBhcmUgYWxsb3dlZC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuKAAABQYALAAAAjAAMAAABAgYGAA0AAACGAA4AAAFBQA8CDxwcmltaXRpdmVfdHlwZXMQSDI1NgAABAAIASBbdTg7IDMyXQAAQAx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQQQ2FsbAQEVAABCExzZXRfdmFsaWRhdGlvbl9kYXRhCAEQZGF0YUQBaEJhc2ljUGFyYWNoYWluSW5oZXJlbnREYXRhAAFUaW5ib3VuZF9tZXNzYWdlc19kYXRhfAFMSW5ib3VuZE1lc3NhZ2VzRGF0YQAAJIBTZXQgdGhlIGN1cnJlbnQgdmFsaWRhdGlvbiBkYXRhLgBBAVRoaXMgc2hvdWxkIGJlIGludm9rZWQgZXhhY3RseSBvbmNlIHBlciBibG9jay4gSXQgd2lsbCBwYW5pYyBhdCB0aGUgZmluYWxpemF0aW9uiHBoYXNlIGlmIHRoZSBjYWxsIHdhcyBub3QgaW52b2tlZC4A0FRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIGBJbmhlcmVudGAAIQFBcyBhIHNpZGUgZWZmZWN0LCB0aGlzIGZ1bmN0aW9uIHVwZ3JhZGVzIHRoZSBjdXJyZW50IHZhbGlkYXRpb24gZnVuY3Rpb26EaWYgdGhlIGFwcHJvcHJpYXRlIHRpbWUgaGFzIGNvbWUuYHN1ZG9fc2VuZF91cHdhcmRfbWVzc2FnZQQBHG1lc3NhZ2UYATRVcHdhcmRNZXNzYWdlAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLkQMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IcGFyYWNoYWluX2luaGVyZW50aEJhc2ljUGFyYWNoYWluSW5oZXJlbnREYXRhAAAQATx2YWxpZGF0aW9uX2RhdGFIAVxQZXJzaXN0ZWRWYWxpZGF0aW9uRGF0YQABRHJlbGF5X2NoYWluX3N0YXRlUAFUc3BfdHJpZTo6U3RvcmFnZVByb29mAAFgcmVsYXlfcGFyZW50X2Rlc2NlbmRhbnRzWAFAVmVjPFJlbGF5SGVhZGVyPgABQGNvbGxhdG9yX3BlZXJfaWR0AVhPcHRpb248QXBwcm92ZWRQZWVySWQ+AABIDExwb2xrYWRvdF9wcmltaXRpdmVzCHY5XFBlcnNpc3RlZFZhbGlkYXRpb25EYXRhCARIATwETgE4ABABLHBhcmVudF9oZWFkTAEgSGVhZERhdGEAAUxyZWxheV9wYXJlbnRfbnVtYmVyOAEETgABZHJlbGF5X3BhcmVudF9zdG9yYWdlX3Jvb3Q8AQRIAAEwbWF4X3Bvdl9zaXplOAEMdTMyAABMDHRwb2xrYWRvdF9wYXJhY2hhaW5fcHJpbWl0aXZlcyhwcmltaXRpdmVzIEhlYWREYXRhAAAEABgBHFZlYzx1OD4AAFAMHHNwX3RyaWU0c3RvcmFnZV9wcm9vZjBTdG9yYWdlUHJvb2YAAAQBKHRyaWVfbm9kZXNUAURCVHJlZVNldDxWZWM8dTg+PgAAVAQgQlRyZWVTZXQEBFQBGAAEADQAAABYAAACXABcEChzcF9ydW50aW1lHGdlbmVyaWMYaGVhZGVyGEhlYWRlcggYTnVtYmVyATgQSGFzaAAAFAEscGFyZW50X2hhc2g8ATBIYXNoOjpPdXRwdXQAARhudW1iZXJgARhOdW1iZXIAAShzdGF0ZV9yb290PAEwSGFzaDo6T3V0cHV0AAE8ZXh0cmluc2ljc19yb290PAEwSGFzaDo6T3V0cHV0AAEYZGlnZXN0ZAEYRGlnZXN0AABgAAAGOABkEChzcF9ydW50aW1lHGdlbmVyaWMYZGlnZXN0GERpZ2VzdAAABAEQbG9nc2gBPFZlYzxEaWdlc3RJdGVtPgAAaAAAAmwAbBAoc3BfcnVudGltZRxnZW5lcmljGGRpZ2VzdChEaWdlc3RJdGVtAAEUKFByZVJ1bnRpbWUIAHABRENvbnNlbnN1c0VuZ2luZUlkAAAYARxWZWM8dTg+AAYAJENvbnNlbnN1cwgAcAFEQ29uc2Vuc3VzRW5naW5lSWQAABgBHFZlYzx1OD4ABAAQU2VhbAgAcAFEQ29uc2Vuc3VzRW5naW5lSWQAABgBHFZlYzx1OD4ABQAUT3RoZXIEABgBHFZlYzx1OD4AAABkUnVudGltZUVudmlyb25tZW50VXBkYXRlZAAIAABwAAADBAAAAAwAdAQYT3B0aW9uBARUAXgBCBBOb25lAAAAEFNvbWUEAHgAAAEAAHgMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AAB8DHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHBhcmFjaGFpbl9pbmhlcmVudExJbmJvdW5kTWVzc2FnZXNEYXRhAAAIAURkb3dud2FyZF9tZXNzYWdlc4ABfEFicmlkZ2VkSW5ib3VuZERvd253YXJkTWVzc2FnZXMAAUxob3Jpem9udGFsX21lc3NhZ2VzlAFsQWJyaWRnZWRJbmJvdW5kSHJtcE1lc3NhZ2VzAACADHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtSHBhcmFjaGFpbl9pbmhlcmVudIRBYnJpZGdlZEluYm91bmRNZXNzYWdlc0NvbGxlY3Rpb24EHE1lc3NhZ2UBhAAIATRmdWxsX21lc3NhZ2VziAEwVmVjPE1lc3NhZ2U+AAE8aGFzaGVkX21lc3NhZ2VzjAF8VmVjPE1lc3NhZ2U6OkNvbXByZXNzZWRNZXNzYWdlPgAAhAhgcG9sa2Fkb3RfY29yZV9wcmltaXRpdmVzWEluYm91bmREb3dud2FyZE1lc3NhZ2UELEJsb2NrTnVtYmVyATgACAEcc2VudF9hdDgBLEJsb2NrTnVtYmVyAAEMbXNnGAE8RG93bndhcmRNZXNzYWdlAACIAAAChACMAAACkACQCJRjdW11bHVzX3ByaW1pdGl2ZXNfcGFyYWNoYWluX2luaGVyZW50NEhhc2hlZE1lc3NhZ2UAAAgBHHNlbnRfYXQ4AVRSZWxheUNoYWluQmxvY2tOdW1iZXIAASBtc2dfaGFzaDwBNHNwX2NvcmU6OkgyNTYAAJQMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IcGFyYWNoYWluX2luaGVyZW50hEFicmlkZ2VkSW5ib3VuZE1lc3NhZ2VzQ29sbGVjdGlvbgQcTWVzc2FnZQGYAAgBNGZ1bGxfbWVzc2FnZXOkATBWZWM8TWVzc2FnZT4AATxoYXNoZWRfbWVzc2FnZXOoAXxWZWM8TWVzc2FnZTo6Q29tcHJlc3NlZE1lc3NhZ2U+AACYAAAECJygAJwMdHBvbGthZG90X3BhcmFjaGFpbl9wcmltaXRpdmVzKHByaW1pdGl2ZXMISWQAAAQAOAEMdTMyAACgCGBwb2xrYWRvdF9jb3JlX3ByaW1pdGl2ZXNISW5ib3VuZEhybXBNZXNzYWdlBCxCbG9ja051bWJlcgE4AAgBHHNlbnRfYXQ4ASxCbG9ja051bWJlcgABEGRhdGEYAUxhbGxvYzo6dmVjOjpWZWM8dTg+AACkAAACmACoAAACrACsAAAECJyQALAMQHBhbGxldF90aW1lc3RhbXAYcGFsbGV0EENhbGwEBFQAAQQMc2V0BAEMbm93tAEkVDo6TW9tZW50AABMVFNldCB0aGUgY3VycmVudCB0aW1lLgBVAVRoaXMgY2FsbCBzaG91bGQgYmUgaW52b2tlZCBleGFjdGx5IG9uY2UgcGVyIGJsb2NrLiBJdCB3aWxsIHBhbmljIGF0IHRoZSBmaW5hbGl6YXRpb27UcGhhc2UsIGlmIHRoaXMgY2FsbCBoYXNuJ3QgYmVlbiBpbnZva2VkIGJ5IHRoYXQgdGltZS4AQQFUaGUgdGltZXN0YW1wIHNob3VsZCBiZSBncmVhdGVyIHRoYW4gdGhlIHByZXZpb3VzIG9uZSBieSB0aGUgYW1vdW50IHNwZWNpZmllZCBieWhbYENvbmZpZzo6TWluaW11bVBlcmlvZGBdLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX05vbmVfLgBRAVRoaXMgZGlzcGF0Y2ggY2xhc3MgaXMgX01hbmRhdG9yeV8gdG8gZW5zdXJlIGl0IGdldHMgZXhlY3V0ZWQgaW4gdGhlIGJsb2NrLiBCZSBhd2FyZVEBdGhhdCBjaGFuZ2luZyB0aGUgY29tcGxleGl0eSBvZiB0aGlzIGNhbGwgY291bGQgcmVzdWx0IGV4aGF1c3RpbmcgdGhlIHJlc291cmNlcyBpbiBhhGJsb2NrIHRvIGV4ZWN1dGUgYW55IG90aGVyIGNhbGxzLgA0IyMgQ29tcGxleGl0eTEBLSBgTygxKWAgKE5vdGUgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2YgYE9uVGltZXN0YW1wU2V0YCBtdXN0IGFsc28gYmUgYE8oMSlgKVUBLSAxIHN0b3JhZ2UgcmVhZCBhbmQgMSBzdG9yYWdlIG11dGF0aW9uIChjb2RlYyBgTygxKWAgYmVjYXVzZSBvZiBgRGlkVXBkYXRlOjp0YWtlYCBpbkAgIGBvbl9maW5hbGl6ZWAp1C0gMSBldmVudCBoYW5kbGVyIGBvbl90aW1lc3RhbXBfc2V0YC4gTXVzdCBiZSBgTygxKWAuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLrQAAAYoALgMWHN0YWdpbmdfcGFyYWNoYWluX2luZm8YcGFsbGV0EENhbGwEBFQAAQAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuvAw8cGFsbGV0X2JhbGFuY2VzGHBhbGxldBBDYWxsCARUAARJAAEkUHRyYW5zZmVyX2FsbG93X2RlYXRoCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEUdmFsdWXAAShUOjpCYWxhbmNlAAAc1FRyYW5zZmVyIHNvbWUgbGlxdWlkIGZyZWUgYmFsYW5jZSB0byBhbm90aGVyIGFjY291bnQuADUBYHRyYW5zZmVyX2FsbG93X2RlYXRoYCB3aWxsIHNldCB0aGUgYEZyZWVCYWxhbmNlYCBvZiB0aGUgc2VuZGVyIGFuZCByZWNlaXZlci4RAUlmIHRoZSBzZW5kZXIncyBhY2NvdW50IGlzIGJlbG93IHRoZSBleGlzdGVudGlhbCBkZXBvc2l0IGFzIGEgcmVzdWx0sG9mIHRoZSB0cmFuc2ZlciwgdGhlIGFjY291bnQgd2lsbCBiZSByZWFwZWQuABUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgYFNpZ25lZGAgYnkgdGhlIHRyYW5zYWN0b3IuOGZvcmNlX3RyYW5zZmVyDAEYc291cmNlAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARBkZXN0AAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARR2YWx1ZcABKFQ6OkJhbGFuY2UAAghhAUV4YWN0bHkgYXMgYHRyYW5zZmVyX2FsbG93X2RlYXRoYCwgZXhjZXB0IHRoZSBvcmlnaW4gbXVzdCBiZSByb290IGFuZCB0aGUgc291cmNlIGFjY291bnREbWF5IGJlIHNwZWNpZmllZC5MdHJhbnNmZXJfa2VlcF9hbGl2ZQgBEGRlc3QAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABFHZhbHVlwAEoVDo6QmFsYW5jZQADGFkBU2FtZSBhcyB0aGUgW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdIGNhbGwsIGJ1dCB3aXRoIGEgY2hlY2sgdGhhdCB0aGUgdHJhbnNmZXIgd2lsbCBub3Rga2lsbCB0aGUgb3JpZ2luIGFjY291bnQuAOg5OSUgb2YgdGhlIHRpbWUgeW91IHdhbnQgW2B0cmFuc2Zlcl9hbGxvd19kZWF0aGBdIGluc3RlYWQuAPBbYHRyYW5zZmVyX2FsbG93X2RlYXRoYF06IHN0cnVjdC5QYWxsZXQuaHRtbCNtZXRob2QudHJhbnNmZXIwdHJhbnNmZXJfYWxsCAEQZGVzdAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEoa2VlcF9hbGl2ZcgBEGJvb2wABDwFAVRyYW5zZmVyIHRoZSBlbnRpcmUgdHJhbnNmZXJhYmxlIGJhbGFuY2UgZnJvbSB0aGUgY2FsbGVyIGFjY291bnQuAFkBTk9URTogVGhpcyBmdW5jdGlvbiBvbmx5IGF0dGVtcHRzIHRvIHRyYW5zZmVyIF90cmFuc2ZlcmFibGVfIGJhbGFuY2VzLiBUaGlzIG1lYW5zIHRoYXRhAWFueSBsb2NrZWQsIHJlc2VydmVkLCBvciBleGlzdGVudGlhbCBkZXBvc2l0cyAod2hlbiBga2VlcF9hbGl2ZWAgaXMgYHRydWVgKSwgd2lsbCBub3QgYmVdAXRyYW5zZmVycmVkIGJ5IHRoaXMgZnVuY3Rpb24uIFRvIGVuc3VyZSB0aGF0IHRoaXMgZnVuY3Rpb24gcmVzdWx0cyBpbiBhIGtpbGxlZCBhY2NvdW50LEUBeW91IG1pZ2h0IG5lZWQgdG8gcHJlcGFyZSB0aGUgYWNjb3VudCBieSByZW1vdmluZyBhbnkgcmVmZXJlbmNlIGNvdW50ZXJzLCBzdG9yYWdlQGRlcG9zaXRzLCBldGMuLi4AwFRoZSBkaXNwYXRjaCBvcmlnaW4gb2YgdGhpcyBjYWxsIG11c3QgYmUgU2lnbmVkLgCgLSBgZGVzdGA6IFRoZSByZWNpcGllbnQgb2YgdGhlIHRyYW5zZmVyLlkBLSBga2VlcF9hbGl2ZWA6IEEgYm9vbGVhbiB0byBkZXRlcm1pbmUgaWYgdGhlIGB0cmFuc2Zlcl9hbGxgIG9wZXJhdGlvbiBzaG91bGQgc2VuZCBhbGxNASAgb2YgdGhlIGZ1bmRzIHRoZSBhY2NvdW50IGhhcywgY2F1c2luZyB0aGUgc2VuZGVyIGFjY291bnQgdG8gYmUga2lsbGVkIChmYWxzZSksIG9yWQEgIHRyYW5zZmVyIGV2ZXJ5dGhpbmcgZXhjZXB0IGF0IGxlYXN0IHRoZSBleGlzdGVudGlhbCBkZXBvc2l0LCB3aGljaCB3aWxsIGd1YXJhbnRlZSB0b5wgIGtlZXAgdGhlIHNlbmRlciBhY2NvdW50IGFsaXZlICh0cnVlKS48Zm9yY2VfdW5yZXNlcnZlCAEMd2hvAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARhhbW91bnTEAShUOjpCYWxhbmNlAAUMsFVucmVzZXJ2ZSBzb21lIGJhbGFuY2UgZnJvbSBhIHVzZXIgYnkgZm9yY2UuAGxDYW4gb25seSBiZSBjYWxsZWQgYnkgUk9PVC5AdXBncmFkZV9hY2NvdW50cwQBDHdob8wBRFZlYzxUOjpBY2NvdW50SWQ+AAYgcFVwZ3JhZGUgYSBzcGVjaWZpZWQgYWNjb3VudC4AdC0gYG9yaWdpbmA6IE11c3QgYmUgYFNpZ25lZGAukC0gYHdob2A6IFRoZSBhY2NvdW50IHRvIGJlIHVwZ3JhZGVkLgBVAVRoaXMgd2lsbCB3YWl2ZSB0aGUgdHJhbnNhY3Rpb24gZmVlIGlmIGF0IGxlYXN0IGFsbCBidXQgMTAlIG9mIHRoZSBhY2NvdW50cyBuZWVkZWQgdG9BAWJlIHVwZ3JhZGVkLiAoV2UgbGV0IHNvbWUgbm90IGhhdmUgdG8gYmUgdXBncmFkZWQganVzdCBpbiBvcmRlciB0byBhbGxvdyBmb3IgdGhlWHBvc3NpYmlsaXR5IG9mIGNodXJuKS5EZm9yY2Vfc2V0X2JhbGFuY2UIAQx3aG8AAVBBY2NvdW50SWRMb29rdXBPZjxUPgABIG5ld19mcmVlwAEoVDo6QmFsYW5jZQAIDKxTZXQgdGhlIHJlZ3VsYXIgYmFsYW5jZSBvZiBhIGdpdmVuIGFjY291bnQuALBUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgaXMgYHJvb3RgLmxmb3JjZV9hZGp1c3RfdG90YWxfaXNzdWFuY2UIASRkaXJlY3Rpb27QAUxBZGp1c3RtZW50RGlyZWN0aW9uAAEUZGVsdGHAAShUOjpCYWxhbmNlAAkUuEFkanVzdCB0aGUgdG90YWwgaXNzdWFuY2UgaW4gYSBzYXR1cmF0aW5nIHdheS4A/ENhbiBvbmx5IGJlIGNhbGxlZCBieSByb290IGFuZCBhbHdheXMgbmVlZHMgYSBwb3NpdGl2ZSBgZGVsdGFgLgAkIyBFeGFtcGxlEGJ1cm4IARR2YWx1ZcABKFQ6OkJhbGFuY2UAAShrZWVwX2FsaXZlyAEQYm9vbAAKHPxCdXJuIHRoZSBzcGVjaWZpZWQgbGlxdWlkIGZyZWUgYmFsYW5jZSBmcm9tIHRoZSBvcmlnaW4gYWNjb3VudC4AJQFJZiB0aGUgb3JpZ2luJ3MgYWNjb3VudCBlbmRzIHVwIGJlbG93IHRoZSBleGlzdGVudGlhbCBkZXBvc2l0IGFzIGEgcmVzdWx0CQFvZiB0aGUgYnVybiBhbmQgYGtlZXBfYWxpdmVgIGlzIGZhbHNlLCB0aGUgYWNjb3VudCB3aWxsIGJlIHJlYXBlZC4AUQFVbmxpa2Ugc2VuZGluZyBmdW5kcyB0byBhIF9idXJuXyBhZGRyZXNzLCB3aGljaCBtZXJlbHkgbWFrZXMgdGhlIGZ1bmRzIGluYWNjZXNzaWJsZSwhAXRoaXMgYGJ1cm5gIG9wZXJhdGlvbiB3aWxsIHJlZHVjZSB0b3RhbCBpc3N1YW5jZSBieSB0aGUgYW1vdW50IF9idXJuZWRfLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7AAAAGxADEAAAFBwDIAAAFAADMAAACBADQDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXNMQWRqdXN0bWVudERpcmVjdGlvbgABCCBJbmNyZWFzZQAAACBEZWNyZWFzZQABAADUDGRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uGHBhbGxldBBDYWxsBARUAAEkRHNldF9pbnZ1bG5lcmFibGVzBAEMbmV3zAFEVmVjPFQ6OkFjY291bnRJZD4AADQxAVNldCB0aGUgbGlzdCBvZiBpbnZ1bG5lcmFibGUgKGZpeGVkKSBjb2xsYXRvcnMuIFRoZXNlIGNvbGxhdG9ycyBtdXN0IGRvIHNvbWXQcHJlcGFyYXRpb24sIG5hbWVseSB0byBoYXZlIHJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXlzLgBZAVRoZSBjYWxsIHdpbGwgcmVtb3ZlIGFueSBhY2NvdW50cyB0aGF0IGhhdmUgbm90IHJlZ2lzdGVyZWQga2V5cyBmcm9tIHRoZSBzZXQuIFRoYXQgaXMsXQFpdCBpcyBub24tYXRvbWljOyB0aGUgY2FsbGVyIGFjY2VwdHMgYWxsIGBBY2NvdW50SWRgcyBwYXNzZWQgaW4gYG5ld2AgX2luZGl2aWR1YWxseV8gYXMxAWFjY2VwdGFibGUgSW52dWxuZXJhYmxlcywgYW5kIGlzIG5vdCBwcm9wb3NpbmcgYSBfc2V0XyBvZiBuZXcgSW52dWxuZXJhYmxlcy4AWQFUaGlzIGNhbGwgZG9lcyBub3QgbWFpbnRhaW4gbXV0dWFsIGV4Y2x1c2l2aXR5IG9mIGBJbnZ1bG5lcmFibGVzYCBhbmQgYENhbmRpZGF0ZXNgLiBJdGEBaXMgcmVjb21tZW5kZWQgdG8gdXNlIGEgYmF0Y2ggb2YgYGFkZF9pbnZ1bG5lcmFibGVgIGFuZCBgcmVtb3ZlX2ludnVsbmVyYWJsZWAgaW5zdGVhZC4gQVEBYGJhdGNoX2FsbGAgY2FuIGFsc28gYmUgdXNlZCB0byBlbmZvcmNlIGF0b21pY2l0eS4gSWYgYW55IGNhbmRpZGF0ZXMgYXJlIGluY2x1ZGVkIGluTQFgbmV3YCwgdGhleSBzaG91bGQgYmUgcmVtb3ZlZCB3aXRoIGByZW1vdmVfaW52dWxuZXJhYmxlX2NhbmRpZGF0ZWAgYWZ0ZXIgZXhlY3V0aW9uLgCUTXVzdCBiZSBjYWxsZWQgYnkgdGhlIGBVcGRhdGVPcmlnaW5gLlhzZXRfZGVzaXJlZF9jYW5kaWRhdGVzBAEMbWF4OAEMdTMyAAEUVQFTZXQgdGhlIGlkZWFsIG51bWJlciBvZiBub24taW52dWxuZXJhYmxlIGNvbGxhdG9ycy4gSWYgbG93ZXJpbmcgdGhpcyBudW1iZXIsIHRoZW4gdGhlYQFudW1iZXIgb2YgcnVubmluZyBjb2xsYXRvcnMgY291bGQgYmUgaGlnaGVyIHRoYW4gdGhpcyBmaWd1cmUuIEFzaWRlIGZyb20gdGhhdCBlZGdlIGNhc2UsNQF0aGVyZSBzaG91bGQgYmUgbm8gb3RoZXIgd2F5IHRvIGhhdmUgbW9yZSBjYW5kaWRhdGVzIHRoYW4gdGhlIGRlc2lyZWQgbnVtYmVyLgDQVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIGBVcGRhdGVPcmlnaW5gLkhzZXRfY2FuZGlkYWN5X2JvbmQEARBib25kxAEwQmFsYW5jZU9mPFQ+AAIceFNldCB0aGUgY2FuZGlkYWN5IGJvbmQgYW1vdW50LgBRAUlmIHRoZSBjYW5kaWRhY3kgYm9uZCBpcyBpbmNyZWFzZWQgYnkgdGhpcyBjYWxsLCBhbGwgY3VycmVudCBjYW5kaWRhdGVzIHdoaWNoIGhhdmUgYU0BZGVwb3NpdCBsb3dlciB0aGFuIHRoZSBuZXcgYm9uZCB3aWxsIGJlIGtpY2tlZCBmcm9tIHRoZSBsaXN0IGFuZCBnZXQgdGhlaXIgZGVwb3NpdHMUYmFjay4A0FRoZSBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIHRoZSBgVXBkYXRlT3JpZ2luYC5UcmVnaXN0ZXJfYXNfY2FuZGlkYXRlAAMQQQFSZWdpc3RlciB0aGlzIGFjY291bnQgYXMgYSBjb2xsYXRvciBjYW5kaWRhdGUuIFRoZSBhY2NvdW50IG11c3QgKGEpIGFscmVhZHkgaGF2ZR0BcmVnaXN0ZXJlZCBzZXNzaW9uIGtleXMgYW5kIChiKSBiZSBhYmxlIHRvIHJlc2VydmUgdGhlIGBDYW5kaWRhY3lCb25kYC4A3FRoaXMgY2FsbCBpcyBub3QgYXZhaWxhYmxlIHRvIGBJbnZ1bG5lcmFibGVgIGNvbGxhdG9ycy4wbGVhdmVfaW50ZW50AAQUVQFEZXJlZ2lzdGVyIGBvcmlnaW5gIGFzIGEgY29sbGF0b3IgY2FuZGlkYXRlLiBOb3RlIHRoYXQgdGhlIGNvbGxhdG9yIGNhbiBvbmx5IGxlYXZlIG9uDQFzZXNzaW9uIGNoYW5nZS4gVGhlIGBDYW5kaWRhY3lCb25kYCB3aWxsIGJlIHVucmVzZXJ2ZWQgaW1tZWRpYXRlbHkuABkBVGhpcyBjYWxsIHdpbGwgZmFpbCBpZiB0aGUgdG90YWwgbnVtYmVyIG9mIGNhbmRpZGF0ZXMgd291bGQgZHJvcCBiZWxvd1xgTWluRWxpZ2libGVDb2xsYXRvcnNgLkBhZGRfaW52dWxuZXJhYmxlBAEMd2hvBAEwVDo6QWNjb3VudElkAAUQRQFBZGQgYSBuZXcgYWNjb3VudCBgd2hvYCB0byB0aGUgbGlzdCBvZiBgSW52dWxuZXJhYmxlc2AgY29sbGF0b3JzLiBgd2hvYCBtdXN0IGhhdmUdAXJlZ2lzdGVyZWQgc2Vzc2lvbiBrZXlzLiBJZiBgd2hvYCBpcyBhIGNhbmRpZGF0ZSwgdGhleSB3aWxsIGJlIHJlbW92ZWQuANBUaGUgb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSB0aGUgYFVwZGF0ZU9yaWdpbmAuTHJlbW92ZV9pbnZ1bG5lcmFibGUEAQx3aG8EATBUOjpBY2NvdW50SWQABhBhAVJlbW92ZSBhbiBhY2NvdW50IGB3aG9gIGZyb20gdGhlIGxpc3Qgb2YgYEludnVsbmVyYWJsZXNgIGNvbGxhdG9ycy4gYEludnVsbmVyYWJsZXNgIG11c3QoYmUgc29ydGVkLgDQVGhlIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgdGhlIGBVcGRhdGVPcmlnaW5gLix1cGRhdGVfYm9uZAQBLG5ld19kZXBvc2l0xAEwQmFsYW5jZU9mPFQ+AAccXQFVcGRhdGUgdGhlIGNhbmRpZGFjeSBib25kIG9mIGNvbGxhdG9yIGNhbmRpZGF0ZSBgb3JpZ2luYCB0byBhIG5ldyBhbW91bnQgYG5ld19kZXBvc2l0YC4AQQFTZXR0aW5nIGEgYG5ld19kZXBvc2l0YCB0aGF0IGlzIGxvd2VyIHRoYW4gdGhlIGN1cnJlbnQgZGVwb3NpdCB3aGlsZSBgb3JpZ2luYCBpc+BvY2N1cHlpbmcgYSB0b3AtYERlc2lyZWRDYW5kaWRhdGVzYCBzbG90IGlzIG5vdCBhbGxvd2VkLgBZAVRoaXMgY2FsbCB3aWxsIGZhaWwgaWYgYG9yaWdpbmAgaXMgbm90IGEgY29sbGF0b3IgY2FuZGlkYXRlLCB0aGUgdXBkYXRlZCBib25kIGlzIGxvd2VyGQF0aGFuIHRoZSBtaW5pbXVtIGNhbmRpZGFjeSBib25kLCBhbmQvb3IgdGhlIGFtb3VudCBjYW5ub3QgYmUgcmVzZXJ2ZWQuTHRha2VfY2FuZGlkYXRlX3Nsb3QIARxkZXBvc2l0xAEwQmFsYW5jZU9mPFQ+AAEYdGFyZ2V0BAEwVDo6QWNjb3VudElkAAgcTQFUaGUgY2FsbGVyIGBvcmlnaW5gIHJlcGxhY2VzIGEgY2FuZGlkYXRlIGB0YXJnZXRgIGluIHRoZSBjb2xsYXRvciBjYW5kaWRhdGUgbGlzdCBieVUBcmVzZXJ2aW5nIGBkZXBvc2l0YC4gVGhlIGFtb3VudCBgZGVwb3NpdGAgcmVzZXJ2ZWQgYnkgdGhlIGNhbGxlciBtdXN0IGJlIGdyZWF0ZXIgdGhhbuB0aGUgZXhpc3RpbmcgYm9uZCBvZiB0aGUgdGFyZ2V0IGl0IGlzIHRyeWluZyB0byByZXBsYWNlLgBZAVRoaXMgY2FsbCB3aWxsIGZhaWwgaWYgdGhlIGNhbGxlciBpcyBhbHJlYWR5IGEgY29sbGF0b3IgY2FuZGlkYXRlIG9yIGludnVsbmVyYWJsZSwgdGhlVQFjYWxsZXIgZG9lcyBub3QgaGF2ZSByZWdpc3RlcmVkIHNlc3Npb24ga2V5cywgdGhlIHRhcmdldCBpcyBub3QgYSBjb2xsYXRvciBjYW5kaWRhdGUsvGFuZC9vciB0aGUgYGRlcG9zaXRgIGFtb3VudCBjYW5ub3QgYmUgcmVzZXJ2ZWQuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLtgMOHBhbGxldF9zZXNzaW9uGHBhbGxldBBDYWxsBARUAAEIIHNldF9rZXlzCAEQa2V5c9wBHFQ6OktleXMAARRwcm9vZhgBHFZlYzx1OD4AACzkU2V0cyB0aGUgc2Vzc2lvbiBrZXkocykgb2YgdGhlIGZ1bmN0aW9uIGNhbGxlciB0byBga2V5c2AuAB0BQWxsb3dzIGFuIGFjY291bnQgdG8gc2V0IGl0cyBzZXNzaW9uIGtleSBwcmlvciB0byBiZWNvbWluZyBhIHZhbGlkYXRvci7AVGhpcyBkb2Vzbid0IHRha2UgZWZmZWN0IHVudGlsIHRoZSBuZXh0IHNlc3Npb24uAAEBLSBgb3JpZ2luYDogVGhlIGRpc3BhdGNoIG9yaWdpbiBvZiB0aGlzIGZ1bmN0aW9uIG11c3QgYmUgc2lnbmVkLlUBLSBga2V5c2A6IFRoZSBuZXcgc2Vzc2lvbiBrZXlzIHRvIHNldC4gVGhlc2UgYXJlIHRoZSBwdWJsaWMga2V5cyBvZiBhbGwgc2Vzc2lvbnMga2V5c1wgIHNldHVwIGluIHRoZSBydW50aW1lLkEBLSBgcHJvb2ZgOiBUaGUgcHJvb2YgdGhhdCBgb3JpZ2luYCBoYXMgYWNjZXNzIHRvIHRoZSBwcml2YXRlIGtleXMgb2YgYGtleXNgLiBTZWVNASAgW2BpbXBsX29wYXF1ZV9rZXlzYF0oc3BfcnVudGltZTo6aW1wbF9vcGFxdWVfa2V5cykgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlPCAgcHJvb2YgZm9ybWF0LihwdXJnZV9rZXlzAAEgyFJlbW92ZXMgYW55IHNlc3Npb24ga2V5KHMpIG9mIHRoZSBmdW5jdGlvbiBjYWxsZXIuAMBUaGlzIGRvZXNuJ3QgdGFrZSBlZmZlY3QgdW50aWwgdGhlIG5leHQgc2Vzc2lvbi4AVQFUaGUgZGlzcGF0Y2ggb3JpZ2luIG9mIHRoaXMgZnVuY3Rpb24gbXVzdCBiZSBTaWduZWQgYW5kIHRoZSBhY2NvdW50IG11c3QgYmUgZWl0aGVyIGJlXQFjb252ZXJ0aWJsZSB0byBhIHZhbGlkYXRvciBJRCB1c2luZyB0aGUgY2hhaW4ncyB0eXBpY2FsIGFkZHJlc3Npbmcgc3lzdGVtICh0aGlzIHVzdWFsbHlRAW1lYW5zIGJlaW5nIGEgY29udHJvbGxlciBhY2NvdW50KSBvciBkaXJlY3RseSBjb252ZXJ0aWJsZSBpbnRvIGEgdmFsaWRhdG9yIElEICh3aGljaJR1c3VhbGx5IG1lYW5zIGJlaW5nIGEgc3Rhc2ggYWNjb3VudCkuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLtwIbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZSxTZXNzaW9uS2V5cwAABAEQYXVyYeABxDxBdXJhIGFzICRjcmF0ZTo6Qm91bmRUb1J1bnRpbWVBcHBQdWJsaWM+OjpQdWJsaWMAAOAQRHNwX2NvbnNlbnN1c19hdXJhHHNyMjU1MTksYXBwX3NyMjU1MTkYUHVibGljAAAEAAgBPHNyMjU1MTk6OlB1YmxpYwAA5AxkY3VtdWx1c19wYWxsZXRfeGNtcF9xdWV1ZRhwYWxsZXQQQ2FsbAQEVAABFFRzdXNwZW5kX3hjbV9leGVjdXRpb24AAQxJAVN1c3BlbmRzIGFsbCBYQ00gZXhlY3V0aW9ucyBmb3IgdGhlIFhDTVAgcXVldWUsIHJlZ2FyZGxlc3Mgb2YgdGhlIHNlbmRlcidzIG9yaWdpbi4ApC0gYG9yaWdpbmA6IE11c3QgcGFzcyBgQ29udHJvbGxlck9yaWdpbmAuUHJlc3VtZV94Y21fZXhlY3V0aW9uAAIUuFJlc3VtZXMgYWxsIFhDTSBleGVjdXRpb25zIGZvciB0aGUgWENNUCBxdWV1ZS4APQFOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBkb2Vzbid0IGNoYW5nZSB0aGUgc3RhdHVzIG9mIHRoZSBpbi9vdXQgYm91bmQgY2hhbm5lbHMuAKQtIGBvcmlnaW5gOiBNdXN0IHBhc3MgYENvbnRyb2xsZXJPcmlnaW5gLmB1cGRhdGVfc3VzcGVuZF90aHJlc2hvbGQEAQxuZXc4AQx1MzIAAxRJAU92ZXJ3cml0ZXMgdGhlIG51bWJlciBvZiBwYWdlcyB3aGljaCBtdXN0IGJlIGluIHRoZSBxdWV1ZSBmb3IgdGhlIG90aGVyIHNpZGUgdG8gYmV4dG9sZCB0byBzdXNwZW5kIHRoZWlyIHNlbmRpbmcuAHQtIGBvcmlnaW5gOiBNdXN0IHBhc3MgYFJvb3RgLugtIGBuZXdgOiBEZXNpcmVkIHZhbHVlIGZvciBgUXVldWVDb25maWdEYXRhLnN1c3BlbmRfdmFsdWVgVHVwZGF0ZV9kcm9wX3RocmVzaG9sZAQBDG5ldzgBDHUzMgAEFEUBT3ZlcndyaXRlcyB0aGUgbnVtYmVyIG9mIHBhZ2VzIHdoaWNoIG11c3QgYmUgaW4gdGhlIHF1ZXVlIGFmdGVyIHdoaWNoIHdlIGRyb3AgYW55iGZ1cnRoZXIgbWVzc2FnZXMgZnJvbSB0aGUgY2hhbm5lbC4AdC0gYG9yaWdpbmA6IE11c3QgcGFzcyBgUm9vdGAu7C0gYG5ld2A6IERlc2lyZWQgdmFsdWUgZm9yIGBRdWV1ZUNvbmZpZ0RhdGEuZHJvcF90aHJlc2hvbGRgXHVwZGF0ZV9yZXN1bWVfdGhyZXNob2xkBAEMbmV3OAEMdTMyAAUUTQFPdmVyd3JpdGVzIHRoZSBudW1iZXIgb2YgcGFnZXMgd2hpY2ggdGhlIHF1ZXVlIG11c3QgYmUgcmVkdWNlZCB0byBiZWZvcmUgaXQgc2lnbmFscwEBdGhhdCBtZXNzYWdlIHNlbmRpbmcgbWF5IHJlY29tbWVuY2UgYWZ0ZXIgaXQgaGFzIGJlZW4gc3VzcGVuZGVkLgB0LSBgb3JpZ2luYDogTXVzdCBwYXNzIGBSb290YC70LSBgbmV3YDogRGVzaXJlZCB2YWx1ZSBmb3IgYFF1ZXVlQ29uZmlnRGF0YS5yZXN1bWVfdGhyZXNob2xkYAQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy7oDChwYWxsZXRfeGNtGHBhbGxldBBDYWxsBARUAAFEEHNlbmQIARBkZXN07AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABHG1lc3NhZ2V1AQFUQm94PFZlcnNpb25lZFhjbTwoKT4+AAAAPHRlbGVwb3J0X2Fzc2V0cxABEGRlc3TsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRzuQIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW04AQx1MzIAAUgRAVRlbGVwb3J0IHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHNvbWUgZGVzdGluYXRpb24gY2hhaW4uAB0BKipUaGlzIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQ6IFVzZSBgbGltaXRlZF90ZWxlcG9ydF9hc3NldHNgIGluc3RlYWQuKioAUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2ZhAWluZGV4IGBmZWVfYXNzZXRfaXRlbWAuIFRoZSB3ZWlnaHQgbGltaXQgZm9yIGZlZXMgaXMgbm90IHByb3ZpZGVkIGFuZCB0aHVzIGlzIHVubGltaXRlZCy0d2l0aCBhbGwgZmVlcyB0YWtlbiBhcyBuZWVkZWQgZnJvbSB0aGUgYXNzZXQuACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb21UICByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZWggIGZlZSBvbiB0aGUgYGRlc3RgIGNoYWluLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLlxyZXNlcnZlX3RyYW5zZmVyX2Fzc2V0cxABEGRlc3TsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRzuQIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW04AQx1MzIAAnhdAVRyYW5zZmVyIHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB0aHJvdWdoIHRoZWlyIGxvY2FsLHhkZXN0aW5hdGlvbiBvciByZW1vdGUgcmVzZXJ2ZS4APQFgYXNzZXRzYCBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIGFuZCBtYXkgbm90IGJlIHRlbGVwb3J0YWJsZSB0byBgZGVzdGAuTQEgLSBgYXNzZXRzYCBoYXZlIGxvY2FsIHJlc2VydmU6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbk0BICAgY2hhaW4gYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWRsICAgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuVQEgLSBgYXNzZXRzYCBoYXZlIGRlc3RpbmF0aW9uIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvWQEgICBgZGVzdGAgY2hhaW4gdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZIQgICBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC5hASAtIGBhc3NldHNgIGhhdmUgcmVtb3RlIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byByZXNlcnZlIGNoYWluIHRvIG1vdmVhASAgIHJlc2VydmVzIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyIFhDTSB0byBgZGVzdGD0ICAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLgA9ASoqVGhpcyBmdW5jdGlvbiBpcyBkZXByZWNhdGVkOiBVc2UgYGxpbWl0ZWRfcmVzZXJ2ZV90cmFuc2Zlcl9hc3NldHNgIGluc3RlYWQuKioAUQFGZWUgcGF5bWVudCBvbiB0aGUgZGVzdGluYXRpb24gc2lkZSBpcyBtYWRlIGZyb20gdGhlIGFzc2V0IGluIHRoZSBgYXNzZXRzYCB2ZWN0b3Igb2ZhAWluZGV4IGBmZWVfYXNzZXRfaXRlbWAuIFRoZSB3ZWlnaHQgbGltaXQgZm9yIGZlZXMgaXMgbm90IHByb3ZpZGVkIGFuZCB0aHVzIGlzIHVubGltaXRlZCy0d2l0aCBhbGwgZmVlcyB0YWtlbiBhcyBuZWVkZWQgZnJvbSB0aGUgYXNzZXQuACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb21UICByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZcggIGZlZSBvbiB0aGUgYGRlc3RgIChhbmQgcG9zc2libHkgcmVzZXJ2ZSkgY2hhaW5zLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLhxleGVjdXRlCAEcbWVzc2FnZb0CAbRCb3g8VmVyc2lvbmVkWGNtPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPj4AAShtYXhfd2VpZ2h0tQEBGFdlaWdodAADINBFeGVjdXRlIGFuIFhDTSBtZXNzYWdlIGZyb20gYSBsb2NhbCwgc2lnbmVkLCBvcmlnaW4uAE0BQW4gZXZlbnQgaXMgZGVwb3NpdGVkIGluZGljYXRpbmcgd2hldGhlciBgbXNnYCBjb3VsZCBiZSBleGVjdXRlZCBjb21wbGV0ZWx5IG9yIG9ubHkocGFydGlhbGx5LgBdAU5vIG1vcmUgdGhhbiBgbWF4X3dlaWdodGAgd2lsbCBiZSB1c2VkIGluIGl0cyBhdHRlbXB0ZWQgZXhlY3V0aW9uLiBJZiB0aGlzIGlzIGxlc3MgdGhhbkEBdGhlIG1heGltdW0gYW1vdW50IG9mIHdlaWdodCB0aGF0IHRoZSBtZXNzYWdlIGNvdWxkIHRha2UgdG8gYmUgZXhlY3V0ZWQsIHRoZW4gbm98ZXhlY3V0aW9uIGF0dGVtcHQgd2lsbCBiZSBtYWRlLkRmb3JjZV94Y21fdmVyc2lvbggBIGxvY2F0aW9uQQEBNEJveDxMb2NhdGlvbj4AARx2ZXJzaW9uOAEoWGNtVmVyc2lvbgAEGEkBRXh0b2xsIHRoYXQgYSBwYXJ0aWN1bGFyIGRlc3RpbmF0aW9uIGNhbiBiZSBjb21tdW5pY2F0ZWQgd2l0aCB0aHJvdWdoIGEgcGFydGljdWxhcjx2ZXJzaW9uIG9mIFhDTS4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi7YLSBgbG9jYXRpb25gOiBUaGUgZGVzdGluYXRpb24gdGhhdCBpcyBiZWluZyBkZXNjcmliZWQuEQEtIGB4Y21fdmVyc2lvbmA6IFRoZSBsYXRlc3QgdmVyc2lvbiBvZiBYQ00gdGhhdCBgbG9jYXRpb25gIHN1cHBvcnRzLmRmb3JjZV9kZWZhdWx0X3hjbV92ZXJzaW9uBAFEbWF5YmVfeGNtX3ZlcnNpb27pAgFIT3B0aW9uPFhjbVZlcnNpb24+AAUUWQFTZXQgYSBzYWZlIFhDTSB2ZXJzaW9uICh0aGUgdmVyc2lvbiB0aGF0IFhDTSBzaG91bGQgYmUgZW5jb2RlZCB3aXRoIGlmIHRoZSBtb3N0IHJlY2VudLR2ZXJzaW9uIGEgZGVzdGluYXRpb24gY2FuIGFjY2VwdCBpcyB1bmtub3duKS4A3C0gYG9yaWdpbmA6IE11c3QgYmUgYW4gb3JpZ2luIHNwZWNpZmllZCBieSBBZG1pbk9yaWdpbi45AS0gYG1heWJlX3hjbV92ZXJzaW9uYDogVGhlIGRlZmF1bHQgWENNIGVuY29kaW5nIHZlcnNpb24sIG9yIGBOb25lYCB0byBkaXNhYmxlLnhmb3JjZV9zdWJzY3JpYmVfdmVyc2lvbl9ub3RpZnkEASBsb2NhdGlvbuwBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4ABhA5AUFzayBhIGxvY2F0aW9uIHRvIG5vdGlmeSB1cyByZWdhcmRpbmcgdGhlaXIgWENNIHZlcnNpb24gYW5kIGFueSBjaGFuZ2VzIHRvIGl0LgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLlkBLSBgbG9jYXRpb25gOiBUaGUgbG9jYXRpb24gdG8gd2hpY2ggd2Ugc2hvdWxkIHN1YnNjcmliZSBmb3IgWENNIHZlcnNpb24gbm90aWZpY2F0aW9ucy6AZm9yY2VfdW5zdWJzY3JpYmVfdmVyc2lvbl9ub3RpZnkEASBsb2NhdGlvbuwBWEJveDxWZXJzaW9uZWRMb2NhdGlvbj4ABxhJAVJlcXVpcmUgdGhhdCBhIHBhcnRpY3VsYXIgZGVzdGluYXRpb24gc2hvdWxkIG5vIGxvbmdlciBub3RpZnkgdXMgcmVnYXJkaW5nIGFueSBYQ01AdmVyc2lvbiBjaGFuZ2VzLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLj0BLSBgbG9jYXRpb25gOiBUaGUgbG9jYXRpb24gdG8gd2hpY2ggd2UgYXJlIGN1cnJlbnRseSBzdWJzY3JpYmVkIGZvciBYQ00gdmVyc2lvbqggIG5vdGlmaWNhdGlvbnMgd2hpY2ggd2Ugbm8gbG9uZ2VyIGRlc2lyZS58bGltaXRlZF9yZXNlcnZlX3RyYW5zZmVyX2Fzc2V0cxQBEGRlc3TsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRzuQIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW04AQx1MzIAATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQACHhdAVRyYW5zZmVyIHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB0aHJvdWdoIHRoZWlyIGxvY2FsLHhkZXN0aW5hdGlvbiBvciByZW1vdGUgcmVzZXJ2ZS4APQFgYXNzZXRzYCBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIGFuZCBtYXkgbm90IGJlIHRlbGVwb3J0YWJsZSB0byBgZGVzdGAuTQEgLSBgYXNzZXRzYCBoYXZlIGxvY2FsIHJlc2VydmU6IHRyYW5zZmVyIGFzc2V0cyB0byBzb3ZlcmVpZ24gYWNjb3VudCBvZiBkZXN0aW5hdGlvbk0BICAgY2hhaW4gYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gWENNIHRvIGBkZXN0YCB0byBtaW50IGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWRsICAgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuVQEgLSBgYXNzZXRzYCBoYXZlIGRlc3RpbmF0aW9uIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvWQEgICBgZGVzdGAgY2hhaW4gdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZIQgICBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC5hASAtIGBhc3NldHNgIGhhdmUgcmVtb3RlIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byByZXNlcnZlIGNoYWluIHRvIG1vdmVhASAgIHJlc2VydmVzIGZyb20gdGhpcyBjaGFpbidzIFNBIHRvIGBkZXN0YCBjaGFpbidzIFNBLCBhbmQgZm9yd2FyZCBhbm90aGVyIFhDTSB0byBgZGVzdGD0ICAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZmEBaW5kZXggYGZlZV9hc3NldF9pdGVtYCwgdXAgdG8gZW5vdWdoIHRvIHBheSBmb3IgYHdlaWdodF9saW1pdGAgb2Ygd2VpZ2h0LiBJZiBtb3JlIHdlaWdodFkBaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhlIG9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbVQgIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlyCAgZmVlIG9uIHRoZSBgZGVzdGAgKGFuZCBwb3NzaWJseSByZXNlcnZlKSBjaGFpbnMuTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS5cbGltaXRlZF90ZWxlcG9ydF9hc3NldHMUARBkZXN07AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABLGJlbmVmaWNpYXJ57AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c7kCAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABOGZlZV9hc3NldF9pdGVtOAEMdTMyAAEwd2VpZ2h0X2xpbWl07QEBLFdlaWdodExpbWl0AAlIEQFUZWxlcG9ydCBzb21lIGFzc2V0cyBmcm9tIHRoZSBsb2NhbCBjaGFpbiB0byBzb21lIGRlc3RpbmF0aW9uIGNoYWluLgBRAUZlZSBwYXltZW50IG9uIHRoZSBkZXN0aW5hdGlvbiBzaWRlIGlzIG1hZGUgZnJvbSB0aGUgYXNzZXQgaW4gdGhlIGBhc3NldHNgIHZlY3RvciBvZmEBaW5kZXggYGZlZV9hc3NldF9pdGVtYCwgdXAgdG8gZW5vdWdoIHRvIHBheSBmb3IgYHdlaWdodF9saW1pdGAgb2Ygd2VpZ2h0LiBJZiBtb3JlIHdlaWdodFkBaXMgbmVlZGVkIHRoYW4gYHdlaWdodF9saW1pdGAsIHRoZW4gdGhlIG9wZXJhdGlvbiB3aWxsIGZhaWwgYW5kIHRoZSBzZW50IGFzc2V0cyBtYXkgYmUgYXQgcmlzay4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLiUBLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBbUGFyZW50LGEBICBQYXJhY2hhaW4oLi4pXWAgdG8gc2VuZCBmcm9tIHBhcmFjaGFpbiB0byBwYXJhY2hhaW4sIG9yIGBbUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbVQgIHJlbGF5IHRvIHBhcmFjaGFpbi5VAS0gYGJlbmVmaWNpYXJ5YDogQSBiZW5lZmljaWFyeSBsb2NhdGlvbiBmb3IgdGhlIGFzc2V0cyBpbiB0aGUgY29udGV4dCBvZiBgZGVzdGAuIFdpbGyYICBnZW5lcmFsbHkgYmUgYW4gYEFjY291bnRJZDMyYCB2YWx1ZS5ZAS0gYGFzc2V0c2A6IFRoZSBhc3NldHMgdG8gYmUgd2l0aGRyYXduLiBUaGlzIHNob3VsZCBpbmNsdWRlIHRoZSBhc3NldHMgdXNlZCB0byBwYXkgdGhlaCAgZmVlIG9uIHRoZSBgZGVzdGAgY2hhaW4uTQEtIGBmZWVfYXNzZXRfaXRlbWA6IFRoZSBpbmRleCBpbnRvIGBhc3NldHNgIG9mIHRoZSBpdGVtIHdoaWNoIHNob3VsZCBiZSB1c2VkIHRvIHBheRwgIGZlZXMuRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS5AZm9yY2Vfc3VzcGVuc2lvbgQBJHN1c3BlbmRlZMgBEGJvb2wAChD0U2V0IG9yIHVuc2V0IHRoZSBnbG9iYWwgc3VzcGVuc2lvbiBzdGF0ZSBvZiB0aGUgWENNIGV4ZWN1dG9yLgDcLSBgb3JpZ2luYDogTXVzdCBiZSBhbiBvcmlnaW4gc3BlY2lmaWVkIGJ5IEFkbWluT3JpZ2luLtAtIGBzdXNwZW5kZWRgOiBgdHJ1ZWAgdG8gc3VzcGVuZCwgYGZhbHNlYCB0byByZXN1bWUuPHRyYW5zZmVyX2Fzc2V0cxQBEGRlc3TsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEsYmVuZWZpY2lhcnnsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEYYXNzZXRzuQIBUEJveDxWZXJzaW9uZWRBc3NldHM+AAE4ZmVlX2Fzc2V0X2l0ZW04AQx1MzIAATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAC4RdAVRyYW5zZmVyIHNvbWUgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB0aHJvdWdoIHRoZWlyIGxvY2FsLNBkZXN0aW5hdGlvbiBvciByZW1vdGUgcmVzZXJ2ZSwgb3IgdGhyb3VnaCB0ZWxlcG9ydHMuAFEBRmVlIHBheW1lbnQgb24gdGhlIGRlc3RpbmF0aW9uIHNpZGUgaXMgbWFkZSBmcm9tIHRoZSBhc3NldCBpbiB0aGUgYGFzc2V0c2AgdmVjdG9yIG9mNQFpbmRleCBgZmVlX2Fzc2V0X2l0ZW1gIChoZW5jZSByZWZlcnJlZCB0byBhcyBgZmVlc2ApLCB1cCB0byBlbm91Z2ggdG8gcGF5IGZvckEBYHdlaWdodF9saW1pdGAgb2Ygd2VpZ2h0LiBJZiBtb3JlIHdlaWdodCBpcyBuZWVkZWQgdGhhbiBgd2VpZ2h0X2xpbWl0YCwgdGhlbiB0aGXcb3BlcmF0aW9uIHdpbGwgZmFpbCBhbmQgdGhlIHNlbnQgYXNzZXRzIG1heSBiZSBhdCByaXNrLgBhAWBhc3NldHNgIChleGNsdWRpbmcgYGZlZXNgKSBtdXN0IGhhdmUgc2FtZSByZXNlcnZlIGxvY2F0aW9uIG9yIG90aGVyd2lzZSBiZSB0ZWxlcG9ydGFibGWwdG8gYGRlc3RgLCBubyBsaW1pdGF0aW9ucyBpbXBvc2VkIG9uIGBmZWVzYC5NASAtIGZvciBsb2NhbCByZXNlcnZlOiB0cmFuc2ZlciBhc3NldHMgdG8gc292ZXJlaWduIGFjY291bnQgb2YgZGVzdGluYXRpb24gY2hhaW4gYW5kTQEgICBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0b0QgICBgYmVuZWZpY2lhcnlgLmEBIC0gZm9yIGRlc3RpbmF0aW9uIHJlc2VydmU6IGJ1cm4gbG9jYWwgYXNzZXRzIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIHRvIGBkZXN0YCBjaGFpblkBICAgdG8gd2l0aGRyYXcgdGhlIHJlc2VydmUgYXNzZXRzIGZyb20gdGhpcyBjaGFpbidzIHNvdmVyZWlnbiBhY2NvdW50IGFuZCBkZXBvc2l0IHRoZW1QICAgdG8gYGJlbmVmaWNpYXJ5YC5dASAtIGZvciByZW1vdGUgcmVzZXJ2ZTogYnVybiBsb2NhbCBhc3NldHMsIGZvcndhcmQgWENNIHRvIHJlc2VydmUgY2hhaW4gdG8gbW92ZSByZXNlcnZlc10BICAgZnJvbSB0aGlzIGNoYWluJ3MgU0EgdG8gYGRlc3RgIGNoYWluJ3MgU0EsIGFuZCBmb3J3YXJkIGFub3RoZXIgWENNIHRvIGBkZXN0YCB0byBtaW501CAgIGFuZCBkZXBvc2l0IHJlc2VydmUtYmFzZWQgYXNzZXRzIHRvIGBiZW5lZmljaWFyeWAuUQEgLSBmb3IgdGVsZXBvcnRzOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBYQ00gdG8gYGRlc3RgIGNoYWluIHRvIG1pbnQvdGVsZXBvcnSwICAgYXNzZXRzIGFuZCBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC4AKQEtIGBvcmlnaW5gOiBNdXN0IGJlIGNhcGFibGUgb2Ygd2l0aGRyYXdpbmcgdGhlIGBhc3NldHNgIGFuZCBleGVjdXRpbmcgWENNLi0BLSBgZGVzdGA6IERlc3RpbmF0aW9uIGNvbnRleHQgZm9yIHRoZSBhc3NldHMuIFdpbGwgdHlwaWNhbGx5IGJlIGBYMihQYXJlbnQsVQEgIFBhcmFjaGFpbiguLikpYCB0byBzZW5kIGZyb20gcGFyYWNoYWluIHRvIHBhcmFjaGFpbiwgb3IgYFgxKFBhcmFjaGFpbiguLikpYCB0byBzZW5kaCAgZnJvbSByZWxheSB0byBwYXJhY2hhaW4uVQEtIGBiZW5lZmljaWFyeWA6IEEgYmVuZWZpY2lhcnkgbG9jYXRpb24gZm9yIHRoZSBhc3NldHMgaW4gdGhlIGNvbnRleHQgb2YgYGRlc3RgLiBXaWxsmCAgZ2VuZXJhbGx5IGJlIGFuIGBBY2NvdW50SWQzMmAgdmFsdWUuWQEtIGBhc3NldHNgOiBUaGUgYXNzZXRzIHRvIGJlIHdpdGhkcmF3bi4gVGhpcyBzaG91bGQgaW5jbHVkZSB0aGUgYXNzZXRzIHVzZWQgdG8gcGF5IHRoZcggIGZlZSBvbiB0aGUgYGRlc3RgIChhbmQgcG9zc2libHkgcmVzZXJ2ZSkgY2hhaW5zLk0BLSBgZmVlX2Fzc2V0X2l0ZW1gOiBUaGUgaW5kZXggaW50byBgYXNzZXRzYCBvZiB0aGUgaXRlbSB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBwYXkcICBmZWVzLkUBLSBgd2VpZ2h0X2xpbWl0YDogVGhlIHJlbW90ZS1zaWRlIHdlaWdodCBsaW1pdCwgaWYgYW55LCBmb3IgdGhlIFhDTSBmZWUgcHVyY2hhc2UuMGNsYWltX2Fzc2V0cwgBGGFzc2V0c7kCAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABLGJlbmVmaWNpYXJ57AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgAMGFUBQ2xhaW1zIGFzc2V0cyB0cmFwcGVkIG9uIHRoaXMgcGFsbGV0IGJlY2F1c2Ugb2YgbGVmdG92ZXIgYXNzZXRzIGR1cmluZyBYQ00gZXhlY3V0aW9uLgCsLSBgb3JpZ2luYDogQW55b25lIGNhbiBjYWxsIHRoaXMgZXh0cmluc2ljLl0BLSBgYXNzZXRzYDogVGhlIGV4YWN0IGFzc2V0cyB0aGF0IHdlcmUgdHJhcHBlZC4gVXNlIHRoZSB2ZXJzaW9uIHRvIHNwZWNpZnkgd2hhdCB2ZXJzaW9umHdhcyB0aGUgbGF0ZXN0IHdoZW4gdGhleSB3ZXJlIHRyYXBwZWQuRQEtIGBiZW5lZmljaWFyeWA6IFRoZSBsb2NhdGlvbi9hY2NvdW50IHdoZXJlIHRoZSBjbGFpbWVkIGFzc2V0cyB3aWxsIGJlIGRlcG9zaXRlZC6MdHJhbnNmZXJfYXNzZXRzX3VzaW5nX3R5cGVfYW5kX3RoZW4cARBkZXN07AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABGGFzc2V0c7kCAVBCb3g8VmVyc2lvbmVkQXNzZXRzPgABUGFzc2V0c190cmFuc2Zlcl90eXBl7QIBREJveDxUcmFuc2ZlclR5cGU+AAE4cmVtb3RlX2ZlZXNfaWTxAgFUQm94PFZlcnNpb25lZEFzc2V0SWQ+AAFIZmVlc190cmFuc2Zlcl90eXBl7QIBREJveDxUcmFuc2ZlclR5cGU+AAFIY3VzdG9tX3hjbV9vbl9kZXN0dQEBVEJveDxWZXJzaW9uZWRYY208KCk+PgABMHdlaWdodF9saW1pdO0BASxXZWlnaHRMaW1pdAANwFUBVHJhbnNmZXIgYXNzZXRzIGZyb20gdGhlIGxvY2FsIGNoYWluIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbiB1c2luZyBleHBsaWNpdCB0cmFuc2Zlcmh0eXBlcyBmb3IgYXNzZXRzIGFuZCBmZWVzLgBZAWBhc3NldHNgIG11c3QgaGF2ZSBzYW1lIHJlc2VydmUgbG9jYXRpb24gb3IgbWF5IGJlIHRlbGVwb3J0YWJsZSB0byBgZGVzdGAuIENhbGxlciBtdXN07HByb3ZpZGUgdGhlIGBhc3NldHNfdHJhbnNmZXJfdHlwZWAgdG8gYmUgdXNlZCBmb3IgYGFzc2V0c2A6UQEgLSBgVHJhbnNmZXJUeXBlOjpMb2NhbFJlc2VydmVgOiB0cmFuc2ZlciBhc3NldHMgdG8gc292ZXJlaWduIGFjY291bnQgb2YgZGVzdGluYXRpb25NASAgIGNoYWluIGFuZCBmb3J3YXJkIGEgbm90aWZpY2F0aW9uIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkbCAgIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLlkBIC0gYFRyYW5zZmVyVHlwZTo6RGVzdGluYXRpb25SZXNlcnZlYDogYnVybiBsb2NhbCBhc3NldHMgYW5kIGZvcndhcmQgYSBub3RpZmljYXRpb24gdG9ZASAgIGBkZXN0YCBjaGFpbiB0byB3aXRoZHJhdyB0aGUgcmVzZXJ2ZSBhc3NldHMgZnJvbSB0aGlzIGNoYWluJ3Mgc292ZXJlaWduIGFjY291bnQgYW5khCAgIGRlcG9zaXQgdGhlbSB0byBgYmVuZWZpY2lhcnlgLlkBIC0gYFRyYW5zZmVyVHlwZTo6UmVtb3RlUmVzZXJ2ZShyZXNlcnZlKWA6IGJ1cm4gbG9jYWwgYXNzZXRzLCBmb3J3YXJkIFhDTSB0byBgcmVzZXJ2ZWBhASAgIGNoYWluIHRvIG1vdmUgcmVzZXJ2ZXMgZnJvbSB0aGlzIGNoYWluJ3MgU0EgdG8gYGRlc3RgIGNoYWluJ3MgU0EsIGFuZCBmb3J3YXJkIGFub3RoZXJVASAgIFhDTSB0byBgZGVzdGAgdG8gbWludCBhbmQgZGVwb3NpdCByZXNlcnZlLWJhc2VkIGFzc2V0cyB0byBgYmVuZWZpY2lhcnlgLiBUeXBpY2FsbHmUICAgdGhlIHJlbW90ZSBgcmVzZXJ2ZWAgaXMgQXNzZXQgSHViLkUBIC0gYFRyYW5zZmVyVHlwZTo6VGVsZXBvcnRgOiBidXJuIGxvY2FsIGFzc2V0cyBhbmQgZm9yd2FyZCBYQ00gdG8gYGRlc3RgIGNoYWluIHRv6CAgIG1pbnQvdGVsZXBvcnQgYXNzZXRzIGFuZCBkZXBvc2l0IHRoZW0gdG8gYGJlbmVmaWNpYXJ5YC4AVQFPbiB0aGUgZGVzdGluYXRpb24gY2hhaW4sIGFzIHdlbGwgYXMgYW55IGludGVybWVkaWFyeSBob3BzLCBgQnV5RXhlY3V0aW9uYCBpcyB1c2VkIHRvIQFidXkgZXhlY3V0aW9uIHVzaW5nIHRyYW5zZmVycmVkIGBhc3NldHNgIGlkZW50aWZpZWQgYnkgYHJlbW90ZV9mZWVzX2lkYC5ZAU1ha2Ugc3VyZSBlbm91Z2ggb2YgdGhlIHNwZWNpZmllZCBgcmVtb3RlX2ZlZXNfaWRgIGFzc2V0IGlzIGluY2x1ZGVkIGluIHRoZSBnaXZlbiBsaXN0YQFvZiBgYXNzZXRzYC4gYHJlbW90ZV9mZWVzX2lkYCBzaG91bGQgYmUgZW5vdWdoIHRvIHBheSBmb3IgYHdlaWdodF9saW1pdGAuIElmIG1vcmUgd2VpZ2h0WQFpcyBuZWVkZWQgdGhhbiBgd2VpZ2h0X2xpbWl0YCwgdGhlbiB0aGUgb3BlcmF0aW9uIHdpbGwgZmFpbCBhbmQgdGhlIHNlbnQgYXNzZXRzIG1heSBiZSBhdCByaXNrLgBFAWByZW1vdGVfZmVlc19pZGAgbWF5IHVzZSBkaWZmZXJlbnQgdHJhbnNmZXIgdHlwZSB0aGFuIHJlc3Qgb2YgYGFzc2V0c2AgYW5kIGNhbiBiZZxzcGVjaWZpZWQgdGhyb3VnaCBgZmVlc190cmFuc2Zlcl90eXBlYC4AYQFUaGUgY2FsbGVyIG5lZWRzIHRvIHNwZWNpZnkgd2hhdCBzaG91bGQgaGFwcGVuIHRvIHRoZSB0cmFuc2ZlcnJlZCBhc3NldHMgb25jZSB0aGV5IHJlYWNoQQF0aGUgYGRlc3RgIGNoYWluLiBUaGlzIGlzIGRvbmUgdGhyb3VnaCB0aGUgYGN1c3RvbV94Y21fb25fZGVzdGAgcGFyYW1ldGVyLCB3aGljaPxjb250YWlucyB0aGUgaW5zdHJ1Y3Rpb25zIHRvIGV4ZWN1dGUgb24gYGRlc3RgIGFzIGEgZmluYWwgc3RlcC58ICBUaGlzIGlzIHVzdWFsbHkgYXMgc2ltcGxlIGFzOlEBICBgWGNtKHZlYyFbRGVwb3NpdEFzc2V0IHsgYXNzZXRzOiBXaWxkKEFsbENvdW50ZWQoYXNzZXRzLmxlbigpKSksIGJlbmVmaWNpYXJ5IH1dKWAsMQEgIGJ1dCBjb3VsZCBiZSBzb21ldGhpbmcgbW9yZSBleG90aWMgbGlrZSBzZW5kaW5nIHRoZSBgYXNzZXRzYCBldmVuIGZ1cnRoZXIuACkBLSBgb3JpZ2luYDogTXVzdCBiZSBjYXBhYmxlIG9mIHdpdGhkcmF3aW5nIHRoZSBgYXNzZXRzYCBhbmQgZXhlY3V0aW5nIFhDTS4lAS0gYGRlc3RgOiBEZXN0aW5hdGlvbiBjb250ZXh0IGZvciB0aGUgYXNzZXRzLiBXaWxsIHR5cGljYWxseSBiZSBgW1BhcmVudCxhASAgUGFyYWNoYWluKC4uKV1gIHRvIHNlbmQgZnJvbSBwYXJhY2hhaW4gdG8gcGFyYWNoYWluLCBvciBgW1BhcmFjaGFpbiguLildYCB0byBzZW5kIGZyb209ASAgcmVsYXkgdG8gcGFyYWNoYWluLCBvciBgKHBhcmVudHM6IDIsIChHbG9iYWxDb25zZW5zdXMoLi4pLCAuLikpYCB0byBzZW5kIGZyb230ICBwYXJhY2hhaW4gYWNyb3NzIGEgYnJpZGdlIHRvIGFub3RoZXIgZWNvc3lzdGVtIGRlc3RpbmF0aW9uLlkBLSBgYXNzZXRzYDogVGhlIGFzc2V0cyB0byBiZSB3aXRoZHJhd24uIFRoaXMgc2hvdWxkIGluY2x1ZGUgdGhlIGFzc2V0cyB1c2VkIHRvIHBheSB0aGXIICBmZWUgb24gdGhlIGBkZXN0YCAoYW5kIHBvc3NpYmx5IHJlc2VydmUpIGNoYWlucy49AS0gYGFzc2V0c190cmFuc2Zlcl90eXBlYDogVGhlIFhDTSBgVHJhbnNmZXJUeXBlYCB1c2VkIHRvIHRyYW5zZmVyIHRoZSBgYXNzZXRzYC4hAS0gYHJlbW90ZV9mZWVzX2lkYDogT25lIG9mIHRoZSBpbmNsdWRlZCBgYXNzZXRzYCB0byBiZSB1c2VkIHRvIHBheSBmZWVzLkkBLSBgZmVlc190cmFuc2Zlcl90eXBlYDogVGhlIFhDTSBgVHJhbnNmZXJUeXBlYCB1c2VkIHRvIHRyYW5zZmVyIHRoZSBgZmVlc2AgYXNzZXRzLlkBLSBgY3VzdG9tX3hjbV9vbl9kZXN0YDogVGhlIFhDTSB0byBiZSBleGVjdXRlZCBvbiBgZGVzdGAgY2hhaW4gYXMgdGhlIGxhc3Qgc3RlcCBvZiB0aGVZASAgdHJhbnNmZXIsIHdoaWNoIGFsc28gZGV0ZXJtaW5lcyB3aGF0IGhhcHBlbnMgdG8gdGhlIGFzc2V0cyBvbiB0aGUgZGVzdGluYXRpb24gY2hhaW4uRQEtIGB3ZWlnaHRfbGltaXRgOiBUaGUgcmVtb3RlLXNpZGUgd2VpZ2h0IGxpbWl0LCBpZiBhbnksIGZvciB0aGUgWENNIGZlZSBwdXJjaGFzZS5QYWRkX2F1dGhvcml6ZWRfYWxpYXMIARxhbGlhc2Vy7AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABHGV4cGlyZXP1AgEsT3B0aW9uPHU2ND4ADixdAUF1dGhvcml6ZSBhbm90aGVyIGBhbGlhc2VyYCBsb2NhdGlvbiB0byBhbGlhcyBpbnRvIHRoZSBsb2NhbCBgb3JpZ2luYCBtYWtpbmcgdGhpcyBjYWxsLikBVGhlIGBhbGlhc2VyYCBpcyBvbmx5IGF1dGhvcml6ZWQgdW50aWwgdGhlIHByb3ZpZGVkIGBleHBpcnlgIGJsb2NrIG51bWJlci5JAVRoZSBjYWxsIGNhbiBhbHNvIGJlIHVzZWQgZm9yIGEgcHJldmlvdXNseSBhdXRob3JpemVkIGFsaWFzIGluIG9yZGVyIHRvIHVwZGF0ZSBpdHNYYGV4cGlyeWAgYmxvY2sgbnVtYmVyLgBRAVVzdWFsbHkgdXNlZnVsIHRvIGFsbG93IHlvdXIgbG9jYWwgYWNjb3VudCB0byBiZSBhbGlhc2VkIGludG8gZnJvbSBhIHJlbW90ZSBsb2NhdGlvbvRhbHNvIHVuZGVyIHlvdXIgY29udHJvbCAobGlrZSB5b3VyIGFjY291bnQgb24gYW5vdGhlciBjaGFpbikuAFEBV0FSTklORzogbWFrZSBzdXJlIHRoZSBjYWxsZXIgYG9yaWdpbmAgKHlvdSkgdHJ1c3RzIHRoZSBgYWxpYXNlcmAgbG9jYXRpb24gdG8gYWN0IGluWQF0aGVpci95b3VyIG5hbWUuIE9uY2UgYXV0aG9yaXplZCB1c2luZyB0aGlzIGNhbGwsIHRoZSBgYWxpYXNlcmAgY2FuIGZyZWVseSBpbXBlcnNvbmF0ZdRgb3JpZ2luYCBpbiBYQ00gcHJvZ3JhbXMgZXhlY3V0ZWQgb24gdGhlIGxvY2FsIGNoYWluLlxyZW1vdmVfYXV0aG9yaXplZF9hbGlhcwQBHGFsaWFzZXLsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AA8IXQFSZW1vdmUgYSBwcmV2aW91c2x5IGF1dGhvcml6ZWQgYGFsaWFzZXJgIGZyb20gdGhlIGxpc3Qgb2YgbG9jYXRpb25zIHRoYXQgY2FuIGFsaWFzIGludG+QdGhlIGxvY2FsIGBvcmlnaW5gIG1ha2luZyB0aGlzIGNhbGwudHJlbW92ZV9hbGxfYXV0aG9yaXplZF9hbGlhc2VzABAISQFSZW1vdmUgYWxsIHByZXZpb3VzbHkgYXV0aG9yaXplZCBgYWxpYXNlcmBzIHRoYXQgY2FuIGFsaWFzIGludG8gdGhlIGxvY2FsIGBvcmlnaW5gRG1ha2luZyB0aGlzIGNhbGwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLuwIDHhjbURWZXJzaW9uZWRMb2NhdGlvbgABDAhWMwQA8AFEdjM6Ok11bHRpTG9jYXRpb24AAwAIVjQEAA0BATB2NDo6TG9jYXRpb24ABAAIVjUEAEEBATB2NTo6TG9jYXRpb24ABQAA8BAsc3RhZ2luZ194Y20IdjM0bXVsdGlsb2NhdGlvbjRNdWx0aUxvY2F0aW9uAAAIARxwYXJlbnRzDAEIdTgAASBpbnRlcmlvcvQBJEp1bmN0aW9ucwAA9BAMeGNtCHYzJGp1bmN0aW9ucyRKdW5jdGlvbnMAASQQSGVyZQAAAAhYMQQA+AEgSnVuY3Rpb24AAQAIWDIIAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgACAAhYMwwA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgADAAhYNBAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24ABAAIWDUUAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAFAAhYNhgA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAGAAhYNxwA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24ABwAIWDggAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAA+AEgSnVuY3Rpb24AAPgBIEp1bmN0aW9uAAD4ASBKdW5jdGlvbgAIAAD4EAx4Y20IdjMganVuY3Rpb24gSnVuY3Rpb24AASgkUGFyYWNoYWluBABgAQx1MzIAAAAsQWNjb3VudElkMzIIARxuZXR3b3Jr/AFET3B0aW9uPE5ldHdvcmtJZD4AAQhpZAgBIFt1ODsgMzJdAAEAOEFjY291bnRJbmRleDY0CAEcbmV0d29ya/wBRE9wdGlvbjxOZXR3b3JrSWQ+AAEUaW5kZXi0AQx1NjQAAgAwQWNjb3VudEtleTIwCAEcbmV0d29ya/wBRE9wdGlvbjxOZXR3b3JrSWQ+AAEMa2V5HAEgW3U4OyAyMF0AAwA4UGFsbGV0SW5zdGFuY2UEAAwBCHU4AAQAMEdlbmVyYWxJbmRleAQAwAEQdTEyOAAFAChHZW5lcmFsS2V5CAEYbGVuZ3RoDAEIdTgAARBkYXRhCAEgW3U4OyAzMl0ABgAkT25seUNoaWxkAAcAJFBsdXJhbGl0eQgBCGlkBQEBGEJvZHlJZAABEHBhcnQJAQEgQm9keVBhcnQACAA8R2xvYmFsQ29uc2Vuc3VzBAABAQEkTmV0d29ya0lkAAkAAPwEGE9wdGlvbgQEVAEBAQEIEE5vbmUAAAAQU29tZQQAAQEAAAEAAAEBEAx4Y20IdjMganVuY3Rpb24kTmV0d29ya0lkAAEsJEJ5R2VuZXNpcwQACAEgW3U4OyAzMl0AAAAYQnlGb3JrCAEwYmxvY2tfbnVtYmVyKAEMdTY0AAEoYmxvY2tfaGFzaAgBIFt1ODsgMzJdAAEAIFBvbGthZG90AAIAGEt1c2FtYQADABxXZXN0ZW5kAAQAGFJvY29jbwAFABhXb2NvY28ABgAgRXRoZXJldW0EASBjaGFpbl9pZLQBDHU2NAAHACxCaXRjb2luQ29yZQAIACxCaXRjb2luQ2FzaAAJAEBQb2xrYWRvdEJ1bGxldGluAAoAAAUBEAx4Y20IdjMganVuY3Rpb24YQm9keUlkAAEoEFVuaXQAAAAcTW9uaWtlcgQAcAEcW3U4OyA0XQABABRJbmRleAQAYAEMdTMyAAIAJEV4ZWN1dGl2ZQADACRUZWNobmljYWwABAAsTGVnaXNsYXRpdmUABQAgSnVkaWNpYWwABgAcRGVmZW5zZQAHADhBZG1pbmlzdHJhdGlvbgAIACBUcmVhc3VyeQAJAAAJARAMeGNtCHYzIGp1bmN0aW9uIEJvZHlQYXJ0AAEUFFZvaWNlAAAAHE1lbWJlcnMEARRjb3VudGABDHUzMgABACBGcmFjdGlvbggBDG5vbWABDHUzMgABFGRlbm9tYAEMdTMyAAIAREF0TGVhc3RQcm9wb3J0aW9uCAEMbm9tYAEMdTMyAAEUZGVub21gAQx1MzIAAwBITW9yZVRoYW5Qcm9wb3J0aW9uCAEMbm9tYAEMdTMyAAEUZGVub21gAQx1MzIABAAADQEQLHN0YWdpbmdfeGNtCHY0IGxvY2F0aW9uIExvY2F0aW9uAAAIARxwYXJlbnRzDAEIdTgAASBpbnRlcmlvchEBASRKdW5jdGlvbnMAABEBECxzdGFnaW5nX3hjbQh2NCRqdW5jdGlvbnMkSnVuY3Rpb25zAAEkEEhlcmUAAAAIWDEEABUBAUhBcmM8W0p1bmN0aW9uOyAxXT4AAQAIWDIEACUBAUhBcmM8W0p1bmN0aW9uOyAyXT4AAgAIWDMEACkBAUhBcmM8W0p1bmN0aW9uOyAzXT4AAwAIWDQEAC0BAUhBcmM8W0p1bmN0aW9uOyA0XT4ABAAIWDUEADEBAUhBcmM8W0p1bmN0aW9uOyA1XT4ABQAIWDYEADUBAUhBcmM8W0p1bmN0aW9uOyA2XT4ABgAIWDcEADkBAUhBcmM8W0p1bmN0aW9uOyA3XT4ABwAIWDgEAD0BAUhBcmM8W0p1bmN0aW9uOyA4XT4ACAAAFQEAAAMBAAAAGQEAGQEQLHN0YWdpbmdfeGNtCHY0IGp1bmN0aW9uIEp1bmN0aW9uAAEoJFBhcmFjaGFpbgQAYAEMdTMyAAAALEFjY291bnRJZDMyCAEcbmV0d29yax0BAURPcHRpb248TmV0d29ya0lkPgABCGlkCAEgW3U4OyAzMl0AAQA4QWNjb3VudEluZGV4NjQIARxuZXR3b3JrHQEBRE9wdGlvbjxOZXR3b3JrSWQ+AAEUaW5kZXi0AQx1NjQAAgAwQWNjb3VudEtleTIwCAEcbmV0d29yax0BAURPcHRpb248TmV0d29ya0lkPgABDGtleRwBIFt1ODsgMjBdAAMAOFBhbGxldEluc3RhbmNlBAAMAQh1OAAEADBHZW5lcmFsSW5kZXgEAMABEHUxMjgABQAoR2VuZXJhbEtleQgBGGxlbmd0aAwBCHU4AAEQZGF0YQgBIFt1ODsgMzJdAAYAJE9ubHlDaGlsZAAHACRQbHVyYWxpdHkIAQhpZAUBARhCb2R5SWQAARBwYXJ0CQEBIEJvZHlQYXJ0AAgAPEdsb2JhbENvbnNlbnN1cwQAIQEBJE5ldHdvcmtJZAAJAAAdAQQYT3B0aW9uBARUASEBAQgQTm9uZQAAABBTb21lBAAhAQAAAQAAIQEQLHN0YWdpbmdfeGNtCHY0IGp1bmN0aW9uJE5ldHdvcmtJZAABLCRCeUdlbmVzaXMEAAgBIFt1ODsgMzJdAAAAGEJ5Rm9yawgBMGJsb2NrX251bWJlcigBDHU2NAABKGJsb2NrX2hhc2gIASBbdTg7IDMyXQABACBQb2xrYWRvdAACABhLdXNhbWEAAwAcV2VzdGVuZAAEABhSb2NvY28ABQAYV29jb2NvAAYAIEV0aGVyZXVtBAEgY2hhaW5faWS0AQx1NjQABwAsQml0Y29pbkNvcmUACAAsQml0Y29pbkNhc2gACQBAUG9sa2Fkb3RCdWxsZXRpbgAKAAAlAQAAAwIAAAAZAQApAQAAAwMAAAAZAQAtAQAAAwQAAAAZAQAxAQAAAwUAAAAZAQA1AQAAAwYAAAAZAQA5AQAAAwcAAAAZAQA9AQAAAwgAAAAZAQBBARAsc3RhZ2luZ194Y20IdjUgbG9jYXRpb24gTG9jYXRpb24AAAgBHHBhcmVudHMMAQh1OAABIGludGVyaW9yRQEBJEp1bmN0aW9ucwAARQEQLHN0YWdpbmdfeGNtCHY1JGp1bmN0aW9ucyRKdW5jdGlvbnMAASQQSGVyZQAAAAhYMQQASQEBSEFyYzxbSnVuY3Rpb247IDFdPgABAAhYMgQAWQEBSEFyYzxbSnVuY3Rpb247IDJdPgACAAhYMwQAXQEBSEFyYzxbSnVuY3Rpb247IDNdPgADAAhYNAQAYQEBSEFyYzxbSnVuY3Rpb247IDRdPgAEAAhYNQQAZQEBSEFyYzxbSnVuY3Rpb247IDVdPgAFAAhYNgQAaQEBSEFyYzxbSnVuY3Rpb247IDZdPgAGAAhYNwQAbQEBSEFyYzxbSnVuY3Rpb247IDddPgAHAAhYOAQAcQEBSEFyYzxbSnVuY3Rpb247IDhdPgAIAABJAQAAAwEAAABNAQBNARAsc3RhZ2luZ194Y20IdjUganVuY3Rpb24gSnVuY3Rpb24AASgkUGFyYWNoYWluBABgAQx1MzIAAAAsQWNjb3VudElkMzIIARxuZXR3b3JrUQEBRE9wdGlvbjxOZXR3b3JrSWQ+AAEIaWQIASBbdTg7IDMyXQABADhBY2NvdW50SW5kZXg2NAgBHG5ldHdvcmtRAQFET3B0aW9uPE5ldHdvcmtJZD4AARRpbmRleLQBDHU2NAACADBBY2NvdW50S2V5MjAIARxuZXR3b3JrUQEBRE9wdGlvbjxOZXR3b3JrSWQ+AAEMa2V5HAEgW3U4OyAyMF0AAwA4UGFsbGV0SW5zdGFuY2UEAAwBCHU4AAQAMEdlbmVyYWxJbmRleAQAwAEQdTEyOAAFAChHZW5lcmFsS2V5CAEYbGVuZ3RoDAEIdTgAARBkYXRhCAEgW3U4OyAzMl0ABgAkT25seUNoaWxkAAcAJFBsdXJhbGl0eQgBCGlkBQEBGEJvZHlJZAABEHBhcnQJAQEgQm9keVBhcnQACAA8R2xvYmFsQ29uc2Vuc3VzBABVAQEkTmV0d29ya0lkAAkAAFEBBBhPcHRpb24EBFQBVQEBCBBOb25lAAAAEFNvbWUEAFUBAAABAABVARAsc3RhZ2luZ194Y20IdjUganVuY3Rpb24kTmV0d29ya0lkAAEgJEJ5R2VuZXNpcwQACAEgW3U4OyAzMl0AAAAYQnlGb3JrCAEwYmxvY2tfbnVtYmVyKAEMdTY0AAEoYmxvY2tfaGFzaAgBIFt1ODsgMzJdAAEAIFBvbGthZG90AAIAGEt1c2FtYQADACBFdGhlcmV1bQQBIGNoYWluX2lktAEMdTY0AAcALEJpdGNvaW5Db3JlAAgALEJpdGNvaW5DYXNoAAkAQFBvbGthZG90QnVsbGV0aW4ACgAAWQEAAAMCAAAATQEAXQEAAAMDAAAATQEAYQEAAAMEAAAATQEAZQEAAAMFAAAATQEAaQEAAAMGAAAATQEAbQEAAAMHAAAATQEAcQEAAAMIAAAATQEAdQEIDHhjbTBWZXJzaW9uZWRYY20ELFJ1bnRpbWVDYWxsAAEMCFYzBAB5AQFQdjM6OlhjbTxSdW50aW1lQ2FsbD4AAwAIVjQEAPEBAVB2NDo6WGNtPFJ1bnRpbWVDYWxsPgAEAAhWNQQAPQIBUHY1OjpYY208UnVudGltZUNhbGw+AAUAAHkBDAx4Y20IdjMMWGNtBBBDYWxsAAAEAH0BAVhWZWM8SW5zdHJ1Y3Rpb248Q2FsbD4+AAB9AQAAAoEBAIEBDAx4Y20IdjMsSW5zdHJ1Y3Rpb24EEENhbGwAAcA0V2l0aGRyYXdBc3NldAQAhQEBLE11bHRpQXNzZXRzAAAAVFJlc2VydmVBc3NldERlcG9zaXRlZAQAhQEBLE11bHRpQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAIUBASxNdWx0aUFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWS0ARxRdWVyeUlkAAEgcmVzcG9uc2WlAQEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0tQEBGFdlaWdodAABHHF1ZXJpZXLRAQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AAMANFRyYW5zZmVyQXNzZXQIARhhc3NldHOFAQEsTXVsdGlBc3NldHMAASxiZW5lZmljaWFyefABNE11bHRpTG9jYXRpb24ABABQVHJhbnNmZXJSZXNlcnZlQXNzZXQMARhhc3NldHOFAQEsTXVsdGlBc3NldHMAARBkZXN08AE0TXVsdGlMb2NhdGlvbgABDHhjbXkBARxYY208KCk+AAUAIFRyYW5zYWN0DAEsb3JpZ2luX2tpbmTVAQEoT3JpZ2luS2luZAABWHJlcXVpcmVfd2VpZ2h0X2F0X21vc3S1AQEYV2VpZ2h0AAEQY2FsbNkBAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJgAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplYAEMdTMyAAEwbWF4X2NhcGFjaXR5YAEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRgAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yYAEMdTMyAAEYc2VuZGVyYAEMdTMyAAEkcmVjaXBpZW50YAEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EAPQBVEludGVyaW9yTXVsdGlMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQA3QEBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0c+EBAUBNdWx0aUFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnnwATRNdWx0aUxvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHPhAQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3TwATRNdWx0aUxvY2F0aW9uAAEMeGNteQEBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAwBEGdpdmXhAQFATXVsdGlBc3NldEZpbHRlcgABEHdhbnSFAQEsTXVsdGlBc3NldHMAARxtYXhpbWFsyAEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0c+EBAUBNdWx0aUFzc2V0RmlsdGVyAAEccmVzZXJ2ZfABNE11bHRpTG9jYXRpb24AAQx4Y215AQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRz4QEBQE11bHRpQXNzZXRGaWx0ZXIAARBkZXN08AE0TXVsdGlMb2NhdGlvbgABDHhjbXkBARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZv3QEBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRz4QEBQE11bHRpQXNzZXRGaWx0ZXIAEgAwQnV5RXhlY3V0aW9uCAEQZmVlc40BAShNdWx0aUFzc2V0AAEwd2VpZ2h0X2xpbWl07QEBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBAB5AQEkWGNtPENhbGw+ABUALFNldEFwcGVuZGl4BAB5AQEkWGNtPENhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c4UBASxNdWx0aUFzc2V0cwABGHRpY2tldPABNE11bHRpTG9jYXRpb24AGAAQVHJhcAQAtAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZLQBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0tQEBGFdlaWdodAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAkQnVybkFzc2V0BACFAQEsTXVsdGlBc3NldHMAHAAsRXhwZWN0QXNzZXQEAIUBASxNdWx0aUFzc2V0cwAdADBFeHBlY3RPcmlnaW4EANEBAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AHgAsRXhwZWN0RXJyb3IEAKkBAVBPcHRpb248KHUzMiwgRXJyb3IpPgAfAFBFeHBlY3RUcmFuc2FjdFN0YXR1cwQAyQEBOE1heWJlRXJyb3JDb2RlACAALFF1ZXJ5UGFsbGV0CAEsbW9kdWxlX25hbWUYARxWZWM8dTg+AAE0cmVzcG9uc2VfaW5mb90BAURRdWVyeVJlc3BvbnNlSW5mbwAhADBFeHBlY3RQYWxsZXQUARRpbmRleGABDHUzMgABEG5hbWUYARxWZWM8dTg+AAEsbW9kdWxlX25hbWUYARxWZWM8dTg+AAEsY3JhdGVfbWFqb3JgAQx1MzIAATxtaW5fY3JhdGVfbWlub3JgAQx1MzIAIgBQUmVwb3J0VHJhbnNhY3RTdGF0dXMEAN0BAURRdWVyeVJlc3BvbnNlSW5mbwAjAExDbGVhclRyYW5zYWN0U3RhdHVzACQAPFVuaXZlcnNhbE9yaWdpbgQA+AEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmsBAQEkTmV0d29ya0lkAAEsZGVzdGluYXRpb270AVRJbnRlcmlvck11bHRpTG9jYXRpb24AAQx4Y215AQEcWGNtPCgpPgAmACRMb2NrQXNzZXQIARRhc3NldI0BAShNdWx0aUFzc2V0AAEgdW5sb2NrZXLwATRNdWx0aUxvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXSNAQEoTXVsdGlBc3NldAABGHRhcmdldPABNE11bHRpTG9jYXRpb24AKAA4Tm90ZVVubG9ja2FibGUIARRhc3NldI0BAShNdWx0aUFzc2V0AAEUb3duZXLwATRNdWx0aUxvY2F0aW9uACkANFJlcXVlc3RVbmxvY2sIARRhc3NldI0BAShNdWx0aUFzc2V0AAEYbG9ja2Vy8AE0TXVsdGlMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhd8gBEGJvb2wAKwAgU2V0VG9waWMEAAgBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAPABNE11bHRpTG9jYXRpb24ALgA8VW5wYWlkRXhlY3V0aW9uCAEwd2VpZ2h0X2xpbWl07QEBLFdlaWdodExpbWl0AAEwY2hlY2tfb3JpZ2lu0QEBVE9wdGlvbjxNdWx0aUxvY2F0aW9uPgAvAACFARAMeGNtCHYzKG11bHRpYXNzZXQsTXVsdGlBc3NldHMAAAQAiQEBPFZlYzxNdWx0aUFzc2V0PgAAiQEAAAKNAQCNARAMeGNtCHYzKG11bHRpYXNzZXQoTXVsdGlBc3NldAAACAEIaWSRAQEcQXNzZXRJZAABDGZ1bpUBASxGdW5naWJpbGl0eQAAkQEQDHhjbQh2MyhtdWx0aWFzc2V0HEFzc2V0SWQAAQggQ29uY3JldGUEAPABNE11bHRpTG9jYXRpb24AAAAgQWJzdHJhY3QEAAgBIFt1ODsgMzJdAAEAAJUBEAx4Y20IdjMobXVsdGlhc3NldCxGdW5naWJpbGl0eQABCCBGdW5naWJsZQQAwAEQdTEyOAAAACxOb25GdW5naWJsZQQAmQEBNEFzc2V0SW5zdGFuY2UAAQAAmQEQDHhjbQh2MyhtdWx0aWFzc2V0NEFzc2V0SW5zdGFuY2UAARgkVW5kZWZpbmVkAAAAFEluZGV4BADAARB1MTI4AAEAGEFycmF5NAQAcAEcW3U4OyA0XQACABhBcnJheTgEAJ0BARxbdTg7IDhdAAMAHEFycmF5MTYEAKEBASBbdTg7IDE2XQAEABxBcnJheTMyBAAIASBbdTg7IDMyXQAFAACdAQAAAwgAAAAMAKEBAAADEAAAAAwApQEMDHhjbQh2MyBSZXNwb25zZQABGBBOdWxsAAAAGEFzc2V0cwQAhQEBLE11bHRpQXNzZXRzAAEAPEV4ZWN1dGlvblJlc3VsdAQAqQEBUE9wdGlvbjwodTMyLCBFcnJvcik+AAIAHFZlcnNpb24EADgBOHN1cGVyOjpWZXJzaW9uAAMALFBhbGxldHNJbmZvBAC5AQGYQm91bmRlZFZlYzxQYWxsZXRJbmZvLCBNYXhQYWxsZXRzSW5mbz4ABAA4RGlzcGF0Y2hSZXN1bHQEAMkBAThNYXliZUVycm9yQ29kZQAFAACpAQQYT3B0aW9uBARUAa0BAQgQTm9uZQAAABBTb21lBACtAQAAAQAArQEAAAQIOLEBALEBEAx4Y20IdjMYdHJhaXRzFEVycm9yAAGgIE92ZXJmbG93AAAANFVuaW1wbGVtZW50ZWQAAQBgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAIAZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAwAwTG9jYXRpb25GdWxsAAQAVExvY2F0aW9uTm90SW52ZXJ0aWJsZQAFACRCYWRPcmlnaW4ABgA8SW52YWxpZExvY2F0aW9uAAcANEFzc2V0Tm90Rm91bmQACABURmFpbGVkVG9UcmFuc2FjdEFzc2V0AAkAPE5vdFdpdGhkcmF3YWJsZQAKAEhMb2NhdGlvbkNhbm5vdEhvbGQACwBURXhjZWVkc01heE1lc3NhZ2VTaXplAAwAWERlc3RpbmF0aW9uVW5zdXBwb3J0ZWQADQAkVHJhbnNwb3J0AA4AKFVucm91dGFibGUADwAwVW5rbm93bkNsYWltABAAOEZhaWxlZFRvRGVjb2RlABEAQE1heFdlaWdodEludmFsaWQAEgA4Tm90SG9sZGluZ0ZlZXMAEwAwVG9vRXhwZW5zaXZlABQAEFRyYXAEACgBDHU2NAAVAEBFeHBlY3RhdGlvbkZhbHNlABYAOFBhbGxldE5vdEZvdW5kABcAME5hbWVNaXNtYXRjaAAYAExWZXJzaW9uSW5jb21wYXRpYmxlABkAUEhvbGRpbmdXb3VsZE92ZXJmbG93ABoALEV4cG9ydEVycm9yABsAOFJlYW5jaG9yRmFpbGVkABwAGE5vRGVhbAAdAChGZWVzTm90TWV0AB4AJExvY2tFcnJvcgAfADBOb1Blcm1pc3Npb24AIAAoVW5hbmNob3JlZAAhADhOb3REZXBvc2l0YWJsZQAiAExVbmhhbmRsZWRYY21WZXJzaW9uACMASFdlaWdodExpbWl0UmVhY2hlZAQAtQEBGFdlaWdodAAkABxCYXJyaWVyACUATFdlaWdodE5vdENvbXB1dGFibGUAJgBERXhjZWVkc1N0YWNrTGltaXQAJwAAtQEMKHNwX3dlaWdodHMkd2VpZ2h0X3YyGFdlaWdodAAACAEgcmVmX3RpbWW0AQx1NjQAAShwcm9vZl9zaXpltAEMdTY0AAC5AQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAb0BBFMAAAQAxQEBGFZlYzxUPgAAvQEMDHhjbQh2MyhQYWxsZXRJbmZvAAAYARRpbmRleGABDHUzMgABEG5hbWXBAQGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AASxtb2R1bGVfbmFtZcEBAYBCb3VuZGVkVmVjPHU4LCBNYXhQYWxsZXROYW1lTGVuPgABFG1ham9yYAEMdTMyAAEUbWlub3JgAQx1MzIAARRwYXRjaGABDHUzMgAAwQEMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AADFAQAAAr0BAMkBDAx4Y20IdjM4TWF5YmVFcnJvckNvZGUAAQwcU3VjY2VzcwAAABRFcnJvcgQAzQEBjEJvdW5kZWRWZWM8dTgsIE1heERpc3BhdGNoRXJyb3JMZW4+AAEAOFRydW5jYXRlZEVycm9yBADNAQGMQm91bmRlZFZlYzx1OCwgTWF4RGlzcGF0Y2hFcnJvckxlbj4AAgAAzQEMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AADRAQQYT3B0aW9uBARUAfABCBBOb25lAAAAEFNvbWUEAPAAAAEAANUBDAx4Y20IdjMoT3JpZ2luS2luZAABEBhOYXRpdmUAAABAU292ZXJlaWduQWNjb3VudAABACRTdXBlcnVzZXIAAgAMWGNtAAMAANkBDAx4Y204ZG91YmxlX2VuY29kZWQ0RG91YmxlRW5jb2RlZAQEVAAABAEcZW5jb2RlZBgBHFZlYzx1OD4AAN0BDAx4Y20IdjNEUXVlcnlSZXNwb25zZUluZm8AAAwBLGRlc3RpbmF0aW9u8AE0TXVsdGlMb2NhdGlvbgABIHF1ZXJ5X2lktAEcUXVlcnlJZAABKG1heF93ZWlnaHS1AQEYV2VpZ2h0AADhARAMeGNtCHYzKG11bHRpYXNzZXRATXVsdGlBc3NldEZpbHRlcgABCCBEZWZpbml0ZQQAhQEBLE11bHRpQXNzZXRzAAAAEFdpbGQEAOUBAThXaWxkTXVsdGlBc3NldAABAADlARAMeGNtCHYzKG11bHRpYXNzZXQ4V2lsZE11bHRpQXNzZXQAARAMQWxsAAAAFEFsbE9mCAEIaWSRAQEcQXNzZXRJZAABDGZ1bukBATxXaWxkRnVuZ2liaWxpdHkAAQAoQWxsQ291bnRlZAQAYAEMdTMyAAIAMEFsbE9mQ291bnRlZAwBCGlkkQEBHEFzc2V0SWQAAQxmdW7pAQE8V2lsZEZ1bmdpYmlsaXR5AAEUY291bnRgAQx1MzIAAwAA6QEQDHhjbQh2MyhtdWx0aWFzc2V0PFdpbGRGdW5naWJpbGl0eQABCCBGdW5naWJsZQAAACxOb25GdW5naWJsZQABAADtAQwMeGNtCHYzLFdlaWdodExpbWl0AAEIJFVubGltaXRlZAAAABxMaW1pdGVkBAC1AQEYV2VpZ2h0AAEAAPEBDCxzdGFnaW5nX3hjbQh2NAxYY20EEENhbGwAAAQA9QEBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AAPUBAAAC+QEA+QEMLHN0YWdpbmdfeGNtCHY0LEluc3RydWN0aW9uBBBDYWxsAAHANFdpdGhkcmF3QXNzZXQEAP0BARhBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBAD9AQEYQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAP0BARhBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lktAEcUXVlcnlJZAABIHJlc3BvbnNlFQIBIFJlc3BvbnNlAAEobWF4X3dlaWdodLUBARhXZWlnaHQAARxxdWVyaWVyKQIBQE9wdGlvbjxMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c/0BARhBc3NldHMAASxiZW5lZmljaWFyeQ0BASBMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c/0BARhBc3NldHMAARBkZXN0DQEBIExvY2F0aW9uAAEMeGNt8QEBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZNUBAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdLUBARhXZWlnaHQAARBjYWxs2QEBTERvdWJsZUVuY29kZWQ8Q2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlcmABDHUzMgABQG1heF9tZXNzYWdlX3NpemVgAQx1MzIAATBtYXhfY2FwYWNpdHlgAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudGABDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JgAQx1MzIAARhzZW5kZXJgAQx1MzIAASRyZWNpcGllbnRgAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQAEQEBQEludGVyaW9yTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IEAC0CAURRdWVyeVJlc3BvbnNlSW5mbwAMADBEZXBvc2l0QXNzZXQIARhhc3NldHMxAgEsQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyeQ0BASBMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyAAEQZGVzdA0BASBMb2NhdGlvbgABDHhjbfEBARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQMARBnaXZlMQIBLEFzc2V0RmlsdGVyAAEQd2FudP0BARhBc3NldHMAARxtYXhpbWFsyAEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0czECASxBc3NldEZpbHRlcgABHHJlc2VydmUNAQEgTG9jYXRpb24AAQx4Y23xAQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyAAEQZGVzdA0BASBMb2NhdGlvbgABDHhjbfEBARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZvLQIBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXMFAgEUQXNzZXQAATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEAPEBASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEAPEBASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRz/QEBGEFzc2V0cwABGHRpY2tldA0BASBMb2NhdGlvbgAYABBUcmFwBAC0AQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lktAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHS1AQEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEAP0BARhBc3NldHMAHAAsRXhwZWN0QXNzZXQEAP0BARhBc3NldHMAHQAwRXhwZWN0T3JpZ2luBAApAgFAT3B0aW9uPExvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQAqQEBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBADJAQE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZvLQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4YAEMdTMyAAEQbmFtZRgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvcmABDHUzMgABPG1pbl9jcmF0ZV9taW5vcmABDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQALQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBAAZAQEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmshAQEkTmV0d29ya0lkAAEsZGVzdGluYXRpb24RAQFASW50ZXJpb3JMb2NhdGlvbgABDHhjbfEBARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0BQIBFEFzc2V0AAEgdW5sb2NrZXINAQEgTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldAUCARRBc3NldAABGHRhcmdldA0BASBMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0BQIBFEFzc2V0AAEUb3duZXINAQEgTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0BQIBFEFzc2V0AAEYbG9ja2VyDQEBIExvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3yAEQYm9vbAArACBTZXRUb3BpYwQACAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQADQEBIExvY2F0aW9uAC4APFVucGFpZEV4ZWN1dGlvbggBMHdlaWdodF9saW1pdO0BASxXZWlnaHRMaW1pdAABMGNoZWNrX29yaWdpbikCAUBPcHRpb248TG9jYXRpb24+AC8AAP0BECxzdGFnaW5nX3hjbQh2NBRhc3NldBhBc3NldHMAAAQAAQIBKFZlYzxBc3NldD4AAAECAAACBQIABQIQLHN0YWdpbmdfeGNtCHY0FGFzc2V0FEFzc2V0AAAIAQhpZAkCARxBc3NldElkAAEMZnVuDQIBLEZ1bmdpYmlsaXR5AAAJAhAsc3RhZ2luZ194Y20IdjQUYXNzZXQcQXNzZXRJZAAABAANAQEgTG9jYXRpb24AAA0CECxzdGFnaW5nX3hjbQh2NBRhc3NldCxGdW5naWJpbGl0eQABCCBGdW5naWJsZQQAwAEQdTEyOAAAACxOb25GdW5naWJsZQQAEQIBNEFzc2V0SW5zdGFuY2UAAQAAEQIQLHN0YWdpbmdfeGNtCHY0FGFzc2V0NEFzc2V0SW5zdGFuY2UAARgkVW5kZWZpbmVkAAAAFEluZGV4BADAARB1MTI4AAEAGEFycmF5NAQAcAEcW3U4OyA0XQACABhBcnJheTgEAJ0BARxbdTg7IDhdAAMAHEFycmF5MTYEAKEBASBbdTg7IDE2XQAEABxBcnJheTMyBAAIASBbdTg7IDMyXQAFAAAVAgwsc3RhZ2luZ194Y20IdjQgUmVzcG9uc2UAARgQTnVsbAAAABhBc3NldHMEAP0BARhBc3NldHMAAQA8RXhlY3V0aW9uUmVzdWx0BACpAQFQT3B0aW9uPCh1MzIsIEVycm9yKT4AAgAcVmVyc2lvbgQAOAE4c3VwZXI6OlZlcnNpb24AAwAsUGFsbGV0c0luZm8EABkCAZhCb3VuZGVkVmVjPFBhbGxldEluZm8sIE1heFBhbGxldHNJbmZvPgAEADhEaXNwYXRjaFJlc3VsdAQAyQEBOE1heWJlRXJyb3JDb2RlAAUAABkCDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBHQIEUwAABAAlAgEYVmVjPFQ+AAAdAgwsc3RhZ2luZ194Y20IdjQoUGFsbGV0SW5mbwAAGAEUaW5kZXhgAQx1MzIAARBuYW1lIQIBgEJvdW5kZWRWZWM8dTgsIE1heFBhbGxldE5hbWVMZW4+AAEsbW9kdWxlX25hbWUhAgGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AARRtYWpvcmABDHUzMgABFG1pbm9yYAEMdTMyAAEUcGF0Y2hgAQx1MzIAACECDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBDARTAAAEABgBGFZlYzxUPgAAJQIAAAIdAgApAgQYT3B0aW9uBARUAQ0BAQgQTm9uZQAAABBTb21lBAANAQAAAQAALQIMLHN0YWdpbmdfeGNtCHY0RFF1ZXJ5UmVzcG9uc2VJbmZvAAAMASxkZXN0aW5hdGlvbg0BASBMb2NhdGlvbgABIHF1ZXJ5X2lktAEcUXVlcnlJZAABKG1heF93ZWlnaHS1AQEYV2VpZ2h0AAAxAhAsc3RhZ2luZ194Y20IdjQUYXNzZXQsQXNzZXRGaWx0ZXIAAQggRGVmaW5pdGUEAP0BARhBc3NldHMAAAAQV2lsZAQANQIBJFdpbGRBc3NldAABAAA1AhAsc3RhZ2luZ194Y20IdjQUYXNzZXQkV2lsZEFzc2V0AAEQDEFsbAAAABRBbGxPZggBCGlkCQIBHEFzc2V0SWQAAQxmdW45AgE8V2lsZEZ1bmdpYmlsaXR5AAEAKEFsbENvdW50ZWQEAGABDHUzMgACADBBbGxPZkNvdW50ZWQMAQhpZAkCARxBc3NldElkAAEMZnVuOQIBPFdpbGRGdW5naWJpbGl0eQABFGNvdW50YAEMdTMyAAMAADkCECxzdGFnaW5nX3hjbQh2NBRhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAAPQIMLHN0YWdpbmdfeGNtCHY1DFhjbQQQQ2FsbAAABABBAgFYVmVjPEluc3RydWN0aW9uPENhbGw+PgAAQQIAAAJFAgBFAgwsc3RhZ2luZ194Y20IdjUsSW5zdHJ1Y3Rpb24EEENhbGwAAdA0V2l0aGRyYXdBc3NldAQASQIBGEFzc2V0cwAAAFRSZXNlcnZlQXNzZXREZXBvc2l0ZWQEAEkCARhBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQASQIBGEFzc2V0cwACADRRdWVyeVJlc3BvbnNlEAEgcXVlcnlfaWS0ARxRdWVyeUlkAAEgcmVzcG9uc2VhAgEgUmVzcG9uc2UAAShtYXhfd2VpZ2h0tQEBGFdlaWdodAABHHF1ZXJpZXKBAgFAT3B0aW9uPExvY2F0aW9uPgADADRUcmFuc2ZlckFzc2V0CAEYYXNzZXRzSQIBGEFzc2V0cwABLGJlbmVmaWNpYXJ5QQEBIExvY2F0aW9uAAQAUFRyYW5zZmVyUmVzZXJ2ZUFzc2V0DAEYYXNzZXRzSQIBGEFzc2V0cwABEGRlc3RBAQEgTG9jYXRpb24AAQx4Y209AgEcWGNtPCgpPgAFACBUcmFuc2FjdAwBLG9yaWdpbl9raW5k1QEBKE9yaWdpbktpbmQAAUxmYWxsYmFja19tYXhfd2VpZ2h0hQIBOE9wdGlvbjxXZWlnaHQ+AAEQY2FsbNkBAUxEb3VibGVFbmNvZGVkPENhbGw+AAYAZEhybXBOZXdDaGFubmVsT3BlblJlcXVlc3QMARhzZW5kZXJgAQx1MzIAAUBtYXhfbWVzc2FnZV9zaXplYAEMdTMyAAEwbWF4X2NhcGFjaXR5YAEMdTMyAAcATEhybXBDaGFubmVsQWNjZXB0ZWQEASRyZWNpcGllbnRgAQx1MzIACABISHJtcENoYW5uZWxDbG9zaW5nDAEkaW5pdGlhdG9yYAEMdTMyAAEYc2VuZGVyYAEMdTMyAAEkcmVjaXBpZW50YAEMdTMyAAkALENsZWFyT3JpZ2luAAoANERlc2NlbmRPcmlnaW4EAEUBAUBJbnRlcmlvckxvY2F0aW9uAAsALFJlcG9ydEVycm9yBACJAgFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRzjQIBLEFzc2V0RmlsdGVyAAEsYmVuZWZpY2lhcnlBAQEgTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldAwBGGFzc2V0c40CASxBc3NldEZpbHRlcgABEGRlc3RBAQEgTG9jYXRpb24AAQx4Y209AgEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZY0CASxBc3NldEZpbHRlcgABEHdhbnRJAgEYQXNzZXRzAAEcbWF4aW1hbMgBEGJvb2wADwBcSW5pdGlhdGVSZXNlcnZlV2l0aGRyYXcMARhhc3NldHONAgEsQXNzZXRGaWx0ZXIAARxyZXNlcnZlQQEBIExvY2F0aW9uAAEMeGNtPQIBHFhjbTwoKT4AEABASW5pdGlhdGVUZWxlcG9ydAwBGGFzc2V0c40CASxBc3NldEZpbHRlcgABEGRlc3RBAQEgTG9jYXRpb24AAQx4Y209AgEcWGNtPCgpPgARADRSZXBvcnRIb2xkaW5nCAE0cmVzcG9uc2VfaW5mb4kCAURRdWVyeVJlc3BvbnNlSW5mbwABGGFzc2V0c40CASxBc3NldEZpbHRlcgASADBCdXlFeGVjdXRpb24IARBmZWVzUQIBFEFzc2V0AAEwd2VpZ2h0X2xpbWl07QEBLFdlaWdodExpbWl0ABMANFJlZnVuZFN1cnBsdXMAFAA8U2V0RXJyb3JIYW5kbGVyBAA9AgEkWGNtPENhbGw+ABUALFNldEFwcGVuZGl4BAA9AgEkWGNtPENhbGw+ABYAKENsZWFyRXJyb3IAFwAoQ2xhaW1Bc3NldAgBGGFzc2V0c0kCARhBc3NldHMAARh0aWNrZXRBAQEgTG9jYXRpb24AGAAQVHJhcAQAtAEMdTY0ABkAQFN1YnNjcmliZVZlcnNpb24IASBxdWVyeV9pZLQBHFF1ZXJ5SWQAAUxtYXhfcmVzcG9uc2Vfd2VpZ2h0tQEBGFdlaWdodAAaAEhVbnN1YnNjcmliZVZlcnNpb24AGwAkQnVybkFzc2V0BABJAgEYQXNzZXRzABwALEV4cGVjdEFzc2V0BABJAgEYQXNzZXRzAB0AMEV4cGVjdE9yaWdpbgQAgQIBQE9wdGlvbjxMb2NhdGlvbj4AHgAsRXhwZWN0RXJyb3IEAGUCAVBPcHRpb248KHUzMiwgRXJyb3IpPgAfAFBFeHBlY3RUcmFuc2FjdFN0YXR1cwQAyQEBOE1heWJlRXJyb3JDb2RlACAALFF1ZXJ5UGFsbGV0CAEsbW9kdWxlX25hbWUYARxWZWM8dTg+AAE0cmVzcG9uc2VfaW5mb4kCAURRdWVyeVJlc3BvbnNlSW5mbwAhADBFeHBlY3RQYWxsZXQUARRpbmRleGABDHUzMgABEG5hbWUYARxWZWM8dTg+AAEsbW9kdWxlX25hbWUYARxWZWM8dTg+AAEsY3JhdGVfbWFqb3JgAQx1MzIAATxtaW5fY3JhdGVfbWlub3JgAQx1MzIAIgBQUmVwb3J0VHJhbnNhY3RTdGF0dXMEAIkCAURRdWVyeVJlc3BvbnNlSW5mbwAjAExDbGVhclRyYW5zYWN0U3RhdHVzACQAPFVuaXZlcnNhbE9yaWdpbgQATQEBIEp1bmN0aW9uACUANEV4cG9ydE1lc3NhZ2UMARxuZXR3b3JrVQEBJE5ldHdvcmtJZAABLGRlc3RpbmF0aW9uRQEBQEludGVyaW9yTG9jYXRpb24AAQx4Y209AgEcWGNtPCgpPgAmACRMb2NrQXNzZXQIARRhc3NldFECARRBc3NldAABIHVubG9ja2VyQQEBIExvY2F0aW9uACcALFVubG9ja0Fzc2V0CAEUYXNzZXRRAgEUQXNzZXQAARh0YXJnZXRBAQEgTG9jYXRpb24AKAA4Tm90ZVVubG9ja2FibGUIARRhc3NldFECARRBc3NldAABFG93bmVyQQEBIExvY2F0aW9uACkANFJlcXVlc3RVbmxvY2sIARRhc3NldFECARRBc3NldAABGGxvY2tlckEBASBMb2NhdGlvbgAqACxTZXRGZWVzTW9kZQQBMGppdF93aXRoZHJhd8gBEGJvb2wAKwAgU2V0VG9waWMEAAgBIFt1ODsgMzJdACwAKENsZWFyVG9waWMALQAsQWxpYXNPcmlnaW4EAEEBASBMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW6BAgFAT3B0aW9uPExvY2F0aW9uPgAvABxQYXlGZWVzBAEUYXNzZXRRAgEUQXNzZXQAMABASW5pdGlhdGVUcmFuc2ZlchQBLGRlc3RpbmF0aW9uQQEBIExvY2F0aW9uAAEscmVtb3RlX2ZlZXOZAgFsT3B0aW9uPEFzc2V0VHJhbnNmZXJGaWx0ZXI+AAE8cHJlc2VydmVfb3JpZ2luyAEQYm9vbAABGGFzc2V0c6ECAeBCb3VuZGVkVmVjPEFzc2V0VHJhbnNmZXJGaWx0ZXIsIE1heEFzc2V0VHJhbnNmZXJGaWx0ZXJzPgABKHJlbW90ZV94Y209AgEcWGNtPCgpPgAxAERFeGVjdXRlV2l0aE9yaWdpbggBRGRlc2NlbmRhbnRfb3JpZ2luqQIBYE9wdGlvbjxJbnRlcmlvckxvY2F0aW9uPgABDHhjbT0CASRYY208Q2FsbD4AMgAgU2V0SGludHMEARRoaW50c60CAYRCb3VuZGVkVmVjPEhpbnQsIEhpbnROdW1WYXJpYW50cz4AMwAASQIQLHN0YWdpbmdfeGNtCHY1FGFzc2V0GEFzc2V0cwAABABNAgEoVmVjPEFzc2V0PgAATQIAAAJRAgBRAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQUQXNzZXQAAAgBCGlkVQIBHEFzc2V0SWQAAQxmdW5ZAgEsRnVuZ2liaWxpdHkAAFUCECxzdGFnaW5nX3hjbQh2NRRhc3NldBxBc3NldElkAAAEAEEBASBMb2NhdGlvbgAAWQIQLHN0YWdpbmdfeGNtCHY1FGFzc2V0LEZ1bmdpYmlsaXR5AAEIIEZ1bmdpYmxlBADAARB1MTI4AAAALE5vbkZ1bmdpYmxlBABdAgE0QXNzZXRJbnN0YW5jZQABAABdAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQ0QXNzZXRJbnN0YW5jZQABGCRVbmRlZmluZWQAAAAUSW5kZXgEAMABEHUxMjgAAQAYQXJyYXk0BABwARxbdTg7IDRdAAIAGEFycmF5OAQAnQEBHFt1ODsgOF0AAwAcQXJyYXkxNgQAoQEBIFt1ODsgMTZdAAQAHEFycmF5MzIEAAgBIFt1ODsgMzJdAAUAAGECDCxzdGFnaW5nX3hjbQh2NSBSZXNwb25zZQABGBBOdWxsAAAAGEFzc2V0cwQASQIBGEFzc2V0cwABADxFeGVjdXRpb25SZXN1bHQEAGUCAVBPcHRpb248KHUzMiwgRXJyb3IpPgACABxWZXJzaW9uBAA4AThzdXBlcjo6VmVyc2lvbgADACxQYWxsZXRzSW5mbwQAcQIBmEJvdW5kZWRWZWM8UGFsbGV0SW5mbywgTWF4UGFsbGV0c0luZm8+AAQAOERpc3BhdGNoUmVzdWx0BADJAQE4TWF5YmVFcnJvckNvZGUABQAAZQIEGE9wdGlvbgQEVAFpAgEIEE5vbmUAAAAQU29tZQQAaQIAAAEAAGkCAAAECDhtAgBtAhAMeGNtCHY1GHRyYWl0cxRFcnJvcgABpCBPdmVyZmxvdwAAADRVbmltcGxlbWVudGVkAAEAYFVudHJ1c3RlZFJlc2VydmVMb2NhdGlvbgACAGRVbnRydXN0ZWRUZWxlcG9ydExvY2F0aW9uAAMAMExvY2F0aW9uRnVsbAAEAFRMb2NhdGlvbk5vdEludmVydGlibGUABQAkQmFkT3JpZ2luAAYAPEludmFsaWRMb2NhdGlvbgAHADRBc3NldE5vdEZvdW5kAAgAVEZhaWxlZFRvVHJhbnNhY3RBc3NldAAJADxOb3RXaXRoZHJhd2FibGUACgBITG9jYXRpb25DYW5ub3RIb2xkAAsAVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQAMAFhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAA0AJFRyYW5zcG9ydAAOAChVbnJvdXRhYmxlAA8AMFVua25vd25DbGFpbQAQADhGYWlsZWRUb0RlY29kZQARAEBNYXhXZWlnaHRJbnZhbGlkABIAOE5vdEhvbGRpbmdGZWVzABMAMFRvb0V4cGVuc2l2ZQAUABBUcmFwBAAoAQx1NjQAFQBARXhwZWN0YXRpb25GYWxzZQAWADhQYWxsZXROb3RGb3VuZAAXADBOYW1lTWlzbWF0Y2gAGABMVmVyc2lvbkluY29tcGF0aWJsZQAZAFBIb2xkaW5nV291bGRPdmVyZmxvdwAaACxFeHBvcnRFcnJvcgAbADhSZWFuY2hvckZhaWxlZAAcABhOb0RlYWwAHQAoRmVlc05vdE1ldAAeACRMb2NrRXJyb3IAHwAwTm9QZXJtaXNzaW9uACAAKFVuYW5jaG9yZWQAIQA4Tm90RGVwb3NpdGFibGUAIgA0VG9vTWFueUFzc2V0cwAjAExVbmhhbmRsZWRYY21WZXJzaW9uACQASFdlaWdodExpbWl0UmVhY2hlZAQAtQEBGFdlaWdodAAlABxCYXJyaWVyACYATFdlaWdodE5vdENvbXB1dGFibGUAJwBERXhjZWVkc1N0YWNrTGltaXQAKAAAcQIMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAF1AgRTAAAEAH0CARhWZWM8VD4AAHUCDCxzdGFnaW5nX3hjbQh2NShQYWxsZXRJbmZvAAAYARRpbmRleGABDHUzMgABEG5hbWV5AgGAQm91bmRlZFZlYzx1OCwgTWF4UGFsbGV0TmFtZUxlbj4AASxtb2R1bGVfbmFtZXkCAYBCb3VuZGVkVmVjPHU4LCBNYXhQYWxsZXROYW1lTGVuPgABFG1ham9yYAEMdTMyAAEUbWlub3JgAQx1MzIAARRwYXRjaGABDHUzMgAAeQIMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AAB9AgAAAnUCAIECBBhPcHRpb24EBFQBQQEBCBBOb25lAAAAEFNvbWUEAEEBAAABAACFAgQYT3B0aW9uBARUAbUBAQgQTm9uZQAAABBTb21lBAC1AQAAAQAAiQIMLHN0YWdpbmdfeGNtCHY1RFF1ZXJ5UmVzcG9uc2VJbmZvAAAMASxkZXN0aW5hdGlvbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lktAEcUXVlcnlJZAABKG1heF93ZWlnaHS1AQEYV2VpZ2h0AACNAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQsQXNzZXRGaWx0ZXIAAQggRGVmaW5pdGUEAEkCARhBc3NldHMAAAAQV2lsZAQAkQIBJFdpbGRBc3NldAABAACRAhAsc3RhZ2luZ194Y20IdjUUYXNzZXQkV2lsZEFzc2V0AAEQDEFsbAAAABRBbGxPZggBCGlkVQIBHEFzc2V0SWQAAQxmdW6VAgE8V2lsZEZ1bmdpYmlsaXR5AAEAKEFsbENvdW50ZWQEAGABDHUzMgACADBBbGxPZkNvdW50ZWQMAQhpZFUCARxBc3NldElkAAEMZnVulQIBPFdpbGRGdW5naWJpbGl0eQABFGNvdW50YAEMdTMyAAMAAJUCECxzdGFnaW5nX3hjbQh2NRRhc3NldDxXaWxkRnVuZ2liaWxpdHkAAQggRnVuZ2libGUAAAAsTm9uRnVuZ2libGUAAQAAmQIEGE9wdGlvbgQEVAGdAgEIEE5vbmUAAAAQU29tZQQAnQIAAAEAAJ0CECxzdGFnaW5nX3hjbQh2NRRhc3NldExBc3NldFRyYW5zZmVyRmlsdGVyAAEMIFRlbGVwb3J0BACNAgEsQXNzZXRGaWx0ZXIAAAA4UmVzZXJ2ZURlcG9zaXQEAI0CASxBc3NldEZpbHRlcgABADxSZXNlcnZlV2l0aGRyYXcEAI0CASxBc3NldEZpbHRlcgACAAChAgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAZ0CBFMAAAQApQIBGFZlYzxUPgAApQIAAAKdAgCpAgQYT3B0aW9uBARUAUUBAQgQTm9uZQAAABBTb21lBABFAQAAAQAArQIMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGxAgRTAAAEALUCARhWZWM8VD4AALECDCxzdGFnaW5nX3hjbQh2NRBIaW50AAEEMEFzc2V0Q2xhaW1lcgQBIGxvY2F0aW9uQQEBIExvY2F0aW9uAAAAALUCAAACsQIAuQIIDHhjbTxWZXJzaW9uZWRBc3NldHMAAQwIVjMEAIUBATx2Mzo6TXVsdGlBc3NldHMAAwAIVjQEAP0BASh2NDo6QXNzZXRzAAQACFY1BABJAgEodjU6OkFzc2V0cwAFAAC9AggMeGNtMFZlcnNpb25lZFhjbQQsUnVudGltZUNhbGwAAQwIVjMEAMECAVB2Mzo6WGNtPFJ1bnRpbWVDYWxsPgADAAhWNAQA0QIBUHY0OjpYY208UnVudGltZUNhbGw+AAQACFY1BADdAgFQdjU6OlhjbTxSdW50aW1lQ2FsbD4ABQAAwQIMDHhjbQh2MwxYY20EEENhbGwAAAQAxQIBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AAMUCAAACyQIAyQIMDHhjbQh2MyxJbnN0cnVjdGlvbgQQQ2FsbAABwDRXaXRoZHJhd0Fzc2V0BACFAQEsTXVsdGlBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBACFAQEsTXVsdGlBc3NldHMAAQBYUmVjZWl2ZVRlbGVwb3J0ZWRBc3NldAQAhQEBLE11bHRpQXNzZXRzAAIANFF1ZXJ5UmVzcG9uc2UQASBxdWVyeV9pZLQBHFF1ZXJ5SWQAASByZXNwb25zZaUBASBSZXNwb25zZQABKG1heF93ZWlnaHS1AQEYV2VpZ2h0AAEccXVlcmllctEBAVRPcHRpb248TXVsdGlMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c4UBASxNdWx0aUFzc2V0cwABLGJlbmVmaWNpYXJ58AE0TXVsdGlMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c4UBASxNdWx0aUFzc2V0cwABEGRlc3TwATRNdWx0aUxvY2F0aW9uAAEMeGNteQEBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZNUBAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdLUBARhXZWlnaHQAARBjYWxszQIBTERvdWJsZUVuY29kZWQ8Q2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlcmABDHUzMgABQG1heF9tZXNzYWdlX3NpemVgAQx1MzIAATBtYXhfY2FwYWNpdHlgAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudGABDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JgAQx1MzIAARhzZW5kZXJgAQx1MzIAASRyZWNpcGllbnRgAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQA9AFUSW50ZXJpb3JNdWx0aUxvY2F0aW9uAAsALFJlcG9ydEVycm9yBADdAQFEUXVlcnlSZXNwb25zZUluZm8ADAAwRGVwb3NpdEFzc2V0CAEYYXNzZXRz4QEBQE11bHRpQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyefABNE11bHRpTG9jYXRpb24ADQBMRGVwb3NpdFJlc2VydmVBc3NldAwBGGFzc2V0c+EBAUBNdWx0aUFzc2V0RmlsdGVyAAEQZGVzdPABNE11bHRpTG9jYXRpb24AAQx4Y215AQEcWGNtPCgpPgAOADRFeGNoYW5nZUFzc2V0DAEQZ2l2ZeEBAUBNdWx0aUFzc2V0RmlsdGVyAAEQd2FudIUBASxNdWx0aUFzc2V0cwABHG1heGltYWzIARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRz4QEBQE11bHRpQXNzZXRGaWx0ZXIAARxyZXNlcnZl8AE0TXVsdGlMb2NhdGlvbgABDHhjbXkBARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHPhAQFATXVsdGlBc3NldEZpbHRlcgABEGRlc3TwATRNdWx0aUxvY2F0aW9uAAEMeGNteQEBHFhjbTwoKT4AEQA0UmVwb3J0SG9sZGluZwgBNHJlc3BvbnNlX2luZm/dAQFEUXVlcnlSZXNwb25zZUluZm8AARhhc3NldHPhAQFATXVsdGlBc3NldEZpbHRlcgASADBCdXlFeGVjdXRpb24IARBmZWVzjQEBKE11bHRpQXNzZXQAATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEAMECASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEAMECASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRzhQEBLE11bHRpQXNzZXRzAAEYdGlja2V08AE0TXVsdGlMb2NhdGlvbgAYABBUcmFwBAC0AQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lktAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHS1AQEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEAIUBASxNdWx0aUFzc2V0cwAcACxFeHBlY3RBc3NldAQAhQEBLE11bHRpQXNzZXRzAB0AMEV4cGVjdE9yaWdpbgQA0QEBVE9wdGlvbjxNdWx0aUxvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQAqQEBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBADJAQE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZv3QEBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4YAEMdTMyAAEQbmFtZRgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvcmABDHUzMgABPG1pbl9jcmF0ZV9taW5vcmABDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQA3QEBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBAD4ASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29yawEBASROZXR3b3JrSWQAASxkZXN0aW5hdGlvbvQBVEludGVyaW9yTXVsdGlMb2NhdGlvbgABDHhjbXkBARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0jQEBKE11bHRpQXNzZXQAASB1bmxvY2tlcvABNE11bHRpTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldI0BAShNdWx0aUFzc2V0AAEYdGFyZ2V08AE0TXVsdGlMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0jQEBKE11bHRpQXNzZXQAARRvd25lcvABNE11bHRpTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0jQEBKE11bHRpQXNzZXQAARhsb2NrZXLwATRNdWx0aUxvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3yAEQYm9vbAArACBTZXRUb3BpYwQACAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQA8AE0TXVsdGlMb2NhdGlvbgAuADxVbnBhaWRFeGVjdXRpb24IATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAATBjaGVja19vcmlnaW7RAQFUT3B0aW9uPE11bHRpTG9jYXRpb24+AC8AAM0CDAx4Y204ZG91YmxlX2VuY29kZWQ0RG91YmxlRW5jb2RlZAQEVAAABAEcZW5jb2RlZBgBHFZlYzx1OD4AANECDCxzdGFnaW5nX3hjbQh2NAxYY20EEENhbGwAAAQA1QIBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AANUCAAAC2QIA2QIMLHN0YWdpbmdfeGNtCHY0LEluc3RydWN0aW9uBBBDYWxsAAHANFdpdGhkcmF3QXNzZXQEAP0BARhBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBAD9AQEYQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAP0BARhBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lktAEcUXVlcnlJZAABIHJlc3BvbnNlFQIBIFJlc3BvbnNlAAEobWF4X3dlaWdodLUBARhXZWlnaHQAARxxdWVyaWVyKQIBQE9wdGlvbjxMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c/0BARhBc3NldHMAASxiZW5lZmljaWFyeQ0BASBMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c/0BARhBc3NldHMAARBkZXN0DQEBIExvY2F0aW9uAAEMeGNt8QEBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZNUBAShPcmlnaW5LaW5kAAFYcmVxdWlyZV93ZWlnaHRfYXRfbW9zdLUBARhXZWlnaHQAARBjYWxszQIBTERvdWJsZUVuY29kZWQ8Q2FsbD4ABgBkSHJtcE5ld0NoYW5uZWxPcGVuUmVxdWVzdAwBGHNlbmRlcmABDHUzMgABQG1heF9tZXNzYWdlX3NpemVgAQx1MzIAATBtYXhfY2FwYWNpdHlgAQx1MzIABwBMSHJtcENoYW5uZWxBY2NlcHRlZAQBJHJlY2lwaWVudGABDHUzMgAIAEhIcm1wQ2hhbm5lbENsb3NpbmcMASRpbml0aWF0b3JgAQx1MzIAARhzZW5kZXJgAQx1MzIAASRyZWNpcGllbnRgAQx1MzIACQAsQ2xlYXJPcmlnaW4ACgA0RGVzY2VuZE9yaWdpbgQAEQEBQEludGVyaW9yTG9jYXRpb24ACwAsUmVwb3J0RXJyb3IEAC0CAURRdWVyeVJlc3BvbnNlSW5mbwAMADBEZXBvc2l0QXNzZXQIARhhc3NldHMxAgEsQXNzZXRGaWx0ZXIAASxiZW5lZmljaWFyeQ0BASBMb2NhdGlvbgANAExEZXBvc2l0UmVzZXJ2ZUFzc2V0DAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyAAEQZGVzdA0BASBMb2NhdGlvbgABDHhjbfEBARxYY208KCk+AA4ANEV4Y2hhbmdlQXNzZXQMARBnaXZlMQIBLEFzc2V0RmlsdGVyAAEQd2FudP0BARhBc3NldHMAARxtYXhpbWFsyAEQYm9vbAAPAFxJbml0aWF0ZVJlc2VydmVXaXRoZHJhdwwBGGFzc2V0czECASxBc3NldEZpbHRlcgABHHJlc2VydmUNAQEgTG9jYXRpb24AAQx4Y23xAQEcWGNtPCgpPgAQAEBJbml0aWF0ZVRlbGVwb3J0DAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyAAEQZGVzdA0BASBMb2NhdGlvbgABDHhjbfEBARxYY208KCk+ABEANFJlcG9ydEhvbGRpbmcIATRyZXNwb25zZV9pbmZvLQIBRFF1ZXJ5UmVzcG9uc2VJbmZvAAEYYXNzZXRzMQIBLEFzc2V0RmlsdGVyABIAMEJ1eUV4ZWN1dGlvbggBEGZlZXMFAgEUQXNzZXQAATB3ZWlnaHRfbGltaXTtAQEsV2VpZ2h0TGltaXQAEwA0UmVmdW5kU3VycGx1cwAUADxTZXRFcnJvckhhbmRsZXIEANECASRYY208Q2FsbD4AFQAsU2V0QXBwZW5kaXgEANECASRYY208Q2FsbD4AFgAoQ2xlYXJFcnJvcgAXAChDbGFpbUFzc2V0CAEYYXNzZXRz/QEBGEFzc2V0cwABGHRpY2tldA0BASBMb2NhdGlvbgAYABBUcmFwBAC0AQx1NjQAGQBAU3Vic2NyaWJlVmVyc2lvbggBIHF1ZXJ5X2lktAEcUXVlcnlJZAABTG1heF9yZXNwb25zZV93ZWlnaHS1AQEYV2VpZ2h0ABoASFVuc3Vic2NyaWJlVmVyc2lvbgAbACRCdXJuQXNzZXQEAP0BARhBc3NldHMAHAAsRXhwZWN0QXNzZXQEAP0BARhBc3NldHMAHQAwRXhwZWN0T3JpZ2luBAApAgFAT3B0aW9uPExvY2F0aW9uPgAeACxFeHBlY3RFcnJvcgQAqQEBUE9wdGlvbjwodTMyLCBFcnJvcik+AB8AUEV4cGVjdFRyYW5zYWN0U3RhdHVzBADJAQE4TWF5YmVFcnJvckNvZGUAIAAsUXVlcnlQYWxsZXQIASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AATRyZXNwb25zZV9pbmZvLQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACEAMEV4cGVjdFBhbGxldBQBFGluZGV4YAEMdTMyAAEQbmFtZRgBHFZlYzx1OD4AASxtb2R1bGVfbmFtZRgBHFZlYzx1OD4AASxjcmF0ZV9tYWpvcmABDHUzMgABPG1pbl9jcmF0ZV9taW5vcmABDHUzMgAiAFBSZXBvcnRUcmFuc2FjdFN0YXR1cwQALQIBRFF1ZXJ5UmVzcG9uc2VJbmZvACMATENsZWFyVHJhbnNhY3RTdGF0dXMAJAA8VW5pdmVyc2FsT3JpZ2luBAAZAQEgSnVuY3Rpb24AJQA0RXhwb3J0TWVzc2FnZQwBHG5ldHdvcmshAQEkTmV0d29ya0lkAAEsZGVzdGluYXRpb24RAQFASW50ZXJpb3JMb2NhdGlvbgABDHhjbfEBARxYY208KCk+ACYAJExvY2tBc3NldAgBFGFzc2V0BQIBFEFzc2V0AAEgdW5sb2NrZXINAQEgTG9jYXRpb24AJwAsVW5sb2NrQXNzZXQIARRhc3NldAUCARRBc3NldAABGHRhcmdldA0BASBMb2NhdGlvbgAoADhOb3RlVW5sb2NrYWJsZQgBFGFzc2V0BQIBFEFzc2V0AAEUb3duZXINAQEgTG9jYXRpb24AKQA0UmVxdWVzdFVubG9jawgBFGFzc2V0BQIBFEFzc2V0AAEYbG9ja2VyDQEBIExvY2F0aW9uACoALFNldEZlZXNNb2RlBAEwaml0X3dpdGhkcmF3yAEQYm9vbAArACBTZXRUb3BpYwQACAEgW3U4OyAzMl0ALAAoQ2xlYXJUb3BpYwAtACxBbGlhc09yaWdpbgQADQEBIExvY2F0aW9uAC4APFVucGFpZEV4ZWN1dGlvbggBMHdlaWdodF9saW1pdO0BASxXZWlnaHRMaW1pdAABMGNoZWNrX29yaWdpbikCAUBPcHRpb248TG9jYXRpb24+AC8AAN0CDCxzdGFnaW5nX3hjbQh2NQxYY20EEENhbGwAAAQA4QIBWFZlYzxJbnN0cnVjdGlvbjxDYWxsPj4AAOECAAAC5QIA5QIMLHN0YWdpbmdfeGNtCHY1LEluc3RydWN0aW9uBBBDYWxsAAHQNFdpdGhkcmF3QXNzZXQEAEkCARhBc3NldHMAAABUUmVzZXJ2ZUFzc2V0RGVwb3NpdGVkBABJAgEYQXNzZXRzAAEAWFJlY2VpdmVUZWxlcG9ydGVkQXNzZXQEAEkCARhBc3NldHMAAgA0UXVlcnlSZXNwb25zZRABIHF1ZXJ5X2lktAEcUXVlcnlJZAABIHJlc3BvbnNlYQIBIFJlc3BvbnNlAAEobWF4X3dlaWdodLUBARhXZWlnaHQAARxxdWVyaWVygQIBQE9wdGlvbjxMb2NhdGlvbj4AAwA0VHJhbnNmZXJBc3NldAgBGGFzc2V0c0kCARhBc3NldHMAASxiZW5lZmljaWFyeUEBASBMb2NhdGlvbgAEAFBUcmFuc2ZlclJlc2VydmVBc3NldAwBGGFzc2V0c0kCARhBc3NldHMAARBkZXN0QQEBIExvY2F0aW9uAAEMeGNtPQIBHFhjbTwoKT4ABQAgVHJhbnNhY3QMASxvcmlnaW5fa2luZNUBAShPcmlnaW5LaW5kAAFMZmFsbGJhY2tfbWF4X3dlaWdodIUCAThPcHRpb248V2VpZ2h0PgABEGNhbGzNAgFMRG91YmxlRW5jb2RlZDxDYWxsPgAGAGRIcm1wTmV3Q2hhbm5lbE9wZW5SZXF1ZXN0DAEYc2VuZGVyYAEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZWABDHUzMgABMG1heF9jYXBhY2l0eWABDHUzMgAHAExIcm1wQ2hhbm5lbEFjY2VwdGVkBAEkcmVjaXBpZW50YAEMdTMyAAgASEhybXBDaGFubmVsQ2xvc2luZwwBJGluaXRpYXRvcmABDHUzMgABGHNlbmRlcmABDHUzMgABJHJlY2lwaWVudGABDHUzMgAJACxDbGVhck9yaWdpbgAKADREZXNjZW5kT3JpZ2luBABFAQFASW50ZXJpb3JMb2NhdGlvbgALACxSZXBvcnRFcnJvcgQAiQIBRFF1ZXJ5UmVzcG9uc2VJbmZvAAwAMERlcG9zaXRBc3NldAgBGGFzc2V0c40CASxBc3NldEZpbHRlcgABLGJlbmVmaWNpYXJ5QQEBIExvY2F0aW9uAA0ATERlcG9zaXRSZXNlcnZlQXNzZXQMARhhc3NldHONAgEsQXNzZXRGaWx0ZXIAARBkZXN0QQEBIExvY2F0aW9uAAEMeGNtPQIBHFhjbTwoKT4ADgA0RXhjaGFuZ2VBc3NldAwBEGdpdmWNAgEsQXNzZXRGaWx0ZXIAARB3YW50SQIBGEFzc2V0cwABHG1heGltYWzIARBib29sAA8AXEluaXRpYXRlUmVzZXJ2ZVdpdGhkcmF3DAEYYXNzZXRzjQIBLEFzc2V0RmlsdGVyAAEccmVzZXJ2ZUEBASBMb2NhdGlvbgABDHhjbT0CARxYY208KCk+ABAAQEluaXRpYXRlVGVsZXBvcnQMARhhc3NldHONAgEsQXNzZXRGaWx0ZXIAARBkZXN0QQEBIExvY2F0aW9uAAEMeGNtPQIBHFhjbTwoKT4AEQA0UmVwb3J0SG9sZGluZwgBNHJlc3BvbnNlX2luZm+JAgFEUXVlcnlSZXNwb25zZUluZm8AARhhc3NldHONAgEsQXNzZXRGaWx0ZXIAEgAwQnV5RXhlY3V0aW9uCAEQZmVlc1ECARRBc3NldAABMHdlaWdodF9saW1pdO0BASxXZWlnaHRMaW1pdAATADRSZWZ1bmRTdXJwbHVzABQAPFNldEVycm9ySGFuZGxlcgQA3QIBJFhjbTxDYWxsPgAVACxTZXRBcHBlbmRpeAQA3QIBJFhjbTxDYWxsPgAWAChDbGVhckVycm9yABcAKENsYWltQXNzZXQIARhhc3NldHNJAgEYQXNzZXRzAAEYdGlja2V0QQEBIExvY2F0aW9uABgAEFRyYXAEALQBDHU2NAAZAEBTdWJzY3JpYmVWZXJzaW9uCAEgcXVlcnlfaWS0ARxRdWVyeUlkAAFMbWF4X3Jlc3BvbnNlX3dlaWdodLUBARhXZWlnaHQAGgBIVW5zdWJzY3JpYmVWZXJzaW9uABsAJEJ1cm5Bc3NldAQASQIBGEFzc2V0cwAcACxFeHBlY3RBc3NldAQASQIBGEFzc2V0cwAdADBFeHBlY3RPcmlnaW4EAIECAUBPcHRpb248TG9jYXRpb24+AB4ALEV4cGVjdEVycm9yBABlAgFQT3B0aW9uPCh1MzIsIEVycm9yKT4AHwBQRXhwZWN0VHJhbnNhY3RTdGF0dXMEAMkBAThNYXliZUVycm9yQ29kZQAgACxRdWVyeVBhbGxldAgBLG1vZHVsZV9uYW1lGAEcVmVjPHU4PgABNHJlc3BvbnNlX2luZm+JAgFEUXVlcnlSZXNwb25zZUluZm8AIQAwRXhwZWN0UGFsbGV0FAEUaW5kZXhgAQx1MzIAARBuYW1lGAEcVmVjPHU4PgABLG1vZHVsZV9uYW1lGAEcVmVjPHU4PgABLGNyYXRlX21ham9yYAEMdTMyAAE8bWluX2NyYXRlX21pbm9yYAEMdTMyACIAUFJlcG9ydFRyYW5zYWN0U3RhdHVzBACJAgFEUXVlcnlSZXNwb25zZUluZm8AIwBMQ2xlYXJUcmFuc2FjdFN0YXR1cwAkADxVbml2ZXJzYWxPcmlnaW4EAE0BASBKdW5jdGlvbgAlADRFeHBvcnRNZXNzYWdlDAEcbmV0d29ya1UBASROZXR3b3JrSWQAASxkZXN0aW5hdGlvbkUBAUBJbnRlcmlvckxvY2F0aW9uAAEMeGNtPQIBHFhjbTwoKT4AJgAkTG9ja0Fzc2V0CAEUYXNzZXRRAgEUQXNzZXQAASB1bmxvY2tlckEBASBMb2NhdGlvbgAnACxVbmxvY2tBc3NldAgBFGFzc2V0UQIBFEFzc2V0AAEYdGFyZ2V0QQEBIExvY2F0aW9uACgAOE5vdGVVbmxvY2thYmxlCAEUYXNzZXRRAgEUQXNzZXQAARRvd25lckEBASBMb2NhdGlvbgApADRSZXF1ZXN0VW5sb2NrCAEUYXNzZXRRAgEUQXNzZXQAARhsb2NrZXJBAQEgTG9jYXRpb24AKgAsU2V0RmVlc01vZGUEATBqaXRfd2l0aGRyYXfIARBib29sACsAIFNldFRvcGljBAAIASBbdTg7IDMyXQAsAChDbGVhclRvcGljAC0ALEFsaWFzT3JpZ2luBABBAQEgTG9jYXRpb24ALgA8VW5wYWlkRXhlY3V0aW9uCAEwd2VpZ2h0X2xpbWl07QEBLFdlaWdodExpbWl0AAEwY2hlY2tfb3JpZ2lugQIBQE9wdGlvbjxMb2NhdGlvbj4ALwAcUGF5RmVlcwQBFGFzc2V0UQIBFEFzc2V0ADAAQEluaXRpYXRlVHJhbnNmZXIUASxkZXN0aW5hdGlvbkEBASBMb2NhdGlvbgABLHJlbW90ZV9mZWVzmQIBbE9wdGlvbjxBc3NldFRyYW5zZmVyRmlsdGVyPgABPHByZXNlcnZlX29yaWdpbsgBEGJvb2wAARhhc3NldHOhAgHgQm91bmRlZFZlYzxBc3NldFRyYW5zZmVyRmlsdGVyLCBNYXhBc3NldFRyYW5zZmVyRmlsdGVycz4AAShyZW1vdGVfeGNtPQIBHFhjbTwoKT4AMQBERXhlY3V0ZVdpdGhPcmlnaW4IAURkZXNjZW5kYW50X29yaWdpbqkCAWBPcHRpb248SW50ZXJpb3JMb2NhdGlvbj4AAQx4Y23dAgEkWGNtPENhbGw+ADIAIFNldEhpbnRzBAEUaGludHOtAgGEQm91bmRlZFZlYzxIaW50LCBIaW50TnVtVmFyaWFudHM+ADMAAOkCBBhPcHRpb24EBFQBOAEIEE5vbmUAAAAQU29tZQQAOAAAAQAA7QIQUHN0YWdpbmdfeGNtX2V4ZWN1dG9yGHRyYWl0czhhc3NldF90cmFuc2ZlcjBUcmFuc2ZlclR5cGUAARAgVGVsZXBvcnQAAAAwTG9jYWxSZXNlcnZlAAEASERlc3RpbmF0aW9uUmVzZXJ2ZQACADRSZW1vdGVSZXNlcnZlBADsAURWZXJzaW9uZWRMb2NhdGlvbgADAADxAggMeGNtQFZlcnNpb25lZEFzc2V0SWQAAQwIVjMEAJEBASx2Mzo6QXNzZXRJZAADAAhWNAQACQIBLHY0OjpBc3NldElkAAQACFY1BABVAgEsdjU6OkFzc2V0SWQABQAA9QIEGE9wdGlvbgQEVAEoAQgQTm9uZQAAABBTb21lBAAoAAABAAD5AgxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBBDYWxsBARUAAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLv0CDDhwYWxsZXRfdXRpbGl0eRhwYWxsZXQQQ2FsbAQEVAABIBRiYXRjaAQBFGNhbGxzAQMBfFZlYzw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAEh8U2VuZCBhIGJhdGNoIG9mIGRpc3BhdGNoIGNhbGxzLgCwTWF5IGJlIGNhbGxlZCBmcm9tIGFueSBvcmlnaW4gZXhjZXB0IGBOb25lYC4AXQEtIGBjYWxsc2A6IFRoZSBjYWxscyB0byBiZSBkaXNwYXRjaGVkIGZyb20gdGhlIHNhbWUgb3JpZ2luLiBUaGUgbnVtYmVyIG9mIGNhbGwgbXVzdCBub3Q5ASAgZXhjZWVkIHRoZSBjb25zdGFudDogYGJhdGNoZWRfY2FsbHNfbGltaXRgIChhdmFpbGFibGUgaW4gY29uc3RhbnQgbWV0YWRhdGEpLgBVAUlmIG9yaWdpbiBpcyByb290IHRoZW4gdGhlIGNhbGxzIGFyZSBkaXNwYXRjaGVkIHdpdGhvdXQgY2hlY2tpbmcgb3JpZ2luIGZpbHRlci4gKFRoaXPsaW5jbHVkZXMgYnlwYXNzaW5nIGBmcmFtZV9zeXN0ZW06OkNvbmZpZzo6QmFzZUNhbGxGaWx0ZXJgKS4ANCMjIENvbXBsZXhpdHnQLSBPKEMpIHdoZXJlIEMgaXMgdGhlIG51bWJlciBvZiBjYWxscyB0byBiZSBiYXRjaGVkLgBVAVRoaXMgd2lsbCByZXR1cm4gYE9rYCBpbiBhbGwgY2lyY3Vtc3RhbmNlcy4gVG8gZGV0ZXJtaW5lIHRoZSBzdWNjZXNzIG9mIHRoZSBiYXRjaCwgYW4xAWV2ZW50IGlzIGRlcG9zaXRlZC4gSWYgYSBjYWxsIGZhaWxlZCBhbmQgdGhlIGJhdGNoIHdhcyBpbnRlcnJ1cHRlZCwgdGhlbiB0aGVVAWBCYXRjaEludGVycnVwdGVkYCBldmVudCBpcyBkZXBvc2l0ZWQsIGFsb25nIHdpdGggdGhlIG51bWJlciBvZiBzdWNjZXNzZnVsIGNhbGxzIG1hZGVNAWFuZCB0aGUgZXJyb3Igb2YgdGhlIGZhaWxlZCBjYWxsLiBJZiBhbGwgd2VyZSBzdWNjZXNzZnVsLCB0aGVuIHRoZSBgQmF0Y2hDb21wbGV0ZWRgTGV2ZW50IGlzIGRlcG9zaXRlZC40YXNfZGVyaXZhdGl2ZQgBFGluZGV4BQMBDHUxNgABEGNhbGwgAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAE03FNlbmQgYSBjYWxsIHRocm91Z2ggYW4gaW5kZXhlZCBwc2V1ZG9ueW0gb2YgdGhlIHNlbmRlci4AVQFGaWx0ZXIgZnJvbSBvcmlnaW4gYXJlIHBhc3NlZCBhbG9uZy4gVGhlIGNhbGwgd2lsbCBiZSBkaXNwYXRjaGVkIHdpdGggYW4gb3JpZ2luIHdoaWNovHVzZSB0aGUgc2FtZSBmaWx0ZXIgYXMgdGhlIG9yaWdpbiBvZiB0aGlzIGNhbGwuAEUBTk9URTogSWYgeW91IG5lZWQgdG8gZW5zdXJlIHRoYXQgYW55IGFjY291bnQtYmFzZWQgZmlsdGVyaW5nIGlzIG5vdCBob25vcmVkIChpLmUuYQFiZWNhdXNlIHlvdSBleHBlY3QgYHByb3h5YCB0byBoYXZlIGJlZW4gdXNlZCBwcmlvciBpbiB0aGUgY2FsbCBzdGFjayBhbmQgeW91IGRvIG5vdCB3YW50UQF0aGUgY2FsbCByZXN0cmljdGlvbnMgdG8gYXBwbHkgdG8gYW55IHN1Yi1hY2NvdW50cyksIHRoZW4gdXNlIGBhc19tdWx0aV90aHJlc2hvbGRfMWB8aW4gdGhlIE11bHRpc2lnIHBhbGxldCBpbnN0ZWFkLgD0Tk9URTogUHJpb3IgdG8gdmVyc2lvbiAqMTIsIHRoaXMgd2FzIGNhbGxlZCBgYXNfbGltaXRlZF9zdWJgLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uJGJhdGNoX2FsbAQBFGNhbGxzAQMBfFZlYzw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAjTsU2VuZCBhIGJhdGNoIG9mIGRpc3BhdGNoIGNhbGxzIGFuZCBhdG9taWNhbGx5IGV4ZWN1dGUgdGhlbS4hAVRoZSB3aG9sZSB0cmFuc2FjdGlvbiB3aWxsIHJvbGxiYWNrIGFuZCBmYWlsIGlmIGFueSBvZiB0aGUgY2FsbHMgZmFpbGVkLgCwTWF5IGJlIGNhbGxlZCBmcm9tIGFueSBvcmlnaW4gZXhjZXB0IGBOb25lYC4AXQEtIGBjYWxsc2A6IFRoZSBjYWxscyB0byBiZSBkaXNwYXRjaGVkIGZyb20gdGhlIHNhbWUgb3JpZ2luLiBUaGUgbnVtYmVyIG9mIGNhbGwgbXVzdCBub3Q5ASAgZXhjZWVkIHRoZSBjb25zdGFudDogYGJhdGNoZWRfY2FsbHNfbGltaXRgIChhdmFpbGFibGUgaW4gY29uc3RhbnQgbWV0YWRhdGEpLgBVAUlmIG9yaWdpbiBpcyByb290IHRoZW4gdGhlIGNhbGxzIGFyZSBkaXNwYXRjaGVkIHdpdGhvdXQgY2hlY2tpbmcgb3JpZ2luIGZpbHRlci4gKFRoaXPsaW5jbHVkZXMgYnlwYXNzaW5nIGBmcmFtZV9zeXN0ZW06OkNvbmZpZzo6QmFzZUNhbGxGaWx0ZXJgKS4ANCMjIENvbXBsZXhpdHnQLSBPKEMpIHdoZXJlIEMgaXMgdGhlIG51bWJlciBvZiBjYWxscyB0byBiZSBiYXRjaGVkLixkaXNwYXRjaF9hcwgBJGFzX29yaWdpbgkDAVRCb3g8VDo6UGFsbGV0c09yaWdpbj4AARBjYWxsIAF8Qm94PDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgADGMhEaXNwYXRjaGVzIGEgZnVuY3Rpb24gY2FsbCB3aXRoIGEgcHJvdmlkZWQgb3JpZ2luLgDEVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1Jvb3RfLgA0IyMgQ29tcGxleGl0eRwtIE8oMSkuLGZvcmNlX2JhdGNoBAEUY2FsbHMBAwF8VmVjPDxUIGFzIENvbmZpZz46OlJ1bnRpbWVDYWxsPgAENHxTZW5kIGEgYmF0Y2ggb2YgZGlzcGF0Y2ggY2FsbHMu1FVubGlrZSBgYmF0Y2hgLCBpdCBhbGxvd3MgZXJyb3JzIGFuZCB3b24ndCBpbnRlcnJ1cHQuALBNYXkgYmUgY2FsbGVkIGZyb20gYW55IG9yaWdpbiBleGNlcHQgYE5vbmVgLgBdAS0gYGNhbGxzYDogVGhlIGNhbGxzIHRvIGJlIGRpc3BhdGNoZWQgZnJvbSB0aGUgc2FtZSBvcmlnaW4uIFRoZSBudW1iZXIgb2YgY2FsbCBtdXN0IG5vdDkBICBleGNlZWQgdGhlIGNvbnN0YW50OiBgYmF0Y2hlZF9jYWxsc19saW1pdGAgKGF2YWlsYWJsZSBpbiBjb25zdGFudCBtZXRhZGF0YSkuAE0BSWYgb3JpZ2luIGlzIHJvb3QgdGhlbiB0aGUgY2FsbHMgYXJlIGRpc3BhdGNoIHdpdGhvdXQgY2hlY2tpbmcgb3JpZ2luIGZpbHRlci4gKFRoaXPsaW5jbHVkZXMgYnlwYXNzaW5nIGBmcmFtZV9zeXN0ZW06OkNvbmZpZzo6QmFzZUNhbGxGaWx0ZXJgKS4ANCMjIENvbXBsZXhpdHnQLSBPKEMpIHdoZXJlIEMgaXMgdGhlIG51bWJlciBvZiBjYWxscyB0byBiZSBiYXRjaGVkLix3aXRoX3dlaWdodAgBEGNhbGwgAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAEYd2VpZ2h0tQEBGFdlaWdodAAFGMREaXNwYXRjaCBhIGZ1bmN0aW9uIGNhbGwgd2l0aCBhIHNwZWNpZmllZCB3ZWlnaHQuAC0BVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjaGVjayB0aGUgd2VpZ2h0IG9mIHRoZSBjYWxsLCBhbmQgaW5zdGVhZCBhbGxvd3MgdGhluFJvb3Qgb3JpZ2luIHRvIHNwZWNpZnkgdGhlIHdlaWdodCBvZiB0aGUgY2FsbC4AxFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4caWZfZWxzZQgBEG1haW4gAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAEgZmFsbGJhY2sgAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAZcFQFEaXNwYXRjaCBhIGZhbGxiYWNrIGNhbGwgaW4gdGhlIGV2ZW50IHRoZSBtYWluIGNhbGwgZmFpbHMgdG8gZXhlY3V0ZS6wTWF5IGJlIGNhbGxlZCBmcm9tIGFueSBvcmlnaW4gZXhjZXB0IGBOb25lYC4A5FRoaXMgZnVuY3Rpb24gZmlyc3QgYXR0ZW1wdHMgdG8gZGlzcGF0Y2ggdGhlIGBtYWluYCBjYWxsLtRJZiB0aGUgYG1haW5gIGNhbGwgZmFpbHMsIHRoZSBgZmFsbGJhY2tgIGlzIGF0dGVtdGVkLhUBaWYgdGhlIGZhbGxiYWNrIGlzIHN1Y2Nlc3NmdWxseSBkaXNwYXRjaGVkLCB0aGUgd2VpZ2h0cyBvZiBib3RoIGNhbGxzJQFhcmUgYWNjdW11bGF0ZWQgYW5kIGFuIGV2ZW50IGNvbnRhaW5pbmcgdGhlIG1haW4gY2FsbCBlcnJvciBpcyBkZXBvc2l0ZWQuANxJbiB0aGUgZXZlbnQgb2YgYSBmYWxsYmFjayBmYWlsdXJlIHRoZSB3aG9sZSBjYWxsIGZhaWxzaHdpdGggdGhlIHdlaWdodHMgcmV0dXJuZWQuAEEBLSBgbWFpbmA6IFRoZSBtYWluIGNhbGwgdG8gYmUgZGlzcGF0Y2hlZC4gVGhpcyBpcyB0aGUgcHJpbWFyeSBhY3Rpb24gdG8gZXhlY3V0ZS49AS0gYGZhbGxiYWNrYDogVGhlIGZhbGxiYWNrIGNhbGwgdG8gYmUgZGlzcGF0Y2hlZCBpbiBjYXNlIHRoZSBgbWFpbmAgY2FsbCBmYWlscy4ARCMjIERpc3BhdGNoIExvZ2ljQQEtIElmIHRoZSBvcmlnaW4gaXMgYHJvb3RgLCBib3RoIHRoZSBtYWluIGFuZCBmYWxsYmFjayBjYWxscyBhcmUgZXhlY3V0ZWQgd2l0aG91dHggIGFwcGx5aW5nIGFueSBvcmlnaW4gZmlsdGVycy5JAS0gSWYgdGhlIG9yaWdpbiBpcyBub3QgYHJvb3RgLCB0aGUgb3JpZ2luIGZpbHRlciBpcyBhcHBsaWVkIHRvIGJvdGggdGhlIGBtYWluYCBhbmRMICBgZmFsbGJhY2tgIGNhbGxzLgAsIyMgVXNlIENhc2VZAS0gU29tZSB1c2UgY2FzZXMgbWlnaHQgaW52b2x2ZSBzdWJtaXR0aW5nIGEgYGJhdGNoYCB0eXBlIGNhbGwgaW4gZWl0aGVyIG1haW4sIGZhbGxiYWNrKCAgb3IgYm90aC5QZGlzcGF0Y2hfYXNfZmFsbGlibGUIASRhc19vcmlnaW4JAwFUQm94PFQ6OlBhbGxldHNPcmlnaW4+AAEQY2FsbCABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4ABxTIRGlzcGF0Y2hlcyBhIGZ1bmN0aW9uIGNhbGwgd2l0aCBhIHByb3ZpZGVkIG9yaWdpbi4AUQFBbG1vc3QgdGhlIHNhbWUgYXMgW2BQYWxsZXQ6OmRpc3BhdGNoX2FzYF0gYnV0IGZvcndhcmRzIGFueSBlcnJvciBvZiB0aGUgaW5uZXIgY2FsbC4AxFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9Sb290Xy4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuAQMAAAIgAAUDAAAFBAAJAwhsYnJpZGdlX2h1Yl9wb2xrYWRvdF9ydW50aW1lME9yaWdpbkNhbGxlcgABDBhzeXN0ZW0EAA0DAXRmcmFtZV9zeXN0ZW06Ok9yaWdpbjxSdW50aW1lPgAAACxQb2xrYWRvdFhjbQQAEQMBSHBhbGxldF94Y206Ok9yaWdpbgAfAChDdW11bHVzWGNtBAAVAwFoY3VtdWx1c19wYWxsZXRfeGNtOjpPcmlnaW4AIAAADQMMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2gkUmF3T3JpZ2luBCRBY2NvdW50SWQBBAEQEFJvb3QAAAAYU2lnbmVkBAAEASRBY2NvdW50SWQAAQAQTm9uZQACAChBdXRob3JpemVkAAMAABEDDChwYWxsZXRfeGNtGHBhbGxldBhPcmlnaW4AAQgMWGNtBABBAQEgTG9jYXRpb24AAAAgUmVzcG9uc2UEAEEBASBMb2NhdGlvbgABAAAVAwxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBhPcmlnaW4AAQgUUmVsYXkAAABAU2libGluZ1BhcmFjaGFpbgQAnAEYUGFyYUlkAAEAABkDDDxwYWxsZXRfbXVsdGlzaWcYcGFsbGV0EENhbGwEBFQAARRQYXNfbXVsdGlfdGhyZXNob2xkXzEIAURvdGhlcl9zaWduYXRvcmllc8wBRFZlYzxUOjpBY2NvdW50SWQ+AAEQY2FsbCABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AADBRAUltbWVkaWF0ZWx5IGRpc3BhdGNoIGEgbXVsdGktc2lnbmF0dXJlIGNhbGwgdXNpbmcgYSBzaW5nbGUgYXBwcm92YWwgZnJvbSB0aGUgY2FsbGVyLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAD0BLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGFyZSBwYXJ0IG9mIHRoZQEBbXVsdGktc2lnbmF0dXJlLCBidXQgZG8gbm90IHBhcnRpY2lwYXRlIGluIHRoZSBhcHByb3ZhbCBwcm9jZXNzLogtIGBjYWxsYDogVGhlIGNhbGwgdG8gYmUgZXhlY3V0ZWQuALhSZXN1bHQgaXMgZXF1aXZhbGVudCB0byB0aGUgZGlzcGF0Y2hlZCByZXN1bHQuADQjIyBDb21wbGV4aXR5GQFPKFogKyBDKSB3aGVyZSBaIGlzIHRoZSBsZW5ndGggb2YgdGhlIGNhbGwgYW5kIEMgaXRzIGV4ZWN1dGlvbiB3ZWlnaHQuIGFzX211bHRpFAEkdGhyZXNob2xkBQMBDHUxNgABRG90aGVyX3NpZ25hdG9yaWVzzAFEVmVjPFQ6OkFjY291bnRJZD4AATxtYXliZV90aW1lcG9pbnQdAwGQT3B0aW9uPFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4+AAEQY2FsbCABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4AAShtYXhfd2VpZ2h0tQEBGFdlaWdodAABqFUBUmVnaXN0ZXIgYXBwcm92YWwgZm9yIGEgZGlzcGF0Y2ggdG8gYmUgbWFkZSBmcm9tIGEgZGV0ZXJtaW5pc3RpYyBjb21wb3NpdGUgYWNjb3VudCBpZvhhcHByb3ZlZCBieSBhIHRvdGFsIG9mIGB0aHJlc2hvbGQgLSAxYCBvZiBgb3RoZXJfc2lnbmF0b3JpZXNgLgA9ASoqSWYgdGhlIGFwcHJvdmFsIHRocmVzaG9sZCBpcyBtZXQgKGluY2x1ZGluZyB0aGUgc2VuZGVyJ3MgYXBwcm92YWwpLCB0aGlzIHdpbGxFAWltbWVkaWF0ZWx5IGV4ZWN1dGUgdGhlIGNhbGwuKiogVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gZXhlY3V0ZSBhIG11bHRpc2lnIGNhbGwgLcBgYXBwcm92ZV9hc19tdWx0aWAgd2lsbCBuZXZlciB0cmlnZ2VyIGV4ZWN1dGlvbi4ALQFQYXltZW50OiBgRGVwb3NpdEJhc2VgIHdpbGwgYmUgcmVzZXJ2ZWQgaWYgdGhpcyBpcyB0aGUgZmlyc3QgYXBwcm92YWwsIHBsdXM9AWB0aHJlc2hvbGRgIHRpbWVzIGBEZXBvc2l0RmFjdG9yYC4gSXQgaXMgcmV0dXJuZWQgb25jZSB0aGlzIGRpc3BhdGNoIGhhcHBlbnMgb3I0aXMgY2FuY2VsbGVkLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAFUBLSBgdGhyZXNob2xkYDogVGhlIHRvdGFsIG51bWJlciBvZiBhcHByb3ZhbHMgZm9yIHRoaXMgZGlzcGF0Y2ggYmVmb3JlIGl0IGlzIGV4ZWN1dGVkLkEBLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGNhbiBhcHByb3ZlIHRoaXNsZGlzcGF0Y2guIE1heSBub3QgYmUgZW1wdHkuWQEtIGBtYXliZV90aW1lcG9pbnRgOiBJZiB0aGlzIGlzIHRoZSBmaXJzdCBhcHByb3ZhbCwgdGhlbiB0aGlzIG11c3QgYmUgYE5vbmVgLiBJZiBpdCBpc1EBbm90IHRoZSBmaXJzdCBhcHByb3ZhbCwgdGhlbiBpdCBtdXN0IGJlIGBTb21lYCwgd2l0aCB0aGUgdGltZXBvaW50IChibG9jayBudW1iZXIgYW5k1HRyYW5zYWN0aW9uIGluZGV4KSBvZiB0aGUgZmlyc3QgYXBwcm92YWwgdHJhbnNhY3Rpb24uiC0gYGNhbGxgOiBUaGUgY2FsbCB0byBiZSBleGVjdXRlZC4ATQFOT1RFOiBGb3IgaW50ZXJtZWRpYXRlIGFwcHJvdmFscyAobm90IHRoZSBmaW5hbCBhcHByb3ZhbCksIHlvdSBzaG91bGQgZ2VuZXJhbGx5IHVzZUUBYGFwcHJvdmVfYXNfbXVsdGlgIGluc3RlYWQsIHNpbmNlIGl0IG9ubHkgcmVxdWlyZXMgYSBoYXNoIG9mIHRoZSBjYWxsIGFuZCBpcyBtb3JlKGVmZmljaWVudC4AWQFSZXN1bHQgaXMgZXF1aXZhbGVudCB0byB0aGUgZGlzcGF0Y2hlZCByZXN1bHQgaWYgYHRocmVzaG9sZGAgaXMgZXhhY3RseSBgMWAuIE90aGVyd2lzZVUBb24gc3VjY2VzcywgcmVzdWx0IGlzIGBPa2AgYW5kIHRoZSByZXN1bHQgZnJvbSB0aGUgaW50ZXJpb3IgY2FsbCwgaWYgaXQgd2FzIGV4ZWN1dGVkLNxtYXkgYmUgZm91bmQgaW4gdGhlIGRlcG9zaXRlZCBgTXVsdGlzaWdFeGVjdXRlZGAgZXZlbnQuADQjIyBDb21wbGV4aXR5UC0gYE8oUyArIFogKyBDYWxsKWAuzC0gVXAgdG8gb25lIGJhbGFuY2UtcmVzZXJ2ZSBvciB1bnJlc2VydmUgb3BlcmF0aW9uLj0BLSBPbmUgcGFzc3Rocm91Z2ggb3BlcmF0aW9uLCBvbmUgaW5zZXJ0LCBib3RoIGBPKFMpYCB3aGVyZSBgU2AgaXMgdGhlIG51bWJlciBvZkUBICBzaWduYXRvcmllcy4gYFNgIGlzIGNhcHBlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIHdlaWdodCBiZWluZyBwcm9wb3J0aW9uYWwuIQEtIE9uZSBjYWxsIGVuY29kZSAmIGhhc2gsIGJvdGggb2YgY29tcGxleGl0eSBgTyhaKWAgd2hlcmUgYFpgIGlzIHR4LWxlbi68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC7ULSBVcCB0byBvbmUgYmluYXJ5IHNlYXJjaCBhbmQgaW5zZXJ0IChgTyhsb2dTICsgUylgKS74LSBJL086IDEgcmVhZCBgTyhTKWAsIHVwIHRvIDEgbXV0YXRlIGBPKFMpYC4gVXAgdG8gb25lIHJlbW92ZS4wLSBPbmUgZXZlbnQubC0gVGhlIHdlaWdodCBvZiB0aGUgYGNhbGxgLk0BLSBTdG9yYWdlOiBpbnNlcnRzIG9uZSBpdGVtLCB2YWx1ZSBzaXplIGJvdW5kZWQgYnkgYE1heFNpZ25hdG9yaWVzYCwgd2l0aCBhIGRlcG9zaXQZASAgdGFrZW4gZm9yIGl0cyBsaWZldGltZSBvZiBgRGVwb3NpdEJhc2UgKyB0aHJlc2hvbGQgKiBEZXBvc2l0RmFjdG9yYC5AYXBwcm92ZV9hc19tdWx0aRQBJHRocmVzaG9sZAUDAQx1MTYAAURvdGhlcl9zaWduYXRvcmllc8wBRFZlYzxUOjpBY2NvdW50SWQ+AAE8bWF5YmVfdGltZXBvaW50HQMBkE9wdGlvbjxUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+PgABJGNhbGxfaGFzaAgBIFt1ODsgMzJdAAEobWF4X3dlaWdodLUBARhXZWlnaHQAAphVAVJlZ2lzdGVyIGFwcHJvdmFsIGZvciBhIGRpc3BhdGNoIHRvIGJlIG1hZGUgZnJvbSBhIGRldGVybWluaXN0aWMgY29tcG9zaXRlIGFjY291bnQgaWb4YXBwcm92ZWQgYnkgYSB0b3RhbCBvZiBgdGhyZXNob2xkIC0gMWAgb2YgYG90aGVyX3NpZ25hdG9yaWVzYC4AOQEqKlRoaXMgZnVuY3Rpb24gd2lsbCBORVZFUiBleGVjdXRlIHRoZSBjYWxsLCBldmVuIGlmIHRoZSBhcHByb3ZhbCB0aHJlc2hvbGQgaXNRAXJlYWNoZWQuKiogSXQgb25seSByZWdpc3RlcnMgYXBwcm92YWwuIFRvIGFjdHVhbGx5IGV4ZWN1dGUgdGhlIGNhbGwsIGBhc19tdWx0aWAgbXVzdPBiZSBjYWxsZWQgd2l0aCB0aGUgZnVsbCBjYWxsIGRhdGEgYnkgYW55IG9mIHRoZSBzaWduYXRvcmllcy4ATQFUaGlzIGZ1bmN0aW9uIGlzIG1vcmUgZWZmaWNpZW50IHRoYW4gYGFzX211bHRpYCBmb3IgaW50ZXJtZWRpYXRlIGFwcHJvdmFscyBzaW5jZSBpdNBvbmx5IHJlcXVpcmVzIHRoZSBjYWxsIGhhc2gsIG5vdCB0aGUgZnVsbCBjYWxsIGRhdGEuAC0BUGF5bWVudDogYERlcG9zaXRCYXNlYCB3aWxsIGJlIHJlc2VydmVkIGlmIHRoaXMgaXMgdGhlIGZpcnN0IGFwcHJvdmFsLCBwbHVzPQFgdGhyZXNob2xkYCB0aW1lcyBgRGVwb3NpdEZhY3RvcmAuIEl0IGlzIHJldHVybmVkIG9uY2UgdGhpcyBkaXNwYXRjaCBoYXBwZW5zIG9yNGlzIGNhbmNlbGxlZC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgBVAS0gYHRocmVzaG9sZGA6IFRoZSB0b3RhbCBudW1iZXIgb2YgYXBwcm92YWxzIGZvciB0aGlzIGRpc3BhdGNoIGJlZm9yZSBpdCBpcyBleGVjdXRlZC5BAS0gYG90aGVyX3NpZ25hdG9yaWVzYDogVGhlIGFjY291bnRzIChvdGhlciB0aGFuIHRoZSBzZW5kZXIpIHdobyBjYW4gYXBwcm92ZSB0aGlzbGRpc3BhdGNoLiBNYXkgbm90IGJlIGVtcHR5LlkBLSBgbWF5YmVfdGltZXBvaW50YDogSWYgdGhpcyBpcyB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gdGhpcyBtdXN0IGJlIGBOb25lYC4gSWYgaXQgaXNRAW5vdCB0aGUgZmlyc3QgYXBwcm92YWwsIHRoZW4gaXQgbXVzdCBiZSBgU29tZWAsIHdpdGggdGhlIHRpbWVwb2ludCAoYmxvY2sgbnVtYmVyIGFuZNR0cmFuc2FjdGlvbiBpbmRleCkgb2YgdGhlIGZpcnN0IGFwcHJvdmFsIHRyYW5zYWN0aW9uLswtIGBjYWxsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgY2FsbCB0byBiZSBleGVjdXRlZC4APQFOT1RFOiBUbyBleGVjdXRlIHRoZSBjYWxsIGFmdGVyIGFwcHJvdmFscyBhcmUgZ2F0aGVyZWQsIGFueSBzaWduYXRvcnkgbXVzdCBjYWxsKQFgYXNfbXVsdGlgIHdpdGggdGhlIGZ1bGwgY2FsbCBkYXRhLiBUaGlzIGZ1bmN0aW9uIGNhbm5vdCBleGVjdXRlIHRoZSBjYWxsLgA0IyMgQ29tcGxleGl0eSQtIGBPKFMpYC7MLSBVcCB0byBvbmUgYmFsYW5jZS1yZXNlcnZlIG9yIHVucmVzZXJ2ZSBvcGVyYXRpb24uPQEtIE9uZSBwYXNzdGhyb3VnaCBvcGVyYXRpb24sIG9uZSBpbnNlcnQsIGJvdGggYE8oUylgIHdoZXJlIGBTYCBpcyB0aGUgbnVtYmVyIG9mRQEgIHNpZ25hdG9yaWVzLiBgU2AgaXMgY2FwcGVkIGJ5IGBNYXhTaWduYXRvcmllc2AsIHdpdGggd2VpZ2h0IGJlaW5nIHByb3BvcnRpb25hbC68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC7ULSBVcCB0byBvbmUgYmluYXJ5IHNlYXJjaCBhbmQgaW5zZXJ0IChgTyhsb2dTICsgUylgKS74LSBJL086IDEgcmVhZCBgTyhTKWAsIHVwIHRvIDEgbXV0YXRlIGBPKFMpYC4gVXAgdG8gb25lIHJlbW92ZS4wLSBPbmUgZXZlbnQuTQEtIFN0b3JhZ2U6IGluc2VydHMgb25lIGl0ZW0sIHZhbHVlIHNpemUgYm91bmRlZCBieSBgTWF4U2lnbmF0b3JpZXNgLCB3aXRoIGEgZGVwb3NpdBkBICB0YWtlbiBmb3IgaXRzIGxpZmV0aW1lIG9mIGBEZXBvc2l0QmFzZSArIHRocmVzaG9sZCAqIERlcG9zaXRGYWN0b3JgLjxjYW5jZWxfYXNfbXVsdGkQASR0aHJlc2hvbGQFAwEMdTE2AAFEb3RoZXJfc2lnbmF0b3JpZXPMAURWZWM8VDo6QWNjb3VudElkPgABJHRpbWVwb2ludCEDAXBUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+AAEkY2FsbF9oYXNoCAEgW3U4OyAzMl0AA1RVAUNhbmNlbCBhIHByZS1leGlzdGluZywgb24tZ29pbmcgbXVsdGlzaWcgdHJhbnNhY3Rpb24uIEFueSBkZXBvc2l0IHJlc2VydmVkIHByZXZpb3VzbHnEZm9yIHRoaXMgb3BlcmF0aW9uIHdpbGwgYmUgdW5yZXNlcnZlZCBvbiBzdWNjZXNzLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAFUBLSBgdGhyZXNob2xkYDogVGhlIHRvdGFsIG51bWJlciBvZiBhcHByb3ZhbHMgZm9yIHRoaXMgZGlzcGF0Y2ggYmVmb3JlIGl0IGlzIGV4ZWN1dGVkLkEBLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGNhbiBhcHByb3ZlIHRoaXNsZGlzcGF0Y2guIE1heSBub3QgYmUgZW1wdHkuXQEtIGB0aW1lcG9pbnRgOiBUaGUgdGltZXBvaW50IChibG9jayBudW1iZXIgYW5kIHRyYW5zYWN0aW9uIGluZGV4KSBvZiB0aGUgZmlyc3QgYXBwcm92YWx4dHJhbnNhY3Rpb24gZm9yIHRoaXMgZGlzcGF0Y2guzC0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIGV4ZWN1dGVkLgA0IyMgQ29tcGxleGl0eSQtIGBPKFMpYC7MLSBVcCB0byBvbmUgYmFsYW5jZS1yZXNlcnZlIG9yIHVucmVzZXJ2ZSBvcGVyYXRpb24uPQEtIE9uZSBwYXNzdGhyb3VnaCBvcGVyYXRpb24sIG9uZSBpbnNlcnQsIGJvdGggYE8oUylgIHdoZXJlIGBTYCBpcyB0aGUgbnVtYmVyIG9mRQEgIHNpZ25hdG9yaWVzLiBgU2AgaXMgY2FwcGVkIGJ5IGBNYXhTaWduYXRvcmllc2AsIHdpdGggd2VpZ2h0IGJlaW5nIHByb3BvcnRpb25hbC68LSBPbmUgZW5jb2RlICYgaGFzaCwgYm90aCBvZiBjb21wbGV4aXR5IGBPKFMpYC4wLSBPbmUgZXZlbnQuhC0gSS9POiAxIHJlYWQgYE8oUylgLCBvbmUgcmVtb3ZlLnAtIFN0b3JhZ2U6IHJlbW92ZXMgb25lIGl0ZW0uMHBva2VfZGVwb3NpdAwBJHRocmVzaG9sZAUDAQx1MTYAAURvdGhlcl9zaWduYXRvcmllc8wBRFZlYzxUOjpBY2NvdW50SWQ+AAEkY2FsbF9oYXNoCAEgW3U4OyAzMl0ABDT0UG9rZSB0aGUgZGVwb3NpdCByZXNlcnZlZCBmb3IgYW4gZXhpc3RpbmcgbXVsdGlzaWcgb3BlcmF0aW9uLgBhAVRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfIGFuZCBtdXN0IGJlIHRoZSBvcmlnaW5hbCBkZXBvc2l0b3Igb2ZcdGhlIG11bHRpc2lnIG9wZXJhdGlvbi4AAQFUaGUgdHJhbnNhY3Rpb24gZmVlIGlzIHdhaXZlZCBpZiB0aGUgZGVwb3NpdCBhbW91bnQgaGFzIGNoYW5nZWQuABkBLSBgdGhyZXNob2xkYDogVGhlIHRvdGFsIG51bWJlciBvZiBhcHByb3ZhbHMgbmVlZGVkIGZvciB0aGlzIG11bHRpc2lnLj0BLSBgb3RoZXJfc2lnbmF0b3JpZXNgOiBUaGUgYWNjb3VudHMgKG90aGVyIHRoYW4gdGhlIHNlbmRlcikgd2hvIGFyZSBwYXJ0IG9mIHRoZSwgIG11bHRpc2lnLgUBLSBgY2FsbF9oYXNoYDogVGhlIGhhc2ggb2YgdGhlIGNhbGwgdGhpcyBkZXBvc2l0IGlzIHJlc2VydmVkIGZvci4AjEVtaXRzIGBEZXBvc2l0UG9rZWRgIGlmIHN1Y2Nlc3NmdWwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLh0DBBhPcHRpb24EBFQBIQMBCBBOb25lAAAAEFNvbWUEACEDAAABAAAhAwg8cGFsbGV0X211bHRpc2lnJFRpbWVwb2ludAQsQmxvY2tOdW1iZXIBOAAIARhoZWlnaHQ4ASxCbG9ja051bWJlcgABFGluZGV4OAEMdTMyAAAlAwwwcGFsbGV0X3Byb3h5GHBhbGxldBBDYWxsBARUAAEsFHByb3h5DAEQcmVhbAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAFAZm9yY2VfcHJveHlfdHlwZSkDAVBPcHRpb248VDo6UHJveHlUeXBlPgABEGNhbGwgAXxCb3g8PFQgYXMgQ29uZmlnPjo6UnVudGltZUNhbGw+AAAkTQFEaXNwYXRjaCB0aGUgZ2l2ZW4gYGNhbGxgIGZyb20gYW4gYWNjb3VudCB0aGF0IHRoZSBzZW5kZXIgaXMgYXV0aG9yaXNlZCBmb3IgdGhyb3VnaDBgYWRkX3Byb3h5YC4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczoNAS0gYHJlYWxgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBwcm94eSB3aWxsIG1ha2UgYSBjYWxsIG9uIGJlaGFsZiBvZi5hAS0gYGZvcmNlX3Byb3h5X3R5cGVgOiBTcGVjaWZ5IHRoZSBleGFjdCBwcm94eSB0eXBlIHRvIGJlIHVzZWQgYW5kIGNoZWNrZWQgZm9yIHRoaXMgY2FsbC7QLSBgY2FsbGA6IFRoZSBjYWxsIHRvIGJlIG1hZGUgYnkgdGhlIGByZWFsYCBhY2NvdW50LiRhZGRfcHJveHkMASBkZWxlZ2F0ZQABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEocHJveHlfdHlwZS0DATBUOjpQcm94eVR5cGUAARRkZWxheTgBREJsb2NrTnVtYmVyRm9yPFQ+AAEkRQFSZWdpc3RlciBhIHByb3h5IGFjY291bnQgZm9yIHRoZSBzZW5kZXIgdGhhdCBpcyBhYmxlIHRvIG1ha2UgY2FsbHMgb24gaXRzIGJlaGFsZi4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczoRAS0gYHByb3h5YDogVGhlIGFjY291bnQgdGhhdCB0aGUgYGNhbGxlcmAgd291bGQgbGlrZSB0byBtYWtlIGEgcHJveHku/C0gYHByb3h5X3R5cGVgOiBUaGUgcGVybWlzc2lvbnMgYWxsb3dlZCBmb3IgdGhpcyBwcm94eSBhY2NvdW50Lk0BLSBgZGVsYXlgOiBUaGUgYW5ub3VuY2VtZW50IHBlcmlvZCByZXF1aXJlZCBvZiB0aGUgaW5pdGlhbCBwcm94eS4gV2lsbCBnZW5lcmFsbHkgYmUUemVyby4wcmVtb3ZlX3Byb3h5DAEgZGVsZWdhdGUAAVBBY2NvdW50SWRMb29rdXBPZjxUPgABKHByb3h5X3R5cGUtAwEwVDo6UHJveHlUeXBlAAEUZGVsYXk4AURCbG9ja051bWJlckZvcjxUPgACHKhVbnJlZ2lzdGVyIGEgcHJveHkgYWNjb3VudCBmb3IgdGhlIHNlbmRlci4AzFRoZSBkaXNwYXRjaCBvcmlnaW4gZm9yIHRoaXMgY2FsbCBtdXN0IGJlIF9TaWduZWRfLgAsUGFyYW1ldGVyczolAS0gYHByb3h5YDogVGhlIGFjY291bnQgdGhhdCB0aGUgYGNhbGxlcmAgd291bGQgbGlrZSB0byByZW1vdmUgYXMgYSBwcm94eS5BAS0gYHByb3h5X3R5cGVgOiBUaGUgcGVybWlzc2lvbnMgY3VycmVudGx5IGVuYWJsZWQgZm9yIHRoZSByZW1vdmVkIHByb3h5IGFjY291bnQuOHJlbW92ZV9wcm94aWVzAAMYtFVucmVnaXN0ZXIgYWxsIHByb3h5IGFjY291bnRzIGZvciB0aGUgc2VuZGVyLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uAF0BV0FSTklORzogVGhpcyBtYXkgYmUgY2FsbGVkIG9uIGFjY291bnRzIGNyZWF0ZWQgYnkgYGNyZWF0ZV9wdXJlYCwgaG93ZXZlciBpZiBkb25lLCB0aGVuWQF0aGUgdW5yZXNlcnZlZCBmZWVzIHdpbGwgYmUgaW5hY2Nlc3NpYmxlLiAqKkFsbCBhY2Nlc3MgdG8gdGhpcyBhY2NvdW50IHdpbGwgYmUgbG9zdC4qKixjcmVhdGVfcHVyZQwBKHByb3h5X3R5cGUtAwEwVDo6UHJveHlUeXBlAAEUZGVsYXk4AURCbG9ja051bWJlckZvcjxUPgABFGluZGV4BQMBDHUxNgAESDkBU3Bhd24gYSBmcmVzaCBuZXcgYWNjb3VudCB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gYmUgb3RoZXJ3aXNlIGluYWNjZXNzaWJsZSwgYW5k/GluaXRpYWxpemUgaXQgd2l0aCBhIHByb3h5IG9mIGBwcm94eV90eXBlYCBmb3IgYG9yaWdpbmAgc2VuZGVyLgBsUmVxdWlyZXMgYSBgU2lnbmVkYCBvcmlnaW4uAFEBLSBgcHJveHlfdHlwZWA6IFRoZSB0eXBlIG9mIHRoZSBwcm94eSB0aGF0IHRoZSBzZW5kZXIgd2lsbCBiZSByZWdpc3RlcmVkIGFzIG92ZXIgdGhlTQFuZXcgYWNjb3VudC4gVGhpcyB3aWxsIGFsbW9zdCBhbHdheXMgYmUgdGhlIG1vc3QgcGVybWlzc2l2ZSBgUHJveHlUeXBlYCBwb3NzaWJsZSB0b3hhbGxvdyBmb3IgbWF4aW11bSBmbGV4aWJpbGl0eS5RAS0gYGluZGV4YDogQSBkaXNhbWJpZ3VhdGlvbiBpbmRleCwgaW4gY2FzZSB0aGlzIGlzIGNhbGxlZCBtdWx0aXBsZSB0aW1lcyBpbiB0aGUgc2FtZV0BdHJhbnNhY3Rpb24gKGUuZy4gd2l0aCBgdXRpbGl0eTo6YmF0Y2hgKS4gVW5sZXNzIHlvdSdyZSB1c2luZyBgYmF0Y2hgIHlvdSBwcm9iYWJseSBqdXN0QHdhbnQgdG8gdXNlIGAwYC5NAS0gYGRlbGF5YDogVGhlIGFubm91bmNlbWVudCBwZXJpb2QgcmVxdWlyZWQgb2YgdGhlIGluaXRpYWwgcHJveHkuIFdpbGwgZ2VuZXJhbGx5IGJlFHplcm8uAFEBRmFpbHMgd2l0aCBgRHVwbGljYXRlYCBpZiB0aGlzIGhhcyBhbHJlYWR5IGJlZW4gY2FsbGVkIGluIHRoaXMgdHJhbnNhY3Rpb24sIGZyb20gdGhlmHNhbWUgc2VuZGVyLCB3aXRoIHRoZSBzYW1lIHBhcmFtZXRlcnMuAORGYWlscyBpZiB0aGVyZSBhcmUgaW5zdWZmaWNpZW50IGZ1bmRzIHRvIHBheSBmb3IgZGVwb3NpdC4ka2lsbF9wdXJlFAEcc3Bhd25lcgABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEocHJveHlfdHlwZS0DATBUOjpQcm94eVR5cGUAARRpbmRleAUDAQx1MTYAARhoZWlnaHRgAURCbG9ja051bWJlckZvcjxUPgABJGV4dF9pbmRleGABDHUzMgAFQKBSZW1vdmVzIGEgcHJldmlvdXNseSBzcGF3bmVkIHB1cmUgcHJveHkuAEkBV0FSTklORzogKipBbGwgYWNjZXNzIHRvIHRoaXMgYWNjb3VudCB3aWxsIGJlIGxvc3QuKiogQW55IGZ1bmRzIGhlbGQgaW4gaXQgd2lsbCBiZTRpbmFjY2Vzc2libGUuAFkBUmVxdWlyZXMgYSBgU2lnbmVkYCBvcmlnaW4sIGFuZCB0aGUgc2VuZGVyIGFjY291bnQgbXVzdCBoYXZlIGJlZW4gY3JlYXRlZCBieSBhIGNhbGwgdG+wYGNyZWF0ZV9wdXJlYCB3aXRoIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVycy4AVQEtIGBzcGF3bmVyYDogVGhlIGFjY291bnQgdGhhdCBvcmlnaW5hbGx5IGNhbGxlZCBgY3JlYXRlX3B1cmVgIHRvIGNyZWF0ZSB0aGlzIGFjY291bnQuVQEtIGBpbmRleGA6IFRoZSBkaXNhbWJpZ3VhdGlvbiBpbmRleCBvcmlnaW5hbGx5IHBhc3NlZCB0byBgY3JlYXRlX3B1cmVgLiBQcm9iYWJseSBgMGAuCQEtIGBwcm94eV90eXBlYDogVGhlIHByb3h5IHR5cGUgb3JpZ2luYWxseSBwYXNzZWQgdG8gYGNyZWF0ZV9wdXJlYC5FAS0gYGhlaWdodGA6IFRoZSBoZWlnaHQgb2YgdGhlIGNoYWluIHdoZW4gdGhlIGNhbGwgdG8gYGNyZWF0ZV9wdXJlYCB3YXMgcHJvY2Vzc2VkLlEBLSBgZXh0X2luZGV4YDogVGhlIGV4dHJpbnNpYyBpbmRleCBpbiB3aGljaCB0aGUgY2FsbCB0byBgY3JlYXRlX3B1cmVgIHdhcyBwcm9jZXNzZWQuADUBRmFpbHMgd2l0aCBgTm9QZXJtaXNzaW9uYCBpbiBjYXNlIHRoZSBjYWxsZXIgaXMgbm90IGEgcHJldmlvdXNseSBjcmVhdGVkIHB1cmX4YWNjb3VudCB3aG9zZSBgY3JlYXRlX3B1cmVgIGNhbGwgaGFzIGNvcnJlc3BvbmRpbmcgcGFyYW1ldGVycy4gYW5ub3VuY2UIARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRjYWxsX2hhc2g8ATRDYWxsSGFzaE9mPFQ+AAY8BQFQdWJsaXNoIHRoZSBoYXNoIG9mIGEgcHJveHktY2FsbCB0aGF0IHdpbGwgYmUgbWFkZSBpbiB0aGUgZnV0dXJlLgBdAVRoaXMgbXVzdCBiZSBjYWxsZWQgc29tZSBudW1iZXIgb2YgYmxvY2tzIGJlZm9yZSB0aGUgY29ycmVzcG9uZGluZyBgcHJveHlgIGlzIGF0dGVtcHRlZCUBaWYgdGhlIGRlbGF5IGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJveHkgcmVsYXRpb25zaGlwIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLgARAU5vIG1vcmUgdGhhbiBgTWF4UGVuZGluZ2AgYW5ub3VuY2VtZW50cyBtYXkgYmUgbWFkZSBhdCBhbnkgb25lIHRpbWUuAAkBVGhpcyB3aWxsIHRha2UgYSBkZXBvc2l0IG9mIGBBbm5vdW5jZW1lbnREZXBvc2l0RmFjdG9yYCBhcyB3ZWxsIGFzGQFgQW5ub3VuY2VtZW50RGVwb3NpdEJhc2VgIGlmIHRoZXJlIGFyZSBubyBvdGhlciBwZW5kaW5nIGFubm91bmNlbWVudHMuACUBVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8gYW5kIGEgcHJveHkgb2YgYHJlYWxgLgAsUGFyYW1ldGVyczoNAS0gYHJlYWxgOiBUaGUgYWNjb3VudCB0aGF0IHRoZSBwcm94eSB3aWxsIG1ha2UgYSBjYWxsIG9uIGJlaGFsZiBvZi4VAS0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIG1hZGUgYnkgdGhlIGByZWFsYCBhY2NvdW50LkxyZW1vdmVfYW5ub3VuY2VtZW50CAEQcmVhbAABUEFjY291bnRJZExvb2t1cE9mPFQ+AAEkY2FsbF9oYXNoPAE0Q2FsbEhhc2hPZjxUPgAHKHBSZW1vdmUgYSBnaXZlbiBhbm5vdW5jZW1lbnQuAFkBTWF5IGJlIGNhbGxlZCBieSBhIHByb3h5IGFjY291bnQgdG8gcmVtb3ZlIGEgY2FsbCB0aGV5IHByZXZpb3VzbHkgYW5ub3VuY2VkIGFuZCByZXR1cm4wdGhlIGRlcG9zaXQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6DQEtIGByZWFsYDogVGhlIGFjY291bnQgdGhhdCB0aGUgcHJveHkgd2lsbCBtYWtlIGEgY2FsbCBvbiBiZWhhbGYgb2YuFQEtIGBjYWxsX2hhc2hgOiBUaGUgaGFzaCBvZiB0aGUgY2FsbCB0byBiZSBtYWRlIGJ5IHRoZSBgcmVhbGAgYWNjb3VudC5McmVqZWN0X2Fubm91bmNlbWVudAgBIGRlbGVnYXRlAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AASRjYWxsX2hhc2g8ATRDYWxsSGFzaE9mPFQ+AAgosFJlbW92ZSB0aGUgZ2l2ZW4gYW5ub3VuY2VtZW50IG9mIGEgZGVsZWdhdGUuAGEBTWF5IGJlIGNhbGxlZCBieSBhIHRhcmdldCAocHJveGllZCkgYWNjb3VudCB0byByZW1vdmUgYSBjYWxsIHRoYXQgb25lIG9mIHRoZWlyIGRlbGVnYXRlcyUBKGBkZWxlZ2F0ZWApIGhhcyBhbm5vdW5jZWQgdGhleSB3YW50IHRvIGV4ZWN1dGUuIFRoZSBkZXBvc2l0IGlzIHJldHVybmVkLgDMVGhlIGRpc3BhdGNoIG9yaWdpbiBmb3IgdGhpcyBjYWxsIG11c3QgYmUgX1NpZ25lZF8uACxQYXJhbWV0ZXJzOvQtIGBkZWxlZ2F0ZWA6IFRoZSBhY2NvdW50IHRoYXQgcHJldmlvdXNseSBhbm5vdW5jZWQgdGhlIGNhbGwuvC0gYGNhbGxfaGFzaGA6IFRoZSBoYXNoIG9mIHRoZSBjYWxsIHRvIGJlIG1hZGUuPHByb3h5X2Fubm91bmNlZBABIGRlbGVnYXRlAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AARByZWFsAAFQQWNjb3VudElkTG9va3VwT2Y8VD4AAUBmb3JjZV9wcm94eV90eXBlKQMBUE9wdGlvbjxUOjpQcm94eVR5cGU+AAEQY2FsbCABfEJveDw8VCBhcyBDb25maWc+OjpSdW50aW1lQ2FsbD4ACSxNAURpc3BhdGNoIHRoZSBnaXZlbiBgY2FsbGAgZnJvbSBhbiBhY2NvdW50IHRoYXQgdGhlIHNlbmRlciBpcyBhdXRob3JpemVkIGZvciB0aHJvdWdoMGBhZGRfcHJveHlgLgCoUmVtb3ZlcyBhbnkgY29ycmVzcG9uZGluZyBhbm5vdW5jZW1lbnQocykuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4ALFBhcmFtZXRlcnM6DQEtIGByZWFsYDogVGhlIGFjY291bnQgdGhhdCB0aGUgcHJveHkgd2lsbCBtYWtlIGEgY2FsbCBvbiBiZWhhbGYgb2YuYQEtIGBmb3JjZV9wcm94eV90eXBlYDogU3BlY2lmeSB0aGUgZXhhY3QgcHJveHkgdHlwZSB0byBiZSB1c2VkIGFuZCBjaGVja2VkIGZvciB0aGlzIGNhbGwu0C0gYGNhbGxgOiBUaGUgY2FsbCB0byBiZSBtYWRlIGJ5IHRoZSBgcmVhbGAgYWNjb3VudC4wcG9rZV9kZXBvc2l0AAogSQFQb2tlIC8gQWRqdXN0IGRlcG9zaXRzIG1hZGUgZm9yIHByb3hpZXMgYW5kIGFubm91bmNlbWVudHMgYmFzZWQgb24gY3VycmVudCB2YWx1ZXMuDQFUaGlzIGNhbiBiZSB1c2VkIGJ5IGFjY291bnRzIHRvIHBvc3NpYmx5IGxvd2VyIHRoZWlyIGxvY2tlZCBhbW91bnQuAMxUaGUgZGlzcGF0Y2ggb3JpZ2luIGZvciB0aGlzIGNhbGwgbXVzdCBiZSBfU2lnbmVkXy4AAQFUaGUgdHJhbnNhY3Rpb24gZmVlIGlzIHdhaXZlZCBpZiB0aGUgZGVwb3NpdCBhbW91bnQgaGFzIGNoYW5nZWQuAIxFbWl0cyBgRGVwb3NpdFBva2VkYCBpZiBzdWNjZXNzZnVsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4pAwQYT3B0aW9uBARUAS0DAQgQTm9uZQAAABBTb21lBAAtAwAAAQAALQMIbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZSRQcm94eVR5cGUAARAMQW55AAAALE5vblRyYW5zZmVyAAEALENhbmNlbFByb3h5AAIAIENvbGxhdG9yAAMAADEDDFhwYWxsZXRfYnJpZGdlX3JlbGF5ZXJzGHBhbGxldBBDYWxsCARUAARJAAEQNGNsYWltX3Jld2FyZHMEASxyZXdhcmRfa2luZDUDASRUOjpSZXdhcmQAAARoQ2xhaW0gYWNjdW11bGF0ZWQgcmV3YXJkcy4gcmVnaXN0ZXIEASh2YWxpZF90aWxsOAFEQmxvY2tOdW1iZXJGb3I8VD4AAQywUmVnaXN0ZXIgcmVsYXllciBvciB1cGRhdGUgaXRzIHJlZ2lzdHJhdGlvbi4AYQFSZWdpc3RyYXRpb24gYWxsb3dzIHJlbGF5ZXIgdG8gZ2V0IHByaW9yaXR5IGJvb3N0IGZvciBpdHMgbWVzc2FnZSBkZWxpdmVyeSB0cmFuc2FjdGlvbnMuKGRlcmVnaXN0ZXIAAhBUYERlcmVnaXN0ZXJgIHJlbGF5ZXIuAFEBQWZ0ZXIgdGhpcyBjYWxsLCBtZXNzYWdlIGRlbGl2ZXJ5IHRyYW5zYWN0aW9ucyBvZiB0aGUgcmVsYXllciB3b24ndCBnZXQgYW55IHByaW9yaXR5GGJvb3N0LkBjbGFpbV9yZXdhcmRzX3RvCAEscmV3YXJkX2tpbmQ1AwEkVDo6UmV3YXJkAAEsYmVuZWZpY2lhcnlFAwFMQmVuZWZpY2lhcnlPZjxULCBJPgADBB0BQ2xhaW0gYWNjdW11bGF0ZWQgcmV3YXJkcyBhbmQgc2VuZCB0aGVtIHRvIHRoZSBhbHRlcm5hdGl2ZSBiZW5lZmljaWFyeS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuNQMMbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZVBicmlkZ2VfY29tbW9uX2NvbmZpZzBCcmlkZ2VSZXdhcmQAAQhQUG9sa2Fkb3RLdXNhbWFCcmlkZ2UEADkDAYhSZXdhcmRzQWNjb3VudFBhcmFtczxMZWdhY3lMYW5lSWQ+AAAAKFNub3dicmlkZ2UAAQAAOQMILGJwX3JlbGF5ZXJzUFJld2FyZHNBY2NvdW50UGFyYW1zBBhMYW5lSWQBPQMADAEUb3duZXJBAwFMUmV3YXJkc0FjY291bnRPd25lcgABQGJyaWRnZWRfY2hhaW5faWRwARxDaGFpbklkAAEcbGFuZV9pZD0DARhMYW5lSWQAAD0DDCxicF9tZXNzYWdlcxBsYW5lMExlZ2FjeUxhbmVJZAAABABwARxbdTg7IDRdAABBAwgsYnBfcmVsYXllcnNMUmV3YXJkc0FjY291bnRPd25lcgABCCRUaGlzQ2hhaW4AAAAwQnJpZGdlZENoYWluAAEAAEUDDGxicmlkZ2VfaHViX3BvbGthZG90X3J1bnRpbWVQYnJpZGdlX2NvbW1vbl9jb25maWdkQnJpZGdlUmV3YXJkQmVuZWZpY2lhcmllcwABCDBMb2NhbEFjY291bnQEAAQBJEFjY291bnRJZAAAAEBBc3NldEh1YkxvY2F0aW9uBADsAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEAAEkDDFRwYWxsZXRfYnJpZGdlX2dyYW5kcGEYcGFsbGV0EENhbGwIBFQABEkAARhUc3VibWl0X2ZpbmFsaXR5X3Byb29mCAE8ZmluYWxpdHlfdGFyZ2V0XAFgQm94PEJyaWRnZWRIZWFkZXI8VCwgST4+AAE0anVzdGlmaWNhdGlvbk0DAaRHcmFuZHBhSnVzdGlmaWNhdGlvbjxCcmlkZ2VkSGVhZGVyPFQsIEk+PgAADBEBVGhpcyBjYWxsIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBhcm91bmQgTWF5IDIwMjQuIFVzZSB0aGVNAWBzdWJtaXRfZmluYWxpdHlfcHJvb2ZfZXhgIGluc3RlYWQuIFNlbWFudGljYWxseSwgdGhpcyBjYWxsIGlzIGFuIGVxdWl2YWxlbnQgb2YgdGhlHQFgc3VibWl0X2ZpbmFsaXR5X3Byb29mX2V4YCBjYWxsIHdpdGhvdXQgY3VycmVudCBhdXRob3JpdHkgc2V0IGlkIGNoZWNrLihpbml0aWFsaXplBAEkaW5pdF9kYXRhbQMBuHN1cGVyOjpJbml0aWFsaXphdGlvbkRhdGE8QnJpZGdlZEhlYWRlcjxULCBJPj4AASRhAUJvb3RzdHJhcCB0aGUgYnJpZGdlIHBhbGxldCB3aXRoIGFuIGluaXRpYWwgaGVhZGVyIGFuZCBhdXRob3JpdHkgc2V0IGZyb20gd2hpY2ggdG8gc3luYy4AYQFUaGUgaW5pdGlhbCBjb25maWd1cmF0aW9uIHByb3ZpZGVkIGRvZXMgbm90IG5lZWQgdG8gYmUgdGhlIGdlbmVzaXMgaGVhZGVyIG9mIHRoZSBicmlkZ2VkSQFjaGFpbiwgaXQgY2FuIGJlIGFueSBhcmJpdHJhcnkgaGVhZGVyLiBZb3UgY2FuIGFsc28gcHJvdmlkZSB0aGUgbmV4dCBzY2hlZHVsZWQgc2V0dGNoYW5nZSBpZiBpdCBpcyBhbHJlYWR5IGtub3cuAFkBVGhpcyBmdW5jdGlvbiBpcyBvbmx5IGFsbG93ZWQgdG8gYmUgY2FsbGVkIGZyb20gYSB0cnVzdGVkIG9yaWdpbiBhbmQgd3JpdGVzIHRvIHN0b3JhZ2VVAXdpdGggcHJhY3RpY2FsbHkgbm8gY2hlY2tzIGluIHRlcm1zIG9mIHRoZSB2YWxpZGl0eSBvZiB0aGUgZGF0YS4gSXQgaXMgaW1wb3J0YW50IHRoYXS4eW91IGVuc3VyZSB0aGF0IHZhbGlkIGRhdGEgaXMgYmVpbmcgcGFzc2VkIGluLiRzZXRfb3duZXIEASRuZXdfb3duZXJ9AwFQT3B0aW9uPFQ6OkFjY291bnRJZD4AAgxUQ2hhbmdlIGBQYWxsZXRPd25lcmAuANxNYXkgb25seSBiZSBjYWxsZWQgZWl0aGVyIGJ5IHJvb3QsIG9yIGJ5IGBQYWxsZXRPd25lcmAuSHNldF9vcGVyYXRpbmdfbW9kZQQBOG9wZXJhdGluZ19tb2RleQMBSEJhc2ljT3BlcmF0aW5nTW9kZQADDJRIYWx0IG9yIHJlc3VtZSBhbGwgcGFsbGV0IG9wZXJhdGlvbnMuANxNYXkgb25seSBiZSBjYWxsZWQgZWl0aGVyIGJ5IHJvb3QsIG9yIGJ5IGBQYWxsZXRPd25lcmAuYHN1Ym1pdF9maW5hbGl0eV9wcm9vZl9leBABPGZpbmFsaXR5X3RhcmdldFwBYEJveDxCcmlkZ2VkSGVhZGVyPFQsIEk+PgABNGp1c3RpZmljYXRpb25NAwGkR3JhbmRwYUp1c3RpZmljYXRpb248QnJpZGdlZEhlYWRlcjxULCBJPj4AAThjdXJyZW50X3NldF9pZCgBbHNwX2NvbnNlbnN1c19ncmFuZHBhOjpTZXRJZAABaGlzX2ZyZWVfZXhlY3V0aW9uX2V4cGVjdGVkyAEQYm9vbAAEbFEBVmVyaWZ5IGEgdGFyZ2V0IGhlYWRlciBpcyBmaW5hbGl6ZWQgYWNjb3JkaW5nIHRvIHRoZSBnaXZlbiBmaW5hbGl0eSBwcm9vZi4gVGhlIHByb29mMQFpcyBhc3N1bWVkIHRvIGJlIHNpZ25lZCBieSBHUkFORFBBIGF1dGhvcml0aWVzIHNldCB3aXRoIGBjdXJyZW50X3NldF9pZGAgaWQuAEEBSXQgd2lsbCB1c2UgdGhlIHVuZGVybHlpbmcgc3RvcmFnZSBwYWxsZXQgdG8gZmV0Y2ggaW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJlbnRZAWF1dGhvcml0aWVzIGFuZCBiZXN0IGZpbmFsaXplZCBoZWFkZXIgaW4gb3JkZXIgdG8gdmVyaWZ5IHRoYXQgdGhlIGhlYWRlciBpcyBmaW5hbGl6ZWQuAGEBSWYgc3VjY2Vzc2Z1bCBpbiB2ZXJpZmljYXRpb24sIGl0IHdpbGwgd3JpdGUgdGhlIHRhcmdldCBoZWFkZXIgdG8gdGhlIHVuZGVybHlpbmcgc3RvcmFnZRxwYWxsZXQuAEhUaGUgY2FsbCBmYWlscyBpZjoAXC0gdGhlIHBhbGxldCBpcyBoYWx0ZWQ7APAtIHRoZSBwYWxsZXQga25vd3MgYmV0dGVyIGhlYWRlciB0aGFuIHRoZSBgZmluYWxpdHlfdGFyZ2V0YDsAPQEtIHRoZSBpZCBvZiBiZXN0IEdSQU5EUEEgYXV0aG9yaXR5IHNldCwga25vd24gdG8gdGhlIHBhbGxldCBpcyBub3QgZXF1YWwgdG8gdGhlTCAgYGN1cnJlbnRfc2V0X2lkYDsArC0gdmVyaWZpY2F0aW9uIGlzIG5vdCBvcHRpbWl6ZWQgb3IgaW52YWxpZDsAOQEtIGhlYWRlciBjb250YWlucyBmb3JjZWQgYXV0aG9yaXRpZXMgc2V0IGNoYW5nZSBvciBjaGFuZ2Ugd2l0aCBub24temVybyBkZWxheS4AUQFUaGUgYGlzX2ZyZWVfZXhlY3V0aW9uX2V4cGVjdGVkYCBwYXJhbWV0ZXIgaXMgbm90IHJlYWxseSB1c2VkIGluc2lkZSB0aGUgY2FsbC4gSXQgaXNZAXVzZWQgYnkgdGhlIHRyYW5zYWN0aW9uIGV4dGVuc2lvbiwgd2hpY2ggc2hvdWxkIGJlIHJlZ2lzdGVyZWQgYXQgdGhlIHJ1bnRpbWUgbGV2ZWwuIElmXQF0aGlzIHBhcmFtZXRlciBpcyBgdHJ1ZWAsIHRoZSB0cmFuc2FjdGlvbiB3aWxsIGJlIHRyZWF0ZWQgYXMgaW52YWxpZCwgaWYgdGhlIGNhbGwgd29uJ3Q9AWJlIGV4ZWN1dGVkIGZvciBmcmVlLiBJZiB0cmFuc2FjdGlvbiBleHRlbnNpb24gaXMgbm90IHVzZWQgYnkgdGhlIHJ1bnRpbWUsIHRoaXN0cGFyYW1ldGVyIGlzIG5vdCB1c2VkIGF0IGFsbC5YZm9yY2Vfc2V0X3BhbGxldF9zdGF0ZQwBSG5ld19jdXJyZW50X3NldF9pZCgBFFNldElkAAE8bmV3X2F1dGhvcml0aWVzcQMBNEF1dGhvcml0eUxpc3QAATxuZXdfYmVzdF9oZWFkZXJcAWBCb3g8QnJpZGdlZEhlYWRlcjxULCBJPj4ABSQ1AVNldCBjdXJyZW50IGF1dGhvcml0aWVzIHNldCBhbmQgYmVzdCBmaW5hbGl6ZWQgYnJpZGdlZCBoZWFkZXIgdG8gZ2l2ZW4gdmFsdWVz4ChhbG1vc3QpIHdpdGhvdXQgYW55IGNoZWNrcy4gVGhpcyBjYWxsIGNhbiBmYWlsIG9ubHkgaWY6AMgtIHRoZSBjYWxsIG9yaWdpbiBpcyBub3QgYSByb290IG9yIGEgcGFsbGV0IG93bmVyOwDALSB0aGVyZSBhcmUgdG9vIG1hbnkgYXV0aG9yaXRpZXMgaW4gdGhlIG5ldyBzZXQuADUBTm8gb3RoZXIgY2hlY2tzIGFyZSBtYWRlLiBQcmV2aW91c2x5IGltcG9ydGVkIGhlYWRlcnMgc3RheSBpbiB0aGUgc3RvcmFnZSBhbmSQYXJlIHN0aWxsIGFjY2Vzc2libGUgYWZ0ZXIgdGhlIGNhbGwuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLk0DDDxicF9oZWFkZXJfY2hhaW40anVzdGlmaWNhdGlvblBHcmFuZHBhSnVzdGlmaWNhdGlvbgQYSGVhZGVyAVwADAEUcm91bmQoAQx1NjQAARhjb21taXRRAwFdAWZpbmFsaXR5X2dyYW5kcGE6OkNvbW1pdDxIZWFkZXI6Okhhc2gsIEhlYWRlcjo6TnVtYmVyLApBdXRob3JpdHlTaWduYXR1cmUsIEF1dGhvcml0eUlkPgABQHZvdGVzX2FuY2VzdHJpZXNYASxWZWM8SGVhZGVyPgAAUQMIQGZpbmFsaXR5X2dyYW5kcGEYQ29tbWl0EARIATwETgE4BFMBVQMISWQBXQMADAEsdGFyZ2V0X2hhc2g8AQRIAAE0dGFyZ2V0X251bWJlcjgBBE4AAShwcmVjb21taXRzYQMBhFZlYzxTaWduZWRQcmVjb21taXQ8SCwgTiwgUywgSWQ+PgAAVQMMUHNwX2NvbnNlbnN1c19ncmFuZHBhDGFwcCRTaWduYXR1cmUAAAQAWQMBSGVkMjU1MTk6OlNpZ25hdHVyZQAAWQMAAANAAAAADABdAwxQc3BfY29uc2Vuc3VzX2dyYW5kcGEMYXBwGFB1YmxpYwAABAAIATxlZDI1NTE5OjpQdWJsaWMAAGEDAAACZQMAZQMIQGZpbmFsaXR5X2dyYW5kcGE8U2lnbmVkUHJlY29tbWl0EARIATwETgE4BFMBVQMISWQBXQMADAEkcHJlY29tbWl0aQMBPFByZWNvbW1pdDxILCBOPgABJHNpZ25hdHVyZVUDAQRTAAEIaWRdAwEISWQAAGkDCEBmaW5hbGl0eV9ncmFuZHBhJFByZWNvbW1pdAgESAE8BE4BOAAIASx0YXJnZXRfaGFzaDwBBEgAATR0YXJnZXRfbnVtYmVyOAEETgAAbQMIPGJwX2hlYWRlcl9jaGFpbkhJbml0aWFsaXphdGlvbkRhdGEEBEgBXAAQARhoZWFkZXJcARhCb3g8SD4AAThhdXRob3JpdHlfbGlzdHEDATRBdXRob3JpdHlMaXN0AAEYc2V0X2lkKAEUU2V0SWQAAThvcGVyYXRpbmdfbW9kZXkDAUhCYXNpY09wZXJhdGluZ01vZGUAAHEDAAACdQMAdQMAAAQIXQMoAHkDCChicF9ydW50aW1lSEJhc2ljT3BlcmF0aW5nTW9kZQABCBhOb3JtYWwAAAAYSGFsdGVkAAEAAH0DBBhPcHRpb24EBFQBBAEIEE5vbmUAAAAQU29tZQQABAAAAQAAgQMMYHBhbGxldF9icmlkZ2VfcGFyYWNoYWlucxhwYWxsZXQQQ2FsbAgEVAAESQABEFhzdWJtaXRfcGFyYWNoYWluX2hlYWRzDAE4YXRfcmVsYXlfYmxvY2uFAwGIKFJlbGF5QmxvY2tOdW1iZXIsIFJlbGF5QmxvY2tIYXNoKQABKHBhcmFjaGFpbnOJAwFcVmVjPChQYXJhSWQsIFBhcmFIYXNoKT4AAVRwYXJhY2hhaW5faGVhZHNfcHJvb2aVAwE4UGFyYUhlYWRzUHJvb2YAAEC8U3VibWl0IHByb29mIG9mIG9uZSBvciBzZXZlcmFsIHBhcmFjaGFpbiBoZWFkcy4ACQFUaGUgcHJvb2YgaXMgc3VwcG9zZWQgdG8gYmUgcHJvb2Ygb2Ygc29tZSBgSGVhZHNgIGVudHJpZXMgZnJvbSB0aGVRAWBwb2xrYWRvdC1ydW50aW1lLXBhcmFjaGFpbnM6OnBhcmFzYCBwYWxsZXQgaW5zdGFuY2UsIGRlcGxveWVkIGF0IHRoZSBicmlkZ2VkIGNoYWluLk0BVGhlIHByb29mIGlzIHN1cHBvc2VkIHRvIGJlIGNyYWZ0ZWQgYXQgdGhlIGByZWxheV9oZWFkZXJfaGFzaGAgdGhhdCBtdXN0IGFscmVhZHkgYmXcaW1wb3J0ZWQgYnkgY29ycmVzcG9uZGluZyBHUkFORFBBIHBhbGxldCBhdCB0aGlzIGNoYWluLgBIVGhlIGNhbGwgZmFpbHMgaWY6AFwtIHRoZSBwYWxsZXQgaXMgaGFsdGVkOwBFAS0gdGhlIHJlbGF5IGNoYWluIGJsb2NrIGBhdF9yZWxheV9ibG9ja2AgaXMgbm90IGltcG9ydGVkIGJ5IHRoZSBhc3NvY2lhdGVkIGJyaWRnZUQgIEdSQU5EUEEgcGFsbGV0LgBFAVRoZSBjYWxsIG1heSBzdWNjZWVkLCBidXQgc29tZSBoZWFkcyBtYXkgbm90IGJlIHVwZGF0ZWQgZS5nLiBiZWNhdXNlIHBhbGxldCBrbm93c7hiZXR0ZXIgaGVhZCBvciBpdCBpc24ndCB0cmFja2VkIGJ5IHRoZSBwYWxsZXQuJHNldF9vd25lcgQBJG5ld19vd25lcn0DAVBPcHRpb248VDo6QWNjb3VudElkPgABDFRDaGFuZ2UgYFBhbGxldE93bmVyYC4A3E1heSBvbmx5IGJlIGNhbGxlZCBlaXRoZXIgYnkgcm9vdCwgb3IgYnkgYFBhbGxldE93bmVyYC5Ic2V0X29wZXJhdGluZ19tb2RlBAE4b3BlcmF0aW5nX21vZGV5AwFIQmFzaWNPcGVyYXRpbmdNb2RlAAIMlEhhbHQgb3IgcmVzdW1lIGFsbCBwYWxsZXQgb3BlcmF0aW9ucy4A3E1heSBvbmx5IGJlIGNhbGxlZCBlaXRoZXIgYnkgcm9vdCwgb3IgYnkgYFBhbGxldE93bmVyYC5kc3VibWl0X3BhcmFjaGFpbl9oZWFkc19leBABOGF0X3JlbGF5X2Jsb2NrhQMBiChSZWxheUJsb2NrTnVtYmVyLCBSZWxheUJsb2NrSGFzaCkAAShwYXJhY2hhaW5ziQMBXFZlYzwoUGFyYUlkLCBQYXJhSGFzaCk+AAFUcGFyYWNoYWluX2hlYWRzX3Byb29mlQMBOFBhcmFIZWFkc1Byb29mAAFoaXNfZnJlZV9leGVjdXRpb25fZXhwZWN0ZWTIARBib29sAANYvFN1Ym1pdCBwcm9vZiBvZiBvbmUgb3Igc2V2ZXJhbCBwYXJhY2hhaW4gaGVhZHMuAAkBVGhlIHByb29mIGlzIHN1cHBvc2VkIHRvIGJlIHByb29mIG9mIHNvbWUgYEhlYWRzYCBlbnRyaWVzIGZyb20gdGhlUQFgcG9sa2Fkb3QtcnVudGltZS1wYXJhY2hhaW5zOjpwYXJhc2AgcGFsbGV0IGluc3RhbmNlLCBkZXBsb3llZCBhdCB0aGUgYnJpZGdlZCBjaGFpbi5NAVRoZSBwcm9vZiBpcyBzdXBwb3NlZCB0byBiZSBjcmFmdGVkIGF0IHRoZSBgcmVsYXlfaGVhZGVyX2hhc2hgIHRoYXQgbXVzdCBhbHJlYWR5IGJl3GltcG9ydGVkIGJ5IGNvcnJlc3BvbmRpbmcgR1JBTkRQQSBwYWxsZXQgYXQgdGhpcyBjaGFpbi4ASFRoZSBjYWxsIGZhaWxzIGlmOgBcLSB0aGUgcGFsbGV0IGlzIGhhbHRlZDsARQEtIHRoZSByZWxheSBjaGFpbiBibG9jayBgYXRfcmVsYXlfYmxvY2tgIGlzIG5vdCBpbXBvcnRlZCBieSB0aGUgYXNzb2NpYXRlZCBicmlkZ2VEICBHUkFORFBBIHBhbGxldC4ARQFUaGUgY2FsbCBtYXkgc3VjY2VlZCwgYnV0IHNvbWUgaGVhZHMgbWF5IG5vdCBiZSB1cGRhdGVkIGUuZy4gYmVjYXVzZSBwYWxsZXQga25vd3O4YmV0dGVyIGhlYWQgb3IgaXQgaXNuJ3QgdHJhY2tlZCBieSB0aGUgcGFsbGV0LgBRAVRoZSBgaXNfZnJlZV9leGVjdXRpb25fZXhwZWN0ZWRgIHBhcmFtZXRlciBpcyBub3QgcmVhbGx5IHVzZWQgaW5zaWRlIHRoZSBjYWxsLiBJdCBpc1kBdXNlZCBieSB0aGUgdHJhbnNhY3Rpb24gZXh0ZW5zaW9uLCB3aGljaCBzaG91bGQgYmUgcmVnaXN0ZXJlZCBhdCB0aGUgcnVudGltZSBsZXZlbC4gSWZdAXRoaXMgcGFyYW1ldGVyIGlzIGB0cnVlYCwgdGhlIHRyYW5zYWN0aW9uIHdpbGwgYmUgdHJlYXRlZCBhcyBpbnZhbGlkLCBpZiB0aGUgY2FsbCB3b24ndD0BYmUgZXhlY3V0ZWQgZm9yIGZyZWUuIElmIHRyYW5zYWN0aW9uIGV4dGVuc2lvbiBpcyBub3QgdXNlZCBieSB0aGUgcnVudGltZSwgdGhpc3RwYXJhbWV0ZXIgaXMgbm90IHVzZWQgYXQgYWxsLgQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy6FAwAABAg4PACJAwAAAo0DAI0DAAAECJEDPACRAwxAYnBfcG9sa2Fkb3RfY29yZShwYXJhY2hhaW5zGFBhcmFJZAAABAA4AQx1MzIAAJUDDEBicF9wb2xrYWRvdF9jb3JlKHBhcmFjaGFpbnM4UGFyYUhlYWRzUHJvb2YAAAQBNHN0b3JhZ2VfcHJvb2Y0ATxSYXdTdG9yYWdlUHJvb2YAAJkDDFhwYWxsZXRfYnJpZGdlX21lc3NhZ2VzGHBhbGxldBBDYWxsCARUAARJAAEQJHNldF9vd25lcgQBJG5ld19vd25lcn0DAVBPcHRpb248VDo6QWNjb3VudElkPgAADFRDaGFuZ2UgYFBhbGxldE93bmVyYC4A3E1heSBvbmx5IGJlIGNhbGxlZCBlaXRoZXIgYnkgcm9vdCwgb3IgYnkgYFBhbGxldE93bmVyYC5Ic2V0X29wZXJhdGluZ19tb2RlBAE4b3BlcmF0aW5nX21vZGWdAwFUTWVzc2FnZXNPcGVyYXRpbmdNb2RlAAEMqEhhbHQgb3IgcmVzdW1lIGFsbC9zb21lIHBhbGxldCBvcGVyYXRpb25zLgDcTWF5IG9ubHkgYmUgY2FsbGVkIGVpdGhlciBieSByb290LCBvciBieSBgUGFsbGV0T3duZXJgLlhyZWNlaXZlX21lc3NhZ2VzX3Byb29mEAFscmVsYXllcl9pZF9hdF9icmlkZ2VkX2NoYWluBAGEQWNjb3VudElkT2Y8QnJpZGdlZENoYWluT2Y8VCwgST4+AAEUcHJvb2ahAwExAUJveDxGcm9tQnJpZGdlZENoYWluTWVzc2FnZXNQcm9vZjxIYXNoT2Y8QnJpZGdlZENoYWluT2Y8VCwgST4+LCBUCjo6TGFuZUlkPj4AAThtZXNzYWdlc19jb3VudDgBDHUzMgABPGRpc3BhdGNoX3dlaWdodLUBARhXZWlnaHQAAlSoUmVjZWl2ZSBtZXNzYWdlcyBwcm9vZiBmcm9tIGJyaWRnZWQgY2hhaW4uAD0BVGhlIHdlaWdodCBvZiB0aGUgY2FsbCBhc3N1bWVzIHRoYXQgdGhlIHRyYW5zYWN0aW9uIGFsd2F5cyBicmluZ3Mgb3V0Ym91bmQgbGFuZVkBc3RhdGUgdXBkYXRlLiBCZWNhdXNlIG9mIHRoYXQsIHRoZSBzdWJtaXR0ZXIgKHJlbGF5ZXIpIGhhcyBubyBiZW5lZml0IG9mIG5vdCBpbmNsdWRpbmc1AXRoaXMgZGF0YSBpbiB0aGUgdHJhbnNhY3Rpb24sIHNvIHJld2FyZCBjb25maXJtYXRpb25zIGxhZ3Mgc2hvdWxkIGJlIG1pbmltYWwuAEhUaGUgY2FsbCBmYWlscyBpZjoAXC0gdGhlIHBhbGxldCBpcyBoYWx0ZWQ7AJQtIHRoZSBjYWxsIG9yaWdpbiBpcyBub3QgYFNpZ25lZChfKWA7AKwtIHRoZXJlIGFyZSB0b28gbWFueSBtZXNzYWdlcyBpbiB0aGUgcHJvb2Y7AF0BLSB0aGUgcHJvb2YgdmVyaWZpY2F0aW9uIHByb2NlZHVyZSByZXR1cm5zIGFuIGVycm9yIC0gZS5nLiBiZWNhdXNlIGhlYWRlciB1c2VkIHRvIGNyYWZ06CAgcHJvb2YgaXMgbm90IGltcG9ydGVkIGJ5IHRoZSBhc3NvY2lhdGVkIGZpbmFsaXR5IHBhbGxldDsAUQEtIHRoZSBgZGlzcGF0Y2hfd2VpZ2h0YCBhcmd1bWVudCBpcyBub3Qgc3VmZmljaWVudCB0byBkaXNwYXRjaCBhbGwgYnVuZGxlZCBtZXNzYWdlcy4AVQFUaGUgY2FsbCBtYXkgc3VjY2VlZCwgYnV0IHNvbWUgbWVzc2FnZXMgbWF5IG5vdCBiZSBkZWxpdmVyZWQgZS5nLiBpZiB0aGV5IGFyZSBub3QgZml0kGludG8gdGhlIHVucmV3YXJkZWQgcmVsYXllcnMgdmVjdG9yLnxyZWNlaXZlX21lc3NhZ2VzX2RlbGl2ZXJ5X3Byb29mCAEUcHJvb2alAwE9AUZyb21CcmlkZ2VkQ2hhaW5NZXNzYWdlc0RlbGl2ZXJ5UHJvb2Y8SGFzaE9mPEJyaWRnZWRDaGFpbk9mPFQsIEk+PiwgVAo6OkxhbmVJZD4AAThyZWxheWVyc19zdGF0ZakDAVxVbnJld2FyZGVkUmVsYXllcnNTdGF0ZQADBMxSZWNlaXZlIG1lc3NhZ2VzIGRlbGl2ZXJ5IHByb29mIGZyb20gYnJpZGdlZCBjaGFpbi4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMunQMILGJwX21lc3NhZ2VzVE1lc3NhZ2VzT3BlcmF0aW5nTW9kZQABCBRCYXNpYwQAeQMBSEJhc2ljT3BlcmF0aW5nTW9kZQAAAGRSZWplY3RpbmdPdXRib3VuZE1lc3NhZ2VzAAEAAKEDDCxicF9tZXNzYWdlczB0YXJnZXRfY2hhaW50RnJvbUJyaWRnZWRDaGFpbk1lc3NhZ2VzUHJvb2YIREJyaWRnZWRIZWFkZXJIYXNoATwQTGFuZQE9AwAUAUxicmlkZ2VkX2hlYWRlcl9oYXNoPAFEQnJpZGdlZEhlYWRlckhhc2gAATRzdG9yYWdlX3Byb29mNAE8UmF3U3RvcmFnZVByb29mAAEQbGFuZT0DARBMYW5lAAEwbm9uY2VzX3N0YXJ0KAEwTWVzc2FnZU5vbmNlAAEobm9uY2VzX2VuZCgBME1lc3NhZ2VOb25jZQAApQMMLGJwX21lc3NhZ2VzMHNvdXJjZV9jaGFpbpRGcm9tQnJpZGdlZENoYWluTWVzc2FnZXNEZWxpdmVyeVByb29mCERCcmlkZ2VkSGVhZGVySGFzaAE8GExhbmVJZAE9AwAMAUxicmlkZ2VkX2hlYWRlcl9oYXNoPAFEQnJpZGdlZEhlYWRlckhhc2gAATRzdG9yYWdlX3Byb29mNAE8UmF3U3RvcmFnZVByb29mAAEQbGFuZT0DARhMYW5lSWQAAKkDCCxicF9tZXNzYWdlc1xVbnJld2FyZGVkUmVsYXllcnNTdGF0ZQAAEAFodW5yZXdhcmRlZF9yZWxheWVyX2VudHJpZXMoATBNZXNzYWdlTm9uY2UAAWBtZXNzYWdlc19pbl9vbGRlc3RfZW50cnkoATBNZXNzYWdlTm9uY2UAATh0b3RhbF9tZXNzYWdlcygBME1lc3NhZ2VOb25jZQABUGxhc3RfZGVsaXZlcmVkX25vbmNlKAEwTWVzc2FnZU5vbmNlAACtAwxUcGFsbGV0X3hjbV9icmlkZ2VfaHViGHBhbGxldBBDYWxsCARUAARJAAEILG9wZW5fYnJpZGdlBAGUYnJpZGdlX2Rlc3RpbmF0aW9uX3VuaXZlcnNhbF9sb2NhdGlvbrEDAXhCb3g8VmVyc2lvbmVkSW50ZXJpb3JMb2NhdGlvbj4AACyQT3BlbiBhIGJyaWRnZSBiZXR3ZWVuIHR3byBsb2NhdGlvbnMuAEUBVGhlIGNhbGxlciBtdXN0IGJlIHdpdGhpbiB0aGUgYFQ6Ok9wZW5CcmlkZ2VPcmlnaW5gIGZpbHRlciAocHJlc3VtYWJseTogYSBzaWJsaW5nXQFwYXJhY2hhaW4gb3IgYSBwYXJlbnQgcmVsYXkgY2hhaW4pLiBUaGUgYGJyaWRnZV9kZXN0aW5hdGlvbl91bml2ZXJzYWxfbG9jYXRpb25gIG11c3QgYmUZAWEgZGVzdGluYXRpb24gd2l0aGluIHRoZSBjb25zZW5zdXMgb2YgdGhlIGBUOjpCcmlkZ2VkTmV0d29ya2AgbmV0d29yay4AKQFUaGUgYEJyaWRnZURlcG9zaXRgIGFtb3VudCBpcyByZXNlcnZlZCBvbiB0aGUgY2FsbGVyIGFjY291bnQuIFRoaXMgZGVwb3NpdJRpcyB1bnJlc2VydmVkIGFmdGVyIGJyaWRnZSBpcyBjbG9zZWQuAF0BVGhlIHN0YXRlcyBhZnRlciB0aGlzIGNhbGw6IGJyaWRnZSBpcyBgT3BlbmVkYCwgb3V0Ym91bmQgbGFuZSBpcyBgT3BlbmVkYCwgaW5ib3VuZCBsYW5lMGlzIGBPcGVuZWRgLjBjbG9zZV9icmlkZ2UIAZRicmlkZ2VfZGVzdGluYXRpb25fdW5pdmVyc2FsX2xvY2F0aW9usQMBeEJveDxWZXJzaW9uZWRJbnRlcmlvckxvY2F0aW9uPgABSG1heV9wcnVuZV9tZXNzYWdlcygBME1lc3NhZ2VOb25jZQABRGBUcnkgdG8gY2xvc2UgdGhlIGJyaWRnZS4AOQFDYW4gb25seSBiZSBjYWxsZWQgYnkgdGhlICJvd25lciIgb2YgdGhpcyBzaWRlIG9mIHRoZSBicmlkZ2UsIG1lYW5pbmcgdGhhdCB0aGXsaW5ib3VuZCBYQ00gY2hhbm5lbCB3aXRoIHRoZSBsb2NhbCBvcmlnaW4gY2hhaW4gaXMgd29ya2luZy4ATQFDbG9zZWQgYnJpZGdlIGlzIGEgYnJpZGdlIHdpdGhvdXQgYW55IHRyYWNlcyBpbiB0aGUgcnVudGltZSBzdG9yYWdlLiBTbyB0aGlzIG1ldGhvZEEBZmlyc3QgdHJpZXMgdG8gcHJ1bmUgYWxsIHF1ZXVlZCBtZXNzYWdlcyBhdCB0aGUgb3V0Ym91bmQgbGFuZS4gV2hlbiB0aGVyZSBhcmUgbm9BAW91dGJvdW5kIG1lc3NhZ2VzIGxlZnQsIG91dGJvdW5kIGFuZCBpbmJvdW5kIGxhbmVzIGFyZSBwdXJnZWQuIEFmdGVyIHRoYXQsIGZ1bmRz6GFyZSByZXR1cm5lZCBiYWNrIHRvIHRoZSBvd25lciBvZiB0aGlzIHNpZGUgb2YgdGhlIGJyaWRnZS4ALQFUaGUgbnVtYmVyIG9mIG1lc3NhZ2VzIHRoYXQgd2UgbWF5IHBydW5lIGluIGEgc2luZ2xlIGNhbGwgaXMgbGltaXRlZCBieSB0aGVJAWBtYXlfcHJ1bmVfbWVzc2FnZXNgIGFyZ3VtZW50LiBJZiB0aGVyZSBhcmUgbW9yZSBtZXNzYWdlcyBpbiB0aGUgcXVldWUsIHRoZSBtZXRob2RFAXBydW5lcyBleGFjdGx5IGBtYXlfcHJ1bmVfbWVzc2FnZXNgIGFuZCBleGl0cyBlYXJseS4gVGhlIGNhbGxlciBtYXkgY2FsbCBpdCBhZ2FpbuB1bnRpbCBvdXRib3VuZCBxdWV1ZSBpcyBkZXBsZXRlZCBhbmQgZ2V0IGhpcyBmdW5kcyBiYWNrLgA1AVRoZSBzdGF0ZXMgYWZ0ZXIgdGhpcyBjYWxsOiBldmVyeXRoaW5nIGlzIGVpdGhlciBgQ2xvc2VkYCwgb3IgcHVyZ2VkIGZyb20gdGhlQHJ1bnRpbWUgc3RvcmFnZS4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMusQMIDHhjbWRWZXJzaW9uZWRJbnRlcmlvckxvY2F0aW9uAAEMCFYzBAD0AWR2Mzo6SW50ZXJpb3JNdWx0aUxvY2F0aW9uAAMACFY0BAARAQFQdjQ6OkludGVyaW9yTG9jYXRpb24ABAAIVjUEAEUBAVB2NTo6SW50ZXJpb3JMb2NhdGlvbgAFAAC1Awx8c25vd2JyaWRnZV9wYWxsZXRfaW5ib3VuZF9xdWV1ZRhwYWxsZXQQQ2FsbAQEVAABCBhzdWJtaXQEARRldmVudLkDAShFdmVudFByb29mAAAELQFTdWJtaXQgYW4gaW5ib3VuZCBtZXNzYWdlIG9yaWdpbmF0aW5nIGZyb20gdGhlIEdhdGV3YXkgY29udHJhY3Qgb24gRXRoZXJldW1Ic2V0X29wZXJhdGluZ19tb2RlBAEQbW9kZfEDAUhCYXNpY09wZXJhdGluZ01vZGUAAQQFAUhhbHQgb3IgcmVzdW1lIGFsbCBwYWxsZXQgb3BlcmF0aW9ucy4gTWF5IG9ubHkgYmUgY2FsbGVkIGJ5IHJvb3QuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLrkDCIhzbm93YnJpZGdlX3ZlcmlmaWNhdGlvbl9wcmltaXRpdmVzKEV2ZW50UHJvb2YAAAgBJGV2ZW50X2xvZ70DAQxMb2cAARRwcm9vZskDARRQcm9vZgAAvQMIiHNub3dicmlkZ2VfdmVyaWZpY2F0aW9uX3ByaW1pdGl2ZXMMTG9nAAAQARxhZGRyZXNzwQMBEEgxNjAAARh0b3BpY3PFAwEkVmVjPEgyNTY+AAEQZGF0YRgBHFZlYzx1OD4AASB0eF9pbmRleCgBDHU2NAAAwQMIPHByaW1pdGl2ZV90eXBlcxBIMTYwAAAEABwBIFt1ODsgMjBdAADFAwAAAjwAyQMIiHNub3dicmlkZ2VfdmVyaWZpY2F0aW9uX3ByaW1pdGl2ZXMUUHJvb2YAAAgBNHJlY2VpcHRfcHJvb2Y0ATBWZWM8VmVjPHU4Pj4AATxleGVjdXRpb25fcHJvb2bNAwE4RXhlY3V0aW9uUHJvb2YAAM0DDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzOEV4ZWN1dGlvblByb29mAAAQARhoZWFkZXLRAwEwQmVhY29uSGVhZGVyAAE4YW5jZXN0cnlfcHJvb2bVAwFUT3B0aW9uPEFuY2VzdHJ5UHJvb2Y+AAFAZXhlY3V0aW9uX2hlYWRlct0DAXxWZXJzaW9uZWRFeGVjdXRpb25QYXlsb2FkSGVhZGVyAAFAZXhlY3V0aW9uX2JyYW5jaMUDASRWZWM8SDI1Nj4AANEDDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzMEJlYWNvbkhlYWRlcgAAFAEQc2xvdCgBDHU2NAABOHByb3Bvc2VyX2luZGV4KAE4VmFsaWRhdG9ySW5kZXgAASxwYXJlbnRfcm9vdDwBEEgyNTYAAShzdGF0ZV9yb290PAEQSDI1NgABJGJvZHlfcm9vdDwBEEgyNTYAANUDBBhPcHRpb24EBFQB2QMBCBBOb25lAAAAEFNvbWUEANkDAAABAADZAwxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlczRBbmNlc3RyeVByb29mAAAIATRoZWFkZXJfYnJhbmNoxQMBJFZlYzxIMjU2PgABUGZpbmFsaXplZF9ibG9ja19yb290PAEQSDI1NgAA3QMMcHNub3dicmlkZ2VfYmVhY29uX3ByaW1pdGl2ZXMUdHlwZXN8VmVyc2lvbmVkRXhlY3V0aW9uUGF5bG9hZEhlYWRlcgABCBxDYXBlbGxhBADhAwFYRXhlY3V0aW9uUGF5bG9hZEhlYWRlcgAAABREZW5lYgQA7QMBdGRlbmViOjpFeGVjdXRpb25QYXlsb2FkSGVhZGVyAAEAAOEDDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzWEV4ZWN1dGlvblBheWxvYWRIZWFkZXIAADwBLHBhcmVudF9oYXNoPAEQSDI1NgABNGZlZV9yZWNpcGllbnTBAwEQSDE2MAABKHN0YXRlX3Jvb3Q8ARBIMjU2AAE0cmVjZWlwdHNfcm9vdDwBEEgyNTYAAShsb2dzX2Jsb29tGAEcVmVjPHU4PgABLHByZXZfcmFuZGFvPAEQSDI1NgABMGJsb2NrX251bWJlcigBDHU2NAABJGdhc19saW1pdCgBDHU2NAABIGdhc191c2VkKAEMdTY0AAEkdGltZXN0YW1wKAEMdTY0AAEoZXh0cmFfZGF0YRgBHFZlYzx1OD4AAUBiYXNlX2ZlZV9wZXJfZ2Fz5QMBEFUyNTYAAShibG9ja19oYXNoPAEQSDI1NgABRHRyYW5zYWN0aW9uc19yb290PAEQSDI1NgABQHdpdGhkcmF3YWxzX3Jvb3Q8ARBIMjU2AADlAwg8cHJpbWl0aXZlX3R5cGVzEFUyNTYAAAQA6QMBIFt1NjQ7IDRdAADpAwAAAwQAAAAoAO0DEHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzFGRlbmViWEV4ZWN1dGlvblBheWxvYWRIZWFkZXIAAEQBLHBhcmVudF9oYXNoPAEQSDI1NgABNGZlZV9yZWNpcGllbnTBAwEQSDE2MAABKHN0YXRlX3Jvb3Q8ARBIMjU2AAE0cmVjZWlwdHNfcm9vdDwBEEgyNTYAAShsb2dzX2Jsb29tGAEcVmVjPHU4PgABLHByZXZfcmFuZGFvPAEQSDI1NgABMGJsb2NrX251bWJlcigBDHU2NAABJGdhc19saW1pdCgBDHU2NAABIGdhc191c2VkKAEMdTY0AAEkdGltZXN0YW1wKAEMdTY0AAEoZXh0cmFfZGF0YRgBHFZlYzx1OD4AAUBiYXNlX2ZlZV9wZXJfZ2Fz5QMBEFUyNTYAAShibG9ja19oYXNoPAEQSDI1NgABRHRyYW5zYWN0aW9uc19yb290PAEQSDI1NgABQHdpdGhkcmF3YWxzX3Jvb3Q8ARBIMjU2AAE0YmxvYl9nYXNfdXNlZCgBDHU2NAABPGV4Y2Vzc19ibG9iX2dhcygBDHU2NAAA8QMMPHNub3dicmlkZ2VfY29yZThvcGVyYXRpbmdfbW9kZUhCYXNpY09wZXJhdGluZ01vZGUAAQgYTm9ybWFsAAAAGEhhbHRlZAABAAD1AwyAc25vd2JyaWRnZV9wYWxsZXRfb3V0Ym91bmRfcXVldWUYcGFsbGV0EENhbGwEBFQAAQRIc2V0X29wZXJhdGluZ19tb2RlBAEQbW9kZfEDAUhCYXNpY09wZXJhdGluZ01vZGUAAAQFAUhhbHQgb3IgcmVzdW1lIGFsbCBwYWxsZXQgb3BlcmF0aW9ucy4gTWF5IG9ubHkgYmUgY2FsbGVkIGJ5IHJvb3QuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLvkDDIRzbm93YnJpZGdlX3BhbGxldF9ldGhlcmV1bV9jbGllbnQYcGFsbGV0EENhbGwEBFQAAQxAZm9yY2VfY2hlY2twb2ludAQBGHVwZGF0Zf0DAVRCb3g8Q2hlY2twb2ludFVwZGF0ZT4AAAhBAVVzZWQgZm9yIHBhbGxldCBpbml0aWFsaXphdGlvbiBhbmQgbGlnaHQgY2xpZW50IHJlc2V0dGluZy4gTmVlZHMgdG8gYmUgY2FsbGVkIGJ5QHRoZSByb290IG9yaWdpbi4Yc3VibWl0BAEYdXBkYXRlEQQBLEJveDxVcGRhdGU+AAEINQFTdWJtaXRzIGEgbmV3IGZpbmFsaXplZCBiZWFjb24gaGVhZGVyIHVwZGF0ZS4gVGhlIHVwZGF0ZSBtYXkgY29udGFpbiB0aGUgbmV4dDxzeW5jIGNvbW1pdHRlZS5Ic2V0X29wZXJhdGluZ19tb2RlBAEQbW9kZfEDAUhCYXNpY09wZXJhdGluZ01vZGUAAwQFAUhhbHQgb3IgcmVzdW1lIGFsbCBwYWxsZXQgb3BlcmF0aW9ucy4gTWF5IG9ubHkgYmUgY2FsbGVkIGJ5IHJvb3QuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLv0DDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzHHVwZGF0ZXNAQ2hlY2twb2ludFVwZGF0ZQAAGAEYaGVhZGVy0QMBMEJlYWNvbkhlYWRlcgABWGN1cnJlbnRfc3luY19jb21taXR0ZWUBBAF0U3luY0NvbW1pdHRlZTxDT01NSVRURUVfU0laRT4AAXRjdXJyZW50X3N5bmNfY29tbWl0dGVlX2JyYW5jaMUDASRWZWM8SDI1Nj4AATx2YWxpZGF0b3JzX3Jvb3Q8ARBIMjU2AAFAYmxvY2tfcm9vdHNfcm9vdDwBEEgyNTYAAUhibG9ja19yb290c19icmFuY2jFAwEkVmVjPEgyNTY+AAABBAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlczRTeW5jQ29tbWl0dGVlAAAIARxwdWJrZXlzBQQBbFtQdWJsaWNLZXk7IENPTU1JVFRFRV9TSVpFXQABQGFnZ3JlZ2F0ZV9wdWJrZXkJBAEkUHVibGljS2V5AAAFBAAAAwACAAAJBAAJBAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlcyRQdWJsaWNLZXkAAAQADQQBRFt1ODsgUFVCS0VZX1NJWkVdAAANBAAAAzAAAAAMABEEDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzHHVwZGF0ZXMYVXBkYXRlAAAgATxhdHRlc3RlZF9oZWFkZXLRAwEwQmVhY29uSGVhZGVyAAE4c3luY19hZ2dyZWdhdGUVBAHIU3luY0FnZ3JlZ2F0ZTxDT01NSVRURUVfU0laRSwgQ09NTUlUVEVFX0JJVFNfU0laRT4AAThzaWduYXR1cmVfc2xvdCgBDHU2NAABaG5leHRfc3luY19jb21taXR0ZWVfdXBkYXRlIQQBvE9wdGlvbjxOZXh0U3luY0NvbW1pdHRlZVVwZGF0ZTxDT01NSVRURUVfU0laRT4+AAFAZmluYWxpemVkX2hlYWRlctEDATBCZWFjb25IZWFkZXIAATxmaW5hbGl0eV9icmFuY2jFAwEkVmVjPEgyNTY+AAFAYmxvY2tfcm9vdHNfcm9vdDwBEEgyNTYAAUhibG9ja19yb290c19icmFuY2jFAwEkVmVjPEgyNTY+AAAVBAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlczRTeW5jQWdncmVnYXRlAAAIAUxzeW5jX2NvbW1pdHRlZV9iaXRzWQMBZFt1ODsgQ09NTUlUVEVFX0JJVFNfU0laRV0AAWBzeW5jX2NvbW1pdHRlZV9zaWduYXR1cmUZBAEkU2lnbmF0dXJlAAAZBAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlcyRTaWduYXR1cmUAAAQAHQQBUFt1ODsgU0lHTkFUVVJFX1NJWkVdAAAdBAAAA2AAAAAMACEEBBhPcHRpb24EBFQBJQQBCBBOb25lAAAAEFNvbWUEACUEAAABAAAlBAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxx1cGRhdGVzXE5leHRTeW5jQ29tbWl0dGVlVXBkYXRlAAAIAUxuZXh0X3N5bmNfY29tbWl0dGVlAQQBdFN5bmNDb21taXR0ZWU8Q09NTUlUVEVFX1NJWkU+AAFobmV4dF9zeW5jX2NvbW1pdHRlZV9icmFuY2jFAwEkVmVjPEgyNTY+AAApBAxgc25vd2JyaWRnZV9wYWxsZXRfc3lzdGVtGHBhbGxldBBDYWxsBARUAAEUHHVwZ3JhZGUMATBpbXBsX2FkZHJlc3PBAwEQSDE2MAABOGltcGxfY29kZV9oYXNoPAEQSDI1NgABLGluaXRpYWxpemVyLQQBTE9wdGlvbjxJbml0aWFsaXplcj4AACRFAVNlbmRzIGNvbW1hbmQgdG8gdGhlIEdhdGV3YXkgY29udHJhY3QgdG8gdXBncmFkZSBpdHNlbGYgd2l0aCBhIG5ldyBpbXBsZW1lbnRhdGlvbiBjb250cmFjdABARmVlIHJlcXVpcmVkOiBObwBsLSBgb3JpZ2luYDogTXVzdCBiZSBgUm9vdGAu9C0gYGltcGxfYWRkcmVzc2A6IFRoZSBhZGRyZXNzIG9mIHRoZSBpbXBsZW1lbnRhdGlvbiBjb250cmFjdC4BAS0gYGltcGxfY29kZV9oYXNoYDogVGhlIGNvZGVoYXNoIG9mIHRoZSBpbXBsZW1lbnRhdGlvbiBjb250cmFjdC49AS0gYGluaXRpYWxpemVyYDogT3B0aW9uYWxseSBjYWxsIGFuIGluaXRpYWxpemVyIG9uIHRoZSBpbXBsZW1lbnRhdGlvbiBjb250cmFjdC5Ic2V0X29wZXJhdGluZ19tb2RlBAEQbW9kZTUEATRPcGVyYXRpbmdNb2RlAAEUEQFTZW5kcyBhIG1lc3NhZ2UgdG8gdGhlIEdhdGV3YXkgY29udHJhY3QgdG8gY2hhbmdlIGl0cyBvcGVyYXRpbmcgbW9kZQBARmVlIHJlcXVpcmVkOiBObwB4LSBgb3JpZ2luYDogTXVzdCBiZSBgTG9jYXRpb25gWHNldF9wcmljaW5nX3BhcmFtZXRlcnMEARhwYXJhbXM5BAFYUHJpY2luZ1BhcmFtZXRlcnNPZjxUPgACFMhTZXQgcHJpY2luZyBwYXJhbWV0ZXJzIG9uIGJvdGggc2lkZXMgb2YgdGhlIGJyaWRnZQBARmVlIHJlcXVpcmVkOiBObwBgLSBgb3JpZ2luYDogTXVzdCBiZSByb290XHNldF90b2tlbl90cmFuc2Zlcl9mZWVzDAFAY3JlYXRlX2Fzc2V0X3hjbcQBEHUxMjgAAUh0cmFuc2Zlcl9hc3NldF94Y23EARB1MTI4AAE4cmVnaXN0ZXJfdG9rZW7lAwEQVTI1NgAJNDEBU2VuZHMgYSBtZXNzYWdlIHRvIHRoZSBHYXRld2F5IGNvbnRyYWN0IHRvIHVwZGF0ZSBmZWUgcmVsYXRlZCBwYXJhbWV0ZXJzIGZvckB0b2tlbiB0cmFuc2ZlcnMuAJxQcml2aWxlZ2VkLiBDYW4gb25seSBiZSBjYWxsZWQgYnkgcm9vdC4AQEZlZSByZXF1aXJlZDogTm8AYC0gYG9yaWdpbmA6IE11c3QgYmUgcm9vdGEBLSBgY3JlYXRlX2Fzc2V0X3hjbWA6IFRoZSBYQ00gZXhlY3V0aW9uIGNvc3QgZm9yIGNyZWF0aW5nIGEgbmV3IGFzc2V0IGNsYXNzIG9uIEFzc2V0SHViLCAgIGluIERPVE0BLSBgdHJhbnNmZXJfYXNzZXRfeGNtYDogVGhlIFhDTSBleGVjdXRpb24gY29zdCBmb3IgcGVyZm9ybWluZyBhIHJlc2VydmUgdHJhbnNmZXIgb25IICBBc3NldEh1YiwgaW4gRE9UVQEtIGByZWdpc3Rlcl90b2tlbmA6IFRoZSBFdGhlciBmZWUgZm9yIHJlZ2lzdGVyaW5nIGEgbmV3IHRva2VuLCB0byBkaXNjb3VyYWdlIHNwYW1taW5nOHJlZ2lzdGVyX3Rva2VuCAEgbG9jYXRpb27sAVhCb3g8VmVyc2lvbmVkTG9jYXRpb24+AAEgbWV0YWRhdGFFBAE0QXNzZXRNZXRhZGF0YQAKIB0BUmVnaXN0ZXJzIGEgUG9sa2Fkb3QtbmF0aXZlIHRva2VuIGFzIGEgd3JhcHBlZCBFUkMyMCB0b2tlbiBvbiBFdGhlcmV1bS6cUHJpdmlsZWdlZC4gQ2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHJvb3QuAEBGZWUgcmVxdWlyZWQ6IE5vAGAtIGBvcmlnaW5gOiBNdXN0IGJlIHJvb3TwLSBgbG9jYXRpb25gOiBMb2NhdGlvbiBvZiB0aGUgYXNzZXQgKHJlbGF0aXZlIHRvIHRoaXMgY2hhaW4pQQEtIGBtZXRhZGF0YWA6IE1ldGFkYXRhIHRvIGluY2x1ZGUgaW4gdGhlIGluc3RhbnRpYXRlZCBFUkMyMCBjb250cmFjdCBvbiBFdGhlcmV1bQQNAUNvbnRhaW5zIGEgdmFyaWFudCBwZXIgZGlzcGF0Y2hhYmxlIGV4dHJpbnNpYyB0aGF0IHRoaXMgcGFsbGV0IGhhcy4tBAQYT3B0aW9uBARUATEEAQgQTm9uZQAAABBTb21lBAAxBAAAAQAAMQQQkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcwh2MRxtZXNzYWdlLEluaXRpYWxpemVyAAAIARhwYXJhbXMYARxWZWM8dTg+AAFQbWF4aW11bV9yZXF1aXJlZF9nYXMoAQx1NjQAADUECJBzbm93YnJpZGdlX291dGJvdW5kX3F1ZXVlX3ByaW1pdGl2ZXM0T3BlcmF0aW5nTW9kZQABCBhOb3JtYWwAAABkUmVqZWN0aW5nT3V0Ym91bmRNZXNzYWdlcwABAAA5BAw8c25vd2JyaWRnZV9jb3JlHHByaWNpbmdEUHJpY2luZ1BhcmFtZXRlcnMEHEJhbGFuY2UBxAAQATRleGNoYW5nZV9yYXRlPQQBJEZpeGVkVTEyOAABHHJld2FyZHNBBAFAUmV3YXJkczxCYWxhbmNlPgABLGZlZV9wZXJfZ2Fz5QMBEFUyNTYAAShtdWx0aXBsaWVyPQQBJEZpeGVkVTEyOAAAPQQMNHNwX2FyaXRobWV0aWMsZml4ZWRfcG9pbnQkRml4ZWRVMTI4AAAEAMQBEHUxMjgAAEEEDDxzbm93YnJpZGdlX2NvcmUccHJpY2luZxxSZXdhcmRzBBxCYWxhbmNlAcQACAEUbG9jYWzEARxCYWxhbmNlAAEYcmVtb3Rl5QMBEFUyNTYAAEUECDxzbm93YnJpZGdlX2NvcmU0QXNzZXRNZXRhZGF0YQAADAEQbmFtZUkEAcBCb3VuZGVkVmVjPHU4LCBDb25zdFUzMjxNRVRBREFUQV9GSUVMRF9NQVhfTEVOPj4AARhzeW1ib2xJBAHAQm91bmRlZFZlYzx1OCwgQ29uc3RVMzI8TUVUQURBVEFfRklFTERfTUFYX0xFTj4+AAEgZGVjaW1hbHMMAQh1OAAASQQMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEMBFMAAAQAGAEYVmVjPFQ+AABNBAxsc25vd2JyaWRnZV9wYWxsZXRfc3lzdGVtX3YyGHBhbGxldBBDYWxsBARUAAEQHHVwZ3JhZGUMATBpbXBsX2FkZHJlc3PBAwEQSDE2MAABOGltcGxfY29kZV9oYXNoPAEQSDI1NgABLGluaXRpYWxpemVyUQQBLEluaXRpYWxpemVyAAAkRQFTZW5kcyBjb21tYW5kIHRvIHRoZSBHYXRld2F5IGNvbnRyYWN0IHRvIHVwZ3JhZGUgaXRzZWxmIHdpdGggYSBuZXcgaW1wbGVtZW50YXRpb24gY29udHJhY3QAQEZlZSByZXF1aXJlZDogTm8AbC0gYG9yaWdpbmA6IE11c3QgYmUgYFJvb3RgLvQtIGBpbXBsX2FkZHJlc3NgOiBUaGUgYWRkcmVzcyBvZiB0aGUgaW1wbGVtZW50YXRpb24gY29udHJhY3QuAQEtIGBpbXBsX2NvZGVfaGFzaGA6IFRoZSBjb2RlaGFzaCBvZiB0aGUgaW1wbGVtZW50YXRpb24gY29udHJhY3QuPQEtIGBpbml0aWFsaXplcmA6IE9wdGlvbmFsbHkgY2FsbCBhbiBpbml0aWFsaXplciBvbiB0aGUgaW1wbGVtZW50YXRpb24gY29udHJhY3QuSHNldF9vcGVyYXRpbmdfbW9kZQQBEG1vZGU1BAE0T3BlcmF0aW5nTW9kZQABFBEBU2VuZHMgYSBtZXNzYWdlIHRvIHRoZSBHYXRld2F5IGNvbnRyYWN0IHRvIGNoYW5nZSBpdHMgb3BlcmF0aW5nIG1vZGUAQEZlZSByZXF1aXJlZDogTm8AmC0gYG9yaWdpbmA6IE11c3QgYmUgYEdvdmVybmFuY2VPcmlnaW5gOHJlZ2lzdGVyX3Rva2VuEAEYc2VuZGVy7AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABIGFzc2V0X2lk7AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABIG1ldGFkYXRhRQQBNEFzc2V0TWV0YWRhdGEAARhhbW91bnTEARB1MTI4AAIcHQFSZWdpc3RlcnMgYSBQb2xrYWRvdC1uYXRpdmUgdG9rZW4gYXMgYSB3cmFwcGVkIEVSQzIwIHRva2VuIG9uIEV0aGVyZXVtLgDkVGhlIHN5c3RlbSBmcm9udGVuZCBwYWxsZXQgb24gQUggcHJveGllcyB0aGlzIGNhbGwgdG8gQkguAOQtIGBzZW5kZXJgOiBUaGUgb3JpZ2luYWwgc2VuZGVyIGluaXRpYXRpbmcgdGhlIGNhbGwgb24gQUjwLSBgYXNzZXRfaWRgOiBMb2NhdGlvbiBvZiB0aGUgYXNzZXQgKHJlbGF0aXZlIHRvIHRoaXMgY2hhaW4pQQEtIGBtZXRhZGF0YWA6IE1ldGFkYXRhIHRvIGluY2x1ZGUgaW4gdGhlIGluc3RhbnRpYXRlZCBFUkMyMCBjb250cmFjdCBvbiBFdGhlcmV1bRxhZGRfdGlwDAEYc2VuZGVyBAE4QWNjb3VudElkT2Y8VD4AAShtZXNzYWdlX2lkVQQBJE1lc3NhZ2VJZAABGGFtb3VudMQBEHUxMjgAAwAEDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuUQQQkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcwh2MhxtZXNzYWdlLEluaXRpYWxpemVyAAAIARhwYXJhbXMYARxWZWM8dTg+AAFQbWF4aW11bV9yZXF1aXJlZF9nYXMoAQx1NjQAAFUEDDxzbm93YnJpZGdlX2NvcmUYcmV3YXJkJE1lc3NhZ2VJZAABCBxJbmJvdW5kBAAoAQx1NjQAAAAgT3V0Ym91bmQEACgBDHU2NAABAABZBAyIc25vd2JyaWRnZV9wYWxsZXRfaW5ib3VuZF9xdWV1ZV92MhhwYWxsZXQQQ2FsbAQEVAABCBhzdWJtaXQEARRldmVudLkDATxCb3g8RXZlbnRQcm9vZj4AAAQtAVN1Ym1pdCBhbiBpbmJvdW5kIG1lc3NhZ2Ugb3JpZ2luYXRpbmcgZnJvbSB0aGUgR2F0ZXdheSBjb250cmFjdCBvbiBFdGhlcmV1bUhzZXRfb3BlcmF0aW5nX21vZGUEARBtb2Rl8QMBSEJhc2ljT3BlcmF0aW5nTW9kZQABBAUBSGFsdCBvciByZXN1bWUgYWxsIHBhbGxldCBvcGVyYXRpb25zLiBNYXkgb25seSBiZSBjYWxsZWQgYnkgcm9vdC4EDQFDb250YWlucyBhIHZhcmlhbnQgcGVyIGRpc3BhdGNoYWJsZSBleHRyaW5zaWMgdGhhdCB0aGlzIHBhbGxldCBoYXMuXQQMjHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlX3YyGHBhbGxldBBDYWxsBARUAAEEXHN1Ym1pdF9kZWxpdmVyeV9yZWNlaXB0BAEUZXZlbnS5AwE8Qm94PEV2ZW50UHJvb2Y+AAEABA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLmEEDFBwYWxsZXRfbWVzc2FnZV9xdWV1ZRhwYWxsZXQQQ2FsbAQEVAABCCRyZWFwX3BhZ2UIAThtZXNzYWdlX29yaWdpbmUEAUhNZXNzYWdlT3JpZ2luT2Y8VD4AAShwYWdlX2luZGV4OAEkUGFnZUluZGV4AAAEPQFSZW1vdmUgYSBwYWdlIHdoaWNoIGhhcyBubyBtb3JlIG1lc3NhZ2VzIHJlbWFpbmluZyB0byBiZSBwcm9jZXNzZWQgb3IgaXMgc3RhbGUuSGV4ZWN1dGVfb3ZlcndlaWdodBABOG1lc3NhZ2Vfb3JpZ2luZQQBSE1lc3NhZ2VPcmlnaW5PZjxUPgABEHBhZ2U4ASRQYWdlSW5kZXgAARRpbmRleDgBHFQ6OlNpemUAATB3ZWlnaHRfbGltaXS1AQEYV2VpZ2h0AAE0eEV4ZWN1dGUgYW4gb3ZlcndlaWdodCBtZXNzYWdlLgBNAVRlbXBvcmFyeSBwcm9jZXNzaW5nIGVycm9ycyB3aWxsIGJlIHByb3BhZ2F0ZWQgd2hlcmVhcyBwZXJtYW5lbnQgZXJyb3JzIGFyZSB0cmVhdGVkVGFzIHN1Y2Nlc3MgY29uZGl0aW9uLgB0LSBgb3JpZ2luYDogTXVzdCBiZSBgU2lnbmVkYC41AS0gYG1lc3NhZ2Vfb3JpZ2luYDogVGhlIG9yaWdpbiBmcm9tIHdoaWNoIHRoZSBtZXNzYWdlIHRvIGJlIGV4ZWN1dGVkIGFycml2ZWQuPQEtIGBwYWdlYDogVGhlIHBhZ2UgaW4gdGhlIHF1ZXVlIGluIHdoaWNoIHRoZSBtZXNzYWdlIHRvIGJlIGV4ZWN1dGVkIGlzIHNpdHRpbmcuCQEtIGBpbmRleGA6IFRoZSBpbmRleCBpbnRvIHRoZSBxdWV1ZSBvZiB0aGUgbWVzc2FnZSB0byBiZSBleGVjdXRlZC5ZAS0gYHdlaWdodF9saW1pdGA6IFRoZSBtYXhpbXVtIGFtb3VudCBvZiB3ZWlnaHQgYWxsb3dlZCB0byBiZSBjb25zdW1lZCBpbiB0aGUgZXhlY3V0aW9uRCAgb2YgdGhlIG1lc3NhZ2UuAPRCZW5jaG1hcmsgY29tcGxleGl0eSBjb25zaWRlcmF0aW9uczogTyhpbmRleCArIHdlaWdodF9saW1pdCkuBA0BQ29udGFpbnMgYSB2YXJpYW50IHBlciBkaXNwYXRjaGFibGUgZXh0cmluc2ljIHRoYXQgdGhpcyBwYWxsZXQgaGFzLmUEDERicmlkZ2VfaHViX2NvbW1vbjRtZXNzYWdlX3F1ZXVlWEFnZ3JlZ2F0ZU1lc3NhZ2VPcmlnaW4AARQQSGVyZQAAABhQYXJlbnQAAQAcU2libGluZwQAnAEYUGFyYUlkAAIAKFNub3dicmlkZ2UEAGkEASRDaGFubmVsSWQAAwAwU25vd2JyaWRnZVYyBAA8ARBIMjU2AAQAAGkECDxzbm93YnJpZGdlX2NvcmUkQ2hhbm5lbElkAAAEAAgBIFt1ODsgMzJdAABtBAgoc3BfcnVudGltZThNdWx0aVNpZ25hdHVyZQABEBxFZDI1NTE5BABZAwFIZWQyNTUxOTo6U2lnbmF0dXJlAAAAHFNyMjU1MTkEAFkDAUhzcjI1NTE5OjpTaWduYXR1cmUAAQAURWNkc2EEAHEEAUBlY2RzYTo6U2lnbmF0dXJlAAIADEV0aAQAcQQBWGVjZHNhOjpLZWNjYWtTaWduYXR1cmUAAwAAcQQAAANBAAAADAB1BBAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnM4YXV0aG9yaXplX2NhbGw0QXV0aG9yaXplQ2FsbAQEVAAAAAB5BBAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnNUY2hlY2tfbm9uX3plcm9fc2VuZGVySENoZWNrTm9uWmVyb1NlbmRlcgQEVAAAAAB9BBAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnNIY2hlY2tfc3BlY192ZXJzaW9uQENoZWNrU3BlY1ZlcnNpb24EBFQAAAAAgQQQMGZyYW1lX3N5c3RlbShleHRlbnNpb25zQGNoZWNrX3R4X3ZlcnNpb244Q2hlY2tUeFZlcnNpb24EBFQAAAAAhQQQMGZyYW1lX3N5c3RlbShleHRlbnNpb25zNGNoZWNrX2dlbmVzaXMwQ2hlY2tHZW5lc2lzBARUAAAAAIkEEDBmcmFtZV9zeXN0ZW0oZXh0ZW5zaW9uczxjaGVja19tb3J0YWxpdHk4Q2hlY2tNb3J0YWxpdHkEBFQAAAQAjQQBDEVyYQAAjQQQKHNwX3J1bnRpbWUcZ2VuZXJpYwxlcmEMRXJhAAEBBCBJbW1vcnRhbAAAABxNb3J0YWwxBAAMAAABABxNb3J0YWwyBAAMAAACABxNb3J0YWwzBAAMAAADABxNb3J0YWw0BAAMAAAEABxNb3J0YWw1BAAMAAAFABxNb3J0YWw2BAAMAAAGABxNb3J0YWw3BAAMAAAHABxNb3J0YWw4BAAMAAAIABxNb3J0YWw5BAAMAAAJACBNb3J0YWwxMAQADAAACgAgTW9ydGFsMTEEAAwAAAsAIE1vcnRhbDEyBAAMAAAMACBNb3J0YWwxMwQADAAADQAgTW9ydGFsMTQEAAwAAA4AIE1vcnRhbDE1BAAMAAAPACBNb3J0YWwxNgQADAAAEAAgTW9ydGFsMTcEAAwAABEAIE1vcnRhbDE4BAAMAAASACBNb3J0YWwxOQQADAAAEwAgTW9ydGFsMjAEAAwAABQAIE1vcnRhbDIxBAAMAAAVACBNb3J0YWwyMgQADAAAFgAgTW9ydGFsMjMEAAwAABcAIE1vcnRhbDI0BAAMAAAYACBNb3J0YWwyNQQADAAAGQAgTW9ydGFsMjYEAAwAABoAIE1vcnRhbDI3BAAMAAAbACBNb3J0YWwyOAQADAAAHAAgTW9ydGFsMjkEAAwAAB0AIE1vcnRhbDMwBAAMAAAeACBNb3J0YWwzMQQADAAAHwAgTW9ydGFsMzIEAAwAACAAIE1vcnRhbDMzBAAMAAAhACBNb3J0YWwzNAQADAAAIgAgTW9ydGFsMzUEAAwAACMAIE1vcnRhbDM2BAAMAAAkACBNb3J0YWwzNwQADAAAJQAgTW9ydGFsMzgEAAwAACYAIE1vcnRhbDM5BAAMAAAnACBNb3J0YWw0MAQADAAAKAAgTW9ydGFsNDEEAAwAACkAIE1vcnRhbDQyBAAMAAAqACBNb3J0YWw0MwQADAAAKwAgTW9ydGFsNDQEAAwAACwAIE1vcnRhbDQ1BAAMAAAtACBNb3J0YWw0NgQADAAALgAgTW9ydGFsNDcEAAwAAC8AIE1vcnRhbDQ4BAAMAAAwACBNb3J0YWw0OQQADAAAMQAgTW9ydGFsNTAEAAwAADIAIE1vcnRhbDUxBAAMAAAzACBNb3J0YWw1MgQADAAANAAgTW9ydGFsNTMEAAwAADUAIE1vcnRhbDU0BAAMAAA2ACBNb3J0YWw1NQQADAAANwAgTW9ydGFsNTYEAAwAADgAIE1vcnRhbDU3BAAMAAA5ACBNb3J0YWw1OAQADAAAOgAgTW9ydGFsNTkEAAwAADsAIE1vcnRhbDYwBAAMAAA8ACBNb3J0YWw2MQQADAAAPQAgTW9ydGFsNjIEAAwAAD4AIE1vcnRhbDYzBAAMAAA/ACBNb3J0YWw2NAQADAAAQAAgTW9ydGFsNjUEAAwAAEEAIE1vcnRhbDY2BAAMAABCACBNb3J0YWw2NwQADAAAQwAgTW9ydGFsNjgEAAwAAEQAIE1vcnRhbDY5BAAMAABFACBNb3J0YWw3MAQADAAARgAgTW9ydGFsNzEEAAwAAEcAIE1vcnRhbDcyBAAMAABIACBNb3J0YWw3MwQADAAASQAgTW9ydGFsNzQEAAwAAEoAIE1vcnRhbDc1BAAMAABLACBNb3J0YWw3NgQADAAATAAgTW9ydGFsNzcEAAwAAE0AIE1vcnRhbDc4BAAMAABOACBNb3J0YWw3OQQADAAATwAgTW9ydGFsODAEAAwAAFAAIE1vcnRhbDgxBAAMAABRACBNb3J0YWw4MgQADAAAUgAgTW9ydGFsODMEAAwAAFMAIE1vcnRhbDg0BAAMAABUACBNb3J0YWw4NQQADAAAVQAgTW9ydGFsODYEAAwAAFYAIE1vcnRhbDg3BAAMAABXACBNb3J0YWw4OAQADAAAWAAgTW9ydGFsODkEAAwAAFkAIE1vcnRhbDkwBAAMAABaACBNb3J0YWw5MQQADAAAWwAgTW9ydGFsOTIEAAwAAFwAIE1vcnRhbDkzBAAMAABdACBNb3J0YWw5NAQADAAAXgAgTW9ydGFsOTUEAAwAAF8AIE1vcnRhbDk2BAAMAABgACBNb3J0YWw5NwQADAAAYQAgTW9ydGFsOTgEAAwAAGIAIE1vcnRhbDk5BAAMAABjACRNb3J0YWwxMDAEAAwAAGQAJE1vcnRhbDEwMQQADAAAZQAkTW9ydGFsMTAyBAAMAABmACRNb3J0YWwxMDMEAAwAAGcAJE1vcnRhbDEwNAQADAAAaAAkTW9ydGFsMTA1BAAMAABpACRNb3J0YWwxMDYEAAwAAGoAJE1vcnRhbDEwNwQADAAAawAkTW9ydGFsMTA4BAAMAABsACRNb3J0YWwxMDkEAAwAAG0AJE1vcnRhbDExMAQADAAAbgAkTW9ydGFsMTExBAAMAABvACRNb3J0YWwxMTIEAAwAAHAAJE1vcnRhbDExMwQADAAAcQAkTW9ydGFsMTE0BAAMAAByACRNb3J0YWwxMTUEAAwAAHMAJE1vcnRhbDExNgQADAAAdAAkTW9ydGFsMTE3BAAMAAB1ACRNb3J0YWwxMTgEAAwAAHYAJE1vcnRhbDExOQQADAAAdwAkTW9ydGFsMTIwBAAMAAB4ACRNb3J0YWwxMjEEAAwAAHkAJE1vcnRhbDEyMgQADAAAegAkTW9ydGFsMTIzBAAMAAB7ACRNb3J0YWwxMjQEAAwAAHwAJE1vcnRhbDEyNQQADAAAfQAkTW9ydGFsMTI2BAAMAAB+ACRNb3J0YWwxMjcEAAwAAH8AJE1vcnRhbDEyOAQADAAAgAAkTW9ydGFsMTI5BAAMAACBACRNb3J0YWwxMzAEAAwAAIIAJE1vcnRhbDEzMQQADAAAgwAkTW9ydGFsMTMyBAAMAACEACRNb3J0YWwxMzMEAAwAAIUAJE1vcnRhbDEzNAQADAAAhgAkTW9ydGFsMTM1BAAMAACHACRNb3J0YWwxMzYEAAwAAIgAJE1vcnRhbDEzNwQADAAAiQAkTW9ydGFsMTM4BAAMAACKACRNb3J0YWwxMzkEAAwAAIsAJE1vcnRhbDE0MAQADAAAjAAkTW9ydGFsMTQxBAAMAACNACRNb3J0YWwxNDIEAAwAAI4AJE1vcnRhbDE0MwQADAAAjwAkTW9ydGFsMTQ0BAAMAACQACRNb3J0YWwxNDUEAAwAAJEAJE1vcnRhbDE0NgQADAAAkgAkTW9ydGFsMTQ3BAAMAACTACRNb3J0YWwxNDgEAAwAAJQAJE1vcnRhbDE0OQQADAAAlQAkTW9ydGFsMTUwBAAMAACWACRNb3J0YWwxNTEEAAwAAJcAJE1vcnRhbDE1MgQADAAAmAAkTW9ydGFsMTUzBAAMAACZACRNb3J0YWwxNTQEAAwAAJoAJE1vcnRhbDE1NQQADAAAmwAkTW9ydGFsMTU2BAAMAACcACRNb3J0YWwxNTcEAAwAAJ0AJE1vcnRhbDE1OAQADAAAngAkTW9ydGFsMTU5BAAMAACfACRNb3J0YWwxNjAEAAwAAKAAJE1vcnRhbDE2MQQADAAAoQAkTW9ydGFsMTYyBAAMAACiACRNb3J0YWwxNjMEAAwAAKMAJE1vcnRhbDE2NAQADAAApAAkTW9ydGFsMTY1BAAMAAClACRNb3J0YWwxNjYEAAwAAKYAJE1vcnRhbDE2NwQADAAApwAkTW9ydGFsMTY4BAAMAACoACRNb3J0YWwxNjkEAAwAAKkAJE1vcnRhbDE3MAQADAAAqgAkTW9ydGFsMTcxBAAMAACrACRNb3J0YWwxNzIEAAwAAKwAJE1vcnRhbDE3MwQADAAArQAkTW9ydGFsMTc0BAAMAACuACRNb3J0YWwxNzUEAAwAAK8AJE1vcnRhbDE3NgQADAAAsAAkTW9ydGFsMTc3BAAMAACxACRNb3J0YWwxNzgEAAwAALIAJE1vcnRhbDE3OQQADAAAswAkTW9ydGFsMTgwBAAMAAC0ACRNb3J0YWwxODEEAAwAALUAJE1vcnRhbDE4MgQADAAAtgAkTW9ydGFsMTgzBAAMAAC3ACRNb3J0YWwxODQEAAwAALgAJE1vcnRhbDE4NQQADAAAuQAkTW9ydGFsMTg2BAAMAAC6ACRNb3J0YWwxODcEAAwAALsAJE1vcnRhbDE4OAQADAAAvAAkTW9ydGFsMTg5BAAMAAC9ACRNb3J0YWwxOTAEAAwAAL4AJE1vcnRhbDE5MQQADAAAvwAkTW9ydGFsMTkyBAAMAADAACRNb3J0YWwxOTMEAAwAAMEAJE1vcnRhbDE5NAQADAAAwgAkTW9ydGFsMTk1BAAMAADDACRNb3J0YWwxOTYEAAwAAMQAJE1vcnRhbDE5NwQADAAAxQAkTW9ydGFsMTk4BAAMAADGACRNb3J0YWwxOTkEAAwAAMcAJE1vcnRhbDIwMAQADAAAyAAkTW9ydGFsMjAxBAAMAADJACRNb3J0YWwyMDIEAAwAAMoAJE1vcnRhbDIwMwQADAAAywAkTW9ydGFsMjA0BAAMAADMACRNb3J0YWwyMDUEAAwAAM0AJE1vcnRhbDIwNgQADAAAzgAkTW9ydGFsMjA3BAAMAADPACRNb3J0YWwyMDgEAAwAANAAJE1vcnRhbDIwOQQADAAA0QAkTW9ydGFsMjEwBAAMAADSACRNb3J0YWwyMTEEAAwAANMAJE1vcnRhbDIxMgQADAAA1AAkTW9ydGFsMjEzBAAMAADVACRNb3J0YWwyMTQEAAwAANYAJE1vcnRhbDIxNQQADAAA1wAkTW9ydGFsMjE2BAAMAADYACRNb3J0YWwyMTcEAAwAANkAJE1vcnRhbDIxOAQADAAA2gAkTW9ydGFsMjE5BAAMAADbACRNb3J0YWwyMjAEAAwAANwAJE1vcnRhbDIyMQQADAAA3QAkTW9ydGFsMjIyBAAMAADeACRNb3J0YWwyMjMEAAwAAN8AJE1vcnRhbDIyNAQADAAA4AAkTW9ydGFsMjI1BAAMAADhACRNb3J0YWwyMjYEAAwAAOIAJE1vcnRhbDIyNwQADAAA4wAkTW9ydGFsMjI4BAAMAADkACRNb3J0YWwyMjkEAAwAAOUAJE1vcnRhbDIzMAQADAAA5gAkTW9ydGFsMjMxBAAMAADnACRNb3J0YWwyMzIEAAwAAOgAJE1vcnRhbDIzMwQADAAA6QAkTW9ydGFsMjM0BAAMAADqACRNb3J0YWwyMzUEAAwAAOsAJE1vcnRhbDIzNgQADAAA7AAkTW9ydGFsMjM3BAAMAADtACRNb3J0YWwyMzgEAAwAAO4AJE1vcnRhbDIzOQQADAAA7wAkTW9ydGFsMjQwBAAMAADwACRNb3J0YWwyNDEEAAwAAPEAJE1vcnRhbDI0MgQADAAA8gAkTW9ydGFsMjQzBAAMAADzACRNb3J0YWwyNDQEAAwAAPQAJE1vcnRhbDI0NQQADAAA9QAkTW9ydGFsMjQ2BAAMAAD2ACRNb3J0YWwyNDcEAAwAAPcAJE1vcnRhbDI0OAQADAAA+AAkTW9ydGFsMjQ5BAAMAAD5ACRNb3J0YWwyNTAEAAwAAPoAJE1vcnRhbDI1MQQADAAA+wAkTW9ydGFsMjUyBAAMAAD8ACRNb3J0YWwyNTMEAAwAAP0AJE1vcnRhbDI1NAQADAAA/gAkTW9ydGFsMjU1BAAMAAD/AACRBBAwZnJhbWVfc3lzdGVtKGV4dGVuc2lvbnMsY2hlY2tfbm9uY2UoQ2hlY2tOb25jZQQEVAAABABgASBUOjpOb25jZQAAlQQQMGZyYW1lX3N5c3RlbShleHRlbnNpb25zMGNoZWNrX3dlaWdodCxDaGVja1dlaWdodAQEVAAAAACZBAhocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnRgQ2hhcmdlVHJhbnNhY3Rpb25QYXltZW50BARUAAAEAMABMEJhbGFuY2VPZjxUPgAAnQQIbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZZhCcmlkZ2VSZWplY3RPYnNvbGV0ZUhlYWRlcnNBbmRNZXNzYWdlcwAAAAChBAxYcGFsbGV0X2JyaWRnZV9yZWxheWVycyRleHRlbnNpb26IQnJpZGdlUmVsYXllcnNUcmFuc2FjdGlvbkV4dGVuc2lvbggcUnVudGltZQAYQ29uZmlnAAAAAKUECHRmcmFtZV9tZXRhZGF0YV9oYXNoX2V4dGVuc2lvbkRDaGVja01ldGFkYXRhSGFzaAQEVAAABAEQbW9kZakEARBNb2RlAACpBAh0ZnJhbWVfbWV0YWRhdGFfaGFzaF9leHRlbnNpb24QTW9kZQABCCBEaXNhYmxlZAAAABxFbmFibGVkAAEAAK0EBBhPcHRpb24EBFQBCAEIEE5vbmUAAAAQU29tZQQACAAAAQAAsQQIMGZyYW1lX3N5c3RlbSxBY2NvdW50SW5mbwgUTm9uY2UBOCxBY2NvdW50RGF0YQG1BAAUARRub25jZTgBFE5vbmNlAAEkY29uc3VtZXJzOAEgUmVmQ291bnQAASRwcm92aWRlcnM4ASBSZWZDb3VudAABLHN1ZmZpY2llbnRzOAEgUmVmQ291bnQAARBkYXRhtQQBLEFjY291bnREYXRhAAC1BAw8cGFsbGV0X2JhbGFuY2VzFHR5cGVzLEFjY291bnREYXRhBBxCYWxhbmNlAcQAEAEQZnJlZcQBHEJhbGFuY2UAASByZXNlcnZlZMQBHEJhbGFuY2UAARhmcm96ZW7EARxCYWxhbmNlAAEUZmxhZ3O5BAEoRXh0cmFGbGFncwAAuQQMPHBhbGxldF9iYWxhbmNlcxR0eXBlcyhFeHRyYUZsYWdzAAAEAMQBEHUxMjgAAL0EDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoQFBlckRpc3BhdGNoQ2xhc3MEBFQBtQEADAEYbm9ybWFstQEBBFQAASxvcGVyYXRpb25hbLUBAQRUAAEkbWFuZGF0b3J5tQEBBFQAAMEEAAACxQQAxQQIMGZyYW1lX3N5c3RlbSxFdmVudFJlY29yZAgERQHJBARUATwADAEUcGhhc2XJBQEUUGhhc2UAARRldmVudMkEAQRFAAEYdG9waWNzxQMBGFZlYzxUPgAAyQQIbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZTBSdW50aW1lRXZlbnQAAWQYU3lzdGVtBADNBAFwZnJhbWVfc3lzdGVtOjpFdmVudDxSdW50aW1lPgAAADxQYXJhY2hhaW5TeXN0ZW0EAPUEAbxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtOjpFdmVudDxSdW50aW1lPgABACBCYWxhbmNlcwQA+QQBfHBhbGxldF9iYWxhbmNlczo6RXZlbnQ8UnVudGltZT4ACgBIVHJhbnNhY3Rpb25QYXltZW50BAAVBQGocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQ6OkV2ZW50PFJ1bnRpbWU+AAsARENvbGxhdG9yU2VsZWN0aW9uBAAZBQGkcGFsbGV0X2NvbGxhdG9yX3NlbGVjdGlvbjo6RXZlbnQ8UnVudGltZT4AFQAcU2Vzc2lvbgQAHQUBeHBhbGxldF9zZXNzaW9uOjpFdmVudDxSdW50aW1lPgAWACRYY21wUXVldWUEACEFAaRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlOjpFdmVudDxSdW50aW1lPgAeACxQb2xrYWRvdFhjbQQAJQUBaHBhbGxldF94Y206OkV2ZW50PFJ1bnRpbWU+AB8AKEN1bXVsdXNYY20EADUFAYhjdW11bHVzX3BhbGxldF94Y206OkV2ZW50PFJ1bnRpbWU+ACAAHFV0aWxpdHkEADkFAVRwYWxsZXRfdXRpbGl0eTo6RXZlbnQAKAAgTXVsdGlzaWcEAEEFAXxwYWxsZXRfbXVsdGlzaWc6OkV2ZW50PFJ1bnRpbWU+ACkAFFByb3h5BABFBQFwcGFsbGV0X3Byb3h5OjpFdmVudDxSdW50aW1lPgAqADhCcmlkZ2VSZWxheWVycwQATQUBmHBhbGxldF9icmlkZ2VfcmVsYXllcnM6OkV2ZW50PFJ1bnRpbWU+ADIATEJyaWRnZUt1c2FtYUdyYW5kcGEEAFUFAR0BcGFsbGV0X2JyaWRnZV9ncmFuZHBhOjpFdmVudDxSdW50aW1lLCBwYWxsZXRfYnJpZGdlX2dyYW5kcGE6Okluc3RhbmNlMT4AMwBYQnJpZGdlS3VzYW1hUGFyYWNoYWlucwQAZQUBOQFwYWxsZXRfYnJpZGdlX3BhcmFjaGFpbnM6OkV2ZW50PFJ1bnRpbWUsIHBhbGxldF9icmlkZ2VfcGFyYWNoYWluczo6Ckluc3RhbmNlMT4ANABQQnJpZGdlS3VzYW1hTWVzc2FnZXMEAGkFASkBcGFsbGV0X2JyaWRnZV9tZXNzYWdlczo6RXZlbnQ8UnVudGltZSwgcGFsbGV0X2JyaWRnZV9tZXNzYWdlczo6SW5zdGFuY2UxCj4ANQBYWGNtT3ZlckJyaWRnZUh1Ykt1c2FtYQQAiQUBHQFwYWxsZXRfeGNtX2JyaWRnZV9odWI6OkV2ZW50PFJ1bnRpbWUsIHBhbGxldF94Y21fYnJpZGdlX2h1Yjo6SW5zdGFuY2UxPgA2AFBFdGhlcmV1bUluYm91bmRRdWV1ZQQAkQUBvHNub3dicmlkZ2VfcGFsbGV0X2luYm91bmRfcXVldWU6OkV2ZW50PFJ1bnRpbWU+AFAAVEV0aGVyZXVtT3V0Ym91bmRRdWV1ZQQAlQUBwHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlOjpFdmVudDxSdW50aW1lPgBRAFBFdGhlcmV1bUJlYWNvbkNsaWVudAQAmQUBxHNub3dicmlkZ2VfcGFsbGV0X2V0aGVyZXVtX2NsaWVudDo6RXZlbnQ8UnVudGltZT4AUgA4RXRoZXJldW1TeXN0ZW0EAJ0FAaBzbm93YnJpZGdlX3BhbGxldF9zeXN0ZW06OkV2ZW50PFJ1bnRpbWU+AFMAQEV0aGVyZXVtU3lzdGVtVjIEAKUFAaxzbm93YnJpZGdlX3BhbGxldF9zeXN0ZW1fdjI6OkV2ZW50PFJ1bnRpbWU+AFoAWEV0aGVyZXVtSW5ib3VuZFF1ZXVlVjIEAKkFAchzbm93YnJpZGdlX3BhbGxldF9pbmJvdW5kX3F1ZXVlX3YyOjpFdmVudDxSdW50aW1lPgBbAFxFdGhlcmV1bU91dGJvdW5kUXVldWVWMgQArQUBzHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlX3YyOjpFdmVudDxSdW50aW1lPgBcADBNZXNzYWdlUXVldWUEAMUFAZBwYWxsZXRfbWVzc2FnZV9xdWV1ZTo6RXZlbnQ8UnVudGltZT4ArwAAzQQMMGZyYW1lX3N5c3RlbRhwYWxsZXQURXZlbnQEBFQAASBARXh0cmluc2ljU3VjY2VzcwQBNGRpc3BhdGNoX2luZm/RBAFERGlzcGF0Y2hFdmVudEluZm8AAASQQW4gZXh0cmluc2ljIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuPEV4dHJpbnNpY0ZhaWxlZAgBOGRpc3BhdGNoX2Vycm9y3QQBNERpc3BhdGNoRXJyb3IAATRkaXNwYXRjaF9pbmZv0QQBRERpc3BhdGNoRXZlbnRJbmZvAAEEUEFuIGV4dHJpbnNpYyBmYWlsZWQuLENvZGVVcGRhdGVkBAEQaGFzaDwBHFQ6Okhhc2gAAgTQYDpjb2RlYCB3YXMgdXBkYXRlZCB0byB0aGUgY29kZSB3aXRoIHRoZSBnaXZlbiBoYXNoLihOZXdBY2NvdW50BAEcYWNjb3VudAQBMFQ6OkFjY291bnRJZAADBGhBIG5ldyBhY2NvdW50IHdhcyBjcmVhdGVkLjRLaWxsZWRBY2NvdW50BAEcYWNjb3VudAQBMFQ6OkFjY291bnRJZAAEBFhBbiBhY2NvdW50IHdhcyByZWFwZWQuIFJlbWFya2VkCAEYc2VuZGVyBAEwVDo6QWNjb3VudElkAAEQaGFzaDwBHFQ6Okhhc2gABQRwT24gb24tY2hhaW4gcmVtYXJrIGhhcHBlbmVkLkRVcGdyYWRlQXV0aG9yaXplZAgBJGNvZGVfaGFzaDwBHFQ6Okhhc2gAATRjaGVja192ZXJzaW9uyAEQYm9vbAAGBGhBbiB1cGdyYWRlIHdhcyBhdXRob3JpemVkLoBSZWplY3RlZEludmFsaWRBdXRob3JpemVkVXBncmFkZQgBJGNvZGVfaGFzaDwBHFQ6Okhhc2gAARRlcnJvct0EATREaXNwYXRjaEVycm9yAAcEEQFBbiBpbnZhbGlkIGF1dGhvcml6ZWQgdXBncmFkZSB3YXMgcmVqZWN0ZWQgd2hpbGUgdHJ5aW5nIHRvIGFwcGx5IGl0LgRwRXZlbnQgZm9yIHRoZSBTeXN0ZW0gcGFsbGV0LtEECDBmcmFtZV9zeXN0ZW1ERGlzcGF0Y2hFdmVudEluZm8AAAwBGHdlaWdodLUBARhXZWlnaHQAARRjbGFzc9UEATREaXNwYXRjaENsYXNzAAEgcGF5c19mZWXZBAEQUGF5cwAA1QQMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2g0RGlzcGF0Y2hDbGFzcwABDBhOb3JtYWwAAAAsT3BlcmF0aW9uYWwAAQAkTWFuZGF0b3J5AAIAANkEDDRmcmFtZV9zdXBwb3J0IGRpc3BhdGNoEFBheXMAAQgMWWVzAAAACE5vAAEAAN0ECChzcF9ydW50aW1lNERpc3BhdGNoRXJyb3IAATwUT3RoZXIAAAAwQ2Fubm90TG9va3VwAAEAJEJhZE9yaWdpbgACABhNb2R1bGUEAOEEASxNb2R1bGVFcnJvcgADAERDb25zdW1lclJlbWFpbmluZwAEACxOb1Byb3ZpZGVycwAFAEBUb29NYW55Q29uc3VtZXJzAAYAFFRva2VuBADlBAEoVG9rZW5FcnJvcgAHAChBcml0aG1ldGljBADpBAE8QXJpdGhtZXRpY0Vycm9yAAgANFRyYW5zYWN0aW9uYWwEAO0EAUhUcmFuc2FjdGlvbmFsRXJyb3IACQAkRXhoYXVzdGVkAAoAKENvcnJ1cHRpb24ACwAsVW5hdmFpbGFibGUADAA4Um9vdE5vdEFsbG93ZWQADQAQVHJpZQQA8QQBJFRyaWVFcnJvcgAOAADhBAgoc3BfcnVudGltZSxNb2R1bGVFcnJvcgAACAEUaW5kZXgMAQh1OAABFGVycm9ycAGMW3U4OyBNQVhfTU9EVUxFX0VSUk9SX0VOQ09ERURfU0laRV0AAOUECChzcF9ydW50aW1lKFRva2VuRXJyb3IAAShARnVuZHNVbmF2YWlsYWJsZQAAADBPbmx5UHJvdmlkZXIAAQAwQmVsb3dNaW5pbXVtAAIAMENhbm5vdENyZWF0ZQADADBVbmtub3duQXNzZXQABAAYRnJvemVuAAUALFVuc3VwcG9ydGVkAAYAQENhbm5vdENyZWF0ZUhvbGQABwA0Tm90RXhwZW5kYWJsZQAIABxCbG9ja2VkAAkAAOkECDRzcF9hcml0aG1ldGljPEFyaXRobWV0aWNFcnJvcgABDCRVbmRlcmZsb3cAAAAgT3ZlcmZsb3cAAQA4RGl2aXNpb25CeVplcm8AAgAA7QQIKHNwX3J1bnRpbWVIVHJhbnNhY3Rpb25hbEVycm9yAAEIMExpbWl0UmVhY2hlZAAAABxOb0xheWVyAAEAAPEEDChzcF9ydW50aW1lMHByb3ZpbmdfdHJpZSRUcmllRXJyb3IAAThASW52YWxpZFN0YXRlUm9vdAAAAEhJbmNvbXBsZXRlRGF0YWJhc2UAAQBQVmFsdWVBdEluY29tcGxldGVLZXkAAgAwRGVjb2RlckVycm9yAAMALEludmFsaWRIYXNoAAQAMER1cGxpY2F0ZUtleQAFADhFeHRyYW5lb3VzTm9kZQAGADxFeHRyYW5lb3VzVmFsdWUABwBcRXh0cmFuZW91c0hhc2hSZWZlcmVuY2UACABUSW52YWxpZENoaWxkUmVmZXJlbmNlAAkANFZhbHVlTWlzbWF0Y2gACgA8SW5jb21wbGV0ZVByb29mAAsAMFJvb3RNaXNtYXRjaAAMACxEZWNvZGVFcnJvcgANAAD1BAx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbRhwYWxsZXQURXZlbnQEBFQAARhgVmFsaWRhdGlvbkZ1bmN0aW9uU3RvcmVkAAAE0FRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIGhhcyBiZWVuIHNjaGVkdWxlZCB0byBhcHBseS5kVmFsaWRhdGlvbkZ1bmN0aW9uQXBwbGllZAQBVHJlbGF5X2NoYWluX2Jsb2NrX251bTgBVFJlbGF5Q2hhaW5CbG9ja051bWJlcgABBEUBVGhlIHZhbGlkYXRpb24gZnVuY3Rpb24gd2FzIGFwcGxpZWQgYXMgb2YgdGhlIGNvbnRhaW5lZCByZWxheSBjaGFpbiBibG9jayBudW1iZXIubFZhbGlkYXRpb25GdW5jdGlvbkRpc2NhcmRlZAACBLBUaGUgcmVsYXktY2hhaW4gYWJvcnRlZCB0aGUgdXBncmFkZSBwcm9jZXNzLmBEb3dud2FyZE1lc3NhZ2VzUmVjZWl2ZWQEARRjb3VudDgBDHUzMgADBAEBU29tZSBkb3dud2FyZCBtZXNzYWdlcyBoYXZlIGJlZW4gcmVjZWl2ZWQgYW5kIHdpbGwgYmUgcHJvY2Vzc2VkLmREb3dud2FyZE1lc3NhZ2VzUHJvY2Vzc2VkCAEsd2VpZ2h0X3VzZWS1AQEYV2VpZ2h0AAEgZG1xX2hlYWQ8AURyZWxheV9jaGFpbjo6SGFzaAAEBOBEb3dud2FyZCBtZXNzYWdlcyB3ZXJlIHByb2Nlc3NlZCB1c2luZyB0aGUgZ2l2ZW4gd2VpZ2h0LkRVcHdhcmRNZXNzYWdlU2VudAQBMG1lc3NhZ2VfaGFzaK0EATxPcHRpb248WGNtSGFzaD4ABQS4QW4gdXB3YXJkIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIHJlbGF5IGNoYWluLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldPkEDDxwYWxsZXRfYmFsYW5jZXMYcGFsbGV0FEV2ZW50CARUAARJAAF4HEVuZG93ZWQIARxhY2NvdW50BAEwVDo6QWNjb3VudElkAAEwZnJlZV9iYWxhbmNlxAEoVDo6QmFsYW5jZQAABLhBbiBhY2NvdW50IHdhcyBjcmVhdGVkIHdpdGggc29tZSBmcmVlIGJhbGFuY2UuIER1c3RMb3N0CAEcYWNjb3VudAQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UAAQg9AUFuIGFjY291bnQgd2FzIHJlbW92ZWQgd2hvc2UgYmFsYW5jZSB3YXMgbm9uLXplcm8gYnV0IGJlbG93IEV4aXN0ZW50aWFsRGVwb3NpdCx4cmVzdWx0aW5nIGluIGFuIG91dHJpZ2h0IGxvc3MuIFRyYW5zZmVyDAEQZnJvbQQBMFQ6OkFjY291bnRJZAABCHRvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50xAEoVDo6QmFsYW5jZQACBExUcmFuc2ZlciBzdWNjZWVkZWQuKEJhbGFuY2VTZXQIAQx3aG8EATBUOjpBY2NvdW50SWQAARBmcmVlxAEoVDo6QmFsYW5jZQADBGhBIGJhbGFuY2Ugd2FzIHNldCBieSByb290LiBSZXNlcnZlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UABATgU29tZSBiYWxhbmNlIHdhcyByZXNlcnZlZCAobW92ZWQgZnJvbSBmcmVlIHRvIHJlc2VydmVkKS4oVW5yZXNlcnZlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UABQToU29tZSBiYWxhbmNlIHdhcyB1bnJlc2VydmVkIChtb3ZlZCBmcm9tIHJlc2VydmVkIHRvIGZyZWUpLkhSZXNlcnZlUmVwYXRyaWF0ZWQQARBmcm9tBAEwVDo6QWNjb3VudElkAAEIdG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlAAFIZGVzdGluYXRpb25fc3RhdHVz/QQBGFN0YXR1cwAGCE0BU29tZSBiYWxhbmNlIHdhcyBtb3ZlZCBmcm9tIHRoZSByZXNlcnZlIG9mIHRoZSBmaXJzdCBhY2NvdW50IHRvIHRoZSBzZWNvbmQgYWNjb3VudC7YRmluYWwgYXJndW1lbnQgaW5kaWNhdGVzIHRoZSBkZXN0aW5hdGlvbiBiYWxhbmNlIHR5cGUuHERlcG9zaXQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlAAcE2FNvbWUgYW1vdW50IHdhcyBkZXBvc2l0ZWQgKGUuZy4gZm9yIHRyYW5zYWN0aW9uIGZlZXMpLiBXaXRoZHJhdwgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UACAQdAVNvbWUgYW1vdW50IHdhcyB3aXRoZHJhd24gZnJvbSB0aGUgYWNjb3VudCAoZS5nLiBmb3IgdHJhbnNhY3Rpb24gZmVlcykuHFNsYXNoZWQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlAAkEAQFTb21lIGFtb3VudCB3YXMgcmVtb3ZlZCBmcm9tIHRoZSBhY2NvdW50IChlLmcuIGZvciBtaXNiZWhhdmlvcikuGE1pbnRlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UACgScU29tZSBhbW91bnQgd2FzIG1pbnRlZCBpbnRvIGFuIGFjY291bnQuME1pbnRlZENyZWRpdAQBGGFtb3VudMQBKFQ6OkJhbGFuY2UACwTgU29tZSBjcmVkaXQgd2FzIGJhbGFuY2VkIGFuZCBhZGRlZCB0byB0aGUgVG90YWxJc3N1YW5jZS4YQnVybmVkCAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50xAEoVDo6QmFsYW5jZQAMBJxTb21lIGFtb3VudCB3YXMgYnVybmVkIGZyb20gYW4gYWNjb3VudC4oQnVybmVkRGVidAQBGGFtb3VudMQBKFQ6OkJhbGFuY2UADQTMU29tZSBkZWJ0IGhhcyBiZWVuIGRyb3BwZWQgZnJvbSB0aGUgVG90YWwgSXNzdWFuY2UuJFN1c3BlbmRlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UADgQVAVNvbWUgYW1vdW50IHdhcyBzdXNwZW5kZWQgZnJvbSBhbiBhY2NvdW50IChpdCBjYW4gYmUgcmVzdG9yZWQgbGF0ZXIpLiBSZXN0b3JlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UADwSkU29tZSBhbW91bnQgd2FzIHJlc3RvcmVkIGludG8gYW4gYWNjb3VudC4gVXBncmFkZWQEAQx3aG8EATBUOjpBY2NvdW50SWQAEARgQW4gYWNjb3VudCB3YXMgdXBncmFkZWQuGElzc3VlZAQBGGFtb3VudMQBKFQ6OkJhbGFuY2UAEQQtAVRvdGFsIGlzc3VhbmNlIHdhcyBpbmNyZWFzZWQgYnkgYGFtb3VudGAsIGNyZWF0aW5nIGEgY3JlZGl0IHRvIGJlIGJhbGFuY2VkLiRSZXNjaW5kZWQEARhhbW91bnTEAShUOjpCYWxhbmNlABIEJQFUb3RhbCBpc3N1YW5jZSB3YXMgZGVjcmVhc2VkIGJ5IGBhbW91bnRgLCBjcmVhdGluZyBhIGRlYnQgdG8gYmUgYmFsYW5jZWQuGExvY2tlZAgBDHdobwQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UAEwRgU29tZSBiYWxhbmNlIHdhcyBsb2NrZWQuIFVubG9ja2VkCAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50xAEoVDo6QmFsYW5jZQAUBGhTb21lIGJhbGFuY2Ugd2FzIHVubG9ja2VkLhhGcm96ZW4IAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlABUEYFNvbWUgYmFsYW5jZSB3YXMgZnJvemVuLhhUaGF3ZWQIAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlABYEYFNvbWUgYmFsYW5jZSB3YXMgdGhhd2VkLkxUb3RhbElzc3VhbmNlRm9yY2VkCAEMb2xkxAEoVDo6QmFsYW5jZQABDG5ld8QBKFQ6OkJhbGFuY2UAFwSsVGhlIGBUb3RhbElzc3VhbmNlYCB3YXMgZm9yY2VmdWxseSBjaGFuZ2VkLhBIZWxkDAEYcmVhc29uAQUBUFQ6OlJ1bnRpbWVIb2xkUmVhc29uAAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50xAEoVDo6QmFsYW5jZQAYBIBTb21lIGJhbGFuY2Ugd2FzIHBsYWNlZCBvbiBob2xkLihCdXJuZWRIZWxkDAEYcmVhc29uAQUBUFQ6OlJ1bnRpbWVIb2xkUmVhc29uAAEMd2hvBAEwVDo6QWNjb3VudElkAAEYYW1vdW50xAEoVDo6QmFsYW5jZQAZBKBIZWxkIGJhbGFuY2Ugd2FzIGJ1cm5lZCBmcm9tIGFuIGFjY291bnQuOFRyYW5zZmVyT25Ib2xkEAEYcmVhc29uAQUBUFQ6OlJ1bnRpbWVIb2xkUmVhc29uAAEYc291cmNlBAEwVDo6QWNjb3VudElkAAEQZGVzdAQBMFQ6OkFjY291bnRJZAABGGFtb3VudMQBKFQ6OkJhbGFuY2UAGgQVAUEgdHJhbnNmZXIgb2YgYGFtb3VudGAgb24gaG9sZCBmcm9tIGBzb3VyY2VgIHRvIGBkZXN0YCB3YXMgaW5pdGlhdGVkLjxUcmFuc2ZlckFuZEhvbGQQARhyZWFzb24BBQFQVDo6UnVudGltZUhvbGRSZWFzb24AARhzb3VyY2UEATBUOjpBY2NvdW50SWQAARBkZXN0BAEwVDo6QWNjb3VudElkAAEsdHJhbnNmZXJyZWTEAShUOjpCYWxhbmNlABsECQFUaGUgYHRyYW5zZmVycmVkYCBiYWxhbmNlIGlzIHBsYWNlZCBvbiBob2xkIGF0IHRoZSBgZGVzdGAgYWNjb3VudC4gUmVsZWFzZWQMARhyZWFzb24BBQFQVDo6UnVudGltZUhvbGRSZWFzb24AAQx3aG8EATBUOjpBY2NvdW50SWQAARhhbW91bnTEAShUOjpCYWxhbmNlABwEkFNvbWUgYmFsYW5jZSB3YXMgcmVsZWFzZWQgZnJvbSBob2xkLihVbmV4cGVjdGVkBAARBQE4VW5leHBlY3RlZEtpbmQAHQSwQW4gdW5leHBlY3RlZC9kZWZlbnNpdmUgZXZlbnQgd2FzIHRyaWdnZXJlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXT9BBQ0ZnJhbWVfc3VwcG9ydBh0cmFpdHMYdG9rZW5zEG1pc2M0QmFsYW5jZVN0YXR1cwABCBBGcmVlAAAAIFJlc2VydmVkAAEAAAEFCGxicmlkZ2VfaHViX3BvbGthZG90X3J1bnRpbWVEUnVudGltZUhvbGRSZWFzb24AAQwcU2Vzc2lvbgQABQUBaHBhbGxldF9zZXNzaW9uOjpIb2xkUmVhc29uABYALFBvbGthZG90WGNtBAAJBQFYcGFsbGV0X3hjbTo6SG9sZFJlYXNvbgAfAFhYY21PdmVyQnJpZGdlSHViS3VzYW1hBAANBQENAXBhbGxldF94Y21fYnJpZGdlX2h1Yjo6SG9sZFJlYXNvbjxwYWxsZXRfeGNtX2JyaWRnZV9odWI6Okluc3RhbmNlMT4ANgAABQUMOHBhbGxldF9zZXNzaW9uGHBhbGxldChIb2xkUmVhc29uAAEEEEtleXMAAAAACQUMKHBhbGxldF94Y20YcGFsbGV0KEhvbGRSZWFzb24AAQQ4QXV0aG9yaXplQWxpYXMAAAAADQUMVHBhbGxldF94Y21fYnJpZGdlX2h1YhhwYWxsZXQoSG9sZFJlYXNvbgQESQABBDRCcmlkZ2VEZXBvc2l0AAAAABEFDDxwYWxsZXRfYmFsYW5jZXMYcGFsbGV0OFVuZXhwZWN0ZWRLaW5kAAEIOEJhbGFuY2VVcGRhdGVkAAAAVEZhaWxlZFRvTXV0YXRlQWNjb3VudAABAAAVBQxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQYcGFsbGV0FEV2ZW50BARUAAEESFRyYW5zYWN0aW9uRmVlUGFpZAwBDHdobwQBMFQ6OkFjY291bnRJZAABKGFjdHVhbF9mZWXEATBCYWxhbmNlT2Y8VD4AAQx0aXDEATBCYWxhbmNlT2Y8VD4AAAhZAUEgdHJhbnNhY3Rpb24gZmVlIGBhY3R1YWxfZmVlYCwgb2Ygd2hpY2ggYHRpcGAgd2FzIGFkZGVkIHRvIHRoZSBtaW5pbXVtIGluY2x1c2lvbiBmZWUsXGhhcyBiZWVuIHBhaWQgYnkgYHdob2AuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0GQUMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0FEV2ZW50BARUAAEoQE5ld0ludnVsbmVyYWJsZXMEATRpbnZ1bG5lcmFibGVzzAFEVmVjPFQ6OkFjY291bnRJZD4AAARsTmV3IEludnVsbmVyYWJsZXMgd2VyZSBzZXQuREludnVsbmVyYWJsZUFkZGVkBAEoYWNjb3VudF9pZAQBMFQ6OkFjY291bnRJZAABBHRBIG5ldyBJbnZ1bG5lcmFibGUgd2FzIGFkZGVkLkxJbnZ1bG5lcmFibGVSZW1vdmVkBAEoYWNjb3VudF9pZAQBMFQ6OkFjY291bnRJZAACBHBBbiBJbnZ1bG5lcmFibGUgd2FzIHJlbW92ZWQuUE5ld0Rlc2lyZWRDYW5kaWRhdGVzBAFIZGVzaXJlZF9jYW5kaWRhdGVzOAEMdTMyAAMEpFRoZSBudW1iZXIgb2YgZGVzaXJlZCBjYW5kaWRhdGVzIHdhcyBzZXQuQE5ld0NhbmRpZGFjeUJvbmQEASxib25kX2Ftb3VudMQBMEJhbGFuY2VPZjxUPgAEBGxUaGUgY2FuZGlkYWN5IGJvbmQgd2FzIHNldC44Q2FuZGlkYXRlQWRkZWQIAShhY2NvdW50X2lkBAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdMQBMEJhbGFuY2VPZjxUPgAFBFxBIG5ldyBjYW5kaWRhdGUgam9pbmVkLlBDYW5kaWRhdGVCb25kVXBkYXRlZAgBKGFjY291bnRfaWQEATBUOjpBY2NvdW50SWQAARxkZXBvc2l0xAEwQmFsYW5jZU9mPFQ+AAYEcEJvbmQgb2YgYSBjYW5kaWRhdGUgdXBkYXRlZC5AQ2FuZGlkYXRlUmVtb3ZlZAQBKGFjY291bnRfaWQEATBUOjpBY2NvdW50SWQABwRgQSBjYW5kaWRhdGUgd2FzIHJlbW92ZWQuRENhbmRpZGF0ZVJlcGxhY2VkDAEMb2xkBAEwVDo6QWNjb3VudElkAAEMbmV3BAEwVDo6QWNjb3VudElkAAEcZGVwb3NpdMQBMEJhbGFuY2VPZjxUPgAIBPRBbiBhY2NvdW50IHdhcyByZXBsYWNlZCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QgYnkgYW5vdGhlciBvbmUuaEludmFsaWRJbnZ1bG5lcmFibGVTa2lwcGVkBAEoYWNjb3VudF9pZAQBMFQ6OkFjY291bnRJZAAJCFUBQW4gYWNjb3VudCB3YXMgdW5hYmxlIHRvIGJlIGFkZGVkIHRvIHRoZSBJbnZ1bG5lcmFibGVzIGJlY2F1c2UgdGhleSBkaWQgbm90IGhhdmUga2V5c8hyZWdpc3RlcmVkLiBPdGhlciBJbnZ1bG5lcmFibGVzIG1heSBoYXZlIGJlZW4gc2V0LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldB0FDDhwYWxsZXRfc2Vzc2lvbhhwYWxsZXQURXZlbnQEBFQAARAoTmV3U2Vzc2lvbgQBNHNlc3Npb25faW5kZXg4ATBTZXNzaW9uSW5kZXgAAAg5AU5ldyBzZXNzaW9uIGhhcyBoYXBwZW5lZC4gTm90ZSB0aGF0IHRoZSBhcmd1bWVudCBpcyB0aGUgc2Vzc2lvbiBpbmRleCwgbm90IHRoZZxibG9jayBudW1iZXIgYXMgdGhlIHR5cGUgbWlnaHQgc3VnZ2VzdC4kTmV3UXVldWVkAAEISQFUaGUgYE5ld1Nlc3Npb25gIGV2ZW50IGluIHRoZSBjdXJyZW50IGJsb2NrIGFsc28gaW1wbGllcyBhIG5ldyB2YWxpZGF0b3Igc2V0IHRvIGJlHHF1ZXVlZC5EVmFsaWRhdG9yRGlzYWJsZWQEASR2YWxpZGF0b3IEAThUOjpWYWxpZGF0b3JJZAACBHBWYWxpZGF0b3IgaGFzIGJlZW4gZGlzYWJsZWQuSFZhbGlkYXRvclJlZW5hYmxlZAQBJHZhbGlkYXRvcgQBOFQ6OlZhbGlkYXRvcklkAAMEeFZhbGlkYXRvciBoYXMgYmVlbiByZS1lbmFibGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldCEFDGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlGHBhbGxldBRFdmVudAQEVAABBDxYY21wTWVzc2FnZVNlbnQEATBtZXNzYWdlX2hhc2gIARxYY21IYXNoAAAEwEFuIEhSTVAgbWVzc2FnZSB3YXMgc2VudCB0byBhIHNpYmxpbmcgcGFyYWNoYWluLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldCUFDChwYWxsZXRfeGNtGHBhbGxldBRFdmVudAQEVAABdCRBdHRlbXB0ZWQEARxvdXRjb21lKQUBUHhjbTo6bGF0ZXN0OjpPdXRjb21lAAAEqEV4ZWN1dGlvbiBvZiBhbiBYQ00gbWVzc2FnZSB3YXMgYXR0ZW1wdGVkLhBTZW50EAEYb3JpZ2luQQEBIExvY2F0aW9uAAEsZGVzdGluYXRpb25BAQEgTG9jYXRpb24AARxtZXNzYWdlPQIBHFhjbTwoKT4AAShtZXNzYWdlX2lkCAEcWGNtSGFzaAABBGBBbiBYQ00gbWVzc2FnZSB3YXMgc2VudC4oU2VuZEZhaWxlZBABGG9yaWdpbkEBASBMb2NhdGlvbgABLGRlc3RpbmF0aW9uQQEBIExvY2F0aW9uAAEUZXJyb3IxBQEkU2VuZEVycm9yAAEobWVzc2FnZV9pZAgBHFhjbUhhc2gAAgR4QW4gWENNIG1lc3NhZ2UgZmFpbGVkIHRvIHNlbmQuPFByb2Nlc3NYY21FcnJvcgwBGG9yaWdpbkEBASBMb2NhdGlvbgABFGVycm9ybQIBIFhjbUVycm9yAAEobWVzc2FnZV9pZAgBHFhjbUhhc2gAAwSEQW4gWENNIG1lc3NhZ2UgZmFpbGVkIHRvIHByb2Nlc3MuSFVuZXhwZWN0ZWRSZXNwb25zZQgBGG9yaWdpbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAAEDFkBUXVlcnkgcmVzcG9uc2UgcmVjZWl2ZWQgd2hpY2ggZG9lcyBub3QgbWF0Y2ggYSByZWdpc3RlcmVkIHF1ZXJ5LiBUaGlzIG1heSBiZSBiZWNhdXNlIGFVAW1hdGNoaW5nIHF1ZXJ5IHdhcyBuZXZlciByZWdpc3RlcmVkLCBpdCBtYXkgYmUgYmVjYXVzZSBpdCBpcyBhIGR1cGxpY2F0ZSByZXNwb25zZSwgb3JwYmVjYXVzZSB0aGUgcXVlcnkgdGltZWQgb3V0LjRSZXNwb25zZVJlYWR5CAEgcXVlcnlfaWQoARxRdWVyeUlkAAEgcmVzcG9uc2VhAgEgUmVzcG9uc2UABQhdAVF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGFuZCBpcyByZWFkeSBmb3IgdGFraW5nIHdpdGggYHRha2VfcmVzcG9uc2VgLiBUaGVyZSBpc4BubyByZWdpc3RlcmVkIG5vdGlmaWNhdGlvbiBjYWxsLiBOb3RpZmllZAwBIHF1ZXJ5X2lkKAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAwBCHU4AAEoY2FsbF9pbmRleAwBCHU4AAYIWQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgcXVlcnkgaXMgcmVtb3ZlZC4gVGhlIHJlZ2lzdGVyZWQgbm90aWZpY2F0aW9uIGhhc6hiZWVuIGRpc3BhdGNoZWQgYW5kIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxseS5ATm90aWZ5T3ZlcndlaWdodBQBIHF1ZXJ5X2lkKAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAwBCHU4AAEoY2FsbF9pbmRleAwBCHU4AAE0YWN0dWFsX3dlaWdodLUBARhXZWlnaHQAAUxtYXhfYnVkZ2V0ZWRfd2VpZ2h0tQEBGFdlaWdodAAHDEkBUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHF1ZXJ5IGlzIHJlbW92ZWQuIFRoZSByZWdpc3RlcmVkIG5vdGlmaWNhdGlvblkBY291bGQgbm90IGJlIGRpc3BhdGNoZWQgYmVjYXVzZSB0aGUgZGlzcGF0Y2ggd2VpZ2h0IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSB3ZWlnaHTkb3JpZ2luYWxseSBidWRnZXRlZCBieSB0aGlzIHJ1bnRpbWUgZm9yIHRoZSBxdWVyeSByZXN1bHQuTE5vdGlmeURpc3BhdGNoRXJyb3IMASBxdWVyeV9pZCgBHFF1ZXJ5SWQAATBwYWxsZXRfaW5kZXgMAQh1OAABKGNhbGxfaW5kZXgMAQh1OAAICFUBUXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYW5kIHF1ZXJ5IGlzIHJlbW92ZWQuIFRoZXJlIHdhcyBhIGdlbmVyYWwgZXJyb3Igd2l0aIhkaXNwYXRjaGluZyB0aGUgbm90aWZpY2F0aW9uIGNhbGwuSE5vdGlmeURlY29kZUZhaWxlZAwBIHF1ZXJ5X2lkKAEcUXVlcnlJZAABMHBhbGxldF9pbmRleAwBCHU4AAEoY2FsbF9pbmRleAwBCHU4AAkMUQFRdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBhbmQgcXVlcnkgaXMgcmVtb3ZlZC4gVGhlIGRpc3BhdGNoIHdhcyB1bmFibGUgdG8gYmVZAWRlY29kZWQgaW50byBhIGBDYWxsYDsgdGhpcyBtaWdodCBiZSBkdWUgdG8gZGlzcGF0Y2ggZnVuY3Rpb24gaGF2aW5nIGEgc2lnbmF0dXJlIHdoaWNolGlzIG5vdCBgKG9yaWdpbiwgUXVlcnlJZCwgUmVzcG9uc2UpYC5ASW52YWxpZFJlc3BvbmRlcgwBGG9yaWdpbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAABRGV4cGVjdGVkX2xvY2F0aW9ugQIBQE9wdGlvbjxMb2NhdGlvbj4ACgxZAUV4cGVjdGVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlY2VpdmVkIGJ1dCB0aGUgb3JpZ2luIGxvY2F0aW9uIG9mIHRoZSByZXNwb25zZSBkb2VzVQFub3QgbWF0Y2ggdGhhdCBleHBlY3RlZC4gVGhlIHF1ZXJ5IHJlbWFpbnMgcmVnaXN0ZXJlZCBmb3IgYSBsYXRlciwgdmFsaWQsIHJlc3BvbnNlIHRvbGJlIHJlY2VpdmVkIGFuZCBhY3RlZCB1cG9uLlxJbnZhbGlkUmVzcG9uZGVyVmVyc2lvbggBGG9yaWdpbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAALHFEBRXhwZWN0ZWQgcXVlcnkgcmVzcG9uc2UgaGFzIGJlZW4gcmVjZWl2ZWQgYnV0IHRoZSBleHBlY3RlZCBvcmlnaW4gbG9jYXRpb24gcGxhY2VkIGluTQFzdG9yYWdlIGJ5IHRoaXMgcnVudGltZSBwcmV2aW91c2x5IGNhbm5vdCBiZSBkZWNvZGVkLiBUaGUgcXVlcnkgcmVtYWlucyByZWdpc3RlcmVkLgBBAVRoaXMgaXMgdW5leHBlY3RlZCAoc2luY2UgYSBsb2NhdGlvbiBwbGFjZWQgaW4gc3RvcmFnZSBpbiBhIHByZXZpb3VzbHkgZXhlY3V0aW5nTQFydW50aW1lIHNob3VsZCBiZSByZWFkYWJsZSBwcmlvciB0byBxdWVyeSB0aW1lb3V0KSBhbmQgZGFuZ2Vyb3VzIHNpbmNlIHRoZSBwb3NzaWJseVkBdmFsaWQgcmVzcG9uc2Ugd2lsbCBiZSBkcm9wcGVkLiBNYW51YWwgZ292ZXJuYW5jZSBpbnRlcnZlbnRpb24gaXMgcHJvYmFibHkgZ29pbmcgdG8gYmUcbmVlZGVkLjRSZXNwb25zZVRha2VuBAEgcXVlcnlfaWQoARxRdWVyeUlkAAwEyFJlY2VpdmVkIHF1ZXJ5IHJlc3BvbnNlIGhhcyBiZWVuIHJlYWQgYW5kIHJlbW92ZWQuNEFzc2V0c1RyYXBwZWQMARBoYXNoPAEQSDI1NgABGG9yaWdpbkEBASBMb2NhdGlvbgABGGFzc2V0c7kCATxWZXJzaW9uZWRBc3NldHMADQS4U29tZSBhc3NldHMgaGF2ZSBiZWVuIHBsYWNlZCBpbiBhbiBhc3NldCB0cmFwLlRWZXJzaW9uQ2hhbmdlTm90aWZpZWQQASxkZXN0aW5hdGlvbkEBASBMb2NhdGlvbgABGHJlc3VsdDgBKFhjbVZlcnNpb24AARBjb3N0SQIBGEFzc2V0cwABKG1lc3NhZ2VfaWQIARxYY21IYXNoAA4MJQFBbiBYQ00gdmVyc2lvbiBjaGFuZ2Ugbm90aWZpY2F0aW9uIG1lc3NhZ2UgaGFzIGJlZW4gYXR0ZW1wdGVkIHRvIGJlIHNlbnQuAOBUaGUgY29zdCBvZiBzZW5kaW5nIGl0IChib3JuZSBieSB0aGUgY2hhaW4pIGlzIGluY2x1ZGVkLlxTdXBwb3J0ZWRWZXJzaW9uQ2hhbmdlZAgBIGxvY2F0aW9uQQEBIExvY2F0aW9uAAEcdmVyc2lvbjgBKFhjbVZlcnNpb24ADwg5AVRoZSBzdXBwb3J0ZWQgdmVyc2lvbiBvZiBhIGxvY2F0aW9uIGhhcyBiZWVuIGNoYW5nZWQuIFRoaXMgbWlnaHQgYmUgdGhyb3VnaCBhbsBhdXRvbWF0aWMgbm90aWZpY2F0aW9uIG9yIGEgbWFudWFsIGludGVydmVudGlvbi5QTm90aWZ5VGFyZ2V0U2VuZEZhaWwMASBsb2NhdGlvbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAABFGVycm9ybQIBIFhjbUVycm9yABAIWQFBIGdpdmVuIGxvY2F0aW9uIHdoaWNoIGhhZCBhIHZlcnNpb24gY2hhbmdlIHN1YnNjcmlwdGlvbiB3YXMgZHJvcHBlZCBvd2luZyB0byBhbiBlcnJvcnxzZW5kaW5nIHRoZSBub3RpZmljYXRpb24gdG8gaXQuZE5vdGlmeVRhcmdldE1pZ3JhdGlvbkZhaWwIASBsb2NhdGlvbuwBRFZlcnNpb25lZExvY2F0aW9uAAEgcXVlcnlfaWQoARxRdWVyeUlkABEIWQFBIGdpdmVuIGxvY2F0aW9uIHdoaWNoIGhhZCBhIHZlcnNpb24gY2hhbmdlIHN1YnNjcmlwdGlvbiB3YXMgZHJvcHBlZCBvd2luZyB0byBhbiBlcnJvcrRtaWdyYXRpbmcgdGhlIGxvY2F0aW9uIHRvIG91ciBuZXcgWENNIGZvcm1hdC5USW52YWxpZFF1ZXJpZXJWZXJzaW9uCAEYb3JpZ2luQQEBIExvY2F0aW9uAAEgcXVlcnlfaWQoARxRdWVyeUlkABIcVQFFeHBlY3RlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBidXQgdGhlIGV4cGVjdGVkIHF1ZXJpZXIgbG9jYXRpb24gcGxhY2VkIGluTQFzdG9yYWdlIGJ5IHRoaXMgcnVudGltZSBwcmV2aW91c2x5IGNhbm5vdCBiZSBkZWNvZGVkLiBUaGUgcXVlcnkgcmVtYWlucyByZWdpc3RlcmVkLgBBAVRoaXMgaXMgdW5leHBlY3RlZCAoc2luY2UgYSBsb2NhdGlvbiBwbGFjZWQgaW4gc3RvcmFnZSBpbiBhIHByZXZpb3VzbHkgZXhlY3V0aW5nTQFydW50aW1lIHNob3VsZCBiZSByZWFkYWJsZSBwcmlvciB0byBxdWVyeSB0aW1lb3V0KSBhbmQgZGFuZ2Vyb3VzIHNpbmNlIHRoZSBwb3NzaWJseVkBdmFsaWQgcmVzcG9uc2Ugd2lsbCBiZSBkcm9wcGVkLiBNYW51YWwgZ292ZXJuYW5jZSBpbnRlcnZlbnRpb24gaXMgcHJvYmFibHkgZ29pbmcgdG8gYmUcbmVlZGVkLjhJbnZhbGlkUXVlcmllchABGG9yaWdpbkEBASBMb2NhdGlvbgABIHF1ZXJ5X2lkKAEcUXVlcnlJZAABQGV4cGVjdGVkX3F1ZXJpZXJBAQEgTG9jYXRpb24AAVBtYXliZV9hY3R1YWxfcXVlcmllcoECAUBPcHRpb248TG9jYXRpb24+ABMMXQFFeHBlY3RlZCBxdWVyeSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBidXQgdGhlIHF1ZXJpZXIgbG9jYXRpb24gb2YgdGhlIHJlc3BvbnNlIGRvZXNRAW5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQuIFRoZSBxdWVyeSByZW1haW5zIHJlZ2lzdGVyZWQgZm9yIGEgbGF0ZXIsIHZhbGlkLCByZXNwb25zZSB0b2xiZSByZWNlaXZlZCBhbmQgYWN0ZWQgdXBvbi5QVmVyc2lvbk5vdGlmeVN0YXJ0ZWQMASxkZXN0aW5hdGlvbkEBASBMb2NhdGlvbgABEGNvc3RJAgEYQXNzZXRzAAEobWVzc2FnZV9pZAgBHFhjbUhhc2gAFAhZAUEgcmVtb3RlIGhhcyByZXF1ZXN0ZWQgWENNIHZlcnNpb24gY2hhbmdlIG5vdGlmaWNhdGlvbiBmcm9tIHVzIGFuZCB3ZSBoYXZlIGhvbm9yZWQgaXQuHQFBIHZlcnNpb24gaW5mb3JtYXRpb24gbWVzc2FnZSBpcyBzZW50IHRvIHRoZW0gYW5kIGl0cyBjb3N0IGlzIGluY2x1ZGVkLlhWZXJzaW9uTm90aWZ5UmVxdWVzdGVkDAEsZGVzdGluYXRpb25BAQEgTG9jYXRpb24AARBjb3N0SQIBGEFzc2V0cwABKG1lc3NhZ2VfaWQIARxYY21IYXNoABUEPQFXZSBoYXZlIHJlcXVlc3RlZCB0aGF0IGEgcmVtb3RlIGNoYWluIHNlbmQgdXMgWENNIHZlcnNpb24gY2hhbmdlIG5vdGlmaWNhdGlvbnMuYFZlcnNpb25Ob3RpZnlVbnJlcXVlc3RlZAwBLGRlc3RpbmF0aW9uQQEBIExvY2F0aW9uAAEQY29zdEkCARhBc3NldHMAAShtZXNzYWdlX2lkCAEcWGNtSGFzaAAWCCUBV2UgaGF2ZSByZXF1ZXN0ZWQgdGhhdCBhIHJlbW90ZSBjaGFpbiBzdG9wcyBzZW5kaW5nIHVzIFhDTSB2ZXJzaW9uIGNoYW5nZThub3RpZmljYXRpb25zLiBGZWVzUGFpZAgBGHBheWluZ0EBASBMb2NhdGlvbgABEGZlZXNJAgEYQXNzZXRzABcEMQFGZWVzIHdlcmUgcGFpZCBmcm9tIGEgbG9jYXRpb24gZm9yIGFuIG9wZXJhdGlvbiAob2Z0ZW4gZm9yIHVzaW5nIGBTZW5kWGNtYCkuNEFzc2V0c0NsYWltZWQMARBoYXNoPAEQSDI1NgABGG9yaWdpbkEBASBMb2NhdGlvbgABGGFzc2V0c7kCATxWZXJzaW9uZWRBc3NldHMAGATAU29tZSBhc3NldHMgaGF2ZSBiZWVuIGNsYWltZWQgZnJvbSBhbiBhc3NldCB0cmFwYFZlcnNpb25NaWdyYXRpb25GaW5pc2hlZAQBHHZlcnNpb244AShYY21WZXJzaW9uABkEhEEgWENNIHZlcnNpb24gbWlncmF0aW9uIGZpbmlzaGVkLjxBbGlhc0F1dGhvcml6ZWQMARxhbGlhc2VyQQEBIExvY2F0aW9uAAEYdGFyZ2V0QQEBIExvY2F0aW9uAAEYZXhwaXJ59QIBLE9wdGlvbjx1NjQ+ABoIXQFBbiBgYWxpYXNlcmAgbG9jYXRpb24gd2FzIGF1dGhvcml6ZWQgYnkgYHRhcmdldGAgdG8gYWxpYXMgaXQsIGF1dGhvcml6YXRpb24gdmFsaWQgdW50aWxYYGV4cGlyeWAgYmxvY2sgbnVtYmVyLmRBbGlhc0F1dGhvcml6YXRpb25SZW1vdmVkCAEcYWxpYXNlckEBASBMb2NhdGlvbgABGHRhcmdldEEBASBMb2NhdGlvbgAbBMxgdGFyZ2V0YCByZW1vdmVkIGFsaWFzIGF1dGhvcml6YXRpb24gZm9yIGBhbGlhc2VyYC5wQWxpYXNlc0F1dGhvcml6YXRpb25zUmVtb3ZlZAQBGHRhcmdldEEBASBMb2NhdGlvbgAcBKhgdGFyZ2V0YCByZW1vdmVkIGFsbCBhbGlhcyBhdXRob3JpemF0aW9ucy4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXQpBRAsc3RhZ2luZ194Y20IdjUYdHJhaXRzHE91dGNvbWUAAQwgQ29tcGxldGUEARB1c2VktQEBGFdlaWdodAAAAChJbmNvbXBsZXRlCAEQdXNlZLUBARhXZWlnaHQAARRlcnJvci0FAUBJbnN0cnVjdGlvbkVycm9yAAEAFEVycm9yBAAtBQFASW5zdHJ1Y3Rpb25FcnJvcgACAAAtBRAsc3RhZ2luZ194Y20IdjUYdHJhaXRzQEluc3RydWN0aW9uRXJyb3IAAAgBFGluZGV4DAFASW5zdHJ1Y3Rpb25JbmRleAABFGVycm9ybQIBFEVycm9yAAAxBRAMeGNtCHYzGHRyYWl0cyRTZW5kRXJyb3IAARw0Tm90QXBwbGljYWJsZQAAACRUcmFuc3BvcnQAAQAoVW5yb3V0YWJsZQACAFhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAAMAVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQAEADxNaXNzaW5nQXJndW1lbnQABQAQRmVlcwAGAAA1BQxIY3VtdWx1c19wYWxsZXRfeGNtGHBhbGxldBRFdmVudAQEVAABDDRJbnZhbGlkRm9ybWF0BAAIASBbdTg7IDMyXQAACIBEb3dud2FyZCBtZXNzYWdlIGlzIGludmFsaWQgWENNLiBcWyBpZCBcXUhVbnN1cHBvcnRlZFZlcnNpb24EAAgBIFt1ODsgMzJdAAEIvERvd253YXJkIG1lc3NhZ2UgaXMgdW5zdXBwb3J0ZWQgdmVyc2lvbiBvZiBYQ00uIFxbIGlkIFxdQEV4ZWN1dGVkRG93bndhcmQIAAgBIFt1ODsgMzJdAAApBQEcT3V0Y29tZQACCMREb3dud2FyZCBtZXNzYWdlIGV4ZWN1dGVkIHdpdGggdGhlIGdpdmVuIG91dGNvbWUuRFxbIGlkLCBvdXRjb21lIFxdBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0OQUMOHBhbGxldF91dGlsaXR5GHBhbGxldBRFdmVudAABIEBCYXRjaEludGVycnVwdGVkCAEUaW5kZXg4AQx1MzIAARRlcnJvct0EATREaXNwYXRjaEVycm9yAAAIVQFCYXRjaCBvZiBkaXNwYXRjaGVzIGRpZCBub3QgY29tcGxldGUgZnVsbHkuIEluZGV4IG9mIGZpcnN0IGZhaWxpbmcgZGlzcGF0Y2ggZ2l2ZW4sIGFzSHdlbGwgYXMgdGhlIGVycm9yLjhCYXRjaENvbXBsZXRlZAABBMhCYXRjaCBvZiBkaXNwYXRjaGVzIGNvbXBsZXRlZCBmdWxseSB3aXRoIG5vIGVycm9yLmBCYXRjaENvbXBsZXRlZFdpdGhFcnJvcnMAAgS0QmF0Y2ggb2YgZGlzcGF0Y2hlcyBjb21wbGV0ZWQgYnV0IGhhcyBlcnJvcnMuNEl0ZW1Db21wbGV0ZWQAAwQdAUEgc2luZ2xlIGl0ZW0gd2l0aGluIGEgQmF0Y2ggb2YgZGlzcGF0Y2hlcyBoYXMgY29tcGxldGVkIHdpdGggbm8gZXJyb3IuKEl0ZW1GYWlsZWQEARRlcnJvct0EATREaXNwYXRjaEVycm9yAAQEEQFBIHNpbmdsZSBpdGVtIHdpdGhpbiBhIEJhdGNoIG9mIGRpc3BhdGNoZXMgaGFzIGNvbXBsZXRlZCB3aXRoIGVycm9yLjBEaXNwYXRjaGVkQXMEARhyZXN1bHQ9BQE4RGlzcGF0Y2hSZXN1bHQABQRYQSBjYWxsIHdhcyBkaXNwYXRjaGVkLkRJZkVsc2VNYWluU3VjY2VzcwAGBGRNYWluIGNhbGwgd2FzIGRpc3BhdGNoZWQuUElmRWxzZUZhbGxiYWNrQ2FsbGVkBAEobWFpbl9lcnJvct0EATREaXNwYXRjaEVycm9yAAcEhFRoZSBmYWxsYmFjayBjYWxsIHdhcyBkaXNwYXRjaGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldD0FBBhSZXN1bHQIBFQBEARFAd0EAQgIT2sEABAAAAAADEVycgQA3QQAAAEAAEEFDDxwYWxsZXRfbXVsdGlzaWcYcGFsbGV0FEV2ZW50BARUAAEULE5ld011bHRpc2lnDAEkYXBwcm92aW5nBAEwVDo6QWNjb3VudElkAAEgbXVsdGlzaWcEATBUOjpBY2NvdW50SWQAASRjYWxsX2hhc2gIASBDYWxsSGFzaAAABIxBIG5ldyBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZ3VuLkBNdWx0aXNpZ0FwcHJvdmFsEAEkYXBwcm92aW5nBAEwVDo6QWNjb3VudElkAAEkdGltZXBvaW50IQMBcFRpbWVwb2ludDxCbG9ja051bWJlckZvcjxUPj4AASBtdWx0aXNpZwQBMFQ6OkFjY291bnRJZAABJGNhbGxfaGFzaAgBIENhbGxIYXNoAAEEyEEgbXVsdGlzaWcgb3BlcmF0aW9uIGhhcyBiZWVuIGFwcHJvdmVkIGJ5IHNvbWVvbmUuQE11bHRpc2lnRXhlY3V0ZWQUASRhcHByb3ZpbmcEATBUOjpBY2NvdW50SWQAASR0aW1lcG9pbnQhAwFwVGltZXBvaW50PEJsb2NrTnVtYmVyRm9yPFQ+PgABIG11bHRpc2lnBAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoCAEgQ2FsbEhhc2gAARhyZXN1bHQ9BQE4RGlzcGF0Y2hSZXN1bHQAAgScQSBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZW4gZXhlY3V0ZWQuRE11bHRpc2lnQ2FuY2VsbGVkEAEoY2FuY2VsbGluZwQBMFQ6OkFjY291bnRJZAABJHRpbWVwb2ludCEDAXBUaW1lcG9pbnQ8QmxvY2tOdW1iZXJGb3I8VD4+AAEgbXVsdGlzaWcEATBUOjpBY2NvdW50SWQAASRjYWxsX2hhc2gIASBDYWxsSGFzaAADBKBBIG11bHRpc2lnIG9wZXJhdGlvbiBoYXMgYmVlbiBjYW5jZWxsZWQuMERlcG9zaXRQb2tlZBABDHdobwQBMFQ6OkFjY291bnRJZAABJGNhbGxfaGFzaAgBIENhbGxIYXNoAAEsb2xkX2RlcG9zaXTEATBCYWxhbmNlT2Y8VD4AASxuZXdfZGVwb3NpdMQBMEJhbGFuY2VPZjxUPgAEBPBUaGUgZGVwb3NpdCBmb3IgYSBtdWx0aXNpZyBvcGVyYXRpb24gaGFzIGJlZW4gdXBkYXRlZC9wb2tlZC4EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXRFBQwwcGFsbGV0X3Byb3h5GHBhbGxldBRFdmVudAQEVAABHDRQcm94eUV4ZWN1dGVkBAEYcmVzdWx0PQUBOERpc3BhdGNoUmVzdWx0AAAEvEEgcHJveHkgd2FzIGV4ZWN1dGVkIGNvcnJlY3RseSwgd2l0aCB0aGUgZ2l2ZW4uLFB1cmVDcmVhdGVkGAEQcHVyZQQBMFQ6OkFjY291bnRJZAABDHdobwQBMFQ6OkFjY291bnRJZAABKHByb3h5X3R5cGUtAwEwVDo6UHJveHlUeXBlAAFQZGlzYW1iaWd1YXRpb25faW5kZXgFAwEMdTE2AAEIYXQ4AURCbG9ja051bWJlckZvcjxUPgABPGV4dHJpbnNpY19pbmRleDgBDHUzMgABCNxBIHB1cmUgYWNjb3VudCBoYXMgYmVlbiBjcmVhdGVkIGJ5IG5ldyBwcm94eSB3aXRoIGdpdmVukGRpc2FtYmlndWF0aW9uIGluZGV4IGFuZCBwcm94eSB0eXBlLihQdXJlS2lsbGVkEAEQcHVyZQQBMFQ6OkFjY291bnRJZAABHHNwYXduZXIEATBUOjpBY2NvdW50SWQAAShwcm94eV90eXBlLQMBMFQ6OlByb3h5VHlwZQABUGRpc2FtYmlndWF0aW9uX2luZGV4BQMBDHUxNgACBJxBIHB1cmUgcHJveHkgd2FzIGtpbGxlZCBieSBpdHMgc3Bhd25lci4kQW5ub3VuY2VkDAEQcmVhbAQBMFQ6OkFjY291bnRJZAABFHByb3h5BAEwVDo6QWNjb3VudElkAAEkY2FsbF9oYXNoPAE0Q2FsbEhhc2hPZjxUPgADBOBBbiBhbm5vdW5jZW1lbnQgd2FzIHBsYWNlZCB0byBtYWtlIGEgY2FsbCBpbiB0aGUgZnV0dXJlLihQcm94eUFkZGVkEAEkZGVsZWdhdG9yBAEwVDo6QWNjb3VudElkAAEkZGVsZWdhdGVlBAEwVDo6QWNjb3VudElkAAEocHJveHlfdHlwZS0DATBUOjpQcm94eVR5cGUAARRkZWxheTgBREJsb2NrTnVtYmVyRm9yPFQ+AAQESEEgcHJveHkgd2FzIGFkZGVkLjBQcm94eVJlbW92ZWQQASRkZWxlZ2F0b3IEATBUOjpBY2NvdW50SWQAASRkZWxlZ2F0ZWUEATBUOjpBY2NvdW50SWQAAShwcm94eV90eXBlLQMBMFQ6OlByb3h5VHlwZQABFGRlbGF5OAFEQmxvY2tOdW1iZXJGb3I8VD4ABQRQQSBwcm94eSB3YXMgcmVtb3ZlZC4wRGVwb3NpdFBva2VkEAEMd2hvBAEwVDo6QWNjb3VudElkAAEQa2luZEkFASxEZXBvc2l0S2luZAABLG9sZF9kZXBvc2l0xAEwQmFsYW5jZU9mPFQ+AAEsbmV3X2RlcG9zaXTEATBCYWxhbmNlT2Y8VD4ABgQJAUEgZGVwb3NpdCBzdG9yZWQgZm9yIHByb3hpZXMgb3IgYW5ub3VuY2VtZW50cyB3YXMgcG9rZWQgLyB1cGRhdGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldEkFCDBwYWxsZXRfcHJveHksRGVwb3NpdEtpbmQAAQgcUHJveGllcwAAADRBbm5vdW5jZW1lbnRzAAEAAE0FDFhwYWxsZXRfYnJpZGdlX3JlbGF5ZXJzGHBhbGxldBRFdmVudAgEVAAESQABFEBSZXdhcmRSZWdpc3RlcmVkDAEccmVsYXllcgQBMFQ6OkFjY291bnRJZASYUmVsYXllciBhY2NvdW50IHRoYXQgY2FuIGNsYWltIHJld2FyZC4BLHJld2FyZF9raW5kNQMBJFQ6OlJld2FyZASYUmVsYXllciBjYW4gY2xhaW0gdGhpcyBraW5kIG9mIHJld2FyZC4BOHJld2FyZF9iYWxhbmNlxAFAVDo6UmV3YXJkQmFsYW5jZQQ4UmV3YXJkIGFtb3VudC4ABPBSZWxheWVyIHJld2FyZCBoYXMgYmVlbiByZWdpc3RlcmVkIGFuZCBtYXkgYmUgY2xhaW1lZCBsYXRlci4oUmV3YXJkUGFpZBABHHJlbGF5ZXIEATBUOjpBY2NvdW50SWQEnFJlbGF5ZXIgYWNjb3VudCB0aGF0IGhhcyBiZWVuIHJld2FyZGVkLgEscmV3YXJkX2tpbmQ1AwEkVDo6UmV3YXJkBKRSZWxheWVyIGhhcyByZWNlaXZlZCByZXdhcmQgb2YgdGhpcyBraW5kLgE4cmV3YXJkX2JhbGFuY2XEAUBUOjpSZXdhcmRCYWxhbmNlBDhSZXdhcmQgYW1vdW50LgEsYmVuZWZpY2lhcnlFAwFMQmVuZWZpY2lhcnlPZjxULCBJPgQwQmVuZWZpY2lhcnkuAQSQUmV3YXJkIGhhcyBiZWVuIHBhaWQgdG8gdGhlIHJlbGF5ZXIuTFJlZ2lzdHJhdGlvblVwZGF0ZWQIARxyZWxheWVyBAEwVDo6QWNjb3VudElkBKRSZWxheWVyIGFjY291bnQgdGhhdCBoYXMgYmVlbiByZWdpc3RlcmVkLgEwcmVnaXN0cmF0aW9uUQUBrFJlZ2lzdHJhdGlvbjxCbG9ja051bWJlckZvcjxUPiwgVDo6QmFsYW5jZT4EVFJlbGF5ZXIgcmVnaXN0cmF0aW9uLgIEvFJlbGF5ZXIgcmVnaXN0cmF0aW9uIGhhcyBiZWVuIGFkZGVkIG9yIHVwZGF0ZWQuMERlcmVnaXN0ZXJlZAQBHHJlbGF5ZXIEATBUOjpBY2NvdW50SWQEtFJlbGF5ZXIgYWNjb3VudCB0aGF0IGhhcyBiZWVuIGBkZXJlZ2lzdGVyZWRgLgMEgFJlbGF5ZXIgaGFzIGJlZW4gYGRlcmVnaXN0ZXJlZGAuWFNsYXNoZWRBbmREZXJlZ2lzdGVyZWQIARxyZWxheWVyBAEwVDo6QWNjb3VudElkBLRSZWxheWVyIGFjY291bnQgdGhhdCBoYXMgYmVlbiBgZGVyZWdpc3RlcmVkYC4BMHJlZ2lzdHJhdGlvblEFAaxSZWdpc3RyYXRpb248QmxvY2tOdW1iZXJGb3I8VD4sIFQ6OkJhbGFuY2U+BHhSZWdpc3RyYXRpb24gdGhhdCB3YXMgcmVtb3ZlZC4EBLBSZWxheWVyIGhhcyBiZWVuIHNsYXNoZWQgYW5kIGBkZXJlZ2lzdGVyZWRgLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldFEFDCxicF9yZWxheWVyczByZWdpc3RyYXRpb24wUmVnaXN0cmF0aW9uCCxCbG9ja051bWJlcgE4HEJhbGFuY2UBxAAIASh2YWxpZF90aWxsOAEsQmxvY2tOdW1iZXIAARRzdGFrZcQBHEJhbGFuY2UAAFUFDFRwYWxsZXRfYnJpZGdlX2dyYW5kcGEYcGFsbGV0FEV2ZW50CARUAARJAAEEaFVwZGF0ZWRCZXN0RmluYWxpemVkSGVhZGVyDAEYbnVtYmVyOAFgQnJpZGdlZEJsb2NrTnVtYmVyPFQsIEk+BKBOdW1iZXIgb2YgdGhlIG5ldyBiZXN0IGZpbmFsaXplZCBoZWFkZXIuARBoYXNoPAFYQnJpZGdlZEJsb2NrSGFzaDxULCBJPgSYSGFzaCBvZiB0aGUgbmV3IGJlc3QgZmluYWxpemVkIGhlYWRlci4BMGdyYW5kcGFfaW5mb1kFAbBTdG9yZWRIZWFkZXJHcmFuZHBhSW5mbzxCcmlkZ2VkSGVhZGVyPFQsIEk+PgT0VGhlIEdyYW5kcGEgaW5mbyBhc3NvY2lhdGVkIHRvIHRoZSBuZXcgYmVzdCBmaW5hbGl6ZWQgaGVhZGVyLgAEWQFCZXN0IGZpbmFsaXplZCBjaGFpbiBoZWFkZXIgaGFzIGJlZW4gdXBkYXRlZCB0byB0aGUgaGVhZGVyIHdpdGggZ2l2ZW4gbnVtYmVyIGFuZCBoYXNoLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldFkFCDxicF9oZWFkZXJfY2hhaW5ISGVhZGVyRmluYWxpdHlJbmZvCDRGaW5hbGl0eVByb29mAU0DbEZpbmFsaXR5VmVyaWZpY2F0aW9uQ29udGV4dAFdBQAIAThmaW5hbGl0eV9wcm9vZk0DATRGaW5hbGl0eVByb29mAAFgbmV3X3ZlcmlmaWNhdGlvbl9jb250ZXh0YQUBjE9wdGlvbjxGaW5hbGl0eVZlcmlmaWNhdGlvbkNvbnRleHQ+AABdBQg8YnBfaGVhZGVyX2NoYWluMEF1dGhvcml0eVNldAAACAEsYXV0aG9yaXRpZXNxAwE0QXV0aG9yaXR5TGlzdAABGHNldF9pZCgBFFNldElkAABhBQQYT3B0aW9uBARUAV0FAQgQTm9uZQAAABBTb21lBABdBQAAAQAAZQUMYHBhbGxldF9icmlkZ2VfcGFyYWNoYWlucxhwYWxsZXQURXZlbnQIBFQABEkAARhoVW50cmFja2VkUGFyYWNoYWluUmVqZWN0ZWQEASRwYXJhY2hhaW6RAwEYUGFyYUlkBPhJZGVudGlmaWVyIG9mIHRoZSBwYXJhY2hhaW4gdGhhdCBpcyBub3QgdHJhY2tlZCBieSB0aGUgcGFsbGV0LgAEVQFUaGUgY2FsbGVyIGhhcyBwcm92aWRlZCBoZWFkIG9mIHBhcmFjaGFpbiB0aGF0IHRoZSBwYWxsZXQgaXMgbm90IGNvbmZpZ3VyZWQgdG8gdHJhY2suUE1pc3NpbmdQYXJhY2hhaW5IZWFkBAEkcGFyYWNoYWlukQMBGFBhcmFJZAS4SWRlbnRpZmllciBvZiB0aGUgcGFyYWNoYWluIHdpdGggbWlzc2luZyBoZWFkLgEIUQFUaGUgY2FsbGVyIGhhcyBkZWNsYXJlZCB0aGF0IGhlIGhhcyBwcm92aWRlZCBnaXZlbiBwYXJhY2hhaW4gaGVhZCwgYnV0IGl0IGlzIG1pc3NpbmdcZnJvbSB0aGUgc3RvcmFnZSBwcm9vZi5oSW5jb3JyZWN0UGFyYWNoYWluSGVhZEhhc2gMASRwYXJhY2hhaW6RAwEYUGFyYUlkBNRJZGVudGlmaWVyIG9mIHRoZSBwYXJhY2hhaW4gd2l0aCBpbmNvcnJlY3QgaGVhZCBoYXN0LgFMcGFyYWNoYWluX2hlYWRfaGFzaDwBIFBhcmFIYXNoBHhTcGVjaWZpZWQgcGFyYWNoYWluIGhlYWQgaGFzaC4BaGFjdHVhbF9wYXJhY2hhaW5faGVhZF9oYXNoPAEgUGFyYUhhc2gEbEFjdHVhbCBwYXJhY2hhaW4gaGVhZCBoYXNoLgIIXQFUaGUgY2FsbGVyIGhhcyBwcm92aWRlZCBwYXJhY2hhaW4gaGVhZCBoYXNoIHRoYXQgaXMgbm90IG1hdGNoaW5nIHRoZSBoYXNoIHJlYWQgZnJvbSB0aGU4c3RvcmFnZSBwcm9vZi50UmVqZWN0ZWRPYnNvbGV0ZVBhcmFjaGFpbkhlYWQIASRwYXJhY2hhaW6RAwEYUGFyYUlkBLxJZGVudGlmaWVyIG9mIHRoZSBwYXJhY2hhaW4gd2l0aCBvYnNvbGV0ZSBoZWFkLgFMcGFyYWNoYWluX2hlYWRfaGFzaDwBIFBhcmFIYXNoBHRPYnNvbGV0ZSBwYXJhY2hhaW4gaGVhZCBoYXNoLgMEWQFUaGUgY2FsbGVyIGhhcyBwcm92aWRlZCBvYnNvbGV0ZSBwYXJhY2hhaW4gaGVhZCwgd2hpY2ggaXMgYWxyZWFkeSBrbm93biB0byB0aGUgcGFsbGV0LmhSZWplY3RlZExhcmdlUGFyYWNoYWluSGVhZAwBJHBhcmFjaGFpbpEDARhQYXJhSWQEvElkZW50aWZpZXIgb2YgdGhlIHBhcmFjaGFpbiB3aXRoIHJlamVjdGVkIGhlYWQuAUxwYXJhY2hhaW5faGVhZF9oYXNoPAEgUGFyYUhhc2gEUFBhcmFjaGFpbiBoZWFkIGhhc2guAUxwYXJhY2hhaW5faGVhZF9zaXplOAEMdTMyBFBQYXJhY2hhaW4gaGVhZCBzaXplLgQEVQFUaGUgY2FsbGVyIGhhcyBwcm92aWRlZCBwYXJhY2hhaW4gaGVhZCB0aGF0IGV4Y2VlZHMgdGhlIG1heGltYWwgY29uZmlndXJlZCBoZWFkIHNpemUuUFVwZGF0ZWRQYXJhY2hhaW5IZWFkCAEkcGFyYWNoYWlukQMBGFBhcmFJZATISWRlbnRpZmllciBvZiB0aGUgcGFyYWNoYWluIHRoYXQgaGFzIGJlZW4gdXBkYXRlZC4BTHBhcmFjaGFpbl9oZWFkX2hhc2g8ASBQYXJhSGFzaARQUGFyYWNoYWluIGhlYWQgaGFzaC4FBIBQYXJhY2hhaW4gaGVhZCBoYXMgYmVlbiB1cGRhdGVkLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldGkFDFhwYWxsZXRfYnJpZGdlX21lc3NhZ2VzGHBhbGxldBRFdmVudAgEVAAESQABDDxNZXNzYWdlQWNjZXB0ZWQIARxsYW5lX2lkPQMBJFQ6OkxhbmVJZASUTGFuZSwgd2hpY2ggaGFzIGFjY2VwdGVkIHRoZSBtZXNzYWdlLgEUbm9uY2UoATBNZXNzYWdlTm9uY2UEaE5vbmNlIG9mIGFjY2VwdGVkIG1lc3NhZ2UuAATkTWVzc2FnZSBoYXMgYmVlbiBhY2NlcHRlZCBhbmQgaXMgd2FpdGluZyB0byBiZSBkZWxpdmVyZWQuQE1lc3NhZ2VzUmVjZWl2ZWQEAG0FAW0BUmVjZWl2ZWRNZXNzYWdlczw8VDo6TWVzc2FnZURpc3BhdGNoIGFzIE1lc3NhZ2VEaXNwYXRjaD46OgpEaXNwYXRjaExldmVsUmVzdWx0LCBUOjpMYW5lSWQsPgSUUmVzdWx0IG9mIHJlY2VpdmVkIG1lc3NhZ2VzIGRpc3BhdGNoLgEEzE1lc3NhZ2VzIGhhdmUgYmVlbiByZWNlaXZlZCBmcm9tIHRoZSBicmlkZ2VkIGNoYWluLkRNZXNzYWdlc0RlbGl2ZXJlZAgBHGxhbmVfaWQ9AwEkVDo6TGFuZUlkBLxMYW5lIGZvciB3aGljaCB0aGUgZGVsaXZlcnkgaGFzIGJlZW4gY29uZmlybWVkLgEgbWVzc2FnZXOFBQFERGVsaXZlcmVkTWVzc2FnZXMETERlbGl2ZXJlZCBtZXNzYWdlcy4CBCUBTWVzc2FnZXMgaW4gdGhlIGluY2x1c2l2ZSByYW5nZSBoYXZlIGJlZW4gZGVsaXZlcmVkIHRvIHRoZSBicmlkZ2VkIGNoYWluLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldG0FCCxicF9tZXNzYWdlc0BSZWNlaXZlZE1lc3NhZ2VzCExEaXNwYXRjaExldmVsUmVzdWx0AXEFGExhbmVJZAE9AwAIARBsYW5lPQMBGExhbmVJZAABPHJlY2VpdmVfcmVzdWx0c3UFAeRWZWM8KE1lc3NhZ2VOb25jZSwgUmVjZXB0aW9uUmVzdWx0PERpc3BhdGNoTGV2ZWxSZXN1bHQ+KT4AAHEFDFRwYWxsZXRfeGNtX2JyaWRnZV9odWIoZGlzcGF0Y2hlcnBYY21CbG9iTWVzc2FnZURpc3BhdGNoUmVzdWx0AAEMOEludmFsaWRQYXlsb2FkAAAAKERpc3BhdGNoZWQAAQA0Tm90RGlzcGF0Y2hlZAACAAB1BQAAAnkFAHkFAAAECCh9BQB9BQgsYnBfbWVzc2FnZXM8UmVjZXB0aW9uUmVzdWx0BExEaXNwYXRjaExldmVsUmVzdWx0AXEFARAoRGlzcGF0Y2hlZAQAgQUBqE1lc3NhZ2VEaXNwYXRjaFJlc3VsdDxEaXNwYXRjaExldmVsUmVzdWx0PgAAADBJbnZhbGlkTm9uY2UAAQBkVG9vTWFueVVucmV3YXJkZWRSZWxheWVycwACAGhUb29NYW55VW5jb25maXJtZWRNZXNzYWdlcwADAACBBQwoYnBfcnVudGltZSBtZXNzYWdlc1RNZXNzYWdlRGlzcGF0Y2hSZXN1bHQETERpc3BhdGNoTGV2ZWxSZXN1bHQBcQUACAE4dW5zcGVudF93ZWlnaHS1AQEYV2VpZ2h0AAFUZGlzcGF0Y2hfbGV2ZWxfcmVzdWx0cQUBTERpc3BhdGNoTGV2ZWxSZXN1bHQAAIUFCCxicF9tZXNzYWdlc0REZWxpdmVyZWRNZXNzYWdlcwAACAEUYmVnaW4oATBNZXNzYWdlTm9uY2UAAQxlbmQoATBNZXNzYWdlTm9uY2UAAIkFDFRwYWxsZXRfeGNtX2JyaWRnZV9odWIYcGFsbGV0FEV2ZW50CARUAARJAAEMMEJyaWRnZU9wZW5lZBQBJGJyaWRnZV9pZI0FASBCcmlkZ2VJZARIQnJpZGdlIGlkZW50aWZpZXIuAThicmlkZ2VfZGVwb3NpdMQBcEJhbGFuY2VPZjxUaGlzQ2hhaW5PZjxULCBJPj4EXEFtb3VudCBvZiBkZXBvc2l0IGhlbGQuAThsb2NhbF9lbmRwb2ludEUBAVRCb3g8SW50ZXJpb3JMb2NhdGlvbj4EsFVuaXZlcnNhbCBsb2NhdGlvbiBvZiBsb2NhbCBicmlkZ2UgZW5kcG9pbnQuATxyZW1vdGVfZW5kcG9pbnRFAQFUQm94PEludGVyaW9yTG9jYXRpb24+BLRVbml2ZXJzYWwgbG9jYXRpb24gb2YgcmVtb3RlIGJyaWRnZSBlbmRwb2ludC4BHGxhbmVfaWQ9AwEkVDo6TGFuZUlkBEBMYW5lIGlkZW50aWZpZXIuAATEVGhlIGJyaWRnZSBiZXR3ZWVuIHR3byBsb2NhdGlvbnMgaGFzIGJlZW4gb3BlbmVkLjRDbG9zaW5nQnJpZGdlEAEkYnJpZGdlX2lkjQUBIEJyaWRnZUlkBEhCcmlkZ2UgaWRlbnRpZmllci4BHGxhbmVfaWQ9AwEkVDo6TGFuZUlkBEBMYW5lIGlkZW50aWZpZXIuATxwcnVuZWRfbWVzc2FnZXMoATBNZXNzYWdlTm9uY2UEwE51bWJlciBvZiBwcnVuZWQgbWVzc2FnZXMgZHVyaW5nIHRoZSBjbG9zZSBjYWxsLgFEZW5xdWV1ZWRfbWVzc2FnZXMoATBNZXNzYWdlTm9uY2UEGQFOdW1iZXIgb2YgZW5xdWV1ZWQgbWVzc2FnZXMgdGhhdCBuZWVkIHRvIGJlIHBydW5lZCBpbiBmb2xsb3cgdXAgY2FsbHMuAQRBAUJyaWRnZSBpcyBnb2luZyB0byBiZSBjbG9zZWQsIGJ1dCBub3QgeWV0IGZ1bGx5IHBydW5lZCBmcm9tIHRoZSBydW50aW1lIHN0b3JhZ2UuMEJyaWRnZVBydW5lZBABJGJyaWRnZV9pZI0FASBCcmlkZ2VJZARIQnJpZGdlIGlkZW50aWZpZXIuARxsYW5lX2lkPQMBJFQ6OkxhbmVJZARATGFuZSBpZGVudGlmaWVyLgE4YnJpZGdlX2RlcG9zaXTEAXBCYWxhbmNlT2Y8VGhpc0NoYWluT2Y8VCwgST4+BGxBbW91bnQgb2YgZGVwb3NpdCByZWxlYXNlZC4BPHBydW5lZF9tZXNzYWdlcygBME1lc3NhZ2VOb25jZQTATnVtYmVyIG9mIHBydW5lZCBtZXNzYWdlcyBkdXJpbmcgdGhlIGNsb3NlIGNhbGwuAghJAUJyaWRnZSBoYXMgYmVlbiBjbG9zZWQgYW5kIHBydW5lZCBmcm9tIHRoZSBydW50aW1lIHN0b3JhZ2UuIEl0IG5vdyBtYXkgYmUgcmVvcGVuZWRkYWdhaW4gYnkgYW55IHBhcnRpY2lwYW50LgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldI0FCERicF94Y21fYnJpZGdlX2h1YiBCcmlkZ2VJZAAABAA8ARBIMjU2AACRBQx8c25vd2JyaWRnZV9wYWxsZXRfaW5ib3VuZF9xdWV1ZRhwYWxsZXQURXZlbnQEBFQAAQg8TWVzc2FnZVJlY2VpdmVkEAEoY2hhbm5lbF9pZGkEASRDaGFubmVsSWQETFRoZSBtZXNzYWdlIGNoYW5uZWwBFG5vbmNlKAEMdTY0BERUaGUgbWVzc2FnZSBub25jZQEobWVzc2FnZV9pZAgBIFt1ODsgMzJdBDEBSUQgb2YgdGhlIFhDTSBtZXNzYWdlIHdoaWNoIHdhcyBmb3J3YXJkZWQgdG8gdGhlIGZpbmFsIGRlc3RpbmF0aW9uIHBhcmFjaGFpbgEoZmVlX2J1cm5lZMQBMEJhbGFuY2VPZjxUPgRsRmVlIGJ1cm5lZCBmb3IgdGhlIHRlbGVwb3J0AASQQSBtZXNzYWdlIHdhcyByZWNlaXZlZCBmcm9tIEV0aGVyZXVtUE9wZXJhdGluZ01vZGVDaGFuZ2VkBAEQbW9kZfEDAUhCYXNpY09wZXJhdGluZ01vZGUAAQREU2V0IE9wZXJhdGluZ01vZGUEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSVBQyAc25vd2JyaWRnZV9wYWxsZXRfb3V0Ym91bmRfcXVldWUYcGFsbGV0FEV2ZW50BARUAAEQNE1lc3NhZ2VRdWV1ZWQEAQhpZDwBEEgyNTYE+ElEIG9mIHRoZSBtZXNzYWdlLiBVc3VhbGx5IHRoZSBYQ00gbWVzc2FnZSBoYXNoIG9yIGEgU2V0VG9waWMuAATsTWVzc2FnZSBoYXMgYmVlbiBxdWV1ZWQgYW5kIHdpbGwgYmUgcHJvY2Vzc2VkIGluIHRoZSBmdXR1cmU8TWVzc2FnZUFjY2VwdGVkCAEIaWQ8ARBIMjU2BERJRCBvZiB0aGUgbWVzc2FnZQEUbm9uY2UoAQx1NjQEiFRoZSBub25jZSBhc3NpZ25lZCB0byB0aGlzIG1lc3NhZ2UBCEEBTWVzc2FnZSB3aWxsIGJlIGNvbW1pdHRlZCBhdCB0aGUgZW5kIG9mIGN1cnJlbnQgYmxvY2suIEZyb20gbm93IG9uLCB0byB0cmFjayB0aGW4cHJvZ3Jlc3MgdGhlIG1lc3NhZ2UsIHVzZSB0aGUgYG5vbmNlYCBvZiBgaWRgLkRNZXNzYWdlc0NvbW1pdHRlZAgBEHJvb3Q8ARBIMjU2BJRNZXJrbGUgcm9vdCBvZiB0aGUgY29tbWl0dGVkIG1lc3NhZ2VzARRjb3VudCgBDHU2NARwbnVtYmVyIG9mIGNvbW1pdHRlZCBtZXNzYWdlcwIEhFNvbWUgbWVzc2FnZXMgaGF2ZSBiZWVuIGNvbW1pdHRlZFBPcGVyYXRpbmdNb2RlQ2hhbmdlZAQBEG1vZGXxAwFIQmFzaWNPcGVyYXRpbmdNb2RlAAMERFNldCBPcGVyYXRpbmdNb2RlBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0mQUMhHNub3dicmlkZ2VfcGFsbGV0X2V0aGVyZXVtX2NsaWVudBhwYWxsZXQURXZlbnQEBFQAAQxQQmVhY29uSGVhZGVySW1wb3J0ZWQIAShibG9ja19oYXNoPAEQSDI1NgABEHNsb3QoAQx1NjQAAABQU3luY0NvbW1pdHRlZVVwZGF0ZWQEARhwZXJpb2QoAQx1NjQAAQBQT3BlcmF0aW5nTW9kZUNoYW5nZWQEARBtb2Rl8QMBSEJhc2ljT3BlcmF0aW5nTW9kZQACBERTZXQgT3BlcmF0aW5nTW9kZQR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldJ0FDGBzbm93YnJpZGdlX3BhbGxldF9zeXN0ZW0YcGFsbGV0FEV2ZW50BARUAAEkHFVwZ3JhZGUMATBpbXBsX2FkZHJlc3PBAwEQSDE2MAABOGltcGxfY29kZV9oYXNoPAEQSDI1NgABXGluaXRpYWxpemVyX3BhcmFtc19oYXNooQUBME9wdGlvbjxIMjU2PgAABKhBbiBVcGdyYWRlIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIEdhdGV3YXksQ3JlYXRlQWdlbnQIASBsb2NhdGlvbkEBATRCb3g8TG9jYXRpb24+AAEgYWdlbnRfaWQ8ARxBZ2VudElkAAEEuEFuIENyZWF0ZUFnZW50IG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIEdhdGV3YXk0Q3JlYXRlQ2hhbm5lbAgBKGNoYW5uZWxfaWRpBAEkQ2hhbm5lbElkAAEgYWdlbnRfaWQ8ARxBZ2VudElkAAIEwEFuIENyZWF0ZUNoYW5uZWwgbWVzc2FnZSB3YXMgc2VudCB0byB0aGUgR2F0ZXdheTRVcGRhdGVDaGFubmVsCAEoY2hhbm5lbF9pZGkEASRDaGFubmVsSWQAARBtb2RlNQQBNE9wZXJhdGluZ01vZGUAAwTAQW4gVXBkYXRlQ2hhbm5lbCBtZXNzYWdlIHdhcyBzZW50IHRvIHRoZSBHYXRld2F5QFNldE9wZXJhdGluZ01vZGUEARBtb2RlNQQBNE9wZXJhdGluZ01vZGUABATMQW4gU2V0T3BlcmF0aW5nTW9kZSBtZXNzYWdlIHdhcyBzZW50IHRvIHRoZSBHYXRld2F5XFRyYW5zZmVyTmF0aXZlRnJvbUFnZW50DAEgYWdlbnRfaWQ8ARxBZ2VudElkAAEkcmVjaXBpZW50wQMBEEgxNjAAARhhbW91bnTEARB1MTI4AAUE6EFuIFRyYW5zZmVyTmF0aXZlRnJvbUFnZW50IG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIEdhdGV3YXlQU2V0VG9rZW5UcmFuc2ZlckZlZXMMAUBjcmVhdGVfYXNzZXRfeGNtxAEQdTEyOAABSHRyYW5zZmVyX2Fzc2V0X3hjbcQBEHUxMjgAAThyZWdpc3Rlcl90b2tlbuUDARBVMjU2AAYE2EEgU2V0VG9rZW5UcmFuc2ZlckZlZXMgbWVzc2FnZSB3YXMgc2VudCB0byB0aGUgR2F0ZXdheWBQcmljaW5nUGFyYW1ldGVyc0NoYW5nZWQEARhwYXJhbXM5BAFYUHJpY2luZ1BhcmFtZXRlcnNPZjxUPgAHADRSZWdpc3RlclRva2VuCAEgbG9jYXRpb27sAURWZXJzaW9uZWRMb2NhdGlvbgSETG9jYXRpb24gb2YgUG9sa2Fkb3QtbmF0aXZlIHRva2VuAUBmb3JlaWduX3Rva2VuX2lkPAEQSDI1NgScSUQgb2YgUG9sa2Fkb3QtbmF0aXZlIHRva2VuIG9uIEV0aGVyZXVtCAQNAVJlZ2lzdGVyIFBvbGthZG90LW5hdGl2ZSB0b2tlbiBhcyBhIHdyYXBwZWQgRVJDMjAgdG9rZW4gb24gRXRoZXJldW0EfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXShBQQYT3B0aW9uBARUATwBCBBOb25lAAAAEFNvbWUEADwAAAEAAKUFDGxzbm93YnJpZGdlX3BhbGxldF9zeXN0ZW1fdjIYcGFsbGV0FEV2ZW50BARUAAEQHFVwZ3JhZGUMATBpbXBsX2FkZHJlc3PBAwEQSDE2MAABOGltcGxfY29kZV9oYXNoPAEQSDI1NgABXGluaXRpYWxpemVyX3BhcmFtc19oYXNoPAEQSDI1NgAABKhBbiBVcGdyYWRlIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIEdhdGV3YXlAU2V0T3BlcmF0aW5nTW9kZQQBEG1vZGU1BAE0T3BlcmF0aW5nTW9kZQABBMxBbiBTZXRPcGVyYXRpbmdNb2RlIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gdGhlIEdhdGV3YXk0UmVnaXN0ZXJUb2tlbggBIGxvY2F0aW9u7AFEVmVyc2lvbmVkTG9jYXRpb24EhExvY2F0aW9uIG9mIFBvbGthZG90LW5hdGl2ZSB0b2tlbgFAZm9yZWlnbl90b2tlbl9pZDwBEEgyNTYEnElEIG9mIFBvbGthZG90LW5hdGl2ZSB0b2tlbiBvbiBFdGhlcmV1bQIEDQFSZWdpc3RlciBQb2xrYWRvdC1uYXRpdmUgdG9rZW4gYXMgYSB3cmFwcGVkIEVSQzIwIHRva2VuIG9uIEV0aGVyZXVtMFRpcFByb2Nlc3NlZBABGHNlbmRlcgQBOEFjY291bnRJZE9mPFQ+BORUaGUgb3JpZ2luYWwgc2VuZGVyIG9mIHRoZSB0aXAgKHdobyBkZXBvc2l0ZWQgdGhlIGZ1bmRzKS4BKG1lc3NhZ2VfaWRVBAEkTWVzc2FnZUlkBIhUaGUgSW5ib3VuZC9PdXRib3VuZCBtZXNzYWdlIG5vbmNlARhhbW91bnTEARB1MTI4BGBUaGUgdGlwIGFtb3VudCBpbiBldGhlci4BHHN1Y2Nlc3PIARBib29sCCEBV2hldGhlciB0aGUgdGlwIHdhcyBhZGRlZCBzdWNjZXNzZnVsbHkuIElmIHRoZSB0aXAgd2FzIGFkZGVkIGZvciBhIG5vbmNl9HRoYXQgd2FzIGFscmVhZHkgY29uc3VtZWQsIHRoZSB0aXAgd2lsbCBiZSBhZGRlZCB0byBMb3N0VGlwcy4DCFEBQSB0aXAgd2FzIHByb2Nlc3NlZCBmb3IgYW4gaW5ib3VuZCBvciBvdXRib3VuZCBtZXNzYWdlLCBmb3IgcmVsYXllciBpbmNlbnRpdml6YXRpb24u/El0IGNvdWxkIGhhdmUgc3VjY2VlZGVkIG9yIGZhaWxlZCAoYW5kIHRoZW4gYWRkZWQgdG8gTG9zdFRpcHMpLgR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldKkFDIhzbm93YnJpZGdlX3BhbGxldF9pbmJvdW5kX3F1ZXVlX3YyGHBhbGxldBRFdmVudAQEVAABCDxNZXNzYWdlUmVjZWl2ZWQIARRub25jZSgBDHU2NAREVGhlIG1lc3NhZ2Ugbm9uY2UBKG1lc3NhZ2VfaWQIASBbdTg7IDMyXQQxAUlEIG9mIHRoZSBYQ00gbWVzc2FnZSB3aGljaCB3YXMgZm9yd2FyZGVkIHRvIHRoZSBmaW5hbCBkZXN0aW5hdGlvbiBwYXJhY2hhaW4ABJBBIG1lc3NhZ2Ugd2FzIHJlY2VpdmVkIGZyb20gRXRoZXJldW1QT3BlcmF0aW5nTW9kZUNoYW5nZWQEARBtb2Rl8QMBSEJhc2ljT3BlcmF0aW5nTW9kZQABBERTZXQgT3BlcmF0aW5nTW9kZQR8VGhlIGBFdmVudGAgZW51bSBvZiB0aGlzIHBhbGxldK0FDIxzbm93YnJpZGdlX3BhbGxldF9vdXRib3VuZF9xdWV1ZV92MhhwYWxsZXQURXZlbnQEBFQAARw0TWVzc2FnZVF1ZXVlZAQBHG1lc3NhZ2WxBQEcTWVzc2FnZQQsVGhlIG1lc3NhZ2UABOxNZXNzYWdlIGhhcyBiZWVuIHF1ZXVlZCBhbmQgd2lsbCBiZSBwcm9jZXNzZWQgaW4gdGhlIGZ1dHVyZTxNZXNzYWdlQWNjZXB0ZWQIAQhpZDwBEEgyNTYERElEIG9mIHRoZSBtZXNzYWdlARRub25jZSgBDHU2NASIVGhlIG5vbmNlIGFzc2lnbmVkIHRvIHRoaXMgbWVzc2FnZQEIQQFNZXNzYWdlIHdpbGwgYmUgY29tbWl0dGVkIGF0IHRoZSBlbmQgb2YgY3VycmVudCBibG9jay4gRnJvbSBub3cgb24sIHRvIHRyYWNrIHRoZchwcm9ncmVzcyB0aGUgbWVzc2FnZSwgdXNlIHRoZSBgbm9uY2VgIG9yIHRoZSBgaWRgLjxNZXNzYWdlUmVqZWN0ZWQMAQhpZKEFATBPcHRpb248SDI1Nj4INQFJRCBvZiB0aGUgbWVzc2FnZSwgaWYga25vd24gKGUuZy4gaWYgYSBtZXNzYWdlIGlzIGNvcnJ1cHQsIHRoZSBJRCB3aWxsIG5vdCBiZRxrbm93bikuARxwYXlsb2FkGAEcVmVjPHU4PgghAVRoZSBwYXlsb2FkIG9mIHRoZSBtZXNzYWdlLiBVc2VmdWwgZm9yIGRlYnVnZ2luZyBwdXJwb3NlcyBpZiB0aGUgbWVzc2FnZUhjYW5ub3QgYmUgZGVjb2RlZC4BFGVycm9ywQUBTFByb2Nlc3NNZXNzYWdlRXJyb3IEcFRoZSBlcnJvciB0aGF0IHdhcyByZXR1cm5lZC4CBFEBTWVzc2FnZSB3YXMgbm90IGNvbW1pdHRlZCBkdWUgdG8gc29tZSBmYWlsdXJlIGNvbmRpdGlvbiwgbGlrZSBhbiBvdmVyd2VpZ2h0IG1lc3NhZ2UuQE1lc3NhZ2VQb3N0cG9uZWQIARxwYXlsb2FkGAEcVmVjPHU4PgghAVRoZSBwYXlsb2FkIG9mIHRoZSBtZXNzYWdlLiBVc2VmdWwgZm9yIGRlYnVnZ2luZyBwdXJwb3NlcyBpZiB0aGUgbWVzc2FnZUhjYW5ub3QgYmUgZGVjb2RlZC4BGHJlYXNvbsEFAUxQcm9jZXNzTWVzc2FnZUVycm9yBHBUaGUgZXJyb3IgdGhhdCB3YXMgcmV0dXJuZWQuAwQ9AU1lc3NhZ2Ugd2FzIG5vdCBjb21taXR0ZWQgZHVlIHRvIGJlaW5nIG92ZXJ3ZWlnaHQgb3IgdGhlIGN1cnJlbnQgYmxvY2sgaXMgZnVsbC5ETWVzc2FnZXNDb21taXR0ZWQIARByb290PAEQSDI1NgSUTWVya2xlIHJvb3Qgb2YgdGhlIGNvbW1pdHRlZCBtZXNzYWdlcwEUY291bnQoAQx1NjQEcG51bWJlciBvZiBjb21taXR0ZWQgbWVzc2FnZXMEBIRTb21lIG1lc3NhZ2VzIGhhdmUgYmVlbiBjb21taXR0ZWRQT3BlcmF0aW5nTW9kZUNoYW5nZWQEARBtb2Rl8QMBSEJhc2ljT3BlcmF0aW5nTW9kZQAFBERTZXQgT3BlcmF0aW5nTW9kZUBNZXNzYWdlRGVsaXZlcmVkBAEUbm9uY2UoAQx1NjQABgRcRGVsaXZlcnkgUHJvb2YgcmVjZWl2ZWQEfFRoZSBgRXZlbnRgIGVudW0gb2YgdGhpcyBwYWxsZXSxBRCQc25vd2JyaWRnZV9vdXRib3VuZF9xdWV1ZV9wcmltaXRpdmVzCHYyHG1lc3NhZ2UcTWVzc2FnZQAAEAEYb3JpZ2luPAEQSDI1NgABCGlkPAEQSDI1NgABDGZlZcQBEHUxMjgAASBjb21tYW5kc7UFAaxCb3VuZGVkVmVjPENvbW1hbmQsIENvbnN0VTMyPE1BWF9DT01NQU5EUz4+AAC1BQxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAbkFBFMAAAQAvQUBGFZlYzxUPgAAuQUQkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcwh2MhxtZXNzYWdlHENvbW1hbmQAARgcVXBncmFkZQwBMGltcGxfYWRkcmVzc8EDARBIMTYwAAE4aW1wbF9jb2RlX2hhc2g8ARBIMjU2AAEsaW5pdGlhbGl6ZXJRBAEsSW5pdGlhbGl6ZXIAAABAU2V0T3BlcmF0aW5nTW9kZQQBEG1vZGU1BAE0T3BlcmF0aW5nTW9kZQABAERVbmxvY2tOYXRpdmVUb2tlbgwBFHRva2VuwQMBEEgxNjAAASRyZWNpcGllbnTBAwEQSDE2MAABGGFtb3VudMQBEHUxMjgAAgBQUmVnaXN0ZXJGb3JlaWduVG9rZW4QASB0b2tlbl9pZDwBEEgyNTYAARBuYW1lGAEcVmVjPHU4PgABGHN5bWJvbBgBHFZlYzx1OD4AASBkZWNpbWFscwwBCHU4AAMAQE1pbnRGb3JlaWduVG9rZW4MASB0b2tlbl9pZDwBEEgyNTYAASRyZWNpcGllbnTBAwEQSDE2MAABGGFtb3VudMQBEHUxMjgABAAwQ2FsbENvbnRyYWN0EAEYdGFyZ2V0wQMBEEgxNjAAASBjYWxsZGF0YRgBHFZlYzx1OD4AAQxnYXMoAQx1NjQAARR2YWx1ZcQBEHUxMjgABQAAvQUAAAK5BQDBBRA0ZnJhbWVfc3VwcG9ydBh0cmFpdHMgbWVzc2FnZXNMUHJvY2Vzc01lc3NhZ2VFcnJvcgABGCRCYWRGb3JtYXQAAAAcQ29ycnVwdAABACxVbnN1cHBvcnRlZAACAChPdmVyd2VpZ2h0BAC1AQEYV2VpZ2h0AAMAFFlpZWxkAAQARFN0YWNrTGltaXRSZWFjaGVkAAUAAMUFDFBwYWxsZXRfbWVzc2FnZV9xdWV1ZRhwYWxsZXQURXZlbnQEBFQAARBAUHJvY2Vzc2luZ0ZhaWxlZAwBCGlkPAEQSDI1NgSUVGhlIGBibGFrZTJfMjU2YCBoYXNoIG9mIHRoZSBtZXNzYWdlLgEYb3JpZ2luZQQBSE1lc3NhZ2VPcmlnaW5PZjxUPgRkVGhlIHF1ZXVlIG9mIHRoZSBtZXNzYWdlLgEUZXJyb3LBBQFMUHJvY2Vzc01lc3NhZ2VFcnJvchBgVGhlIGVycm9yIHRoYXQgb2NjdXJyZWQuAEkBVGhpcyBlcnJvciBpcyBwcmV0dHkgb3BhcXVlLiBNb3JlIGZpbmUtZ3JhaW5lZCBlcnJvcnMgbmVlZCB0byBiZSBlbWl0dGVkIGFzIGV2ZW50c2hieSB0aGUgYE1lc3NhZ2VQcm9jZXNzb3JgLgAEVQFNZXNzYWdlIGRpc2NhcmRlZCBkdWUgdG8gYW4gZXJyb3IgaW4gdGhlIGBNZXNzYWdlUHJvY2Vzc29yYCAodXN1YWxseSBhIGZvcm1hdCBlcnJvcikuJFByb2Nlc3NlZBABCGlkPAEQSDI1NgSUVGhlIGBibGFrZTJfMjU2YCBoYXNoIG9mIHRoZSBtZXNzYWdlLgEYb3JpZ2luZQQBSE1lc3NhZ2VPcmlnaW5PZjxUPgRkVGhlIHF1ZXVlIG9mIHRoZSBtZXNzYWdlLgEsd2VpZ2h0X3VzZWS1AQEYV2VpZ2h0BMBIb3cgbXVjaCB3ZWlnaHQgd2FzIHVzZWQgdG8gcHJvY2VzcyB0aGUgbWVzc2FnZS4BHHN1Y2Nlc3PIARBib29sGIhXaGV0aGVyIHRoZSBtZXNzYWdlIHdhcyBwcm9jZXNzZWQuAEkBTm90ZSB0aGF0IHRoaXMgZG9lcyBub3QgbWVhbiB0aGF0IHRoZSB1bmRlcmx5aW5nIGBNZXNzYWdlUHJvY2Vzc29yYCB3YXMgaW50ZXJuYWxseTUBc3VjY2Vzc2Z1bC4gSXQgKnNvbGVseSogbWVhbnMgdGhhdCB0aGUgTVEgcGFsbGV0IHdpbGwgdHJlYXQgdGhpcyBhcyBhIHN1Y2Nlc3NNAWNvbmRpdGlvbiBhbmQgZGlzY2FyZCB0aGUgbWVzc2FnZS4gQW55IGludGVybmFsIGVycm9yIG5lZWRzIHRvIGJlIGVtaXR0ZWQgYXMgZXZlbnRzaGJ5IHRoZSBgTWVzc2FnZVByb2Nlc3NvcmAuAQRUTWVzc2FnZSBpcyBwcm9jZXNzZWQuSE92ZXJ3ZWlnaHRFbnF1ZXVlZBABCGlkCAEgW3U4OyAzMl0ElFRoZSBgYmxha2UyXzI1NmAgaGFzaCBvZiB0aGUgbWVzc2FnZS4BGG9yaWdpbmUEAUhNZXNzYWdlT3JpZ2luT2Y8VD4EZFRoZSBxdWV1ZSBvZiB0aGUgbWVzc2FnZS4BKHBhZ2VfaW5kZXg4ASRQYWdlSW5kZXgEYFRoZSBwYWdlIG9mIHRoZSBtZXNzYWdlLgE0bWVzc2FnZV9pbmRleDgBHFQ6OlNpemUEpFRoZSBpbmRleCBvZiB0aGUgbWVzc2FnZSB3aXRoaW4gdGhlIHBhZ2UuAgSMTWVzc2FnZSBwbGFjZWQgaW4gb3ZlcndlaWdodCBxdWV1ZS4oUGFnZVJlYXBlZAgBGG9yaWdpbmUEAUhNZXNzYWdlT3JpZ2luT2Y8VD4EWFRoZSBxdWV1ZSBvZiB0aGUgcGFnZS4BFGluZGV4OAEkUGFnZUluZGV4BFhUaGUgaW5kZXggb2YgdGhlIHBhZ2UuAwRUVGhpcyBwYWdlIHdhcyByZWFwZWQuBHxUaGUgYEV2ZW50YCBlbnVtIG9mIHRoaXMgcGFsbGV0yQUIMGZyYW1lX3N5c3RlbRRQaGFzZQABDDhBcHBseUV4dHJpbnNpYwQAOAEMdTMyAAAAMEZpbmFsaXphdGlvbgABADhJbml0aWFsaXphdGlvbgACAADNBQAAAtEFANEFAAAECDg4ANUFCDBmcmFtZV9zeXN0ZW1YTGFzdFJ1bnRpbWVVcGdyYWRlSW5mbwAACAEwc3BlY192ZXJzaW9uYAFMY29kZWM6OkNvbXBhY3Q8dTMyPgABJHNwZWNfbmFtZdkFAURDb3c8J3N0YXRpYywgc3RyPgAA2QUEDENvdwQEVAHdBQAEAN0FAAAA3QUAAAUCAOEFCDBmcmFtZV9zeXN0ZW1gQ29kZVVwZ3JhZGVBdXRob3JpemF0aW9uBARUAAAIASRjb2RlX2hhc2g8ARxUOjpIYXNoAAE0Y2hlY2tfdmVyc2lvbsgBEGJvb2wAAOUFDDBmcmFtZV9zeXN0ZW0YbGltaXRzMEJsb2NrV2VpZ2h0cwAADAEoYmFzZV9ibG9ja7UBARhXZWlnaHQAASRtYXhfYmxvY2u1AQEYV2VpZ2h0AAEkcGVyX2NsYXNz6QUBhFBlckRpc3BhdGNoQ2xhc3M8V2VpZ2h0c1BlckNsYXNzPgAA6QUMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUGVyRGlzcGF0Y2hDbGFzcwQEVAHtBQAMARhub3JtYWztBQEEVAABLG9wZXJhdGlvbmFs7QUBBFQAASRtYW5kYXRvcnntBQEEVAAA7QUMMGZyYW1lX3N5c3RlbRhsaW1pdHM8V2VpZ2h0c1BlckNsYXNzAAAQAThiYXNlX2V4dHJpbnNpY7UBARhXZWlnaHQAATRtYXhfZXh0cmluc2ljhQIBOE9wdGlvbjxXZWlnaHQ+AAEkbWF4X3RvdGFshQIBOE9wdGlvbjxXZWlnaHQ+AAEgcmVzZXJ2ZWSFAgE4T3B0aW9uPFdlaWdodD4AAPEFDDBmcmFtZV9zeXN0ZW0YbGltaXRzLEJsb2NrTGVuZ3RoAAAIAQxtYXj1BQFUUGVyRGlzcGF0Y2hDbGFzczx1MzI+AAE8bWF4X2hlYWRlcl9zaXpl6QIBLE9wdGlvbjx1MzI+AAD1BQw0ZnJhbWVfc3VwcG9ydCBkaXNwYXRjaEBQZXJEaXNwYXRjaENsYXNzBARUATgADAEYbm9ybWFsOAEEVAABLG9wZXJhdGlvbmFsOAEEVAABJG1hbmRhdG9yeTgBBFQAAPkFCChzcF93ZWlnaHRzPFJ1bnRpbWVEYldlaWdodAAACAEQcmVhZCgBDHU2NAABFHdyaXRlKAEMdTY0AAD9BQgoc3BfdmVyc2lvbjhSdW50aW1lVmVyc2lvbgAAIAEkc3BlY19uYW1l2QUBRENvdzwnc3RhdGljLCBzdHI+AAEkaW1wbF9uYW1l2QUBRENvdzwnc3RhdGljLCBzdHI+AAFEYXV0aG9yaW5nX3ZlcnNpb244AQx1MzIAATBzcGVjX3ZlcnNpb244AQx1MzIAATBpbXBsX3ZlcnNpb244AQx1MzIAARBhcGlzAQYBHEFwaXNWZWMAAUx0cmFuc2FjdGlvbl92ZXJzaW9uOAEMdTMyAAE4c3lzdGVtX3ZlcnNpb24MAQh1OAAAAQYEDENvdwQEVAEFBgAEAAUGAAAABQYAAAIJBgAJBgAABAidATgADQYMMGZyYW1lX3N5c3RlbRhwYWxsZXQURXJyb3IEBFQAASQ8SW52YWxpZFNwZWNOYW1lAAAIEQFUaGUgbmFtZSBvZiBzcGVjaWZpY2F0aW9uIGRvZXMgbm90IG1hdGNoIGJldHdlZW4gdGhlIGN1cnJlbnQgcnVudGltZVBhbmQgdGhlIG5ldyBydW50aW1lLmhTcGVjVmVyc2lvbk5lZWRzVG9JbmNyZWFzZQABCEEBVGhlIHNwZWNpZmljYXRpb24gdmVyc2lvbiBpcyBub3QgYWxsb3dlZCB0byBkZWNyZWFzZSBiZXR3ZWVuIHRoZSBjdXJyZW50IHJ1bnRpbWVQYW5kIHRoZSBuZXcgcnVudGltZS50RmFpbGVkVG9FeHRyYWN0UnVudGltZVZlcnNpb24AAgzsRmFpbGVkIHRvIGV4dHJhY3QgdGhlIHJ1bnRpbWUgdmVyc2lvbiBmcm9tIHRoZSBuZXcgcnVudGltZS4ACQFFaXRoZXIgY2FsbGluZyBgQ29yZV92ZXJzaW9uYCBvciBkZWNvZGluZyBgUnVudGltZVZlcnNpb25gIGZhaWxlZC5MTm9uRGVmYXVsdENvbXBvc2l0ZQADBPxTdWljaWRlIGNhbGxlZCB3aGVuIHRoZSBhY2NvdW50IGhhcyBub24tZGVmYXVsdCBjb21wb3NpdGUgZGF0YS48Tm9uWmVyb1JlZkNvdW50AAQENQFUaGVyZSBpcyBhIG5vbi16ZXJvIHJlZmVyZW5jZSBjb3VudCBwcmV2ZW50aW5nIHRoZSBhY2NvdW50IGZyb20gYmVpbmcgcHVyZ2VkLjBDYWxsRmlsdGVyZWQABQTQVGhlIG9yaWdpbiBmaWx0ZXIgcHJldmVudCB0aGUgY2FsbCB0byBiZSBkaXNwYXRjaGVkLmxNdWx0aUJsb2NrTWlncmF0aW9uc09uZ29pbmcABgRVAUEgbXVsdGktYmxvY2sgbWlncmF0aW9uIGlzIG9uZ29pbmcgYW5kIHByZXZlbnRzIHRoZSBjdXJyZW50IGNvZGUgZnJvbSBiZWluZyByZXBsYWNlZC5ETm90aGluZ0F1dGhvcml6ZWQABwRYTm8gdXBncmFkZSBhdXRob3JpemVkLjBVbmF1dGhvcml6ZWQACASUVGhlIHN1Ym1pdHRlZCBjb2RlIGlzIG5vdCBhdXRob3JpemVkLgRsRXJyb3IgZm9yIHRoZSBTeXN0ZW0gcGFsbGV0EQYMKHNwX3J1bnRpbWUYdHJhaXRzLEJsYWtlVHdvMjU2AAAAABUGEChzcF9ydW50aW1lHGdlbmVyaWMUYmxvY2sUQmxvY2sIGEhlYWRlcgFcJEV4dHJpbnNpYwEZBgAIARhoZWFkZXJcARhIZWFkZXIAAShleHRyaW5zaWNzJQYBOFZlYzxFeHRyaW5zaWM+AAAZBhAoc3BfcnVudGltZRxnZW5lcmljTHVuY2hlY2tlZF9leHRyaW5zaWNIVW5jaGVja2VkRXh0cmluc2ljEBxBZGRyZXNzAQAQQ2FsbAEgJFNpZ25hdHVyZQFtBBRFeHRyYQEdBgAEABgAAAAdBgh0Y3VtdWx1c19wYWxsZXRfd2VpZ2h0X3JlY2xhaW1QU3RvcmFnZVdlaWdodFJlY2xhaW0IBFQABFMBIQYABAAhBgEEUwAAIQYAAAQwdQR5BH0EgQSFBIkEkQSVBJkEnQShBKUEACUGAAACGQYAKQYMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW0wYmxvY2tfd2VpZ2h0PEJsb2NrV2VpZ2h0TW9kZQQEVAABDCBGdWxsQ29yZQQBHGNvbnRleHQ4AURCbG9ja051bWJlckZvcjxUPgAAAERQb3RlbnRpYWxGdWxsQ29yZQwBHGNvbnRleHQ4AURCbG9ja051bWJlckZvcjxUPgABXGZpcnN0X3RyYW5zYWN0aW9uX2luZGV46QIBLE9wdGlvbjx1MzI+AAE0dGFyZ2V0X3dlaWdodLUBARhXZWlnaHQAAQA4RnJhY3Rpb25PZkNvcmUIARxjb250ZXh0OAFEQmxvY2tOdW1iZXJGb3I8VD4AAVxmaXJzdF90cmFuc2FjdGlvbl9pbmRleOkCASxPcHRpb248dTMyPgACAAAtBgAABgUDADEGAAACNQYANQYMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50IEFuY2VzdG9yBARIATwADAE4dXNlZF9iYW5kd2lkdGg5BgE0VXNlZEJhbmR3aWR0aAABOHBhcmFfaGVhZF9oYXNooQUBJE9wdGlvbjxIPgABYGNvbnN1bWVkX2dvX2FoZWFkX3NpZ25hbE0GAYxPcHRpb248cmVsYXlfY2hhaW46OlVwZ3JhZGVHb0FoZWFkPgAAOQYMfGN1bXVsdXNfcGFsbGV0X3BhcmFjaGFpbl9zeXN0ZW1IdW5pbmNsdWRlZF9zZWdtZW50NFVzZWRCYW5kd2lkdGgAAAwBNHVtcF9tc2dfY291bnQ4AQx1MzIAATx1bXBfdG90YWxfYnl0ZXM4AQx1MzIAATRocm1wX291dGdvaW5nPQYBjEJUcmVlTWFwPFBhcmFJZCwgSHJtcENoYW5uZWxVcGRhdGU+AAA9BgQgQlRyZWVNYXAIBEsBnARWAUEGAAQARQYAAABBBgx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUh1bmluY2x1ZGVkX3NlZ21lbnRESHJtcENoYW5uZWxVcGRhdGUAAAgBJG1zZ19jb3VudDgBDHUzMgABLHRvdGFsX2J5dGVzOAEMdTMyAABFBgAAAkkGAEkGAAAECJxBBgBNBgQYT3B0aW9uBARUAVEGAQgQTm9uZQAAABBTb21lBABRBgAAAQAAUQYMTHBvbGthZG90X3ByaW1pdGl2ZXMIdjk4VXBncmFkZUdvQWhlYWQAAQgUQWJvcnQAAAAcR29BaGVhZAABAABVBgx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUh1bmluY2x1ZGVkX3NlZ21lbnQ4U2VnbWVudFRyYWNrZXIEBEgBPAAMATh1c2VkX2JhbmR3aWR0aDkGATRVc2VkQmFuZHdpZHRoAAE4aHJtcF93YXRlcm1hcmvpAgGAT3B0aW9uPHJlbGF5X2NoYWluOjpCbG9ja051bWJlcj4AAWBjb25zdW1lZF9nb19haGVhZF9zaWduYWxNBgGMT3B0aW9uPHJlbGF5X2NoYWluOjpVcGdyYWRlR29BaGVhZD4AAFkGBBhPcHRpb24EBFQBXQYBCBBOb25lAAAAEFNvbWUEAF0GAAABAABdBgxMcG9sa2Fkb3RfcHJpbWl0aXZlcwh2OUhVcGdyYWRlUmVzdHJpY3Rpb24AAQQcUHJlc2VudAAAAABhBgx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbVByZWxheV9zdGF0ZV9zbmFwc2hvdFhNZXNzYWdpbmdTdGF0ZVNuYXBzaG90AAAQATBkbXFfbXFjX2hlYWQ8AURyZWxheV9jaGFpbjo6SGFzaAABnHJlbGF5X2Rpc3BhdGNoX3F1ZXVlX3JlbWFpbmluZ19jYXBhY2l0eWUGAYxSZWxheURpc3BhdGNoUXVldWVSZW1haW5pbmdDYXBhY2l0eQABQGluZ3Jlc3NfY2hhbm5lbHNpBgGIVmVjPChQYXJhSWQsIEFicmlkZ2VkSHJtcENoYW5uZWwpPgABPGVncmVzc19jaGFubmVsc2kGAYhWZWM8KFBhcmFJZCwgQWJyaWRnZWRIcm1wQ2hhbm5lbCk+AABlBgx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbVByZWxheV9zdGF0ZV9zbmFwc2hvdIxSZWxheURpc3BhdGNoUXVldWVSZW1haW5pbmdDYXBhY2l0eQAACAE8cmVtYWluaW5nX2NvdW50OAEMdTMyAAE4cmVtYWluaW5nX3NpemU4AQx1MzIAAGkGAAACbQYAbQYAAAQInHEGAHEGDExwb2xrYWRvdF9wcmltaXRpdmVzCHY5TEFicmlkZ2VkSHJtcENoYW5uZWwAABgBMG1heF9jYXBhY2l0eTgBDHUzMgABOG1heF90b3RhbF9zaXplOAEMdTMyAAFAbWF4X21lc3NhZ2Vfc2l6ZTgBDHUzMgABJG1zZ19jb3VudDgBDHUzMgABKHRvdGFsX3NpemU4AQx1MzIAASBtcWNfaGVhZKEFATBPcHRpb248SGFzaD4AAHUGDExwb2xrYWRvdF9wcmltaXRpdmVzCHY5ZEFicmlkZ2VkSG9zdENvbmZpZ3VyYXRpb24AACgBNG1heF9jb2RlX3NpemU4AQx1MzIAAUhtYXhfaGVhZF9kYXRhX3NpemU4AQx1MzIAAVhtYXhfdXB3YXJkX3F1ZXVlX2NvdW50OAEMdTMyAAFUbWF4X3Vwd2FyZF9xdWV1ZV9zaXplOAEMdTMyAAFcbWF4X3Vwd2FyZF9tZXNzYWdlX3NpemU4AQx1MzIAAZBtYXhfdXB3YXJkX21lc3NhZ2VfbnVtX3Blcl9jYW5kaWRhdGU4AQx1MzIAAYhocm1wX21heF9tZXNzYWdlX251bV9wZXJfY2FuZGlkYXRlOAEMdTMyAAFsdmFsaWRhdGlvbl91cGdyYWRlX2Nvb2xkb3duOAEsQmxvY2tOdW1iZXIAAWB2YWxpZGF0aW9uX3VwZ3JhZGVfZGVsYXk4ASxCbG9ja051bWJlcgABUGFzeW5jX2JhY2tpbmdfcGFyYW1zeQYBSEFzeW5jQmFja2luZ1BhcmFtcwAAeQYQTHBvbGthZG90X3ByaW1pdGl2ZXMIdjk0YXN5bmNfYmFja2luZ0hBc3luY0JhY2tpbmdQYXJhbXMAAAgBTG1heF9jYW5kaWRhdGVfZGVwdGg4AQx1MzIAAVBhbGxvd2VkX2FuY2VzdHJ5X2xlbjgBDHUzMgAAfQYIlGN1bXVsdXNfcHJpbWl0aXZlc19wYXJhY2hhaW5faW5oZXJlbnRETWVzc2FnZVF1ZXVlQ2hhaW4AAAQAPAEkUmVsYXlIYXNoAACBBgQgQlRyZWVNYXAIBEsBnARWAX0GAAQAhQYAAACFBgAAAokGAIkGAAAECJx9BgCNBgx8Y3VtdWx1c19wYWxsZXRfcGFyYWNoYWluX3N5c3RlbUhwYXJhY2hhaW5faW5oZXJlbnRASW5ib3VuZE1lc3NhZ2VJZAAACAEcc2VudF9hdDgBLEJsb2NrTnVtYmVyAAEscmV2ZXJzZV9pZHg4AQx1MzIAAJEGAAAClQYAlQYIYHBvbGthZG90X2NvcmVfcHJpbWl0aXZlc0xPdXRib3VuZEhybXBNZXNzYWdlBAhJZAGcAAgBJHJlY2lwaWVudJwBCElkAAEQZGF0YRgBTGFsbG9jOjp2ZWM6OlZlYzx1OD4AAJkGCHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtLFBvVk1lc3NhZ2VzAAAYAWhyZWxheV9zdG9yYWdlX3Jvb3Rfb3JfaGFzaDwBRHJlbGF5X2NoYWluOjpIYXNoAAE0Y29yZV9zZWxlY3RvcgwBCHU4AAEwYnVuZGxlX2luZGV4DAEIdTgAATR1bXBfbXNnX2NvdW50OAEMdTMyAAFMaHJtcF9vdXRib3VuZF9jb3VudDgBDHUzMgABYGhybXBfb3V0Ym91bmRfcmVjaXBpZW50c50GASxWZWM8UGFyYUlkPgAAnQYAAAKcAKEGDHxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtGHBhbGxldBRFcnJvcgQEVAABGExPdmVybGFwcGluZ1VwZ3JhZGVzAAAEGQFBdHRlbXB0IHRvIHVwZ3JhZGUgdmFsaWRhdGlvbiBmdW5jdGlvbiB3aGlsZSBleGlzdGluZyB1cGdyYWRlIHBlbmRpbmcuUFByb2hpYml0ZWRCeVBvbGthZG90AAEETQFQb2xrYWRvdCBjdXJyZW50bHkgcHJvaGliaXRzIHRoaXMgcGFyYWNoYWluIGZyb20gdXBncmFkaW5nIGl0cyB2YWxpZGF0aW9uIGZ1bmN0aW9uLhhUb29CaWcAAghFAVRoZSBzdXBwbGllZCB2YWxpZGF0aW9uIGZ1bmN0aW9uIGhhcyBjb21waWxlZCBpbnRvIGEgYmxvYiBsYXJnZXIgdGhhbiBQb2xrYWRvdCBpczx3aWxsaW5nIHRvIHJ1bi5oVmFsaWRhdGlvbkRhdGFOb3RBdmFpbGFibGUAAwQdAVRoZSBpbmhlcmVudCB3aGljaCBzdXBwbGllcyB0aGUgdmFsaWRhdGlvbiBkYXRhIGRpZCBub3QgcnVuIHRoaXMgYmxvY2sudEhvc3RDb25maWd1cmF0aW9uTm90QXZhaWxhYmxlAAQEKQFUaGUgaW5oZXJlbnQgd2hpY2ggc3VwcGxpZXMgdGhlIGhvc3QgY29uZmlndXJhdGlvbiBkaWQgbm90IHJ1biB0aGlzIGJsb2NrLjBOb3RTY2hlZHVsZWQABQTYTm8gdmFsaWRhdGlvbiBmdW5jdGlvbiB1cGdyYWRlIGlzIGN1cnJlbnRseSBzY2hlZHVsZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LqUGDExib3VuZGVkX2NvbGxlY3Rpb25zQHdlYWtfYm91bmRlZF92ZWM4V2Vha0JvdW5kZWRWZWMIBFQBqQYEUwAABACxBgEYVmVjPFQ+AACpBgw8cGFsbGV0X2JhbGFuY2VzFHR5cGVzLEJhbGFuY2VMb2NrBBxCYWxhbmNlAcQADAEIaWSdAQE4TG9ja0lkZW50aWZpZXIAARhhbW91bnTEARxCYWxhbmNlAAEccmVhc29uc60GARxSZWFzb25zAACtBgw8cGFsbGV0X2JhbGFuY2VzFHR5cGVzHFJlYXNvbnMAAQwMRmVlAAAAEE1pc2MAAQAMQWxsAAIAALEGAAACqQYAtQYMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAG5BgRTAAAEAL0GARhWZWM8VD4AALkGDDxwYWxsZXRfYmFsYW5jZXMUdHlwZXMsUmVzZXJ2ZURhdGEIRFJlc2VydmVJZGVudGlmaWVyAZ0BHEJhbGFuY2UBxAAIAQhpZJ0BAURSZXNlcnZlSWRlbnRpZmllcgABGGFtb3VudMQBHEJhbGFuY2UAAL0GAAACuQYAwQYMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHFBgRTAAAEAMkGARhWZWM8VD4AAMUGFDRmcmFtZV9zdXBwb3J0GHRyYWl0cxh0b2tlbnMQbWlzYyBJZEFtb3VudAgISWQBAQUcQmFsYW5jZQHEAAgBCGlkAQUBCElkAAEYYW1vdW50xAEcQmFsYW5jZQAAyQYAAALFBgDNBgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAdEGBFMAAAQA1QYBGFZlYzxUPgAA0QYUNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucxBtaXNjIElkQW1vdW50CAhJZAEQHEJhbGFuY2UBxAAIAQhpZBABCElkAAEYYW1vdW50xAEcQmFsYW5jZQAA1QYAAALRBgDZBgw8cGFsbGV0X2JhbGFuY2VzGHBhbGxldBRFcnJvcggEVAAESQABMDhWZXN0aW5nQmFsYW5jZQAABJxWZXN0aW5nIGJhbGFuY2UgdG9vIGhpZ2ggdG8gc2VuZCB2YWx1ZS5UTGlxdWlkaXR5UmVzdHJpY3Rpb25zAAEEyEFjY291bnQgbGlxdWlkaXR5IHJlc3RyaWN0aW9ucyBwcmV2ZW50IHdpdGhkcmF3YWwuTEluc3VmZmljaWVudEJhbGFuY2UAAgR4QmFsYW5jZSB0b28gbG93IHRvIHNlbmQgdmFsdWUuSEV4aXN0ZW50aWFsRGVwb3NpdAADBOxWYWx1ZSB0b28gbG93IHRvIGNyZWF0ZSBhY2NvdW50IGR1ZSB0byBleGlzdGVudGlhbCBkZXBvc2l0LjRFeHBlbmRhYmlsaXR5AAQEkFRyYW5zZmVyL3BheW1lbnQgd291bGQga2lsbCBhY2NvdW50LlxFeGlzdGluZ1Zlc3RpbmdTY2hlZHVsZQAFBMxBIHZlc3Rpbmcgc2NoZWR1bGUgYWxyZWFkeSBleGlzdHMgZm9yIHRoaXMgYWNjb3VudC4sRGVhZEFjY291bnQABgSMQmVuZWZpY2lhcnkgYWNjb3VudCBtdXN0IHByZS1leGlzdC48VG9vTWFueVJlc2VydmVzAAcEuE51bWJlciBvZiBuYW1lZCByZXNlcnZlcyBleGNlZWQgYE1heFJlc2VydmVzYC4wVG9vTWFueUhvbGRzAAgE+E51bWJlciBvZiBob2xkcyBleGNlZWQgYFZhcmlhbnRDb3VudE9mPFQ6OlJ1bnRpbWVIb2xkUmVhc29uPmAuOFRvb01hbnlGcmVlemVzAAkEmE51bWJlciBvZiBmcmVlemVzIGV4Y2VlZCBgTWF4RnJlZXplc2AuTElzc3VhbmNlRGVhY3RpdmF0ZWQACgQBAVRoZSBpc3N1YW5jZSBjYW5ub3QgYmUgbW9kaWZpZWQgc2luY2UgaXQgaXMgYWxyZWFkeSBkZWFjdGl2YXRlZC4kRGVsdGFaZXJvAAsEZFRoZSBkZWx0YSBjYW5ub3QgYmUgemVyby4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu3QYIaHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50IFJlbGVhc2VzAAEIJFYxQW5jaWVudAAAAAhWMgABAADhBhA0ZnJhbWVfc3VwcG9ydBh0cmFpdHMcc3RvcmFnZRhOb0Ryb3AEBFQB5QYABADlBgEEVAAA5QYYNGZyYW1lX3N1cHBvcnQYdHJhaXRzGHRva2VucyBmdW5naWJsZSRpbWJhbGFuY2UkSW1iYWxhbmNlDARCAcQYT25Ecm9wADhPcHBvc2l0ZU9uRHJvcAAABAEYYW1vdW50xAEEQgAA6QYMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEEBFMAAAQAzAEYVmVjPFQ+AADtBgxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAfEGBFMAAAQA9QYBGFZlYzxUPgAA8QYMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0NENhbmRpZGF0ZUluZm8IJEFjY291bnRJZAEEHEJhbGFuY2UBxAAIAQx3aG8EASRBY2NvdW50SWQAARxkZXBvc2l0xAEcQmFsYW5jZQAA9QYAAALxBgD5Bgg0ZnJhbWVfc3VwcG9ydCBQYWxsZXRJZAAABACdAQEcW3U4OyA4XQAA/QYMZHBhbGxldF9jb2xsYXRvcl9zZWxlY3Rpb24YcGFsbGV0FEVycm9yBARUAAFERFRvb01hbnlDYW5kaWRhdGVzAAAEjFRoZSBwYWxsZXQgaGFzIHRvbyBtYW55IGNhbmRpZGF0ZXMuXFRvb0Zld0VsaWdpYmxlQ29sbGF0b3JzAAEErExlYXZpbmcgd291bGQgcmVzdWx0IGluIHRvbyBmZXcgY2FuZGlkYXRlcy5AQWxyZWFkeUNhbmRpZGF0ZQACBHxBY2NvdW50IGlzIGFscmVhZHkgYSBjYW5kaWRhdGUuME5vdENhbmRpZGF0ZQADBGxBY2NvdW50IGlzIG5vdCBhIGNhbmRpZGF0ZS5QVG9vTWFueUludnVsbmVyYWJsZXMABASEVGhlcmUgYXJlIHRvbyBtYW55IEludnVsbmVyYWJsZXMuTEFscmVhZHlJbnZ1bG5lcmFibGUABQSMQWNjb3VudCBpcyBhbHJlYWR5IGFuIEludnVsbmVyYWJsZS48Tm90SW52dWxuZXJhYmxlAAYEfEFjY291bnQgaXMgbm90IGFuIEludnVsbmVyYWJsZS5cTm9Bc3NvY2lhdGVkVmFsaWRhdG9ySWQABwScQWNjb3VudCBoYXMgbm8gYXNzb2NpYXRlZCB2YWxpZGF0b3IgSUQuWFZhbGlkYXRvck5vdFJlZ2lzdGVyZWQACASMVmFsaWRhdG9yIElEIGlzIG5vdCB5ZXQgcmVnaXN0ZXJlZC5sSW5zZXJ0VG9DYW5kaWRhdGVMaXN0RmFpbGVkAAkEnENvdWxkIG5vdCBpbnNlcnQgaW4gdGhlIGNhbmRpZGF0ZSBsaXN0LnRSZW1vdmVGcm9tQ2FuZGlkYXRlTGlzdEZhaWxlZAAKBKRDb3VsZCBub3QgcmVtb3ZlIGZyb20gdGhlIGNhbmRpZGF0ZSBsaXN0LjREZXBvc2l0VG9vTG93AAsE9E5ldyBkZXBvc2l0IGFtb3VudCB3b3VsZCBiZSBiZWxvdyB0aGUgbWluaW11bSBjYW5kaWRhY3kgYm9uZC5kVXBkYXRlQ2FuZGlkYXRlTGlzdEZhaWxlZAAMBJBDb3VsZCBub3QgdXBkYXRlIHRoZSBjYW5kaWRhdGUgbGlzdC5ASW5zdWZmaWNpZW50Qm9uZAANBCkBRGVwb3NpdCBhbW91bnQgaXMgdG9vIGxvdyB0byB0YWtlIHRoZSB0YXJnZXQncyBzbG90IGluIHRoZSBjYW5kaWRhdGUgbGlzdC5QVGFyZ2V0SXNOb3RDYW5kaWRhdGUADgQtAVRoZSB0YXJnZXQgYWNjb3VudCB0byBiZSByZXBsYWNlZCBpbiB0aGUgY2FuZGlkYXRlIGxpc3QgaXMgbm90IGEgY2FuZGlkYXRlLkBJZGVudGljYWxEZXBvc2l0AA8EDQFUaGUgdXBkYXRlZCBkZXBvc2l0IGFtb3VudCBpcyBlcXVhbCB0byB0aGUgYW1vdW50IGFscmVhZHkgcmVzZXJ2ZWQuQEludmFsaWRVbnJlc2VydmUAEAQ9AUNhbm5vdCBsb3dlciBjYW5kaWRhY3kgYm9uZCB3aGlsZSBvY2N1cHlpbmcgYSBmdXR1cmUgY29sbGF0b3Igc2xvdCBpbiB0aGUgbGlzdC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuAQcAAAIFBwAFBwAABAgE3AAJBwAAAg0HAA0HAAAECDgRBwARBwwoc3Bfc3Rha2luZxxvZmZlbmNlPE9mZmVuY2VTZXZlcml0eQAABAAVBwEcUGVyYmlsbAAAFQcMNHNwX2FyaXRobWV0aWMocGVyX3RoaW5ncxxQZXJiaWxsAAAEADgBDHUzMgAAGQcAAAQIHQcYAB0HDBxzcF9jb3JlGGNyeXB0byRLZXlUeXBlSWQAAAQAcAEcW3U4OyA0XQAAIQcMOHBhbGxldF9zZXNzaW9uGHBhbGxldBRFcnJvcgQEVAABFDBJbnZhbGlkUHJvb2YAAARgSW52YWxpZCBvd25lcnNoaXAgcHJvb2YuXE5vQXNzb2NpYXRlZFZhbGlkYXRvcklkAAEEnE5vIGFzc29jaWF0ZWQgdmFsaWRhdG9yIElEIGZvciBhY2NvdW50LjREdXBsaWNhdGVkS2V5AAIEZFJlZ2lzdGVyZWQgZHVwbGljYXRlIGtleS4YTm9LZXlzAAMEpE5vIGtleXMgYXJlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGFjY291bnQuJE5vQWNjb3VudAAEBBkBS2V5IHNldHRpbmcgYWNjb3VudCBpcyBub3QgbGl2ZSwgc28gaXQncyBpbXBvc3NpYmxlIHRvIGFzc29jaWF0ZSBrZXlzLgR0RXJyb3IgZm9yIHRoZSBzZXNzaW9uIHBhbGxldC4lBwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAeAEUwAABAApBwEYVmVjPFQ+AAApBwAAAuAALQcISHNwX2NvbnNlbnN1c19zbG90cxBTbG90AAAEACgBDHU2NAAAMQcAAAQILQc4ADUHDExib3VuZGVkX2NvbGxlY3Rpb25zRGJvdW5kZWRfYnRyZWVfc2V0PEJvdW5kZWRCVHJlZVNldAgEVAGcBFMAAAQAOQcBLEJUcmVlU2V0PFQ+AAA5BwQgQlRyZWVTZXQEBFQBnAAEAJ0GAAAAPQcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAFBBwRTAAAEAE0HARhWZWM8VD4AAEEHCGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlWE91dGJvdW5kQ2hhbm5lbERldGFpbHMAABgBJHJlY2lwaWVudJwBGFBhcmFJZAABFHN0YXRlRQcBNE91dGJvdW5kU3RhdGUAATRzaWduYWxzX2V4aXN0yAEQYm9vbAABLGZpcnN0X2luZGV4BQMBDHUxNgABKGxhc3RfaW5kZXgFAwEMdTE2AAEUZmxhZ3NJBwFQT3V0Ym91bmRDaGFubmVsRmxhZ3MAAEUHCGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlNE91dGJvdW5kU3RhdGUAAQgIT2sAAAAkU3VzcGVuZGVkAAEAAEkHCGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlUE91dGJvdW5kQ2hhbm5lbEZsYWdzAAAEARBiaXRzOAEMdTMyAABNBwAAAkEHAFEHAAAECJwFAwBVBwxMYm91bmRlZF9jb2xsZWN0aW9uc0B3ZWFrX2JvdW5kZWRfdmVjOFdlYWtCb3VuZGVkVmVjCARUAQwEUwAABAAYARhWZWM8VD4AAFkHCGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlPFF1ZXVlQ29uZmlnRGF0YQAADAFEc3VzcGVuZF90aHJlc2hvbGQ4AQx1MzIAAThkcm9wX3RocmVzaG9sZDgBDHUzMgABQHJlc3VtZV90aHJlc2hvbGQ4AQx1MzIAAF0HDGRjdW11bHVzX3BhbGxldF94Y21wX3F1ZXVlGHBhbGxldBRFcnJvcgQEVAABFDhCYWRRdWV1ZUNvbmZpZwAABBEBU2V0dGluZyB0aGUgcXVldWUgY29uZmlnIGZhaWxlZCBzaW5jZSBvbmUgb2YgaXRzIHZhbHVlcyB3YXMgaW52YWxpZC5AQWxyZWFkeVN1c3BlbmRlZAABBIxUaGUgZXhlY3V0aW9uIGlzIGFscmVhZHkgc3VzcGVuZGVkLjhBbHJlYWR5UmVzdW1lZAACBIRUaGUgZXhlY3V0aW9uIGlzIGFscmVhZHkgcmVzdW1lZC50VG9vTWFueUFjdGl2ZU91dGJvdW5kQ2hhbm5lbHMAAwSwVGhlcmUgYXJlIHRvbyBtYW55IGFjdGl2ZSBvdXRib3VuZCBjaGFubmVscy4YVG9vQmlnAAQEXFRoZSBtZXNzYWdlIGlzIHRvbyBiaWcuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LmEHDChwYWxsZXRfeGNtGHBhbGxldCxRdWVyeVN0YXR1cwQsQmxvY2tOdW1iZXIBOAEMHFBlbmRpbmcQASRyZXNwb25kZXLsAURWZXJzaW9uZWRMb2NhdGlvbgABTG1heWJlX21hdGNoX3F1ZXJpZXJlBwFkT3B0aW9uPFZlcnNpb25lZExvY2F0aW9uPgABMG1heWJlX25vdGlmeWkHAUBPcHRpb248KHU4LCB1OCk+AAEcdGltZW91dDgBLEJsb2NrTnVtYmVyAAAAPFZlcnNpb25Ob3RpZmllcggBGG9yaWdpbuwBRFZlcnNpb25lZExvY2F0aW9uAAEkaXNfYWN0aXZlyAEQYm9vbAABABRSZWFkeQgBIHJlc3BvbnNlcQcBRFZlcnNpb25lZFJlc3BvbnNlAAEIYXQ4ASxCbG9ja051bWJlcgACAABlBwQYT3B0aW9uBARUAewBCBBOb25lAAAAEFNvbWUEAOwAAAEAAGkHBBhPcHRpb24EBFQBbQcBCBBOb25lAAAAEFNvbWUEAG0HAAABAABtBwAABAgMDABxBwgMeGNtRFZlcnNpb25lZFJlc3BvbnNlAAEMCFYzBAClAQEwdjM6OlJlc3BvbnNlAAMACFY0BAAVAgEwdjQ6OlJlc3BvbnNlAAQACFY1BABhAgEwdjU6OlJlc3BvbnNlAAUAAHUHAAAECDjsAHkHAAAEDCi1ATgAfQcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGBBwRTAAAEAIUHARhWZWM8VD4AAIEHAAAECOw4AIUHAAACgQcAiQcMKHBhbGxldF94Y20YcGFsbGV0VFZlcnNpb25NaWdyYXRpb25TdGFnZQABEFxNaWdyYXRlU3VwcG9ydGVkVmVyc2lvbgAAAFxNaWdyYXRlVmVyc2lvbk5vdGlmaWVycwABAFBOb3RpZnlDdXJyZW50VGFyZ2V0cwQAjQcBPE9wdGlvbjxWZWM8dTg+PgACAGhNaWdyYXRlQW5kTm90aWZ5T2xkVGFyZ2V0cwADAACNBwQYT3B0aW9uBARUARgBCBBOb25lAAAAEFNvbWUEABgAAAEAAJEHAAAEDDgE8QIAlQcMKHBhbGxldF94Y20YcGFsbGV0aFJlbW90ZUxvY2tlZEZ1bmdpYmxlUmVjb3JkCEhDb25zdW1lcklkZW50aWZpZXIBEDBNYXhDb25zdW1lcnMAABABGGFtb3VudMQBEHUxMjgAARRvd25lcuwBRFZlcnNpb25lZExvY2F0aW9uAAEYbG9ja2Vy7AFEVmVyc2lvbmVkTG9jYXRpb24AASRjb25zdW1lcnOZBwHQQm91bmRlZFZlYzwoQ29uc3VtZXJJZGVudGlmaWVyLCB1MTI4KSwgTWF4Q29uc3VtZXJzPgAAmQcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGdBwRTAAAEAKEHARhWZWM8VD4AAJ0HAAAECBDEAKEHAAACnQcApQcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAGpBwRTAAAEAK0HARhWZWM8VD4AAKkHAAAECMTsAK0HAAACqQcAsQcIKHBhbGxldF94Y21YQXV0aG9yaXplZEFsaWFzZXNFbnRyeQgYVGlja2V0AbUHDE1BWAG5BwAIASBhbGlhc2Vyc70HAXhCb3VuZGVkVmVjPE9yaWdpbkFsaWFzZXIsIE1BWD4AARh0aWNrZXS1BwEYVGlja2V0AAC1BxQ0ZnJhbWVfc3VwcG9ydBh0cmFpdHMYdG9rZW5zIGZ1bmdpYmxlREhvbGRDb25zaWRlcmF0aW9uFARBAARGAARSAAREAAhGcAAABADEAShGOjpCYWxhbmNlAAC5BwwocGFsbGV0X3hjbRhwYWxsZXRQTWF4QXV0aG9yaXplZEFsaWFzZXMAAAAAvQcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAHBBwRTAAAEAMUHARhWZWM8VD4AAMEHDEB4Y21fcnVudGltZV9hcGlzSGF1dGhvcml6ZWRfYWxpYXNlczRPcmlnaW5BbGlhc2VyAAAIASBsb2NhdGlvbuwBRFZlcnNpb25lZExvY2F0aW9uAAEYZXhwaXJ59QIBLE9wdGlvbjx1NjQ+AADFBwAAAsEHAMkHDChwYWxsZXRfeGNtGHBhbGxldBRFcnJvcgQEVAABcCxVbnJlYWNoYWJsZQAACF0BVGhlIGRlc2lyZWQgZGVzdGluYXRpb24gd2FzIHVucmVhY2hhYmxlLCBnZW5lcmFsbHkgYmVjYXVzZSB0aGVyZSBpcyBhIG5vIHdheSBvZiByb3V0aW5nGHRvIGl0LixTZW5kRmFpbHVyZQABCEEBVGhlcmUgd2FzIHNvbWUgb3RoZXIgaXNzdWUgKGkuZS4gbm90IHRvIGRvIHdpdGggcm91dGluZykgaW4gc2VuZGluZyB0aGUgbWVzc2FnZS7IUGVyaGFwcyBhIGxhY2sgb2Ygc3BhY2UgZm9yIGJ1ZmZlcmluZyB0aGUgbWVzc2FnZS4gRmlsdGVyZWQAAgScVGhlIG1lc3NhZ2UgZXhlY3V0aW9uIGZhaWxzIHRoZSBmaWx0ZXIuSFVud2VpZ2hhYmxlTWVzc2FnZQADBLRUaGUgbWVzc2FnZSdzIHdlaWdodCBjb3VsZCBub3QgYmUgZGV0ZXJtaW5lZC5gRGVzdGluYXRpb25Ob3RJbnZlcnRpYmxlAAQE3FRoZSBkZXN0aW5hdGlvbiBgTG9jYXRpb25gIHByb3ZpZGVkIGNhbm5vdCBiZSBpbnZlcnRlZC4URW1wdHkABQSAVGhlIGFzc2V0cyB0byBiZSBzZW50IGFyZSBlbXB0eS44Q2Fubm90UmVhbmNob3IABgQ1AUNvdWxkIG5vdCByZS1hbmNob3IgdGhlIGFzc2V0cyB0byBkZWNsYXJlIHRoZSBmZWVzIGZvciB0aGUgZGVzdGluYXRpb24gY2hhaW4uNFRvb01hbnlBc3NldHMABwTEVG9vIG1hbnkgYXNzZXRzIGhhdmUgYmVlbiBhdHRlbXB0ZWQgZm9yIHRyYW5zZmVyLjRJbnZhbGlkT3JpZ2luAAgEeE9yaWdpbiBpcyBpbnZhbGlkIGZvciBzZW5kaW5nLihCYWRWZXJzaW9uAAkEIQFUaGUgdmVyc2lvbiBvZiB0aGUgYFZlcnNpb25lZGAgdmFsdWUgdXNlZCBpcyBub3QgYWJsZSB0byBiZSBpbnRlcnByZXRlZC4sQmFkTG9jYXRpb24ACghBAVRoZSBnaXZlbiBsb2NhdGlvbiBjb3VsZCBub3QgYmUgdXNlZCAoZS5nLiBiZWNhdXNlIGl0IGNhbm5vdCBiZSBleHByZXNzZWQgaW4gdGhlYGRlc2lyZWQgdmVyc2lvbiBvZiBYQ00pLjhOb1N1YnNjcmlwdGlvbgALBLxUaGUgcmVmZXJlbmNlZCBzdWJzY3JpcHRpb24gY291bGQgbm90IGJlIGZvdW5kLkRBbHJlYWR5U3Vic2NyaWJlZAAMBBEBVGhlIGxvY2F0aW9uIGlzIGludmFsaWQgc2luY2UgaXQgYWxyZWFkeSBoYXMgYSBzdWJzY3JpcHRpb24gZnJvbSB1cy5YQ2Fubm90Q2hlY2tPdXRUZWxlcG9ydAANBCkBQ291bGQgbm90IGNoZWNrLW91dCB0aGUgYXNzZXRzIGZvciB0ZWxlcG9ydGF0aW9uIHRvIHRoZSBkZXN0aW5hdGlvbiBjaGFpbi4oTG93QmFsYW5jZQAOBEEBVGhlIG93bmVyIGRvZXMgbm90IG93biAoYWxsKSBvZiB0aGUgYXNzZXQgdGhhdCB0aGV5IHdpc2ggdG8gZG8gdGhlIG9wZXJhdGlvbiBvbi4wVG9vTWFueUxvY2tzAA8EwFRoZSBhc3NldCBvd25lciBoYXMgdG9vIG1hbnkgbG9ja3Mgb24gdGhlIGFzc2V0LkxBY2NvdW50Tm90U292ZXJlaWduABAEMQFUaGUgZ2l2ZW4gYWNjb3VudCBpcyBub3QgYW4gaWRlbnRpZmlhYmxlIHNvdmVyZWlnbiBhY2NvdW50IGZvciBhbnkgbG9jYXRpb24uKEZlZXNOb3RNZXQAEQQpAVRoZSBvcGVyYXRpb24gcmVxdWlyZWQgZmVlcyB0byBiZSBwYWlkIHdoaWNoIHRoZSBpbml0aWF0b3IgY291bGQgbm90IG1lZXQuMExvY2tOb3RGb3VuZAASBPRBIHJlbW90ZSBsb2NrIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZGF0YSBjb3VsZCBub3QgYmUgZm91bmQuFEluVXNlABMESQFUaGUgdW5sb2NrIG9wZXJhdGlvbiBjYW5ub3Qgc3VjY2VlZCBiZWNhdXNlIHRoZXJlIGFyZSBzdGlsbCBjb25zdW1lcnMgb2YgdGhlIGxvY2suaEludmFsaWRBc3NldFVua25vd25SZXNlcnZlABUE8EludmFsaWQgYXNzZXQsIHJlc2VydmUgY2hhaW4gY291bGQgbm90IGJlIGRldGVybWluZWQgZm9yIGl0LnhJbnZhbGlkQXNzZXRVbnN1cHBvcnRlZFJlc2VydmUAFgRFAUludmFsaWQgYXNzZXQsIGRvIG5vdCBzdXBwb3J0IHJlbW90ZSBhc3NldCByZXNlcnZlcyB3aXRoIGRpZmZlcmVudCBmZWVzIHJlc2VydmVzLjxUb29NYW55UmVzZXJ2ZXMAFwRJAVRvbyBtYW55IGFzc2V0cyB3aXRoIGRpZmZlcmVudCByZXNlcnZlIGxvY2F0aW9ucyBoYXZlIGJlZW4gYXR0ZW1wdGVkIGZvciB0cmFuc2Zlci5gTG9jYWxFeGVjdXRpb25JbmNvbXBsZXRlABgEfExvY2FsIFhDTSBleGVjdXRpb24gaW5jb21wbGV0ZS5gVG9vTWFueUF1dGhvcml6ZWRBbGlhc2VzABkEuFRvbyBtYW55IGxvY2F0aW9ucyBhdXRob3JpemVkIHRvIGFsaWFzIG9yaWdpbi40RXhwaXJlc0luUGFzdAAaBIxFeHBpcnkgYmxvY2sgbnVtYmVyIGlzIGluIHRoZSBwYXN0LjRBbGlhc05vdEZvdW5kABsE0FRoZSBhbGlhcyB0byByZW1vdmUgYXV0aG9yaXphdGlvbiBmb3Igd2FzIG5vdCBmb3VuZC6ETG9jYWxFeGVjdXRpb25JbmNvbXBsZXRlV2l0aEVycm9yCAEUaW5kZXgMAUBJbnN0cnVjdGlvbkluZGV4AAEUZXJyb3LNBwE4RXhlY3V0aW9uRXJyb3IAHAg1AUxvY2FsIFhDTSBleGVjdXRpb24gaW5jb21wbGV0ZSB3aXRoIHRoZSBhY3R1YWwgWENNIGVycm9yIGFuZCB0aGUgaW5kZXggb2YgdGhliGluc3RydWN0aW9uIHRoYXQgY2F1c2VkIHRoZSBlcnJvci4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuzQcMKHBhbGxldF94Y20YZXJyb3JzOEV4ZWN1dGlvbkVycm9yAAGkIE92ZXJmbG93AAAANFVuaW1wbGVtZW50ZWQAAQBgVW50cnVzdGVkUmVzZXJ2ZUxvY2F0aW9uAAIAZFVudHJ1c3RlZFRlbGVwb3J0TG9jYXRpb24AAwAwTG9jYXRpb25GdWxsAAQAVExvY2F0aW9uTm90SW52ZXJ0aWJsZQAFACRCYWRPcmlnaW4ABgA8SW52YWxpZExvY2F0aW9uAAcANEFzc2V0Tm90Rm91bmQACABURmFpbGVkVG9UcmFuc2FjdEFzc2V0AAkAPE5vdFdpdGhkcmF3YWJsZQAKAEhMb2NhdGlvbkNhbm5vdEhvbGQACwBURXhjZWVkc01heE1lc3NhZ2VTaXplAAwAWERlc3RpbmF0aW9uVW5zdXBwb3J0ZWQADQAkVHJhbnNwb3J0AA4AKFVucm91dGFibGUADwAwVW5rbm93bkNsYWltABAAOEZhaWxlZFRvRGVjb2RlABEAQE1heFdlaWdodEludmFsaWQAEgA4Tm90SG9sZGluZ0ZlZXMAEwAwVG9vRXhwZW5zaXZlABQAEFRyYXAAFQBARXhwZWN0YXRpb25GYWxzZQAWADhQYWxsZXROb3RGb3VuZAAXADBOYW1lTWlzbWF0Y2gAGABMVmVyc2lvbkluY29tcGF0aWJsZQAZAFBIb2xkaW5nV291bGRPdmVyZmxvdwAaACxFeHBvcnRFcnJvcgAbADhSZWFuY2hvckZhaWxlZAAcABhOb0RlYWwAHQAoRmVlc05vdE1ldAAeACRMb2NrRXJyb3IAHwAwTm9QZXJtaXNzaW9uACAAKFVuYW5jaG9yZWQAIQA4Tm90RGVwb3NpdGFibGUAIgA0VG9vTWFueUFzc2V0cwAjAExVbmhhbmRsZWRYY21WZXJzaW9uACQASFdlaWdodExpbWl0UmVhY2hlZAAlABxCYXJyaWVyACYATFdlaWdodE5vdENvbXB1dGFibGUAJwBERXhjZWVkc1N0YWNrTGltaXQAKAAA0QcMOHBhbGxldF91dGlsaXR5GHBhbGxldBRFcnJvcgQEVAABBDBUb29NYW55Q2FsbHMAAARcVG9vIG1hbnkgY2FsbHMgYmF0Y2hlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu1QcAAAQIBAgA2QcIPHBhbGxldF9tdWx0aXNpZyBNdWx0aXNpZxAsQmxvY2tOdW1iZXIBOBxCYWxhbmNlAcQkQWNjb3VudElkAQQwTWF4QXBwcm92YWxzAAAQARB3aGVuIQMBWFRpbWVwb2ludDxCbG9ja051bWJlcj4AARxkZXBvc2l0xAEcQmFsYW5jZQABJGRlcG9zaXRvcgQBJEFjY291bnRJZAABJGFwcHJvdmFsc90HAYxCb3VuZGVkVmVjPEFjY291bnRJZCwgTWF4QXBwcm92YWxzPgAA3QcMTGJvdW5kZWRfY29sbGVjdGlvbnMsYm91bmRlZF92ZWMoQm91bmRlZFZlYwgEVAEEBFMAAAQAzAEYVmVjPFQ+AADhBww8cGFsbGV0X211bHRpc2lnGHBhbGxldBRFcnJvcgQEVAABOEBNaW5pbXVtVGhyZXNob2xkAAAEfFRocmVzaG9sZCBtdXN0IGJlIDIgb3IgZ3JlYXRlci48QWxyZWFkeUFwcHJvdmVkAAEErENhbGwgaXMgYWxyZWFkeSBhcHByb3ZlZCBieSB0aGlzIHNpZ25hdG9yeS5ETm9BcHByb3ZhbHNOZWVkZWQAAgScQ2FsbCBkb2Vzbid0IG5lZWQgYW55IChtb3JlKSBhcHByb3ZhbHMuRFRvb0Zld1NpZ25hdG9yaWVzAAMEqFRoZXJlIGFyZSB0b28gZmV3IHNpZ25hdG9yaWVzIGluIHRoZSBsaXN0LkhUb29NYW55U2lnbmF0b3JpZXMABASsVGhlcmUgYXJlIHRvbyBtYW55IHNpZ25hdG9yaWVzIGluIHRoZSBsaXN0LlRTaWduYXRvcmllc091dE9mT3JkZXIABQQNAVRoZSBzaWduYXRvcmllcyB3ZXJlIHByb3ZpZGVkIG91dCBvZiBvcmRlcjsgdGhleSBzaG91bGQgYmUgb3JkZXJlZC5MU2VuZGVySW5TaWduYXRvcmllcwAGBA0BVGhlIHNlbmRlciB3YXMgY29udGFpbmVkIGluIHRoZSBvdGhlciBzaWduYXRvcmllczsgaXQgc2hvdWxkbid0IGJlLiBOb3RGb3VuZAAHBKBNdWx0aXNpZyBvcGVyYXRpb24gbm90IGZvdW5kIGluIHN0b3JhZ2UuIE5vdE93bmVyAAgIUQFPbmx5IHRoZSBhY2NvdW50IHRoYXQgb3JpZ2luYWxseSBjcmVhdGVkIHRoZSBtdWx0aXNpZyBpcyBhYmxlIHRvIGNhbmNlbCBpdCBvciB1cGRhdGU0aXRzIGRlcG9zaXRzLixOb1RpbWVwb2ludAAJBB0BTm8gdGltZXBvaW50IHdhcyBnaXZlbiwgeWV0IHRoZSBtdWx0aXNpZyBvcGVyYXRpb24gaXMgYWxyZWFkeSB1bmRlcndheS44V3JvbmdUaW1lcG9pbnQACgQtAUEgZGlmZmVyZW50IHRpbWVwb2ludCB3YXMgZ2l2ZW4gdG8gdGhlIG11bHRpc2lnIG9wZXJhdGlvbiB0aGF0IGlzIHVuZGVyd2F5LkxVbmV4cGVjdGVkVGltZXBvaW50AAsE9EEgdGltZXBvaW50IHdhcyBnaXZlbiwgeWV0IG5vIG11bHRpc2lnIG9wZXJhdGlvbiBpcyB1bmRlcndheS48TWF4V2VpZ2h0VG9vTG93AAwE0FRoZSBtYXhpbXVtIHdlaWdodCBpbmZvcm1hdGlvbiBwcm92aWRlZCB3YXMgdG9vIGxvdy40QWxyZWFkeVN0b3JlZAANBKBUaGUgZGF0YSB0byBiZSBzdG9yZWQgaXMgYWxyZWFkeSBzdG9yZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LuUHAAAECOkHxADpBwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAe0HBFMAAAQA8QcBGFZlYzxUPgAA7QcIMHBhbGxldF9wcm94eTxQcm94eURlZmluaXRpb24MJEFjY291bnRJZAEEJFByb3h5VHlwZQEtAyxCbG9ja051bWJlcgE4AAwBIGRlbGVnYXRlBAEkQWNjb3VudElkAAEocHJveHlfdHlwZS0DASRQcm94eVR5cGUAARRkZWxheTgBLEJsb2NrTnVtYmVyAADxBwAAAu0HAPUHAAAECPkHxAD5BwxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAf0HBFMAAAQAAQgBGFZlYzxUPgAA/QcIMHBhbGxldF9wcm94eTBBbm5vdW5jZW1lbnQMJEFjY291bnRJZAEEEEhhc2gBPCxCbG9ja051bWJlcgE4AAwBEHJlYWwEASRBY2NvdW50SWQAASRjYWxsX2hhc2g8ARBIYXNoAAEYaGVpZ2h0OAEsQmxvY2tOdW1iZXIAAAEIAAAC/QcABQgMMHBhbGxldF9wcm94eRhwYWxsZXQURXJyb3IEBFQAASAcVG9vTWFueQAABCEBVGhlcmUgYXJlIHRvbyBtYW55IHByb3hpZXMgcmVnaXN0ZXJlZCBvciB0b28gbWFueSBhbm5vdW5jZW1lbnRzIHBlbmRpbmcuIE5vdEZvdW5kAAEEdFByb3h5IHJlZ2lzdHJhdGlvbiBub3QgZm91bmQuIE5vdFByb3h5AAIEzFNlbmRlciBpcyBub3QgYSBwcm94eSBvZiB0aGUgYWNjb3VudCB0byBiZSBwcm94aWVkLixVbnByb3h5YWJsZQADBCEBQSBjYWxsIHdoaWNoIGlzIGluY29tcGF0aWJsZSB3aXRoIHRoZSBwcm94eSB0eXBlJ3MgZmlsdGVyIHdhcyBhdHRlbXB0ZWQuJER1cGxpY2F0ZQAEBGxBY2NvdW50IGlzIGFscmVhZHkgYSBwcm94eS4wTm9QZXJtaXNzaW9uAAUEFQFDYWxsIG1heSBub3QgYmUgbWFkZSBieSBwcm94eSBiZWNhdXNlIGl0IG1heSBlc2NhbGF0ZSBpdHMgcHJpdmlsZWdlcy4sVW5hbm5vdW5jZWQABgTQQW5ub3VuY2VtZW50LCBpZiBtYWRlIGF0IGFsbCwgd2FzIG1hZGUgdG9vIHJlY2VudGx5LixOb1NlbGZQcm94eQAHBGRDYW5ub3QgYWRkIHNlbGYgYXMgcHJveHkuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LgkIAAAECAQ1AwANCAxYcGFsbGV0X2JyaWRnZV9yZWxheWVycxhwYWxsZXQURXJyb3IIBFQABEkAASBITm9SZXdhcmRGb3JSZWxheWVyAAAEqE5vIHJld2FyZCBjYW4gYmUgY2xhaW1lZCBieSBnaXZlbiByZWxheWVyLkRGYWlsZWRUb1BheVJld2FyZAABBJBSZXdhcmQgcGF5bWVudCBwcm9jZWR1cmUgaGFzIGZhaWxlZC5gSW52YWxpZFJlZ2lzdHJhdGlvbkxlYXNlAAIIGQFUaGUgcmVsYXllciBoYXMgdHJpZWQgdG8gcmVnaXN0ZXIgZm9yIHBhc3QgYmxvY2sgb3IgcmVnaXN0cmF0aW9uIGxlYXNlNGlzIHRvbyBzaG9ydC50Q2Fubm90UmVkdWNlUmVnaXN0cmF0aW9uTGVhc2UAAwTUTmV3IHJlZ2lzdHJhdGlvbiBsZWFzZSBpcyBsZXNzIHRoYW4gdGhlIHByZXZpb3VzIG9uZS48RmFpbGVkVG9SZXNlcnZlAAQEyEZhaWxlZCB0byByZXNlcnZlIGVub3VnaCBmdW5kcyBvbiByZWxheWVyIGFjY291bnQuREZhaWxlZFRvVW5yZXNlcnZlAAUE2EZhaWxlZCB0byBgdW5yZXNlcnZlYCBlbm91Z2ggZnVuZHMgb24gcmVsYXllciBhY2NvdW50LjROb3RSZWdpc3RlcmVkAAYEmENhbm5vdCBgZGVyZWdpc3RlcmAgaWYgbm90IHJlZ2lzdGVyZWQuZFJlZ2lzdHJhdGlvbklzU3RpbGxBY3RpdmUABwT4RmFpbGVkIHRvIGBkZXJlZ2lzdGVyYCByZWxheWVyLCBiZWNhdXNlIGxlYXNlIGlzIHN0aWxsIGFjdGl2ZS4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuEQgIKGJwX3J1bnRpbWUgSGVhZGVySWQIEEhhc2gBPBhOdW1iZXIBOAAIADgBGE51bWJlcgAAPAEQSGFzaAAAFQgIPGJwX2hlYWRlcl9jaGFpbkBTdG9yZWRIZWFkZXJEYXRhCBhOdW1iZXIBOBBIYXNoATwACAEYbnVtYmVyOAEYTnVtYmVyAAEoc3RhdGVfcm9vdDwBEEhhc2gAABkIDFRwYWxsZXRfYnJpZGdlX2dyYW5kcGE0c3RvcmFnZV90eXBlc0hTdG9yZWRBdXRob3JpdHlTZXQIBFQABEkAAAgBLGF1dGhvcml0aWVzHQgBzFN0b3JlZEF1dGhvcml0eUxpc3Q8U3RvcmVkQXV0aG9yaXR5TGlzdExpbWl0PFQsIEk+PgABGHNldF9pZCgBFFNldElkAAAdCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAXUDBFMAAAQAcQMBGFZlYzxUPgAAIQgMVHBhbGxldF9icmlkZ2VfZ3JhbmRwYRhwYWxsZXQURXJyb3IIBFQABEkAATBQSW52YWxpZEp1c3RpZmljYXRpb24AAATgVGhlIGdpdmVuIGp1c3RpZmljYXRpb24gaXMgaW52YWxpZCBmb3IgdGhlIGdpdmVuIGhlYWRlci5MSW52YWxpZEF1dGhvcml0eVNldAABBPhUaGUgYXV0aG9yaXR5IHNldCBmcm9tIHRoZSB1bmRlcmx5aW5nIGhlYWRlciBjaGFpbiBpcyBpbnZhbGlkLiRPbGRIZWFkZXIAAgRZAVRoZSBoZWFkZXIgYmVpbmcgaW1wb3J0ZWQgaXMgb2xkZXIgdGhhbiB0aGUgYmVzdCBmaW5hbGl6ZWQgaGVhZGVyIGtub3duIHRvIHRoZSBwYWxsZXQuaFVuc3VwcG9ydGVkU2NoZWR1bGVkQ2hhbmdlAAMMUQFUaGUgc2NoZWR1bGVkIGF1dGhvcml0eSBzZXQgY2hhbmdlIGZvdW5kIGluIHRoZSBoZWFkZXIgaXMgdW5zdXBwb3J0ZWQgYnkgdGhlIHBhbGxldC4AFQFUaGlzIGlzIHRoZSBjYXNlIGZvciBub24tc3RhbmRhcmQgKGUuZyBmb3JjZWQpIGF1dGhvcml0eSBzZXQgY2hhbmdlcy44Tm90SW5pdGlhbGl6ZWQABASIVGhlIHBhbGxldCBpcyBub3QgeWV0IGluaXRpYWxpemVkLkhBbHJlYWR5SW5pdGlhbGl6ZWQABQSgVGhlIHBhbGxldCBoYXMgYWxyZWFkeSBiZWVuIGluaXRpYWxpemVkLlxUb29NYW55QXV0aG9yaXRpZXNJblNldAAGBIBUb28gbWFueSBhdXRob3JpdGllcyBpbiB0aGUgc2V0LjBCcmlkZ2VNb2R1bGUEACUIAYhicF9ydW50aW1lOjpPd25lZEJyaWRnZU1vZHVsZUVycm9yAAcExEVycm9yIGdlbmVyYXRlZCBieSB0aGUgYE93bmVkQnJpZGdlTW9kdWxlYCB0cmFpdC5USW52YWxpZEF1dGhvcml0eVNldElkAAgINQFUaGUgYGN1cnJlbnRfc2V0X2lkYCBhcmd1bWVudCBvZiB0aGUgYHN1Ym1pdF9maW5hbGl0eV9wcm9vZl9leGAgZG9lc24ndCBtYXRjaLx0aGUgaWQgb2YgdGhlIGN1cnJlbnQgc2V0LCBrbm93biB0byB0aGUgcGFsbGV0LlxGcmVlSGVhZGVyc0xpbWl0RXhjZWRlZAAJCDEBVGhlIHN1Ym1pdHRlciB3YW50ZWQgZnJlZSBleGVjdXRpb24sIGJ1dCB3ZSBjYW4ndCBmaXQgbW9yZSBmcmVlIHRyYW5zYWN0aW9uczR0byB0aGUgYmxvY2suXEJlbG93RnJlZUhlYWRlckludGVydmFsAAoIOQFUaGUgc3VibWl0dGVyIHdhbnRlZCBmcmVlIGV4ZWN1dGlvbiwgYnV0IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYmVzdCBrbm93biBhbmToYnVuZGxlZCBoZWFkZXIgbnVtYmVycyBpcyBiZWxvdyB0aGUgYEZyZWVIZWFkZXJzSW50ZXJ2YWxgLlBIZWFkZXJPdmVyZmxvd0xpbWl0cwALCD0BVGhlIGhlYWRlciAoYW5kIGl0cyBmaW5hbGl0eSkgc3VibWlzc2lvbiBvdmVyZmxvd3MgaGFyZGNvZGVkIGNoYWluIGxpbWl0czogc2l6ZZxhbmQvb3Igd2VpZ2h0IGFyZSBsYXJnZXIgdGhhbiBleHBlY3RlZC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuJQgIKGJwX3J1bnRpbWVYT3duZWRCcmlkZ2VNb2R1bGVFcnJvcgABBBhIYWx0ZWQAAAAAKQgINGJwX3BhcmFjaGFpbnMgUGFyYUluZm8AAAgBOGJlc3RfaGVhZF9oYXNoLQgBQEJlc3RQYXJhSGVhZEhhc2gAAWxuZXh0X2ltcG9ydGVkX2hhc2hfcG9zaXRpb244AQx1MzIAAC0ICDRicF9wYXJhY2hhaW5zQEJlc3RQYXJhSGVhZEhhc2gAAAgBVGF0X3JlbGF5X2Jsb2NrX251bWJlcjgBQFJlbGF5QmxvY2tOdW1iZXIAASRoZWFkX2hhc2g8ASBQYXJhSGFzaAAAMQgINGJwX3BhcmFjaGFpbnNQUGFyYVN0b3JlZEhlYWRlckRhdGEAAAQAGAEcVmVjPHU4PgAANQgAAAQIkQM4ADkIDGBwYWxsZXRfYnJpZGdlX3BhcmFjaGFpbnMYcGFsbGV0FEVycm9yCARUAARJAAEQWFVua25vd25SZWxheUNoYWluQmxvY2sAAASgUmVsYXkgY2hhaW4gYmxvY2sgaGFzaCBpcyB1bmtub3duIHRvIHVzLnBJbnZhbGlkUmVsYXlDaGFpbkJsb2NrTnVtYmVyAAEERQFUaGUgbnVtYmVyIG9mIHN0b3JlZCByZWxheSBibG9jayBpcyBkaWZmZXJlbnQgZnJvbSB3aGF0IHRoZSByZWxheWVyIGhhcyBwcm92aWRlZC5cSGVhZGVyQ2hhaW5TdG9yYWdlUHJvb2YEAD0IAUBIZWFkZXJDaGFpbkVycm9yAAIEpFBhcmFjaGFpbiBoZWFkcyBzdG9yYWdlIHByb29mIGlzIGludmFsaWQuMEJyaWRnZU1vZHVsZQQAJQgBiGJwX3J1bnRpbWU6Ok93bmVkQnJpZGdlTW9kdWxlRXJyb3IAAwTERXJyb3IgZ2VuZXJhdGVkIGJ5IHRoZSBgT3duZWRCcmlkZ2VNb2R1bGVgIHRyYWl0LgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC49CAg8YnBfaGVhZGVyX2NoYWluQEhlYWRlckNoYWluRXJyb3IAAQg0VW5rbm93bkhlYWRlcgAAADBTdG9yYWdlUHJvb2YEAEEIAURTdG9yYWdlUHJvb2ZFcnJvcgABAABBCAwoYnBfcnVudGltZTRzdG9yYWdlX3Byb29mRFN0b3JhZ2VQcm9vZkVycm9yAAEoZFVuYWJsZVRvR2VuZXJhdGVUcmllUHJvb2YAAAAwSW52YWxpZFByb29mAAEAPFVuc29ydGVkRW50cmllcwACADhVbmF2YWlsYWJsZUtleQADACBFbXB0eVZhbAAEACxEZWNvZGVFcnJvcgAFACRVbnVzZWRLZXkABgBMU3RvcmFnZVJvb3RNaXNtYXRjaAAHAFxTdG9yYWdlVmFsdWVVbmF2YWlsYWJsZQAIADhEdXBsaWNhdGVOb2RlcwAJAABFCAgsYnBfbWVzc2FnZXM8SW5ib3VuZExhbmVEYXRhBCRSZWxheWVySWQBBAAMASByZWxheWVyc0kIAZhWZWNEZXF1ZTxVbnJld2FyZGVkUmVsYXllcjxSZWxheWVySWQ+PgABUGxhc3RfY29uZmlybWVkX25vbmNlKAEwTWVzc2FnZU5vbmNlAAEUc3RhdGVRCAEkTGFuZVN0YXRlAABJCAAAAk0IAE0ICCxicF9tZXNzYWdlc0RVbnJld2FyZGVkUmVsYXllcgQkUmVsYXllcklkAQQACAEccmVsYXllcgQBJFJlbGF5ZXJJZAABIG1lc3NhZ2VzhQUBRERlbGl2ZXJlZE1lc3NhZ2VzAABRCAwsYnBfbWVzc2FnZXMQbGFuZSRMYW5lU3RhdGUAAQgYT3BlbmVkAAAAGENsb3NlZAABAABVCAgsYnBfbWVzc2FnZXNAT3V0Ym91bmRMYW5lRGF0YQAAEAFUb2xkZXN0X3VucHJ1bmVkX25vbmNlKAEwTWVzc2FnZU5vbmNlAAFUbGF0ZXN0X3JlY2VpdmVkX25vbmNlKAEwTWVzc2FnZU5vbmNlAAFYbGF0ZXN0X2dlbmVyYXRlZF9ub25jZSgBME1lc3NhZ2VOb25jZQABFHN0YXRlUQgBJExhbmVTdGF0ZQAAWQgILGJwX21lc3NhZ2VzKE1lc3NhZ2VLZXkEGExhbmVJZAE9AwAIARxsYW5lX2lkPQMBGExhbmVJZAABFG5vbmNlKAEwTWVzc2FnZU5vbmNlAABdCAxMYm91bmRlZF9jb2xsZWN0aW9ucyxib3VuZGVkX3ZlYyhCb3VuZGVkVmVjCARUAQwEUwAABAAYARhWZWM8VD4AAGEIDFhwYWxsZXRfYnJpZGdlX21lc3NhZ2VzGHBhbGxldBRFcnJvcggEVAAESQABKFBOb3RPcGVyYXRpbmdOb3JtYWxseQAABJxQYWxsZXQgaXMgbm90IGluIE5vcm1hbCBvcGVyYXRpbmcgbW9kZS4wTGFuZXNNYW5hZ2VyBABlCAFETGFuZXNNYW5hZ2VyRXJyb3IAAQSwRXJyb3IgdGhhdCBpcyByZXBvcnRlZCBieSB0aGUgbGFuZXMgbWFuYWdlci5cTWVzc2FnZVJlamVjdGVkQnlQYWxsZXQEAGkIAURWZXJpZmljYXRpb25FcnJvcgACBOBNZXNzYWdlIGhhcyBiZWVuIHRyZWF0ZWQgYXMgaW52YWxpZCBieSB0aGUgcGFsbGV0IGxvZ2ljLmRUb29NYW55TWVzc2FnZXNJblRoZVByb29mAAMEpFRoZSB0cmFuc2FjdGlvbiBicmluZ3MgdG9vIG1hbnkgbWVzc2FnZXMuUEludmFsaWRNZXNzYWdlc1Byb29mAAQEkEludmFsaWQgbWVzc2FnZXMgaGFzIGJlZW4gc3VibWl0dGVkLnBJbnZhbGlkTWVzc2FnZXNEZWxpdmVyeVByb29mAAUEzEludmFsaWQgbWVzc2FnZXMgZGVsaXZlcnkgcHJvb2YgaGFzIGJlZW4gc3VibWl0dGVkLnhJbnZhbGlkVW5yZXdhcmRlZFJlbGF5ZXJzU3RhdGUABggFAVRoZSByZWxheWVyIGhhcyBkZWNsYXJlZCBpbnZhbGlkIHVucmV3YXJkZWQgcmVsYXllcnMgc3RhdGUgaW4gdGhlnGByZWNlaXZlX21lc3NhZ2VzX2RlbGl2ZXJ5X3Byb29mYCBjYWxsLmhJbnN1ZmZpY2llbnREaXNwYXRjaFdlaWdodAAHCEUBVGhlIGN1bXVsYXRpdmUgZGlzcGF0Y2ggd2VpZ2h0LCBwYXNzZWQgYnkgcmVsYXllciBpcyBub3QgZW5vdWdoIHRvIGNvdmVyIGRpc3BhdGNoYG9mIGFsbCBidW5kbGVkIG1lc3NhZ2VzLlRSZWNlcHRpb25Db25maXJtYXRpb24EAG0IAWhSZWNlcHRpb25Db25maXJtYXRpb25FcnJvcgAIBIxFcnJvciBjb25maXJtaW5nIG1lc3NhZ2VzIHJlY2VpdmFsLjBCcmlkZ2VNb2R1bGUEACUIAYhicF9ydW50aW1lOjpPd25lZEJyaWRnZU1vZHVsZUVycm9yAAkExEVycm9yIGdlbmVyYXRlZCBieSB0aGUgYE93bmVkQnJpZGdlTW9kdWxlYCB0cmFpdC4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuZQgMWHBhbGxldF9icmlkZ2VfbWVzc2FnZXM0bGFuZXNfbWFuYWdlckRMYW5lc01hbmFnZXJFcnJvcgABHGBJbmJvdW5kTGFuZUFscmVhZHlFeGlzdHMAAABkT3V0Ym91bmRMYW5lQWxyZWFkeUV4aXN0cwABAEhVbmtub3duSW5ib3VuZExhbmUAAgBMVW5rbm93bk91dGJvdW5kTGFuZQADAERDbG9zZWRJbmJvdW5kTGFuZQAEAEhDbG9zZWRPdXRib3VuZExhbmUABQBYTGFuZURpc3BhdGNoZXJJbmFjdGl2ZQAGAABpCAgsYnBfbWVzc2FnZXNEVmVyaWZpY2F0aW9uRXJyb3IAAShERW1wdHlNZXNzYWdlUHJvb2YAAAAsSGVhZGVyQ2hhaW4EAD0IAUBIZWFkZXJDaGFpbkVycm9yAAEASEluYm91bmRMYW5lU3RvcmFnZQQAQQgBRFN0b3JhZ2VQcm9vZkVycm9yAAIAUEludmFsaWRNZXNzYWdlV2VpZ2h0AAMAVE1lc3NhZ2VzQ291bnRNaXNtYXRjaAAEADhNZXNzYWdlU3RvcmFnZQQAQQgBRFN0b3JhZ2VQcm9vZkVycm9yAAUAPE1lc3NhZ2VUb29MYXJnZQAGAExPdXRib3VuZExhbmVTdG9yYWdlBABBCAFEU3RvcmFnZVByb29mRXJyb3IABwAwU3RvcmFnZVByb29mBABBCAFEU3RvcmFnZVByb29mRXJyb3IACAAUT3RoZXIACQAAbQgMWHBhbGxldF9icmlkZ2VfbWVzc2FnZXM0b3V0Ym91bmRfbGFuZWhSZWNlcHRpb25Db25maXJtYXRpb25FcnJvcgABEHRGYWlsZWRUb0NvbmZpcm1GdXR1cmVNZXNzYWdlcwAAAGxFbXB0eVVucmV3YXJkZWRSZWxheWVyRW50cnkAAQCYTm9uQ29uc2VjdXRpdmVVbnJld2FyZGVkUmVsYXllckVudHJpZXMAAgCcVHJ5aW5nVG9Db25maXJtTW9yZU1lc3NhZ2VzVGhhbkV4cGVjdGVkAAMAAHEICERicF94Y21fYnJpZGdlX2h1YhhCcmlkZ2UIJFRoaXNDaGFpbgAYTGFuZUlkAAAcAXxicmlkZ2Vfb3JpZ2luX3JlbGF0aXZlX2xvY2F0aW9u7AFYQm94PFZlcnNpb25lZExvY2F0aW9uPgABgGJyaWRnZV9vcmlnaW5fdW5pdmVyc2FsX2xvY2F0aW9usQMBeEJveDxWZXJzaW9uZWRJbnRlcmlvckxvY2F0aW9uPgABlGJyaWRnZV9kZXN0aW5hdGlvbl91bml2ZXJzYWxfbG9jYXRpb26xAwF4Qm94PFZlcnNpb25lZEludGVyaW9yTG9jYXRpb24+AAEUc3RhdGV1CAEsQnJpZGdlU3RhdGUAAVBicmlkZ2Vfb3duZXJfYWNjb3VudAQBWEFjY291bnRJZE9mPFRoaXNDaGFpbj4AARxkZXBvc2l0xAFQQmFsYW5jZU9mPFRoaXNDaGFpbj4AARxsYW5lX2lkPQMBGExhbmVJZAAAdQgIRGJwX3hjbV9icmlkZ2VfaHViLEJyaWRnZVN0YXRlAAEMGE9wZW5lZAAAACRTdXNwZW5kZWQAAQAYQ2xvc2VkAAIAAHkIDFRwYWxsZXRfeGNtX2JyaWRnZV9odWIYcGFsbGV0FEVycm9yCARUAARJAAEkPEJyaWRnZUxvY2F0aW9ucwQAfQgBUEJyaWRnZUxvY2F0aW9uc0Vycm9yAAAEXEJyaWRnZSBsb2NhdGlvbnMgZXJyb3IuaEludmFsaWRCcmlkZ2VPcmlnaW5BY2NvdW50AAEEkEludmFsaWQgbG9jYWwgYnJpZGdlIG9yaWdpbiBhY2NvdW50LkxCcmlkZ2VBbHJlYWR5RXhpc3RzAAIEwFRoZSBicmlkZ2UgaXMgYWxyZWFkeSByZWdpc3RlcmVkIGluIHRoaXMgcGFsbGV0LnBUb29NYW55QnJpZGdlc0ZvckxvY2FsT3JpZ2luAAME6FRoZSBsb2NhbCBvcmlnaW4gYWxyZWFkeSBvd25zIGEgbWF4aW1hbCBudW1iZXIgb2YgYnJpZGdlcy5MQnJpZGdlQWxyZWFkeUNsb3NlZAAEBJhUcnlpbmcgdG8gY2xvc2UgYWxyZWFkeSBjbG9zZWQgYnJpZGdlLjBMYW5lc01hbmFnZXIEAGUIAURMYW5lc01hbmFnZXJFcnJvcgAFBFBMYW5lcyBtYW5hZ2VyIGVycm9yLjRVbmtub3duQnJpZGdlAAYEgFRyeWluZyB0byBhY2Nlc3MgdW5rbm93biBicmlkZ2UucEZhaWxlZFRvUmVzZXJ2ZUJyaWRnZURlcG9zaXQABwQdAVRoZSBicmlkZ2Ugb3JpZ2luIGNhbid0IHBheSB0aGUgcmVxdWlyZWQgYW1vdW50IGZvciBvcGVuaW5nIHRoZSBicmlkZ2UuVFVuc3VwcG9ydGVkWGNtVmVyc2lvbgAIBNBUaGUgdmVyc2lvbiBvZiBYQ00gbG9jYXRpb24gYXJndW1lbnQgaXMgdW5zdXBwb3J0ZWQuBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0Ln0ICERicF94Y21fYnJpZGdlX2h1YlBCcmlkZ2VMb2NhdGlvbnNFcnJvcgABIFBOb25Vbml2ZXJzYWxMb2NhdGlvbgAAAExJbnZhbGlkQnJpZGdlT3JpZ2luAAEAYEludmFsaWRCcmlkZ2VEZXN0aW5hdGlvbgACAEhEZXN0aW5hdGlvbklzTG9jYWwAAwBYVW5yZWFjaGFibGVEZXN0aW5hdGlvbgAEAHhVbnN1cHBvcnRlZERlc3RpbmF0aW9uTG9jYXRpb24ABQBUVW5zdXBwb3J0ZWRYY21WZXJzaW9uAAYAVFVuc3VwcG9ydGVkTGFuZUlkVHlwZQAHAACBCAx8c25vd2JyaWRnZV9wYWxsZXRfaW5ib3VuZF9xdWV1ZRhwYWxsZXQURXJyb3IEBFQAASw4SW52YWxpZEdhdGV3YXkAAAQNAU1lc3NhZ2UgY2FtZSBmcm9tIGFuIGludmFsaWQgb3V0Ym91bmQgY2hhbm5lbCBvbiB0aGUgRXRoZXJldW0gc2lkZS48SW52YWxpZEVudmVsb3BlAAEEgE1lc3NhZ2UgaGFzIGFuIGludmFsaWQgZW52ZWxvcGUuMEludmFsaWROb25jZQACBIBNZXNzYWdlIGhhcyBhbiB1bmV4cGVjdGVkIG5vbmNlLjhJbnZhbGlkUGF5bG9hZAADBHxNZXNzYWdlIGhhcyBhbiBpbnZhbGlkIHBheWxvYWQuOEludmFsaWRDaGFubmVsAAQEaE1lc3NhZ2UgY2hhbm5lbCBpcyBpbnZhbGlkPE1heE5vbmNlUmVhY2hlZAAFBKxUaGUgbWF4IG5vbmNlIGZvciB0aGUgdHlwZSBoYXMgYmVlbiByZWFjaGVkYEludmFsaWRBY2NvdW50Q29udmVyc2lvbgAGBFxDYW5ub3QgY29udmVydCBsb2NhdGlvbhhIYWx0ZWQABwRAUGFsbGV0IGlzIGhhbHRlZDBWZXJpZmljYXRpb24EAIUIAURWZXJpZmljYXRpb25FcnJvcgAIBGxNZXNzYWdlIHZlcmlmaWNhdGlvbiBlcnJvciwQU2VuZAQAiQgBJFNlbmRFcnJvcgAJBERYQ01QIHNlbmQgZmFpbHVyZThDb252ZXJ0TWVzc2FnZQQAjQgBTENvbnZlcnRNZXNzYWdlRXJyb3IACgRgTWVzc2FnZSBjb252ZXJzaW9uIGVycm9yBIBUaGUgYEVycm9yYCBlbnVtIG9mIHRoaXMgcGFsbGV0LoUICIhzbm93YnJpZGdlX3ZlcmlmaWNhdGlvbl9wcmltaXRpdmVzRFZlcmlmaWNhdGlvbkVycm9yAAEYOEhlYWRlck5vdEZvdW5kAAAALExvZ05vdEZvdW5kAAEAKEludmFsaWRMb2cAAgAwSW52YWxpZFByb29mAAMAVEludmFsaWRFeGVjdXRpb25Qcm9vZgAEABhIYWx0ZWQABQAAiQgMfHNub3dicmlkZ2VfcGFsbGV0X2luYm91bmRfcXVldWUYcGFsbGV0JFNlbmRFcnJvcgABHDROb3RBcHBsaWNhYmxlAAAALE5vdFJvdXRhYmxlAAEAJFRyYW5zcG9ydAACAFhEZXN0aW5hdGlvblVuc3VwcG9ydGVkAAMAVEV4Y2VlZHNNYXhNZXNzYWdlU2l6ZQAEADxNaXNzaW5nQXJndW1lbnQABQAQRmVlcwAGAACNCAyMc25vd2JyaWRnZV9pbmJvdW5kX3F1ZXVlX3ByaW1pdGl2ZXMIdjFMQ29udmVydE1lc3NhZ2VFcnJvcgABFEhVbnN1cHBvcnRlZFZlcnNpb24AAABISW52YWxpZERlc3RpbmF0aW9uAAEAMEludmFsaWRUb2tlbgACAExVbnN1cHBvcnRlZEZlZUFzc2V0AAMAOENhbm5vdFJlYW5jaG9yAAQAAJEIAAAClQgAlQgMgHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlFHR5cGVzQENvbW1pdHRlZE1lc3NhZ2UAACABKGNoYW5uZWxfaWRpBAEkQ2hhbm5lbElkAAEUbm9uY2W0AQx1NjQAARxjb21tYW5kDAEIdTgAARhwYXJhbXMYARxWZWM8dTg+AAFAbWF4X2Rpc3BhdGNoX2dhc7QBDHU2NAABPG1heF9mZWVfcGVyX2dhc8ABEHUxMjgAARhyZXdhcmTAARB1MTI4AAEIaWQ8ARBIMjU2AACZCAyAc25vd2JyaWRnZV9wYWxsZXRfb3V0Ym91bmRfcXVldWUYcGFsbGV0FEVycm9yBARUAAEMPE1lc3NhZ2VUb29MYXJnZQAABGBUaGUgbWVzc2FnZSBpcyB0b28gbGFyZ2UYSGFsdGVkAAEEUFRoZSBwYWxsZXQgaXMgaGFsdGVkOEludmFsaWRDaGFubmVsAAIEPEludmFsaWQgQ2hhbm5lbASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC6dCAxwc25vd2JyaWRnZV9iZWFjb25fcHJpbWl0aXZlcxR0eXBlc0hDb21wYWN0QmVhY29uU3RhdGUAAAgBEHNsb3S0AQx1NjQAAUBibG9ja19yb290c19yb290PAEQSDI1NgAAoQgMcHNub3dicmlkZ2VfYmVhY29uX3ByaW1pdGl2ZXMUdHlwZXNUU3luY0NvbW1pdHRlZVByZXBhcmVkAAAMARByb290PAEQSDI1NgABHHB1YmtleXOlCAGgQm94PFtQdWJsaWNLZXlQcmVwYXJlZDsgQ09NTUlUVEVFX1NJWkVdPgABQGFnZ3JlZ2F0ZV9wdWJrZXmpCAFEUHVibGljS2V5UHJlcGFyZWQAAKUIAAADAAIAAKkIAKkIDFhzbm93YnJpZGdlX21pbGFncm9fYmxzEGtleXMkUHVibGljS2V5AAAEARRwb2ludK0IARxHcm91cEcxAACtCBA8c25vd2JyaWRnZV9hbWNsGGJsczM4MQxlY3AMRUNQAAAMAQR4sQgBCEZQAAEEebEIAQhGUAABBHqxCAEIRlAAALEIEDxzbm93YnJpZGdlX2FtY2wYYmxzMzgxCGZwCEZQAAAIAQR4tQgBDEJpZwABDHhlc70IAQxpMzIAALUIEDxzbm93YnJpZGdlX2FtY2wYYmxzMzgxDGJpZwxCaWcAAAQBBHe5CAE0W0NodW5rOyBOTEVOXQAAuQgAAAMOAAAAvQgAvQgAAAULAMEIDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzMEZvcmtWZXJzaW9ucwAAHAEcZ2VuZXNpc8UIARBGb3JrAAEYYWx0YWlyxQgBEEZvcmsAASRiZWxsYXRyaXjFCAEQRm9yawABHGNhcGVsbGHFCAEQRm9yawABFGRlbmVixQgBEEZvcmsAARxlbGVjdHJhxQgBEEZvcmsAARBmdWx1xQgBEEZvcmsAAMUIDHBzbm93YnJpZGdlX2JlYWNvbl9wcmltaXRpdmVzFHR5cGVzEEZvcmsAAAgBHHZlcnNpb25wARxbdTg7IDRdAAEUZXBvY2goAQx1NjQAAMkIDIRzbm93YnJpZGdlX3BhbGxldF9ldGhlcmV1bV9jbGllbnQYcGFsbGV0FEVycm9yBARUAAFkaFNraXBwZWRTeW5jQ29tbWl0dGVlUGVyaW9kAAAAbFN5bmNDb21taXR0ZWVVcGRhdGVSZXF1aXJlZAABAEBJcnJlbGV2YW50VXBkYXRlAAIE2EF0dGVzdGVkIGhlYWRlciBpcyBvbGRlciB0aGFuIGxhdGVzdCBmaW5hbGl6ZWQgaGVhZGVyLjxOb3RCb290c3RyYXBwZWQAAwCkU3luY0NvbW1pdHRlZVBhcnRpY2lwYW50c05vdFN1cGVybWFqb3JpdHkABABgSW52YWxpZEhlYWRlck1lcmtsZVByb29mAAUAfEludmFsaWRTeW5jQ29tbWl0dGVlTWVya2xlUHJvb2YABgBsSW52YWxpZEV4ZWN1dGlvbkhlYWRlclByb29mAAcAaEludmFsaWRBbmNlc3RyeU1lcmtsZVByb29mAAgAgEludmFsaWRCbG9ja1Jvb3RzUm9vdE1lcmtsZVByb29mAAkAZEludmFsaWRGaW5hbGl6ZWRIZWFkZXJHYXAACgw9AVRoZSBnYXAgYmV0d2VlbiB0aGUgZmluYWxpemVkIGhlYWRlcnMgaXMgbGFyZ2VyIHRoYW4gdGhlIHN5bmMgY29tbWl0dGVlIHBlcmlvZCxFAXJlbmRlcmluZyBleGVjdXRpb24gaGVhZGVycyB1bnByb3ZhYmxlIHVzaW5nIGFuY2VzdHJ5IHByb29mcyAoYmxvY2tzIHJvb3Qgc2l6ZSBpc7R0aGUgc2FtZSBhcyB0aGUgc3luYyBjb21taXR0ZWUgcGVyaW9kIHNsb3RzKS5ISGVhZGVyTm90RmluYWxpemVkAAsAbEJsb2NrQm9keUhhc2hUcmVlUm9vdEZhaWxlZAAMAGBIZWFkZXJIYXNoVHJlZVJvb3RGYWlsZWQADQB8U3luY0NvbW1pdHRlZUhhc2hUcmVlUm9vdEZhaWxlZAAOAHRTaWduaW5nUm9vdEhhc2hUcmVlUm9vdEZhaWxlZAAPAGhGb3JrRGF0YUhhc2hUcmVlUm9vdEZhaWxlZAAQAIBFeHBlY3RlZEZpbmFsaXplZEhlYWRlck5vdFN0b3JlZAARAGhCTFNQcmVwYXJlUHVibGljS2V5c0ZhaWxlZAASAFRCTFNWZXJpZmljYXRpb25GYWlsZWQEAM0IASBCbHNFcnJvcgATAERJbnZhbGlkVXBkYXRlU2xvdAAUAGhJbnZhbGlkU3luY0NvbW1pdHRlZVVwZGF0ZQAVCFUBVGhlIGdpdmVuIHVwZGF0ZSBpcyBub3QgaW4gdGhlIGV4cGVjdGVkIHBlcmlvZCwgb3IgdGhlIGdpdmVuIG5leHQgc3luYyBjb21taXR0ZWUgZG9lc7Rub3QgbWF0Y2ggdGhlIG5leHQgc3luYyBjb21taXR0ZWUgaW4gc3RvcmFnZS5sRXhlY3V0aW9uSGVhZGVyVG9vRmFyQmVoaW5kABYAbEV4ZWN1dGlvbkhlYWRlclNraXBwZWRCbG9jawAXABhIYWx0ZWQAGAAEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQuzQgMcHNub3dicmlkZ2VfYmVhY29uX3ByaW1pdGl2ZXMMYmxzIEJsc0Vycm9yAAEQQEludmFsaWRTaWduYXR1cmUAAABASW52YWxpZFB1YmxpY0tleQABAGhJbnZhbGlkQWdncmVnYXRlUHVibGljS2V5cwACAGxTaWduYXR1cmVWZXJpZmljYXRpb25GYWlsZWQAAwAA0QgIPHNub3dicmlkZ2VfY29yZRxDaGFubmVsAAAIASBhZ2VudF9pZDwBHEFnZW50SWQAARxwYXJhX2lknAEYUGFyYUlkAADVCAxgc25vd2JyaWRnZV9wYWxsZXRfc3lzdGVtGHBhbGxldBRFcnJvcgQEVAABLGBMb2NhdGlvbkNvbnZlcnNpb25GYWlsZWQAAABMQWdlbnRBbHJlYWR5Q3JlYXRlZAABABxOb0FnZW50AAIAVENoYW5uZWxBbHJlYWR5Q3JlYXRlZAADACROb0NoYW5uZWwABABoVW5zdXBwb3J0ZWRMb2NhdGlvblZlcnNpb24ABQA8SW52YWxpZExvY2F0aW9uAAYAEFNlbmQEANkIASRTZW5kRXJyb3IABwBgSW52YWxpZFRva2VuVHJhbnNmZXJGZWVzAAgAYEludmFsaWRQcmljaW5nUGFyYW1ldGVycwAJAGBJbnZhbGlkVXBncmFkZVBhcmFtZXRlcnMACgAEgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu2QgIkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcyRTZW5kRXJyb3IAARA8TWVzc2FnZVRvb0xhcmdlAAAAGEhhbHRlZAABADhJbnZhbGlkQ2hhbm5lbAACADRJbnZhbGlkT3JpZ2luAAMAAN0IDGxzbm93YnJpZGdlX3BhbGxldF9zeXN0ZW1fdjIYcGFsbGV0FEVycm9yBARUAAEUWExvY2F0aW9uUmVhbmNob3JGYWlsZWQAAAR8TG9jYXRpb24gY291bGQgbm90IGJlIHJlYWNob3JlZGBMb2NhdGlvbkNvbnZlcnNpb25GYWlsZWQAAQTYQSB0b2tlbiBsb2NhdGlvbiBjb3VsZCBub3QgYmUgY29udmVydGVkIHRvIGEgdG9rZW4gSUQuaFVuc3VwcG9ydGVkTG9jYXRpb25WZXJzaW9uAAIE/EEgYFZlcnNpb25lZExvY2F0aW9uYCBjb3VsZCBub3QgYmUgY29udmVydGVkIGludG8gYSBgTG9jYXRpb25gLhBTZW5kBADZCAEkU2VuZEVycm9yAAMEvEFuIFhDTSBjb3VsZCBub3QgYmUgc2VudCwgZHVlIHRvIGEgYFNlbmRFcnJvcmAuYEludmFsaWRVcGdyYWRlUGFyYW1ldGVycwAECDUBVGhlIGdhdGV3YXkgY29udHJhY3QgdXBncmFkZSBtZXNzYWdlIGNvdWxkIG5vdCBiZSBzZW50IGR1ZSB0byBpbnZhbGlkIHVwZ3JhZGUscGFyYW1ldGVycy4EgFRoZSBgRXJyb3JgIGVudW0gb2YgdGhpcyBwYWxsZXQu4QgMiHNub3dicmlkZ2VfcGFsbGV0X2luYm91bmRfcXVldWVfdjIYcGFsbGV0FEVycm9yBARUAAEsOEludmFsaWRHYXRld2F5AAAEDQFNZXNzYWdlIGNhbWUgZnJvbSBhbiBpbnZhbGlkIG91dGJvdW5kIGNoYW5uZWwgb24gdGhlIEV0aGVyZXVtIHNpZGUuOEludmFsaWRNZXNzYWdlAAEEgE1lc3NhZ2UgaGFzIGFuIGludmFsaWQgZW52ZWxvcGUuMEludmFsaWROb25jZQACBIBNZXNzYWdlIGhhcyBhbiB1bmV4cGVjdGVkIG5vbmNlLjhJbnZhbGlkTmV0d29yawADBGRJbnZhbGlkIG5ldHdvcmsgc3BlY2lmaWVkGEhhbHRlZAAEBEBQYWxsZXQgaXMgaGFsdGVkKEZlZXNOb3RNZXQABQQpAVRoZSBvcGVyYXRpb24gcmVxdWlyZWQgZmVlcyB0byBiZSBwYWlkIHdoaWNoIHRoZSBpbml0aWF0b3IgY291bGQgbm90IG1lZXQuLFVucmVhY2hhYmxlAAYIXQFUaGUgZGVzaXJlZCBkZXN0aW5hdGlvbiB3YXMgdW5yZWFjaGFibGUsIGdlbmVyYWxseSBiZWNhdXNlIHRoZXJlIGlzIGEgbm8gd2F5IG9mIHJvdXRpbmcYdG8gaXQuLFNlbmRGYWlsdXJlAAcIQQFUaGVyZSB3YXMgc29tZSBvdGhlciBpc3N1ZSAoaS5lLiBub3QgdG8gZG8gd2l0aCByb3V0aW5nKSBpbiBzZW5kaW5nIHRoZSBtZXNzYWdlLshQZXJoYXBzIGEgbGFjayBvZiBzcGFjZSBmb3IgYnVmZmVyaW5nIHRoZSBtZXNzYWdlLjBJbnZhbGlkQXNzZXQACAR8SW52YWxpZCBmb3JlaWduIEVSQy0yMCB0b2tlbiBJRDhDYW5ub3RSZWFuY2hvcgAJBLxDYW5ub3QgcmVhY2hvciBhIGZvcmVpZ24gRVJDLTIwIGFzc2V0IGxvY2F0aW9uLjBWZXJpZmljYXRpb24EAIUIAURWZXJpZmljYXRpb25FcnJvcgAKBGhNZXNzYWdlIHZlcmlmaWNhdGlvbiBlcnJvcgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC7lCAAAAukIAOkIEJBzbm93YnJpZGdlX291dGJvdW5kX3F1ZXVlX3ByaW1pdGl2ZXMIdjIcbWVzc2FnZTxPdXRib3VuZE1lc3NhZ2UAABABGG9yaWdpbjwBEEgyNTYAARRub25jZSgBDHU2NAABFHRvcGljPAEQSDI1NgABIGNvbW1hbmRz7QgB6EJvdW5kZWRWZWM8T3V0Ym91bmRDb21tYW5kV3JhcHBlciwgQ29uc3RVMzI8TUFYX0NPTU1BTkRTPj4AAO0IDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQB8QgEUwAABAD1CAEYVmVjPFQ+AADxCBCQc25vd2JyaWRnZV9vdXRib3VuZF9xdWV1ZV9wcmltaXRpdmVzCHYyHG1lc3NhZ2VYT3V0Ym91bmRDb21tYW5kV3JhcHBlcgAADAEQa2luZAwBCHU4AAEMZ2FzKAEMdTY0AAEccGF5bG9hZBgBHFZlYzx1OD4AAPUIAAAC8QgA+QgMjHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlX3YyFHR5cGVzMFBlbmRpbmdPcmRlcgQsQmxvY2tOdW1iZXIBOAAMARRub25jZSgBDHU2NAABMGJsb2NrX251bWJlcjgBLEJsb2NrTnVtYmVyAAEMZmVlwAEQdTEyOAAA/QgMjHNub3dicmlkZ2VfcGFsbGV0X291dGJvdW5kX3F1ZXVlX3YyGHBhbGxldBRFcnJvcgQEVAABIDxNZXNzYWdlVG9vTGFyZ2UAAARgVGhlIG1lc3NhZ2UgaXMgdG9vIGxhcmdlGEhhbHRlZAABBFBUaGUgcGFsbGV0IGlzIGhhbHRlZDhJbnZhbGlkQ2hhbm5lbAACBDxJbnZhbGlkIENoYW5uZWw8SW52YWxpZEVudmVsb3BlAAMEQEludmFsaWQgRW52ZWxvcGUwVmVyaWZpY2F0aW9uBACFCAFEVmVyaWZpY2F0aW9uRXJyb3IABARoTWVzc2FnZSB2ZXJpZmljYXRpb24gZXJyb3I4SW52YWxpZEdhdGV3YXkABQQ8SW52YWxpZCBHYXRld2F5TEludmFsaWRQZW5kaW5nTm9uY2UABgRwUGVuZGluZyBub25jZSBkb2VzIG5vdCBleGlzdExSZXdhcmRQYXltZW50RmFpbGVkAAcEVFJld2FyZCBwYXltZW50IGZhaWxlZASAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4BCQhQcGFsbGV0X21lc3NhZ2VfcXVldWUkQm9va1N0YXRlBDRNZXNzYWdlT3JpZ2luAWUEABgBFGJlZ2luOAEkUGFnZUluZGV4AAEMZW5kOAEkUGFnZUluZGV4AAEUY291bnQ4ASRQYWdlSW5kZXgAAUByZWFkeV9uZWlnaGJvdXJzBQkBhE9wdGlvbjxOZWlnaGJvdXJzPE1lc3NhZ2VPcmlnaW4+PgABNG1lc3NhZ2VfY291bnQoAQx1NjQAARBzaXplKAEMdTY0AAAFCQQYT3B0aW9uBARUAQkJAQgQTm9uZQAAABBTb21lBAAJCQAAAQAACQkIUHBhbGxldF9tZXNzYWdlX3F1ZXVlKE5laWdoYm91cnMENE1lc3NhZ2VPcmlnaW4BZQQACAEQcHJldmUEATRNZXNzYWdlT3JpZ2luAAEQbmV4dGUEATRNZXNzYWdlT3JpZ2luAAANCQAABAhlBDgAEQkIUHBhbGxldF9tZXNzYWdlX3F1ZXVlEFBhZ2UIEFNpemUBOCBIZWFwU2l6ZQAAGAEkcmVtYWluaW5nOAEQU2l6ZQABOHJlbWFpbmluZ19zaXplOAEQU2l6ZQABLGZpcnN0X2luZGV4OAEQU2l6ZQABFGZpcnN0OAEQU2l6ZQABEGxhc3Q4ARBTaXplAAEQaGVhcBUJAZxCb3VuZGVkVmVjPHU4LCBJbnRvVTMyPEhlYXBTaXplLCBTaXplPj4AABUJDExib3VuZGVkX2NvbGxlY3Rpb25zLGJvdW5kZWRfdmVjKEJvdW5kZWRWZWMIBFQBDARTAAAEABgBGFZlYzxUPgAAGQkMUHBhbGxldF9tZXNzYWdlX3F1ZXVlGHBhbGxldBRFcnJvcgQEVAABJCxOb3RSZWFwYWJsZQAACEkBUGFnZSBpcyBub3QgcmVhcGFibGUgYmVjYXVzZSBpdCBoYXMgaXRlbXMgcmVtYWluaW5nIHRvIGJlIHByb2Nlc3NlZCBhbmQgaXMgbm90IG9sZBxlbm91Z2guGE5vUGFnZQABBIRQYWdlIHRvIGJlIHJlYXBlZCBkb2VzIG5vdCBleGlzdC4kTm9NZXNzYWdlAAIEqFRoZSByZWZlcmVuY2VkIG1lc3NhZ2UgY291bGQgbm90IGJlIGZvdW5kLkBBbHJlYWR5UHJvY2Vzc2VkAAMEAQFUaGUgbWVzc2FnZSB3YXMgYWxyZWFkeSBwcm9jZXNzZWQgYW5kIGNhbm5vdCBiZSBwcm9jZXNzZWQgYWdhaW4uGFF1ZXVlZAAEBKxUaGUgbWVzc2FnZSBpcyBxdWV1ZWQgZm9yIGZ1dHVyZSBleGVjdXRpb24uSEluc3VmZmljaWVudFdlaWdodAAFBBkBVGhlcmUgaXMgdGVtcG9yYXJpbHkgbm90IGVub3VnaCB3ZWlnaHQgdG8gY29udGludWUgc2VydmljaW5nIG1lc3NhZ2VzLmBUZW1wb3JhcmlseVVucHJvY2Vzc2FibGUABhCoVGhpcyBtZXNzYWdlIGlzIHRlbXBvcmFyaWx5IHVucHJvY2Vzc2FibGUuAFkBU3VjaCBlcnJvcnMgYXJlIGV4cGVjdGVkLCBidXQgbm90IGd1YXJhbnRlZWQsIHRvIHJlc29sdmUgdGhlbXNlbHZlcyBldmVudHVhbGx5IHRocm91Z2gkcmV0cnlpbmcuLFF1ZXVlUGF1c2VkAAcM7FRoZSBxdWV1ZSBpcyBwYXVzZWQgYW5kIG5vIG1lc3NhZ2UgY2FuIGJlIGV4ZWN1dGVkIGZyb20gaXQuAB0BVGhpcyBjYW4gY2hhbmdlIGF0IGFueSB0aW1lIGFuZCBtYXkgcmVzb2x2ZSBpbiB0aGUgZnV0dXJlIGJ5IHJlLXRyeWluZy5MUmVjdXJzaXZlRGlzYWxsb3dlZAAIBDEBQW5vdGhlciBjYWxsIGlzIGluIHByb2dyZXNzIGFuZCBuZWVkcyB0byBmaW5pc2ggYmVmb3JlIHRoaXMgY2FsbCBjYW4gaGFwcGVuLgSAVGhlIGBFcnJvcmAgZW51bSBvZiB0aGlzIHBhbGxldC4dCQhIc3BfY29uc2Vuc3VzX3Nsb3RzMFNsb3REdXJhdGlvbgAABAAoAQx1NjQAACEJEChzcF9ydW50aW1lHGdlbmVyaWMUYmxvY2skTGF6eUJsb2NrCBhIZWFkZXIBXCRFeHRyaW5zaWMBGQYACAEYaGVhZGVyXAEYSGVhZGVyAAEoZXh0cmluc2ljcyUJAVBWZWM8T3BhcXVlRXh0cmluc2ljPgAAJQkAAAIpCQApCQgoc3BfcnVudGltZTxPcGFxdWVFeHRyaW5zaWMAAAQAGAEcVmVjPHU4PgAALQkIKHNwX3J1bnRpbWVYRXh0cmluc2ljSW5jbHVzaW9uTW9kZQABCDRBbGxFeHRyaW5zaWNzAAAANE9ubHlJbmhlcmVudHMAAQAAMQkIHHNwX2NvcmU4T3BhcXVlTWV0YWRhdGEAAAQAGAEcVmVjPHU4PgAANQkEGE9wdGlvbgQEVAExCQEIEE5vbmUAAAAQU29tZQQAMQkAAAEAADkJAAACOAA9CQQYUmVzdWx0CARUAT0FBEUBQQkBCAhPawQAPQUAAAAADEVycgQAQQkAAAEAAEEJDChzcF9ydW50aW1lUHRyYW5zYWN0aW9uX3ZhbGlkaXR5YFRyYW5zYWN0aW9uVmFsaWRpdHlFcnJvcgABCBxJbnZhbGlkBABFCQFISW52YWxpZFRyYW5zYWN0aW9uAAAAHFVua25vd24EAEkJAUhVbmtub3duVHJhbnNhY3Rpb24AAQAARQkMKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlISW52YWxpZFRyYW5zYWN0aW9uAAE0EENhbGwAAAAcUGF5bWVudAABABhGdXR1cmUAAgAUU3RhbGUAAwAgQmFkUHJvb2YABABEQW5jaWVudEJpcnRoQmxvY2sABQBERXhoYXVzdHNSZXNvdXJjZXMABgAYQ3VzdG9tBAAMAQh1OAAHADBCYWRNYW5kYXRvcnkACABMTWFuZGF0b3J5VmFsaWRhdGlvbgAJACRCYWRTaWduZXIACgBUSW5kZXRlcm1pbmF0ZUltcGxpY2l0AAsANFVua25vd25PcmlnaW4ADAAASQkMKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlIVW5rbm93blRyYW5zYWN0aW9uAAEMMENhbm5vdExvb2t1cAAAAExOb1Vuc2lnbmVkVmFsaWRhdG9yAAEAGEN1c3RvbQQADAEIdTgAAgAATQkIMHNwX2luaGVyZW50czBJbmhlcmVudERhdGEAAAQBEGRhdGFRCQGUQlRyZWVNYXA8SW5oZXJlbnRJZGVudGlmaWVyLCBWZWM8dTg+PgAAUQkEIEJUcmVlTWFwCARLAZ0BBFYBGAAEAFUJAAAAVQkAAAJZCQBZCQAABAidARgAXQkIMHNwX2luaGVyZW50c1BDaGVja0luaGVyZW50c1Jlc3VsdAAADAEQb2thecgBEGJvb2wAASxmYXRhbF9lcnJvcsgBEGJvb2wAARhlcnJvcnNNCQEwSW5oZXJlbnREYXRhAABhCQwoc3BfcnVudGltZVB0cmFuc2FjdGlvbl92YWxpZGl0eURUcmFuc2FjdGlvblNvdXJjZQABDBxJbkJsb2NrAAAAFExvY2FsAAEAIEV4dGVybmFsAAIAAGUJBBhSZXN1bHQIBFQBaQkERQFBCQEICE9rBABpCQAAAAAMRXJyBABBCQAAAQAAaQkMKHNwX3J1bnRpbWVQdHJhbnNhY3Rpb25fdmFsaWRpdHlAVmFsaWRUcmFuc2FjdGlvbgAAFAEgcHJpb3JpdHkoAUxUcmFuc2FjdGlvblByaW9yaXR5AAEgcmVxdWlyZXM0AUxWZWM8VHJhbnNhY3Rpb25UYWc+AAEgcHJvdmlkZXM0AUxWZWM8VHJhbnNhY3Rpb25UYWc+AAEkbG9uZ2V2aXR5KAFQVHJhbnNhY3Rpb25Mb25nZXZpdHkAASRwcm9wYWdhdGXIARBib29sAABtCQwoc3Bfc2Vzc2lvbixydW50aW1lX2FwaWhPcGFxdWVHZW5lcmF0ZWRTZXNzaW9uS2V5cwAACAEQa2V5cxgBHFZlYzx1OD4AARRwcm9vZhgBHFZlYzx1OD4AAHEJBBhPcHRpb24EBFQBdQkBCBBOb25lAAAAEFNvbWUEAHUJAAABAAB1CQAAAnkJAHkJAAAECBgdBwB9CQw0ZnJhbWVfc3VwcG9ydDh2aWV3X2Z1bmN0aW9uczhWaWV3RnVuY3Rpb25JZAAACAEYcHJlZml4oQEBIFt1ODsgMTZdAAEYc3VmZml4oQEBIFt1ODsgMTZdAACBCQQYUmVzdWx0CARUARgERQGFCQEICE9rBAAYAAAAAAxFcnIEAIUJAAABAACFCQw0ZnJhbWVfc3VwcG9ydDh2aWV3X2Z1bmN0aW9uc2RWaWV3RnVuY3Rpb25EaXNwYXRjaEVycm9yAAEMOE5vdEltcGxlbWVudGVkAAAAIE5vdEZvdW5kBAB9CQE4Vmlld0Z1bmN0aW9uSWQAAQAUQ29kZWMAAgAAiQkMaHBhbGxldF90cmFuc2FjdGlvbl9wYXltZW50FHR5cGVzTFJ1bnRpbWVEaXNwYXRjaEluZm8IHEJhbGFuY2UBxBhXZWlnaHQBtQEADAEYd2VpZ2h0tQEBGFdlaWdodAABFGNsYXNz1QQBNERpc3BhdGNoQ2xhc3MAASxwYXJ0aWFsX2ZlZcQBHEJhbGFuY2UAAI0JDGhwYWxsZXRfdHJhbnNhY3Rpb25fcGF5bWVudBR0eXBlcyhGZWVEZXRhaWxzBBxCYWxhbmNlAcQACAE0aW5jbHVzaW9uX2ZlZZEJAXRPcHRpb248SW5jbHVzaW9uRmVlPEJhbGFuY2U+PgABDHRpcMQBHEJhbGFuY2UAAJEJBBhPcHRpb24EBFQBlQkBCBBOb25lAAAAEFNvbWUEAJUJAAABAACVCQxocGFsbGV0X3RyYW5zYWN0aW9uX3BheW1lbnQUdHlwZXMwSW5jbHVzaW9uRmVlBBxCYWxhbmNlAcQADAEgYmFzZV9mZWXEARxCYWxhbmNlAAEcbGVuX2ZlZcQBHEJhbGFuY2UAAUxhZGp1c3RlZF93ZWlnaHRfZmVlxAEcQmFsYW5jZQAAmQkEGFJlc3VsdAgEVAGdCQRFAaEJAQgIT2sEAJ0JAAAAAAxFcnIEAKEJAAABAACdCQAAAvECAKEJDEB4Y21fcnVudGltZV9hcGlzEGZlZXMURXJyb3IAARg0VW5pbXBsZW1lbnRlZAAAAGRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEATFdlaWdodE5vdENvbXB1dGFibGUAAgBMVW5oYW5kbGVkWGNtVmVyc2lvbgADADRBc3NldE5vdEZvdW5kAAQAKFVucm91dGFibGUABQAApQkEGFJlc3VsdAgEVAG1AQRFAaEJAQgIT2sEALUBAAAAAAxFcnIEAKEJAAABAACpCQQYUmVzdWx0CARUAcQERQGhCQEICE9rBADEAAAAAAxFcnIEAKEJAAABAACtCQQYUmVzdWx0CARUAbkCBEUBoQkBCAhPawQAuQIAAAAADEVycgQAoQkAAAEAALEJBBhSZXN1bHQIBFQBtQkERQHZCQEICE9rBAC1CQAAAAAMRXJyBADZCQAAAQAAtQkMQHhjbV9ydW50aW1lX2FwaXMcZHJ5X3J1bkRDYWxsRHJ5UnVuRWZmZWN0cwQURXZlbnQByQQAEAFAZXhlY3V0aW9uX3Jlc3VsdLkJAWhEaXNwYXRjaFJlc3VsdFdpdGhQb3N0SW5mbwABOGVtaXR0ZWRfZXZlbnRzxQkBKFZlYzxFdmVudD4AASRsb2NhbF94Y23JCQFgT3B0aW9uPFZlcnNpb25lZFhjbTwoKT4+AAE4Zm9yd2FyZGVkX3hjbXPNCQG8VmVjPChWZXJzaW9uZWRMb2NhdGlvbiwgVmVjPFZlcnNpb25lZFhjbTwoKT4+KT4AALkJBBhSZXN1bHQIBFQBvQkERQHBCQEICE9rBAC9CQAAAAAMRXJyBADBCQAAAQAAvQkMNGZyYW1lX3N1cHBvcnQgZGlzcGF0Y2hAUG9zdERpc3BhdGNoSW5mbwAACAE0YWN0dWFsX3dlaWdodIUCAThPcHRpb248V2VpZ2h0PgABIHBheXNfZmVl2QQBEFBheXMAAMEJCChzcF9ydW50aW1lZERpc3BhdGNoRXJyb3JXaXRoUG9zdEluZm8EEEluZm8BvQkACAEkcG9zdF9pbmZvvQkBEEluZm8AARRlcnJvct0EATREaXNwYXRjaEVycm9yAADFCQAAAskEAMkJBBhPcHRpb24EBFQBdQEBCBBOb25lAAAAEFNvbWUEAHUBAAABAADNCQAAAtEJANEJAAAECOzVCQDVCQAAAnUBANkJDEB4Y21fcnVudGltZV9hcGlzHGRyeV9ydW4URXJyb3IAAQg0VW5pbXBsZW1lbnRlZAAAAGRWZXJzaW9uZWRDb252ZXJzaW9uRmFpbGVkAAEAAN0JBBhSZXN1bHQIBFQB4QkERQHZCQEICE9rBADhCQAAAAAMRXJyBADZCQAAAQAA4QkMQHhjbV9ydW50aW1lX2FwaXMcZHJ5X3J1bkBYY21EcnlSdW5FZmZlY3RzBBRFdmVudAHJBAAMAUBleGVjdXRpb25fcmVzdWx0KQUBHE91dGNvbWUAAThlbWl0dGVkX2V2ZW50c8UJAShWZWM8RXZlbnQ+AAE4Zm9yd2FyZGVkX3hjbXPNCQG8VmVjPChWZXJzaW9uZWRMb2NhdGlvbiwgVmVjPFZlcnNpb25lZFhjbTwoKT4+KT4AAOUJBBhSZXN1bHQIBFQBBARFAekJAQgIT2sEAAQAAAAADEVycgQA6QkAAAEAAOkJDEB4Y21fcnVudGltZV9hcGlzLGNvbnZlcnNpb25zFEVycm9yAAEILFVuc3VwcG9ydGVkAAAAZFZlcnNpb25lZENvbnZlcnNpb25GYWlsZWQAAQAA7QkIDHhjbThWZXJzaW9uZWRBc3NldAABDAhWMwQAjQEBOHYzOjpNdWx0aUFzc2V0AAMACFY0BAAFAgEkdjQ6OkFzc2V0AAQACFY1BABRAgEkdjU6OkFzc2V0AAUAAPEJBBhSZXN1bHQIBFQByARFAfUJAQgIT2sEAMgAAAAADEVycgQA9QkAAAEAAPUJDEB4Y21fcnVudGltZV9hcGlzNHRydXN0ZWRfcXVlcnkURXJyb3IAAQh4VmVyc2lvbmVkQXNzZXRDb252ZXJzaW9uRmFpbGVkAAAAhFZlcnNpb25lZExvY2F0aW9uQ29udmVyc2lvbkZhaWxlZAABAAD5CQQYUmVzdWx0CARUAcUHBEUB/QkBCAhPawQAxQcAAAAADEVycgQA/QkAAAEAAP0JDEB4Y21fcnVudGltZV9hcGlzSGF1dGhvcml6ZWRfYWxpYXNlcxRFcnJvcgABBHxMb2NhdGlvblZlcnNpb25Db252ZXJzaW9uRmFpbGVkAAAAAAEKBBhSZXN1bHQIBFQByARFAf0JAQgIT2sEAMgAAAAADEVycgQA/QkAAAEAAAUKCFxjdW11bHVzX3ByaW1pdGl2ZXNfY29yZTRDb2xsYXRpb25JbmZvAAAYATx1cHdhcmRfbWVzc2FnZXM0AUhWZWM8VXB3YXJkTWVzc2FnZT4AAUxob3Jpem9udGFsX21lc3NhZ2VzkQYBYFZlYzxPdXRib3VuZEhybXBNZXNzYWdlPgABTG5ld192YWxpZGF0aW9uX2NvZGUJCgGMT3B0aW9uPHJlbGF5X2NoYWluOjpWYWxpZGF0aW9uQ29kZT4AAWxwcm9jZXNzZWRfZG93bndhcmRfbWVzc2FnZXM4AQx1MzIAAThocm1wX3dhdGVybWFyazgBYHJlbGF5X2NoYWluOjpCbG9ja051bWJlcgABJGhlYWRfZGF0YUwBIEhlYWREYXRhAAAJCgQYT3B0aW9uBARUAQ0KAQgQTm9uZQAAABBTb21lBAANCgAAAQAADQoMdHBvbGthZG90X3BhcmFjaGFpbl9wcmltaXRpdmVzKHByaW1pdGl2ZXM4VmFsaWRhdGlvbkNvZGUAAAQAGAEcVmVjPHU4PgAAEQoEGFJlc3VsdAgEVAEQBEUB3QUBCAhPawQAEAAAAAAMRXJyBADdBQAAAQAAFQoEGE9wdGlvbgQEVAHdBQEIEE5vbmUAAAAQU29tZQQA3QUAAAEAABkKAAAC3QUAHQoEGE9wdGlvbgQEVAERCAEIEE5vbmUAAAAQU29tZQQAEQgAAAEAACEKAAACWQUAJQoAAAIpCgApCgAABAgYLQoALQoILGJwX21lc3NhZ2VzWE91dGJvdW5kTWVzc2FnZURldGFpbHMAAAwBFG5vbmNlKAEwTWVzc2FnZU5vbmNlAAE8ZGlzcGF0Y2hfd2VpZ2h0tQEBGFdlaWdodAABEHNpemU4AQx1MzIAADEKAAACNQoANQoILGJwX21lc3NhZ2VzVEluYm91bmRNZXNzYWdlRGV0YWlscwAABAE8ZGlzcGF0Y2hfd2VpZ2h0tQEBGFdlaWdodAAAOQoAAAItCgA9CgQYT3B0aW9uBARUAUEKAQgQTm9uZQAAABBTb21lBABBCgAAAQAAQQoIWHNub3dicmlkZ2VfbWVya2xlX3RyZWUsTWVya2xlUHJvb2YAABQBEHJvb3Q8ARBIMjU2AAEUcHJvb2bFAwEkVmVjPEgyNTY+AAFAbnVtYmVyX29mX2xlYXZlcygBDHU2NAABKGxlYWZfaW5kZXgoAQx1NjQAARBsZWFmPAEQSDI1NgAARQoQkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcwh2MRxtZXNzYWdlHENvbW1hbmQAASAwQWdlbnRFeGVjdXRlCAEgYWdlbnRfaWQ8ARBIMjU2AAEcY29tbWFuZEkKAUxBZ2VudEV4ZWN1dGVDb21tYW5kAAAAHFVwZ3JhZGUMATBpbXBsX2FkZHJlc3PBAwEQSDE2MAABOGltcGxfY29kZV9oYXNoPAEQSDI1NgABLGluaXRpYWxpemVyLQQBTE9wdGlvbjxJbml0aWFsaXplcj4AAQBAU2V0T3BlcmF0aW5nTW9kZQQBEG1vZGU1BAE0T3BlcmF0aW5nTW9kZQACAFBTZXRUb2tlblRyYW5zZmVyRmVlcwwBQGNyZWF0ZV9hc3NldF94Y23EARB1MTI4AAFIdHJhbnNmZXJfYXNzZXRfeGNtxAEQdTEyOAABOHJlZ2lzdGVyX3Rva2Vu5QMBEFUyNTYAAwBQU2V0UHJpY2luZ1BhcmFtZXRlcnMMATRleGNoYW5nZV9yYXRlTQoBHFVENjB4MTgAATRkZWxpdmVyeV9jb3N0xAEQdTEyOAABKG11bHRpcGxpZXJNCgEcVUQ2MHgxOAAEAERVbmxvY2tOYXRpdmVUb2tlbhABIGFnZW50X2lkPAEQSDI1NgABFHRva2VuwQMBEEgxNjAAASRyZWNpcGllbnTBAwEQSDE2MAABGGFtb3VudMQBEHUxMjgABQBQUmVnaXN0ZXJGb3JlaWduVG9rZW4QASB0b2tlbl9pZDwBEEgyNTYAARBuYW1lGAEcVmVjPHU4PgABGHN5bWJvbBgBHFZlYzx1OD4AASBkZWNpbWFscwwBCHU4AAYAQE1pbnRGb3JlaWduVG9rZW4MASB0b2tlbl9pZDwBEEgyNTYAASRyZWNpcGllbnTBAwEQSDE2MAABGGFtb3VudMQBEHUxMjgABwAASQoQkHNub3dicmlkZ2Vfb3V0Ym91bmRfcXVldWVfcHJpbWl0aXZlcwh2MRxtZXNzYWdlTEFnZW50RXhlY3V0ZUNvbW1hbmQAAQQ0VHJhbnNmZXJUb2tlbgwBFHRva2VuwQMBEEgxNjAAASRyZWNpcGllbnTBAwEQSDE2MAABGGFtb3VudMQBEHUxMjgAAAAATQoMPHNub3dicmlkZ2VfY29yZRxwcmljaW5nHFVENjB4MTgAAAQA5QMBEFUyNTYAAFEKBBhPcHRpb24EBFQBOQQBCBBOb25lAAAAEFNvbWUEADkEAAABAABVChCQc25vd2JyaWRnZV9vdXRib3VuZF9xdWV1ZV9wcmltaXRpdmVzCHYxHG1lc3NhZ2UMRmVlBBxCYWxhbmNlAcQACAEUbG9jYWzEARxCYWxhbmNlAAEYcmVtb3RlxAEcQmFsYW5jZQAAWQoIbGJyaWRnZV9odWJfcG9sa2Fkb3RfcnVudGltZTBSdW50aW1lRXJyb3IAAVwYU3lzdGVtBAANBgFwZnJhbWVfc3lzdGVtOjpFcnJvcjxSdW50aW1lPgAAADxQYXJhY2hhaW5TeXN0ZW0EAKEGAbxjdW11bHVzX3BhbGxldF9wYXJhY2hhaW5fc3lzdGVtOjpFcnJvcjxSdW50aW1lPgABACBCYWxhbmNlcwQA2QYBfHBhbGxldF9iYWxhbmNlczo6RXJyb3I8UnVudGltZT4ACgBEQ29sbGF0b3JTZWxlY3Rpb24EAP0GAaRwYWxsZXRfY29sbGF0b3Jfc2VsZWN0aW9uOjpFcnJvcjxSdW50aW1lPgAVABxTZXNzaW9uBAAhBwF4cGFsbGV0X3Nlc3Npb246OkVycm9yPFJ1bnRpbWU+ABYAJFhjbXBRdWV1ZQQAXQcBpGN1bXVsdXNfcGFsbGV0X3hjbXBfcXVldWU6OkVycm9yPFJ1bnRpbWU+AB4ALFBvbGthZG90WGNtBADJBwFocGFsbGV0X3hjbTo6RXJyb3I8UnVudGltZT4AHwAcVXRpbGl0eQQA0QcBeHBhbGxldF91dGlsaXR5OjpFcnJvcjxSdW50aW1lPgAoACBNdWx0aXNpZwQA4QcBfHBhbGxldF9tdWx0aXNpZzo6RXJyb3I8UnVudGltZT4AKQAUUHJveHkEAAUIAXBwYWxsZXRfcHJveHk6OkVycm9yPFJ1bnRpbWU+ACoAOEJyaWRnZVJlbGF5ZXJzBAANCAGYcGFsbGV0X2JyaWRnZV9yZWxheWVyczo6RXJyb3I8UnVudGltZT4AMgBMQnJpZGdlS3VzYW1hR3JhbmRwYQQAIQgBHQFwYWxsZXRfYnJpZGdlX2dyYW5kcGE6OkVycm9yPFJ1bnRpbWUsIHBhbGxldF9icmlkZ2VfZ3JhbmRwYTo6SW5zdGFuY2UxPgAzAFhCcmlkZ2VLdXNhbWFQYXJhY2hhaW5zBAA5CAE5AXBhbGxldF9icmlkZ2VfcGFyYWNoYWluczo6RXJyb3I8UnVudGltZSwgcGFsbGV0X2JyaWRnZV9wYXJhY2hhaW5zOjoKSW5zdGFuY2UxPgA0AFBCcmlkZ2VLdXNhbWFNZXNzYWdlcwQAYQgBKQFwYWxsZXRfYnJpZGdlX21lc3NhZ2VzOjpFcnJvcjxSdW50aW1lLCBwYWxsZXRfYnJpZGdlX21lc3NhZ2VzOjpJbnN0YW5jZTEKPgA1AFhYY21PdmVyQnJpZGdlSHViS3VzYW1hBAB5CAEdAXBhbGxldF94Y21fYnJpZGdlX2h1Yjo6RXJyb3I8UnVudGltZSwgcGFsbGV0X3hjbV9icmlkZ2VfaHViOjpJbnN0YW5jZTE+ADYAUEV0aGVyZXVtSW5ib3VuZFF1ZXVlBACBCAG8c25vd2JyaWRnZV9wYWxsZXRfaW5ib3VuZF9xdWV1ZTo6RXJyb3I8UnVudGltZT4AUABURXRoZXJldW1PdXRib3VuZFF1ZXVlBACZCAHAc25vd2JyaWRnZV9wYWxsZXRfb3V0Ym91bmRfcXVldWU6OkVycm9yPFJ1bnRpbWU+AFEAUEV0aGVyZXVtQmVhY29uQ2xpZW50BADJCAHEc25vd2JyaWRnZV9wYWxsZXRfZXRoZXJldW1fY2xpZW50OjpFcnJvcjxSdW50aW1lPgBSADhFdGhlcmV1bVN5c3RlbQQA1QgBoHNub3dicmlkZ2VfcGFsbGV0X3N5c3RlbTo6RXJyb3I8UnVudGltZT4AUwBARXRoZXJldW1TeXN0ZW1WMgQA3QgBrHNub3dicmlkZ2VfcGFsbGV0X3N5c3RlbV92Mjo6RXJyb3I8UnVudGltZT4AWgBYRXRoZXJldW1JbmJvdW5kUXVldWVWMgQA4QgByHNub3dicmlkZ2VfcGFsbGV0X2luYm91bmRfcXVldWVfdjI6OkVycm9yPFJ1bnRpbWU+AFsAXEV0aGVyZXVtT3V0Ym91bmRRdWV1ZVYyBAD9CAHMc25vd2JyaWRnZV9wYWxsZXRfb3V0Ym91bmRfcXVldWVfdjI6OkVycm9yPFJ1bnRpbWU+AFwAME1lc3NhZ2VRdWV1ZQQAGQkBkHBhbGxldF9tZXNzYWdlX3F1ZXVlOjpFcnJvcjxSdW50aW1lPgCvAAB8GFN5c3RlbQEYU3lzdGVtUBxBY2NvdW50AQEEAgSxBEEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAE6CBUaGUgZnVsbCBhY2NvdW50IGluZm9ybWF0aW9uIGZvciBhIHBhcnRpY3VsYXIgYWNjb3VudCBJRC4AOEV4dHJpbnNpY0NvdW50AAA4BAAEuCBUb3RhbCBleHRyaW5zaWNzIGNvdW50IGZvciB0aGUgY3VycmVudCBibG9jay4AQEluaGVyZW50c0FwcGxpZWQBAMgEAASkIFdoZXRoZXIgYWxsIGluaGVyZW50cyBoYXZlIGJlZW4gYXBwbGllZC4ALEJsb2NrV2VpZ2h0AQC9BBgAAAAAAAAEiCBUaGUgY3VycmVudCB3ZWlnaHQgZm9yIHRoZSBibG9jay4AJEJsb2NrU2l6ZQAAOAQADLAgVG90YWwgc2l6ZSAoaW4gYnl0ZXMpIG9mIHRoZSBjdXJyZW50IGJsb2NrLgDIIFRyYWNrcyB0aGUgc2l6ZSBvZiB0aGUgaGVhZGVyIGFuZCBhbGwgZXh0cmluc2ljcy4AJEJsb2NrSGFzaAEBBAU4PIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASYIE1hcCBvZiBibG9jayBudW1iZXJzIHRvIGJsb2NrIGhhc2hlcy4ANEV4dHJpbnNpY0RhdGEBAQQFOBgEAAQ9ASBFeHRyaW5zaWNzIGRhdGEgZm9yIHRoZSBjdXJyZW50IGJsb2NrIChtYXBzIGFuIGV4dHJpbnNpYydzIGluZGV4IHRvIGl0cyBkYXRhKS4AGE51bWJlcgEAOBAAAAAABAkBIFRoZSBjdXJyZW50IGJsb2NrIG51bWJlciBiZWluZyBwcm9jZXNzZWQuIFNldCBieSBgZXhlY3V0ZV9ibG9ja2AuAChQYXJlbnRIYXNoAQA8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHAgSGFzaCBvZiB0aGUgcHJldmlvdXMgYmxvY2suABhEaWdlc3QBAGQEAATwIERpZ2VzdCBvZiB0aGUgY3VycmVudCBibG9jaywgYWxzbyBwYXJ0IG9mIHRoZSBibG9jayBoZWFkZXIuABhFdmVudHMBAMEEBAAcoCBFdmVudHMgZGVwb3NpdGVkIGZvciB0aGUgY3VycmVudCBibG9jay4AHQEgTk9URTogVGhlIGl0ZW0gaXMgdW5ib3VuZCBhbmQgc2hvdWxkIHRoZXJlZm9yZSBuZXZlciBiZSByZWFkIG9uIGNoYWluLtAgSXQgY291bGQgb3RoZXJ3aXNlIGluZmxhdGUgdGhlIFBvViBzaXplIG9mIGEgYmxvY2suAC0BIEV2ZW50cyBoYXZlIGEgbGFyZ2UgaW4tbWVtb3J5IHNpemUuIEJveCB0aGUgZXZlbnRzIHRvIG5vdCBnbyBvdXQtb2YtbWVtb3J5/CBqdXN0IGluIGNhc2Ugc29tZW9uZSBzdGlsbCByZWFkcyB0aGVtIGZyb20gd2l0aGluIHRoZSBydW50aW1lLgAoRXZlbnRDb3VudAEAOBAAAAAABLggVGhlIG51bWJlciBvZiBldmVudHMgaW4gdGhlIGBFdmVudHM8VD5gIGxpc3QuACxFdmVudFRvcGljcwEBBAI8zQUEACglASBNYXBwaW5nIGJldHdlZW4gYSB0b3BpYyAocmVwcmVzZW50ZWQgYnkgVDo6SGFzaCkgYW5kIGEgdmVjdG9yIG9mIGluZGV4ZXOUIG9mIGV2ZW50cyBpbiB0aGUgYDxFdmVudHM8VD4+YCBsaXN0LgBRASBBbGwgdG9waWMgdmVjdG9ycyBoYXZlIGRldGVybWluaXN0aWMgc3RvcmFnZSBsb2NhdGlvbnMgZGVwZW5kaW5nIG9uIHRoZSB0b3BpYy4gVGhpc0UBIGFsbG93cyBsaWdodC1jbGllbnRzIHRvIGxldmVyYWdlIHRoZSBjaGFuZ2VzIHRyaWUgc3RvcmFnZSB0cmFja2luZyBtZWNoYW5pc20gYW5k5CBpbiBjYXNlIG9mIGNoYW5nZXMgZmV0Y2ggdGhlIGxpc3Qgb2YgZXZlbnRzIG9mIGludGVyZXN0LgBZASBUaGUgdmFsdWUgaGFzIHRoZSB0eXBlIGAoQmxvY2tOdW1iZXJGb3I8VD4sIEV2ZW50SW5kZXgpYCBiZWNhdXNlIGlmIHdlIHVzZWQgb25seSBqdXN0TQEgdGhlIGBFdmVudEluZGV4YCB0aGVuIGluIGNhc2UgaWYgdGhlIHRvcGljIGhhcyB0aGUgc2FtZSBjb250ZW50cyBvbiB0aGUgbmV4dCBibG9jawEBIG5vIG5vdGlmaWNhdGlvbiB3aWxsIGJlIHRyaWdnZXJlZCB0aHVzIHRoZSBldmVudCBtaWdodCBiZSBsb3N0LgBITGFzdFJ1bnRpbWVVcGdyYWRlAADVBQQABFUBIFN0b3JlcyB0aGUgYHNwZWNfdmVyc2lvbmAgYW5kIGBzcGVjX25hbWVgIG9mIHdoZW4gdGhlIGxhc3QgcnVudGltZSB1cGdyYWRlIGhhcHBlbmVkLgBEQmxvY2tzVGlsbFVwZ3JhZGUAAAwEAATsIE51bWJlciBvZiBibG9ja3MgdGlsbCB0aGUgcGVuZGluZyBjb2RlIHVwZ3JhZGUgaXMgYXBwbGllZC4AVFVwZ3JhZGVkVG9VMzJSZWZDb3VudAEAyAQABE0BIFRydWUgaWYgd2UgaGF2ZSB1cGdyYWRlZCBzbyB0aGF0IGB0eXBlIFJlZkNvdW50YCBpcyBgdTMyYC4gRmFsc2UgKGRlZmF1bHQpIGlmIG5vdC4AYFVwZ3JhZGVkVG9UcmlwbGVSZWZDb3VudAEAyAQACF0BIFRydWUgaWYgd2UgaGF2ZSB1cGdyYWRlZCBzbyB0aGF0IEFjY291bnRJbmZvIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIGBSZWZDb3VudGAuIEZhbHNlSCAoZGVmYXVsdCkgaWYgbm90LgA4RXhlY3V0aW9uUGhhc2UAAMkFBAAEiCBUaGUgZXhlY3V0aW9uIHBoYXNlIG9mIHRoZSBibG9jay4AREF1dGhvcml6ZWRVcGdyYWRlAADhBQQABLggYFNvbWVgIGlmIGEgY29kZSB1cGdyYWRlIGhhcyBiZWVuIGF1dGhvcml6ZWQuAGBFeHRyaW5zaWNXZWlnaHRSZWNsYWltZWQBALUBCAAAHKAgVGhlIHdlaWdodCByZWNsYWltZWQgZm9yIHRoZSBleHRyaW5zaWMuACEBIFRoaXMgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHVudGlsIHRoZSBlbmQgb2YgdGhlIGV4dHJpbnNpYyBleGVjdXRpb24uIQEgTW9yZSBwcmVjaXNlbHkgdGhpcyBpbmZvcm1hdGlvbiBpcyByZW1vdmVkIGluIGBub3RlX2FwcGxpZWRfZXh0cmluc2ljYC4AcQEgTG9naWMgZG9pbmcgc29tZSBwb3N0IGRpc3BhdGNoIHdlaWdodCByZWR1Y3Rpb24gbXVzdCB1cGRhdGUgdGhpcyBzdG9yYWdlIHRvIGF2b2lkIGR1cGxpY2F0ZSwgcmVkdWN0aW9uLgABJAABzQQAGDBCbG9ja1dlaWdodHPlBXUBBwDyBSoBAAcAiFJqdAIAgAICZc0dAAEHwNIsdlECAMABAQcA5r1PVwIA4AEBAAACZc0dAAEHwHTBkG4CAGACAQcAiFJqdAIAgAIBBwCilBodAgCgAAJlzR0AAAAABNAgQmxvY2sgJiBleHRyaW5zaWNzIHdlaWdodHM6IGJhc2UgdmFsdWVzIGFuZCBsaW1pdHMuACxCbG9ja0xlbmd0aPEFRAAAPAAAAFAAAABQAAEAkAEABKggVGhlIG1heGltdW0gbGVuZ3RoIG9mIGEgYmxvY2sgKGluIGJ5dGVzKS4AOEJsb2NrSGFzaENvdW50OBAAEAAABFUBIE1heGltdW0gbnVtYmVyIG9mIGJsb2NrIG51bWJlciB0byBibG9jayBoYXNoIG1hcHBpbmdzIHRvIGtlZXAgKG9sZGVzdCBwcnVuZWQgZmlyc3QpLgAgRGJXZWlnaHT5BUBAeH0BAAAAAADh9QUAAAAABAkBIFRoZSB3ZWlnaHQgb2YgcnVudGltZSBkYXRhYmFzZSBvcGVyYXRpb25zIHRoZSBydW50aW1lIGNhbiBpbnZva2UuABxWZXJzaW9u/QWJBkxicmlkZ2UtaHViLXBvbGthZG90TGJyaWRnZS1odWItcG9sa2Fkb3QBAAAAOpAeAAAAAAB43XGNXMUyYtQBAAAABOcFIaDT0vgBAAAA173YonLKDWUCAAAA32rLaJkHYJsFAAAAN+OX/HyR9eQCAAAAQP461AH4lZoGAAAA0ryYl+7QjxUDAAAA94sni+U/RUwCAAAAqzwFcikf64sCAAAAzNneY5bImcoBAAAAvJ2JkE9bkj8BAAAAN8i7E1CpoqgEAAAA8/8U1atScFkDAAAAb/Uu6Fjmxb0CAAAAkbHIsWMo65ICAAAAn/tQWqc41pwBAAAAJgm+g6xEaNwBAAAAEsjj1NfgbeABAAAA6pPj8W89aWIDAAAA+8V3uddH79YBAAAA3VxWF+Uglk0BAAAAheAh8h9wDfsBAAAAE1J25W3epuIBAAAA8suJQLvewMsBAAAADH39WV0Q7hQBAAAAiReaJIFxUqcBAAAAPdYiRiFxcRwBAAAAdu5c67L6j/8BAAAAbWQmgFe86XMBAAAAot22pYR3v2MBAAAABAAAAAEEhCBHZXQgdGhlIGNoYWluJ3MgaW4tY29kZSB2ZXJzaW9uLgAoU1M1OFByZWZpeAUDCAAAFKggVGhlIGRlc2lnbmF0ZWQgU1M1OCBwcmVmaXggb2YgdGhpcyBjaGFpbi4AOQEgVGhpcyByZXBsYWNlcyB0aGUgInNzNThGb3JtYXQiIHByb3BlcnR5IGRlY2xhcmVkIGluIHRoZSBjaGFpbiBzcGVjLiBSZWFzb24gaXMxASB0aGF0IHRoZSBydW50aW1lIHNob3VsZCBrbm93IGFib3V0IHRoZSBwcmVmaXggaW4gb3JkZXIgdG8gbWFrZSB1c2Ugb2YgaXQgYXNwIGFuIGlkZW50aWZpZXIgb2YgdGhlIGNoYWluLgABDQYAHCxSdW50aW1lQ2FsbCAEjCBUaGUgYWdncmVnYXRlZCBgUnVudGltZUNhbGxgIHR5cGUuFE5vbmNlOARJASBUaGlzIHN0b3JlcyB0aGUgbnVtYmVyIG9mIHByZXZpb3VzIHRyYW5zYWN0aW9ucyBhc3NvY2lhdGVkIHdpdGggYSBzZW5kZXIgYWNjb3VudC4QSGFzaDwEmCBUaGUgb3V0cHV0IG9mIHRoZSBgSGFzaGluZ2AgZnVuY3Rpb24uHEhhc2hpbmcRBgQhASBUaGUgaGFzaGluZyBzeXN0ZW0gKGFsZ29yaXRobSkgYmVpbmcgdXNlZCBpbiB0aGUgcnVudGltZSAoZS5nLiBCbGFrZTIpLiRBY2NvdW50SWQEBMggVGhlIHVzZXIgYWNjb3VudCBpZGVudGlmaWVyIHR5cGUgZm9yIHRoZSBydW50aW1lLhRCbG9jaxUGCGEBIFRoZSBCbG9jayB0eXBlIHVzZWQgYnkgdGhlIHJ1bnRpbWUuIFRoaXMgaXMgdXNlZCBieSBgY29uc3RydWN0X3J1bnRpbWVgIHRvIHJldHJpZXZlIHRoZcwgZXh0cmluc2ljcyBvciBvdGhlciBibG9jayBzcGVjaWZpYyBkYXRhIGFzIG5lZWRlZC4sQWNjb3VudERhdGG1BAhhASBEYXRhIHRvIGJlIGFzc29jaWF0ZWQgd2l0aCBhbiBhY2NvdW50IChvdGhlciB0aGFuIG5vbmNlL3RyYW5zYWN0aW9uIGNvdW50ZXIsIHdoaWNoIHRoaXNkIHBhbGxldCBkb2VzIHJlZ2FyZGxlc3MpLgAAAAA8UGFyYWNoYWluU3lzdGVtATxQYXJhY2hhaW5TeXN0ZW18PEJsb2NrV2VpZ2h0TW9kZQAAKQYEABh8IFRoZSBjdXJyZW50IGJsb2NrIHdlaWdodCBtb2RlLgB1ASBUaGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoYXQgaXMgdGhlIG1heGltdW0gYWxsb3dlZCBibG9jayB3ZWlnaHQsIGZvciBtb3JlIGluZm9ybWF0aW9uIHNlZUggW2BibG9ja193ZWlnaHRgXS4AJQEgS2lsbGVkIGluIFtgU2VsZjo6b25faW5pdGlhbGl6ZWBdIGFuZCBzZXQgYnkgdGhlIFtgYmxvY2tfd2VpZ2h0YF0gbG9naWMuAERQcmV2aW91c0NvcmVDb3VudAAALQYEAAwFASBUaGUgY29yZSBjb3VudCBhdmFpbGFibGUgdG8gdGhlIHBhcmFjaGFpbiBpbiB0aGUgcHJldmlvdXMgYmxvY2suAHUBIFRoaXMgaXMgbWFpbmx5IHVzZWQgZm9yIG9mZmNoYWluIGZ1bmN0aW9uYWxpdHkgdG8gY2FsY3VsYXRlIHRoZSBjb3JyZWN0IHRhcmdldCBibG9jayB3ZWlnaHQuAERVbmluY2x1ZGVkU2VnbWVudAEAMQYEABhJASBMYXRlc3QgaW5jbHVkZWQgYmxvY2sgZGVzY2VuZGFudHMgdGhlIHJ1bnRpbWUgYWNjZXB0ZWQuIEluIG90aGVyIHdvcmRzLCB0aGVzZSBhcmVhASBhbmNlc3RvcnMgb2YgdGhlIGN1cnJlbnRseSBleGVjdXRpbmcgYmxvY2sgd2hpY2ggaGF2ZSBub3QgYmVlbiBpbmNsdWRlZCBpbiB0aGUgb2JzZXJ2ZWRMIHJlbGF5LWNoYWluIHN0YXRlLgB1ASBUaGUgc2VnbWVudCBsZW5ndGggaXMgbGltaXRlZCBieSB0aGUgY2FwYWNpdHkgcmV0dXJuZWQgZnJvbSB0aGUgW2BDb25zZW5zdXNIb29rYF0gY29uZmlndXJlZDwgaW4gdGhlIHBhbGxldC4AbEFnZ3JlZ2F0ZWRVbmluY2x1ZGVkU2VnbWVudAAAVQYEAAxpASBTdG9yYWdlIGZpZWxkIHRoYXQga2VlcHMgdHJhY2sgb2YgYmFuZHdpZHRoIHVzZWQgYnkgdGhlIHVuaW5jbHVkZWQgc2VnbWVudCBhbG9uZyB3aXRoIHRoZS0BIGxhdGVzdCBIUk1QIHdhdGVybWFyay4gVXNlZCBmb3IgbGltaXRpbmcgdGhlIGFjY2VwdGFuY2Ugb2YgbmV3IGJsb2NrcyB3aXRokCByZXNwZWN0IHRvIHJlbGF5IGNoYWluIGNvbnN0cmFpbnRzLgBUUGVuZGluZ1ZhbGlkYXRpb25Db2RlAQAYBAAYWQEgSW4gY2FzZSBvZiBhIHNjaGVkdWxlZCB1cGdyYWRlLCB0aGlzIHN0b3JhZ2UgZmllbGQgY29udGFpbnMgdGhlIHZhbGlkYXRpb24gY29kZSB0byBiZSQgYXBwbGllZC4APQEgQXMgc29vbiBhcyB0aGUgcmVsYXkgY2hhaW4gZ2l2ZXMgdXMgdGhlIGdvLWFoZWFkIHNpZ25hbCwgd2Ugd2lsbCBvdmVyd3JpdGUgdGhlZQEgW2A6cGVuZGluZ19jb2RlYF1bc3BfY29yZTo6c3RvcmFnZTo6d2VsbF9rbm93bl9rZXlzOjpQRU5ESU5HX0NPREVdIHdoaWNoIHdpbGwgcmVzdWx0IHRoZXUBIG5leHQgYmxvY2sgdG8gYmUgcHJvY2Vzc2VkIHdpdGggdGhlIG5ldyB2YWxpZGF0aW9uIGNvZGUuIFRoaXMgY29uY2x1ZGVzIHRoZSB1cGdyYWRlIHByb2Nlc3MuAEROZXdWYWxpZGF0aW9uQ29kZQAAGAQAFF0BIFZhbGlkYXRpb24gY29kZSB0aGF0IGlzIHNldCBieSB0aGUgcGFyYWNoYWluIGFuZCBpcyB0byBiZSBjb21tdW5pY2F0ZWQgdG8gY29sbGF0b3IgYW5keCBjb25zZXF1ZW50bHkgdGhlIHJlbGF5LWNoYWluLgBlASBUaGlzIHdpbGwgYmUgY2xlYXJlZCBpbiBgb25faW5pdGlhbGl6ZWAgb2YgZWFjaCBuZXcgYmxvY2sgaWYgbm8gb3RoZXIgcGFsbGV0IGFscmVhZHkgc2V0LCB0aGUgdmFsdWUuADhWYWxpZGF0aW9uRGF0YQAASAQADNAgVGhlIFtgUGVyc2lzdGVkVmFsaWRhdGlvbkRhdGFgXSBzZXQgZm9yIHRoaXMgYmxvY2suAHEBIFRoaXMgdmFsdWUgaXMgZXhwZWN0ZWQgdG8gYmUgc2V0IG9ubHkgb25jZSBieSB0aGUgW2BQYWxsZXQ6OnNldF92YWxpZGF0aW9uX2RhdGFgXSBpbmhlcmVudC4AUERpZFNldFZhbGlkYXRpb25Db2RlAQDIBAAE4CBXZXJlIHRoZSB2YWxpZGF0aW9uIGRhdGEgc2V0IHRvIG5vdGlmeSB0aGUgcmVsYXkgY2hhaW4/AGRMYXN0UmVsYXlDaGFpbkJsb2NrTnVtYmVyAQA4EAAAAAAMHQEgVGhlIHJlbGF5IGNoYWluIGJsb2NrIG51bWJlciBhc3NvY2lhdGVkIHdpdGggdGhlIGxhc3QgcGFyYWNoYWluIGJsb2NrLgCIIFRoaXMgaXMgdXBkYXRlZCBpbiBgb25fZmluYWxpemVgLgBgVXBncmFkZVJlc3RyaWN0aW9uU2lnbmFsAQBZBgQAHHUBIEFuIG9wdGlvbiB3aGljaCBpbmRpY2F0ZXMgaWYgdGhlIHJlbGF5LWNoYWluIHJlc3RyaWN0cyBzaWduYWxsaW5nIGEgdmFsaWRhdGlvbiBjb2RlIHVwZ3JhZGUuYQEgSW4gb3RoZXIgd29yZHMsIGlmIHRoaXMgaXMgYFNvbWVgIGFuZCBbYE5ld1ZhbGlkYXRpb25Db2RlYF0gaXMgYFNvbWVgIHRoZW4gdGhlIHByb2R1Y2VkbCBjYW5kaWRhdGUgd2lsbCBiZSBpbnZhbGlkLgBxASBUaGlzIHN0b3JhZ2UgaXRlbSBpcyBhIG1pcnJvciBvZiB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZSBmb3IgdGhlIGN1cnJlbnQgcGFyYWNoYWluIGZyb20gdGhlbQEgcmVsYXktY2hhaW4uIFRoaXMgdmFsdWUgaXMgZXBoZW1lcmFsIHdoaWNoIG1lYW5zIGl0IGRvZXNuJ3QgaGl0IHRoZSBzdG9yYWdlLiBUaGlzIHZhbHVlIGlzYCBzZXQgYWZ0ZXIgdGhlIGluaGVyZW50LgA4VXBncmFkZUdvQWhlYWQBAE0GBAAU3CBPcHRpb25hbCB1cGdyYWRlIGdvLWFoZWFkIHNpZ25hbCBmcm9tIHRoZSByZWxheS1jaGFpbi4AcQEgVGhpcyBzdG9yYWdlIGl0ZW0gaXMgYSBtaXJyb3Igb2YgdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgZm9yIHRoZSBjdXJyZW50IHBhcmFjaGFpbiBmcm9tIHRoZW0BIHJlbGF5LWNoYWluLiBUaGlzIHZhbHVlIGlzIGVwaGVtZXJhbCB3aGljaCBtZWFucyBpdCBkb2Vzbid0IGhpdCB0aGUgc3RvcmFnZS4gVGhpcyB2YWx1ZSBpc2Agc2V0IGFmdGVyIHRoZSBpbmhlcmVudC4APFJlbGF5U3RhdGVQcm9vZgAAUAQAGMQgVGhlIHN0YXRlIHByb29mIGZvciB0aGUgbGFzdCByZWxheSBwYXJlbnQgYmxvY2suAG0BIFRoaXMgZmllbGQgaXMgbWVhbnQgdG8gYmUgdXBkYXRlZCBlYWNoIGJsb2NrIHdpdGggdGhlIHZhbGlkYXRpb24gZGF0YSBpbmhlcmVudC4gVGhlcmVmb3JlLE0BIGJlZm9yZSBwcm9jZXNzaW5nIG9mIHRoZSBpbmhlcmVudCwgZS5nLiBpbiBgb25faW5pdGlhbGl6ZWAgdGhpcyBkYXRhIG1heSBiZSBzdGFsZS4ArCBUaGlzIGRhdGEgaXMgYWxzbyBhYnNlbnQgZnJvbSB0aGUgZ2VuZXNpcy4AWFJlbGV2YW50TWVzc2FnaW5nU3RhdGUAAGEGBAAcZQEgVGhlIHNuYXBzaG90IG9mIHNvbWUgc3RhdGUgcmVsYXRlZCB0byBtZXNzYWdpbmcgcmVsZXZhbnQgdG8gdGhlIGN1cnJlbnQgcGFyYWNoYWluIGFzIHBlckggdGhlIHJlbGF5IHBhcmVudC4AbQEgVGhpcyBmaWVsZCBpcyBtZWFudCB0byBiZSB1cGRhdGVkIGVhY2ggYmxvY2sgd2l0aCB0aGUgdmFsaWRhdGlvbiBkYXRhIGluaGVyZW50LiBUaGVyZWZvcmUsTQEgYmVmb3JlIHByb2Nlc3Npbmcgb2YgdGhlIGluaGVyZW50LCBlLmcuIGluIGBvbl9pbml0aWFsaXplYCB0aGlzIGRhdGEgbWF5IGJlIHN0YWxlLgCsIFRoaXMgZGF0YSBpcyBhbHNvIGFic2VudCBmcm9tIHRoZSBnZW5lc2lzLgBESG9zdENvbmZpZ3VyYXRpb24AAHUGBAAYKQEgVGhlIHBhcmFjaGFpbiBob3N0IGNvbmZpZ3VyYXRpb24gdGhhdCB3YXMgb2J0YWluZWQgZnJvbSB0aGUgcmVsYXkgcGFyZW50LgBtASBUaGlzIGZpZWxkIGlzIG1lYW50IHRvIGJlIHVwZGF0ZWQgZWFjaCBibG9jayB3aXRoIHRoZSB2YWxpZGF0aW9uIGRhdGEgaW5oZXJlbnQuIFRoZXJlZm9yZSxNASBiZWZvcmUgcHJvY2Vzc2luZyBvZiB0aGUgaW5oZXJlbnQsIGUuZy4gaW4gYG9uX2luaXRpYWxpemVgIHRoaXMgZGF0YSBtYXkgYmUgc3RhbGUuAKwgVGhpcyBkYXRhIGlzIGFsc28gYWJzZW50IGZyb20gdGhlIGdlbmVzaXMuADhMYXN0RG1xTXFjSGVhZAEAfQaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ9CBUaGUgbGFzdCBkb3dud2FyZCBtZXNzYWdlIHF1ZXVlIGNoYWluIGhlYWQgd2UgaGF2ZSBvYnNlcnZlZC4AZQEgVGhpcyB2YWx1ZSBpcyBsb2FkZWQgYmVmb3JlIGFuZCBzYXZlZCBhZnRlciBwcm9jZXNzaW5nIGluYm91bmQgZG93bndhcmQgbWVzc2FnZXMgY2FycmllZGAgYnkgdGhlIHN5c3RlbSBpbmhlcmVudC4AQExhc3RIcm1wTXFjSGVhZHMBAIEGBAAQSQEgVGhlIG1lc3NhZ2UgcXVldWUgY2hhaW4gaGVhZHMgd2UgaGF2ZSBvYnNlcnZlZCBwZXIgZWFjaCBjaGFubmVsIGluY29taW5nIGNoYW5uZWwuAGUBIFRoaXMgdmFsdWUgaXMgbG9hZGVkIGJlZm9yZSBhbmQgc2F2ZWQgYWZ0ZXIgcHJvY2Vzc2luZyBpbmJvdW5kIGRvd253YXJkIG1lc3NhZ2VzIGNhcnJpZWRgIGJ5IHRoZSBzeXN0ZW0gaW5oZXJlbnQuAGRQcm9jZXNzZWREb3dud2FyZE1lc3NhZ2VzAQA4EAAAAAAMyCBOdW1iZXIgb2YgZG93bndhcmQgbWVzc2FnZXMgcHJvY2Vzc2VkIGluIGEgYmxvY2suAOwgVGhpcyB3aWxsIGJlIGNsZWFyZWQgaW4gYG9uX2luaXRpYWxpemVgIG9mIGVhY2ggbmV3IGJsb2NrLgBwTGFzdFByb2Nlc3NlZERvd253YXJkTWVzc2FnZQAAjQYEAAyUIFRoZSBsYXN0IHByb2Nlc3NlZCBkb3dud2FyZCBtZXNzYWdlLgBdASBXZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgdGhpcyB0byBmaWx0ZXIgdGhlIG1lc3NhZ2VzIHRoYXQgaGF2ZSBiZWVuIGFscmVhZHkgcHJvY2Vzc2VkLgA0SHJtcFdhdGVybWFyawEAOBAAAAAABKAgSFJNUCB3YXRlcm1hcmsgdGhhdCB3YXMgc2V0IGluIGEgYmxvY2suAGBMYXN0UHJvY2Vzc2VkSHJtcE1lc3NhZ2UAAI0GBAAMhCBUaGUgbGFzdCBwcm9jZXNzZWQgSFJNUCBtZXNzYWdlLgBdASBXZSBuZWVkIHRvIGtlZXAgdHJhY2sgb2YgdGhpcyB0byBmaWx0ZXIgdGhlIG1lc3NhZ2VzIHRoYXQgaGF2ZSBiZWVuIGFscmVhZHkgcHJvY2Vzc2VkLgBQSHJtcE91dGJvdW5kTWVzc2FnZXMBAJEGBAAMpCBIUk1QIG1lc3NhZ2VzIHRoYXQgd2VyZSBzZW50IGluIGEgYmxvY2suAOwgVGhpcyB3aWxsIGJlIGNsZWFyZWQgaW4gYG9uX2luaXRpYWxpemVgIG9mIGVhY2ggbmV3IGJsb2NrLgA4VXB3YXJkTWVzc2FnZXMBADQEAAysIFVwd2FyZCBtZXNzYWdlcyB0aGF0IHdlcmUgc2VudCBpbiBhIGJsb2NrLgDwIFRoaXMgd2lsbCBiZSBjbGVhcmVkIGluIGBvbl9pbml0aWFsaXplYCBmb3IgZWFjaCBuZXcgYmxvY2suAFRQZW5kaW5nVXB3YXJkTWVzc2FnZXMBADQEAAQxASBVcHdhcmQgbWVzc2FnZXMgdGhhdCBhcmUgc3RpbGwgcGVuZGluZyBhbmQgbm90IHlldCBzZW50IHRvIHRoZSByZWxheSBjaGFpbi4AUFBlbmRpbmdVcHdhcmRTaWduYWxzAQA0BAAMLQEgVXB3YXJkIHNpZ25hbHMgdGhhdCBhcmUgc3RpbGwgcGVuZGluZyBhbmQgbm90IHlldCBzZW50IHRvIHRoZSByZWxheSBjaGFpbi4A2CBUaGlzIHdpbGwgYmUgY2xlYXJlZCBpbiBgb25fZmluYWxpemVgIGZvciBlYWNoIGJsb2NrLgBMUGVuZGluZ0FwcHJvdmVkUGVlcgAAeAQABDkBIFRoZSBhcHByb3ZlZCBwZWVyIGlkIHRvIGJlIHNlbnQgYXMgYSBVTVAgc2lnbmFsIG9uIHRoZSBsYXN0IGJsb2NrIG9mIHRoZSBQb1YuAFxVcHdhcmREZWxpdmVyeUZlZUZhY3RvcgEAPQRAAABkp7O24A0AAAAAAAAAAATkIFRoZSBmYWN0b3IgdG8gbXVsdGlwbHkgdGhlIGJhc2UgZGVsaXZlcnkgZmVlIGJ5IGZvciBVTVAuAIRBbm5vdW5jZWRIcm1wTWVzc2FnZXNQZXJDYW5kaWRhdGUBADgQAAAAAAhlASBUaGUgbnVtYmVyIG9mIEhSTVAgbWVzc2FnZXMgd2Ugb2JzZXJ2ZWQgaW4gYG9uX2luaXRpYWxpemVgIGFuZCB0aHVzIHVzZWQgdGhhdCBudW1iZXIgZm9y8CBhbm5vdW5jaW5nIHRoZSB3ZWlnaHQgb2YgYG9uX2luaXRpYWxpemVgIGFuZCBgb25fZmluYWxpemVgLgBoUmVzZXJ2ZWRYY21wV2VpZ2h0T3ZlcnJpZGUAALUBBAAIXQEgVGhlIHdlaWdodCB3ZSByZXNlcnZlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrIGZvciBwcm9jZXNzaW5nIFhDTVAgbWVzc2FnZXMuIFRoaXO4IG92ZXJyaWRlcyB0aGUgYW1vdW50IHNldCBpbiB0aGUgQ29uZmlnIHRyYWl0LgBkUmVzZXJ2ZWREbXBXZWlnaHRPdmVycmlkZQAAtQEEAAhZASBUaGUgd2VpZ2h0IHdlIHJlc2VydmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgZm9yIHByb2Nlc3NpbmcgRE1QIG1lc3NhZ2VzLiBUaGlzuCBvdmVycmlkZXMgdGhlIGFtb3VudCBzZXQgaW4gdGhlIENvbmZpZyB0cmFpdC4AYEN1c3RvbVZhbGlkYXRpb25IZWFkRGF0YQAAGAQADCkBIEEgY3VzdG9tIGhlYWQgZGF0YSB0aGF0IHNob3VsZCBiZSByZXR1cm5lZCBhcyByZXN1bHQgb2YgYHZhbGlkYXRlX2Jsb2NrYC4AEQEgU2VlIGBQYWxsZXQ6OnNldF9jdXN0b21fdmFsaWRhdGlvbl9oZWFkX2RhdGFgIGZvciBtb3JlIGluZm9ybWF0aW9uLgBIUG9WTWVzc2FnZXNUcmFja2VyAACZBgQADFUBIFRyYWNrcyBjdW11bGF0aXZlIGBVTVBgIGFuZCBgSFJNUGAgbWVzc2FnZXMgc2VudCBhY3Jvc3MgYmxvY2tzIGluIHRoZSBjdXJyZW50IGBQb1ZgLgB1ASBBY3Jvc3MgZGlmZmVyZW50IGNhbmRpZGF0ZXMvUG9WcyB0aGUgYnVkZ2V0cyBhcmUgdHJhY2tlZCBieSBbYEFnZ3JlZ2F0ZWRVbmluY2x1ZGVkU2VnbWVudGBdLgABQAAB9QQABChTZWxmUGFyYUlknBDqAwAABLggUmV0dXJucyB0aGUgcGFyYWNoYWluIElEIHdlIGFyZSBydW5uaW5nIHdpdGguAAGhBgAAAAEAACRUaW1lc3RhbXABJFRpbWVzdGFtcAgMTm93AQAoIAAAAAAAAAAABKAgVGhlIGN1cnJlbnQgdGltZSBmb3IgdGhlIGN1cnJlbnQgYmxvY2suACREaWRVcGRhdGUBAMgEABDYIFdoZXRoZXIgdGhlIHRpbWVzdGFtcCBoYXMgYmVlbiB1cGRhdGVkIGluIHRoaXMgYmxvY2suAFUBIFRoaXMgdmFsdWUgaXMgdXBkYXRlZCB0byBgdHJ1ZWAgdXBvbiBzdWNjZXNzZnVsIHN1Ym1pc3Npb24gb2YgYSB0aW1lc3RhbXAgYnkgYSBub2RlLkUBIEl0IGlzIHRoZW4gY2hlY2tlZCBhdCB0aGUgZW5kIG9mIGVhY2ggYmxvY2sgZXhlY3V0aW9uIGluIHRoZSBgb25fZmluYWxpemVgIGhvb2suAAGwAAAENE1pbmltdW1QZXJpb2QoIAAAAAAAAAAAGIwgVGhlIG1pbmltdW0gcGVyaW9kIGJldHdlZW4gYmxvY2tzLgBNASBCZSBhd2FyZSB0aGF0IHRoaXMgaXMgZGlmZmVyZW50IHRvIHRoZSAqZXhwZWN0ZWQqIHBlcmlvZCB0aGF0IHRoZSBibG9jayBwcm9kdWN0aW9uSQEgYXBwYXJhdHVzIHByb3ZpZGVzLiBZb3VyIGNob3NlbiBjb25zZW5zdXMgc3lzdGVtIHdpbGwgZ2VuZXJhbGx5IHdvcmsgd2l0aCB0aGlzIHRvYQEgZGV0ZXJtaW5lIGEgc2Vuc2libGUgYmxvY2sgdGltZS4gRm9yIGV4YW1wbGUsIGluIHRoZSBBdXJhIHBhbGxldCBpdCB3aWxsIGJlIGRvdWJsZSB0aGlzcCBwZXJpb2Qgb24gZGVmYXVsdCBzZXR0aW5ncy4AAAQYTW9tZW50KASYIFR5cGUgdXNlZCBmb3IgZXhwcmVzc2luZyBhIHRpbWVzdGFtcC4AAgAANFBhcmFjaGFpbkluZm8BNFBhcmFjaGFpbkluZm8ELFBhcmFjaGFpbklkAQCcEGQAAAAAAAG4AAAAAAAAAwAANFdlaWdodFJlY2xhaW0AAAAAAAAABAiBASBQYWxsZXQgdG8gdXNlIGFsb25nc2lkZSB0aGUgdHJhbnNhY3Rpb24gZXh0ZW5zaW9uIFtgU3RvcmFnZVdlaWdodFJlY2xhaW1gXSwgdGhlIHBhbGxldCBwcm92aWRlc4wgd2VpZ2h0IGluZm9ybWF0aW9uIGFuZCBiZW5jaG1hcmtzLgAgQmFsYW5jZXMBIEJhbGFuY2VzHDRUb3RhbElzc3VhbmNlAQDEQAAAAAAAAAAAAAAAAAAAAAAEmCBUaGUgdG90YWwgdW5pdHMgaXNzdWVkIGluIHRoZSBzeXN0ZW0uAEBJbmFjdGl2ZUlzc3VhbmNlAQDEQAAAAAAAAAAAAAAAAAAAAAAECQEgVGhlIHRvdGFsIHVuaXRzIG9mIG91dHN0YW5kaW5nIGRlYWN0aXZhdGVkIGJhbGFuY2UgaW4gdGhlIHN5c3RlbS4AHEFjY291bnQBAQQCBLUEAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAYAkBIFRoZSBCYWxhbmNlcyBwYWxsZXQgZXhhbXBsZSBvZiBzdG9yaW5nIHRoZSBiYWxhbmNlIG9mIGFuIGFjY291bnQuACggIyBFeGFtcGxlADQgYGBgbm9jb21waWxlsCAgaW1wbCBwYWxsZXRfYmFsYW5jZXM6OkNvbmZpZyBmb3IgUnVudGltZSB7GQIgICAgdHlwZSBBY2NvdW50U3RvcmUgPSBTdG9yYWdlTWFwU2hpbTxTZWxmOjpBY2NvdW50PFJ1bnRpbWU+LCBmcmFtZV9zeXN0ZW06OlByb3ZpZGVyPFJ1bnRpbWU+LCBBY2NvdW50SWQsIFNlbGY6OkFjY291bnREYXRhPEJhbGFuY2U+PgwgIH0QIGBgYAAVASBZb3UgY2FuIGFsc28gc3RvcmUgdGhlIGJhbGFuY2Ugb2YgYW4gYWNjb3VudCBpbiB0aGUgYFN5c3RlbWAgcGFsbGV0LgAoICMgRXhhbXBsZQA0IGBgYG5vY29tcGlsZbAgIGltcGwgcGFsbGV0X2JhbGFuY2VzOjpDb25maWcgZm9yIFJ1bnRpbWUge3QgICB0eXBlIEFjY291bnRTdG9yZSA9IFN5c3RlbQwgIH0QIGBgYABRASBCdXQgdGhpcyBjb21lcyB3aXRoIHRyYWRlb2Zmcywgc3RvcmluZyBhY2NvdW50IGJhbGFuY2VzIGluIHRoZSBzeXN0ZW0gcGFsbGV0IHN0b3Jlc20BIGBmcmFtZV9zeXN0ZW1gIGRhdGEgYWxvbmdzaWRlIHRoZSBhY2NvdW50IGRhdGEgY29udHJhcnkgdG8gc3RvcmluZyBhY2NvdW50IGJhbGFuY2VzIGluIHRoZSkBIGBCYWxhbmNlc2AgcGFsbGV0LCB3aGljaCB1c2VzIGEgYFN0b3JhZ2VNYXBgIHRvIHN0b3JlIGJhbGFuY2VzIGRhdGEgb25seS5BASBOT1RFOiBUaGlzIGlzIG9ubHkgdXNlZCBpbiB0aGUgY2FzZSB0aGF0IHRoaXMgcGFsbGV0IGlzIHVzZWQgdG8gc3RvcmUgYmFsYW5jZXMuABRMb2NrcwEBBAIEpQYEABC4IEFueSBsaXF1aWRpdHkgbG9ja3Mgb24gc29tZSBhY2NvdW50IGJhbGFuY2VzLiUBIE5PVEU6IFNob3VsZCBvbmx5IGJlIGFjY2Vzc2VkIHdoZW4gc2V0dGluZywgY2hhbmdpbmcgYW5kIGZyZWVpbmcgYSBsb2NrLgCtASBVc2Ugb2YgbG9ja3MgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgZnJlZXplcy4gU2VlIGBodHRwczovL2dpdGh1Yi5jb20vcGFyaXR5dGVjaC9zdWJzdHJhdGUvcHVsbC8xMjk1MS9gACBSZXNlcnZlcwEBBAIEtQYEAAykIE5hbWVkIHJlc2VydmVzIG9uIHNvbWUgYWNjb3VudCBiYWxhbmNlcy4AsQEgVXNlIG9mIHJlc2VydmVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGhvbGRzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2AAFEhvbGRzAQEEAgTBBgQABGwgSG9sZHMgb24gYWNjb3VudCBiYWxhbmNlcy4AHEZyZWV6ZXMBAQQCBM0GBAAEiCBGcmVlemUgbG9ja3Mgb24gYWNjb3VudCBiYWxhbmNlcy4AAbwAAfkEABBIRXhpc3RlbnRpYWxEZXBvc2l0xEAAypo7AAAAAAAAAAAAAAAAIEEBIFRoZSBtaW5pbXVtIGFtb3VudCByZXF1aXJlZCB0byBrZWVwIGFuIGFjY291bnQgb3Blbi4gTVVTVCBCRSBHUkVBVEVSIFRIQU4gWkVSTyEAWQEgSWYgeW91ICpyZWFsbHkqIG5lZWQgaXQgdG8gYmUgemVybywgeW91IGNhbiBlbmFibGUgdGhlIGZlYXR1cmUgYGluc2VjdXJlX3plcm9fZWRgIGZvcmEBIHRoaXMgcGFsbGV0LiBIb3dldmVyLCB5b3UgZG8gc28gYXQgeW91ciBvd24gcmlzazogdGhpcyB3aWxsIG9wZW4gdXAgYSBtYWpvciBEb1MgdmVjdG9yLlkBIEluIGNhc2UgeW91IGhhdmUgbXVsdGlwbGUgc291cmNlcyBvZiBwcm92aWRlciByZWZlcmVuY2VzLCB5b3UgbWF5IGFsc28gZ2V0IHVuZXhwZWN0ZWSMIGJlaGF2aW91ciBpZiB5b3Ugc2V0IHRoaXMgdG8gemVyby4A8CBCb3R0b20gbGluZTogRG8geW91cnNlbGYgYSBmYXZvdXIgYW5kIG1ha2UgaXQgYXQgbGVhc3Qgb25lIQAgTWF4TG9ja3M4EDIAAAAQ9CBUaGUgbWF4aW11bSBudW1iZXIgb2YgbG9ja3MgdGhhdCBzaG91bGQgZXhpc3Qgb24gYW4gYWNjb3VudC7cIE5vdCBzdHJpY3RseSBlbmZvcmNlZCwgYnV0IHVzZWQgZm9yIHdlaWdodCBlc3RpbWF0aW9uLgCtASBVc2Ugb2YgbG9ja3MgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgZnJlZXplcy4gU2VlIGBodHRwczovL2dpdGh1Yi5jb20vcGFyaXR5dGVjaC9zdWJzdHJhdGUvcHVsbC8xMjk1MS9gACxNYXhSZXNlcnZlczgQMgAAAAwNASBUaGUgbWF4aW11bSBudW1iZXIgb2YgbmFtZWQgcmVzZXJ2ZXMgdGhhdCBjYW4gZXhpc3Qgb24gYW4gYWNjb3VudC4AsQEgVXNlIG9mIHJlc2VydmVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGhvbGRzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2AAKE1heEZyZWV6ZXM4EAAAAAAEYQEgVGhlIG1heGltdW0gbnVtYmVyIG9mIGluZGl2aWR1YWwgZnJlZXplIGxvY2tzIHRoYXQgY2FuIGV4aXN0IG9uIGFuIGFjY291bnQgYXQgYW55IHRpbWUuAAHZBgAQRFJ1bnRpbWVIb2xkUmVhc29uAQUEdCBUaGUgb3ZlcmFyY2hpbmcgaG9sZCByZWFzb24uHEJhbGFuY2XEBGwgVGhlIGJhbGFuY2Ugb2YgYW4gYWNjb3VudC5EUmVzZXJ2ZUlkZW50aWZpZXKdAQxoIFRoZSBJRCB0eXBlIGZvciByZXNlcnZlcy4AsQEgVXNlIG9mIHJlc2VydmVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIGhvbGRzLiBTZWUgYGh0dHBzOi8vZ2l0aHViLmNvbS9wYXJpdHl0ZWNoL3N1YnN0cmF0ZS9wdWxsLzEyOTUxL2BARnJlZXplSWRlbnRpZmllchAEZCBUaGUgSUQgdHlwZSBmb3IgZnJlZXplcy4ACgAASFRyYW5zYWN0aW9uUGF5bWVudAFIVHJhbnNhY3Rpb25QYXltZW50DEROZXh0RmVlTXVsdGlwbGllcgEAPQRAAABkp7O24A0AAAAAAAAAAAAAOFN0b3JhZ2VWZXJzaW9uAQDdBgQAAAA8VHhQYXltZW50Q3JlZGl0AADhBgQADPAgVGhlIGBPbkNoYXJnZVRyYW5zYWN0aW9uYCBzdG9yZXMgdGhlIHdpdGhkcmF3biB0eCBmZWUgaGVyZS4ANQEgVXNlIGB3aXRoZHJhd190eGZlZWAgYW5kIGByZW1haW5pbmdfdHhmZWVgIHRvIGFjY2VzcyBmcm9tIG91dHNpZGUgdGhlIGNyYXRlLgAAARUFAARgT3BlcmF0aW9uYWxGZWVNdWx0aXBsaWVyDAQFVFkBIEEgZmVlIG11bHRpcGxpZXIgZm9yIGBPcGVyYXRpb25hbGAgZXh0cmluc2ljcyB0byBjb21wdXRlICJ2aXJ0dWFsIHRpcCIgdG8gYm9vc3QgdGhlaXIsIGBwcmlvcml0eWAAUQEgVGhpcyB2YWx1ZSBpcyBtdWx0aXBsaWVkIGJ5IHRoZSBgZmluYWxfZmVlYCB0byBvYnRhaW4gYSAidmlydHVhbCB0aXAiIHRoYXQgaXMgbGF0ZXL0IGFkZGVkIHRvIGEgdGlwIGNvbXBvbmVudCBpbiByZWd1bGFyIGBwcmlvcml0eWAgY2FsY3VsYXRpb25zLk0BIEl0IG1lYW5zIHRoYXQgYSBgTm9ybWFsYCB0cmFuc2FjdGlvbiBjYW4gZnJvbnQtcnVuIGEgc2ltaWxhcmx5LXNpemVkIGBPcGVyYXRpb25hbGBBASBleHRyaW5zaWMgKHdpdGggbm8gdGlwKSwgYnkgaW5jbHVkaW5nIGEgdGlwIHZhbHVlIGdyZWF0ZXIgdGhhbiB0aGUgdmlydHVhbCB0aXAuADwgYGBgcnVzdCxpZ25vcmVAIC8vIEZvciBgTm9ybWFsYIwgbGV0IHByaW9yaXR5ID0gcHJpb3JpdHlfY2FsYyh0aXApOwBUIC8vIEZvciBgT3BlcmF0aW9uYWxgEQEgbGV0IHZpcnR1YWxfdGlwID0gKGluY2x1c2lvbl9mZWUgKyB0aXApICogT3BlcmF0aW9uYWxGZWVNdWx0aXBsaWVyO8QgbGV0IHByaW9yaXR5ID0gcHJpb3JpdHlfY2FsYyh0aXAgKyB2aXJ0dWFsX3RpcCk7ECBgYGAAUQEgTm90ZSB0aGF0IHNpbmNlIHdlIHVzZSBgZmluYWxfZmVlYCB0aGUgbXVsdGlwbGllciBhcHBsaWVzIGFsc28gdG8gdGhlIHJlZ3VsYXIgYHRpcGBdASBzZW50IHdpdGggdGhlIHRyYW5zYWN0aW9uLiBTbywgbm90IG9ubHkgZG9lcyB0aGUgdHJhbnNhY3Rpb24gZ2V0IGEgcHJpb3JpdHkgYnVtcCBiYXNlZGEBIG9uIHRoZSBgaW5jbHVzaW9uX2ZlZWAsIGJ1dCB3ZSBhbHNvIGFtcGxpZnkgdGhlIGltcGFjdCBvZiB0aXBzIGFwcGxpZWQgdG8gYE9wZXJhdGlvbmFsYDggdHJhbnNhY3Rpb25zLgAAAAALAAAoQXV0aG9yc2hpcAEoQXV0aG9yc2hpcAQYQXV0aG9yAAAEBAAEZCBBdXRob3Igb2YgY3VycmVudCBibG9jay4AAAAAAAAAFAAARENvbGxhdG9yU2VsZWN0aW9uAURDb2xsYXRvclNlbGVjdGlvbhQ0SW52dWxuZXJhYmxlcwEA6QYEAAQRASBUaGUgaW52dWxuZXJhYmxlLCBwZXJtaXNzaW9uZWQgY29sbGF0b3JzLiBUaGlzIGxpc3QgbXVzdCBiZSBzb3J0ZWQuADRDYW5kaWRhdGVMaXN0AQDtBgQAFGkBIFRoZSAoY29tbXVuaXR5LCBsaW1pdGVkKSBjb2xsYXRpb24gY2FuZGlkYXRlcy4gYENhbmRpZGF0ZXNgIGFuZCBgSW52dWxuZXJhYmxlc2Agc2hvdWxkIGJlUCBtdXR1YWxseSBleGNsdXNpdmUuAHUBIFRoaXMgbGlzdCBpcyBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyIGJ5IGRlcG9zaXQgYW5kIHdoZW4gdGhlIGRlcG9zaXRzIGFyZSBlcXVhbCwgdGhlIGxlYXN0oCByZWNlbnRseSB1cGRhdGVkIGlzIGNvbnNpZGVyZWQgZ3JlYXRlci4ARExhc3RBdXRob3JlZEJsb2NrAQEEBQQ4EAAAAAAEhCBMYXN0IGJsb2NrIGF1dGhvcmVkIGJ5IGNvbGxhdG9yLgBERGVzaXJlZENhbmRpZGF0ZXMBADgQAAAAAAx4IERlc2lyZWQgbnVtYmVyIG9mIGNhbmRpZGF0ZXMuAHUBIFRoaXMgc2hvdWxkIGlkZWFsbHkgYWx3YXlzIGJlIGxlc3MgdGhhbiBbYENvbmZpZzo6TWF4Q2FuZGlkYXRlc2BdIGZvciB3ZWlnaHRzIHRvIGJlIGNvcnJlY3QuADRDYW5kaWRhY3lCb25kAQDEQAAAAAAAAAAAAAAAAAAAAAAMuCBGaXhlZCBhbW91bnQgdG8gZGVwb3NpdCB0byBiZWNvbWUgYSBjb2xsYXRvci4AQQEgV2hlbiBhIGNvbGxhdG9yIGNhbGxzIGBsZWF2ZV9pbnRlbnRgIHRoZXkgaW1tZWRpYXRlbHkgcmVjZWl2ZSB0aGUgZGVwb3NpdCBiYWNrLgAB1AABGQUAGBRQb3RJZPkGIFBvdFN0YWtlBPQgQWNjb3VudCBJZGVudGlmaWVyIGZyb20gd2hpY2ggdGhlIGludGVybmFsIFBvdCBpcyBnZW5lcmF0ZWQuADRNYXhDYW5kaWRhdGVzOBBkAAAADMggTWF4aW11bSBudW1iZXIgb2YgY2FuZGlkYXRlcyB0aGF0IHdlIHNob3VsZCBoYXZlLgDMIFRoaXMgZG9lcyBub3QgdGFrZSBpbnRvIGFjY291bnQgdGhlIGludnVsbmVyYWJsZXMuAFBNaW5FbGlnaWJsZUNvbGxhdG9yczgQBAAAAAxVASBNaW5pbXVtIG51bWJlciBlbGlnaWJsZSBjb2xsYXRvcnMuIFNob3VsZCBhbHdheXMgYmUgZ3JlYXRlciB0aGFuIHplcm8uIFRoaXMgaW5jbHVkZXNRASBJbnZ1bG5lcmFibGUgY29sbGF0b3JzLiBUaGlzIGVuc3VyZXMgdGhhdCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBvbmUgY29sbGF0b3Igd2hvIGNhbkQgcHJvZHVjZSBhIGJsb2NrLgBATWF4SW52dWxuZXJhYmxlczgQFAAAAASEIE1heGltdW0gbnVtYmVyIG9mIGludnVsbmVyYWJsZXMuADRLaWNrVGhyZXNob2xkOBAIBwAAAAAscG90X2FjY291bnQEgG1vZGxQb3RTdGFrZQAAAAAAAAAAAAAAAAAAAAAAAAAABKAgR2V0cyB0aGlzIHBhbGxldCdzIGRlcml2ZWQgcG90IGFjY291bnQuAAH9BgAELFZhbGlkYXRvcklkBAR0IEEgc3RhYmxlIElEIGZvciBhIHZhbGlkYXRvci4AFQAAHFNlc3Npb24BHFNlc3Npb24gKFZhbGlkYXRvcnMBAMwEAAR8IFRoZSBjdXJyZW50IHNldCBvZiB2YWxpZGF0b3JzLgAwQ3VycmVudEluZGV4AQA4EAAAAAAEeCBDdXJyZW50IGluZGV4IG9mIHRoZSBzZXNzaW9uLgA0UXVldWVkQ2hhbmdlZAEAyAQACDkBIFRydWUgaWYgdGhlIHVuZGVybHlpbmcgZWNvbm9taWMgaWRlbnRpdGllcyBvciB3ZWlnaHRpbmcgYmVoaW5kIHRoZSB2YWxpZGF0b3JzpCBoYXMgY2hhbmdlZCBpbiB0aGUgcXVldWVkIHZhbGlkYXRvciBzZXQuAChRdWV1ZWRLZXlzAQABBwQACD0BIFRoZSBxdWV1ZWQga2V5cyBmb3IgdGhlIG5leHQgc2Vzc2lvbi4gV2hlbiB0aGUgbmV4dCBzZXNzaW9uIGJlZ2lucywgdGhlc2Uga2V5c+Agd2lsbCBiZSB1c2VkIHRvIGRldGVybWluZSB0aGUgdmFsaWRhdG9yJ3Mgc2Vzc2lvbiBrZXlzLgBIRGlzYWJsZWRWYWxpZGF0b3JzAQAJBwQAFIAgSW5kaWNlcyBvZiBkaXNhYmxlZCB2YWxpZGF0b3JzLgA9ASBUaGUgdmVjIGlzIGFsd2F5cyBrZXB0IHNvcnRlZCBzbyB0aGF0IHdlIGNhbiBmaW5kIHdoZXRoZXIgYSBnaXZlbiB2YWxpZGF0b3IgaXM9ASBkaXNhYmxlZCB1c2luZyBiaW5hcnkgc2VhcmNoLiBJdCBnZXRzIGNsZWFyZWQgd2hlbiBgb25fc2Vzc2lvbl9lbmRpbmdgIHJldHVybnNkIGEgbmV3IHNldCBvZiBpZGVudGl0aWVzLgAgTmV4dEtleXMAAQQFBNwEAAScIFRoZSBuZXh0IHNlc3Npb24ga2V5cyBmb3IgYSB2YWxpZGF0b3IuACBLZXlPd25lcgABBAUZBwQEAAQJASBUaGUgb3duZXIgb2YgYSBrZXkuIFRoZSBrZXkgaXMgdGhlIGBLZXlUeXBlSWRgICsgdGhlIGVuY29kZWQga2V5LgBERXh0ZXJuYWxseVNldEtleXMAAQQFBBAEABAxASBBY2NvdW50cyB3aG9zZSBrZXlzIHdlcmUgc2V0IHZpYSBgU2Vzc2lvbkludGVyZmFjZWAgKGV4dGVybmFsIHBhdGgpIHdpdGhvdXQ5ASBpbmNyZW1lbnRpbmcgdGhlIGNvbnN1bWVyIHJlZmVyZW5jZSBvciBwbGFjaW5nIGEga2V5IGRlcG9zaXQuIGBkb19wdXJnZV9rZXlzYDkBIG9ubHkgZGVjcmVtZW50cyBjb25zdW1lcnMgZm9yIGFjY291bnRzIHRoYXQgd2VyZSByZWdpc3RlcmVkIHRocm91Z2ggdGhlIGxvY2FsQCBzZXNzaW9uIHBhbGxldC4AAdgAAR0FAAQoS2V5RGVwb3NpdMRAAAAAAAAAAAAAAAAAAAAAAASkIFRoZSBhbW91bnQgdG8gYmUgaGVsZCB3aGVuIHNldHRpbmcga2V5cy4AASEHAAgsVmFsaWRhdG9ySWQEBHQgQSBzdGFibGUgSUQgZm9yIGEgdmFsaWRhdG9yLhBLZXlz3AQoIFRoZSBrZXlzLgAWAAAQQXVyYQEQQXVyYQgsQXV0aG9yaXRpZXMBACUHBAAEbCBUaGUgY3VycmVudCBhdXRob3JpdHkgc2V0LgAsQ3VycmVudFNsb3QBAC0HIAAAAAAAAAAADIAgVGhlIGN1cnJlbnQgc2xvdCBvZiB0aGlzIGJsb2NrLgCUIFRoaXMgd2lsbCBiZSBzZXQgaW4gYG9uX2luaXRpYWxpemVgLgAAAAQwU2xvdER1cmF0aW9uKCDgLgAAAAAAABQNASBUaGUgc2xvdCBkdXJhdGlvbiBBdXJhIHNob3VsZCBydW4gd2l0aCwgZXhwcmVzc2VkIGluIG1pbGxpc2Vjb25kcy4AIQEgVGhlIGVmZmVjdGl2ZSB2YWx1ZSBvZiB0aGlzIHR5cGUgY2FuIGJlIGNoYW5nZWQgd2l0aCBhIHJ1bnRpbWUgdXBncmFkZS4ANQEgRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGVpdGhlciB1c2UgW2BNaW5pbXVtUGVyaW9kVGltZXNUd29gXSBvciBhIGNvbnN0LgAABCxBdXRob3JpdHlJZOAEmCBUaGUgaWRlbnRpZmllciB0eXBlIGZvciBhbiBhdXRob3JpdHkuABcAABxBdXJhRXh0ARxBdXJhRXh0CCxBdXRob3JpdGllcwEAJQcEABSUIFNlcnZlcyBhcyBjYWNoZSBmb3IgdGhlIGF1dGhvcml0aWVzLgBxASBUaGUgYXV0aG9yaXRpZXMgaW4gQXVSYSBhcmUgb3ZlcndyaXR0ZW4gaW4gYG9uX2luaXRpYWxpemVgIHdoZW4gd2Ugc3dpdGNoIHRvIGEgbmV3IHNlc3Npb24sXQEgYnV0IHdlIHJlcXVpcmUgdGhlIG9sZCBhdXRob3JpdGllcyB0byB2ZXJpZnkgdGhlIHNlYWwgd2hlbiB2YWxpZGF0aW5nIGEgUG9WLiBUaGlzIHdpbGwNASBhbHdheXMgYmUgdXBkYXRlZCB0byB0aGUgbGF0ZXN0IEF1UmEgYXV0aG9yaXRpZXMgaW4gYG9uX2ZpbmFsaXplYC4ANFJlbGF5U2xvdEluZm8AADEHBAAQCQEgQ3VycmVudCByZWxheSBjaGFpbiBzbG90IHBhaXJlZCB3aXRoIGEgbnVtYmVyIG9mIGF1dGhvcmVkIGJsb2Nrcy4AZQEgVGhpcyBpcyB1cGRhdGVkIGluIFtgRml4ZWRWZWxvY2l0eUNvbnNlbnN1c0hvb2s6Om9uX3N0YXRlX3Byb29mYF0gd2l0aCB0aGUgY3VycmVudCByZWxhedwgY2hhaW4gc2xvdCBhcyBwcm92aWRlZCBieSB0aGUgcmVsYXkgY2hhaW4gc3RhdGUgcHJvb2YuAAAAAAAAABgAACRYY21wUXVldWUBJFhjbXBRdWV1ZRxQSW5ib3VuZFhjbXBTdXNwZW5kZWQBADUHBAAgDQEgVGhlIHN1c3BlbmRlZCBpbmJvdW5kIFhDTVAgY2hhbm5lbHMuIEFsbCBvdGhlcnMgYXJlIG5vdCBzdXNwZW5kZWQuAHEBIFRoaXMgaXMgYSBgU3RvcmFnZVZhbHVlYCBpbnN0ZWFkIG9mIGEgYFN0b3JhZ2VNYXBgIHNpbmNlIHdlIGV4cGVjdCBtdWx0aXBsZSByZWFkcyBwZXIgYmxvY2tpASB0byBkaWZmZXJlbnQga2V5cyB3aXRoIGEgb25lIGJ5dGUgcGF5bG9hZC4gVGhlIGFjY2VzcyB0byBgQm91bmRlZEJUcmVlU2V0YCB3aWxsIGJlIGNhY2hlZBUBIHdpdGhpbiB0aGUgYmxvY2sgYW5kIHRoZXJlZm9yZSBvbmx5IGluY2x1ZGVkIG9uY2UgaW4gdGhlIHByb29mIHNpemUuAGUBIE5PVEU6IFRoZSBQb1YgYmVuY2htYXJraW5nIGNhbm5vdCBrbm93IHRoaXMgYW5kIHdpbGwgb3Zlci1lc3RpbWF0ZSwgYnV0IHRoZSBhY3R1YWwgcHJvb2ZEIHdpbGwgYmUgc21hbGxlci4ASE91dGJvdW5kWGNtcFN0YXR1cwEAPQcEABhdASBUaGUgbm9uLWVtcHR5IFhDTVAgY2hhbm5lbHMgaW4gb3JkZXIgb2YgYmVjb21pbmcgbm9uLWVtcHR5LCBhbmQgdGhlIGluZGV4IG9mIHRoZSBmaXJzdFEBIGFuZCBsYXN0IG91dGJvdW5kIG1lc3NhZ2UuIElmIHRoZSB0d28gaW5kaWNlcyBhcmUgZXF1YWwsIHRoZW4gaXQgaW5kaWNhdGVzIGFuIGVtcHR5WQEgcXVldWUgYW5kIHRoZXJlIG11c3QgYmUgYSBub24tYE9rYCBgT3V0Ym91bmRTdGF0dXNgLiBXZSBhc3N1bWUgcXVldWVzIGdyb3cgbm8gZ3JlYXRlclkBIHRoYW4gNjU1MzUgaXRlbXMuIFF1ZXVlIGluZGljZXMgZm9yIG5vcm1hbCBtZXNzYWdlcyBiZWdpbiBhdCBvbmU7IHplcm8gaXMgcmVzZXJ2ZWQgaW4RASBjYXNlIG9mIHRoZSBuZWVkIHRvIHNlbmQgYSBoaWdoLXByaW9yaXR5IHNpZ25hbCBtZXNzYWdlIHRoaXMgYmxvY2suCQEgVGhlIGJvb2wgaXMgdHJ1ZSBpZiB0aGVyZSBpcyBhIHNpZ25hbCBtZXNzYWdlIHdhaXRpbmcgdG8gYmUgc2VudC4AUE91dGJvdW5kWGNtcE1lc3NhZ2VzAQEIAgVRB1UHBAAEvCBUaGUgbWVzc2FnZXMgb3V0Ym91bmQgaW4gYSBnaXZlbiBYQ01QIGNoYW5uZWwuADhTaWduYWxNZXNzYWdlcwEBBAKcVQcEAASgIEFueSBzaWduYWwgbWVzc2FnZXMgd2FpdGluZyB0byBiZSBzZW50LgAsUXVldWVDb25maWcBAFkHMCAAAAAwAAAACAAAAAQVASBUaGUgY29uZmlndXJhdGlvbiB3aGljaCBjb250cm9scyB0aGUgZHluYW1pY3Mgb2YgdGhlIG91dGJvdW5kIHF1ZXVlLgA4UXVldWVTdXNwZW5kZWQBAMgEAARBASBXaGV0aGVyIG9yIG5vdCB0aGUgWENNUCBxdWV1ZSBpcyBzdXNwZW5kZWQgZnJvbSBleGVjdXRpbmcgaW5jb21pbmcgWENNcyBvciBub3QuAEREZWxpdmVyeUZlZUZhY3RvcgEBBAWcPQRAAABkp7O24A0AAAAAAAAAAATEIFRoZSBmYWN0b3IgdG8gbXVsdGlwbHkgdGhlIGJhc2UgZGVsaXZlcnkgZmVlIGJ5LgAB5AABIQUADExNYXhJbmJvdW5kU3VzcGVuZGVkOBDoAwAAFEkBIFRoZSBtYXhpbXVtIG51bWJlciBvZiBpbmJvdW5kIFhDTVAgY2hhbm5lbHMgdGhhdCBjYW4gYmUgc3VzcGVuZGVkIHNpbXVsdGFuZW91c2x5LgBdASBBbnkgZnVydGhlciBjaGFubmVsIHN1c3BlbnNpb25zIHdpbGwgZmFpbCBhbmQgbWVzc2FnZXMgbWF5IGdldCBkcm9wcGVkIHdpdGhvdXQgZnVydGhlckUBIG5vdGljZS4gQ2hvb3NpbmcgYSBoaWdoIHZhbHVlICgxMDAwKSBpcyBva2F5OyB0aGUgdHJhZGUtb2ZmIHRoYXQgaXMgZGVzY3JpYmVkIGlu2CBbYEluYm91bmRYY21wU3VzcGVuZGVkYF0gc3RpbGwgYXBwbGllcyBhdCB0aGF0IHNjYWxlLgBkTWF4QWN0aXZlT3V0Ym91bmRDaGFubmVsczgQgAAAACBlASBNYXhpbWFsIG51bWJlciBvZiBvdXRib3VuZCBYQ01QIGNoYW5uZWxzIHRoYXQgY2FuIGhhdmUgbWVzc2FnZXMgcXVldWVkIGF0IHRoZSBzYW1lIHRpbWUuAFUBIElmIHRoaXMgaXMgcmVhY2hlZCwgdGhlbiBubyBmdXJ0aGVyIG1lc3NhZ2VzIGNhbiBiZSBzZW50IHRvIGNoYW5uZWxzIHRoYXQgZG8gbm90IHlldF0BIGhhdmUgYSBtZXNzYWdlIHF1ZXVlZC4gVGhpcyBzaG91bGQgYmUgc2V0IHRvIHRoZSBleHBlY3RlZCBtYXhpbXVtIG9mIG91dGJvdW5kIGNoYW5uZWxzYQEgd2hpY2ggaXMgZGV0ZXJtaW5lZCBieSBbYFNlbGY6OkNoYW5uZWxJbmZvYF0uIEl0IGlzIGltcG9ydGFudCB0byBzZXQgdGhpcyBsYXJnZSBlbm91Z2gsXQEgc2luY2Ugb3RoZXJ3aXNlIHRoZSBjb25nZXN0aW9uIGNvbnRyb2wgcHJvdG9jb2wgd2lsbCBub3Qgd29yayBhcyBpbnRlbmRlZCBhbmQgbWVzc2FnZXNRASBtYXkgYmUgZHJvcHBlZC4gVGhpcyB2YWx1ZSBpbmNyZWFzZXMgdGhlIFBvViBhbmQgc2hvdWxkIHRoZXJlZm9yZSBub3QgYmUgcGlja2VkIHRvb00BIGhpZ2guIEdvdmVybmFuY2UgbmVlZHMgdG8gcGF5IGF0dGVudGlvbiB0byBub3Qgb3BlbiBtb3JlIGNoYW5uZWxzIHRoYW4gdGhpcyB2YWx1ZS4ALE1heFBhZ2VTaXplOBAAnAEAFLggVGhlIG1heGltYWwgcGFnZSBzaXplIGZvciBIUk1QIG1lc3NhZ2UgcGFnZXMuAGEBIEEgbG93ZXIgbGltaXQgY2FuIGJlIHNldCBkeW5hbWljYWxseSwgYnV0IHRoaXMgaXMgdGhlIGhhcmQtbGltaXQgZm9yIHRoZSBQb1Ygd29yc3QgY2FzZVUBIGJlbmNobWFya2luZy4gVGhlIGxpbWl0IGZvciB0aGUgc2l6ZSBvZiBhIG1lc3NhZ2UgaXMgc2xpZ2h0bHkgYmVsb3cgdGhpcywgc2luY2Ugc29tZbggb3ZlcmhlYWQgaXMgaW5jdXJyZWQgZm9yIGVuY29kaW5nIHRoZSBmb3JtYXQuAAFdBwAAAB4AACxQb2xrYWRvdFhjbQEsUG9sa2Fkb3RYY208MFF1ZXJ5Q291bnRlcgEAKCAAAAAAAAAAAASIIFRoZSBsYXRlc3QgYXZhaWxhYmxlIHF1ZXJ5IGluZGV4LgAcUXVlcmllcwABBAIoYQcEAARUIFRoZSBvbmdvaW5nIHF1ZXJpZXMuAChBc3NldFRyYXBzAQEEBjw4EAAAAAAQaCBUaGUgZXhpc3RpbmcgYXNzZXQgdHJhcHMuAGEBIEtleSBpcyB0aGUgYmxha2UyIDI1NiBoYXNoIG9mIChvcmlnaW4sIHZlcnNpb25lZCBgQXNzZXRzYCkgcGFpci4gVmFsdWUgaXMgdGhlIG51bWJlciBvZh0BIHRpbWVzIHRoaXMgcGFpciBoYXMgYmVlbiB0cmFwcGVkICh1c3VhbGx5IGp1c3QgMSBpZiBpdCBleGlzdHMgYXQgYWxsKS4AOFNhZmVYY21WZXJzaW9uAAA4BAAIYQEgRGVmYXVsdCB2ZXJzaW9uIHRvIGVuY29kZSBYQ00gd2hlbiBsYXRlc3QgdmVyc2lvbiBvZiBkZXN0aW5hdGlvbiBpcyB1bmtub3duLiBJZiBgTm9uZWAsPQEgdGhlbiB0aGUgZGVzdGluYXRpb25zIHdob3NlIFhDTSB2ZXJzaW9uIGlzIHVua25vd24gYXJlIGNvbnNpZGVyZWQgdW5yZWFjaGFibGUuAEBTdXBwb3J0ZWRWZXJzaW9uAAEIBQJ1BzgEAATwIFRoZSBMYXRlc3QgdmVyc2lvbnMgdGhhdCB3ZSBrbm93IHZhcmlvdXMgbG9jYXRpb25zIHN1cHBvcnQuAEBWZXJzaW9uTm90aWZpZXJzAAEIBQJ1BygEAAQFASBBbGwgbG9jYXRpb25zIHRoYXQgd2UgaGF2ZSByZXF1ZXN0ZWQgdmVyc2lvbiBub3RpZmljYXRpb25zIGZyb20uAFBWZXJzaW9uTm90aWZ5VGFyZ2V0cwABCAUCdQd5BwQACHEBIFRoZSB0YXJnZXQgbG9jYXRpb25zIHRoYXQgYXJlIHN1YnNjcmliZWQgdG8gb3VyIHZlcnNpb24gY2hhbmdlcywgYXMgd2VsbCBhcyB0aGUgbW9zdCByZWNlbnSUIG9mIG91ciB2ZXJzaW9ucyB3ZSBpbmZvcm1lZCB0aGVtIG9mLgBUVmVyc2lvbkRpc2NvdmVyeVF1ZXVlAQB9BwQADGUBIERlc3RpbmF0aW9ucyB3aG9zZSBsYXRlc3QgWENNIHZlcnNpb24gd2Ugd291bGQgbGlrZSB0byBrbm93LiBEdXBsaWNhdGVzIG5vdCBhbGxvd2VkLCBhbmRxASB0aGUgYHUzMmAgY291bnRlciBpcyB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoYXQgYSBzZW5kIHRvIHRoZSBkZXN0aW5hdGlvbiBoYXMgYmVlbiBhdHRlbXB0ZWQsjCB3aGljaCBpcyB1c2VkIGFzIGEgcHJpb3JpdGl6YXRpb24uAEBDdXJyZW50TWlncmF0aW9uAACJBwQABJwgVGhlIGN1cnJlbnQgbWlncmF0aW9uJ3Mgc3RhZ2UsIGlmIGFueS4AVFJlbW90ZUxvY2tlZEZ1bmdpYmxlcwABDAUCApEHlQcEAATwIEZ1bmdpYmxlIGFzc2V0cyB3aGljaCB3ZSBrbm93IGFyZSBsb2NrZWQgb24gYSByZW1vdGUgY2hhaW4uADxMb2NrZWRGdW5naWJsZXMAAQQCBKUHBAAE4CBGdW5naWJsZSBhc3NldHMgd2hpY2ggd2Uga25vdyBhcmUgbG9ja2VkIG9uIHRoaXMgY2hhaW4uAFRYY21FeGVjdXRpb25TdXNwZW5kZWQBAMgEAAS0IEdsb2JhbCBzdXNwZW5zaW9uIHN0YXRlIG9mIHRoZSBYQ00gZXhlY3V0b3IuADxTaG91bGRSZWNvcmRYY20BAMgEABxZASBXaGV0aGVyIG9yIG5vdCBpbmNvbWluZyBYQ01zIChib3RoIGV4ZWN1dGVkIGxvY2FsbHkgYW5kIHJlY2VpdmVkKSBzaG91bGQgYmUgcmVjb3JkZWQuxCBPbmx5IG9uZSBYQ00gcHJvZ3JhbSB3aWxsIGJlIHJlY29yZGVkIGF0IGEgdGltZS4pASBUaGlzIGlzIG1lYW50IHRvIGJlIHVzZWQgaW4gcnVudGltZSBBUElzLCBhbmQgaXQncyBhZHZpc2VkIGl0IHN0YXlzIGZhbHNlDQEgZm9yIGFsbCBvdGhlciB1c2UgY2FzZXMsIHNvIGFzIHRvIG5vdCBkZWdyYWRlIHJlZ3VsYXIgcGVyZm9ybWFuY2UuAFkBIE9ubHkgcmVsZXZhbnQgaWYgdGhpcyBwYWxsZXQgaXMgYmVpbmcgdXNlZCBhcyB0aGUgW2B4Y21fZXhlY3V0b3I6OnRyYWl0czo6UmVjb3JkWGNtYF3IIGltcGxlbWVudGF0aW9uIGluIHRoZSBYQ00gZXhlY3V0b3IgY29uZmlndXJhdGlvbi4ALFJlY29yZGVkWGNtAAA9AgQAGEkBIElmIFtgU2hvdWxkUmVjb3JkWGNtYF0gaXMgc2V0IHRvIHRydWUsIHRoZW4gdGhlIGxhc3QgWENNIHByb2dyYW0gZXhlY3V0ZWQgbG9jYWxseVQgd2lsbCBiZSBzdG9yZWQgaGVyZS4pASBSdW50aW1lIEFQSXMgY2FuIGZldGNoIHRoZSBYQ00gdGhhdCB3YXMgZXhlY3V0ZWQgYnkgYWNjZXNzaW5nIHRoaXMgdmFsdWUuAFkBIE9ubHkgcmVsZXZhbnQgaWYgdGhpcyBwYWxsZXQgaXMgYmVpbmcgdXNlZCBhcyB0aGUgW2B4Y21fZXhlY3V0b3I6OnRyYWl0czo6UmVjb3JkWGNtYF3IIGltcGxlbWVudGF0aW9uIGluIHRoZSBYQ00gZXhlY3V0b3IgY29uZmlndXJhdGlvbi4AREF1dGhvcml6ZWRBbGlhc2VzAAEEAuyxBwQADGUBIE1hcCBvZiBhdXRob3JpemVkIGFsaWFzZXJzIG9mIGxvY2FsIG9yaWdpbnMuIEVhY2ggbG9jYWwgbG9jYXRpb24gY2FuIGF1dGhvcml6ZSBhIGxpc3Qgb2ZZASBvdGhlciBsb2NhdGlvbnMgdG8gYWxpYXMgaW50byBpdC4gRWFjaCBhbGlhc2VyIGlzIG9ubHkgdmFsaWQgdW50aWwgaXRzIGlubmVyIGBleHBpcnlgOCBibG9jayBudW1iZXIuAAHoCAECuQFUaGlzIGV4dHJpbnNpYyB1c2VzIGBXZWlnaHRMaW1pdDo6VW5saW1pdGVkYCwgcGxlYXNlIG1pZ3JhdGUgdG8gYGxpbWl0ZWRfdGVsZXBvcnRfYXNzZXRzYCBvciBgdHJhbnNmZXJfYXNzZXRzYAACAtkBVGhpcyBleHRyaW5zaWMgdXNlcyBgV2VpZ2h0TGltaXQ6OlVubGltaXRlZGAsIHBsZWFzZSBtaWdyYXRlIHRvIGBsaW1pdGVkX3Jlc2VydmVfdHJhbnNmZXJfYXNzZXRzYCBvciBgdHJhbnNmZXJfYXNzZXRzYAABJQUAEERVbml2ZXJzYWxMb2NhdGlvbkUBGAIJAgCpDwSEIFRoaXMgY2hhaW4ncyBVbml2ZXJzYWwgTG9jYXRpb24uAFBBZHZlcnRpc2VkWGNtVmVyc2lvbjgQBQAAAAglASBUaGUgbGF0ZXN0IHN1cHBvcnRlZCB2ZXJzaW9uIHRoYXQgd2UgYWR2ZXJ0aXNlLiBHZW5lcmFsbHkganVzdCBzZXQgaXQgdG+EIGBwYWxsZXRfeGNtOjpDdXJyZW50WGNtVmVyc2lvbmAuAChNYXhMb2NrZXJzOBAIAAAABBkBIFRoZSBtYXhpbXVtIG51bWJlciBvZiBsb2NhbCBYQ00gbG9ja3MgdGhhdCBhIHNpbmdsZSBhY2NvdW50IG1heSBoYXZlLgBYTWF4UmVtb3RlTG9ja0NvbnN1bWVyczgQAAAAAAT8IFRoZSBtYXhpbXVtIG51bWJlciBvZiBjb25zdW1lcnMgYSBzaW5nbGUgcmVtb3RlIGxvY2sgbWF5IGhhdmUuAAHJBwQYArxVc2UgYExvY2FsRXhlY3V0aW9uSW5jb21wbGV0ZVdpdGhFcnJvcmAgaW5zdGVhZAEYMjAuMC4wCCxSdW50aW1lQ2FsbCAEZCBUaGUgcnVudGltZSBgQ2FsbGAgdHlwZS5wUmVtb3RlTG9ja0NvbnN1bWVySWRlbnRpZmllchAExCBUaGUgSUQgdHlwZSBmb3IgbG9jYWwgY29uc3VtZXJzIG9mIHJlbW90ZSBsb2Nrcy4AHwAAKEN1bXVsdXNYY20AAfkCAAE1BQAAAAAAIAAAHFV0aWxpdHkAAf0CAAE5BQAETGJhdGNoZWRfY2FsbHNfbGltaXQ4EKoqAAAEqCBUaGUgbGltaXQgb24gdGhlIG51bWJlciBvZiBiYXRjaGVkIGNhbGxzLgAB0QcACCxSdW50aW1lQ2FsbCAEbCBUaGUgb3ZlcmFyY2hpbmcgY2FsbCB0eXBlLjRQYWxsZXRzT3JpZ2luCQME8CBUaGUgY2FsbGVyIG9yaWdpbiwgb3ZlcmFyY2hpbmcgdHlwZSBvZiBhbGwgcGFsbGV0cyBvcmlnaW5zLgAoAAAgTXVsdGlzaWcBIE11bHRpc2lnBCRNdWx0aXNpZ3MAAQgFAtUH2QcEAASUIFRoZSBzZXQgb2Ygb3BlbiBtdWx0aXNpZyBvcGVyYXRpb25zLgABGQMAAUEFAAwsRGVwb3NpdEJhc2XEQADbu3cAAAAAAAAAAAAAAAAYWQEgVGhlIGJhc2UgYW1vdW50IG9mIGN1cnJlbmN5IG5lZWRlZCB0byByZXNlcnZlIGZvciBjcmVhdGluZyBhIG11bHRpc2lnIGV4ZWN1dGlvbiBvciB0b4Qgc3RvcmUgYSBkaXNwYXRjaCBjYWxsIGZvciBsYXRlci4AAQEgVGhpcyBpcyBoZWxkIGZvciBhbiBhZGRpdGlvbmFsIHN0b3JhZ2UgaXRlbSB3aG9zZSB2YWx1ZSBzaXplIGlzMQEgYDQgKyBzaXplb2YoKEJsb2NrTnVtYmVyLCBCYWxhbmNlLCBBY2NvdW50SWQpKWAgYnl0ZXMgYW5kIHdob3NlIGtleSBzaXplIGlzgCBgMzIgKyBzaXplb2YoQWNjb3VudElkKWAgYnl0ZXMuADREZXBvc2l0RmFjdG9yxEAA1DAAAAAAAAAAAAAAAAAADFUBIFRoZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHBlciB1bml0IHRocmVzaG9sZCB3aGVuIGNyZWF0aW5nIGEgbXVsdGlzaWcgZXhlY3V0aW9uLgAlASBUaGlzIGlzIGhlbGQgZm9yIGFkZGluZyAzMiBieXRlcyBtb3JlIGludG8gYSBwcmUtZXhpc3Rpbmcgc3RvcmFnZSB2YWx1ZS4AOE1heFNpZ25hdG9yaWVzOBBkAAAABOwgVGhlIG1heGltdW0gYW1vdW50IG9mIHNpZ25hdG9yaWVzIGFsbG93ZWQgaW4gdGhlIG11bHRpc2lnLgAB4QcABCxSdW50aW1lQ2FsbCAEbCBUaGUgb3ZlcmFyY2hpbmcgY2FsbCB0eXBlLgApAAAUUHJveHkBFFByb3h5CBxQcm94aWVzAQEEBQTlB0QAAAAAAAAAAAAAAAAAAAAAAAhFASBUaGUgc2V0IG9mIGFjY291bnQgcHJveGllcy4gTWFwcyB0aGUgYWNjb3VudCB3aGljaCBoYXMgZGVsZWdhdGVkIHRvIHRoZSBhY2NvdW50cyEBIHdoaWNoIGFyZSBiZWluZyBkZWxlZ2F0ZWQgdG8sIHRvZ2V0aGVyIHdpdGggdGhlIGFtb3VudCBoZWxkIG9uIGRlcG9zaXQuADRBbm5vdW5jZW1lbnRzAQEEBQT1B0QAAAAAAAAAAAAAAAAAAAAAAASsIFRoZSBhbm5vdW5jZW1lbnRzIG1hZGUgYnkgdGhlIHByb3h5IChrZXkpLgABJQMAAUUFABhAUHJveHlEZXBvc2l0QmFzZcRAAJ1ydwAAAAAAAAAAAAAAABARASBUaGUgYmFzZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHRvIHJlc2VydmUgZm9yIGNyZWF0aW5nIGEgcHJveHkuAAEBIFRoaXMgaXMgaGVsZCBmb3IgYW4gYWRkaXRpb25hbCBzdG9yYWdlIGl0ZW0gd2hvc2UgdmFsdWUgc2l6ZSBpcyUBIGBzaXplb2YoQmFsYW5jZSlgIGJ5dGVzIGFuZCB3aG9zZSBrZXkgc2l6ZSBpcyBgc2l6ZW9mKEFjY291bnRJZClgIGJ5dGVzLgBIUHJveHlEZXBvc2l0RmFjdG9yxECgWjIAAAAAAAAAAAAAAAAAFLwgVGhlIGFtb3VudCBvZiBjdXJyZW5jeSBuZWVkZWQgcGVyIHByb3h5IGFkZGVkLgA1ASBUaGlzIGlzIGhlbGQgZm9yIGFkZGluZyAzMiBieXRlcyBwbHVzIGFuIGluc3RhbmNlIG9mIGBQcm94eVR5cGVgIG1vcmUgaW50byBhYQEgcHJlLWV4aXN0aW5nIHN0b3JhZ2UgdmFsdWUuIFRodXMsIHdoZW4gY29uZmlndXJpbmcgYFByb3h5RGVwb3NpdEZhY3RvcmAgb25lIHNob3VsZCB0YWtl9CBpbnRvIGFjY291bnQgYDMyICsgcHJveHlfdHlwZS5lbmNvZGUoKS5sZW4oKWAgYnl0ZXMgb2YgZGF0YS4AKE1heFByb3hpZXM4ECAAAAAE8CBUaGUgbWF4aW11bSBhbW91bnQgb2YgcHJveGllcyBhbGxvd2VkIGZvciBhIHNpbmdsZSBhY2NvdW50LgAoTWF4UGVuZGluZzgQIAAAAARFASBUaGUgbWF4aW11bSBhbW91bnQgb2YgdGltZS1kZWxheWVkIGFubm91bmNlbWVudHMgdGhhdCBhcmUgYWxsb3dlZCB0byBiZSBwZW5kaW5nLgBcQW5ub3VuY2VtZW50RGVwb3NpdEJhc2XEQADSfncAAAAAAAAAAAAAAAAQMQEgVGhlIGJhc2UgYW1vdW50IG9mIGN1cnJlbmN5IG5lZWRlZCB0byByZXNlcnZlIGZvciBjcmVhdGluZyBhbiBhbm5vdW5jZW1lbnQuAEkBIFRoaXMgaXMgaGVsZCB3aGVuIGEgbmV3IHN0b3JhZ2UgaXRlbSBob2xkaW5nIGEgYEJhbGFuY2VgIGlzIGNyZWF0ZWQgKHR5cGljYWxseSAxNiAgYnl0ZXMpLgBkQW5ub3VuY2VtZW50RGVwb3NpdEZhY3RvcsRAQLVkAAAAAAAAAAAAAAAAABDUIFRoZSBhbW91bnQgb2YgY3VycmVuY3kgbmVlZGVkIHBlciBhbm5vdW5jZW1lbnQgbWFkZS4AWQEgVGhpcyBpcyBoZWxkIGZvciBhZGRpbmcgYW4gYEFjY291bnRJZGAsIGBIYXNoYCBhbmQgYEJsb2NrTnVtYmVyYCAodHlwaWNhbGx5IDY4IGJ5dGVzKYwgaW50byBhIHByZS1leGlzdGluZyBzdG9yYWdlIHZhbHVlLgABBQgACCxSdW50aW1lQ2FsbCAEbCBUaGUgb3ZlcmFyY2hpbmcgY2FsbCB0eXBlLiRQcm94eVR5cGUtAxBVASBBIGtpbmQgb2YgcHJveHk7IHNwZWNpZmllZCB3aXRoIHRoZSBwcm94eSBhbmQgcGFzc2VkIGluIHRvIHRoZSBgSXNQcm94eWFibGVgIGZpbHRlci5RASBUaGUgaW5zdGFuY2UgZmlsdGVyIGRldGVybWluZXMgd2hldGhlciBhIGdpdmVuIGNhbGwgbWF5IGJlIHByb3hpZWQgdW5kZXIgdGhpcyB0eXBlLgBNASBJTVBPUlRBTlQ6IGBEZWZhdWx0YCBtdXN0IGJlIHByb3ZpZGVkIGFuZCBNVVNUIEJFIHRoZSB0aGUgKm1vc3QgcGVybWlzc2l2ZSogdmFsdWUuCBgJ14NGcnoO9YwPoDuvoyPLxRSI2SoapxN7A7+1DvwXRGNoZWNrX3Blcm1pc3Npb25zCBBjYWxsIChwcm94eV90eXBlLQPIBPQgQ2hlY2sgaWYgYSBgUnVudGltZUNhbGxgIGlzIGFsbG93ZWQgZm9yIGEgZ2l2ZW4gYFByb3h5VHlwZWAuABgJ14NGcnoO9YwPoDuvoyMXFLBgfWKvCjs7CtLF1VxYLGlzX3N1cGVyc2V0CCB0b19jaGVjay0DHGFnYWluc3QtA8gE9CBDaGVjayBpZiBvbmUgYFByb3h5VHlwZWAgaXMgYSBzdWJzZXQgb2YgYW5vdGhlciBgUHJveHlUeXBlYC4AKgAAOEJyaWRnZVJlbGF5ZXJzAThCcmlkZ2VSZWxheWVycwg4UmVsYXllclJld2FyZHMAAQgCBgkIxAQABKggTWFwIG9mIHRoZSByZWxheWVyID0+IGFjY3VtdWxhdGVkIHJld2FyZC4ASFJlZ2lzdGVyZWRSZWxheWVycwABBAIEUQUEABg1ASBSZWxheWVycyB0aGF0IGhhdmUgcmVzZXJ2ZWQgc29tZSBvZiB0aGVpciBiYWxhbmNlIHRvIGdldCBmcmVlIHByaW9yaXR5IGJvb3N0pCBmb3IgdGhlaXIgbWVzc2FnZSBkZWxpdmVyeSB0cmFuc2FjdGlvbnMuAC0BIE90aGVyIHJlbGF5ZXJzIG1heSBzdWJtaXQgdHJhbnNhY3Rpb25zIGFzIHdlbGwsIGJ1dCB0aGV5IHdpbGwgaGF2ZSBkZWZhdWx0OQEgcHJpb3JpdHkgYW5kIHdpbGwgYmUgcmVqZWN0ZWQgKHdpdGhvdXQgc2lnbmlmaWNhbnQgdGlwKSBpbiBjYXNlIGlmIHJlZ2lzdGVyZWRQIHJlbGF5ZXIgaXMgcHJlc2VudC4AATEDAAFNBQAAAQ0IAAg0UmV3YXJkQmFsYW5jZcQEgCBUeXBlIG9mIHJlbGF5ZXIgcmV3YXJkIGJhbGFuY2UuGFJld2FyZDUDGE0BIFJld2FyZCBkaXNjcmltaW5hdG9yIHR5cGUuIFRoZSBwYWxsZXQgY2FuIGNvbGxlY3QgZGlmZmVyZW50IHR5cGVzIG9mIHJld2FyZHMgZm9yIGFVASBzaW5nbGUgYWNjb3VudCwgc28gYFJld2FyZGAgaXMgdXNlZCBhcyB0aGUgc2Vjb25kIGtleSBpbiB0aGUgYFJlbGF5ZXJSZXdhcmRzYCBkb3VibGUUIG1hcC4AMQEgRm9yIGV4YW1wbGUsIHJld2FyZHMgZm9yIGRpZmZlcmVudCBicmlkZ2VzIGNhbiBiZSBzdG9yZWQsIHdoZXJlIGBSZXdhcmRgIGlzxCBpbXBsZW1lbnRlZCBhcyBhbiBlbnVtIHJlcHJlc2VudGluZyBlYWNoIGJyaWRnZS4AMgAATEJyaWRnZUt1c2FtYUdyYW5kcGEBTEJyaWRnZUt1c2FtYUdyYW5kcGEkUEZyZWVIZWFkZXJzUmVtYWluaW5nAAA4BAAgPQEgTnVtYmVyIG9mIGZyZWUgaGVhZGVyIHN1Ym1pc3Npb25zIHRoYXQgd2UgbWF5IHlldCBhY2NlcHQgaW4gdGhlIGN1cnJlbnQgYmxvY2suAEEBIElmIHRoZSBgRnJlZUhlYWRlcnNSZW1haW5pbmdgIGhpdHMgemVybywgYWxsIGZvbGxvd2luZyBtYW5kYXRvcnkgaGVhZGVycyBpbiB0aGX8IGN1cnJlbnQgYmxvY2sgYXJlIGFjY2VwdGVkIHdpdGggZmVlIChgUGF5czo6WWVzYCBpcyByZXR1cm5lZCkuAAEBIFRoZSBgRnJlZUhlYWRlcnNSZW1haW5pbmdgIGlzIGFuIGVwaGVtZXJhbCB2YWx1ZSB0aGF0IGlzIHNldCB0bzUBIGBNYXhGcmVlSGVhZGVyc1BlckJsb2NrYCBhdCBlYWNoIGJsb2NrIGluaXRpYWxpemF0aW9uIGFuZCBpcyBraWxsZWQgb24gYmxvY2vcIGZpbmFsaXphdGlvbi4gU28gaXQgbmV2ZXIgZW5kcyB1cCBpbiB0aGUgc3RvcmFnZSB0cmllLgAsSW5pdGlhbEhhc2gBADyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAExCBIYXNoIG9mIHRoZSBoZWFkZXIgdXNlZCB0byBib290c3RyYXAgdGhlIHBhbGxldC4ANEJlc3RGaW5hbGl6ZWQAABEIBAAEjCBIYXNoIG9mIHRoZSBiZXN0IGZpbmFsaXplZCBoZWFkZXIuADhJbXBvcnRlZEhhc2hlcwABBAY4PAQABAUBIEEgcmluZyBidWZmZXIgb2YgaW1wb3J0ZWQgaGFzaGVzLiBPcmRlcmVkIGJ5IHRoZSBpbnNlcnRpb24gdGltZS4AVEltcG9ydGVkSGFzaGVzUG9pbnRlcgEAOBAAAAAABHggQ3VycmVudCByaW5nIGJ1ZmZlciBwb3NpdGlvbi4APEltcG9ydGVkSGVhZGVycwABBAY8FQgEAASUIFJlbGV2YW50IGZpZWxkcyBvZiBpbXBvcnRlZCBoZWFkZXJzLgBMQ3VycmVudEF1dGhvcml0eVNldAEAGQgkAAAAAAAAAAAABIwgVGhlIGN1cnJlbnQgR1JBTkRQQSBBdXRob3JpdHkgc2V0LgAsUGFsbGV0T3duZXIAAAQEABhcIE9wdGlvbmFsIHBhbGxldCBvd25lci4AUQEgUGFsbGV0IG93bmVyIGhhcyBhIHJpZ2h0IHRvIGhhbHQgYWxsIHBhbGxldCBvcGVyYXRpb25zIGFuZCB0aGVuIHJlc3VtZSBpdC4gSWYgaXQgaXNJASBgTm9uZWAsIHRoZW4gdGhlcmUgYXJlIG5vIGRpcmVjdCB3YXlzIHRvIGhhbHQvcmVzdW1lIHBhbGxldCBvcGVyYXRpb25zLCBidXQgb3RoZXJhASBydW50aW1lIG1ldGhvZHMgbWF5IHN0aWxsIGJlIHVzZWQgdG8gZG8gdGhhdCAoaS5lLiBkZW1vY3JhY3k6OnJlZmVyZW5kdW0gdG8gdXBkYXRlIGhhbHTEIGZsYWcgZGlyZWN0bHkgb3IgY2FsbCB0aGUgYHNldF9vcGVyYXRpbmdfbW9kZWApLgBMUGFsbGV0T3BlcmF0aW5nTW9kZQEAeQMEAAyoIFRoZSBjdXJyZW50IG9wZXJhdGluZyBtb2RlIG9mIHRoZSBwYWxsZXQuABkBIERlcGVuZGluZyBvbiB0aGUgbW9kZSBlaXRoZXIgYWxsLCBvciBubyB0cmFuc2FjdGlvbnMgd2lsbCBiZSBhbGxvd2VkLgABSQMEAAJxAWBzdWJtaXRfZmluYWxpdHlfcHJvb2ZgIHdpbGwgYmUgcmVtb3ZlZCBpbiBNYXkgMjAyNC4gVXNlIGBzdWJtaXRfZmluYWxpdHlfcHJvb2ZfZXhgIGluc3RlYWQuAAFVBQAMWE1heEZyZWVIZWFkZXJzUGVyQmxvY2s4EAQAAAA84CBNYXhpbWFsIG51bWJlciBvZiAiZnJlZSIgaGVhZGVyIHRyYW5zYWN0aW9ucyBwZXIgYmxvY2suAEEBIFRvIGJlIGFibGUgdG8gdHJhY2sgdGhlIGJyaWRnZWQgY2hhaW4sIHRoZSBwYWxsZXQgcmVxdWlyZXMgYWxsIGhlYWRlcnMgdGhhdCBhcmVBASBjaGFuZ2luZyBHUkFORFBBIGF1dGhvcml0aWVzIHNldCBhdCB0aGUgYnJpZGdlZCBjaGFpbiAod2UgY2FsbCB0aGVtIG1hbmRhdG9yeSkuHQEgU28gaXQgaXMgYSBjb21tb24gZ29vZCBkZWVkIHRvIHN1Ym1pdCBtYW5kYXRvcnkgaGVhZGVycyB0byB0aGUgcGFsbGV0LgBBASBUaGUgcGFsbGV0IG1heSBiZSBjb25maWd1cmVkIChzZWUgYFtTZWxmOjpGcmVlSGVhZGVyc0ludGVydmFsXWApIHRvIGltcG9ydCBzb21lQQEgbm9uLW1hbmRhdG9yeSBoZWFkZXJzIGZvciBmcmVlIGFzIHdlbGwuIEl0IGFsc28gbWF5IGJlIHRyZWF0ZWQgYXMgYSBjb21tb24gZ29vZEUBIGRlZWQsIGJlY2F1c2UgaXQgbWF5IGhlbHAgdG8gcmVkdWNlIGJyaWRnZSBmZWVzIC0gdGhpcyBjb3N0IG1heSBiZSBkZWR1Y3RlZCBmcm9tmCBicmlkZ2UgZmVlcywgcGFpZCBieSBtZXNzYWdlIHNlbmRlcnMuAFEBIEhvd2V2ZXIsIGlmIHRoZSBicmlkZ2VkIGNoYWluIGdldHMgY29tcHJvbWlzZWQsIGl0cyB2YWxpZGF0b3JzIG1heSBnZW5lcmF0ZSBhcyBtYW55TQEgImZyZWUiIGhlYWRlcnMgYXMgdGhleSB3YW50LiBBbmQgdGhleSBtYXkgZmlsbCB0aGUgd2hvbGUgYmxvY2sgKGF0IHRoaXMgY2hhaW4pIGZvckUBIGZyZWUuIFRoaXMgY29uc3RhbnQgbGltaXRzIG51bWJlciBvZiBjYWxscyB0aGF0IHdlIG1heSByZWZ1bmQgaW4gYSBzaW5nbGUgYmxvY2su/CBBbGwgY2FsbHMgYWJvdmUgdGhpcyBsaW1pdCBhcmUgYWNjZXB0ZWQsIGJ1dCBhcmUgbm90IHJlZnVuZGVkLgBMRnJlZUhlYWRlcnNJbnRlcnZhbOkCFAEFAAAAFEEBIFRoZSBkaXN0YW5jZSBiZXR3ZWVuIGJyaWRnZWQgY2hhaW4gaGVhZGVycywgdGhhdCBtYXkgYmUgc3VibWl0dGVkIGZvciBmcmVlLiBUaGUdASBmaXJzdCBmcmVlIGhlYWRlciBpcyBoZWFkZXIgbnVtYmVyIHplcm8sIHRoZSBuZXh0IG9uZSBpcyBoZWFkZXIgbnVtYmVyNQEgYEZyZWVIZWFkZXJzSW50ZXJ2YWw6OmdldCgpYCBvciBhbnkgb2YgaXRzIGRlc2NlbmRhbnQgaWYgdGhhdCBoZWFkZXIgaGFzIG5vdEUBIGJlZW4gc3VibWl0dGVkLiBJbiBvdGhlciB3b3JkcywgaW50ZXJ2YWwgYmV0d2VlbiBmcmVlIGhlYWRlcnMgc2hvdWxkIGJlIGF0IGxlYXN0XCBgRnJlZUhlYWRlcnNJbnRlcnZhbGAuADRIZWFkZXJzVG9LZWVwOBCwBAAAHPAgTWF4aW1hbCBudW1iZXIgb2YgZmluYWxpemVkIGhlYWRlcnMgdG8ga2VlcCBpbiB0aGUgc3RvcmFnZS4AOQEgVGhlIHNldHRpbmcgaXMgdGhlcmUgdG8gcHJldmVudCBncm93aW5nIHRoZSBvbi1jaGFpbiBzdGF0ZSBpbmRlZmluaXRlbHkuIE5vdGVFASB0aGUgc2V0dGluZyBkb2VzIG5vdCByZWxhdGUgdG8gYmxvY2sgbnVtYmVycyAtIHdlIHdpbGwgc2ltcGx5IGtlZXAgYXMgbXVjaCBpdGVtc0kBIGluIHRoZSBzdG9yYWdlLCBzbyBpdCBkb2Vzbid0IGd1YXJhbnRlZSBhbnkgZml4ZWQgdGltZWZyYW1lIGZvciBmaW5hbGl0eSBoZWFkZXJzLgBZASBJbmNhdXRpb3VzIGNoYW5nZSBvZiB0aGlzIGNvbnN0YW50IG1heSBsZWFkIHRvIG9ycGhhbiBlbnRyaWVzIGluIHRoZSBydW50aW1lIHN0b3JhZ2UuAAEhCAAAADMAAFhCcmlkZ2VLdXNhbWFQYXJhY2hhaW5zAVhCcmlkZ2VLdXNhbWFQYXJhY2hhaW5zFCxQYWxsZXRPd25lcgAABAQAGFwgT3B0aW9uYWwgcGFsbGV0IG93bmVyLgBZASBQYWxsZXQgb3duZXIgaGFzIGEgcmlnaHQgdG8gaGFsdCBhbGwgcGFsbGV0IG9wZXJhdGlvbnMgYW5kIHRoZW4gcmVzdW1lIHRoZW0uIElmIGl0IGlzSQEgYE5vbmVgLCB0aGVuIHRoZXJlIGFyZSBubyBkaXJlY3Qgd2F5cyB0byBoYWx0L3Jlc3VtZSBwYWxsZXQgb3BlcmF0aW9ucywgYnV0IG90aGVyYQEgcnVudGltZSBtZXRob2RzIG1heSBzdGlsbCBiZSB1c2VkIHRvIGRvIHRoYXQgKGkuZS4gZGVtb2NyYWN5OjpyZWZlcmVuZHVtIHRvIHVwZGF0ZSBoYWx0xCBmbGFnIGRpcmVjdGx5IG9yIGNhbGwgdGhlIGBzZXRfb3BlcmF0aW5nX21vZGVgKS4ATFBhbGxldE9wZXJhdGluZ01vZGUBAHkDBAAMqCBUaGUgY3VycmVudCBvcGVyYXRpbmcgbW9kZSBvZiB0aGUgcGFsbGV0LgAZASBEZXBlbmRpbmcgb24gdGhlIG1vZGUgZWl0aGVyIGFsbCwgb3Igbm8gdHJhbnNhY3Rpb25zIHdpbGwgYmUgYWxsb3dlZC4AJFBhcmFzSW5mbwABBAKRAykIBAAURCBQYXJhY2hhaW5zIGluZm8uAHQgQ29udGFpbnMgdGhlIGZvbGxvd2luZyBpbmZvOmwgLSBiZXN0IHBhcmFjaGFpbiBoZWFkIGhhc2jMIC0gdGhlIGhlYWQgb2YgdGhlIGBJbXBvcnRlZFBhcmFIYXNoZXNgIHJpbmcgYnVmZmVyAERJbXBvcnRlZFBhcmFIZWFkcwABCAICjQMxCAQABCUBIFN0YXRlIHJvb3RzIG9mIHBhcmFjaGFpbiBoZWFkcyB3aGljaCBoYXZlIGJlZW4gaW1wb3J0ZWQgaW50byB0aGUgcGFsbGV0LgBISW1wb3J0ZWRQYXJhSGFzaGVzAAEIAgU1CDwEAARBASBBIHJpbmcgYnVmZmVyIG9mIGltcG9ydGVkIHBhcmFjaGFpbiBoZWFkIGhhc2hlcy4gT3JkZXJlZCBieSB0aGUgaW5zZXJ0aW9uIHRpbWUuAAGBAwABZQUADDxQYXJhc1BhbGxldE5hbWXdBRgUUGFyYXMUWQEgTmFtZSBvZiB0aGUgb3JpZ2luYWwgYHBhcmFzYCBwYWxsZXQgaW4gdGhlIGBjb25zdHJ1Y3RfcnVudGltZSEoKWAgY2FsbCBhdCB0aGUgYnJpZGdlZBwgY2hhaW4uAFEBIFBsZWFzZSBrZWVwIGluIG1pbmQgdGhhdCB0aGlzIHNob3VsZCBiZSB0aGUgbmFtZSBvZiB0aGUgYHJ1bnRpbWVfcGFyYWNoYWluczo6cGFyYXNgFQEgcGFsbGV0IGZyb20gcG9sa2Fkb3QgcmVwb3NpdG9yeSwgbm90IHRoZSBgcGFsbGV0LWJyaWRnZS1wYXJhY2hhaW5zYC4ALEhlYWRzVG9LZWVwOBBYAgAAHAUBIE1heGltYWwgbnVtYmVyIG9mIHNpbmdsZSBwYXJhY2hhaW4gaGVhZHMgdG8ga2VlcCBpbiB0aGUgc3RvcmFnZS4AOQEgVGhlIHNldHRpbmcgaXMgdGhlcmUgdG8gcHJldmVudCBncm93aW5nIHRoZSBvbi1jaGFpbiBzdGF0ZSBpbmRlZmluaXRlbHkuIE5vdGVVASB0aGUgc2V0dGluZyBkb2VzIG5vdCByZWxhdGUgdG8gcGFyYWNoYWluIGJsb2NrIG51bWJlcnMgLSB3ZSB3aWxsIHNpbXBseSBrZWVwIGFzIG11Y2g1ASBpdGVtcyBpbiB0aGUgc3RvcmFnZSwgc28gaXQgZG9lc24ndCBndWFyYW50ZWUgYW55IGZpeGVkIHRpbWVmcmFtZSBmb3IgaGVhZHMuAFkBIEluY2F1dGlvdXMgY2hhbmdlIG9mIHRoaXMgY29uc3RhbnQgbWF5IGxlYWQgdG8gb3JwaGFuIGVudHJpZXMgaW4gdGhlIHJ1bnRpbWUgc3RvcmFnZS4ATE1heFBhcmFIZWFkRGF0YVNpemU4EIAAAAAkBQEgTWF4aW1hbCBzaXplIChpbiBieXRlcykgb2YgdGhlIFNDQUxFLWVuY29kZWQgcGFyYWNoYWluIGhlYWQgZGF0YaQgKGBicF9wYXJhY2hhaW5zOjpQYXJhU3RvcmVkSGVhZGVyRGF0YWApLgBVASBLZWVwIGluIG1pbmQgdGhhdCB0aGUgc2l6ZSBvZiBhbnkgdHJhY2tlZCBwYXJhY2hhaW4gaGVhZGVyIGRhdGEgbXVzdCBub3QgZXhjZWVkIHRoaXNRASB2YWx1ZS4gU28gaWYgeW91J3JlIGdvaW5nIHRvIHRyYWNrIG11bHRpcGxlIHBhcmFjaGFpbnMsIG9uZSBvZiB3aGljaCBpcyB1c2luZyBsYXJnZbQgaGFzaGVzLCB5b3Ugc2hhbGwgY2hvb3NlIHRoaXMgbWF4aW1hbCB2YWx1ZS4AWQEgVGhlcmUncyBubyBtYW5kYXRvcnkgaGVhZGVycyBpbiB0aGlzIHBhbGxldCwgc28gaXQgY2FuJ3Qgc3RhbGwgaWYgdGhlcmUncyBzb21lIGhlYWRlcmQgdGhhdCBleGNlZWRzIHRoaXMgYm91bmQuAAE5CAAAADQAAFBCcmlkZ2VLdXNhbWFNZXNzYWdlcwFQQnJpZGdlS3VzYW1hTWVzc2FnZXMULFBhbGxldE93bmVyAAAEBAAYXCBPcHRpb25hbCBwYWxsZXQgb3duZXIuAFEBIFBhbGxldCBvd25lciBoYXMgYSByaWdodCB0byBoYWx0IGFsbCBwYWxsZXQgb3BlcmF0aW9ucyBhbmQgdGhlbiByZXN1bWUgaXQuIElmIGl0IGlzSQEgYE5vbmVgLCB0aGVuIHRoZXJlIGFyZSBubyBkaXJlY3Qgd2F5cyB0byBoYWx0L3Jlc3VtZSBwYWxsZXQgb3BlcmF0aW9ucywgYnV0IG90aGVyYQEgcnVudGltZSBtZXRob2RzIG1heSBzdGlsbCBiZSB1c2VkIHRvIGRvIHRoYXQgKGkuZS4gZGVtb2NyYWN5OjpyZWZlcmVuZHVtIHRvIHVwZGF0ZSBoYWx0xCBmbGFnIGRpcmVjdGx5IG9yIGNhbGwgdGhlIGBzZXRfb3BlcmF0aW5nX21vZGVgKS4ATFBhbGxldE9wZXJhdGluZ01vZGUBAJ0DCAAADKggVGhlIGN1cnJlbnQgb3BlcmF0aW5nIG1vZGUgb2YgdGhlIHBhbGxldC4AMQEgRGVwZW5kaW5nIG9uIHRoZSBtb2RlIGVpdGhlciBhbGwsIHNvbWUsIG9yIG5vIHRyYW5zYWN0aW9ucyB3aWxsIGJlIGFsbG93ZWQuADBJbmJvdW5kTGFuZXMAAQQCPQNFCAQABJQgTWFwIG9mIGxhbmUgaWQgPT4gaW5ib3VuZCBsYW5lIGRhdGEuADRPdXRib3VuZExhbmVzAAEEAj0DVQgEAASYIE1hcCBvZiBsYW5lIGlkID0+IG91dGJvdW5kIGxhbmUgZGF0YS4AQE91dGJvdW5kTWVzc2FnZXMAAQQCWQhdCAQABHggQWxsIHF1ZXVlZCBvdXRib3VuZCBtZXNzYWdlcy4AAZkDAAFpBQAAAWEIAAQ8T3V0Ym91bmRQYXlsb2FkGARRASBQYXlsb2FkIHR5cGUgb2Ygb3V0Ym91bmQgbWVzc2FnZXMuIFRoaXMgcGF5bG9hZCBpcyBkaXNwYXRjaGVkIG9uIHRoZSBicmlkZ2VkIGNoYWluLgA1AABYWGNtT3ZlckJyaWRnZUh1Ykt1c2FtYQFYWGNtT3ZlckJyaWRnZUh1Ykt1c2FtYQgcQnJpZGdlcwABBAaNBXEIBAAEYCBBbGwgcmVnaXN0ZXJlZCBicmlkZ2VzLgAwTGFuZVRvQnJpZGdlAAEEBj0DjQUEAATMIEFsbCByZWdpc3RlcmVkIGBsYW5lX2lkYCBhbmQgYGJyaWRnZV9pZGAgbWFwcGluZ3MuAAGtAwABiQUACDhCcmlkZ2VkTmV0d29ya0EBEAIBCQMEDQEgQnJpZGdlZCBuZXR3b3JrIGFzIHJlbGF0aXZlIGxvY2F0aW9uIG9mIGJyaWRnZWQgYEdsb2JhbENvbnNlbnN1c2AuADRCcmlkZ2VEZXBvc2l0xEAAAAAAAAAAAAAAAAAAAAAACFUBIEFtb3VudCBvZiB0aGlzIGNoYWluIG5hdGl2ZSB0b2tlbnMgdGhhdCBpcyByZXNlcnZlZCBvbiB0aGUgc2libGluZyBwYXJhY2hhaW4gYWNjb3VudKAgd2hlbiBicmlkZ2Ugb3BlbiByZXF1ZXN0IGlzIHJlZ2lzdGVyZWQuAAF5CAAAADYAAFBFdGhlcmV1bUluYm91bmRRdWV1ZQFQRXRoZXJldW1JbmJvdW5kUXVldWUIFE5vbmNlAQEEBWkEKCAAAAAAAAAAAASMIFRoZSBjdXJyZW50IG5vbmNlIGZvciBlYWNoIGNoYW5uZWwANE9wZXJhdGluZ01vZGUBAPEDBAAEqCBUaGUgY3VycmVudCBvcGVyYXRpbmcgbW9kZSBvZiB0aGUgcGFsbGV0LgABtQMAAZEFAAQ4R2F0ZXdheUFkZHJlc3PBA1AnypY8J5yTgBlB4euHmcI/QH1o5wAAAYEIAAAAUAAAVEV0aGVyZXVtT3V0Ym91bmRRdWV1ZQFURXRoZXJldW1PdXRib3VuZFF1ZXVlECBNZXNzYWdlcwEAkQgEABg9ASBNZXNzYWdlcyB0byBiZSBjb21taXR0ZWQgaW4gdGhlIGN1cnJlbnQgYmxvY2suIFRoaXMgc3RvcmFnZSB2YWx1ZSBpcyBraWxsZWQgaW7QIGBvbl9pbml0aWFsaXplYCwgc28gc2hvdWxkIG5ldmVyIGdvIGludG8gYmxvY2sgUG9WLgAFASBJcyBuZXZlciByZWFkIGluIHRoZSBydW50aW1lLCBvbmx5IGJ5IG9mZmNoYWluIG1lc3NhZ2UgcmVsYXllcnMuAPQgSW5zcGlyZWQgYnkgdGhlIGBmcmFtZV9zeXN0ZW06OlBhbGxldDo6RXZlbnRzYCBzdG9yYWdlIHZhbHVlADRNZXNzYWdlTGVhdmVzAQDFAwQADGUBIEhhc2hlcyBvZiB0aGUgQUJJLWVuY29kZWQgbWVzc2FnZXMgaW4gdGhlIFtgTWVzc2FnZXNgXSBzdG9yYWdlIHZhbHVlLiBVc2VkIHRvIGdlbmVyYXRlIGEJASBtZXJrbGUgcm9vdCBkdXJpbmcgYG9uX2ZpbmFsaXplYC4gVGhpcyBzdG9yYWdlIHZhbHVlIGlzIGtpbGxlZCBpbtAgYG9uX2luaXRpYWxpemVgLCBzbyBzaG91bGQgbmV2ZXIgZ28gaW50byBibG9jayBQb1YuABROb25jZQEBBAVpBCggAAAAAAAAAAAEqCBUaGUgY3VycmVudCBub25jZSBmb3IgZWFjaCBtZXNzYWdlIG9yaWdpbgA0T3BlcmF0aW5nTW9kZQEA8QMEAASoIFRoZSBjdXJyZW50IG9wZXJhdGluZyBtb2RlIG9mIHRoZSBwYWxsZXQuAAH1AwABlQUADCBEZWNpbWFscwwECgSwIE51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyBpbiBuYXRpdmUgY3VycmVuY3kAVE1heE1lc3NhZ2VQYXlsb2FkU2l6ZTgQAAgAAAR8IE1heCBieXRlcyBpbiBhIG1lc3NhZ2UgcGF5bG9hZABMTWF4TWVzc2FnZXNQZXJCbG9jazgQIAAAAASsIE1heCBudW1iZXIgb2YgbWVzc2FnZXMgcHJvY2Vzc2VkIHBlciBibG9jawABmQgAAABRAABQRXRoZXJldW1CZWFjb25DbGllbnQBUEV0aGVyZXVtQmVhY29uQ2xpZW50KFRJbml0aWFsQ2hlY2twb2ludFJvb3QBADyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgCBMYXRlc3QgaW1wb3J0ZWQgY2hlY2twb2ludCByb290AGBMYXRlc3RGaW5hbGl6ZWRCbG9ja1Jvb3QBADyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAElCBMYXRlc3QgaW1wb3J0ZWQgZmluYWxpemVkIGJsb2NrIHJvb3QAUEZpbmFsaXplZEJlYWNvblN0YXRlAAEEBjydCAQABJQgQmVhY29uIHN0YXRlIGJ5IGZpbmFsaXplZCBibG9jayByb290AGRGaW5hbGl6ZWRCZWFjb25TdGF0ZUluZGV4AQA4EAAAAAAEzCBGaW5hbGl6ZWQgSGVhZGVyczogQ3VycmVudCBwb3NpdGlvbiBpbiByaW5nIGJ1ZmZlcgBsRmluYWxpemVkQmVhY29uU3RhdGVNYXBwaW5nAQEEBjg8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABB0BIEZpbmFsaXplZCBIZWFkZXJzOiBNYXBwaW5nIG9mIHJpbmcgYnVmZmVyIGluZGV4IHRvIGEgcHJ1bmluZyBjYW5kaWRhdGUAOFZhbGlkYXRvcnNSb290AQA8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQQ3VycmVudFN5bmNDb21taXR0ZWUBAKEIUqMFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIggU3luYyBjb21taXR0ZWUgZm9yIGN1cnJlbnQgcGVyaW9kAEROZXh0U3luY0NvbW1pdHRlZQEAoQhSowUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEfCBTeW5jIGNvbW1pdHRlZSBmb3IgbmV4dCBwZXJpb2QAfExhdGVzdFN5bmNDb21taXR0ZWVVcGRhdGVQZXJpb2QBACggAAAAAAAAAAAEEQEgVGhlIGxhc3QgcGVyaW9kIHdoZXJlIHRoZSBuZXh0IHN5bmMgY29tbWl0dGVlIHdhcyB1cGRhdGVkIGZvciBmcmVlLgA0T3BlcmF0aW5nTW9kZQEA8QMEAASoIFRoZSBjdXJyZW50IG9wZXJhdGluZyBtb2RlIG9mIHRoZSBwYWxsZXQuAAH5AwABmQUACDBGb3JrVmVyc2lvbnPBCFEBAAAAAAAAAAAAAAAAAQAAAAAiAQAAAAAAAgAAAAA2AgAAAAAAAwAAAAD2AgAAAAAABAAAAAAdBAAAAAAABQAAAACOBQAAAAAABgAAAABHBgAAAAAAAABMRnJlZUhlYWRlcnNJbnRlcnZhbDgQIAAAAAQBASBNaW5pbXVtIGdhcCBiZXR3ZWVuIGZpbmFsaXplZCBoZWFkZXJzIGZvciBhbiB1cGRhdGUgdG8gYmUgZnJlZS4AAckIAAAAUgAAOEV0aGVyZXVtU3lzdGVtAThFdGhlcmV1bVN5c3RlbRAYQWdlbnRzAAEEBTwQBAAEdCBUaGUgc2V0IG9mIHJlZ2lzdGVyZWQgYWdlbnRzACBDaGFubmVscwABBAVpBNEIBAAEfCBUaGUgc2V0IG9mIHJlZ2lzdGVyZWQgY2hhbm5lbHMARFByaWNpbmdQYXJhbWV0ZXJzAQA5BMEBAABkp7O24A0AAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkp7O24A0AAAAAAAAAAAAAREZvcmVpZ25Ub05hdGl2ZUlkAAEEAjxBAQQABCkBIExvb2t1cCB0YWJsZSBmb3IgZm9yZWlnbiB0b2tlbiBJRCB0byBuYXRpdmUgbG9jYXRpb24gcmVsYXRpdmUgdG8gZXRoZXJldW0AASkEAAGdBQAIPFRyZWFzdXJ5QWNjb3VudASArz59ooYI4T5Dmcx9FKV72xVN3l89VG9fKTmU7zbvfxEEgCBUcmVhc3VyeUFjY291bnQgdG8gY29sbGVjdCBmZWVzAExJbmJvdW5kRGVsaXZlcnlDb3N0xEC/aDEMAAAAAAAAAAAAAAAABKwgQ29zdCBvZiBkZWxpdmVyaW5nIGEgbWVzc2FnZSBmcm9tIEV0aGVyZXVtAAHVCAAAAFMAAEBFdGhlcmV1bVN5c3RlbVYyAUBFdGhlcmV1bVN5c3RlbVYyBCBMb3N0VGlwcwEBBAIExEAAAAAAAAAAAAAAAAAAAAAAEFkBIFJlbGF5ZXIgcmV3YXJkIHRpcHMgdGhhdCB3ZXJlIHBhaWQgYnkgdGhlIHVzZXIgdG8gaW5jZW50aXZpemUgdGhlIHByb2Nlc3Npbmcgb2YgdGhlaXJlASBtZXNzYWdlLCBidXQgdGhlbiBjb3VsZCBub3QgYmUgYWRkZWQgdG8gdGhlaXIgbWVzc2FnZSByZXdhcmQgKGUuZy4gdGhlIG5vbmNlIHdhcyBhbHJlYWR5UQEgcHJvY2Vzc2VkIG9yIHRoZWlyIG9yZGVyIGNvdWxkIG5vdCBiZSBmb3VuZCkuIENhcHR1cmluZyB0aGUgbG9zdCB0aXBzIGhlcmUgc3VwcG9ydHO4IGltcGxlbWVudGluZyBhIHJlY292ZXJ5IG1ldGhvZCBpbiB0aGUgZnV0dXJlLgABTQQAAaUFAAAB3QgAAABaAABYRXRoZXJldW1JbmJvdW5kUXVldWVWMgFYRXRoZXJldW1JbmJvdW5kUXVldWVWMgwsTm9uY2VCaXRtYXABAQQFKMRAAAAAAAAAAAAAAAAAAAAAAAhlASBTdG9yYWdlTWFwIHVzZWQgZm9yIGVuY29kaW5nIGEgU3BhcnNlQml0bWFwSW1wbCB0aGF0IHRyYWNrcyB3aGV0aGVyIGEgc3BlY2lmaWMgbm9uY2UgaGFzFQEgYmVlbiBwcm9jZXNzZWQgb3Igbm90LiBNZXNzYWdlIG5vbmNlcyBhcmUgdW5pcXVlIGFuZCBuZXZlciByZXBlYXRlZC4ANE9wZXJhdGluZ01vZGUBAPEDBAAEqCBUaGUgY3VycmVudCBvcGVyYXRpbmcgbW9kZSBvZiB0aGUgcGFsbGV0LgAQVGlwcwABBAIoxAQADFUBIEtlZXAgdHJhY2sgb2YgdGlwcyBhZGRlZCBmb3IgYSBtZXNzYWdlIGFzIGFuIGFkZGl0aW9uYWwgcmVsYXllciBpbmNlbnRpdml6YXRpb24uIFRoZVkBIGtleSBmb3IgdGhlIHN0b3JhZ2UgbWFwIGlzIHRoZSBub25jZSBvZiB0aGUgbWVzc2FnZSB0byB3aGljaCB0aGUgdGlwIHNob3VsZCBiZSBhZGRlZC6cIFRoZSB2YWx1ZSBpcyB0aGUgdGlwIGFtb3VudCwgaW4gRXRoZXIuAAFZBAABqQUACDhHYXRld2F5QWRkcmVzc8EDUCfKljwnnJOAGUHh64eZwj9AfWjnBIQgQWRkcmVzcyBvZiB0aGUgR2F0ZXdheSBjb250cmFjdC4ARERlZmF1bHRSZXdhcmRLaW5kNQMEAQRlASBUaGUgZGVmYXVsdCBSZXdhcmRLaW5kIGRpc2NyaW1pbmF0b3IgZm9yIHJld2FyZHMgYWxsb2NhdGVkIHRvIHJlbGF5ZXJzIGZyb20gdGhpcyBwYWxsZXQuAAHhCAAEKFJld2FyZEtpbmQ1AwRsIFJld2FyZCBkaXNjcmltaW5hdG9yIHR5cGUuAFsAAFxFdGhlcmV1bU91dGJvdW5kUXVldWVWMgFcRXRoZXJldW1PdXRib3VuZFF1ZXVlVjIQIE1lc3NhZ2VzAQDlCAQAHD0BIE1lc3NhZ2VzIHRvIGJlIGNvbW1pdHRlZCBpbiB0aGUgY3VycmVudCBibG9jay4gVGhpcyBzdG9yYWdlIHZhbHVlIGlzIGtpbGxlZCBpbtAgYG9uX2luaXRpYWxpemVgLCBzbyB3aWxsIG5vdCBlbmQgdXAgYmxvYXRpbmcgc3RhdGUuAAUBIElzIG5ldmVyIHJlYWQgaW4gdGhlIHJ1bnRpbWUsIG9ubHkgYnkgb2ZmY2hhaW4gbWVzc2FnZSByZWxheWVycy7sIEJlY2F1c2Ugb2YgdGhpcywgaXQgd2lsbCBuZXZlciBnbyBpbnRvIHRoZSBQb1Ygb2YgYSBibG9jay4A9CBJbnNwaXJlZCBieSB0aGUgYGZyYW1lX3N5c3RlbTo6UGFsbGV0OjpFdmVudHNgIHN0b3JhZ2UgdmFsdWUANE1lc3NhZ2VMZWF2ZXMBAMUDBAAQZQEgSGFzaGVzIG9mIHRoZSBBQkktZW5jb2RlZCBtZXNzYWdlcyBpbiB0aGUgW2BNZXNzYWdlc2BdIHN0b3JhZ2UgdmFsdWUuIFVzZWQgdG8gZ2VuZXJhdGUgYXEBIG1lcmtsZSByb290IGR1cmluZyBgb25fZmluYWxpemVgLiBUaGlzIHN0b3JhZ2UgdmFsdWUgaXMga2lsbGVkIGluIGBvbl9pbml0aWFsaXplYCwgc28gc3RhdGVtASBhdCBlYWNoIGJsb2NrIGNvbnRhaW5zIG9ubHkgcm9vdCBoYXNoIG9mIG1lc3NhZ2VzIHByb2Nlc3NlZCBpbiB0aGF0IGJsb2NrLiBUaGlzIGFsc28gbWVhbnOcIGl0IGRvZXNuJ3QgaGF2ZSB0byBiZSBpbmNsdWRlZCBpbiBQb1YuABROb25jZQEAKCAAAAAAAAAAAASMIFRoZSBjdXJyZW50IG5vbmNlIGZvciB0aGUgbWVzc2FnZXMANFBlbmRpbmdPcmRlcnMAAQQFKPkIBAAEYCBQZW5kaW5nIG9yZGVycyB0byByZWxheQABXQQAAa0FABBUTWF4TWVzc2FnZVBheWxvYWRTaXplOBAACAAABHwgTWF4IGJ5dGVzIGluIGEgbWVzc2FnZSBwYXlsb2FkAExNYXhNZXNzYWdlc1BlckJsb2NrOBAgAAAABKwgTWF4IG51bWJlciBvZiBtZXNzYWdlcyBwcm9jZXNzZWQgcGVyIGJsb2NrADhHYXRld2F5QWRkcmVzc8EDUCfKljwnnJOAGUHh64eZwj9AfWjnBIAgQWRkcmVzcyBvZiB0aGUgR2F0ZXdheSBjb250cmFjdABERGVmYXVsdFJld2FyZEtpbmQ1AwQBBGUBIFRoZSBkZWZhdWx0IFJld2FyZEtpbmQgZGlzY3JpbWluYXRvciBmb3IgcmV3YXJkcyBhbGxvY2F0ZWQgdG8gcmVsYXllcnMgZnJvbSB0aGlzIHBhbGxldC4AAf0IAAhYQWdncmVnYXRlTWVzc2FnZU9yaWdpbmUEAChSZXdhcmRLaW5kNQMEbCBSZXdhcmQgZGlzY3JpbWluYXRvciB0eXBlLgBcAAAwTWVzc2FnZVF1ZXVlATBNZXNzYWdlUXVldWUMMEJvb2tTdGF0ZUZvcgEBBAVlBAEJdAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMwgVGhlIGluZGV4IG9mIHRoZSBmaXJzdCBhbmQgbGFzdCAobm9uLWVtcHR5KSBwYWdlcy4ALFNlcnZpY2VIZWFkAABlBAQABLwgVGhlIG9yaWdpbiBhdCB3aGljaCB3ZSBzaG91bGQgYmVnaW4gc2VydmljaW5nLgAUUGFnZXMAAQgFBQ0JEQkEAASIIFRoZSBtYXAgb2YgcGFnZSBpbmRpY2VzIHRvIHBhZ2VzLgABYQQAAcUFABAgSGVhcFNpemU4EAAAAQAUPQEgVGhlIHNpemUgb2YgdGhlIHBhZ2U7IHRoaXMgaW1wbGllcyB0aGUgbWF4aW11bSBtZXNzYWdlIHNpemUgd2hpY2ggY2FuIGJlIHNlbnQuAFkBIEEgZ29vZCB2YWx1ZSBkZXBlbmRzIG9uIHRoZSBleHBlY3RlZCBtZXNzYWdlIHNpemVzLCB0aGVpciB3ZWlnaHRzLCB0aGUgd2VpZ2h0IHRoYXQgaXNdASBhdmFpbGFibGUgZm9yIHByb2Nlc3NpbmcgdGhlbSBhbmQgdGhlIG1heGltYWwgbmVlZGVkIG1lc3NhZ2Ugc2l6ZS4gVGhlIG1heGltYWwgbWVzc2FnZREBIHNpemUgaXMgc2xpZ2h0bHkgbG93ZXIgdGhhbiB0aGlzIGFzIGRlZmluZWQgYnkgW2BNYXhNZXNzYWdlTGVuT2ZgXS4AIE1heFN0YWxlOBAIAAAADF0BIFRoZSBtYXhpbXVtIG51bWJlciBvZiBzdGFsZSBwYWdlcyAoaS5lLiBvZiBvdmVyd2VpZ2h0IG1lc3NhZ2VzKSBhbGxvd2VkIGJlZm9yZSBjdWxsaW5nUQEgY2FuIGhhcHBlbi4gT25jZSB0aGVyZSBhcmUgbW9yZSBzdGFsZSBwYWdlcyB0aGFuIHRoaXMsIHRoZW4gaGlzdG9yaWNhbCBwYWdlcyBtYXkgYmX8IGRyb3BwZWQsIGV2ZW4gaWYgdGhleSBjb250YWluIHVucHJvY2Vzc2VkIG92ZXJ3ZWlnaHQgbWVzc2FnZXMuADRTZXJ2aWNlV2VpZ2h0hQIsAQcAuGTZRQIAgAEYQQEgVGhlIGFtb3VudCBvZiB3ZWlnaHQgKGlmIGFueSkgd2hpY2ggc2hvdWxkIGJlIHByb3ZpZGVkIHRvIHRoZSBtZXNzYWdlIHF1ZXVlIGZvcqggc2VydmljaW5nIGVucXVldWVkIGl0ZW1zIGBvbl9pbml0aWFsaXplYC4A/CBUaGlzIG1heSBiZSBsZWdpdGltYXRlbHkgYE5vbmVgIGluIHRoZSBjYXNlIHRoYXQgeW91IHdpbGwgY2FsbF0BIGBTZXJ2aWNlUXVldWVzOjpzZXJ2aWNlX3F1ZXVlc2AgbWFudWFsbHkgb3Igc2V0IFtgU2VsZjo6SWRsZU1heFNlcnZpY2VXZWlnaHRgXSB0byBoYXZlVCBpdCBydW4gaW4gYG9uX2lkbGVgLgBQSWRsZU1heFNlcnZpY2VXZWlnaHSFAiwBBwDodkgXAgCAABRdASBUaGUgbWF4aW11bSBhbW91bnQgb2Ygd2VpZ2h0IChpZiBhbnkpIHRvIGJlIHVzZWQgZnJvbSByZW1haW5pbmcgd2VpZ2h0IGBvbl9pZGxlYCB3aGljaEEBIHNob3VsZCBiZSBwcm92aWRlZCB0byB0aGUgbWVzc2FnZSBxdWV1ZSBmb3Igc2VydmljaW5nIGVucXVldWVkIGl0ZW1zIGBvbl9pZGxlYC49ASBVc2VmdWwgZm9yIHBhcmFjaGFpbnMgdG8gcHJvY2VzcyBtZXNzYWdlcyBhdCB0aGUgc2FtZSBibG9jayB0aGV5IGFyZSByZWNlaXZlZC4AKQEgSWYgYE5vbmVgLCBpdCB3aWxsIG5vdCBjYWxsIGBTZXJ2aWNlUXVldWVzOjpzZXJ2aWNlX3F1ZXVlc2AgaW4gYG9uX2lkbGVgLgABGQkABBBTaXplOARUIFBhZ2UvaGVhcCBzaXplIHR5cGUuAK8AAAgEBQAgbQQEADQABAgMEBQYHCAkKCwwNDRBdXRob3JpemVDYWxsdQQQSENoZWNrTm9uWmVyb1NlbmRlcnkEEEBDaGVja1NwZWNWZXJzaW9ufQQ4OENoZWNrVHhWZXJzaW9ugQQ4MENoZWNrR2VuZXNpc4UEPDhDaGVja01vcnRhbGl0eYkEPChDaGVja05vbmNlkQQQLENoZWNrV2VpZ2h0lQQQYENoYXJnZVRyYW5zYWN0aW9uUGF5bWVudJkEEJhCcmlkZ2VSZWplY3RPYnNvbGV0ZUhlYWRlcnNBbmRNZXNzYWdlc50EEMBPbkJyaWRnZUh1YlBvbGthZG90UmVmdW5kQnJpZGdlSHViS3VzYW1hTWVzc2FnZXOhBBBEQ2hlY2tNZXRhZGF0YUhhc2ilBK0EUFN0b3JhZ2VXZWlnaHRSZWNsYWltEBB4HEF1cmFBcGkINHNsb3RfZHVyYXRpb24AHQkMkCBSZXR1cm5zIHRoZSBzbG90IGR1cmF0aW9uIGZvciBBdXJhLgAlASBDdXJyZW50bHksIG9ubHkgdGhlIHZhbHVlIHByb3ZpZGVkIGJ5IHRoaXMgdHlwZSBhdCBnZW5lc2lzIHdpbGwgYmUgdXNlZC4ALGF1dGhvcml0aWVzACkHBJwgUmV0dXJuIHRoZSBjdXJyZW50IHNldCBvZiBhdXRob3JpdGllcy4ABLggQVBJIG5lY2Vzc2FyeSBmb3IgYmxvY2sgYXV0aG9yc2hpcCB3aXRoIGF1cmEuBABQUmVsYXlQYXJlbnRPZmZzZXRBcGkETHJlbGF5X3BhcmVudF9vZmZzZXQAOAT0IEZldGNoIHRoZSBzbG90IG9mZnNldCB0aGF0IGlzIGV4cGVjdGVkIGZyb20gdGhlIHJlbGF5IGNoYWluLgAQBQEgQVBJIHRvIHRlbGwgdGhlIG5vZGUgc2lkZSBob3cgdGhlIHJlbGF5IHBhcmVudCBzaG91bGQgYmUgY2hvc2VuLgBpASBBIGxhcmdlciBvZmZzZXQgaW5kaWNhdGVzIHRoYXQgdGhlIHJlbGF5IHBhcmVudCBzaG91bGQgbm90IGJlIHRoZSB0aXAgb2YgdGhlIHJlbGF5IGNoYWluLDEBIGJ1dCBgTmAgYmxvY2tzIGJlaGluZCB0aGUgdGlwLiBUaGlzIG9mZnNldCBpcyB0aGVuIGVuZm9yY2VkIGJ5IHRoZSBydW50aW1lLgQAYEF1cmFVbmluY2x1ZGVkU2VnbWVudEFwaQQ4Y2FuX2J1aWxkX3Vwb24INGluY2x1ZGVkX2hhc2g8EHNsb3QtB8goOQEgV2hldGhlciBpdCBpcyBsZWdhbCB0byBleHRlbmQgdGhlIGNoYWluLCBhc3N1bWluZyB0aGUgZ2l2ZW4gYmxvY2sgaXMgdGhlIG1vc3Q1ASByZWNlbnRseSBpbmNsdWRlZCBvbmUgYXMtb2YgdGhlIHJlbGF5IHBhcmVudCB0aGF0IHdpbGwgYmUgYnVpbHQgYWdhaW5zdCwgYW5kcCB0aGUgZ2l2ZW4gcmVsYXkgY2hhaW4gc2xvdC4AUQEgVGhpcyBzaG91bGQgYmUgY29uc2lzdGVudCB3aXRoIHRoZSBsb2dpYyB0aGUgcnVudGltZSB1c2VzIHdoZW4gdmFsaWRhdGluZyBibG9ja3MgdG84IGF2b2lkIGlzc3Vlcy4AYQEgV2hlbiB0aGUgdW5pbmNsdWRlZCBzZWdtZW50IGlzIGVtcHR5LCBpLmUuIGBpbmNsdWRlZF9oYXNoID09IGF0YCwgd2hlcmUgYXQgaXMgdGhlIGJsb2NrYQEgd2hvc2Ugc3RhdGUgd2UgYXJlIHF1ZXJ5aW5nIGFnYWluc3QsIHRoaXMgbXVzdCBhbHdheXMgcmV0dXJuIGB0cnVlYCBhcyBsb25nIGFzIHRoZSBzbG90vCBpcyBtb3JlIHJlY2VudCB0aGFuIHRoZSBpbmNsdWRlZCBibG9jayBpdHNlbGYuADQ1ASBUaGlzIHJ1bnRpbWUgQVBJIGlzIHVzZWQgdG8gaW5mb3JtIHBvdGVudGlhbCBibG9jayBhdXRob3JzIHdoZXRoZXIgdGhleSB3aWxsJQEgaGF2ZSB0aGUgcmlnaHQgdG8gYXV0aG9yIGF0IGEgc2xvdCwgYXNzdW1pbmcgdGhleSBoYXZlIGNsYWltZWQgdGhlIHNsb3QuAHUBIEluIHBhcnRpY3VsYXIsIHRoaXMgQVBJIGFsbG93cyBBdXJhLWJhc2VkIHBhcmFjaGFpbnMgdG8gcmVndWxhdGUgdGhlaXIgInVuaW5jbHVkZWQgc2VnbWVudCIsbQEgd2hpY2ggaXMgdGhlIHNlY3Rpb24gb2YgdGhlIGhlYWQgb2YgdGhlIGNoYWluIHdoaWNoIGhhcyBub3QgeWV0IGJlZW4gbWFkZSBhdmFpbGFibGUgaW4gdGhlNCByZWxheSBjaGFpbi4AYQEgV2hlbiB0aGUgdW5pbmNsdWRlZCBzZWdtZW50IGlzIHNob3J0LCBBdXJhIGNoYWlucyB3aWxsIGFsbG93IGF1dGhvcnMgdG8gY3JlYXRlIG11bHRpcGxlXQEgYmxvY2tzIHBlciBzbG90IGluIG9yZGVyIHRvIGJ1aWxkIGEgYmFja2xvZy4gV2hlbiBpdCBpcyBzYXR1cmF0ZWQsIHRoaXMgQVBJIHdpbGwgbGltaXSoIHRoZSBhbW91bnQgb2YgYmxvY2tzIHRoYXQgY2FuIGJlIGNyZWF0ZWQuACQgQ2hhbmdlczqRASAtIFZlcnNpb24gMjogVXBkYXRlIHRvIGBjYW5fYnVpbGRfdXBvbmAgdG8gdGFrZSBhIHJlbGF5IGNoYWluIGBTbG90YCBpbnN0ZWFkIG9mIGEgcGFyYWNoYWluIGBTbG90YC4IABBDb3JlDBx2ZXJzaW9uAP0FBJAgUmV0dXJucyB0aGUgdmVyc2lvbiBvZiB0aGUgcnVudGltZS4ANGV4ZWN1dGVfYmxvY2sEFGJsb2NrIQkQBGQgRXhlY3V0ZSB0aGUgZ2l2ZW4gYmxvY2suAEBpbml0aWFsaXplX2Jsb2NrBBhoZWFkZXJcLQkEQQEgSW5pdGlhbGl6ZSBhIGJsb2NrIHdpdGggdGhlIGdpdmVuIGhlYWRlciBhbmQgcmV0dXJuIHRoZSBydW50aW1lIGV4ZWN1dGl2ZSBtb2RlLgAEIQEgVGhlIGBDb3JlYCBydW50aW1lIGFwaSB0aGF0IGV2ZXJ5IFN1YnN0cmF0ZSBydW50aW1lIG5lZWRzIHRvIGltcGxlbWVudC4UACBNZXRhZGF0YQwgbWV0YWRhdGEAMQkEjCBSZXR1cm5zIHRoZSBtZXRhZGF0YSBvZiBhIHJ1bnRpbWUuAExtZXRhZGF0YV9hdF92ZXJzaW9uBBx2ZXJzaW9uODUJEKQgUmV0dXJucyB0aGUgbWV0YWRhdGEgYXQgYSBnaXZlbiB2ZXJzaW9uLgAFASBJZiB0aGUgZ2l2ZW4gYHZlcnNpb25gIGlzbid0IHN1cHBvcnRlZCwgdGhpcyB3aWxsIHJldHVybiBgTm9uZWAudQEgVXNlIFtgU2VsZjo6bWV0YWRhdGFfdmVyc2lvbnNgXSB0byBmaW5kIG91dCBhYm91dCBzdXBwb3J0ZWQgbWV0YWRhdGEgdmVyc2lvbiBvZiB0aGUgcnVudGltZS4ARG1ldGFkYXRhX3ZlcnNpb25zADkJDKQgUmV0dXJucyB0aGUgc3VwcG9ydGVkIG1ldGFkYXRhIHZlcnNpb25zLgDAIFRoaXMgY2FuIGJlIHVzZWQgdG8gY2FsbCBgbWV0YWRhdGFfYXRfdmVyc2lvbmAuAAQBASBUaGUgYE1ldGFkYXRhYCBhcGkgdHJhaXQgdGhhdCByZXR1cm5zIG1ldGFkYXRhIGZvciB0aGUgcnVudGltZS4IADBCbG9ja0J1aWxkZXIQPGFwcGx5X2V4dHJpbnNpYwQkZXh0cmluc2ljGQY9CRBsIEFwcGx5IHRoZSBnaXZlbiBleHRyaW5zaWMuADkBIFJldHVybnMgYW4gaW5jbHVzaW9uIG91dGNvbWUgd2hpY2ggc3BlY2lmaWVzIGlmIHRoaXMgZXh0cmluc2ljIGlzIGluY2x1ZGVkIGluTCB0aGlzIGJsb2NrIG9yIG5vdC4AOGZpbmFsaXplX2Jsb2NrAFwEaCBGaW5pc2ggdGhlIGN1cnJlbnQgYmxvY2suAExpbmhlcmVudF9leHRyaW5zaWNzBCBpbmhlcmVudE0JJQYEPQEgR2VuZXJhdGUgaW5oZXJlbnQgZXh0cmluc2ljcy4gVGhlIGluaGVyZW50IGRhdGEgd2lsbCB2YXJ5IGZyb20gY2hhaW4gdG8gY2hhaW4uADxjaGVja19pbmhlcmVudHMIFGJsb2NrIQkQZGF0YU0JXQkEVQEgQ2hlY2sgdGhhdCB0aGUgaW5oZXJlbnRzIGFyZSB2YWxpZC4gVGhlIGluaGVyZW50IGRhdGEgd2lsbCB2YXJ5IGZyb20gY2hhaW4gdG8gY2hhaW4uAARxASBUaGUgYEJsb2NrQnVpbGRlcmAgYXBpIHRyYWl0IHRoYXQgcHJvdmlkZXMgdGhlIHJlcXVpcmVkIGZ1bmN0aW9uYWxpdHkgZm9yIGJ1aWxkaW5nIGEgYmxvY2suGABYVGFnZ2VkVHJhbnNhY3Rpb25RdWV1ZQRQdmFsaWRhdGVfdHJhbnNhY3Rpb24MGHNvdXJjZWEJCHR4GQYoYmxvY2tfaGFzaDxlCSRoIFZhbGlkYXRlIHRoZSB0cmFuc2FjdGlvbi4AZQEgVGhpcyBtZXRob2QgaXMgaW52b2tlZCBieSB0aGUgdHJhbnNhY3Rpb24gcG9vbCB0byBsZWFybiBkZXRhaWxzIGFib3V0IGdpdmVuIHRyYW5zYWN0aW9uLkUBIFRoZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgbWFrZSBzdXJlIHRvIHZlcmlmeSB0aGUgY29ycmVjdG5lc3Mgb2YgdGhlIHRyYW5zYWN0aW9uTQEgYWdhaW5zdCBjdXJyZW50IHN0YXRlLiBUaGUgZ2l2ZW4gYGJsb2NrX2hhc2hgIGNvcnJlc3BvbmRzIHRvIHRoZSBoYXNoIG9mIHRoZSBibG9ja3wgdGhhdCBpcyB1c2VkIGFzIGN1cnJlbnQgc3RhdGUuAEUBIE5vdGUgdGhhdCB0aGlzIGNhbGwgbWF5IGJlIHBlcmZvcm1lZCBieSB0aGUgcG9vbCBtdWx0aXBsZSB0aW1lcyBhbmQgdHJhbnNhY3Rpb25zpCBtaWdodCBiZSB2ZXJpZmllZCBpbiBhbnkgcG9zc2libGUgb3JkZXIuAARNASBUaGUgYFRhZ2dlZFRyYW5zYWN0aW9uUXVldWVgIGFwaSB0cmFpdCBmb3IgaW50ZXJmZXJpbmcgd2l0aCB0aGUgdHJhbnNhY3Rpb24gcXVldWUuDABET2ZmY2hhaW5Xb3JrZXJBcGkEPG9mZmNoYWluX3dvcmtlcgQYaGVhZGVyXBAEyCBTdGFydHMgdGhlIG9mZi1jaGFpbiB0YXNrIGZvciBnaXZlbiBibG9jayBoZWFkZXIuAARkIFRoZSBvZmZjaGFpbiB3b3JrZXIgYXBpLggALFNlc3Npb25LZXlzCFRnZW5lcmF0ZV9zZXNzaW9uX2tleXMIFG93bmVyGBBzZWVkjQdtCRwVASBHZW5lcmF0ZSBhIHNldCBvZiBzZXNzaW9uIGtleXMgd2l0aCBvcHRpb25hbGx5IHVzaW5nIHRoZSBnaXZlbiBzZWVkLgkBIFRoZSBrZXlzIHNob3VsZCBiZSBzdG9yZWQgd2l0aGluIHRoZSBrZXlzdG9yZSBleHBvc2VkIHZpYSBydW50aW1lPCBleHRlcm5hbGl0aWVzLgCwIFRoZSBzZWVkIG5lZWRzIHRvIGJlIGEgdmFsaWQgYHV0ZjhgIHN0cmluZy4A0CBSZXR1cm5zIHRoZSBjb25jYXRlbmF0ZWQgU0NBTEUgZW5jb2RlZCBwdWJsaWMga2V5cy4ATGRlY29kZV9zZXNzaW9uX2tleXMEHGVuY29kZWQYcQkMmCBEZWNvZGUgdGhlIGdpdmVuIHB1YmxpYyBzZXNzaW9uIGtleXMuANwgUmV0dXJucyB0aGUgbGlzdCBvZiBwdWJsaWMgcmF3IHB1YmxpYyBrZXlzICsga2V5IHR5cGUuAARoIFNlc3Npb24ga2V5cyBydW50aW1lIGFwaS4IAExSdW50aW1lVmlld0Z1bmN0aW9uBFRleGVjdXRlX3ZpZXdfZnVuY3Rpb24IIHF1ZXJ5X2lkfQkUaW5wdXQYgQkEfCBFeGVjdXRlIGEgdmlldyBmdW5jdGlvbiBxdWVyeS4ABKQgUnVudGltZSBBUEkgZm9yIGV4ZWN1dGluZyB2aWV3IGZ1bmN0aW9ucwQAPEFjY291bnROb25jZUFwaQQ0YWNjb3VudF9ub25jZQQcYWNjb3VudAQ4BMAgR2V0IGN1cnJlbnQgYWNjb3VudCBub25jZSBvZiBnaXZlbiBgQWNjb3VudElkYC4ABIAgVGhlIEFQSSB0byBxdWVyeSBhY2NvdW50IG5vbmNlLgQAVFRyYW5zYWN0aW9uUGF5bWVudEFwaRAocXVlcnlfaW5mbwgMdXh0GQYMbGVuOIkJAABEcXVlcnlfZmVlX2RldGFpbHMIDHV4dBkGDGxlbjiNCQAATHF1ZXJ5X3dlaWdodF90b19mZWUEGHdlaWdodLUBxAAATHF1ZXJ5X2xlbmd0aF90b19mZWUEGGxlbmd0aDjEAAAAEABkVHJhbnNhY3Rpb25QYXltZW50Q2FsbEFwaRA8cXVlcnlfY2FsbF9pbmZvCBBjYWxsIAxsZW44iQkESQEgUXVlcnkgaW5mb3JtYXRpb24gb2YgYSBkaXNwYXRjaCBjbGFzcywgd2VpZ2h0LCBhbmQgZmVlIG9mIGEgZ2l2ZW4gZW5jb2RlZCBgQ2FsbGAuAFhxdWVyeV9jYWxsX2ZlZV9kZXRhaWxzCBBjYWxsIAxsZW44jQkEtCBRdWVyeSBmZWUgZGV0YWlscyBvZiBhIGdpdmVuIGVuY29kZWQgYENhbGxgLgBMcXVlcnlfd2VpZ2h0X3RvX2ZlZQQYd2VpZ2h0tQHEBAEBIFF1ZXJ5IHRoZSBvdXRwdXQgb2YgdGhlIGN1cnJlbnQgYFdlaWdodFRvRmVlYCBnaXZlbiBzb21lIGlucHV0LgBMcXVlcnlfbGVuZ3RoX3RvX2ZlZQQYbGVuZ3RoOMQEAQEgUXVlcnkgdGhlIG91dHB1dCBvZiB0aGUgY3VycmVudCBgTGVuZ3RoVG9GZWVgIGdpdmVuIHNvbWUgaW5wdXQuAAAMADRYY21QYXltZW50QXBpEHxxdWVyeV9hY2NlcHRhYmxlX3BheW1lbnRfYXNzZXRzBCx4Y21fdmVyc2lvbjiZCRS0IFJldHVybnMgYSBsaXN0IG9mIGFjY2VwdGFibGUgcGF5bWVudCBhc3NldHMuADAgIyBBcmd1bWVudHMAaCAqIGB4Y21fdmVyc2lvbmA6IFZlcnNpb24uAEBxdWVyeV94Y21fd2VpZ2h0BBxtZXNzYWdldQGlCRSoIFJldHVybnMgYSB3ZWlnaHQgbmVlZGVkIHRvIGV4ZWN1dGUgYSBYQ00uADAgIyBBcmd1bWVudHMAdCAqIGBtZXNzYWdlYDogYFZlcnNpb25lZFhjbWAuAGRxdWVyeV93ZWlnaHRfdG9fYXNzZXRfZmVlCBh3ZWlnaHS1ARRhc3NldPECqQkY6CBDb252ZXJ0cyBhIHdlaWdodCBpbnRvIGEgZmVlIGZvciB0aGUgc3BlY2lmaWVkIGBBc3NldElkYC4AMCAjIEFyZ3VtZW50cwCIICogYHdlaWdodGA6IGNvbnZlcnRpYmxlIGBXZWlnaHRgLnwgKiBgYXNzZXRgOiBgVmVyc2lvbmVkQXNzZXRJZGAuAExxdWVyeV9kZWxpdmVyeV9mZWVzDCxkZXN0aW5hdGlvbuwcbWVzc2FnZXUBIGFzc2V0X2lk8QKtCShgIFF1ZXJ5IGRlbGl2ZXJ5IGZlZXMgVjIuAB0BIEdldCBkZWxpdmVyeSBmZWVzIGZvciBzZW5kaW5nIGEgc3BlY2lmaWMgYG1lc3NhZ2VgIHRvIGEgYGRlc3RpbmF0aW9uYC70IFRoZXNlIGFsd2F5cyBjb21lIGluIGEgc3BlY2lmaWMgYXNzZXQsIGRlZmluZWQgYnkgdGhlIGNoYWluLgAwICMgQXJndW1lbnRzgQEgKiBgbWVzc2FnZWA6IFRoZSBtZXNzYWdlIHRoYXQnbGwgYmUgc2VudCwgbmVjZXNzYXJ5IGJlY2F1c2UgbW9zdCBkZWxpdmVyeSBmZWVzIGFyZSBiYXNlZCBvbiB0aGVcICAgc2l6ZSBvZiB0aGUgbWVzc2FnZS5hASAqIGBkZXN0aW5hdGlvbmA6IFRoZSBkZXN0aW5hdGlvbiB0byBzZW5kIHRoZSBtZXNzYWdlIHRvLiBEaWZmZXJlbnQgZGVzdGluYXRpb25zIG1heSB1c2XAICAgZGlmZmVyZW50IHNlbmRlcnMgdGhhdCBjaGFyZ2UgZGlmZmVyZW50IGZlZXMuACxwIEEgdHJhaXQgb2YgWENNIHBheW1lbnQgQVBJLgCoIEFQSSBwcm92aWRlcyBmdW5jdGlvbmFsaXR5IGZvciBvYnRhaW5pbmc6AMQgKiB0aGUgd2VpZ2h0IHJlcXVpcmVkIHRvIGV4ZWN1dGUgYW4gWENNIG1lc3NhZ2UsBQEgKiBhIGxpc3Qgb2YgYWNjZXB0YWJsZSBgQXNzZXRJZGBzIGZvciBtZXNzYWdlIGV4ZWN1dGlvbiBwYXltZW50LAEBICogdGhlIGNvc3Qgb2YgdGhlIHdlaWdodCBpbiB0aGUgc3BlY2lmaWVkIGFjY2VwdGFibGUgYEFzc2V0SWRgLqAgKiB0aGUgZmVlcyBmb3IgYW4gWENNIG1lc3NhZ2UgZGVsaXZlcnkuAPAgVG8gZGV0ZXJtaW5lIHRoZSBleGVjdXRpb24gd2VpZ2h0IG9mIHRoZSBjYWxscyByZXF1aXJlZCBmb3J1ASBbYHhjbTo6bGF0ZXN0OjpJbnN0cnVjdGlvbjo6VHJhbnNhY3RgXSBpbnN0cnVjdGlvbiwgYFRyYW5zYWN0aW9uUGF5bWVudENhbGxBcGlgIGNhbiBiZSB1c2VkLggAJERyeVJ1bkFwaQgwZHJ5X3J1bl9jYWxsDBhvcmlnaW4JAxBjYWxsIExyZXN1bHRfeGNtc192ZXJzaW9uOLEJBEQgRHJ5IHJ1biBjYWxsIFYyLgAsZHJ5X3J1bl94Y20IPG9yaWdpbl9sb2NhdGlvbuwMeGNtvQLdCQRQIERyeSBydW4gWENNIHByb2dyYW0AJLEBIEFQSSBmb3IgZHJ5LXJ1bm5pbmcgZXh0cmluc2ljcyBhbmQgWENNIHByb2dyYW1zIHRvIGdldCB0aGUgcHJvZ3JhbXMgdGhhdCBuZWVkIHRvIGJlIHBhc3NlZCB0byB0aGUgZmVlcyBBUEkuAIEBIEFsbCBjYWxscyByZXR1cm4gYSB2ZWN0b3Igb2YgdHVwbGVzIChsb2NhdGlvbiwgeGNtKSB3aGVyZSBlYWNoICJ4Y20iIGlzIGV4ZWN1dGVkIGluICJsb2NhdGlvbiIu5CBJZiB0aGVyZSdzIGxvY2FsIGV4ZWN1dGlvbiwgdGhlIGxvY2F0aW9uIHdpbGwgYmUgIkhlcmUiLh0BIFRoaXMgdmVjdG9yIGNhbiBiZSB1c2VkIHRvIGNhbGN1bGF0ZSBib3RoIGV4ZWN1dGlvbiBhbmQgZGVsaXZlcnkgZmVlcy4AmQEgQ2FsbHMgb3IgWENNcyBtaWdodCBmYWlsIHdoZW4gZXhlY3V0ZWQsIHRoaXMgZG9lc24ndCBtZWFuIHRoZSByZXN1bHQgb2YgdGhlc2UgY2FsbHMgd2lsbCBiZSBhbiBgRXJyYC5lASBJbiB0aG9zZSBjYXNlcywgdGhlcmUgbWlnaHQgc3RpbGwgYmUgYSB2YWxpZCByZXN1bHQsIHdpdGggdGhlIGV4ZWN1dGlvbiBlcnJvciBpbnNpZGUgaXQuZQEgVGhlIG9ubHkgcmVhc29ucyB3aHkgdGhlc2UgY2FsbHMgbWlnaHQgcmV0dXJuIGFuIGVycm9yIGFyZSBsaXN0ZWQgaW4gdGhlIFtgRXJyb3JgXSBlbnVtLggAUExvY2F0aW9uVG9BY2NvdW50QXBpBEBjb252ZXJ0X2xvY2F0aW9uBCBsb2NhdGlvbuzlCQSQIENvbnZlcnRzIGBMb2NhdGlvbmAgdG8gYEFjY291bnRJZGAuAAQNASBBUEkgZm9yIHVzZWZ1bCBjb252ZXJzaW9ucyBiZXR3ZWVuIFhDTSBgTG9jYXRpb25gIGFuZCBgQWNjb3VudElkYC4EADxUcnVzdGVkUXVlcnlBcGkISGlzX3RydXN0ZWRfcmVzZXJ2ZQgUYXNzZXTtCSBsb2NhdGlvbuzxCRTwIFJldHVybnMgaWYgdGhlIGxvY2F0aW9uIGlzIGEgdHJ1c3RlZCByZXNlcnZlIGZvciB0aGUgYXNzZXQuADAgIyBBcmd1bWVudHN0ICogYGFzc2V0YDogYFZlcnNpb25lZEFzc2V0YC6MICogYGxvY2F0aW9uYDogYFZlcnNpb25lZExvY2F0aW9uYC4AVGlzX3RydXN0ZWRfdGVsZXBvcnRlcggUYXNzZXTtCSBsb2NhdGlvbuzxCRTgIFJldHVybnMgaWYgdGhlIGFzc2V0IGNhbiBiZSB0ZWxlcG9ydGVkIHRvIHRoZSBsb2NhdGlvbi4AMCAjIEFyZ3VtZW50c3QgKiBgYXNzZXRgOiBgVmVyc2lvbmVkQXNzZXRgLowgKiBgbG9jYXRpb25gOiBgVmVyc2lvbmVkTG9jYXRpb25gLgAE7CBBUEkgZm9yIHF1ZXJ5aW5nIHRydXN0ZWQgcmVzZXJ2ZXMgYW5kIHRydXN0ZWQgdGVsZXBvcnRlcnMuBABUQXV0aG9yaXplZEFsaWFzZXJzQXBpCExhdXRob3JpemVkX2FsaWFzZXJzBBh0YXJnZXTs+QkE9CBSZXR1cm5zIGxvY2F0aW9ucyBhbGxvd2VkIHRvIGFsaWFzIGludG8gYW5kIGFjdCBhcyBgdGFyZ2V0YC4ATGlzX2F1dGhvcml6ZWRfYWxpYXMIGG9yaWdpbuwYdGFyZ2V07AEKBB0BIFJldHVybnMgd2hldGhlciBgb3JpZ2luYCBpcyBhbGxvd2VkIHRvIGFsaWFzIGludG8gYW5kIGFjdCBhcyBgdGFyZ2V0YC4ABKAgQVBJIGZvciBxdWVyeWluZyBYQ00gYXV0aG9yaXplZCBhbGlhc2VzBABQQ29sbGVjdENvbGxhdGlvbkluZm8EWGNvbGxlY3RfY29sbGF0aW9uX2luZm8EGGhlYWRlclwFChCcIENvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgYSBjb2xsYXRpb24uAPQgVGhlIGdpdmVuIGBoZWFkZXJgIGlzIHRoZSBoZWFkZXIgb2YgdGhlIGJ1aWx0IGJsb2NrIGZvciB0aGF0qCB3ZSBhcmUgY29sbGVjdGluZyB0aGUgY29sbGF0aW9uIGluZm8gZm9yLgAU2CBSdW50aW1lIGFwaSB0byBjb2xsZWN0IGluZm9ybWF0aW9uIGFib3V0IGEgY29sbGF0aW9uLgBEIFZlcnNpb24gaGlzdG9yeToBASAtIFZlcnNpb24gMjogQ2hhbmdlZCBbYFNlbGY6OmNvbGxlY3RfY29sbGF0aW9uX2luZm9gXSBzaWduYXR1cmU1ASAtIFZlcnNpb24gMzogU2lnbmFscyB0byB0aGUgbm9kZSB0byB1c2UgdmVyc2lvbiAxIG9mIFtgUGFyYWNoYWluQmxvY2tEYXRhYF0uDAA4R2VuZXNpc0J1aWxkZXIMLGJ1aWxkX3N0YXRlBBBqc29uGBEKKGUBIEJ1aWxkIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgZnJvbSBhIEpTT04gYmxvYiBub3QgdXNpbmcgYW55IGRlZmF1bHRzIGFuZCBzdG9yZSBpdCBpbiB0aGUkIHN0b3JhZ2UuACkBIEluIHRoZSBjYXNlIG9mIGEgRlJBTUUtYmFzZWQgcnVudGltZSwgdGhpcyBmdW5jdGlvbiBkZXNlcmlhbGl6ZXMgdGhlIGZ1bGxVASBgUnVudGltZUdlbmVzaXNDb25maWdgIGZyb20gdGhlIGdpdmVuIEpTT04gYmxvYiBhbmQgcHV0cyBpdCBpbnRvIHRoZSBzdG9yYWdlLiBJZiB0aGVVASBwcm92aWRlZCBKU09OIGJsb2IgaXMgaW5jb3JyZWN0IG9yIGluY29tcGxldGUgb3IgdGhlIGRlc2VyaWFsaXphdGlvbiBmYWlscywgYW4gZXJyb3I0IGlzIHJldHVybmVkLgBdASBQbGVhc2Ugbm90ZSB0aGF0IHByb3ZpZGVkIEpTT04gYmxvYiBtdXN0IGNvbnRhaW4gYWxsIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgZmllbGRzLCBub1wgZGVmYXVsdHMgd2lsbCBiZSB1c2VkLgAoZ2V0X3ByZXNldAQIaWQVCo0HOGEBIFJldHVybnMgYSBKU09OIGJsb2IgcmVwcmVzZW50YXRpb24gb2YgdGhlIGJ1aWx0LWluIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgaWRlbnRpZmllZCBieRggYGlkYC4AVQEgSWYgYGlkYCBpcyBgTm9uZWAgdGhlIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gSlNPTiBibG9iIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkZWZhdWx0SQEgYFJ1bnRpbWVHZW5lc2lzQ29uZmlnYCBzdHJ1Y3Qgb2YgdGhlIHJ1bnRpbWUuIEltcGxlbWVudGF0aW9uIG11c3QgcHJvdmlkZSBkZWZhdWx0YCBgUnVudGltZUdlbmVzaXNDb25maWdgLgAhASBPdGhlcndpc2UgZnVuY3Rpb24gcmV0dXJucyBhIEpTT04gcmVwcmVzZW50YXRpb24gb2YgdGhlIGJ1aWx0LWluLCBuYW1lZFEBIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgcHJlc2V0IGlkZW50aWZpZWQgYnkgYGlkYCwgb3IgYE5vbmVgIGlmIHN1Y2ggcHJlc2V0IGRvZXMgbm90YQEgZXhpc3QuIFJldHVybmVkIGBWZWM8dTg+YCBjb250YWlucyBieXRlcyBvZiBKU09OIGJsb2IgKHBhdGNoKSB3aGljaCBjb21wcmlzZXMgYSBsaXN0IG9mTQEgKHBvdGVudGlhbGx5IG5lc3RlZCkga2V5LXZhbHVlIHBhaXJzIHRoYXQgYXJlIGludGVuZGVkIGZvciBjdXN0b21pemluZyB0aGUgZGVmYXVsdGUBIHJ1bnRpbWUgZ2VuZXNpcyBjb25maWcuIFRoZSBwYXRjaCBzaGFsbCBiZSBtZXJnZWQgKHJmYzczODYpIHdpdGggdGhlIEpTT04gcmVwcmVzZW50YXRpb25hASBvZiB0aGUgZGVmYXVsdCBgUnVudGltZUdlbmVzaXNDb25maWdgIHRvIGNyZWF0ZSBhIGNvbXByZWhlbnNpdmUgZ2VuZXNpcyBjb25maWcgdGhhdCBjYW6EIGJlIHVzZWQgaW4gYGJ1aWxkX3N0YXRlYCBtZXRob2QuADBwcmVzZXRfbmFtZXMAGQoQUQEgUmV0dXJucyBhIGxpc3Qgb2YgaWRlbnRpZmllcnMgZm9yIGF2YWlsYWJsZSBidWlsdGluIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgcHJlc2V0cy4AYQEgVGhlIHByZXNldHMgZnJvbSB0aGUgbGlzdCBjYW4gYmUgcXVlcmllZCB3aXRoIFtgR2VuZXNpc0J1aWxkZXI6OmdldF9wcmVzZXRgXSBtZXRob2QuIElmAQEgbm8gbmFtZWQgcHJlc2V0cyBhcmUgcHJvdmlkZWQgYnkgdGhlIHJ1bnRpbWUgdGhlIGxpc3QgaXMgZW1wdHkuAATwIEFQSSB0byBpbnRlcmFjdCB3aXRoIGBSdW50aW1lR2VuZXNpc0NvbmZpZ2AgZm9yIHRoZSBydW50aW1lBABES3VzYW1hRmluYWxpdHlBcGkMOGJlc3RfZmluYWxpemVkAB0KBEUBIFJldHVybnMgbnVtYmVyIGFuZCBoYXNoIG9mIHRoZSBiZXN0IGZpbmFsaXplZCBoZWFkZXIga25vd24gdG8gdGhlIGJyaWRnZSBtb2R1bGUuAFRmcmVlX2hlYWRlcnNfaW50ZXJ2YWwA6QIUDQEgUmV0dXJucyBmcmVlIGhlYWRlcnMgaW50ZXJ2YWwsIGlmIGl0IGlzIGNvbmZpZ3VyZWQgaW4gdGhlIHJ1bnRpbWUuGQEgVGhlIGNhbGxlciBleHBlY3RzIHRoYXQgaWYgaGlzIHRyYW5zYWN0aW9uIGltcHJvdmVzIGJlc3Qga25vd24gaGVhZGVy9CBhdCBsZWFzdCBieSB0aGUgZnJlZV9oZWFkZXJzX2ludGVydmFsYCwgaXQgd2lsbCBiZSBmZWUtZnJlZS4AIQEgU2VlIFtgcGFsbGV0X2JyaWRnZV9ncmFuZHBhOjpDb25maWc6OkZyZWVIZWFkZXJzSW50ZXJ2YWxgXSBmb3IgZGV0YWlscy4AbHN5bmNlZF9oZWFkZXJzX2dyYW5kcGFfaW5mbwAhCgToIFJldHVybnMgdGhlIGp1c3RpZmljYXRpb25zIGFjY2VwdGVkIGluIHRoZSBjdXJyZW50IGJsb2NrLgAQAQEgQVBJIGZvciBxdWVyeWluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZmluYWxpemVkIGNoYWluIGhlYWRlcnMuAHUBIFRoaXMgQVBJIGlzIGltcGxlbWVudGVkIGJ5IHJ1bnRpbWVzIHRoYXQgYXJlIHJlY2VpdmluZyBtZXNzYWdlcyBmcm9tIHRoaXMgY2hhaW4sIG5vdCBieSB0aGlzYCBjaGFpbidzIHJ1bnRpbWUgaXRzZWxmLgQAaEJyaWRnZUh1Ykt1c2FtYUZpbmFsaXR5QXBpCDhiZXN0X2ZpbmFsaXplZAAdCgRFASBSZXR1cm5zIG51bWJlciBhbmQgaGFzaCBvZiB0aGUgYmVzdCBmaW5hbGl6ZWQgaGVhZGVyIGtub3duIHRvIHRoZSBicmlkZ2UgbW9kdWxlLgBUZnJlZV9oZWFkZXJzX2ludGVydmFsAOkCFA0BIFJldHVybnMgZnJlZSBoZWFkZXJzIGludGVydmFsLCBpZiBpdCBpcyBjb25maWd1cmVkIGluIHRoZSBydW50aW1lLhkBIFRoZSBjYWxsZXIgZXhwZWN0cyB0aGF0IGlmIGhpcyB0cmFuc2FjdGlvbiBpbXByb3ZlcyBiZXN0IGtub3duIGhlYWRlcvQgYXQgbGVhc3QgYnkgdGhlIGZyZWVfaGVhZGVyc19pbnRlcnZhbGAsIGl0IHdpbGwgYmUgZmVlLWZyZWUuACEBIFNlZSBbYHBhbGxldF9icmlkZ2VfZ3JhbmRwYTo6Q29uZmlnOjpGcmVlSGVhZGVyc0ludGVydmFsYF0gZm9yIGRldGFpbHMuABABASBBUEkgZm9yIHF1ZXJ5aW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaW5hbGl6ZWQgY2hhaW4gaGVhZGVycy4AdQEgVGhpcyBBUEkgaXMgaW1wbGVtZW50ZWQgYnkgcnVudGltZXMgdGhhdCBhcmUgcmVjZWl2aW5nIG1lc3NhZ2VzIGZyb20gdGhpcyBjaGFpbiwgbm90IGJ5IHRoaXNgIGNoYWluJ3MgcnVudGltZSBpdHNlbGYuBACERnJvbUJyaWRnZUh1Ykt1c2FtYUluYm91bmRMYW5lQXBpBDxtZXNzYWdlX2RldGFpbHMIEGxhbmU9AyBtZXNzYWdlcyUKMQoEqCBSZXR1cm4gZGV0YWlscyBvZiBnaXZlbiBpbmJvdW5kIG1lc3NhZ2VzLgAc6CBJbmJvdW5kIG1lc3NhZ2UgbGFuZSBBUEkgZm9yIG1lc3NhZ2VzIHNlbnQgYnkgdGhpcyBjaGFpbi4AdQEgVGhpcyBBUEkgaXMgaW1wbGVtZW50ZWQgYnkgcnVudGltZXMgdGhhdCBhcmUgcmVjZWl2aW5nIG1lc3NhZ2VzIGZyb20gdGhpcyBjaGFpbiwgbm90IGJ5IHRoaXNgIGNoYWluJ3MgcnVudGltZSBpdHNlbGYuAHkBIEVudHJpZXMgb2YgdGhlIHJlc3VsdGluZyB2ZWN0b3IgYXJlIG1hdGNoaW5nIGVudHJpZXMgb2YgdGhlIGBtZXNzYWdlc2AgdmVjdG9yLiBFbnRyaWVzIG9mIHRoZY0BIGBtZXNzYWdlc2AgdmVjdG9yIG1heSAoYW5kIG5lZWQgdG8pIGJlIHJlYWQgdXNpbmcgYFRvPFRoaXNDaGFpbj5PdXRib3VuZExhbmVBcGk6Om1lc3NhZ2VfZGV0YWlsc2AuBACAVG9CcmlkZ2VIdWJLdXNhbWFPdXRib3VuZExhbmVBcGkEPG1lc3NhZ2VfZGV0YWlscwwQbGFuZT0DFGJlZ2luKAxlbmQoOQoUPQEgUmV0dXJucyBkaXNwYXRjaCB3ZWlnaHQsIGVuY29kZWQgcGF5bG9hZCBzaXplIGFuZCBkZWxpdmVyeStkaXNwYXRjaCBmZWUgb2YgYWxsjCBtZXNzYWdlcyBpbiBnaXZlbiBpbmNsdXNpdmUgcmFuZ2UuACkBIElmIHNvbWUgKG9yIGFsbCkgbWVzc2FnZXMgYXJlIG1pc3NpbmcgZnJvbSB0aGUgc3RvcmFnZSwgdGhleSdsbCBhbHNvIHdpbGwpASBiZSBtaXNzaW5nIGZyb20gdGhlIHJlc3VsdGluZyB2ZWN0b3IuIFRoZSB2ZWN0b3IgaXMgb3JkZXJlZCBieSB0aGUgbm9uY2UuABARASBPdXRib3VuZCBtZXNzYWdlIGxhbmUgQVBJIGZvciBtZXNzYWdlcyB0aGF0IGFyZSBzZW50IHRvIHRoaXMgY2hhaW4uAHUBIFRoaXMgQVBJIGlzIGltcGxlbWVudGVkIGJ5IHJ1bnRpbWVzIHRoYXQgYXJlIHJlY2VpdmluZyBtZXNzYWdlcyBmcm9tIHRoaXMgY2hhaW4sIG5vdCBieSB0aGlzYCBjaGFpbidzIHJ1bnRpbWUgaXRzZWxmLgQAQE91dGJvdW5kUXVldWVBcGkINHByb3ZlX21lc3NhZ2UEKGxlYWZfaW5kZXgoPQoMMQEgR2VuZXJhdGUgYSBtZXJrbGUgcHJvb2YgZm9yIGEgY29tbWl0dGVkIG1lc3NhZ2UgaWRlbnRpZmllZCBieSBgbGVhZl9pbmRleGAuzCBUaGUgbWVya2xlIHJvb3QgaXMgc3RvcmVkIGluIHRoZSBibG9jayBoZWFkZXIgYXMgYaQgYHNwX3J1bnRpbWU6OmdlbmVyaWM6OkRpZ2VzdEl0ZW06Ok90aGVyYAA0Y2FsY3VsYXRlX2ZlZQgcY29tbWFuZEUKKHBhcmFtZXRlcnNRClUKBKQgQ2FsY3VsYXRlIHRoZSBkZWxpdmVyeSBmZWUgZm9yIGBjb21tYW5kYAAABABIT3V0Ym91bmRRdWV1ZVYyQXBpBDRwcm92ZV9tZXNzYWdlBChsZWFmX2luZGV4KD0KBDEBIEdlbmVyYXRlIGEgbWVya2xlIHByb29mIGZvciBhIGNvbW1pdHRlZCBtZXNzYWdlIGlkZW50aWZpZWQgYnkgYGxlYWZfaW5kZXhgLgAABABESW5ib3VuZFF1ZXVlVjJBcGkESGlzX21lc3NhZ2VfcmVsYXllZAQUbm9uY2UoyAToIENoZWNrIGlmIGEgbWVzc2FnZSB3aXRoIHRoZSBnaXZlbiBub25jZSBoYXMgYmVlbiByZWxheWVkLgAABAAoQ29udHJvbEFwaQQgYWdlbnRfaWQEIGxvY2F0aW9u7KEFAAAABAAwQ29udHJvbFYyQXBpBCBhZ2VudF9pZAQgbG9jYXRpb27soQUE+CBQcm92aWRlcyB0aGUgQWdlbnQgSUQgb24gRXRoZXJldW0gZm9yIHRoZSBzcGVjaWZpZWQgbG9jYXRpb24uAAAEAEBHZXRQYXJhY2hhaW5JbmZvBDBwYXJhY2hhaW5faWQAnASwIFJldHJpZXZlIHRoZSBwYXJhY2hhaW4gaWQgdXNlZCBmb3IgcnVudGltZS4ABA0BIFJ1bnRpbWUgYXBpIHVzZWQgdG8gYWNjZXNzIGdlbmVyYWwgaW5mbyBhYm91dCBhIHBhcmFjaGFpbiBydW50aW1lLgQAIMkEWQoA";
|
|
2
2
|
|
|
3
3
|
export { binMeta as default };
|