A/MNCmL5IVRjAAAAAAAAAAAKAAAAQAAAAHPRAQAAZAAAWgAAZAEAWgEAZAIAZAMAZAQAZAUAZAYAZAcAZAgAZAkAZwgAWgIAZAoAZAsAbAMAbQQAWgQAbQUAWgUAbQYAWgYAbQcAWgcAbQgAWggAbQkAWgkAAWQKAGQMAGwKAG0LAFoLAAFkDQCEAABaDABkDgCEAABaDQBkDwCEAABaDgBkEACEAABaDwBkEQCEAABaEABkEgCEAABaEQBkEwCEAABaEgBkFACEAABaEwBkFQCEAABaFABkFgCEAABaFQBkFwCEAABaFgBkGACEAABaFwBkGQCEAABaGABkGgCEAABaGQB5DgBkCgBkGwBsGgBUV24RAARlGwBrCgByBwEBAQFuAQBYZBwAhAAAWhwAZRUAWh0AZCoAZB0AhAEAWhUAZRQAWh8AZCoAZB4AhAEAWhQAZSAAZB8AawIAcs0BZwAAWiEAZCAAZCEAZCIAZCMAZCQAZCUAZCYAZCcAZCgAZCkAZwoAWiIAeBsAZSIARF0TAFojAGUNAGUhAGUjAIMCAAFxcgFXZwAAWiQAeB0AZSEAcq4BZSQAaiUAZQ4AZSEAgwEAgwEAAXGSAVdlJABHSGQKAGQqAGwmAFomAGUmAGonAIMAAAFuAABkKgBTKCsAAABz7wQAAEhlYXAgcXVldWUgYWxnb3JpdGhtIChhLmsuYS4gcHJpb3JpdHkgcXVldWUpLgoKSGVhcHMgYXJlIGFycmF5cyBmb3Igd2hpY2ggYVtrXSA8PSBhWzIqaysxXSBhbmQgYVtrXSA8PSBhWzIqaysyXSBmb3IKYWxsIGssIGNvdW50aW5nIGVsZW1lbnRzIGZyb20gMC4gIEZvciB0aGUgc2FrZSBvZiBjb21wYXJpc29uLApub24tZXhpc3RpbmcgZWxlbWVudHMgYXJlIGNvbnNpZGVyZWQgdG8gYmUgaW5maW5pdGUuICBUaGUgaW50ZXJlc3RpbmcKcHJvcGVydHkgb2YgYSBoZWFwIGlzIHRoYXQgYVswXSBpcyBhbHdheXMgaXRzIHNtYWxsZXN0IGVsZW1lbnQuCgpVc2FnZToKCmhlYXAgPSBbXSAgICAgICAgICAgICMgY3JlYXRlcyBhbiBlbXB0eSBoZWFwCmhlYXBwdXNoKGhlYXAsIGl0ZW0pICMgcHVzaGVzIGEgbmV3IGl0ZW0gb24gdGhlIGhlYXAKaXRlbSA9IGhlYXBwb3AoaGVhcCkgIyBwb3BzIHRoZSBzbWFsbGVzdCBpdGVtIGZyb20gdGhlIGhlYXAKaXRlbSA9IGhlYXBbMF0gICAgICAgIyBzbWFsbGVzdCBpdGVtIG9uIHRoZSBoZWFwIHdpdGhvdXQgcG9wcGluZyBpdApoZWFwaWZ5KHgpICAgICAgICAgICAjIHRyYW5zZm9ybXMgbGlzdCBpbnRvIGEgaGVhcCwgaW4tcGxhY2UsIGluIGxpbmVhciB0aW1lCml0ZW0gPSBoZWFwcmVwbGFjZShoZWFwLCBpdGVtKSAjIHBvcHMgYW5kIHJldHVybnMgc21hbGxlc3QgaXRlbSwgYW5kIGFkZHMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgbmV3IGl0ZW07IHRoZSBoZWFwIHNpemUgaXMgdW5jaGFuZ2VkCgpPdXIgQVBJIGRpZmZlcnMgZnJvbSB0ZXh0Ym9vayBoZWFwIGFsZ29yaXRobXMgYXMgZm9sbG93czoKCi0gV2UgdXNlIDAtYmFzZWQgaW5kZXhpbmcuICBUaGlzIG1ha2VzIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUKICBpbmRleCBmb3IgYSBub2RlIGFuZCB0aGUgaW5kZXhlcyBmb3IgaXRzIGNoaWxkcmVuIHNsaWdodGx5IGxlc3MKICBvYnZpb3VzLCBidXQgaXMgbW9yZSBzdWl0YWJsZSBzaW5jZSBQeXRob24gdXNlcyAwLWJhc2VkIGluZGV4aW5nLgoKLSBPdXIgaGVhcHBvcCgpIG1ldGhvZCByZXR1cm5zIHRoZSBzbWFsbGVzdCBpdGVtLCBub3QgdGhlIGxhcmdlc3QuCgpUaGVzZSB0d28gbWFrZSBpdCBwb3NzaWJsZSB0byB2aWV3IHRoZSBoZWFwIGFzIGEgcmVndWxhciBQeXRob24gbGlzdAp3aXRob3V0IHN1cnByaXNlczogaGVhcFswXSBpcyB0aGUgc21hbGxlc3QgaXRlbSwgYW5kIGhlYXAuc29ydCgpCm1haW50YWlucyB0aGUgaGVhcCBpbnZhcmlhbnQhCnNvEgAASGVhcCBxdWV1ZXMKCltleHBsYW5hdGlvbiBieSBGcmFu529pcyBQaW5hcmRdCgpIZWFwcyBhcmUgYXJyYXlzIGZvciB3aGljaCBhW2tdIDw9IGFbMiprKzFdIGFuZCBhW2tdIDw9IGFbMiprKzJdIGZvcgphbGwgaywgY291bnRpbmcgZWxlbWVudHMgZnJvbSAwLiAgRm9yIHRoZSBzYWtlIG9mIGNvbXBhcmlzb24sCm5vbi1leGlzdGluZyBlbGVtZW50cyBhcmUgY29uc2lkZXJlZCB0byBiZSBpbmZpbml0ZS4gIFRoZSBpbnRlcmVzdGluZwpwcm9wZXJ0eSBvZiBhIGhlYXAgaXMgdGhhdCBhWzBdIGlzIGFsd2F5cyBpdHMgc21hbGxlc3QgZWxlbWVudC4KClRoZSBzdHJhbmdlIGludmFyaWFudCBhYm92ZSBpcyBtZWFudCB0byBiZSBhbiBlZmZpY2llbnQgbWVtb3J5CnJlcHJlc2VudGF0aW9uIGZvciBhIHRvdXJuYW1lbnQuICBUaGUgbnVtYmVycyBiZWxvdyBhcmUgYGsnLCBub3QgYVtrXToKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAoKICAgICAgICAgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIKCiAgICAgICAgICAzICAgICAgICAgICAgICAgNCAgICAgICAgICAgICAgICA1ICAgICAgICAgICAgICAgNgoKICAgICAgNyAgICAgICA4ICAgICAgIDkgICAgICAgMTAgICAgICAxMSAgICAgIDEyICAgICAgMTMgICAgICAxNAoKICAgIDE1IDE2ICAgMTcgMTggICAxOSAyMCAgIDIxIDIyICAgMjMgMjQgICAyNSAyNiAgIDI3IDI4ICAgMjkgMzAKCgpJbiB0aGUgdHJlZSBhYm92ZSwgZWFjaCBjZWxsIGBrJyBpcyB0b3BwaW5nIGAyKmsrMScgYW5kIGAyKmsrMicuICBJbgphbiB1c3VhbCBiaW5hcnkgdG91cm5hbWVudCB3ZSBzZWUgaW4gc3BvcnRzLCBlYWNoIGNlbGwgaXMgdGhlIHdpbm5lcgpvdmVyIHRoZSB0d28gY2VsbHMgaXQgdG9wcywgYW5kIHdlIGNhbiB0cmFjZSB0aGUgd2lubmVyIGRvd24gdGhlIHRyZWUKdG8gc2VlIGFsbCBvcHBvbmVudHMgcy9oZSBoYWQuICBIb3dldmVyLCBpbiBtYW55IGNvbXB1dGVyIGFwcGxpY2F0aW9ucwpvZiBzdWNoIHRvdXJuYW1lbnRzLCB3ZSBkbyBub3QgbmVlZCB0byB0cmFjZSB0aGUgaGlzdG9yeSBvZiBhIHdpbm5lci4KVG8gYmUgbW9yZSBtZW1vcnkgZWZmaWNpZW50LCB3aGVuIGEgd2lubmVyIGlzIHByb21vdGVkLCB3ZSB0cnkgdG8KcmVwbGFjZSBpdCBieSBzb21ldGhpbmcgZWxzZSBhdCBhIGxvd2VyIGxldmVsLCBhbmQgdGhlIHJ1bGUgYmVjb21lcwp0aGF0IGEgY2VsbCBhbmQgdGhlIHR3byBjZWxscyBpdCB0b3BzIGNvbnRhaW4gdGhyZWUgZGlmZmVyZW50IGl0ZW1zLApidXQgdGhlIHRvcCBjZWxsICJ3aW5zIiBvdmVyIHRoZSB0d28gdG9wcGVkIGNlbGxzLgoKSWYgdGhpcyBoZWFwIGludmFyaWFudCBpcyBwcm90ZWN0ZWQgYXQgYWxsIHRpbWUsIGluZGV4IDAgaXMgY2xlYXJseQp0aGUgb3ZlcmFsbCB3aW5uZXIuICBUaGUgc2ltcGxlc3QgYWxnb3JpdGhtaWMgd2F5IHRvIHJlbW92ZSBpdCBhbmQKZmluZCB0aGUgIm5leHQiIHdpbm5lciBpcyB0byBtb3ZlIHNvbWUgbG9zZXIgKGxldCdzIHNheSBjZWxsIDMwIGluIHRoZQpkaWFncmFtIGFib3ZlKSBpbnRvIHRoZSAwIHBvc2l0aW9uLCBhbmQgdGhlbiBwZXJjb2xhdGUgdGhpcyBuZXcgMCBkb3duCnRoZSB0cmVlLCBleGNoYW5naW5nIHZhbHVlcywgdW50aWwgdGhlIGludmFyaWFudCBpcyByZS1lc3RhYmxpc2hlZC4KVGhpcyBpcyBjbGVhcmx5IGxvZ2FyaXRobWljIG9uIHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgaW4gdGhlIHRyZWUuCkJ5IGl0ZXJhdGluZyBvdmVyIGFsbCBpdGVtcywgeW91IGdldCBhbiBPKG4gbG4gbikgc29ydC4KCkEgbmljZSBmZWF0dXJlIG9mIHRoaXMgc29ydCBpcyB0aGF0IHlvdSBjYW4gZWZmaWNpZW50bHkgaW5zZXJ0IG5ldwppdGVtcyB3aGlsZSB0aGUgc29ydCBpcyBnb2luZyBvbiwgcHJvdmlkZWQgdGhhdCB0aGUgaW5zZXJ0ZWQgaXRlbXMgYXJlCm5vdCAiYmV0dGVyIiB0aGFuIHRoZSBsYXN0IDAndGggZWxlbWVudCB5b3UgZXh0cmFjdGVkLiAgVGhpcyBpcwplc3BlY2lhbGx5IHVzZWZ1bCBpbiBzaW11bGF0aW9uIGNvbnRleHRzLCB3aGVyZSB0aGUgdHJlZSBob2xkcyBhbGwKaW5jb21pbmcgZXZlbnRzLCBhbmQgdGhlICJ3aW4iIGNvbmRpdGlvbiBtZWFucyB0aGUgc21hbGxlc3Qgc2NoZWR1bGVkCnRpbWUuICBXaGVuIGFuIGV2ZW50IHNjaGVkdWxlIG90aGVyIGV2ZW50cyBmb3IgZXhlY3V0aW9uLCB0aGV5IGFyZQpzY2hlZHVsZWQgaW50byB0aGUgZnV0dXJlLCBzbyB0aGV5IGNhbiBlYXNpbHkgZ28gaW50byB0aGUgaGVhcC4gIFNvLCBhCmhlYXAgaXMgYSBnb29kIHN0cnVjdHVyZSBmb3IgaW1wbGVtZW50aW5nIHNjaGVkdWxlcnMgKHRoaXMgaXMgd2hhdCBJCnVzZWQgZm9yIG15IE1JREkgc2VxdWVuY2VyIDotKS4KClZhcmlvdXMgc3RydWN0dXJlcyBmb3IgaW1wbGVtZW50aW5nIHNjaGVkdWxlcnMgaGF2ZSBiZWVuIGV4dGVuc2l2ZWx5CnN0dWRpZWQsIGFuZCBoZWFwcyBhcmUgZ29vZCBmb3IgdGhpcywgYXMgdGhleSBhcmUgcmVhc29uYWJseSBzcGVlZHksCnRoZSBzcGVlZCBpcyBhbG1vc3QgY29uc3RhbnQsIGFuZCB0aGUgd29yc3QgY2FzZSBpcyBub3QgbXVjaCBkaWZmZXJlbnQKdGhhbiB0aGUgYXZlcmFnZSBjYXNlLiAgSG93ZXZlciwgdGhlcmUgYXJlIG90aGVyIHJlcHJlc2VudGF0aW9ucyB3aGljaAphcmUgbW9yZSBlZmZpY2llbnQgb3ZlcmFsbCwgeWV0IHRoZSB3b3JzdCBjYXNlcyBtaWdodCBiZSB0ZXJyaWJsZS4KCkhlYXBzIGFyZSBhbHNvIHZlcnkgdXNlZnVsIGluIGJpZyBkaXNrIHNvcnRzLiAgWW91IG1vc3QgcHJvYmFibHkgYWxsCmtub3cgdGhhdCBhIGJpZyBzb3J0IGltcGxpZXMgcHJvZHVjaW5nICJydW5zIiAod2hpY2ggYXJlIHByZS1zb3J0ZWQKc2VxdWVuY2VzLCB3aGljaCBzaXplIGlzIHVzdWFsbHkgcmVsYXRlZCB0byB0aGUgYW1vdW50IG9mIENQVSBtZW1vcnkpLApmb2xsb3dlZCBieSBhIG1lcmdpbmcgcGFzc2VzIGZvciB0aGVzZSBydW5zLCB3aGljaCBtZXJnaW5nIGlzIG9mdGVuCnZlcnkgY2xldmVybHkgb3JnYW5pc2VkWzFdLiAgSXQgaXMgdmVyeSBpbXBvcnRhbnQgdGhhdCB0aGUgaW5pdGlhbApzb3J0IHByb2R1Y2VzIHRoZSBsb25nZXN0IHJ1bnMgcG9zc2libGUuICBUb3VybmFtZW50cyBhcmUgYSBnb29kIHdheQp0byB0aGF0LiAgSWYsIHVzaW5nIGFsbCB0aGUgbWVtb3J5IGF2YWlsYWJsZSB0byBob2xkIGEgdG91cm5hbWVudCwgeW91CnJlcGxhY2UgYW5kIHBlcmNvbGF0ZSBpdGVtcyB0aGF0IGhhcHBlbiB0byBmaXQgdGhlIGN1cnJlbnQgcnVuLCB5b3UnbGwKcHJvZHVjZSBydW5zIHdoaWNoIGFyZSB0d2ljZSB0aGUgc2l6ZSBvZiB0aGUgbWVtb3J5IGZvciByYW5kb20gaW5wdXQsCmFuZCBtdWNoIGJldHRlciBmb3IgaW5wdXQgZnV6emlseSBvcmRlcmVkLgoKTW9yZW92ZXIsIGlmIHlvdSBvdXRwdXQgdGhlIDAndGggaXRlbSBvbiBkaXNrIGFuZCBnZXQgYW4gaW5wdXQgd2hpY2gKbWF5IG5vdCBmaXQgaW4gdGhlIGN1cnJlbnQgdG91cm5hbWVudCAoYmVjYXVzZSB0aGUgdmFsdWUgIndpbnMiIG92ZXIKdGhlIGxhc3Qgb3V0cHV0IHZhbHVlKSwgaXQgY2Fubm90IGZpdCBpbiB0aGUgaGVhcCwgc28gdGhlIHNpemUgb2YgdGhlCmhlYXAgZGVjcmVhc2VzLiAgVGhlIGZyZWVkIG1lbW9yeSBjb3VsZCBiZSBjbGV2ZXJseSByZXVzZWQgaW1tZWRpYXRlbHkKZm9yIHByb2dyZXNzaXZlbHkgYnVpbGRpbmcgYSBzZWNvbmQgaGVhcCwgd2hpY2ggZ3Jvd3MgYXQgZXhhY3RseSB0aGUKc2FtZSByYXRlIHRoZSBmaXJzdCBoZWFwIGlzIG1lbHRpbmcuICBXaGVuIHRoZSBmaXJzdCBoZWFwIGNvbXBsZXRlbHkKdmFuaXNoZXMsIHlvdSBzd2l0Y2ggaGVhcHMgYW5kIHN0YXJ0IGEgbmV3IHJ1bi4gIENsZXZlciBhbmQgcXVpdGUKZWZmZWN0aXZlIQoKSW4gYSB3b3JkLCBoZWFwcyBhcmUgdXNlZnVsIG1lbW9yeSBzdHJ1Y3R1cmVzIHRvIGtub3cuICBJIHVzZSB0aGVtIGluCmEgZmV3IGFwcGxpY2F0aW9ucywgYW5kIEkgdGhpbmsgaXQgaXMgZ29vZCB0byBrZWVwIGEgYGhlYXAnIG1vZHVsZQphcm91bmQuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0KWzFdIFRoZSBkaXNrIGJhbGFuY2luZyBhbGdvcml0aG1zIHdoaWNoIGFyZSBjdXJyZW50LCBub3dhZGF5cywgYXJlCm1vcmUgYW5ub3lpbmcgdGhhbiBjbGV2ZXIsIGFuZCB0aGlzIGlzIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHNlZWtpbmcKY2FwYWJpbGl0aWVzIG9mIHRoZSBkaXNrcy4gIE9uIGRldmljZXMgd2hpY2ggY2Fubm90IHNlZWssIGxpa2UgYmlnCnRhcGUgZHJpdmVzLCB0aGUgc3Rvcnkgd2FzIHF1aXRlIGRpZmZlcmVudCwgYW5kIG9uZSBoYWQgdG8gYmUgdmVyeQpjbGV2ZXIgdG8gZW5zdXJlIChmYXIgaW4gYWR2YW5jZSkgdGhhdCBlYWNoIHRhcGUgbW92ZW1lbnQgd2lsbCBiZSB0aGUKbW9zdCBlZmZlY3RpdmUgcG9zc2libGUgKHRoYXQgaXMsIHdpbGwgYmVzdCBwYXJ0aWNpcGF0ZSBhdAoicHJvZ3Jlc3NpbmciIHRoZSBtZXJnZSkuICBTb21lIHRhcGVzIHdlcmUgZXZlbiBhYmxlIHRvIHJlYWQKYmFja3dhcmRzLCBhbmQgdGhpcyB3YXMgYWxzbyB1c2VkIHRvIGF2b2lkIHRoZSByZXdpbmRpbmcgdGltZS4KQmVsaWV2ZSBtZSwgcmVhbCBnb29kIHRhcGUgc29ydHMgd2VyZSBxdWl0ZSBzcGVjdGFjdWxhciB0byB3YXRjaCEKRnJvbSBhbGwgdGltZXMsIHNvcnRpbmcgaGFzIGFsd2F5cyBiZWVuIGEgR3JlYXQgQXJ0ISA6LSkKdAgAAABoZWFwcHVzaHQHAAAAaGVhcHBvcHQHAAAAaGVhcGlmeXQLAAAAaGVhcHJlcGxhY2V0BQAAAG1lcmdldAgAAABubGFyZ2VzdHQJAAAAbnNtYWxsZXN0dAsAAABoZWFwcHVzaHBvcGn/////KAYAAAB0BgAAAGlzbGljZXQFAAAAY291bnR0BAAAAGltYXB0BAAAAGl6aXB0AwAAAHRlZXQFAAAAY2hhaW4oAQAAAHQKAAAAaXRlbWdldHRlcmMCAAAAAgAAAAMAAABDAAAAcyQAAAB0AAB8AABkAQCDAgByGQB8AAB8AQBrAABTfAEAfAAAawEADFMoAgAAAE50BgAAAF9fbHRfXygBAAAAdAcAAABoYXNhdHRyKAIAAAB0AQAAAHh0AQAAAHkoAAAAACgAAAAAc3AAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2hlYXBxLnB5dAYAAABjbXBfbHSHAAAAcwIAAAAAA2MCAAAAAgAAAAUAAABDAAAAcysAAAB8AABqAAB8AQCDAQABdAEAfAAAZAEAdAIAfAAAgwEAZAIAGIMDAAFkAwBTKAQAAABzNAAAAFB1c2ggaXRlbSBvbnRvIGhlYXAsIG1haW50YWluaW5nIHRoZSBoZWFwIGludmFyaWFudC5pAAAAAGkBAAAATigDAAAAdAYAAABhcHBlbmR0CQAAAF9zaWZ0ZG93bnQDAAAAbGVuKAIAAAB0BAAAAGhlYXB0BAAAAGl0ZW0oAAAAACgAAAAAc3AAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2hlYXBxLnB5UgAAAACMAAAAcwQAAAAAAg0BYwEAAAADAAAAAwAAAEMAAABzQAAAAHwAAGoAAIMAAH0BAHwAAHI2AHwAAGQBABl9AgB8AQB8AABkAQA8dAEAfAAAZAEAgwIAAW4GAHwBAH0CAHwCAFMoAgAAAHNDAAAAUG9wIHRoZSBzbWFsbGVzdCBpdGVtIG9mZiB0aGUgaGVhcCwgbWFpbnRhaW5pbmcgdGhlIGhlYXAgaW52YXJpYW50LmkAAAAAKAIAAAB0AwAAAHBvcHQHAAAAX3NpZnR1cCgDAAAAUhcAAAB0BwAAAGxhc3RlbHR0CgAAAHJldHVybml0ZW0oAAAAACgAAAAAc3AAAAAvaG9tZS92YWdyYW50L3JwbWJ1aWxkL0JVSUxEL2J1aWxkLXRvb2xjaGFpbi9vcHQvdG9vbGNoYWlucy9zdGJnY2MtNC44LTEuMC9weXRob24tcnVudGltZS9saWIvcHl0aG9uMi43L2hlYXBxLnB5UgEAAACRAAAAcw4AAAAAAgwBBgEKAQoBEAIGAWMCAAAAAwAAAAMAAABDAAAAcyUAAAB8AABkAQAZfQIAfAEAfAAAZAEAPHQAAHwAAGQBAIMCAAF8AgBTKAIAAABzsgEAAFBvcCBhbmQgcmV0dXJuIHRoZSBjdXJyZW50IHNtYWxsZXN0IHZhbHVlLCBhbmQgYWRkIHRoZSBuZXcgaXRlbS4KCiAgICBUaGlzIGlzIG1vcmUgZWZmaWNpZW50IHRoYW4gaGVhcHBvcCgpIGZvbGxvd2VkIGJ5IGhlYXBwdXNoKCksIGFuZCBjYW4gYmUKICAgIG1vcmUgYXBwcm9wcmlhdGUgd2hlbiB1c2luZyBhIGZpeGVkLXNpemUgaGVhcC4gIE5vdGUgdGhhdCB0aGUgdmFsdWUKICAgIHJldHVybmVkIG1heSBiZSBsYXJnZXIgdGhhbiBpdGVtISAgVGhhdCBjb25zdHJhaW5zIHJlYXNvbmFibGUgdXNlcyBvZgogICAgdGhpcyByb3V0aW5lIHVubGVzcyB3cml0dGVuIGFzIHBhcnQgb2YgYSBjb25kaXRpb25hbCByZXBsYWNlbWVudDoK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