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b2YgY29yZXMgd2hpY2ggc2hvdWxkIGJlIGFsbG9jYXRlZCB0byBhIHN5c3RlbSBWTSB3aXRoIHRoaXMgb2ZmZXJpbmcuIElmIEN1c3RvbSBpcyBjaGVja2VkLCB0aGlzIGZpZWxkIGRvZXMgbm90IGFwcGVhci4AKiooT3B0aW9uYWwpU3RvcmFnZSBUYWdzKio6IFRoZSB0YWdzIHRoYXQgc2hvdWxkIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJpbWFyeSBzdG9yYWdlIGZvciB0aGlzIGRpc2suIFRhZ3MgYXJlIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgYXR0cmlidXRlcyBvZiB0aGUgc3RvcmFnZS4gRm9yIGV4YW1wbGUgInNzZCxibHVlIi4gVGFncyBhcmUgYWxzbyBhZGRlZCBvbiBQcmltYXJ5IFN0b3JhZ2UuIENsb3VkU3RhY2sgbWF0Y2hlcyB0YWdzIG9uIGEgZGlzayBvZmZlcmluZyB0byB0YWdzIG9uIHRoZSBzdG9yYWdlLiBJZiBhIHRhZyBpcyBwcmVzZW50IG9uIGEgZGlzayBvZmZlcmluZyB0aGF0IHRhZyAob3IgdGFncykgbXVzdCBhbHNvIGJlIHByZXNlbnQgb24gUHJpbWFyeSBTdG9yYWdlIGZvciB0aGUgdm9sdW1lIHRvIGJlIHByb3Zpc2lvbmVkLiBJZiBubyBzdWNoIHByaW1hcnkgc3RvcmFnZSBleGlzdHMsIGFsbG9jYXRpb24gZnJvbSB0aGUgZGlzayBvZmZlcmluZyB3aWxsIGZhaWwuLgAqKkNQVSAoaW4gTUh6KSoqOiBUaGUgQ1BVIHNwZWVkIG9mIHRoZSBjb3JlcyB0aGF0IHRoZSBzeXN0ZW0gVk0gaXMgYWxsb2NhdGVkLiBGb3IgZXhhbXBsZSwg4oCcMjAwMOKAnSB3b3VsZCBwcm92aWRlIGZvciBhIDIgR0h6IGNsb2NrLiBJZiBDdXN0b20gaXMgY2hlY2tlZCwgdGhpcyBmaWVsZCBkb2VzIG5vdCBhcHBlYXIuACoqQ1BVIGNhcCoqOiBXaGV0aGVyIHRvIGxpbWl0IHRoZSBsZXZlbCBvZiBDUFUgdXNhZ2UgZXZlbiBpZiBzcGFyZSBjYXBhY2l0eSBpcyBhdmFpbGFibGUuACoqQ3VzdG9tIERpc2sgU2l6ZSoqOiBJZiBjaGVja2VkLCB0aGUgdXNlciBjYW4gc2V0IHRoZWlyIG93biBkaXNrIHNpemUuIElmIG5vdCBjaGVja2VkLCB0aGUgcm9vdCBhZG1pbmlzdHJhdG9yIG11c3QgZGVmaW5lIGEgdmFsdWUgaW4gRGlzayBTaXplLgAqKkN1c3RvbSBJT1BTKio6IElmIGNoZWNrZWQsIHRoZSB1c2VyIGNhbiBzZXQgdGhlaXIgb3duIElPUFMuIElmIG5vdCBjaGVja2VkLCB0aGUgcm9vdCBhZG1pbmlzdHJhdG9yIGNhbiBkZWZpbmUgdmFsdWVzLiBJZiB0aGUgcm9vdCBhZG1pbiBkb2VzIG5vdCBzZXQgdmFsdWVzIHdoZW4gdXNpbmcgc3RvcmFnZSBRb1MsIGRlZmF1bHQgdmFsdWVzIGFyZSB1c2VkICh0aGUgZGVmYXVscyBjYW4gYmUgb3ZlcnJpZGRlbiBpZiB0aGUgcHJvcGVyIHBhcmFtZXRlcnMgYXJlIHBhc3NlZCBpbnRvIENsb3VkU3RhY2sgd2hlbiBjcmVhdGluZyB0aGUgcHJpbWFyeSBzdG9yYWdlIGluIHF1ZXN0aW9uKS4AKipDdXN0b20qKjogQ3VzdG9tIGNvbXB1dGUgb2ZmZXJpbmdzIGNhbiBiZSB1c2VkIGluIGZvbGxvd2luZyBjYXNlczogZGVwbG95aW5nIGEgVk0sIGNoYW5naW5nIHRoZSBjb21wdXRlIG9mZmVyaW5nIG9mIGEgc3RvcHBlZCBWTSBhbmQgcnVubmluZyBWTXMsIHdoaWNoIGlzIG5vdGhpbmcgYnV0IHNjYWxpbmcgdXAuACoqRGVwbG95bWVudCBQbGFubmVyKio6IENob29zZSB0aGUgdGVjaG5pcXVlIHRoYXQgeW91IHdvdWxkIGxpa2UgQ2xvdWRTdGFjayB0byB1c2Ugd2hlbiBkZXBsb3lpbmcgVk1zIGJhc2VkIG9uIHRoaXMgc2VydmljZSBvZmZlcmluZy4AKipEZXNjcmlwdGlvbioqOiBBIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBvZmZlcmluZyB0aGF0IGNhbiBiZSBkaXNwbGF5ZWQgdG8gdXNlcnMAKipEaXNrIFJlYWQgUmF0ZSoqOiBBbGxvd2VkIGRpc2sgcmVhZCByYXRlIGluIElPUFMgKGlucHV0L291dHB1dCBvcGVyYXRpb25zIHBlciBzZWNvbmQpLgAqKkRpc2sgUmVhZCBSYXRlKio6IEFsbG93ZWQgZGlzayByZWFkIHJhdGUgaW4gYml0cyBwZXIgc2Vjb25kLgAqKkRpc2sgU2l6ZSoqOiBBcHBlYXJzIG9ubHkgaWYgQ3VzdG9tIERpc2sgU2l6ZSBpcyBub3Qgc2VsZWN0ZWQuIERlZmluZSB0aGUgdm9sdW1lIHNpemUgaW4gR0IgKDJeMzAgMUdCID0gMSwwNzMsNzQxLDgyNCBCeXRlcykuACoqRGlzayBXcml0ZSBSYXRlKio6IEFsbG93ZWQgZGlzayB3cml0ZSByYXRlIGluIElPUFMgKGlucHV0L291dHB1dCBvcGVyYXRpb25zIHBlciBzZWNvbmQpLgAqKkRpc2sgV3JpdGUgUmF0ZSoqOiBBbGxvd2VkIGRpc2sgd3JpdGUgcmF0ZSBpbiBiaXRzIHBlciBzZWNvbmQuACoqR1BVKio6IEFzc2lnbiBhIHBoeXNpY2FsIEdQVShHUFUtcGFzc3Rocm91Z2gpIG9yIGEgcG9ydGlvbiBvZiBhIHBoeXNpY2FsR1BVACoqSG9zdCBUYWdzKio6IChPcHRpb25hbCkgQW55IHRhZ3MgdGhhdCB5b3UgdXNlIHRvIG9yZ2FuaXplIHlvdXIgaG9zdHMAKipIeXBlcnZpc29yIFNuYXBzaG90IFJlc2VydmUqKjogRm9yIG1hbmFnZWQgc3RvcmFnZSBvbmx5LiBUaGlzIGlzIGEgdmFsdWUgdGhhdCBpcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHNpemUgb2YgdGhlIGRhdGEgZGlzay4gRm9yIGV4YW1wbGU6IGlmIHRoZSBkYXRhIGRpc2sgaXMgMjAgR0IgYW5kIEh5cGVydmlzb3IgU25hcHNob3QgUmVzZXJ2ZSBpcyAyMDAlLCB0aGUgc3RvcmFnZSB2b2x1bWUgdGhhdCBiYWNrcyB0aGUgc3RvcmFnZSByZXBvc2l0b3J5IChYZW5TZXJ2ZXIpIG9yIGRhdGFzdG9yZSAoVk13YXJlKSBpbiBxdWVzdGlvbiBpcyBzaXplZCBhdCA2MCBHQiAoMjAgR0IgKyAoMjAgR0IgKiAyKSkuIFRoaXMgZW5hYmxlcyBzcGFjZSBmb3IgaHlwZXJ2aXNvciBzbmFwc2hvdHMgaW4gYWRkaXRpb24gdG8gdGhlIHZpcnR1YWwgZGlzayB0aGF0IHJlcHJlc2VudHMgdGhlIGRhdGEgZGlzay4gVGhpcyBkb2VzIG5vdCBhcHBseSBmb3IgS1ZNLgAqKkh5cGVydmlzb3IgU25hcHNob3QgUmVzZXJ2ZSoqOiBGb3IgbWFuYWdlZCBzdG9yYWdlIG9ubHkuIFRoaXMgaXMgYSB2YWx1ZSB0aGF0IGlzIGEgcGVyY2VudGFnZSBvZiB0aGUgc2l6ZSBvZiB0aGUgcm9vdCBkaXNrLiBGb3IgZXhhbXBsZTogaWYgdGhlIHJvb3QgZGlzayBpcyAyMCBHQiBhbmQgSHlwZXJ2aXNvciBTbmFwc2hvdCBSZXNlcnZlIGlzIDIwMCUsIHRoZSBzdG9yYWdlIHZvbHVtZSB0aGF0IGJhY2tzIHRoZSBzdG9yYWdlIHJlcG9zaXRvcnkgKFhlblNlcnZlcikgb3IgZGF0YXN0b3JlIChWTXdhcmUpIGluIHF1ZXN0aW9uIGlzIHNpemVkIGF0IDYwIEdCICgyMCBHQiArICgyMCBHQiAqIDIpKS4gVGhpcyBlbmFibGVzIHNwYWNlIGZvciBoeXBlcnZpc29yIHNuYXBzaG90cyBpbiBhZGRpdGlvbiB0byB0aGUgdmlydHVhbCBkaXNrIHRoYXQgcmVwcmVzZW50cyB0aGUgcm9vdCBkaXNrLiBUaGlzIGRvZXMgbm90IGFwcGx5IGZvciBLVk0uACoqTWF4IElPUFMqKjogQXBwZWFycyBvbmx5IGlmIHN0b3JhZ2UgUW9TIGlzIHRvIGJlIHVzZWQuIFNldCBhIG1heGltdW0gbnVtYmVyIG9mIElPUFMgdG8gYmUgZW5mb3JjZWQgb24gdGhlIHN0b3JhZ2Ugc2lkZSAodGhlIHN5c3RlbSBtYXkgZ28gYWJvdmUgdGhpcyBsaW1pdCBpbiBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgZm9yIHNob3J0IGludGVydmFscykuACoqTWVtb3J5IChpbiBNQikqKjogVGhlIGFtb3VudCBvZiBtZW1vcnkgaW4gbWVnYWJ5dGVzIHRoYXQgdGhlIHN5c3RlbSBWTSBzaG91bGQgYmUgYWxsb2NhdGVkLiBGb3IgZXhhbXBsZSwg4oCcMjA0OOKAnSB3b3VsZCBwcm92aWRlIGZvciBhIDIgR0IgUkFNIGFsbG9jYXRpb24uIElmIEN1c3RvbSBpcyBjaGVja2VkLCB0aGlzIGZpZWxkIGRvZXMgbm90IGFwcGVhci4AKipNaW4gSU9QUyoqOiBBcHBlYXJzIG9ubHkgaWYgc3RvcmFnZSBRb1MgaXMgdG8gYmUgdXNlZC4gU2V0IGEgZ3VhcmFudGVlZCBtaW5pbXVtIG51bWJlciBvZiBJT1BTIHRvIGJlIGVuZm9yY2VkIG9uIHRoZSBzdG9yYWdlIHNpZGUuACoqTmFtZSoqOiBBbnkgZGVzaXJlZCBuYW1lIGZvciB0aGUgZGlzayBvZmZlcmluZy4AKipOYW1lKio6IEFueSBkZXNpcmVkIG5hbWUgZm9yIHRoZSBzZXJ2aWNlIG9mZmVyaW5nLgAqKk5ldHdvcmsgUmF0ZSoqOiBBbGxvd2VkIGRhdGEgdHJhbnNmZXIgcmF0ZSBpbiBNQiBwZXIgc2Vjb25kLgAqKk9mZmVyIEhBKio6IElmIHllcywgdGhlIGFkbWluaXN0cmF0b3IgY2FuIGNob29zZSB0byBoYXZlIHRoZSBzeXN0ZW0gVk0gYmUgbW9uaXRvcmVkIGFuZCBhcyBoaWdobHkgYXZhaWxhYmxlIGFzIHBvc3NpYmxlLgAqKlBsYW5uZXIgTW9kZSoqOiBVc2VkIHdoZW4gSW1wbGljaXREZWRpY2F0aW9uUGxhbm5lciBpcyBzZWxlY3RlZCBpbiB0aGUgcHJldmlvdXMgZmllbGQuIFRoZSBwbGFubmVyIG1vZGUgZGV0ZXJtaW5lcyBob3cgVk1zIHdpbGwgYmUgZGVwbG95ZWQgb24gcHJpdmF0ZSBpbmZyYXN0cnVjdHVyZSB0aGF0IGlzIGRlZGljYXRlZCB0byBhIHNpbmdsZSBkb21haW4gb3IgYWNjb3VudC4AKipQdWJsaWMqKjogSW5kaWNhdGUgd2hldGhlciB0aGUgc2VydmljZSBvZmZlcmluZyBzaG91bGQgYmUgYXZhaWxhYmxlIGFsbCBkb21haW5zIG9yIG9ubHkgc29tZSBkb21haW5zLiBDaG9vc2UgWWVzIHRvIG1ha2UgaXQgYXZhaWxhYmxlIHRvIGFsbCBkb21haW5zLiBDaG9vc2UgTm8gdG8gbGltaXQgdGhlIHNjb3BlIHRvIGEgc3ViZG9tYWluOyBDbG91ZFN0YWNrIHdpbGwgdGhlbiBwcm9tcHQgZm9yIHRoZSBzdWJkb21haW4ncyBuYW1lLgAqKlFvUyBUeXBlKio6IFRocmVlIG9wdGlvbnM6IEVtcHR5IChubyBRdWFsaXR5IG9mIFNlcnZpY2UpLCBoeXBlcnZpc29yIChyYXRlIGxpbWl0aW5nIGVuZm9yY2VkIG9uIHRoZSBoeXBlcnZpc29yIHNpZGUpLCBhbmQgc3RvcmFnZSAoZ3VhcmFudGVlZCBtaW5pbXVtIGFuZCBtYXhpbXVtIElPUFMgZW5mb3JjZWQgb24gdGhlIHN0b3JhZ2Ugc2lkZSkuIElmIGxldmVyYWdpbmcgUW9TLCBtYWtlIHN1cmUgdGhhdCB0aGUgaHlwZXJ2aXNvciBvciBzdG9yYWdlIHN5c3RlbSBzdXBwb3J0cyB0aGlzIGZlYXR1cmUuACoqU3RvcmFnZSBUYWdzKio6IFRoZSB0YWdzIHRoYXQgc2hvdWxkIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJpbWFyeSBzdG9yYWdlIHVzZWQgYnkgdGhlIHN5c3RlbSBWTS4AKipTdG9yYWdlIHR5cGUqKjogVGhlIHR5cGUgb2YgZGlzayB0aGF0IHNob3VsZCBiZSBhbGxvY2F0ZWQuIExvY2FsIGFsbG9jYXRlcyBmcm9tIHN0b3JhZ2UgYXR0YWNoZWQgZGlyZWN0bHkgdG8gdGhlIGhvc3Qgd2hlcmUgdGhlIHN5c3RlbSBWTSBpcyBydW5uaW5nLiBTaGFyZWQgYWxsb2NhdGVzIGZyb20gc3RvcmFnZSBhY2Nlc3NpYmxlIHZpYSBORlMuACoqaXNWb2xhdGlsZSoqOiBJZiBjaGVja2VkLCBWTXMgY3JlYXRlZCBmcm9tIHRoaXMgc2VydmljZSBvZmZlcmluZyB3aWxsIGhhdmUgdGhlaXIgcm9vdCBkaXNrcyByZXNldCB1cG9uIHJlYm9vdC4gVGhpcyBpcyB1c2VmdWwgZm9yIHNlY3VyZSBlbnZpcm9ubWVudHMgdGhhdCBuZWVkIGEgZnJlc2ggc3RhcnQgb24gZXZlcnkgYm9vdCBhbmQgZm9yIGRlc2t0b3BzIHRoYXQgc2hvdWxkIG5vdCByZXRhaW4gc3RhdGUuACoqdkdQVSBUeXBlKio6IFJlcHJlc2VudHMgdGhlIHR5cGUgb2YgdmlydHVhbCBHUFUgdG8gYmUgYXNzaWduZWQgdG8gYSBndWVzdCBWTS4gSW4gdGhpcyBjYXNlLCBvbmx5IGEgcG9ydGlvbiBvZiBhIHBoeXNpY2FsIEdQVSBjYXJkICh2R1BVKSBpcyBhc3NpZ25lZCB0byB0aGUgZ3Vlc3QgVk0uACpSZWNvcmRpbmcgVXNhZ2UgRXZlbnRzIGZvciBEeW5hbWljYWxseSBBc3NpZ25lZCBSZXNvdXJjZXMqLgBBIGd1ZXN0IFZNIG11c3QgaGF2ZSBhIGRlZmF1bHQgbmV0d29yaywgYW5kIGNhbiBhbHNvIGhhdmUgbWFueSBhZGRpdGlvbmFsIG5ldHdvcmtzLiBEZXBlbmRpbmcgb24gdmFyaW91cyBwYXJhbWV0ZXJzLCBzdWNoIGFzIHRoZSBob3N0IGFuZCB2aXJ0dWFsIHN3aXRjaCB1c2VkLCB5b3UgY2FuIG9ic2VydmUgYSBkaWZmZXJlbmNlIGluIHRoZSBuZXR3b3JrIHJhdGUgaW4geW91ciBjbG91ZC4gRm9yIGV4YW1wbGUsIG9uIGEgVk13YXJlIGhvc3QgdGhlIGFjdHVhbCBuZXR3b3JrIHJhdGUgdmFyaWVzIGJhc2VkIG9uIHdoZXJlIHRoZXkgYXJlIGNvbmZpZ3VyZWQgKGNvbXB1dGUgb2ZmZXJpbmcsIG5ldHdvcmsgb2ZmZXJpbmcsIG9yIGJvdGgpOyB0aGUgbmV0d29yayB0eXBlIChzaGFyZWQgb3IgaXNvbGF0ZWQpOyBhbmQgdHJhZmZpYyBkaXJlY3Rpb24gKGluZ3Jlc3Mgb3IgZWdyZXNzKS4AQSBzZXJ2aWNlIG9mZmVyaW5nIGNhbiBiZSBkZWxldGVkLiBJZiBpdCBpcyBubyBsb25nZXIgaW4gdXNlLCBpdCBpcyBkZWxldGVkIGltbWVkaWF0ZWx5IGFuZCBwZXJtYW5lbnRseS4gSWYgdGhlIHNlcnZpY2Ugb2ZmZXJpbmcgaXMgc3RpbGwgaW4gdXNlLCBpdCB3aWxsIHJlbWFpbiBpbiB0aGUgZGF0YWJhc2UgdW50aWwgYWxsIHRoZSB2aXJ0dWFsIG1hY2hpbmVzIHJlZmVyZW5jaW5nIGl0IGhhdmUgYmVlbiBkZWxldGVkLiBBZnRlciBkZWxldGlvbiBieSB0aGUgYWRtaW5pc3RyYXRvciwgYSBzZXJ2aWNlIG9mZmVyaW5nIHdpbGwgbm90IGJlIGF2YWlsYWJsZSB0byBlbmQgdXNlcnMgdGhhdCBhcmUgY3JlYXRpbmcgbmV3IGluc3RhbmNlcy4AQSBzZXJ2aWNlIG9mZmVyaW5nIGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgZWxlbWVudHM6AEEgc2VydmljZSBvZmZlcmluZyBpcyBhIHNldCBvZiB2aXJ0dWFsIGhhcmR3YXJlIGZlYXR1cmVzIHN1Y2ggYXMgQ1BVIGNvcmUgY291bnQgYW5kIHNwZWVkLCBtZW1vcnksIGFuZCBkaXNrIHNpemUuIFRoZSBDbG91ZFN0YWNrIGFkbWluaXN0cmF0b3IgY2FuIHNldCB1cCB2YXJpb3VzIG9mZmVyaW5ncywgYW5kIHRoZW4gZW5kIHVzZXJzIGNob29zZSBmcm9tIHRoZSBhdmFpbGFibGUgb2ZmZXJpbmdzIHdoZW4gdGhleSBjcmVhdGUgYSBuZXcgVk0uIEJhc2VkIG9uIHRoZSB1c2Vy4oCZcyBzZWxlY3RlZCBvZmZlcmluZywgQ2xvdWRTdGFjayBlbWl0cyB1c2FnZSByZWNvcmRzIHRoYXQgY2FuIGJlIGludGVncmF0ZWQgd2l0aCBiaWxsaW5nIHN5c3RlbXMuAEEgdXNlciBjcmVhdGluZyBhIG5ldyBpbnN0YW5jZSBjYW4gbWFrZSBhIHZhcmlldHkgb2YgY2hvaWNlcyBhYm91dCBpdHMgY2hhcmFjdGVyaXN0aWNzIGFuZCBjYXBhYmlsaXRpZXMuIENsb3VkU3RhY2sgcHJvdmlkZXMgc2V2ZXJhbCB3YXlzIHRvIHByZXNlbnQgdXNlcnMgd2l0aCBjaG9pY2VzIHdoZW4gY3JlYXRpbmcgYSBuZXcgaW5zdGFuY2U6AEFkZGl0aW9uYWwgbmV0d29ya3Mgb2YgYSBndWVzdCBWTQBBZGRpdGlvbmFsbHksIHRoZSAqKnBhc3N0aHJvdWdoIHZHUFUqKiB0eXBlIGlzIGRlZmluZWQgdG8gcmVwcmVzZW50IGEgcGh5c2ljYWwgR1BVIGRldmljZS4gQSAqKnBhc3N0aHJvdWdoIHZHUFUqKiBjYW4gZGlyZWN0bHkgYmUgYXNzaWduZWQgdG8gYSBzaW5nbGUgZ3Vlc3QgVk0uIEluIHRoaXMgY2FzZSwgYSBwaHlzaWNhbCBHUFUgZGV2aWNlIGlzIGV4Y2x1c2l2ZWx5IGFsbG90dGVkIHRvIGEgc2luZ2xlIGd1ZXN0IFZNLgBCYWNrIHVwIHRoZSBkYXRhYmFzZToAQmFyZSBNZXRhbCBpcyB1c2VkIHdpdGggYmFyZSBtZXRhbCBob3N0cy4gU2VlIEJhcmUgTWV0YWwgSW5zdGFsbGF0aW9uIGluIHRoZSBJbnN0YWxsYXRpb24gR3VpZGUuAENQVSAoaW4gTUh6KS4gVGhlIENQVSBzcGVlZCBvZiB0aGUgY29yZXMgdGhhdCB0aGUgc3lzdGVtIFZNIGlzIGFsbG9jYXRlZC4gRm9yIGV4YW1wbGUsICIyMDAwIiB3b3VsZCBwcm92aWRlIGZvciBhIDIgR0h6IGNsb2NrLgBDUFUgY2FwLiBXaGV0aGVyIHRvIGxpbWl0IHRoZSBsZXZlbCBvZiBDUFUgdXNhZ2UgZXZlbiBpZiBzcGFyZSBjYXBhY2l0eSBpcyBhdmFpbGFibGUuAENQVSwgbWVtb3J5LCBhbmQgbmV0d29yayByZXNvdXJjZSBndWFyYW50ZWVzAENoYW5naW5nIHRoZSBEZWZhdWx0IFN5c3RlbSBPZmZlcmluZyBmb3IgU3lzdGVtIFZNcwBDbGljayBBZGQgQ29tcHV0ZSBPZmZlcmluZy4AQ2xpY2sgQWRkIERpc2sgT2ZmZXJpbmcuAENsaWNrIEFkZCBTeXN0ZW0gU2VydmljZSBPZmZlcmluZy4AQ2xpY2sgQWRkLgBDbG91ZFN0YWNrIHByb3ZpZGVzIHlvdSB0aGUgZmxleGliaWxpdHkgdG8gc3BlY2lmeSB0aGUgZGVzaXJlZCB2YWx1ZXMgZm9yIHRoZSBudW1iZXIgb2YgQ1BVLCBDUFUgc3BlZWQsIGFuZCBtZW1vcnkgd2hpbGUgZGVwbG95aW5nIGEgVk0uIEFzIGFuIGFkbWluLCB5b3UgY3JlYXRlIGEgQ29tcHV0ZSBPZmZlcmluZyBieSBtYXJraW5nIGl0IGFzIGN1c3RvbSwgYW5kIHRoZSB1c2VycyB3aWxsIGJlIGFibGUgdG8gY3VzdG9taXplIHRoaXMgZHluYW1pYyBDb21wdXRlIE9mZmVyaW5nIGJ5IHNwZWNpZnlpbmcgdGhlIG1lbW9yeSwgYW5kIENQVSBhdCB0aGUgdGltZSBvZiBWTSBjcmVhdGlvbiBvciB1cGdyYWRlLiBDdXN0b20gQ29tcHV0ZSBPZmZlcmluZyBpcyBzYW1lIGFzIHRoZSBub3JtYWwgQ29tcHV0ZSBPZmZlcmluZyBleGNlcHQgdGhhdCB0aGUgdmFsdWVzIG9mIHRoZSBkeW5hbWljIHBhcmFtZXRlcnMgd2lsbCBiZSBzZXQgdG8gemVyb3MgaW4gdGhlIGdpdmVuIHNldCBvZiB0ZW1wbGF0ZXMuIFVzZSB0aGlzIG9mZmVyaW5nIHRvIGRlcGxveSBWTSBieSBzcGVjaWZ5aW5nIGN1c3RvbSB2YWx1ZXMgZm9yIHRoZSBkeW5hbWljIHBhcmFtZXRlcnMuIE1lbW9yeSwgQ1BVIGFuZCBudW1iZXIgb2YgQ1BVcyBhcmUgY29uc2lkZXJlZCBhcyBkeW5hbWljIHBhcmFtZXRlcnMuAENsb3VkU3RhY2sgc2VwYXJhdGVzIHNlcnZpY2Ugb2ZmZXJpbmdzIGludG8gY29tcHV0ZSBvZmZlcmluZ3MgYW5kIGRpc2sgb2ZmZXJpbmdzLiBUaGUgY29tcHV0ZSBzZXJ2aWNlIG9mZmVyaW5nIHNwZWNpZmllczoAQ29tcHV0ZSBPZmZlcmluZwBDb21wdXRlIGFuZCBEaXNrIFNlcnZpY2UgT2ZmZXJpbmdzAENvcnJlc3BvbmRpbmcgTmV0d29yayBPZmZlcmluZ3MAQ3JlYXRlIGEgbmV3IHN5c3RlbSBvZmZlcmluZy4AQ3JlYXRpbmcgYSBOZXcgQ29tcHV0ZSBPZmZlcmluZwBDcmVhdGluZyBhIE5ldyBEaXNrIE9mZmVyaW5nAENyZWF0aW5nIGEgTmV3IFN5c3RlbSBTZXJ2aWNlIE9mZmVyaW5nAEN1c3RvbSBDb21wdXRlIE9mZmVyaW5nAERlZmF1bHQgbmV0d29yayBvZiBhIGd1ZXN0IFZNAERlc2NyaXB0aW9uLiBBIHNob3J0IGRlc2NyaXB0aW9uIG9mIHRoZSBvZmZlcmluZyB0aGF0IGNhbiBiZSBkaXNwbGF5ZWQgdG8gdXNlcnMARGVzdHJveSB0aGUgZXhpc3RpbmcgQ1BWTSBvciBTU1ZNIG9mZmVyaW5ncyBhbmQgd2FpdCBmb3IgdGhlbSB0byBiZSByZWNyZWF0ZWQuIFRoZSBuZXcgQ1BWTSBvciBTU1ZNIGFyZSBjb25maWd1cmVkIHdpdGggdGhlIG5ldyBvZmZlcmluZy4ARGlzayBPZmZlcmluZ3MsIGRlZmluZWQgYnkgdGhlIENsb3VkU3RhY2sgYWRtaW5pc3RyYXRvciwgcHJvdmlkZSBhIGNob2ljZSBvZiBkaXNrIHNpemUgYW5kIElPUFMgKFF1YWxpdHkgb2YgU2VydmljZSkgZm9yIHByaW1hcnkgZGF0YSBzdG9yYWdlLiBTZWUgQ3JlYXRpbmcgYSBOZXcgRGlzayBPZmZlcmluZy4ARGlzayBzaXplIChvcHRpb25hbCkuIElmIG5vdCBkZWZpbmVkIGJ5IHRoZSBDbG91ZFN0YWNrIGFkbWluaXN0cmF0b3IsIHVzZXJzIGNhbiBwaWNrIHRoZSBkaXNrIHNpemUuAER5bmFtaWMgQ29tcHV0ZSBPZmZlcmluZ3MgY2FuIGJlIHVzZWQgaW4gZm9sbG93aW5nIGNhc2VzOiBkZXBsb3lpbmcgYSBWTSwgY2hhbmdpbmcgdGhlIGNvbXB1dGUgb2ZmZXJpbmcgb2YgYSBzdG9wcGVkIFZNIGFuZCBydW5uaW5nIFZNcywgd2hpY2ggaXMgbm90aGluZyBidXQgc2NhbGluZyB1cC4gVG8gc3VwcG9ydCB0aGlzIGZlYXR1cmUgYSBuZXcgZmllbGQsIEN1c3RvbSwgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIENyZWF0ZSBDb21wdXRlIE9mZmVyaW5nIHBhZ2UuIElmIHRoZSBDdXN0b20gZmllbGQgaXMgY2hlY2tlZCwgdGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIGNyZWF0ZSBhIGN1c3RvbSBDb21wdXRlIE9mZmVyaW5nIGJ5IGZpbGxpbmcgaW4gdGhlIGRlc2lyZWQgdmFsdWVzIGZvciBudW1iZXIgb2YgQ1BVLCBDUFUgc3BlZWQsIGFuZCBtZW1vcnkuIFNlZSA/IGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMuAEVuc3VyZSB0aGF0IHlvdSB1c2UgdGhlIGNvcnJlY3QgdmFsdWUgZm9yIHRoZSBJRC4ARmlyc3QgRml0IHBsYWNlcyBuZXcgVk1zIG9uIHRoZSBmaXJzdCBob3N0IHRoYXQgaXMgZm91bmQgaGF2aW5nIHN1ZmZpY2llbnQgY2FwYWNpdHkgdG8gc3VwcG9ydCB0aGUgVk0ncyByZXF1aXJlbWVudHMuAEZvciBleGFtcGxlLCBvbmUgc2VydmljZSBvZmZlcmluZyBtaWdodCBhbGxvdyB1c2VycyB0byBjcmVhdGUgYSB2aXJ0dWFsIG1hY2hpbmUgaW5zdGFuY2UgdGhhdCBpcyBlcXVpdmFsZW50IHRvIGEgMSBHSHogSW50ZWzCriBDb3Jl4oSiIDIgQ1BVLCB3aXRoIDEgR0IgbWVtb3J5IGF0ICQwLjIwL2hvdXIsIHdpdGggbmV0d29yayB0cmFmZmljIG1ldGVyZWQgYXQgJDAuMTAvR0IuAEZvciBleGFtcGxlOgBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIENyZWF0aW5nIGEgTmV3IFN5c3RlbSBTZXJ2aWNlIE9mZmVyaW5nLgBGb3IgdGhlIGRlZmF1bHQgQ29uc29sZSBQcm94eSBWTSAoQ1BWTSkgb2ZmZXJpbmcsc2V0IHVuaXF1ZVxfbmFtZSB0byAnQ2xvdWQuY29tLUNvbnNvbGVQcm94eScuIEZvciB0aGUgZGVmYXVsdCBTZWNvbmRhcnkgU3RvcmFnZSBWTSAoU1NWTSkgb2ZmZXJpbmcsIHNldCB1bmlxdWVcX25hbWUgdG8gJ0Nsb3VkLmNvbS1TZWNvbmRhcnlTdG9yYWdlJy4gRm9yIGV4YW1wbGU6AEZvciB0aGUgZGVmYXVsdCBwdWJsaWMsIHN0b3JhZ2UsIGFuZCBtYW5hZ2VtZW50IG5ldHdvcmtzLCBuZXR3b3JrIHJhdGUgaXMgc2V0IHRvIDAuIFRoaXMgaW1wbGllcyB0aGF0IHRoZSBwdWJsaWMsIHN0b3JhZ2UsIGFuZCBtYW5hZ2VtZW50IG5ldHdvcmtzIHdpbGwgaGF2ZSB1bmxpbWl0ZWQgYmFuZHdpZHRoIGJ5IGRlZmF1bHQuIEZvciBkZWZhdWx0IGd1ZXN0IG5ldHdvcmtzLCBuZXR3b3JrIHJhdGUgaXMgc2V0IHRvIE5VTEwuIEluIHRoaXMgY2FzZSwgbmV0d29yayByYXRlIGlzIGRlZmF1bHRlZCB0byB0aGUgZ2xvYmFsIHBhcmFtZXRlciB2YWx1ZS4ARm9yIHRoZSBuZXcgb2ZmZXJpbmcgdGhhdCB5b3Ugd2FudCB0byB1c2UgYnkgZGVmYXVsdCwgc2V0IHRoZSB2YWx1ZSBvZiB1bmlxdWVcX25hbWUgYXMgZm9sbG93czoARm9yIHRoZSBvcmlnaW5hbCBkZWZhdWx0IG9mZmVyaW5nLCBzZXQgdGhlIHZhbHVlIG9mIHVuaXF1ZVxfbmFtZSB0byBOVUxMLgBHUFUgY2FyZCh2R1BVKSB0byB0aGUgZ3Vlc3QgVk0uIEl0IGFsbG93cyBncmFwaGljYWwgYXBwbGljYXRpb25zIHRvIHJ1biBvbiB0aGUgVk0uIFNlbGVjdCB0aGUgY2FyZCBmcm9tIHRoZSBzdXBwb3J0ZWQgbGlzdCBvZiBjYXJkcy4AR2xvYmFsIHBhcmFtZXRlcgBHdWVzdCBDUFUgKG9wdGlvbmFsKS4gSWYgbm90IGRlZmluZWQgYnkgdGhlIENsb3VkU3RhY2sgYWRtaW5pc3RyYXRvciwgdXNlcnMgY2FuIHBpY2sgdGhlIENQVSBhdHRyaWJ1dGVzLgBHdWVzdCBOZXR3b3JrIE9mZmVyaW5nAEd1ZXN0IE5ldHdvcmtpbmcgdHlwZSAodmlydHVhbCBvciBkaXJlY3QpAEd1ZXN0IFJBTSAob3B0aW9uYWwpLiBJZiBub3QgZGVmaW5lZCBieSB0aGUgQ2xvdWRTdGFjayBhZG1pbmlzdHJhdG9yLCB1c2VycyBjYW4gcGljayB0aGUgUkFNLgBHdWVzdCBuZXR3b3JrIG9mIFZpcnR1YWwgUm91dGVyAEhvc3QgVGFncy4gKE9wdGlvbmFsKSBBbnkgdGFncyB0aGF0IHlvdSB1c2UgdG8gb3JnYW5pemUgeW91ciBob3N0cwBIb3cgb2Z0ZW4gdGhlIGNoYXJnZXMgYXJlIGdlbmVyYXRlZABIb3cgcmVzb3VyY2VzIGFyZSBtZXRlcmVkAEhvdyB0aGUgcmVzb3VyY2UgdXNhZ2UgaXMgY2hhcmdlZABJZiBuZXR3b3JrIHJhdGUgaXMgc2V0IHRvIE5VTEwgaW4gc2VydmljZSBvZmZlcmluZywgdGhlIHZhbHVlIHByb3ZpZGVkIGluIHRoZSB2bS5uZXR3b3JrLnRocm90dGxpbmcucmF0ZSBnbG9iYWwgcGFyYW1ldGVyIGlzIGFwcGxpZWQuIElmIHRoZSB2YWx1ZSBpcyBzZXQgdG8gTlVMTCBmb3IgbmV0d29yayBvZmZlcmluZywgdGhlIHZhbHVlIHByb3ZpZGVkIGluIHRoZSBuZXR3b3JrLnRocm90dGxpbmcucmF0ZSBnbG9iYWwgcGFyYW1ldGVyIGlzIGNvbnNpZGVyZWQuAElmIHRoZSBDdXN0b20gZmllbGQgaXMgY2hlY2tlZCwgdGhlIGVuZC11c2VyIG11c3QgZmlsbCBpbiB0aGUgZGVzaXJlZCB2YWx1ZXMgZm9yIG51bWJlciBvZiBDUFUsIENQVSBzcGVlZCwgYW5kIFJBTSBNZW1vcnkgd2hlbiB1c2luZyBhIGN1c3RvbSBjb21wdXRlIG9mZmVyaW5nLiBXaGVuIHlvdSBjaGVjayB0aGlzIGJveCwgdGhvc2UgdGhyZWUgaW5wdXQgZmllbGRzIGFyZSBoaWRkZW4gaW4gdGhlIGRpYWxvZyBib3guAEltcGxpY2l0IERlZGljYXRpb24gd2lsbCBkZXBsb3kgVk1zIG9uIHByaXZhdGUgaW5mcmFzdHJ1Y3R1cmUgdGhhdCBpcyBkZWRpY2F0ZWQgdG8gYSBzcGVjaWZpYyBkb21haW4gb3IgYWNjb3VudC4gSWYgeW91IGNob29zZSB0aGlzIHBsYW5uZXIsIHRoZW4geW91IG11c3QgYWxzbyBwaWNrIGEgdmFsdWUgZm9yIFBsYW5uZXIgTW9kZS4gU2VlIGDigJxEZWRpY2F0aW5nIFJlc291cmNlcyB0byBBY2NvdW50cyBhbmQgRG9tYWluc+KAnSA8YWNjb3VudHMuaHRtbCNkZWRpY2F0aW5nLXJlc291cmNlcy10by1hY2NvdW50cy1hbmQtZG9tYWlucz5gXy4ASW4gU2VsZWN0IE9mZmVyaW5nLCBjaG9vc2UgQ29tcHV0ZSBPZmZlcmluZy4ASW4gU2VsZWN0IE9mZmVyaW5nLCBjaG9vc2UgRGlzayBPZmZlcmluZy4ASW4gU2VsZWN0IE9mZmVyaW5nLCBjaG9vc2UgU3lzdGVtIE9mZmVyaW5nLgBJbiBhZGRpdGlvbiB0byB0aGUgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgaW5mcmFzdHJ1Y3R1cmUgb2YgeW91ciBjbG91ZCBhbmQgdGhlIENsb3VkU3RhY2sgc29mdHdhcmUgYW5kIHNlcnZlcnMsIHlvdSBhbHNvIG5lZWQgYSBsYXllciBvZiB1c2VyIHNlcnZpY2VzIHNvIHRoYXQgcGVvcGxlIGNhbiBhY3R1YWxseSBtYWtlIHVzZSBvZiB0aGUgY2xvdWQuIFRoaXMgbWVhbnMgbm90IGp1c3QgYSB1c2VyIFVJLCBidXQgYSBzZXQgb2Ygb3B0aW9ucyBhbmQgcmVzb3VyY2VzIHRoYXQgdXNlcnMgY2FuIGNob29zZSBmcm9tLCBzdWNoIGFzIHRlbXBsYXRlcyBmb3IgY3JlYXRpbmcgdmlydHVhbCBtYWNoaW5lcywgZGlzayBzdG9yYWdlLCBhbmQgbW9yZS4gSWYgeW91IGFyZSBydW5uaW5nIGEgY29tbWVyY2lhbCBzZXJ2aWNlLCB5b3Ugd2lsbCBiZSBrZWVwaW5nIHRyYWNrIG9mIHdoYXQgc2VydmljZXMgYW5kIHJlc291cmNlcyB1c2VycyBhcmUgY29uc3VtaW5nIGFuZCBjaGFyZ2luZyB0aGVtIGZvciB0aGF0IHVzYWdlLiBFdmVuIGlmIHlvdSBkbyBub3QgY2hhcmdlIGFueXRoaW5nIGZvciBwZW9wbGUgdG8gdXNlIHlvdXIgY2xvdWQg4oCTIHNheSwgaWYgdGhlIHVzZXJzIGFyZSBzdHJpY3RseSBpbnRlcm5hbCB0byB5b3VyIG9yZ2FuaXphdGlvbiwgb3IganVzdCBmcmllbmRzIHdobyBhcmUgc2hhcmluZyB5b3VyIGNsb3VkIOKAkyB5b3UgY2FuIHN0aWxsIGtlZXAgdHJhY2sgb2Ygd2hhdCBzZXJ2aWNlcyB0aGV5IHVzZSBhbmQgaG93IG11Y2ggb2YgdGhlbS4ASW4gYWRkaXRpb24gdG8gdGhlc2UgY2hvaWNlcyB0aGF0IGFyZSBwcm92aWRlZCBmb3IgdXNlcnMsIHRoZXJlIGlzIGFub3RoZXIgdHlwZSBvZiBzZXJ2aWNlIG9mZmVyaW5nIHdoaWNoIGlzIGF2YWlsYWJsZSBvbmx5IHRvIHRoZSBDbG91ZFN0YWNrIHJvb3QgYWRtaW5pc3RyYXRvciwgYW5kIGlzIHVzZWQgZm9yIGNvbmZpZ3VyaW5nIHZpcnR1YWwgaW5mcmFzdHJ1Y3R1cmUgcmVzb3VyY2VzLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIFVwZ3JhZGluZyBhIFZpcnR1YWwgUm91dGVyIHdpdGggU3lzdGVtIFNlcnZpY2UgT2ZmZXJpbmdzLgBJbiBzaGFyZWQgbmV0d29ya3MsIGluZ3Jlc3MgdHJhZmZpYyB3aWxsIG5vdCBiZSBsaW1pdGVkIGZvciBDbG91ZFN0YWNrLCB3aGlsZSBlZ3Jlc3MgdHJhZmZpYyB3aWxsIGJlIGxpbWl0ZWQgdG8gMjAwIE1icHMuIEluIGFuIGlzb2xhdGVkIG5ldHdvcmssIGluZ3Jlc3MgdHJhZmZpYyB3aWxsIGJlIGxpbWl0ZWQgdG8gMTAgTWJwcyBhbmQgZWdyZXNzIHRvIDIwMCBNYnBzLgBJbiB0aGUgZGlhbG9nLCBtYWtlIHRoZSBmb2xsb3dpbmcgY2hvaWNlczoASW4gdGhlIGRpc2tcX29mZmVyaW5nIHRhYmxlLCBpZGVudGlmeSB0aGUgb3JpZ2luYWwgZGVmYXVsdCBvZmZlcmluZyBhbmQgdGhlIG5ldyBvZmZlcmluZyB5b3Ugd2FudCB0byB1c2UgYnkgZGVmYXVsdC4ASW4gdGhlIGxlZnQgbmF2aWdhdGlvbiBiYXIsIGNsaWNrIFNlcnZpY2UgT2ZmZXJpbmdzLgBMb2cgaW4gd2l0aCBhZG1pbiBwcml2aWxlZ2VzIHRvIHRoZSBDbG91ZFN0YWNrIFVJLgBNYW5hZ2VtZW50IG5ldHdvcmsgb2YgQ29uc29sZSBQcm94eSBWTQBNYW5hZ2VtZW50IG5ldHdvcmsgb2YgU2Vjb25kYXJ5IFN0b3JhZ2UgVk0ATWFuYWdlbWVudCBuZXR3b3JrIG9mIFZpcnR1YWwgUm91dGVyAE1lbW9yeSAoaW4gTUIpLiBUaGUgYW1vdW50IG9mIG1lbW9yeSBpbiBtZWdhYnl0ZXMgdGhhdCB0aGUgc3lzdGVtIFZNIHNob3VsZCBiZSBhbGxvY2F0ZWQuIEZvciBleGFtcGxlLCAiMjA0OCIgd291bGQgcHJvdmlkZSBmb3IgYSAyIEdCIFJBTSBhbGxvY2F0aW9uLgBNb2RpZnlpbmcgb3IgRGVsZXRpbmcgYSBTZXJ2aWNlIE9mZmVyaW5nAE5hbWUuIEFueSBkZXNpcmVkIG5hbWUgZm9yIHRoZSBzeXN0ZW0gb2ZmZXJpbmcuAE5ldHdvcmsgT2ZmZXJpbmcATmV0d29yayBPZmZlcmluZ3MsIGRlZmluZWQgYnkgdGhlIENsb3VkU3RhY2sgYWRtaW5pc3RyYXRvciwgZGVzY3JpYmUgdGhlIGZlYXR1cmUgc2V0IHRoYXQgaXMgYXZhaWxhYmxlIHRvIGVuZCB1c2VycyBmcm9tIHRoZSB2aXJ0dWFsIHJvdXRlciBvciBleHRlcm5hbCBuZXR3b3JraW5nIGRldmljZXMgb24gYSBnaXZlbiBndWVzdCBuZXR3b3JrLiBTZWUgTmV0d29yayBPZmZlcmluZ3MuAE5ldHdvcmsgUmF0ZSBJcyBUYWtlbiBmcm9tAE5ldHdvcmsgUmF0ZS4gQWxsb3dlZCBkYXRhIHRyYW5zZmVyIHJhdGUgaW4gTUIgcGVyIHNlY29uZC4ATmV0d29yayBUaHJvdHRsaW5nAE5ldHdvcmsgcmF0ZSBvZiBjb21wdXRlIG9mZmVyaW5nID0gMjAwIE1icHMATmV0d29yayByYXRlIG9mIG5ldHdvcmsgb2ZmZXJpbmcgPSAxMCBNYnBzAE5ldHdvcmsgdGhyb3R0bGluZyBpcyB0aGUgcHJvY2VzcyBvZiBjb250cm9sbGluZyB0aGUgbmV0d29yayBhY2Nlc3MgYW5kIGJhbmR3aWR0aCB1c2FnZSBiYXNlZCBvbiBjZXJ0YWluIHJ1bGVzLiBDbG91ZFN0YWNrIGNvbnRyb2xzIHRoaXMgYmVoYXZpb3VyIG9mIHRoZSBndWVzdCBuZXR3b3JrcyBpbiB0aGUgY2xvdWQgYnkgdXNpbmcgdGhlIG5ldHdvcmsgcmF0ZSBwYXJhbWV0ZXIuIFRoaXMgcGFyYW1ldGVyIGlzIGRlZmluZWQgYXMgdGhlIGRlZmF1bHQgZGF0YSB0cmFuc2ZlciByYXRlIGluIE1icHMgKE1lZ2FiaXRzIFBlciBTZWNvbmQpIGFsbG93ZWQgaW4gYSBndWVzdCBuZXR3b3JrLiBJdCBkZWZpbmVzIHRoZSB1cHBlciBsaW1pdHMgZm9yIG5ldHdvcmsgdXRpbGl6YXRpb24uIElmIHRoZSBjdXJyZW50IHV0aWxpemF0aW9uIGlzIGJlbG93IHRoZSBhbGxvd2VkIHVwcGVyIGxpbWl0cywgYWNjZXNzIGlzIGdyYW50ZWQsIGVsc2UgcmV2b2tlZC4ATmV0d29ya3MAT2ZmZXIgSEEuIElmIHllcywgdGhlIGFkbWluaXN0cmF0b3IgY2FuIGNob29zZSB0byBoYXZlIHRoZSBzeXN0ZW0gVk0gYmUgbW9uaXRvcmVkIGFuZCBhcyBoaWdobHkgYXZhaWxhYmxlIGFzIHBvc3NpYmxlLgBPcGVuIGFuIE15U1FMIHByb21wdDoAUHJlZmVycmVkOiBUaGUgVk0gd2lsbCBiZSBkZXBsb3llZCBpbiBkZWRpY2F0ZWQgaW5mcmFzdHJ1Y3R1cmUgaWYgcG9zc2libGUuIE90aGVyd2lzZSwgdGhlIFZNIGNhbiBiZSBkZXBsb3llZCBpbiBzaGFyZWQgaW5mcmFzdHJ1Y3R1cmUuAFB1YmxpYyBuZXR3b3JrIG9mIENvbnNvbGUgUHJveHkgVk0AUHVibGljIG5ldHdvcmsgb2YgU2Vjb25kYXJ5IFN0b3JhZ2UgVk0AUHVibGljIG5ldHdvcmsgb2YgVmlydHVhbCBSb3V0ZXIAUHVibGljLiBJbmRpY2F0ZSB3aGV0aGVyIHRoZSBzZXJ2aWNlIG9mZmVyaW5nIHNob3VsZCBiZSBhdmFpbGFibGUgYWxsIGRvbWFpbnMgb3Igb25seSBzb21lIGRvbWFpbnMuIENob29zZSBZZXMgdG8gbWFrZSBpdCBhdmFpbGFibGUgdG8gYWxsIGRvbWFpbnMuIENob29zZSBObyB0byBsaW1pdCB0aGUgc2NvcGUgdG8gYSBzdWJkb21haW47IENsb3VkU3RhY2sgd2lsbCB0aGVuIHByb21wdCBmb3IgdGhlIHN1YmRvbWFpbidzIG5hbWUuAFJlc3RhcnQgQ2xvdWRTdGFjayBNYW5hZ2VtZW50IFNlcnZlci4gUmVzdGFydGluZyBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZSBkZWZhdWx0IG9mZmVyaW5ncyBhcmUgbG9hZGVkIGludG8gdGhlIG1lbW9yeSBhdCBzdGFydHVwLgBSdW4gdGhlIGZvbGxvd2luZyBxdWVyaWVzIG9uIHRoZSBjbG91ZCBkYXRhYmFzZS4AU2VydmljZSBPZmZlcmluZwBTZXJ2aWNlIE9mZmVyaW5ncwBTZXJ2aWNlIE9mZmVyaW5ncywgRGlzayBPZmZlcmluZ3MsIE5ldHdvcmsgT2ZmZXJpbmdzLCBhbmQgVGVtcGxhdGVzAFNlcnZpY2UgT2ZmZXJpbmdzLCBkZWZpbmVkIGJ5IHRoZSBDbG91ZFN0YWNrIGFkbWluaXN0cmF0b3IsIHByb3ZpZGUgYSBjaG9pY2Ugb2YgQ1BVIHNwZWVkLCBudW1iZXIgb2YgQ1BVcywgUkFNIHNpemUsIHRhZ3Mgb24gdGhlIHJvb3QgZGlzaywgYW5kIG90aGVyIGNob2ljZXMuIFNlZSBDcmVhdGluZyBhIE5ldyBDb21wdXRlIE9mZmVyaW5nLgBTZXJ2aWNlIG9mZmVyaW5ncyBjYW5ub3QgYmUgY2hhbmdlZCBvbmNlIGNyZWF0ZWQuIFRoaXMgYXBwbGllcyB0byBib3RoIGNvbXB1dGUgb2ZmZXJpbmdzIGFuZCBkaXNrIG9mZmVyaW5ncy4AU29tZSBjaGFyYWN0ZXJpc3RpY3Mgb2Ygc2VydmljZSBvZmZlcmluZ3MgbXVzdCBiZSBkZWZpbmVkIGJ5IHRoZSBDbG91ZFN0YWNrIGFkbWluaXN0cmF0b3IsIGFuZCBvdGhlcnMgY2FuIGJlIGxlZnQgdW5kZWZpbmVkIHNvIHRoYXQgdGhlIGVuZC11c2VyIGNhbiBlbnRlciB0aGVpciBvd24gZGVzaXJlZCB2YWx1ZXMuIFRoaXMgaXMgdXNlZnVsIHRvIHJlZHVjZSB0aGUgbnVtYmVyIG9mIG9mZmVyaW5ncyB0aGUgQ2xvdWRTdGFjayBhZG1pbmlzdHJhdG9yIGhhcyB0byBkZWZpbmUuIEluc3RlYWQgb2YgZGVmaW5pbmcgYSBjb21wdXRlIG9mZmVyaW5nIGZvciBldmVyeSBpbWFnaW5hYmxlIGNvbWJpbmF0aW9uIG9mIHZhbHVlcyB0aGF0IGEgdXNlciBtaWdodCB3YW50LCB0aGUgYWRtaW5pc3RyYXRvciBjYW4gZGVmaW5lIG9mZmVyaW5ncyB0aGF0IHByb3ZpZGUgc29tZSBmbGV4aWJpbGl0eSB0byB0aGUgdXNlcnMgYW5kIGNhbiBzZXJ2ZSBhcyB0aGUgYmFzaXMgZm9yIHNldmVyYWwgZGlmZmVyZW50IFZNIGNvbmZpZ3VyYXRpb25zLgBTdG9yYWdlIFRhZ3MuIFRoZSB0YWdzIHRoYXQgc2hvdWxkIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJpbWFyeSBzdG9yYWdlIHVzZWQgYnkgdGhlIHN5c3RlbSBWTS4AU3RvcmFnZSBuZXR3b3JrIG9mIENvbnNvbGUgUHJveHkgVk0AU3RvcmFnZSBuZXR3b3JrIG9mIFNlY29uZGFyeSBTdG9yYWdlIFZNAFN0b3JhZ2UgbmV0d29yayBvZiBWaXJ0dWFsIFJvdXRlcgBTdG9yYWdlIHR5cGUuIFRoZSB0eXBlIG9mIGRpc2sgdGhhdCBzaG91bGQgYmUgYWxsb2NhdGVkLiBMb2NhbCBhbGxvY2F0ZXMgZnJvbSBzdG9yYWdlIGF0dGFjaGVkIGRpcmVjdGx5IHRvIHRoZSBob3N0IHdoZXJlIHRoZSBzeXN0ZW0gVk0gaXMgcnVubmluZy4gU2hhcmVkIGFsbG9jYXRlcyBmcm9tIHN0b3JhZ2UgYWNjZXNzaWJsZSB2aWEgTkZTLgBTdHJpY3Q6IEEgaG9zdCB3aWxsIG5vdCBiZSBzaGFyZWQgYWNyb3NzIG11bHRpcGxlIGFjY291bnRzLiBGb3IgZXhhbXBsZSwgc3RyaWN0IGltcGxpY2l0IGRlZGljYXRpb24gaXMgdXNlZnVsIGZvciBkZXBsb3ltZW50IG9mIGNlcnRhaW4gdHlwZXMgb2YgYXBwbGljYXRpb25zLCBzdWNoIGFzIGRlc2t0b3BzLCB3aGVyZSBubyBob3N0IGNhbiBiZSBzaGFyZWQgYmV0d2VlbiBkaWZmZXJlbnQgYWNjb3VudHMgd2l0aG91dCB2aW9sYXRpbmcgdGhlIGRlc2t0b3Agc29mdHdhcmUncyB0ZXJtcyBvZiBsaWNlbnNlLgBTeXN0ZW0gTmV0d29yayBPZmZlcmluZwBTeXN0ZW0gU2VydmljZSBPZmZlcmluZ3MAU3lzdGVtIFZNIFR5cGUuIFNlbGVjdCB0aGUgdHlwZSBvZiBzeXN0ZW0gdmlydHVhbCBtYWNoaW5lIHRoYXQgdGhpcyBvZmZlcmluZyBpcyBpbnRlbmRlZCB0byBzdXBwb3J0LgBTeXN0ZW0gc2VydmljZSBvZmZlcmluZ3MgcHJvdmlkZSBhIGNob2ljZSBvZiBDUFUgc3BlZWQsIG51bWJlciBvZiBDUFVzLCB0YWdzLCBhbmQgUkFNIHNpemUsIGp1c3QgYXMgb3RoZXIgc2VydmljZSBvZmZlcmluZ3MgZG8uIEJ1dCByYXRoZXIgdGhhbiBiZWluZyB1c2VkIGZvciB2aXJ0dWFsIG1hY2hpbmUgaW5zdGFuY2VzIGFuZCBleHBvc2VkIHRvIHVzZXJzLCBzeXN0ZW0gc2VydmljZSBvZmZlcmluZ3MgYXJlIHVzZWQgdG8gY2hhbmdlIHRoZSBkZWZhdWx0IHByb3BlcnRpZXMgb2YgdmlydHVhbCByb3V0ZXJzLCBjb25zb2xlIHByb3hpZXMsIGFuZCBvdGhlciBzeXN0ZW0gVk1zLiBTeXN0ZW0gc2VydmljZSBvZmZlcmluZ3MgYXJlIHZpc2libGUgb25seSB0byB0aGUgQ2xvdWRTdGFjayByb290IGFkbWluaXN0cmF0b3IuIENsb3VkU3RhY2sgcHJvdmlkZXMgZGVmYXVsdCBzeXN0ZW0gc2VydmljZSBvZmZlcmluZ3MuIFRoZSBDbG91ZFN0YWNrIHJvb3QgYWRtaW5pc3RyYXRvciBjYW4gY3JlYXRlIGFkZGl0aW9uYWwgY3VzdG9tIHN5c3RlbSBzZXJ2aWNlIG9mZmVyaW5ncy4AVGFncyBvbiB0aGUgZGF0YSBkaXNrAFRhZ3Mgb24gdGhlIHJvb3QgZGlzawBUYWtlIGEgbm90ZSBvZiB0aGUgSUQgb2YgdGhlIG5ldyBvZmZlcmluZy4AVGVtcGxhdGVzLCBkZWZpbmVkIGJ5IHRoZSBDbG91ZFN0YWNrIGFkbWluaXN0cmF0b3Igb3IgYnkgYW55IENsb3VkU3RhY2sgdXNlciwgYXJlIHRoZSBiYXNlIE9TIGltYWdlcyB0aGF0IHRoZSB1c2VyIGNhbiBjaG9vc2UgZnJvbSB3aGVuIGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlLiBGb3IgZXhhbXBsZSwgQ2xvdWRTdGFjayBpbmNsdWRlcyBDZW50T1MgYXMgYSB0ZW1wbGF0ZS4gU2VlIFdvcmtpbmcgd2l0aCBUZW1wbGF0ZXMuAFRoZSBkaXNrIG9mZmVyaW5nIHNwZWNpZmllczoAVGhlIGZvbGxvd2luZyB0YWJsZSBnaXZlcyB5b3UgYW4gb3ZlcnZpZXcgb2YgaG93IG5ldHdvcmsgcmF0ZSBpcyBhcHBsaWVkIG9uIGRpZmZlcmVudCB0eXBlcyBvZiBuZXR3b3JrcyBpbiBDbG91ZFN0YWNrLgBUaGUgbmV0d29yayByYXRlIHNldCBmb3IgYSBuZXR3b3JrIG9mZmVyaW5nIHVzZWQgYnkgYSBwYXJ0aWN1bGFyIG5ldHdvcmsgaW4gQ2xvdWRTdGFjayBpcyB1c2VkIGZvciB0aGUgdHJhZmZpYyBzaGFwaW5nIHBvbGljeSBvZiBhIHBvcnQgZ3JvdXAsIGZvciBleGFtcGxlOiBwb3J0IGdyb3VwIEEsIGZvciB0aGF0IG5ldHdvcms6IGEgcGFydGljdWxhciBzdWJuZXQgb3IgVkxBTiBvbiB0aGUgYWN0dWFsIG5ldHdvcmsuIFRoZSB2aXJ0dWFsIHJvdXRlcnMgZm9yIHRoYXQgbmV0d29yayBjb25uZWN0cyB0byB0aGUgcG9ydCBncm91cCBBLCBhbmQgYnkgZGVmYXVsdCBpbnN0YW5jZXMgaW4gdGhhdCBuZXR3b3JrIGNvbm5lY3RzIHRvIHRoaXMgcG9ydCBncm91cC4gSG93ZXZlciwgaWYgYW4gaW5zdGFuY2UgaXMgZGVwbG95ZWQgd2l0aCBhIGNvbXB1dGUgb2ZmZXJpbmcgd2l0aCB0aGUgbmV0d29yayByYXRlIHNldCwgYW5kIGlmIHRoaXMgcmF0ZSBpcyB1c2VkIGZvciB0aGUgdHJhZmZpYyBzaGFwaW5nIHBvbGljeSBvZiBhbm90aGVyIHBvcnQgZ3JvdXAgZm9yIHRoZSBuZXR3b3JrLCBmb3IgZXhhbXBsZSBwb3J0IGdyb3VwIEIsIHRoZW4gaW5zdGFuY2VzIHVzaW5nIHRoaXMgY29tcHV0ZSBvZmZlcmluZyBhcmUgY29ubmVjdGVkIHRvIHRoZSBwb3J0IGdyb3VwIEIsIGluc3RlYWQgb2YgY29ubmVjdGluZyB0byBwb3J0IGdyb3VwIEEuAFRoZSBvcHRpb25zIGdpdmVuIGFyZSBOVklESUEgR1JJRCBLMSBhbmQgTlZJRElBIEdSSUQgSzIuIFRoZXNlIGFyZSB2R1BVIGNhcGFibGUgY2FyZHMgdGhhdCBhbGxvdyBtdWx0aXBsZSB2R1BVcyBvbiBhIHNpbmdsZSBwaHlzaWNhbCBHUFUuIElmIHlvdSB3YW50IHRvIHVzZSBhIGNhcmQgb3RoZXIgdGhhbiB0aGVzZSwgZm9sbG93IHRoZSBpbnN0cnVjdGlvbnMgaW4gdGhlICoqIkdQVSBhbmQgdkdQVSBzdXBwb3J0IGZvciBDbG91ZFN0YWNrIEd1ZXN0IFZNcyIqKiBwYWdlIGluIHRoZSBDbG91ZHN0YWNrIFZlcnNpb24gNC40IERlc2lnbiBEb2NzIGZvdW5kIGluIHRoZSBDbG91ZHN0YWNrIFdpa2kuAFRoZSB0cmFmZmljIHNoYXBpbmcgcG9saWN5IG9uIHN0YW5kYXJkIHBvcnQgZ3JvdXBzIGluIFZNd2FyZSBvbmx5IGFwcGxpZXMgdG8gdGhlIGVncmVzcyB0cmFmZmljLCBhbmQgdGhlIG5ldCBlZmZlY3QgZGVwZW5kcyBvbiB0aGUgdHlwZSBvZiBuZXR3b3JrIHVzZWQgaW4gQ2xvdWRTdGFjay4gSW4gc2hhcmVkIG5ldHdvcmtzLCBpbmdyZXNzIHRyYWZmaWMgaXMgdW5saW1pdGVkIGZvciBDbG91ZFN0YWNrLCBhbmQgZWdyZXNzIHRyYWZmaWMgaXMgbGltaXRlZCB0byB0aGUgcmF0ZSB0aGF0IGFwcGxpZXMgdG8gdGhlIHBvcnQgZ3JvdXAgdXNlZCBieSB0aGUgaW5zdGFuY2UgaWYgYW55LiBJZiB0aGUgY29tcHV0ZSBvZmZlcmluZyBoYXMgYSBuZXR3b3JrIHJhdGUgY29uZmlndXJlZCwgdGhpcyByYXRlIGFwcGxpZXMgdG8gdGhlIGVncmVzcyB0cmFmZmljLCBvdGhlcndpc2UgdGhlIG5ldHdvcmsgcmF0ZSBzZXQgZm9yIHRoZSBuZXR3b3JrIG9mZmVyaW5nIGFwcGxpZXMuIEZvciBpc29sYXRlZCBuZXR3b3JrcywgdGhlIG5ldHdvcmsgcmF0ZSBzZXQgZm9yIHRoZSBuZXR3b3JrIG9mZmVyaW5nLCBpZiBhbnksIGVmZmVjdGl2ZWx5IGFwcGxpZXMgdG8gdGhlIGluZ3Jlc3MgdHJhZmZpYy4gVGhpcyBpcyBtYWlubHkgYmVjYXVzZSB0aGUgbmV0d29yayByYXRlIHNldCBmb3IgdGhlIG5ldHdvcmsgb2ZmZXJpbmcgYXBwbGllcyB0byB0aGUgZWdyZXNzIHRyYWZmaWMgZnJvbSB0aGUgdmlydHVhbCByb3V0ZXIgdG8gdGhlIGluc3RhbmNlLiBUaGUgZWdyZXNzIHRyYWZmaWMgaXMgbGltaXRlZCBieSB0aGUgcmF0ZSB0aGF0IGFwcGxpZXMgdG8gdGhlIHBvcnQgZ3JvdXAgdXNlZCBieSB0aGUgaW5zdGFuY2UgaWYgYW55LCBzaW1pbGFyIHRvIHNoYXJlZCBuZXR3b3Jrcy4AVG8gY3JlYXRlIGEgbmV3IGNvbXB1dGUgb2ZmZXJpbmc6AFRvIGNyZWF0ZSBhIG5ldyBkaXNrIG9mZmVyaW5nOgBUbyBjcmVhdGUgYSBzeXN0ZW0gc2VydmljZSBvZmZlcmluZzoAVG8gc3VwcG9ydCB0aGlzIGZlYXR1cmUsIHVzYWdlIGV2ZW50cyBoYXMgYmVlbiBlbmhhbmNlZCB0byByZWdpc3RlciBldmVudHMgZm9yIGR5bmFtaWNhbGx5IGFzc2lnbmVkIHJlc291cmNlcy4gVXNhZ2UgZXZlbnRzIGFyZSByZWdpc3RlcmVkIHdoZW4gYSBWTSBpcyBjcmVhdGVkIGZyb20gYSBjdXN0b20gY29tcHV0ZSBvZmZlcmluZywgYW5kIHVwb24gY2hhbmdpbmcgdGhlIGNvbXB1dGUgb2ZmZXJpbmcgb2YgYSBzdG9wcGVkIG9yIHJ1bm5pbmcgVk0uIFRoZSB2YWx1ZXMgb2YgdGhlIHBhcmFtZXRlcnMsIHN1Y2ggYXMgQ1BVLCBzcGVlZCwgUkFNIGFyZSByZWNvcmRlZC4AVXNlciBDb25jZW50cmF0ZWQgcHJlZmVycyB0byBkZXBsb3kgVk1zIGJlbG9uZ2luZyB0byB0aGUgc2FtZSBhY2NvdW50IHdpdGhpbiBhIHNpbmdsZSBwb2QuAFVzZXIgRGlzcGVyc2luZyBtYWtlcyB0aGUgYmVzdCBlZmZvcnQgdG8gZXZlbmx5IGRpc3RyaWJ1dGUgVk1zIGJlbG9uZ2luZyB0byB0aGUgc2FtZSBhY2NvdW50IG9uIGRpZmZlcmVudCBjbHVzdGVycyBvciBwb2RzLgBXaGVuIENsb3VkU3RhY2sgY3JlYXRlcyBhIHZpcnR1YWwgcm91dGVyIGZvciBhIGd1ZXN0IG5ldHdvcmssIGl0IHVzZXMgZGVmYXVsdCBzZXR0aW5ncyB3aGljaCBhcmUgZGVmaW5lZCBpbiB0aGUgc3lzdGVtIHNlcnZpY2Ugb2ZmZXJpbmcgYXNzb2NpYXRlZCB3aXRoIHRoZSBuZXR3b3JrIG9mZmVyaW5nLiBZb3UgY2FuIHVwZ3JhZGUgdGhlIGNhcGFiaWxpdGllcyBvZiB0aGUgdmlydHVhbCByb3V0ZXIgYnkgYXBwbHlpbmcgYSBuZXcgbmV0d29yayBvZmZlcmluZyB0aGF0IGNvbnRhaW5zIGEgZGlmZmVyZW50IHN5c3RlbSBzZXJ2aWNlIG9mZmVyaW5nLiBBbGwgdmlydHVhbCByb3V0ZXJzIGluIHRoYXQgbmV0d29yayB3aWxsIGJlZ2luIHVzaW5nIHRoZSBzZXR0aW5ncyBmcm9tIHRoZSBuZXcgc2VydmljZSBvZmZlcmluZy4AWW91IGNhbiBtYW51YWxseSBjaGFuZ2UgdGhlIHN5c3RlbSBvZmZlcmluZyBmb3IgYSBwYXJ0aWN1bGFyIFN5c3RlbSBWTS4gQWRkaXRpb25hbGx5LCBhcyBhIENsb3VkU3RhY2sgYWRtaW5pc3RyYXRvciwgeW91IGNhbiBhbHNvIGNoYW5nZSB0aGUgZGVmYXVsdCBzeXN0ZW0gb2ZmZXJpbmcgdXNlZCBmb3IgU3lzdGVtIFZNcy4AWW91IGNhbiB0aHJvdHRsZSB0aGUgbmV0d29yayBiYW5kd2lkdGggZWl0aGVyIHRvIGNvbnRyb2wgdGhlIHVzYWdlIGFib3ZlIGEgY2VydGFpbiBsaW1pdCBmb3Igc29tZSBhY2NvdW50cywgb3IgdG8gY29udHJvbCBuZXR3b3JrIGNvbmdlc3Rpb24gaW4gYSBsYXJnZSBjbG91ZCBlbnZpcm9ubWVudC4gVGhlIG5ldHdvcmsgcmF0ZSBmb3IgeW91ciBjbG91ZCBjYW4gYmUgY29uZmlndXJlZCBvbiB0aGUgZm9sbG93aW5nOgBQcm9qZWN0LUlkLVZlcnNpb246IEFwYWNoZSBDbG91ZFN0YWNrIEFkbWluaXN0cmF0aW9uIFJURApSZXBvcnQtTXNnaWQtQnVncy1UbzogClBPVC1DcmVhdGlvbi1EYXRlOiAyMDE2LTA4LTIyIDEzOjU1KzAyMDAKUE8tUmV2aXNpb24tRGF0ZTogMjAxNi0xMC0wMiAxMzo1NSswMjAwCkxhc3QtVHJhbnNsYXRvcjogCkxhbmd1YWdlLVRlYW06IEZyZW5jaCAoaHR0cDovL3d3dy50cmFuc2lmZXguY29tL2tlNHFxcS9hcGFjaGUtY2xvdWRzdGFjay1hZG1pbmlzdHJhdGlvbi1ydGQvbGFuZ3VhZ2UvZnIvKQpQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiA+IDEpCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CkdlbmVyYXRlZC1CeTogQmFiZWwgMS4zCgAjIGRlIGNvZXVycyBDUFUgOiBsZSBub21icmUgZGUgY29ldXJzIHF1aSBkZXZyYWllbnQgw6p0cmUgYWxsb3XDqXMgw6AgbGEgVk0gc3lzdMOobWUgYXZlYyBjZXR0ZSBvZmZyZS4AKiojIGRlIGNvZXVycyBDUFUqKiA6IGxlIG5vbWJyZSBkZSBjb2V1cnMgcXVpIGRldnJhaWVudCDDqnRyZSBhbGxvdcOpZSDDoCB1bmUgVk0gc3lzdMOobWUgYXZlYyBjZXR0ZSBvZmZyZS4gU2kgUGVyc29ubmFsaXPDqSBlc3QgY29jaMOpLCBjZSBjaGFtcCBuJ2FwcGFyYcOudCBwYXMuACoqKE9wdGlvbm5lbCkgRXRpcXVldHRlcyBkZSBzdG9ja2FnZSoqIDogTGVzIMOpdGlxdWV0dGVzIHF1aSBkZXZyYWllbnQgw6p0cmUgYXNzb2Npw6llcyBhdmVjIGxlIHN0b2NrYWdlIHByaW1haXJlIHBvdXIgY2UgZGlzcXVlLiBMZXMgw6l0aXF1ZXR0ZXMgc29udCBkZXMgbGlzdGVzIGQnYXR0cmlidXRzIGR1IHN0b2NrYWdlIHPDqXBhcsOpcyBwYXIgZGVzIHZpcmd1bGVzLiBQYXIgZXhlbXBsZSAic3NkLGJsZXUiLiBMZXMgw6l0aXF1ZXR0ZXMgc29udCBhdXNzaSBham91dMOpZXMgc3VyIGxlIHN0b2NrYWdlIHByaW1haXJlLiBDbG91ZFN0YWNrIGZhaXQgY29ycmVzcG9uZHJlIGxlcyDDqXRpcXVldHRlcyBkZSBsJ29mZnJlIGRlIGRpc3F1ZSBhdXggw6l0aXF1ZXR0ZXMgc3VyIGxlIHN0b2NrYWdlLiBTaSB1bmUgw6l0aXF1ZXR0ZSBlc3QgcHLDqXNlbnRlIHN1ciB1bmUgb2ZmcmUgZGUgZGlzcXVlIGNldHRlIG91IGNlcyDDqXRpcXVldHRlcyBkb2l2ZW50IGF1c3NpIMOqdHJlIHByw6lzZW50ZSBzdXIgbGUgc3RvY2thZ2UgcHJpbWFpcmUgcG91ciBxdWUgbGUgdm9sdW1lIHNvaXQgcHJvdmlzaW9ubsOpLiBTJ2lsIG4nZXhpc3RlIHBhcyB1biB0ZWwgc3RvY2thZ2UgcHJpbWFpcmUsIGwnYXR0cmlidXRpb24gZGVwdWlzIGwnb2ZmcmUgZGUgZGlzcXVlIHZhIMOpY2hvdWVyLgAqKkNQVSAoZW4gTUh6KSoqIDogTGEgdml0ZXNzZSBDUFUgZGVzIGNvZXVycyBxdWkgc29udCBhbGxvdcOpcyDDoCBjZXR0ZSBWTSBzeXN0w6htZS4gUGFyIGV4ZW1wbGUsICIyMDAwIiBmb3VybmlyYSB1bmUgZnLDqXF1ZW5jZSBkJ2hvcmxvZ2UgZGUgMkdIei4gU2kgUGVyc29ubmFsaXPDqSBlc3QgY29jaMOpLCBjZSBjaGFtcCBuJ2FwcGFyYcOudCBwYXMuACoqQ1BVIGNhcCoqIDogUG91ciBsaW1pdGVyIGxlIHRhdXggZCd1dGlsaXNhdGlvbiBkdSBDUFUgb3Ugc2kgbGVzIHLDqXNlcnZlcyBkZSBjYXBhY2l0w6lzIHNvbnQgZGlzcG9uaWJsZXMuACoqVGFpbGxlIGRlIGRpc3F1ZSBwZXJzb25uYWxpc8OpZSoqIDogU2kgY29jaMOpZSwgbCd1dGlsaXNhdGV1ciBwZXV0IGZpeGVyIHNhIHByb3ByZSB0YWlsbGUgZGUgZGlzcXVlLiBTaSBub24gY29jaMOpZSwgbCdhZG1pbmlzdHJhdGV1ciByYWNpbmUgZG9pdCBkw6lmaW5pciB1bmUgdGFpbGxlIGRlIGRpc3F1ZS4AKipJT1BTIHBlcnNvbm5hbGlzw6kqKiA6IHNpIGNvY2jDqSwgbCd1dGlsaXNhdGV1ciBwZXV0IGZpeGVyIHNlcyBwcm9wcmVzIElPUFMuIFNpIG5vbiBjb2Now6ksIGwnYWRtaW5pc3RyYXRldXIgcmFjaW5lIHBldXQgZMOpZmluaXIgbGVzIHZhbGV1cnMuIFNpIGwnYWRtaW4gcmFjaW5lIG5lIGZpeGUgcGFzIGxlcyB2YWxldXJzIGxvcnMgZGUgbCd1dGlsaXNhdGlvbiBkZSBsYSBRb1MgZHUgc3RvY2thZ2UsIGxlcyB2YWxldXJzIHBhciBkw6lmYXV0IHNvbnQgdXRpbGlzw6lzIChsZXMgdmFsZXVycyBwYXIgZMOpZmF1dCBwZXV2ZW50IMOqdHJlIGNoYW5nw6llIHNpIGxlcyBwYXJhbcOodHJlcyBwYXIgZMOpZmF1dCBzb250IHBhc3PDqXMgw6AgQ2xvdWRTdGFjayBsb3JzIGRlIGxhIGNyw6lhdGlvbiBkdSBzdG9ja2FnZSBwcmltYWlyZSBlbiBxdWVzdGlvbikuACoqUGVyc29ubmFsaXPDqWUqKiA6IE9mZnJlcyBkZSBjYWxjdWwgcGVyc29ubmFsaXPDqWUgcGV1dmVudCDDqnRyZSB1dGlsaXPDqWUgZGFucyBsZXMgY2FzIHN1aXZhbnRzIDogZMOpcGxveWVyIHVuZSBWTSwgY2hhbmdlciBsJ29mZnJlIGRlIGNhbGN1bCBwb3VyIGRlcyBWTSBzdG9wcMOpZXMgb3UgZW4gZm9uY3Rpb25uZW1lbnQuACoqUGxhbm5pbmcgZGUgZMOpcGxvaWVtZW50KiogOiBDaG9pc2lyIGxhIHRlY2huaXF1ZSBxdWUgdm91cyB2b3VsZXogcXVlIENsb3Vkc3RhY2sgdXRpbGlzZSBsb3JzcXUnaWwgZMOpcGxvaWUgbGEgVk0gYmFzw6llIHN1ciBjZXR0ZSBvZmZyZSBkZSBzZXJ2aWNlLgAqKkRlc2NyaXB0aW9uKiogOiBVbmUgZGVzY3JpcHRpb24gY291cnRlIHBvdXIgbCdvZmZyZSBxdWkgcGV1dCDDqnRyZSBhZmZpY2jDqWUgYXV4IHV0aWxpc2F0ZXVycwAqKlRhdXggZGUgbGVjdHVyZSBkaXNxdWUqKiA6IHRhdXggZGUgbGVjdHVyZSBkaXNxdWUgYXV0b3Jpc8OpIGVuIElPUFMgKG9ww6lyYXRpb24gZCdlbnRyw6llcy9zb3J0aWVzIHBhciBzZWNvbmRlKS4AKipUYXV4IGRlIGxlY3R1cmUgZGlzcXVlKiogOiB0YXV4IGRlIGxlY3R1cmUgZGlzcXVlIGF1dG9yaXPDqSBlbiBiaXRzIHBhciBzZWNvbmRlLgAqKlRhaWxsZSBkZSBkaXNxdWUqKiA6IEFwcGFyYcOudCBzZXVsZW1lbnQgc2kgbGEgdGFpbGxlIGRlIGRpc3F1ZSBwZXJzb25uYWxpc8OpZSBuJ2VzdCBwYXMgc8OpbGVjdGlvbm7DqWUuIETDqWZpbmlyIHVuZSB0YWlsbGUgZGUgdm9sdW1lIGVuIEdCICgyXjMwIDFHQiA9IDEsMDczLDc0MSw4MjQgQnl0ZXMpLgAqKlRhdXggZCfDqWNyaXR1cmUgZGlzcXVlKiogOiB0YXV4IGQnw6ljcml0dXJlIGRpc3F1ZSBhdXRvcmlzw6kgZW4gSU9QUyAob3DDqXJhdGlvbnMgZCdlbnRyw6llcy9zb3J0aWVzIHBhciBzZWNvbmRlKS4AKipUYXV4IGQnw6ljcml0dXJlIGRpc3F1ZSoqIDogdGF1eCBkJ8OpY3JpdHVyZSBkaXNxdWUgYXV0b3Jpc8OpIGVuIGJpdHMgcGFyIHNlY29uZGUuACoqR1BVKiogQXNzaWduZSB1biBHUFUgcGh5c2lxdWUgKEdQVS1wYXNzdGhyb3VnaCkgb3UgdW4gcG9ydGlvbiBkJ3VuIEdQVSBwaHlzaXF1ZQAqKsOJdGlxdWV0dGVzIGQnaMO0dGUqKiA6IChPcHRpb25uZWwpIFRvdXRlcyDDqXRpcXVldHRlcyBxdWUgdm91cyB1dGlsaXNleiBwb3VyIG9yZ2FuaXNlciB2b3MgaMO0dGVzACoqUsOpdGVudGlvbiBkJ2luc3RhbnRhbsOpcyBkZSBsJ2h5cGVydmlzZXVyKiogOiBwb3VyIGxlIHN0b2NrYWdlIGRlIGdlc3Rpb24gc2V1bGVtZW50LiBDJ2VzdCB1bmUgdmFsZXVyIHF1aSBlc3QgdW4gcG91cmNlbnRhZ2UgZGUgbGEgdGFpbGxlIGR1IGRpc3F1ZSBkZSBkb25uw6llcy4gUGFyIGV4ZW1wbGUsIHNpIGxlIGRpc3F1ZSBkZSBkb25uw6llcyBmYWl0IDIwR0IgZXQgcXVlIGxhIHLDqXRlbnRpb24gZCdpbnN0YW50YW7DqXMgZGUgbCdoeXBlcnZpc2V1ciBlc3QgZGUgMjAwJSwgYWxvcnMgbGUgc3RvY2thZ2UgZGUgdm9sdW1lIHF1aSBzb3V0aWVudCBsZSBzdG9ja2FnZSBkZSBkb25uw6llcyAoWGVuU2VydmVyKSBvdSBsZSBkYXRhc3RvcmUgKFZNd2FyZSkgZW4gcXVlc3Rpb24gZXN0IHRhaWxsw6kgw6AgNjAgR0IgKDIwIEdCICsgKDIwIEdCICoyKSkuIENlbGEgYWN0aXZlIGRlIGwnZXNwYWNlIHBvdXIgbGVzIGluc3RhbnRhbm7DqXMgZGUgbCdoeXBlcnZpc2V1ciBlbiBjb21wbMOpdGVtZW50IGF1IGRpc3F1ZSB2aXJ0dWVsIHF1aSByZXByw6lzZW50ZSBsZXMgZG9ubsOpZXMgZHUgZGlzcXVlLiBDZWxhIG5lIHMnYXBwbGlxdWUgcGFzIMOgIEtWTS4AKipSw6lzZXJ2ZSBkJ2luc3RhbnRhbsOpcyBzdXIgbCdIeXBlcnZpc2V1cioqIDogUG91ciBsZXMgc3RvY2thZ2VzIGfDqXLDqXMgc2V1bGVtZW50LiBDJ2VzdCB1bmUgdmFsZXVyIHF1aSBlc3QgdW4gcG91cmNlbnRhZ2UgZGUgbGEgdGFpbGxlIGR1IGRpc3F1ZSByYWNpbmUuIFNpIGxlIGRpc3F1ZSByYWNpbmUgZXN0IGRlIDIwR0IgZXQgcXVlIGxhIHLDqXNlcnZlIGQnaW5zdGFudGFuw6llIHN1ciBsJ2h5cGVydmlzZXVyIGVzdCBkZSAyMDAlLCBsZSB2b2x1bWUgZGUgc3RvY2thZ2UgcXVpIGVzdCByw6lzZXJ2w6kgc3VyIGxlIGTDqXDDtHQgZGUgc3RvY2thZ2UgKFhlblNlcnZlcikgb3Ugc3VyIGxlIGRhdGFzdG9yZSAoVk13YXJlKSBlbiBxdWVzdGlvbiBlc3QgdGFpbGzDqWUgw6AgNjBHQiAoMjAgR0IgKyAoMjAgR0IgKiAyKSkuIENlY2kgdmFsaWRlIGRlIGwnZXNwYWNlIHBvdXIgbGVzIGluc3RhbnRhbsOpcyBlbiBjb21wbMOpbWVudCBkdSBkaXNxdWUgdmlydHVlbCBxdWkgcmVwcsOpc2VudGUgbGUgZGlzcXVlIHJhY2luZS4gQ2VjaSBuZSBzJ2FwcGxpcXVlIHBhcyDDoCBLVk0uACoqSU9QUyBNYXgqKiA6IEFwcGFyYcOudCBzZXVsZW1lbnQgc2kgbGEgUW9TIGRvaXQgw6p0cmUgdXRpbGlzw6llLiBGaXhlciB1biBub21icmUgZGUgSU9QUyBtYXhpbXVtIGEgZm9yY2VyIGR1IGPDtHTDqSBzdG9ja2FnZSAobGUgc3lzdMOobWUgcGV1dCBhbGxlciBhdSBkZWzDoCBkZSBjZXMgbGltaXRlcyBkYW5zIGNlcnRhaW5lcyBjaXJjb25zdGFuY2VzIHBvdXIgZGVzIGludGVydmFsbGVzIGNvdXJ0cykuACoqTcOpbW9pcmUgKGVuIE1CKSoqIDogTGEgcXVhbnRpdMOpIGRlIG3DqW1vaXJlIGVuIG3DqWdhYnl0ZXMgcXVlIGxhIFZNIHN5c3TDqG1lIGF1cmEgZCdhbGxvdcOpLiBQYXIgZXhlbXBsZSwg4oCcMjA0OOKAnSBkZXZyYWl0IGZvdXJuaXIgdW5lIGFsbG9jYXRpb24gZGUgMkdCIGRlIFJBTS4gU2kgUGVyc29ubmFsaXPDqSBlc3QgdmFsaWTDqSwgY2UgY2hhbXAgbidhcHBhcmHDrnQgcGFzLgAqKklPUFMgbWluKiogOiBhcHBhcmHDrnQgc2V1bGVtZW50IHNpIGxhIFFvUyBkdSBzdG9ja2FnZSBkb2l0IMOqdHJlIHV0aWxpc8OpZS4gRml4ZXIgdW4gbm9tYnJlIGRlIElPUFMgZ2FyYW50aWVzIGZvcmPDqSBkdSBjw7R0w6kgZHUgc3RvY2thZ2UuACoqTm9tKiogOiBOJ2ltcG9ydGUgcXVlbCBub20gc291aGFpdMOpIHBvdXIgbCdvZmZyZSBkZSBkaXNxdWUuACoqTm9tKiogOiBOJ2ltcG9ydGUgcXVlbCBub20gc291aGFpdMOpIHBvdXIgbCdvZmZyZSBkZSBzZXJ2aWNlLgAqKlZpdGVzc2UgUsOpc2VhdSoqIDogdml0ZXNzZSBkZSB0cmFuc2ZlcnQgZGUgZG9ubsOpZXMgYXV0b3Jpc8OpZSBwYXIgc2Vjb25kZS4AKipPZmZyZSBIQSoqIDogU2kgb3VpLCBsJ2FkbWluaXN0cmF0ZXVyIHBldXQgY2hvaXNpciBkJ2F2b2lyIGxhIFZNIHN5c3TDqG1lIGRlIG1vbml0b3LDqWUgZXQgZCfDqnRyZSBhdXNzaSBoYXV0ZW1lbnQgZGlzcG9uaWJsZSBxdWUgcG9zc2libGUuACoqTW9kZSBkZSBwbGFuaWZpY2F0aW9uKiogOiBVdGlsaXPDqSBxdWFuZCBJbXBsaWNpdERlZGljYXRpb25QbGFubmVyIGVzdCBzw6lsZWN0aW9ubsOpIGRhbnMgbGUgY2hhbXAgcHLDqWPDqWRlbnQuIExlIG1vZGUgZGUgcGxhbmlmaWNhdGlvbiBkw6l0ZXJtaW5lIGNvbW1lbnQgbGVzIFZNcyB2b250IMOqdHJlIGTDqXBsb3nDqWUgc3VyIHVuZSBpbmZyYXN0cnVjdHVyZSBwcml2w6llIHF1aSBlc3QgZMOpZGnDqWUgw6AgdW4gc2V1bCBkb21haW5lIG91IMOgIHVuIGNvbXB0ZS4AKipQdWJsaWMqKiA6IEluZGlxdWUgc2kgbCdvZmZyZSBkZSBzZXJ2aWNlIGRvaXQgw6p0cmUgZGlzcG9uaWJsZSBwb3VyIHRvdXMgbGVzIGRvbWFpbmVzIG91IHNldWxlbWVudCBwb3VyIGNlcnRhaW5zIGRvbWFpbmVzLiBDaG9pc2lyIE91aSBwb3VyIHJlbmRyZSBkaXNwb25pYmxlIMOgIHRvdXMgbGVzIGRvbWFpbmVzLiBDaG9pc2lyIE5vIHBvdXIgbGltaXRlciBsYSBwb3J0w6llIMOgIHVuIHNvdXMtZG9tYWluZSA7IENsb3VkU3RhY2sgdmEgYWxvcnMgZGVtYW5kZXIgbGUgbm9tIGR1IHNvdXMtZG9tYWluZS4AKipUeXBlIGRlIFFvUyoqIDogVHJvaXMgb3B0aW9ucyA6IFZpZGUgKHBhcyBkZSBxdWFsaXTDqSBkZSBzZXJ2aWNlKSwgaHlwZXJ2aXNldXIgKHRhdXggZGUgbGltaXRhdGlvbiBmb3Jjw6kgZHUgY8O0dMOpIGh5cGVydmlzZXVyKSBldCBzdG9ja2FnZSAoSU9QUyBtaW5pbXVtIGV0IG1heGltdW0gZ2FyYW50aXMgZm9yY8OpIGR1IGPDtHTDqSBzdG9ja2FnZSkuIFNpIHZvdXMgdGlyZXogcGFydGkgZGUgbGEgUW9TLCBzb3lleiBzdXIgcXVlIGxlIHN5c3TDqG1lIGRlIGwnaHlwZXJ2aXNldXIgb3UgZHUgc3RvY2thZ2Ugc3VwcG9ydGUgY2V0dGUgZm9uY3Rpb25uYWxpdMOpLgAqKsOJdGlxdWV0dGVzIGRlIHN0b2NrYWdlKiogOiBMZXMgw6l0aXF1ZXR0ZXMgcXVpIGRldnJhaWVudCDDqnRyZSBhc3NvY2nDqWVzIGF2ZWMgbGUgc3RvY2thZ2UgcHJpbWFpcmUgdXRpbGlzw6kgcGFyIGxhIFZNIHN5c3TDqG1lLgAqKlR5cGUgZGUgc3RvY2thZ2UqKiA6IExlIHR5cGUgZGUgZGlzcXVlIHF1aSBkb2l0IMOqdHJlIGFsbG91w6kuIExlcyBhbGxvY2F0aW9ucyBsb2NhbGVzIGRlcHVpcyBsZXMgc3RvY2thZ2VzIGRpcmVjdGVtZW50IGF0dGFjaMOpcyDDoCBsJ2jDtHRlIHN1ciBsZXF1ZWwgbGEgVk0gZXN0IGVuIGZvbmN0aW9ubmVtZW50LiBMZXMgYWxsb2NhdGlvbnMgcGFydGFnw6llcyBkZXB1aXMgdW4gc3RvY2thZ2UgYWNjZXNzaWJsZSB2aWEgTkZTLgAqKkVzdCB2b2xhdGlsZSoqIDogU2kgY29jaMOpLCBsYSBWTSBjcsOpZSBkZXB1aXMgY2V0dGUgb2ZmcmUgZGUgc2VydmljZSBhdXJhIGNlcyBkaXNxdWVzIHJhY2luZXMgcsOpaW5pdGlhbGlzw6lzIMOgIGNoYXF1ZSByZWTDqW1hcnJhZ2UuIEMnZXN0IHV0aWxpc2UgcG91ciBzw6ljdXJpc2VyIGRlcyBlbnZpcm9ubmVtZW50cyBxdWkgb250IGJlc29pbiBkJ3VuIGTDqW1hcnJhZ2UgbmV1ZiDDoCBjaGFxdWUgZMOpbWFycmFnZSBldCBwb3VyIGxlcyBidXJlYXV4IHF1aSBuZSBkb2l2ZW50IHBhcyByZXRlbmlyIGxlcyDDqXRhdHMuACoqVHlwZSB2R1BVKiogOiBSZXByw6lzZW50ZSBsZSB0eXBlIGRlIEdQVSB2aXJ0dWVsIMOgIGFzc2lnbmVyIMOgIGxhIFZNIGludml0w6llLiBEYW5zIGNlIGNhcywgc2V1bGVtZW50IHVuZSBwYXJ0aWUgZGUgbGEgY2FydGUgcGh5c2lxdWUgR1BVICh2R1BVKSBlc3QgYXR0cmlidcOpZSDDoCBsYSBWTSBpbnZpdMOpZS4AKkVucmVnaXN0cmVyIGxlcyDDqXbDqG5lbWVudHMgZCd1dGlsaXNhdGlvbiBwb3VyIGxlcyByZXNzb3VyY2VzIGFzc2lnbsOpZXMgZHluYW1pcXVlbWVudCouAFVuZSBWTSBpbnZpdMOpZSBkb2l0IGF2b2lyIHVuIHLDqXNlYXUgcGFyIGTDqWZhdXQsIGV0IHBldSBhdXNzaSBhdm9pciBwbHVzaWV1cnMgcsOpc2VhdXggYWRkaXRpb25uZWxzLiBFbiBmb25jdGlvbiBkZSBub21icmV1eCBwYXJhbcOodHJlcywgY29tbWUgbCdow7R0ZSBvdSBsZSBjb21tdXRhdGV1ciB2aXJ0dWVsIHV0aWxpc8OpLCB2b3VzIHBvdXZleiBvYnNlcnZlciB1bmUgZGlmZsOpcmVuY2UgZGUgdml0ZXNzZSBkdSByw6lzZWF1IGRhbnMgdm90cmUgY2xvdWQuIFBhciBleGFtcGxlLCBzdXIgdW4gaMO0dGUgVk13YXJlIGxhIHZpdGVzc2UgcsOpc2VhdSBhY3R1ZWxsZSB2YXJpZSBlbiBmb25jdGlvbiBkZSBsJ2VuZHJvaXQgb8O5IGVsbGUgZXN0IGNvbmZpZ3Vyw6llIChvZmZyZSBkZSBjYWxjdWwsIG9mZnJlIHLDqXNlYXUsIG91IGxlcyBkZXV4KSA7IGxlIHR5cGUgZGUgcsOpc2VhdSAocGFydGFnw6kgb3UgaXNvbMOpKSA7IGV0IGxhIGRpcmVjdGlvbiBkdSB0cmFmaWMgKGVudHJhbnQgb3Ugc29ydGFudCkuAFVuZSBvZmZyZSBkZSBzZXJ2aWNlIHBldXQgw6p0cmUgc3VwcHJpbcOpZS4gU2kgZWxsZSBuJ2VzdCBwbHVzIHV0aWxpc8OpZSwgZWxsZSBlc3QgZMOpdHJ1aXRlIGltbcOpZGlhdGVtZW50IGV0IGRlIGZhw6dvbiBwZXJtYW5lbnRlLiBTaSBsJ29mZnJlIGRlIHNlcnZpY2UgZXN0IHRvdWpvdXJzIHV0bGlzw6llLCBlbGxlIHJlc3RlcmEgZW4gYmFzZSBkZSBkb25uw6llcyBqdXNxdSfDoCBjZSBxdWUgdG91dGVzIGxlcyBtYWNoaW5lcyB2aXJ0dWVsbGVzIGxhIHLDqWbDqXJlbsOnYW50IG9udCDDqXTDqSBzdXBwcmltw6llcy4gQXByw6hzIGxhIHN1cHByZXNzaW9uIHBhciBsJ2FkbWluaXN0cmF0ZXVyLCBsJ29mZnJlIGRlIHNlcnZpY2UgbmUgc2VyYSBwbHVzIGRpc3BvbmlibGUgcG91ciBsZXMgdXRpbGlzYXRldXJzIGZpbmF1eCBxdWkgY3LDqWVudCBkZSBub3V2ZWxsZXMgaW5zdGFuY2VzLgBVbmUgb2ZmcmUgZGUgc2VydmljZSBpbmNsdWUgbGVzIMOpbMOpbWVudHMgc3VpdmFudHMgOgBVbmUgb2ZmcmUgZGUgc2VydmljZSBlc3QgdW4gZW5zZW1ibGUgZGUgZm9uY3Rpb25uYWxpdMOpcyBtYXTDqXJpZWxsZXMgdmlydHVlbGxlcyBjb21tZSB1biBub21icmUgZGUgY29ldXIgQ1BVIGV0IGRlIHZpdGVzc2UsIGRlIG3DqW1vaXJlIGV0IGRlIHRhaWxsZSBkaXNxdWUuIEwnYWRtaW5pc3RyYXRldXIgQ2xvdWRTdGFjayBwZXV0IGNvbmZpZ3VyZXIgZGlmZsOpcmVudGVzIG9mZnJlcyBxdWUgbGVzIHV0aWxpc2F0ZXVycyBmaW5hdXggcGV1dmVudCBjaG9pc2lyIGRlcHVpcyBsZXMgb2ZmcmVzIGRpc3BvbmlibGVzIGxvcnNxdSdpbHMgY3LDqWVudCBsZXVyIG5vdXZlbGxlIFZNLiBTZWxvbiBsJ29mZnJlIGNob2lzaWUgcGFyIGwndXRpbGlzYXRldXIsIENsb3VkU3RhY2sgw6ltZXQgdW4gZW5yZWdpc3RyZW1lbnQgZCd1dGlsaXNhdGlvbiBxdWkgcGV1dCDDqnRyZSBpbnTDqWdyw6kgYXZlYyBsZSBzeXN0w6htZSBkZSBwYWllbWVudC4AVW4gdXRpbGlzYXRldXIgcXVpIGNyw6nDqSB1bmUgbm91dmVsbGUgaW5zdGFuY2UgcGV1dCBmYWlyZSBkZSBub21icmV1eCBjaG9peCDDoCBwcm9wb3MgZGUgc2VzIGNhcmFjdMOpcmlzdGlxdWVzIGV0IHNlcyBjYXBhY2l0w6lzLiBDbG91ZFN0YWNrIGZvdXJuaXQgcGx1c2lldXJzIGZhw6dvbnMgZGUgcHLDqXNlbnRlciBhdXggdXRpbGlzYXRldXJzIGxlcyBjaG9peCBsb3JzcXUnaWxzIGNyw6llbnQgdW5lIG5vdXZlbGxlIGluc3RhbmNlIDoAUsOpc2VhdXggYWRkaXRpb25uZWxzIHBvdXIgdW5lIFZNIGludml0w6llAEVuIGNvbXBsw6ltZW50LCBsZSB0eXBlICoqcGFzc3Rocm91Z2ggdkdQVSoqIGVzdCBkw6lmaW5pIHBvdXIgcmVwcsOpc2VudGVyIHVuIHDDqXJpcGjDqXJpcXVlIEdQVSBwaHlzaXF1ZS4gVW4gKipwYXNzdGhyb3VnaCB2R1BVKiogcGV1IMOqdHJlIGRpcmVjdGVtZW50IGFzc2lnbsOpIMOgIHVuZSBzZXVsZSBWTSBpbnZpdMOpZS4gRGFucyBjZSBjYXMsIHVuIHDDqXJpcGjDqXJpcXVlIHBoeXNpcXVlIEdQVSBlc3QgZXhjbHVzaXZlbWVudCBhbGxvdcOpIMOgIHVuZSBzZXVsZSBWTSBpbnZpdMOpZS4AU2F1dmVnYXJkZXIgbGEgYmFzZSBkZSBkb25uw6llcyA6AEJhcmUgTWV0YWwgZXN0IHV0aWxpc8OpIGF2ZWMgbGVzIGjDtHRlcyBiYXJlIG1ldGFsLiBWb2lyIEluc3RhbGxhdGlvbiBCYXJlIE1ldGFsIGRhbnMgbGUgZ3VpZGUgZCdpbnN0YWxsYXRpb24uAENQVSAoZW4gTUh6KS4gTGEgdml0ZXNzZSBDUFUgZGVzIGNvZXVycyBhbGxvdcOpcyDDoCBsYSBWTSBzeXN0w6htZS4gUGFyIGV4ZW1wbGUsICIyMDAwIiBkZXZyYWl0IGZvdXJuaXIgdW5lIHZpdGVzc2UgZCdob3Jsb2dlIGRlIDJHaHouIABDUFUgY2FwLiBQb3VyIGxpbWl0ZXIgbGUgdGF1eCBkJ3V0aWxpc2F0aW9uIGR1IENQVSBzaSBsYSBjYXBhY2l0w6kgZGUgcsOpc2VydmUgZXN0IGRpc3BvbmlibGUuAExlcyByZXNzb3VyY2VzIENQVSwgbcOpbW9pcmUgZXQgcsOpc2VhdSBnYXJhbnRpZXMAQ2hhbmdlciBsJ09mZnJlIFN5c3TDqG1lIHBhciBEw6lmYXV0IHBvdXIgbGVzIFZNcyBTeXN0w6htZXMAQ2xpcXVlciBzdXIgQWpvdXRlciB1bmUgb2ZmcmUgZGUgY2FsY3VsLgBDbGlxdWVyIHN1ciBBam91dGVyIHVuZSBvZmZyZSBkZSBkaXNxdWUuAENsaXF1ZXIgc3VyIEFqb3V0ZXIgdW5lIG9mZnJlIGRlIHNlcnZpY2Ugc3lzdMOobWUuAENsaXF1ZXIgc3VyIEFqb3V0ZXIuAENsb3VkU3RhY2sgdm91cyBmb3VybmlzIGxhIGZsZXhpYmlsaXTDqSBkZSBzcMOpY2lmaWVyIGxlcyB2YWxldXJzIGTDqXNpcsOpZXMgcG91ciBsZSBub21icmUgZGUgQ1BVLCBsYSB2aXRlc3NlIENQVSwgbGEgbcOpbW9pcmUgbG9yc3F1ZSB2b3VzIGTDqXBsb3lleiB1bmUgVk0uIEVuIHRhbnQgcXUnYWRtaW5pc3RyYXRldXIsIHZvdXMgY3LDqWV6IHVuZSBvZmZyZSBkZSBjYWxjdWwgZW4gbGEgbWFycXVhbnQgY29tbWUgcGVyc29ubmFsaXPDqWUgZXQgbGVzIHV0aWxpc2F0ZXVycyBwb3Vycm9udCBwZXJzb25uYWxpc2VyIGR5bmFtaXF1ZW1lbnQgbGVzIG9mZnJlcyBkZSBjYWxjdWxlIGVuIHNww6ljaWZpYW50IGxhIG3DqW1vaXJlLCBsZSBDUFUgYXUgbW9tZW50IGRlIGxhIGNyw6lhdGlvbiBvdSBkZSBsYSBtaXNlIMOgIGpvdXIgZGUgVk0uIFVuZSBvZmZyZSBkZSBjYWxjdWwgcGVyc29ubmFsaXPDqWUgZXN0IGxhIG3Dqm1lIGNob3NlIHF1J3VuZSBvZmZyZSBkZSBjYWxjdWwgbm9ybWFsZSDDoCBsJ2V4Y2VwdGlvbiBxdWUgbGVzIHZhbGV1cnMgZGVzIHBhcmFtw6h0cmVzIGR5bmFtaXF1ZXMgc2Vyb250IGZpeMOpZXMgw6AgesOpcm8gZGFucyBsZXMgZW5zZW1ibGVzIGRlIG1vZMOobGVzIGRvbm7DqXMuIFV0aWxpc2VyIGNldHRlIG9mZnJlIHBvdXIgZMOpcGxveWVyIHVuZSBWTSBlbiBzcMOpY2lmaWFudCBkZXMgdmFsZXVycyBwZXJzb25uYWxpc8OpZXMgcG91ciBsZXMgcGFyYW3DqHRyZXMgZHluYW1pcXVlcy4gTGEgbcOpbW9pcmUsIENQVSBldCBub21icmVzIGRlIENQVSBzb250IGNvbnNpZMOpcsOpcyBjb21tZSBkZXMgcGFyYW3DqHRyZXMgZHluYW1pcXVlcy4AQ2xvdWRTdGFjayBzw6lwYXJlIGxlcyBvZmZyZXMgZGUgc2VydmljZSBlbiBvZmZyZXMgZGUgY2FsY3VsIGV0IG9mZnJlcyBkZSBkaXNxdWUuIEwnb2ZmcmUgZGUgc2VydmljZSBkZSBjYWxjdWwgc3DDqWNpZmllIDoAT2ZmcmUgZGUgY2FsY3VsAE9mZnJlcyBkZSBzZXJ2aWNlIGRlIGRpc3F1ZSBldCBkZSBjYWxjdWwAT2ZmcmVzIGRlIHLDqXNlYXUgY29ycmVzcG9uZGFudABDcsOpZXIgdW5lIG5vdXZlbGxlIG9mZnJlIHN5c3TDqG1lLgBDcsOpZXIgdW5lIG5vdXZlbGxlIG9mZnJlIGRlIGNhbGN1bABDcsOpZXIgdW5lIE5vdXZlbGxlIG9mZnJlIGRlIGRpc3F1ZS4AQ3LDqWVyIHVuZSBOb3V2ZWxsZSBvZmZyZSBkZSBzZXJ2aWNlIHN5c3TDqG1lAE9mZnJlIGRlIGNhbGN1bCBwZXJzb25uYWxpc8OpAFLDqXNlYXUgcGFyIGTDqWZhdXQgZCd1bmUgVk0gaW52aXTDqWUARGVzY3JpcHRpb24uIFVuZSBkZXNjcmlwdGlvbiBjb3VydGUgcG91ciBsJ29mZnJlIHF1aSBwZXV0IMOqdHJlIGFmZmljaMOpZSBhdXggdXRpbGlzYXRldXJzLgBEw6l0cnVpcmUgbGVzIENQVk0gZXQgU1NWTSBleGlzdGFudGVzIGV0IGF0dGVuZHJlIHF1J2VsbGVzIHNvaWVudCByZWNyw6nDqWVzLiBMZXMgbm91dmVsbGVzIENQVk0gZXQgU1NWTSBzb250IGNvbmZpZ3Vyw6llcyBhdmVjIGxlcyBub3V2ZWxsZXMgb2ZmcmVzLgBMZXMgb2ZmcmVzIGRlIHNlcnZpY2VzLCBkw6lmaW5pZXMgcGFyIGwnYWRtaW5pc3RyYXRldXIgQ2xvdWRTdGFjaywgZm91cm5pIHVuIGNob2l4IGRlIHRhaWxsZSBkZSBkaXNxdWUgZXQgZGUgSU9QUyAocXVhbGl0w6kgZGUgc2VydmljZSkgcG91ciBsZSBzdG9ja2FnZSBwcmltYWlyZSBkZXMgZG9ubsOpZXMuIFZvaXIgY3LDqWVyIHVuZSBub3V2ZWxsZSBvZmZyZSBkZSBkaXNxdWUuAExhIHRhaWxsZSBkdSBkaXNxdWUgKG9wdGlvbm5lbCkuIFNpIG5vbiBkw6lmaW5pIHBhciBsJ2FkbWluaXN0cmF0ZXVyIENsb3VkU3RhY2ssIGxlcyB1dGlsaXNhdGV1cnMgcGV1dmVudCBjaG9pc2lyIGxhIHRhaWxsZSBkdSBkaXNxdWUuAExlcyBvZmZyZXMgZGUgY2FsY3VsIGR5bmFtaXF1ZXMgcGV1dmVudCDDqnRyZSB1dGlsaXPDqWVzIGRhbnMgbGVzIGNhcyBzdWl2YW50cyA6IGTDqXBsb3llciB1bmUgVk0sIGNoYW5nZXIgbCdvZmZyZSBkZSBjYWxjdWwgZCd1bmUgVk0gc3RvcHDDqWUgZXQgYXVnbWVudGVyIGwnb2ZmcmUgZGUgVk1zIGVuIGNvdXJzIGRlIGZvbmN0aW9ubmVtZW50LiBQb3VyIHN1cHBvcnRlciBjZXR0ZSBmb25jdGlvbm5hbGl0w6ksIHVuIG5vdXZlYXUgY2hhbXBzLCBQZXJzb25uYWxpc8OpLCBhIMOpdMOpIGFqb3V0w6kgw6AgbGEgcGFnZSBDcsOpZXIgdW5lIG9mZnJlIGRlIGNhbGN1bC4gU2kgbGUgY2hhbXBzIHBlcnNvbm5hbGlzw6kgZXN0IGNvY2jDqSwgbCd1dGlsaXNhdGV1ciBzZXJhIGNhcGFibGUgZGUgY3LDqWVyIHVuZSBvZmZyZSBkZSBjYWxjdWwgcGVyc29ubmFsaXPDqSBlbiByZW1wbGlzc2FudCBsZXMgdmFsZXVycyBkw6lzaXLDqWVzIGR1IG5vbWJyZSBkZSBDUFUsIGRlIHZpdGVzc2UgQ1BVIGV0IGRlIG3DqW1vaXJlLiBWb2lyID8gcG91ciBwbHVzIGQnaW5mb3JtYXRpb25zLgBTJ2Fzc3VyZXIgcXVlIHZvdXMgdXRpbGlzZXogbGEgdmFsZXVyIGNvcnJlY3RlIHBvdXIgbCdJRC4ARmlyc3QgRml0IHBsYWNlIGxlcyBub3V2ZWxsZXMgVk1zIHN1ciBsZSBwcmVtaWVyIGjDtHRlIHF1J2lsIHRyb3V2ZSBkaXNwb3NhbnQgZGUgc3VmZmlzYW1tZW50IGRlIGNhcGFjaXTDqSBwb3VyIHN1cHBvcnRlciBsZXMgYmVzb2lucyBkZSBsYSBWTS4AUGFyIGV4ZW1wbGUsIHVuZSBvZmZyZSBkZSBzZXJ2aWNlIHBldXQgYXV0b3Jpc2VyIGxlcyB1dGlsaXNhdGV1cnMgw6AgY3LDqWVyIHVuZSBpbnN0YW5jZSBkZSBtYWNoaW5lIHZpcnR1ZWxsZSBxdWkgZXN0IMOpcXVpdmFsZW50ZSDDoCAxIENQVSBJbnRlbMKuIENvcmXihKIgMiDDoCAxIEdIeiwgYXZlYyAxIEdvIGRlIG3DqW1vaXJlIMOgIDAuMjDigqwgZGUgbCdoZXVyZSwgYXZlYyB1biB0cmFmaWMgcsOpc2VhdSBtZXN1csOpZSDDoCAwLjEw4oKsIHBhciBHby4AUGFyIGV4ZW1wbGUgOgBQb3VyIHBsdXMgZCdpbmZvcm1hdGlvbiwgdm9pciBDcsOpZXIgdW5lIG5vdXZlbGxlIG9mZnJlIGRlIHNlcnZpY2Ugc3lzdMOobWUuAFBvdXIgbCdvZmZyZSBwYXIgZMOpZmF1dCBkZSBsYSBWTSBDb25zb2xlIFByb3h5IChDUFZNKSwgZml4ZXIgdW5pcXVlXF9uYW1lIMOgICdDbG91ZC5jb20tQ29uc29sZVByb3h5Jy4gUG91ciBsJ29mZnJlIHBhciBkw6lmYXV0IGRlIGxhIFZNIGRlIFN0b2NrYWdlIFNlY29uZGFpcmUgKFNTVk0pLCBmaXhlciB1bmlxdWVcX25hbWUgw6AgJ0Nsb3VkLmNvbS1TZWNvbmRhcnlTdG9yYWdlJy4gUGFyIGV4ZW1wbGUgOgBQb3VyIGxlcyByw6lzZWF1eCBwdWJsaWMgcGFyIGTDqWZhdXQsIHN0b2NrYWdlIGV0IGRlIGdlc3Rpb24sIGxhIHZpdGVzc2UgZHUgcsOpc2VhdSBlc3QgZml4w6kgw6AgMC4gQ2VsYSBpbXBsaXF1ZSBxdWUgbGVzIHLDqXNlYXV4IHB1YmxpYyBwYXIgZMOpZmF1dCwgc3RvY2thZ2UgZXQgZGUgZ2VzdGlvbiBhdXJvbnQgdW5lIGJhbmRlIHBhc3NhbnRlIGlsbGltaXTDqWUgcGFyIGTDqWZhdXQuIFBvdXIgbGUgcsOpc2VhdSBpbnZpdMOpIHBhciBkw6lmYXV0LCBsYSB2aXRlc3NlIGR1IHLDqXNlYXUgZXN0IGZpeMOpZSDDoCBOVUxMLiBEYW5zIGNlIGNhcywgbGEgdml0ZXNzZSBkdSByw6lzZWF1IGVzdCBmaXjDqWUgcGFyIGTDqWZhdXQgw6AgbGEgdmFsZXVyIGR1IHBhcmFtw6h0cmUgZ2xvYmFsLgBQb3VyIGxhIG5vdXZlbGxlIG9mZnJlIHF1ZSB2b3VzIHZvdWxleiB1dGlsaXNlciBwYXIgZMOpZmF1dCwgZml4ZXIgbGEgdmFsZXVyIGRlIHVuaXF1ZVxfbmFtZSBjb21tZSBjZWNpIDoAUG91ciBsJ29mZnJlIHBhciBkw6lmYXV0IG9yaWdpbmFsZSwgZml4ZXIgbGEgdmFsZXVyIGRlIHVuaXF1ZVxfbmFtZSDDoCBOVUxMLgBDYXJ0ZSBHUFUgKHZHUFUpIMOgIGxhIFZNIGludml0w6llLiBDZWxhIHBlcm1ldCDDoCBkZXMgYXBwbGljYXRpb25zIGdyYXBoaXF1ZSBkZSBmb25jdGlvbm5lciBzdXIgbGEgVk0uIFPDqWxlY3Rpb25uZXIgbGEgY2FydGUgZGVwdWlzIGxhIGxpc3RlIGRlcyBjYXJ0ZXMgc3VwcG9ydMOpZXMuAFBhcmFtw6h0cmUgR2xvYmFsAExlIENQVSBkZSBsJ2ludml0w6kgKG9wdGlvbm5lbCkuIFNpIG5vbiBkw6lmaW5pIHBhciBsJ2FkbWluaXN0cmF0ZXVyIENsb3VkU3RhY2ssIGxlcyB1dGlsaXNhdGV1cnMgcGV1dmVudCBjaG9pc2lyIGxlcyBhdHRyaWJ1dHMgZHUgQ1BVLgBPZmZyZSBkZSByw6lzZWF1IGludml0w6kATGUgdHlwZSBkZSByw6lzZWF1IGludml0w6lzICh2aXJ0dWVsIG91IGRpcmVjdCkATGEgUkFNIGRlIGwnaW52aXTDqSAob3B0aW9ubmVsKS4gU2kgbm9uIGTDqWZpbmkgcGFyIGwnYWRtaW5pc3RyYXRldXIgQ2xvdWRTdGFjaywgbGVzIHV0aWxpc2F0ZXVycyBwZXV2ZW50IGNob2lzaXIgbGEgUkFNLiAAUsOpc2VhdSBpbnZpdMOpIGQndW4gUm91dGV1ciBWaXJ0dWVsAEV0aXF1ZXR0ZXMgZCdow7R0ZXMuIChPcHRpb25uZWwpIE4naW1wb3J0ZSBxdWVsbGUgw6l0aXF1ZXR0ZSBxdWUgdm91cyB1dGlsaXNleiBwb3VyIG9yZ2FuaXNlciB2b3MgaMO0dGVzLgBDb21iaWVuIGRlIGZvaXMgbGVzIGZyYWlzIHNvbnQgZ8OpbsOpcsOpcwBDb21tZW50IGxlcyByZXNzb3VyY2VzIHNvbnQgbWVzdXLDqWVzAENvbW1lbnQgbCd1dGlsaXNhdGlvbiBkZSBsYSByZXNzb3VyY2VzIGVzdCBjaGFyZ8OpAFNpIGxlIHRhdXggZHUgcsOpc2VhdSBlc3QgZml4w6kgw6AgTlVMTCBkYW5zIGwnb2ZmcmUgZGUgc2VydmljZSwgbGEgdmFsZXVyIGZvdXJuaWUgcGFyIGxlIHBhcmFtw6h0cmUgZ2xvYmFsIHZtLm5ldHdvcmsudGhyb3R0bGluZy5yYXRlIGVzdCBhcHBsaXF1w6llLiBTaSBsYSB2YWxldXIgZXN0IGZpeMOpZSDDoCBOVUxMIHBvdXIgbCdvZmZyZSByw6lzZWF1LCBsYSB2YWxldXIgZm91cm5pZSBwYXIgbGUgcGFyYW3DqHRyZSBnbG9iYWwgbmV0d29yay50aHJvdHRsaW5nLnJhdGUgZXN0IHByaXMgZW4gY29uc2lkw6lyYXRpb24uIABTaSBsZSBjaGFtcCBQZXJzb25uYWxpc8OpIGVzdCB2YWxpZMOpZSwgbCd1dGlsaXNhdGV1ciBmaW5hbCBkb2l0IHJlbXBsaXIgbGVzIHZhbGV1cnMgZMOpc2lyw6llcyBwb3VyIGxlIG5vbWJyZSBkZSBDUFUsIGxhIHZpdGVzc2UgQ1BVIGV0IGxhIG3DqW1vaXJlIFJBTSBsb3JzIGR1IGNob2l4IGQndW5lIG9mZnJlIGRlIGNhbGN1bCBwZXJzb25uYWxpc8OpZS4gTG9yc3F1ZSB2b3VzIGNvY2hleiBsYSBjYXNlLCBjZXMgdHJvaXMgY2hhbXBzIGRlIHNhaXNpZSBzb250IG1hc3F1w6llcyBkYW5zIGxhIGJvw650ZSBkZSBkaWFsb2d1ZS4ATCdhdHRyaWJ1dGlvbiBpbXBsaWNpdGUgdmEgZMOpcGxveWVyIGxlcyBWTXMgc3VyIHVuZSBpbmZyYXN0cnVjdHVyZSBwcml2w6llIHF1aSBlc3QgZMOpZGnDqWUgw6AgdW4gZG9tYWluZSBzcMOpY2lmaXF1ZSBvdSB1biBjb21wdGUuIFNpIHZvdXMgY2hvaXNpc3NleiBjZXR0ZSBwbGFuaWZpY2F0aW9uLCBhbG9ycyB2b3VzIGRldmV6IGF1c3NpIGNob2lzaXIgdW5lIHZhbGV1ciBwb3VyIGxlIE1vZGUgZGUgcGxhbmlmaWNhdGlvbi4gVm9pciBg4oCcRMOpZGllciBkZXMgcmVzc291cmNlcyDDoCBkZXMgY29tcHRlcyBldCBkZXMgZG9tYWluZXPigJ0gPGFjY291bnRzLmh0bWwjZGVkaWNhdGluZy1yZXNvdXJjZXMtdG8tYWNjb3VudHMtYW5kLWRvbWFpbnM+YF8uAERhbnMgQ2hvaXNpciB1bmUgb2ZmcmUsIGNob2lzaXIgT2ZmcmUgZGUgY2FsY3VsLgBEYW5zIFPDqWxlY3Rpb25uZXIgdW5lIG9mZnJlLCBjaG9pc2lyIE9mZnJlIGRlIGRpc3F1ZS4ARGFucyBDaG9pc2lyIGwnb2ZmcmUsIGNob2lzaXIgT2ZmcmUgc3lzdMOobWUuAEVuIGNvbXBsw6ltZW50IMOgIGwnaW5mcmFzdHJ1Y3R1cmUgcGh5c2lxdWUgZXQgbG9naXF1ZSBkZSB2b3RyZSBjbG91ZCBldCBkZXMgc2VydmV1cnMgZXQgbG9naWNpZWxzIENsb3VkU3RhY2ssIHZvdXMgYXZleiDDqWdhbGVtZW50IGJlc29pbiBkJ3VuZSBjb3VjaGUgZGUgc2VydmljZXMgdXRpbGlzYXRldXJzIHBvdXIgcXVlIGxlcyB1dGlsaXNhdGV1cnMgcHVpc3NlbnQgZmFpcmUgdW4gdXNhZ2UgZHUgY2xvdWQuIENlbGEgbmUgc2lnbmlmaWUgcGFzIHNldWxlbWVudCB1bmUgaW50ZXJmYWNlIHV0aWxpc2F0ZXVyLCBtYWlzIHVuIGVuc2VtYmxlIGQnb3B0aW9ucyBldCBkZSByZXNzb3VyY2VzIHBhcm1pIGxlc3F1ZWxzIGxlcyB1dGlsaXNhdGV1cnMgcGV1dmVudCBzZSBzZXJ2aXIsIGNvbW1lIGxlcyBtb2TDqGxlcyBwb3VyIGNyw6llciBkZXMgbWFjaGluZXMgdmlydHVlbGxlcywgZGVzIGRpc3F1ZXMgZGUgc3RvY2thZ2UsIGV0Yy4gU2kgdm91cyBnw6lyZXIgdW4gc2VydmljZSBjb21tZXJjaWFsLCB2b3VzIGNvbnNlcnZlcmV6IHVuIHN1aXZpIGRlIHF1ZWxzIHNlcnZpY2VzIGV0IHF1ZWxsZXMgcmVzc291cmNlcyBsZXMgdXRpbGlzYXRldXJzIG9udCBmYWl0IGwndXNhZ2UgZXQgbGV1ciBmYWN0dXJlcmV6LiBNw6ptZSBzaSB2b3VzIG5lIGZhY3R1cmV6IHJpZW4gYXV4IHBlcnNvbm5lcyBxdWkgdXRpbGlzZW50IHZvdHJlIGNsb3VkLCBlbiBkJ2F1dHJlcyBtb3RzIHNpIGxlcyB1dGlsaXNhdGV1cnMgc29udCBzdHJpY3RlbWVudCBpbnRlcm5lcyDDoCB2b3RyZSBvcmdhbmlzYXRpb24sIG91IGp1c3RlIGRlcyBhbWlzIHF1aSBwYXJ0YWdlbnQgdm90cmUgY2xvdWQsIHZvdXMgcG91dmV6IGNvbnRpbnVlciDDoCBzdWl2cmUgcXVlbHMgc2VydmljZXMgaWxzIHV0aWxpc2VudCBldCBjb21iaWVuIGxlIGZvbnQuAEVuIHBsdXMgZGUgY2VzIGNob2l4IHF1aSBzb250IHByb3Bvc8OpcyBhdXggdXRpbGlzYXRldXJzLCBpbCB5IGEgdW4gYXV0cmUgdHlwZSBkJ29mZnJlIGRlIHNlcnZpY2UgcXVpIG4nZXN0IGRpc3BvbmlibGUgcXUnw6AgbCdhZG1pbmlzdHJhdGV1ciByYWNpbmUgZGUgQ2xvdWRTdGFjayBldCBxdWkgZXN0IHV0aWxpc8OpIHBvdXIgY29uZmlndXJlciBsZXMgcmVzc291cmNlcyBkJ2luZnJhc3RydWN0dXJlcyB2aXJ0dWVsbGVzLiBQb3VyIHBsdXMgZCdpbmZvcm1hdGlvbiwgdm9pciBNZXR0cmUgw6Agam91ciB1biBSb3V0ZXVyIFZpcnR1ZWwgYXZlYyBsZXMgT2ZmcmVzIGRlIHNlcnZpY2Ugc3lzdMOobWUuAERhbnMgbGVzIHLDqXNlYXV4IHBhcnRhZ8OpcywgbGUgdHJhZmljIGVudHJhbnQgbmUgc2VyYSBwYXMgbGltaXTDqSBwb3VyIENsb3VkU3RhY2ssIHRhbmRpcyBxdWUgbGUgdHJhZmljIHNvcnRhbnQgc2VyYSBsaW1pdMOpIMOgIDIwMCBNYnBzLiBEYW5zIHVuIHLDqXNlYXUgaXNvbMOpLCBsZSB0cmFmaWMgZW50cmFudCBzZXJhIGxpbWl0w6kgw6AgMTAgTWJwcyBldCBsZSB0cmFmaWMgc29ydGFudCDDoCAyMDAgTWJwcy4ARGFucyBsYSBib8OudGUgZGUgZGlhbG9ndWUsIGZhaXJlIGxlcyBjaG9peCBzdWl2YW50cyA6AERhbnMgbGEgdGFibGUgZGlza1xfb2ZmZXJpbmcsIGlkZW50aWZpZXIgbCdvZmZyZSBwYXIgZMOpZmF1dCBvcmlnaW5hbGUgZXQgbGEgbm91dmVsbGUgb2ZmcmUgcXVlIHZvdXMgdm91bGV6IHV0aWxpc2VyIHBhciBkw6lmYXV0LgBEYW5zIGxhIGJhcnJlIGRlIG5hdmlnYXRpb24gZGUgZ2F1Y2hlLCBjbGlxdWVyIHN1ciBPZmZyZXMgZGUgc2VydmljZS4AU2UgY29ubmVjdGVyIGF2ZWMgbGVzIHByaXZpbMOoZ2VzIGFkbWluaXN0cmF0ZXVyIGRhbnMgbCdpbnRlcmZhY2UgZGUgQ2xvdWRTdGFjay4AUsOpc2VhdSBkZSBnZXN0aW9uIGQndW5lIFZNIENvbnNvbGUgUHJveHkAUsOpc2VhdSBkZSBnZXN0aW9uIGQndW5lIFZNIGRlIFN0b2NrYWdlIFNlY29uZGFpcmUAUsOpc2VhdSBkZSBnZXN0aW9uIGR1IFJvdXRldXIgVmlydHVlbABNw6ltb2lyZSAoZW4gTUIpLiBMYSBxdWFudGl0w6kgZGUgbcOpbW9pcmUgZW4gbcOpZ2FieXRlcyBxdWkgZGV2cmFpdCDDqnRyZSBhbGxvdcOpZSDDoCBsYSBWTSBzeXN0w6htZS4gUGFyIGV4ZW1wbGUsICIyMDQ4IiBkZXZyYWl0IGZvdXJuaXIgdW5lIGFsbG9jYXRpb24gZGUgMiBHQiBkZSBSQU0uAE1vZGlmaWVyIG91IGTDqXRydWlyZSB1bmUgb2ZmcmUgZGUgc2VydmljZQBOb20uIE4naW1wb3J0ZSBxdWVsIG5vbSBwb3VyIGwnb2ZmcmUgc3lzdMOobWUuAE9mZnJlIHLDqXNlYXUATGVzIG9mZnJlcyBkZSByw6lzZWF1eCwgZMOpZmluaWVzIHBhciBsJ2FkbWluaXN0cmF0ZXVyIENsb3VkU3RhY2ssIGTDqWNyaXZlbnQgbGVzIGZvbmN0aW9ubmFsaXTDqWVzIHF1aSBzb250IGRpc3BvbmlibGVzIGF1eCB1dGlsaXNhdGV1cnMgZmluYXV4IGRlcHVpcyBsZSByb3V0ZXVyIHZpcnR1ZWwgb3UgdW4gw6lsw6ltZW50IGRlIHLDqXNlYXUgZXh0ZXJuZSBzdXIgdW4gcsOpc2VhdSBkJ2ludml0w6kgZMOpZmluaS4gVm9pciBvZmZyZXMgZGUgcsOpc2VhdXguAExhIHZpdGVzc2UgZHUgcsOpc2VhdSBlc3QgZm91cm5pZSBwYXIAVml0ZXNzZSByw6lzZWF1LiBWaXRlc3NlIGRlIHRyYW5zZmVydCBkZSBkb25uw6llcyBhdXRvcmlzw6kgZW4gTUIgcGFyIHNlY29uZGUuAFLDqWd1bGF0aW9uIGR1IHLDqXNlYXUAVml0ZXNzZSBkZSByw6lzZWF1IHBvdXIgbCdvZmZyZSBkZSBjYWxjdWwgPSAyMDAgTWJwcwBWaXRlc3NlIGRlIHLDqXNlYXUgcG91ciBsJ29mZnJlIHLDqXNlYXUgPSAxMCBNYnBzAExhIHLDqWd1bGF0aW9uIGR1IHLDqXNlYXUgZXN0IGxlIHByb2Nlc3N1cyBkZSBjb250csO0bGUgZGUgbCdhY2PDqHMgYXUgcsOpc2VhdSBldCBkZSBsJ3V0aWxpc2F0aW9uIGRlIGxhIGJhbmRlIHBhc3NhbnRlIHNlbG9uIGNlcnRhaW5lcyByw6hnbGVzLiBDbG91ZFN0YWNrIGNvbnRyw7RsZSBjZSBjb21wb3J0ZW1lbnQgZGVzIHLDqXNlYXV4IGludml0w6lzIGRhbnMgbGUgY2xvdWQgZW4gdXRpbGlzYW50IHVuIHBhcmFtw6h0cmUgZGUgdml0ZXNzZSBkdSByw6lzZWF1LiBDZSBwYXJhbcOodHJlIGVzdCBkw6lmaW5pIGNvbW1lIGxhIHZpdGVzc2UgZGUgdHJhbnNmZXJ0IHBhciBkw6lmYXV0IGRlcyBkb25uw6llcyBlbiBNYnBzIChNZWdhYml0cyBwYXIgc2Vjb25kZXMpIGF1dG9yaXPDqWUgc3VyIHVuIHLDqXNlYXUgaW52aXTDqS4gSWwgZMOpZmluaSBsZXMgbGltaXRlcyBzdXDDqXJpZXVyZXMgZGUgbCd1dGlsaXNhdGlvbiBkdSByw6lzZWF1LiBTaSBsJ3V0aWxpc2F0aW9uIGNvdXJhbnRlIGVzdCBpbmbDqXJpZXVyZSBhdXggbGltaXRlcyBoYXV0ZXMgYXV0b3Jpc8OpZXMsIGFsb3JzIGwnYWNjw6hzIGVzdCBhdXRvcmlzw6ksIHNpbm9uIGlsIHNlcmEgcmVmdXPDqS4AUsOpc2VhdXgAT2ZmcmUgSEEuIFNpIG91aSwgbCdhZG1pbmlzdHJhdGV1ciBwZXV0IGNob2lzaXIgZCdhdm9pciBsYSBWTSBzeXN0w6htZSBkZSBtb25pdG9yw6llIGV0IGQnw6p0cmUgYXVzc2kgaGF1dGVtZW50IGRpc3BvbmlibGUgcXVlIHBvc3NpYmxlLgBPdXZyaXIgdW4gaW52aXRlIE15U1FMIDoAUHLDqWbDqXLDqWUgOiBMYSBWTSBzZXJhIGTDqXBsb3nDqWUgZGFucyB1bmUgaW5mcmFzdHJ1Y3R1cmUgZMOpZGnDqWUgc2kgcG9zc2libGUuIFNpbm9uLCBsYSBWTSBwZXV0IMOqdHJlIGTDqXBsb3nDqWUgZGFucyB1bmUgaW5mcmFzdHJ1Y3R1cmUgcGFydGFnw6llLgBSw6lzZWF1IHB1YmxpYyBkJ3VuZSBWTSBDb25zb2xlIFByb3h5AFLDqXNlYXUgcHVibGljIGQndW5lIFZNIGRlIFN0b2NrYWdlIFNlY29uZGFpcmUAUsOpc2VhdSBwdWJsaWMgZHUgUm91dGV1ciBWaXJ0dWVsAFB1YmxpYy4gSW5kaXF1ZSBzaSBsJ29mZnJlIGRlIHNlcnZpY2UgZGV2cmFpdCDDqnRyZSBkaXNwb25pYmxlIGRhbnMgdG91cyBsZXMgZG9tYWluZXMgb3Ugc2V1bGVtZW50IGNlcnRhaW5zIGRvbWFpbmVzLiBDaG9pc2lyIE91aSBwb3VyIGxlIHJlbmRyZSBkaXNwb25pYmxlIMOgIHRvdXMgbGVzIGRvbWFpbmVzLiBDaG9pc2lyIE5vIHBvdXIgbGltaXRlciBsYSBwb3J0w6llIMOgIHVuIHNvdXMtZG9tYWluZSA7IENsb3VkU3RhY2sgdmEgYWxvcnMgZGVtYW5kZXIgbGUgbm9tIGR1IHNvdXMtZG9tYWluZS4AUmVkw6ltYXJyZXIgbGUgc2VydmV1ciBkZSBnZXN0aW9uIGRlIENsb3VkU3RhY2suIExlIHJlZMOpbWFycmFnZSBlc3QgcmVxdWlzIHBhcmNlIHF1ZSBsZXMgb2ZmcmVzIHBhciBkw6lmYXV0IHNvbnQgc3RvY2vDqWVzIGVuIG3DqW1vaXJlIGF1IGTDqW1hcnJhZ2UuAExhbmNlciBsZXMgcmVxdcOqdGVzIHN1aXZhbnRlcyBkYW5zIGxhIGJhc2UgZGUgZG9ubsOpZXMgZHUgY2xvdWQuAE9mZnJlIGRlIHNlcnZpY2UAT2ZmcmVzIGRlIHNlcnZpY2UAT2ZmcmVzIGRlIHNlcnZpY2UsIG9mZnJlcyBkZSBkaXNxdWUsIG9mZnJlcyBkZSByw6lzZWF1IGV0IG1vZMOobGVzAExlcyBvZmZyZXMgZGUgc2VydmljZXMsIGTDqWZpbmllcyBwYXIgbCdhZG1pbmlzdHJhdGV1ciBDbG91ZFN0YWNrLCBmb3Vybmlzc2VudCB1biBjaG9peCBkZSB2aXRlc3NlIENQVSwgZGUgbm9tYnJlIGRlIENQVXMsIGRlIHRhaWxsZSBkZSBSQU0sIGQnw6l0aXF1ZXR0ZXMgc3VyIGxlcyBkaXNxdWVzIHJhY2luZXMsIGV0IGQnYXV0cmVzIGNob2l4LiBWb2lyIENyw6llciB1bmUgbm91dmVsbGUgb2ZmcmUgZGUgY2FsY3VsLgBMZXMgb2ZmcmVzIGRlIHNlcnZpY2UgbmUgcGV1dmVudCBwYXMgw6p0cmUgY2hhbmfDqWUgdW5lIGZvaXMgY3LDqWUuIENlY2kgcydhcHBsaXF1ZSDDoCBsYSBmb2lzIGF1eCBvZmZyZXMgZGUgY2FsY3VsIGV0IGF1eCBvZmZyZXMgZGUgZGlzcXVlLgBDZXJ0YWluZXMgY2FyYWN0w6lyaXN0aXF1ZXMgZCdvZmZyZXMgZGUgc2VydmljZSBkb2l2ZW50IMOqdHJlIGTDqWZpbmllcyBwYXIgbCdhZG1pbmlzdHJhdGV1ciBDbG91ZFN0YWNrIGV0IGxlcyBhdXRyZXMgcGV1dmVudCDDqnRyZSBsYWlzc8OpZXMgaW5kw6lmaW5pZXMgZGUgZmHDp29uIMOgIGNlIHF1ZSBsZXMgdXRpbGlzYXRldXJzIGZpbmF1eCBwdWlzc2VudCBzYWlzaXIgbGVzIHZhbGV1cnMgcXUnaWxzIHNvdWhhaXRlbnQuIEMnZXN0IHV0aWxlIHBvdXIgcsOpZHVpcmUgbGUgbm9tYnJlIGQnb2ZmcmVzIHF1ZSBsJ2FkbWluaXN0cmF0ZXVyIGRvaXQgZMOpZmluaXIuIEF1IGxpZXUgZGUgZMOpZmluaXIgdW5lIG9mZnJlIGRlIGNhbGN1bCBwb3VyIGNoYXF1ZSBjb21iaW5haXNvbiBpbWFnaW5hYmxlIGRlIHZhbGV1cnMgcXVlIGwndXRpbGlzYXRldXIgcGV1dCBkw6lzaXJlciwgbCdhZG1pbmlzdHJhdGV1ciBwZXV0IGTDqWZpbmlyIGxlcyBvZmZyZXMgcXVpIGZvdXJuaXNzZW50IHVuIHBldSBkZSBmbGV4aWJpbGl0w6kgYXV4IHV0aWxpc2F0ZXVycyBldCBwZXV2ZW50IHNlcnZpciBkZSBiYXNlIHBvdXIgZGUgbm9tYnJlcyBjb25maWd1cmF0aW9ucyBkaWZmw6lyZW50ZXMgZGUgVk0uIABFdGlxdWV0dGVzIGRlIHN0b2NrYWdlLiBMZXMgw6l0aXF1ZXR0ZXMgcXVpIHNvbnQgYXNzb2Npw6llcyBhdmVjIGxlIHN0b2NrYWdlIHByaW1haXJlIHV0aWxpc8OpIHBhciBsYSBWTSBzeXN0w6htZS4AUsOpc2VhdSBkZSBzdG9ja2FnZSBkJ3VuZSBWTSBDb25zb2xlIFByb3h5AFLDqXNlYXUgZGUgc3RvY2thZ2UgZCd1bmUgVk0gZGUgU3RvY2thZ2UgU2Vjb25kYWlyZQBSw6lzZWF1IGRlIHN0b2NrYWdlIGR1IFJvdXRldXIgVmlydHVlbABUeXBlIGRlIHN0b2NrYWdlLiBMZSB0eXBlIGRlIGRpc3F1ZSBxdWkgcGV1dCDDqnRyZSBhbGxvdcOpLiBMJ2FsbG9jYXRpb24gbG9jYWxlIGRlcHVpcyB1biBzdG9ja2FnZSBhdHRhY2jDqSBkaXJlY3RlbWVudCDDoCBsJ2jDtHRlIG/DuSBsYSBWTSBzeXN0w6htZSBmb25jdGlvbm5lLiBMZXMgcGFydGFnw6llcyBhbGxvdWVudCBkZXB1aXMgdW4gc3RvY2thZ2UgYWNjZXNzaWJsZSB2aWEgTkZTLgBTdHJpY3QgOiBVbiBow7R0ZSBuZSBzZXJhIHBhcyBwYXJ0YWfDqSBwYXIgcGx1c2lldXJzIGNvbXB0ZXMuIFBhciBleGVtcGxlLCBsYSBhdHRyaWJ1dGlvbiBpbXBsaWNpdGUgc3RyaWN0ZSBlc3QgdXRpbGUgcG91ciBsZSBkw6lwbG9pZW1lbnQgZGUgY2VydGFpbnMgdHlwZXMgZCdhcHBsaWNhdGlvbnMsIGNvbW1lIGxlcyBCdXJlYXV4LCBvw7kgYXVjdW5lIGjDtHRlIG5lIHBldXQgw6p0cmUgcGFydGFnw6kgZW50cmUgZGlmZsOpcmVudHMgY29tcHRlcyBzYW5zIHZpb2xlciBsZXMgdGVybWVzIGRlIGxpY2VuY2UgZHUgbG9naWNpZWwgZGUgYnVyZWF1LgBPZmZyZSBkZSByw6lzZWF1IHN5c3TDqG1lAE9mZnJlcyBkZSBzZXJ2aWNlIHN5c3TDqG1lAFR5cGUgZGUgVk0gc3lzdMOobWUuIFPDqWxlY3Rpb25uZXIgbGUgdHlwZSBkZSBtYWNoaW5lIHZpcnR1ZWxsZSBzeXN0w6htZSBxdWUgY2V0dGUgb2ZmcmUgZXN0IGRlc3RpbsOpZSDDoCBzdXBwb3J0ZXIuAExlcyBvZmZyZXMgZGUgc2VydmljZSBzeXN0w6htZSBmb3Vybmlzc2VudCB1biBjaG9peCBkZSB2aXRlc3NlIENQVSwgdW4gbm9tYnJlIGRlIENQVXMsIMOpdGlxdWV0dGVzIGV0IHRhaWxsZSBkZSBSQU0sIGNvbW1lIGQnYXV0cmVzIG9mZnJlcyBkZSBzZXJ2aWNlcyBsZSBmb250LiBNYWlzIHBsdXTDtHQgcXUnw6p0cmUgdXRpbGlzw6llIHBvdXIgbGVzIGluc3RhbmNlcyBkZSBtYWNoaW5lIHZpcnR1ZWxsZSBldCDDqnRyZSBleHBvc8OpZSBhdXggdXRpbGlzYXRldXJzLCBsZXMgb2ZmcmVzIGRlIHNlcnZpY2Ugc3lzdMOobWUgc29udCB1dGlsaXPDqWUgcG91ciBjaGFuZ2VyIGxlcyBwcm9wcmnDqXTDqWVzIHBhciBkw6lmYXV0IGRlcyByb3V0ZXVycyB2aXJ0dWVscywgZGVzIHByb3h5cyBjb25zb2xlLCBldCBkJ2F1dHJlcyBWTXMgc3lzdMOobWVzLiBMZXMgb2ZmcmVzIGRlIHNlcnZpY2Ugc3lzdMOobWUgc29udCB2aXNpYmxlcyBzZXVsZW1lbnQgcGFyIGwnYWRtaW5pc3RyYXRldXIgcmFjaW5lIENsb3VkU3RhY2suIENsb3VkU3RhY2sgZm91cm5pdCBwYXIgZMOpZmF1dCBsZXMgb2ZmcmVzIGRlIHNlcnZpY2Ugc3lzdMOobWUgcGFyIGTDqWZhdXQuIEwnYWRtaW5pc3RyYXRldXIgcmFjaW5lIGRlIENsb3VkU3RhY2sgcGV1dCBjcsOpZXIgZGVzIG9mZnJlcyBkZSBzZXJ2aWNlcyBzeXN0w6htZXMgYWRkaXRpb25uZWxsZXMuAExlcyDDqXRpcXVldHRlcyBzdXIgbGUgZGlzcXVlIGRlIGRvbm7DqWVzAExlcyDDqXRpcXVldHRlcyBzdXIgbGUgZGlzcXVlIHJhY2luZQBOb3RlciBsJ0lEIGRlIGxhIG5vdXZlbGxlIG9mZnJlLgBMZXMgbW9kw6hsZXMsIGTDqWZpbmlzIHBhciBsJ2FkbWluaXN0cmF0ZXVyIENsb3VkU3RhY2sgb3UgcGFyIG4naW1wb3J0ZSBxdWVsIHV0aWxpc2F0ZXVyLCBzb250IGRlcyBpbWFnZXMgZCdPUyBkZSBiYXNlIHF1ZSBsZXMgdXRpbGlzYXRldXJzIHBldXZlbnQgY2hvaXNpciBsb3JzcXUnaWxzIGNyw6llbnQgdW5lIG5vdXZlbGxlIGluc3RhbmNlLiBQYXIgZXhlbXBsZSwgQ2xvdWRTdGFjayBpbmNsdWUgQ2VudE9TIGNvbW1lIG1vZMOobGUuIFZvaXIgVHJhdmFpbGxlciBhdmVjIGxlcyBtb2TDqGxlcy4ATCdvZmZyZSBkZSBkaXNxdWUgc3DDqWNpZmllIDoATGUgdGFibGVhdSBzdWl2YW50IGRvbm5lIHVuZSB2dWUgZCdlbnNlbWJsZSBkZSBjb21tZW50IGxhIHZpdGVzc2UgZHUgcsOpc2VhdSBlc3QgYXBwbGlxdcOpZSBzdXIgZGlmZsOpcmVudHMgdHlwZXMgZGUgcsOpc2VhdXggZGFucyBDbG91ZFN0YWNrLgBMYSB2aXRlc3NlIHLDqXNlYXUgZml4w6llIHBvdXIgdW5lIG9mZnJlIGRlIHLDqXNlYXUgdXRpbGlzw6llIHBhciB1biByw6lzZWF1IHBhcnRpY3VsaWVyIGRhbnMgQ2xvdWRTdGFjayBlc3QgdXRpbGlzw6kgcG91ciBsYSBzdHJhdMOpZ2llIGRlIG1pc2UgZW4gZm9ybWUgZHUgdHJhZmljIHBvdXIgdW4gZ3JvdXBlIGRlIHBvcnQsIHBhciBleGVtcGxlIDogZ3JvdXBlIGRlIHBvcnQgQSwgcG91ciBjZSByw6lzZWF1IDogdW4gc291cy1yw6lzZWF1IHBhcnRpY3VsaWVyIG91IHVuIFZMQU4gc3VyIGxlIHLDqXNlYXUgYWN0dWVsLiBMZXMgcm91dGV1cnMgdmlydHVlbCBwb3VyIGNlIHLDqXNlYXUgY29ubmVjdGUgYXUgZ3JvdXBlIGRlIHBvcnQgQSwgZXQgcGFyIGTDqWZhdXQgbGVzIGluc3RhbmNlcyBkYW5zIGNlIHLDqXNlYXUgc2UgY29ubmVjdGVudCDDoCBjZSBncm91cGUgZGUgcG9ydC4gVG91dGVmb2lzLCBzaSB1bmUgaW5zdGFuY2UgZXN0IGTDqXBsb3nDqWUgYXZlYyB1bmUgb2ZmcmUgZGUgc2VydmljZSBhdmVjIHVuZSB2aXRlc3NlIGR1IHLDqXNlYXUgZGUgZml4w6llLCBldCBzaSBjZXR0ZSB2aXRlc3NlIGVzdCB1dGlsaXPDqWUgcG91ciBsYSBzdHJhdMOpZ2llIGRlIGNvbnRyw7RsZSBkdSB0cmFmaWMgZCd1biBhdXRyZSBncm91cGUgZGUgcG9ydCBwb3VyIGxlIHLDqXNlYXUsIHBhciBleGVtcGxlIGxlIGdyb3VwZSBkZSBwb3J0IEIsIGFsb3JzIGxlcyBpbnN0YW5jZXMgdXRpbGlzYW50IGwnb2ZmcmUgZGUgY2FsY3VsZSBzb250IGNvbm5lY3TDqWUgc3VyIGxlIGdyb3VwZSBkZSBwb3J0IEIsIGF1IGxpZXUgZGUgc2UgY29ubmVjdGVyIGF1IGdyb3VwZSBkZSBwb3J0IEEuAExlcyBvcHRpb25zIHByb3Bvc8OpZXMgc29udCBOVklESUEgR1JJRCBLMSBldCBOVklESUEgR1JJRCBLMi4gQ2VzIGNhcnRlcyB2R1BVIHNvbnQgY2FwYWJsZXMgZCdhdXRvcmlzZXIgcGx1c2lldXJzIHZHUFVzIHN1ciB1biBzZXVsIEdQVSBwaHlzaXF1ZS4gU2kgdm91cyB2b3VsZXogdXRpbGlzZXIgdW5lIGNhcnRlIHBsdXTDtHQgcXVlIGNlbGxlcy1jaSwgc3VpdnJlIGxlcyBpbnN0cnVjdGlvbnMgZGFucyBsYSBwYWdlICoqIlN1cHBvcnQgR1BVIGV0IHZHUFUgcG91ciBsZXMgVk1zIGludml0w6llcyBDbG91ZFN0YWNrIioqIGRhbnMgbGUgZG9jdW1lbnQgZGUgY29uY2VwdGlvbiBDbG91ZFN0YWNrIFZlcnNpb24gNC40IHF1ZSB2b3VzIHRyb3V2ZXJleiBkYW5zIGxlIHdpa2kgQ2xvdWRTdGFjay4ATGEgcG9saXRpcXVlIGRlIGdlc3Rpb24gZHUgdHJhZmljIHN1ciBsZXMgZ3JvdXBlcyBkZSBwb3J0cyBzdGFuZGFyZHMgZGFucyBWTXdhcmUgcydhcHBsaXF1ZSBzZXVsZW1lbnQgc3VyIGxlIHRyYWZpYyBzb3J0YW50IGV0IGxlcyBlZmZldHMgc3VyIGxlIHLDqXNlYXUgZMOpcGVuZGVudCBkdSB0eXBlIGRlIHRyYWZpYyByw6lzZWF1IHV0aWxpc8OpIGRhbnMgQ2xvdWRTdGFjay4gRGFucyBsZXMgcsOpc2VhdXggcGFydGFnw6lzLCBsZSB0cmFmaWMgZW50cmFudCBlc3QgaWxsaW1pdMOpIHBvdXIgQ2xvdWRTdGFjayBldCBsZSB0cmFmaWMgc29ydGFudCBlc3QgbGltaXTDqSDDoCBsYSB2aXRlc3NlIHF1aSBzJ2FwcGxpcXVlIGF1IGdyb3VwZSBkZSBwb3J0IHV0aWxpc8OpIHBhciBsJ2luc3RhbmNlIGF1IGJlc29pbi4gU2kgbCdvZmZyZSBkZSBjYWxjdWwgYSB1bmUgdml0ZXNzZSBkZSByw6lzZWF1IGNvbmZpZ3Vyw6llLCBjZXR0ZSB2aXRlc3NlIHMnYXBwbGlxdWUgYXUgdHJhZmljIHNvcnRhbnQsIHNpbm9uIGMnZXN0IGxhIHZpdGVzc2UgZHUgcsOpc2VhdSBmaXjDqWUgcGFyIGwnb2ZmcmUgcsOpc2VhdSBxdWkgcydhcHBsaXF1ZS4gUG91ciBsZXMgcsOpc2VhdXggaXNvbMOpcywgbGEgdml0ZXNzZSBkdSByw6lzZWF1IGZpeMOpZSBwb3VyIGwnb2ZmcmUgZGUgcsOpc2VhdSwgc2kgZWxsZSBleGlzdGUsIGVzdCBlZmZlY3RpdmVtZW50IGFwcGxpcXXDqWUgYXUgdHJhZmljIGVudHJhbnQuIENlbGEgZXN0IGTDuyBlbiBncmFuZGUgcGFydGllIMOgIGxhIHZpdGVzc2UgZHUgcsOpc2VhdSBmaXjDqWUgcG91ciBsJ29mZnJlIGRlIHNlcnZpY2UgcXVpIHMnYXBwbGlxdWUgYXUgdHJhZmljIHNvcnRhbnQgZGVwdWlzIGxlIHJvdXRldXIgdmlydHVlbCBkZSBjZXR0ZSBpbnN0YW5jZS4gTGUgdHJhZmljIHNvcnRhbnQgZXN0IGxpbWl0w6kgcGFyIGxhIHZpdGVzc2UgcXVpIHMnYXBwbGlxdWUgYXUgZ3JvdXBlIGRlIHBvcnQgdXRpbGlzw6kgcGFyIGwnaW5zdGFuY2UsIHNpbWlsYWlyZW1lbnQgYXV4IHLDqXNlYXV4IHBhcnRhZ8Opcy4AUG91ciBjcsOpZXIgdW5lIG5vdXZlbGxlIG9mZnJlIGRlIGNhbGN1bCA6AFBvdXIgY3LDqWVyIHVuZSBub3V2ZWxsZSBvZmZyZSBkZSBkaXNxdWUgOgBQb3VyIGNyw6llciB1bmUgb2ZmcmUgZGUgc2VydmljZSBzeXN0w6htZSA6AFBvdXIgc3VwcG9ydGVyIGNldHRlIGZvbmN0aW9ubmFsaXTDqSwgbGVzIMOpdsOobmVtZW50cyBkJ3V0aWxpc2F0aW9uIG9udCDDqXTDqSBhbcOpbGlvcsOpZXMgcG91ciBlbnJlZ2lzdHJlciBsZXMgw6l2w6huZW1lbnRzIGRlcyByZXNzb3VyY2VzIGFzc2lnbsOpZSBkeW5hbWlxdWVtZW50LiBMZXMgw6l2w6huZW1lbnRzIGQndXRpbGlzYXRpb24gc29udCBlbnJlZ2lzdHLDqXMgbG9yc3F1ZSBsYSBWTSBlc3QgY3LDqcOpZSBkZXB1aXMgdW5lIG9mZnJlIGRlIGNhbGN1bCBwZXJzb25uYWxpc8OpZSBldCBsb3JzIGRlcyBjaGFuZ2VtZW50cyBkJ29mZnJlIGRlIGNhbGN1bCBkJ3VuZSBWTSBzdG9wcMOpZSBvdSBlbiBmb25jdGlvbm5lbWVudC4gTGVzIHZhbGV1cnMgZGUgY2VzIHBhcmFtw6h0cmVzLCBjb21tZSBsZSBDUFUsIGxhIHZpdGVzc2UsIGxhIFJBTSBzb250IGVucmVnaXN0csOpcy4AVXNlciBDb25jZW50cmF0ZWQgcHLDqWbDqHJlIGTDqXBsb3llciBsZXMgVk1zIGFwcGFydGVuYW50IGF1IG3Dqm1lIGNvbXB0ZSBzdXIgdW4gcG9kIHVuaXF1ZS4AVXNlciBEaXNwZXJzaW5nIGZhaXQgbGUgbWF4aW11bSBkJ2VmZm9ydHMgcG91ciBkaXN0cmlidWVyIMOpcXVpdGFibGVtZW50IGxlcyBWTXMgYXBwYXJ0ZW5hbnQgYXUgbcOqbWUgY29tcHRlIHN1ciBkZXMgY2x1c3RlcnMgb3UgZGVzIHBvZHMgZGlmZsOpcmVudHMuAFF1YW5kIENsb3VkU3RhY2sgY3LDqWUgdW4gcm91dGV1ciB2aXJ0dWVsIHBvdXIgdW4gcsOpc2VhdSBpbnZpdMOpLCBpbCB1dGlsaXNlIGxlcyBwYXJhbcOodHJlcyBwYXIgZMOpZmF1dCBxdWkgc29udCBkw6lmaW5pcyBkYW5zIGwnb2ZmcmUgZGUgc2VydmljZSBhc3NvY2nDqWUgYXZlYyBsJ29mZnJlIHLDqXNlYXUuIFZvdXMgcG91dmV6IG1ldHRyZSDDoCBqb3VyIGxlcyBjYXBhY2l0w6lzIGR1IHJvdXRldXIgdmlydHVlbCBlbiBhcHBsaXF1YW50IHVuZSBub3V2ZWxsZSBvZmZyZSBxdWkgY29udGllbnQgdW5lIG9mZnJlIGRlIHNlcnZpY2UgZGlmZsOpcmVudGUuIFRvdXMgbGVzIHJvdXRldXJzIHZpcnR1ZWxzIGRhbnMgY2UgcsOpc2VhdSB2b250IGTDqW1hcnJlciBlbiB1dGlsaXNhbnQgbGVzIGNvbmZpZ3VyYXRpb25zIGRlIGxhIG5vdXZlbGxlIG9mZnJlIGRlIHNlcnZpY2UuAFZvdXMgcG91dmV6IGNoYW5nZXIgbWFudWVsbGVtZW50IGwnb2ZmcmUgc3lzdMOobWUgcG91ciB1bmUgVk0gc3lzdMOobWUgcGFydGljdWxpw6hyZS4gRW4gY29tcGzDqW1lbnQsIGVuIHRhbnQgcXUnYWRtaW5pc3RyYXRldXIgQ2xvdWRTdGFjaywgdm91cyBwb3V2ZXogYXVzc2kgY2hhbmdlciBsJ29mZnJlIHN5c3TDqG1lIHBhciBkw6lmYXV0IHV0aWxpc8OpZSBwYXIgbGVzIFZNcyBTeXN0w6htZS4AVm91cyBwb3V2ZXogcsOpZ3VsZXIgbGEgYmFuZGUgcGFzc2FudGUgZHUgcsOpc2VhdSBzb2l0IHBvdXIgY29udHLDtGxlciBsJ3V0aWxpc2F0aW9uIGF1IGRlbMOgIGRlIGNlcnRhaW5lcyBsaW1pdGVzIHBvdXIgY2VydGFpbnMgY29tcHRlcywgb3UgcG91ciBjb250csO0bGVyIGxhIGNvbmdlc3Rpb24gZHUgcsOpc2VhdSBkYW5zIHVuIGdyYW5kIGVudmlyb25uZW1lbnQgY2xvdWQuIExhIHZpdGVzc2UgZHUgcsOpc2VhdSBkZSB2b3RyZSBjbG91ZCBwZXV0IMOqdHJlIGNvbmZpZ3Vyw6kgc2Vsb24gY2UgcXVpIHN1aXQgOgA=