PCFET0NUWVBFIEhUTUw+CjxodG1sPgo8aGVhZD4KPG1ldGEgY2hhcnNldD0idXRmLTgiPgo8L2hlYWQ+Cjxib2R5Pgo8aDI+U2hpbmUgQnJpZ2h0IGF0IFlvdXIgT2ZmaWNlIEJhc2g6IE1hc3RlciB0aGUgQXJ0IG9mIFdlYXJpbmcgYSBTZXF1aW4gU2tpcnQgd2l0aCBFbGVnYW5jZTwvaDI+CjxwPldoZW4gaXQgY29tZXMgdG8gbWFraW5nIGEgc3RhdGVtZW50IGF0IHlvdXIgb2ZmaWNlIGJhc2ggb3IgYW55IGZvcm1hbCBldmVuaW5nIGV2ZW50LCBmZXcgcGllY2VzIG9mIGNsb3RoaW5nIGNhbiByaXZhbCB0aGUgZ2xhbW91ciBhbmQgc29waGlzdGljYXRpb24gb2YgYSBzZXF1aW4gc2tpcnQuIEhvd2V2ZXIsIHB1bGxpbmcgb2ZmIHRoaXMgbG9vayByZXF1aXJlcyBtb3JlIHRoYW4ganVzdCBzbGlwcGluZyBpbnRvIHRoZSBza2lydDsgaXQgZGVtYW5kcyBhIHRob3VnaHRmdWwgYXBwcm9hY2ggdG8gc3R5bGluZywgYWNjZXNzb3JpemluZywgYW5kIG92ZXJhbGwgZmFzaGlvbiBzZW5zZS4gSGVyZeKAmXMgYSBjb21wcmVoZW5zaXZlIGd1aWRlIHRvIGhlbHAgeW91IG1hc3RlciB0aGUgYXJ0IG9mIHdlYXJpbmcgYSBzZXF1aW4gc2tpcnQgd2l0aCBlbGVnYW5jZS48L3A+CjxoMz5VbmRlcnN0YW5kaW5nIHRoZSBTZXF1aW4gU2tpcnQ6IFRyZW5kcyBhbmQgU3R5bGVzPC9oMz4KPHA+U2VxdWluIHNraXJ0cyBoYXZlIGJlZW4gYSBzdGFwbGUgaW4gZmFzaGlvbiBmb3IgeWVhcnMsIGFuZCB0aGVpciBhcHBlYWwgc2hvd3Mgbm8gc2lnbnMgb2YgZmFkaW5nLiBUaGlzIHNlYXNvbiwgeW91IGNhbiBmaW5kIHNlcXVpbiBza2lydHMgaW4gdmFyaW91cyBzdHlsZXMsIGZyb20gdGhlIGNsYXNzaWMgbWluaSBza2lydCB0byB0aGUgbW9yZSBlbGVnYW50IG1pZGkgYW5kIG1heGkgZHJlc3Nlcy48L3A+CjxoND5DdXJyZW50IFRyZW5kczwvaDQ+Cjx1bD4KPGxpPjxzdHJvbmc+QXN5bW1ldHJpY2FsIERlc2lnbnM8L3N0cm9uZz46IElubm92YXRpb25zIGluIGRlc2lnbiBoYXZlIGxlZCB0byB0aGUgY3JlYXRpb24gb2YgYXN5bW1ldHJpY2FsIHNlcXVpbiBza2lydHMgdGhhdCBhZGQgYSB0b3VjaCBvZiBtb2Rlcm5pdHkgdG8geW91ciBsb29rWzFdLjwvbGk+CjxsaT48c3Ryb25nPlZlbHZldCBhbmQgUGFpbGxldHRlczwvc3Ryb25nPjogQ29tYmluaW5nIHNlcXVpbnMgd2l0aCB2ZWx2ZXQgb3IgcGFpbGxldHRlcyBjcmVhdGVzIGEgbHV4dXJpb3VzIGFuZCBleWUtY2F0Y2hpbmcgZWZmZWN0LCBwZXJmZWN0IGZvciBzcGVjaWFsIG9jY2FzaW9uc1sxXS48L2xpPgo8bGk+PHN0cm9uZz5UZXh0dXJlZCBGYWJyaWNzPC9zdHJvbmc+OiBUaGUgdXNlIG9mIG1hZ25ldGljIHRleHR1cmVzIGluIHNlcXVpbiBza2lydHMgaXMgYSBuZXcgdHJlbmQgdGhhdCBjYW4gbWFrZSB5b3VyIG91dGZpdCBzdGFuZCBvdXQgYXQgYW55IGV2ZW50WzNdLjwvbGk+CjwvdWw+CjxoND5DaG9vc2luZyB0aGUgUmlnaHQgU3R5bGU8L2g0Pgo8cD5XaGVuIHNlbGVjdGluZyBhIHNlcXVpbiBza2lydCwgY29uc2lkZXIgdGhlIGxlbmd0aCBhbmQgc3R5bGUgdGhhdCBiZXN0IHN1aXRzIHlvdXIgYm9keSB0eXBlIGFuZCB0aGUgb2NjYXNpb24uIEhlcmUgYXJlIGEgZmV3IHBvcHVsYXIgb3B0aW9uczo8L3A+Cjx0YWJsZT4KPHRoZWFkPgo8dHI+Cjx0aCBpZD0ic3R5bGUiPlN0eWxlPC90aD4KPHRoIGlkPSJkZXNjcmlwdGlvbiI+RGVzY3JpcHRpb248L3RoPgo8dGggaWQ9ImJlc3RfZm9yIj5CZXN0IEZvcjwvdGg+CjwvdHI+CjwvdGhlYWQ+Cjx0Ym9keT4KPHRyPgo8dGQ+TWluaSBTa2lydDwvdGQ+Cjx0ZD5TaG9ydCBhbmQgc2Fzc3ksIG9mdGVuIGFib3ZlIHRoZSBrbmVlLjwvdGQ+Cjx0ZD5Cb2xkLCBjb25maWRlbnQgaW5kaXZpZHVhbHMuPC90ZD4KPC90cj4KPHRyPgo8dGQ+TWlkaSBTa2lydDwvdGQ+Cjx0ZD5GYWxscyBqdXN0IGJlbG93IHRoZSBrbmVlLCBvZmZlcmluZyBhIGJhbGFuY2UgYmV0d2VlbiBtb2Rlc3R5IGFuZCBmbGFpci48L3RkPgo8dGQ+VGhvc2Ugd2hvIHdhbnQgYSB2ZXJzYXRpbGUgbG9vay48L3RkPgo8L3RyPgo8dHI+Cjx0ZD5NYXhpIFNraXJ0PC90ZD4KPHRkPkxvbmcgYW5kIGZsb3dpbmcsIG9mdGVuIHJlYWNoaW5nIHRoZSBmbG9vci48L3RkPgo8dGQ+RWxlZ2FudCwgZm9ybWFsIGV2ZW50cy48L3RkPgo8L3RyPgo8L3Rib2R5Pgo8L3RhYmxlPgo8aDM+U3R5bGluZyBZb3VyIFNlcXVpbiBTa2lydDogVGlwcyBhbmQgVHJpY2tzPC9oMz4KPHA+U3R5bGluZyBhIHNlcXVpbiBza2lydCBpcyBhbGwgYWJvdXQgYmFsYW5jZS4gSGVyZSBhcmUgc29tZSB0aXBzIHRvIGVuc3VyZSB5b3UgbG9vayBzdHVubmluZyB3aXRob3V0IG92ZXJkb2luZyBpdC48L3A+CjxoND5QYWlyaW5nIHdpdGggVG9wczwvaDQ+Cjx1bD4KPGxpPjxzdHJvbmc+U2ltcGxlIFRvcHM8L3N0cm9uZz46IFBhaXIgeW91ciBzZXF1aW4gc2tpcnQgd2l0aCBhIHNpbXBsZSwgc29saWQtY29sb3JlZCB0b3AgdG8gYXZvaWQgb3ZlcndoZWxtaW5nIHRoZSBsb29rLiBBIGJsYWNrIG9yIHdoaXRlIGJsb3VzZSBpcyBhbHdheXMgYSBzYWZlIGNob2ljZVsyXS48L2xpPgo8bGk+PHN0cm9uZz5CbG91c2VzIHdpdGggRGV0YWlsPC9zdHJvbmc+OiBJZiB5b3Ugd2FudCB0byBhZGQgbW9yZSBpbnRlcmVzdCwgb3B0IGZvciBhIGJsb3VzZSB3aXRoIHN1YnRsZSBkZXRhaWxzIGxpa2UgbGFjZSBvciBhIHNvZnQgcnVmZmxlLCBidXQgZW5zdXJlIGl0IGRvZXNu4oCZdCBjb21wZXRlIHdpdGggdGhlIHNlcXVpbnMuPC9saT4KPC91bD4KPGg0PkFjY2Vzc29yaWVzPC9oND4KPHVsPgo8bGk+PHN0cm9uZz5NaW5pbWFsIEpld2Vscnk8L3N0cm9uZz46IEtlZXAgamV3ZWxyeSBtaW5pbWFsIHRvIGxldCB0aGUgc2VxdWlucyBiZSB0aGUgZm9jYWwgcG9pbnQuIEEgc2ltcGxlIG5lY2tsYWNlIG9yIGEgcGFpciBvZiBzdHVkIGVhcnJpbmdzIGNhbiBjb21wbGVtZW50IHRoZSBsb29rIHdpdGhvdXQgb3ZlcnBvd2VyaW5nIGl0LjwvbGk+CjxsaT48c3Ryb25nPlNob2VzPC9zdHJvbmc+OiBDaG9vc2Ugc2hvZXMgdGhhdCBhcmUgZWxlZ2FudCBidXQgbm90IHRvbyBmbGFzaHkuIFB1bXBzIG9yIGhlZWxlZCBhbmtsZSBib290cyBhcmUgZ3JlYXQgb3B0aW9ucyBmb3IgZm9ybWFsIGV2ZW50cy48L2xpPgo8L3VsPgo8aDQ+RXhhbXBsZSBPdXRmaXQgSWRlYXM8L2g0Pgo8cD5IZXJlIGFyZSBhIGZldyBvdXRmaXQgaWRlYXMgdG8gZ2V0IHlvdSBzdGFydGVkOjwvcD4KPHVsPgo8bGk+PHA+PHN0cm9uZz5PZmZpY2UgQmFzaCBMb29rPC9zdHJvbmc+OjwvcD48L2xpPgo8bGk+PHA+U2VxdWluIG1pZGkgc2tpcnQ8L3A+PC9saT4KPGxpPjxwPkJsYWNrIHNpbGsgYmxvdXNlPC9wPjwvbGk+CjxsaT48cD5QYWlyIG9mIGhlZWxlZCBhbmtsZSBib290czwvcD48L2xpPgo8bGk+PHA+U2ltcGxlIHNpbHZlciBuZWNrbGFjZTwvcD48L2xpPgo8bGk+PHA+PHN0cm9uZz5Db2NrdGFpbCBQYXJ0eSBMb29rPC9zdHJvbmc+OjwvcD48L2xpPgo8bGk+PHA+U2VxdWluIG1pbmkgc2tpcnQ8L3A+PC9saT4KPGxpPjxwPldoaXRlIGxhY2UgdG9wPC9wPjwvbGk+CjxsaT48cD5IaWdoIGhlZWxzPC9wPjwvbGk+CjxsaT48cD5TdGF0ZW1lbnQgZWFycmluZ3MgKGJ1dCBrZWVwIHRoZW0gc2ltcGxlIHRvIGF2b2lkIG92ZXJ3aGVsbWluZyB0aGUgc2VxdWlucyk8L3A+PC9saT4KPC91bD4KPGgzPkFkZGluZyBhIFBlcnNvbmFsIFRvdWNoOiBDdXN0b21pemF0aW9uIGFuZCBEZXRhaWxzPC9oMz4KPHA+T25lIG9mIHRoZSBiZXN0IHdheXMgdG8gbWFrZSB5b3VyIHNlcXVpbiBza2lydCB0cnVseSBzcGVjaWFsIGlzIHRocm91Z2ggY3VzdG9taXphdGlvbiBhbmQgYXR0ZW50aW9uIHRvIGRldGFpbC48L3A+CjxoND5QZXJzb25hbGl6ZWQgRGV0YWlsczwvaDQ+Cjx1bD4KPGxpPjxzdHJvbmc+U3RyYXNzIGFuZCBCcm9kZXJpZXM8L3N0cm9uZz46IEFkZGluZyBzdHJhc3Mgb3IgYnJvZGVyaWVzIHRvIHlvdXIgc2VxdWluIHNraXJ0IGNhbiBnaXZlIGl0IGEgdW5pcXVlIHRvdWNoIHRoYXQgcmVmbGVjdHMgeW91ciBwZXJzb25hbCBzdHlsZVs0XS48L2xpPgo8bGk+PHN0cm9uZz5DdXN0b20gTGVuZ3RoPC9zdHJvbmc+OiBJZiB5b3XigJlyZSBwdXJjaGFzaW5nIGZyb20gYSBib3V0aXF1ZSBvciBoYXZpbmcgdGhlIHNraXJ0IG1hZGUsIGNvbnNpZGVyIGN1c3RvbWl6aW5nIHRoZSBsZW5ndGggdG8gZml0IHlvdXIgaGVpZ2h0IGFuZCBwcmVmZXJlbmNlLjwvbGk+CjwvdWw+CjxoND5GYXZvcml0ZSBCcmFuZHM8L2g0Pgo8cD5Tb21lIGJyYW5kcyBhcmUga25vd24gZm9yIHRoZWlyIGV4cXVpc2l0ZSBzZXF1aW4gc2tpcnRzIGFuZCBhdHRlbnRpb24gdG8gZGV0YWlsLiBIZXJlIGFyZSBhIGZldyB0byBjb25zaWRlcjo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+TGVzIFBldGl0cyBJbXByaW3DqXM8L3N0cm9uZz46IEtub3duIGZvciB0aGVpciBpbm5vdmF0aXZlIGRlc2lnbnMgYW5kIGhpZ2gtcXVhbGl0eSBtYXRlcmlhbHNbMV0uPC9saT4KPGxpPjxzdHJvbmc+Um9iZSBBdmVudWU8L3N0cm9uZz46IE9mZmVycyBhIHJhbmdlIG9mIGdhbGEgZHJlc3NlcyBhbmQgc2tpcnRzIHdpdGggYSByZWZpbmVkIHN0eWxlIGFuZCBlYXN5IHJldHVybiBwb2xpY3lbNV0uPC9saT4KPC91bD4KPGgzPlByYWN0aWNhbCBJbnNpZ2h0cyBhbmQgQWN0aW9uYWJsZSBBZHZpY2U8L2gzPgo8cD5IZXJlIGFyZSBzb21lIHByYWN0aWNhbCB0aXBzIHRvIGVuc3VyZSB5b3UgZ2V0IHRoZSBtb3N0IG91dCBvZiB5b3VyIHNlcXVpbiBza2lydDo8L3A+CjxoND5DYXJlIGFuZCBNYWludGVuYW5jZTwvaDQ+Cjx1bD4KPGxpPjxzdHJvbmc+RHJ5IENsZWFuaW5nPC9zdHJvbmc+OiBNb3N0IHNlcXVpbiBza2lydHMgcmVxdWlyZSBkcnkgY2xlYW5pbmcuIEFsd2F5cyBjaGVjayB0aGUgY2FyZSBsYWJlbCB0byBlbnN1cmUgeW914oCZcmUgdHJlYXRpbmcgdGhlIGZhYnJpYyBjb3JyZWN0bHkuPC9saT4KPGxpPjxzdHJvbmc+U3RvcmFnZTwvc3Ryb25nPjogU3RvcmUgeW91ciBzZXF1aW4gc2tpcnQgaW4gYSBjb29sLCBkcnkgcGxhY2UgYXdheSBmcm9tIGRpcmVjdCBzdW5saWdodCB0byBwcmVzZXJ2ZSB0aGUgc2VxdWlucy48L2xpPgo8L3VsPgo8aDQ+RGVsaXZlcnkgYW5kIFJldHVybnM8L2g0Pgo8dWw+CjxsaT48c3Ryb25nPkZyZWUgU3RhbmRhcmQgRGVsaXZlcnk8L3N0cm9uZz46IExvb2sgZm9yIGJyYW5kcyB0aGF0IG9mZmVyIGZyZWUgc3RhbmRhcmQgZGVsaXZlcnkgYW5kIGVhc3kgcmV0dXJuIHBvbGljaWVzLCBzdWNoIGFzIFJvYmUgQXZlbnVlLCB0byBtYWtlIHlvdXIgc2hvcHBpbmcgZXhwZXJpZW5jZSBoYXNzbGUtZnJlZVs1XS48L2xpPgo8L3VsPgo8aDQ+U2Vhc29uYWwgVmVyc2F0aWxpdHk8L2g0Pgo8dWw+CjxsaT48c3Ryb25nPlN1bW1lciBMb29rPC9zdHJvbmc+OiBGb3IgYSBzdW1tZXIgbG9vaywgcGFpciB5b3VyIHNlcXVpbiBza2lydCB3aXRoIGEgbGlnaHR3ZWlnaHQgdG9wIGFuZCBzYW5kYWxzLjwvbGk+CjxsaT48c3Ryb25nPldpbnRlciBMb29rPC9zdHJvbmc+OiBJbiB3aW50ZXIsIGxheWVyIGEgdHVydGxlbmVjayBzd2VhdGVyIHVuZGVyIGEgY29hdCBmb3IgYSBjaGljIGFuZCB3YXJtIG91dGZpdC48L2xpPgo8L3VsPgo8aDM+UXVvdGVzIGZyb20gRmFzaGlvbiBFeHBlcnRzPC9oMz4KPHA+SGVyZeKAmXMgd2hhdCBzb21lIGZhc2hpb24gZXhwZXJ0cyBoYXZlIHRvIHNheSBhYm91dCB3ZWFyaW5nIHNlcXVpbiBza2lydHM6PC9wPgo8dWw+CjxsaT48cD4iQSBzZXF1aW4gc2tpcnQgaXMgYSBncmVhdCB3YXkgdG8gYWRkIHNvbWUgZ2xhbW91ciB0byB5b3VyIG91dGZpdC4gVGhlIGtleSBpcyB0byBiYWxhbmNlIGl0IHdpdGggc2ltcGxlciBwaWVjZXMgdG8gYXZvaWQgb3ZlcndoZWxtaW5nIHRoZSBsb29rLCIgc2F5cyBhIGZhc2hpb24gc3R5bGlzdCBhdCBDT1NbM10uPC9wPjwvbGk+CjxsaT48cD4iU2VxdWluIHNraXJ0cyBhcmUgbm90IGp1c3QgZm9yIHNwZWNpYWwgb2NjYXNpb25zLiBZb3UgY2FuIHdlYXIgdGhlbSB0byBhbnkgZXZlbnQgd2hlcmUgeW91IHdhbnQgdG8gbWFrZSBhIHN0YXRlbWVudC4gSnVzdCBlbnN1cmUgeW914oCZcmUgY29tZm9ydGFibGUgYW5kIGNvbmZpZGVudCwiIGFkdmlzZXMgYSBkZXNpZ25lciBhdCBMZXMgUGV0aXRzIEltcHJpbcOpc1sxXS48L3A+PC9saT4KPC91bD4KPHA+V2VhcmluZyBhIHNlcXVpbiBza2lydCB3aXRoIGVsZWdhbmNlIGlzIGFib3V0IGZpbmRpbmcgdGhlIHJpZ2h0IGJhbGFuY2UgYmV0d2VlbiBnbGFtb3VyIGFuZCBzaW1wbGljaXR5LiBCeSBjaG9vc2luZyB0aGUgcmlnaHQgc3R5bGUsIHBhaXJpbmcgaXQgd2l0aCBjb21wbGVtZW50YXJ5IHRvcHMgYW5kIGFjY2Vzc29yaWVzLCBhbmQgYWRkaW5nIGEgcGVyc29uYWwgdG91Y2gsIHlvdSBjYW4gY3JlYXRlIGFuIG91dGZpdCB0aGF0IHNoaW5lcyBicmlnaHQgYXQgYW55IG9mZmljZSBiYXNoIG9yIGZvcm1hbCBldmVudC4gUmVtZW1iZXIsIGZhc2hpb24gaXMgYWxsIGFib3V0IGV4cHJlc3NpbmcgeW91cnNlbGYgY29uZmlkZW50bHkgYW5kIHN0eWxpc2hseS48L3A+CjxwPlNvLCB0aGUgbmV4dCB0aW1lIHlvdeKAmXJlIGdldHRpbmcgcmVhZHkgZm9yIGEgYmlnIGV2ZW50LCBjb25zaWRlciByZWFjaGluZyBmb3IgdGhhdCBzZXF1aW4gc2tpcnQgaW4geW91ciB3YXJkcm9iZS4gV2l0aCB0aGUgcmlnaHQgc3R5bGluZyBhbmQgYXR0aXR1ZGUsIHlvdeKAmWxsIGJlIHN1cmUgdG8gdHVybiBoZWFkcyBhbmQgbWFrZSBhIGxhc3RpbmcgaW1wcmVzc2lvbi4gSGFwcHkgc3R5bGluZzwvcD4KPC9ib2R5Pgo8L2h0bWw+
PCFET0NUWVBFIEhUTUw+CjxodG1sPgo8aGVhZD4KPG1ldGEgY2hhcnNldD0idXRmLTgiPgo8L2hlYWQ+Cjxib2R5Pgo8aDI+VHJhbnNmb3JtIFlvdXIgV29ya3NwYWNlIFdhcmRyb2JlOiBFc3NlbnRpYWwgVGlwcyBmb3IgSW5jb3Jwb3JhdGluZyBNZXRhbGxpYyBBY2Nlc3NvcmllcyBpbnRvIFlvdXIgUHJvZmVzc2lvbmFsIE91dGZpdHM8L2gyPgo8cD5JbiB0aGUgZmFzdC1wYWNlZCB3b3JsZCBvZiBtb2Rlcm4gd29ya3BsYWNlcywgeW91ciB3YXJkcm9iZSBjYW4gYmUgbW9yZSB0aGFuIGp1c3QgYSBuZWNlc3NpdHk7IGl0IGNhbiBiZSBhIHBvd2VyZnVsIHRvb2wgdG8gZXhwcmVzcyB5b3VyIHBlcnNvbmFsaXR5IGFuZCBlbGV2YXRlIHlvdXIgcHJvZmVzc2lvbmFsIHByZXNlbmNlLiBPbmUgb2YgdGhlIG1vc3QgZWZmZWN0aXZlIHdheXMgdG8gYWRkIGEgdG91Y2ggb2Ygc29waGlzdGljYXRpb24gYW5kIHN0eWxlIHRvIHlvdXIgd29yayBvdXRmaXRzIGlzIGJ5IGluY29ycG9yYXRpbmcgbWV0YWxsaWMgYWNjZXNzb3JpZXMuIEhlcmXigJlzIGEgY29tcHJlaGVuc2l2ZSBndWlkZSBvbiBob3cgdG8gc2VhbWxlc3NseSBpbnRlZ3JhdGUgdGhlc2UgYWNjZXNzb3JpZXMgaW50byB5b3VyIHByb2Zlc3Npb25hbCB3YXJkcm9iZS48L3A+CjxoMz5VbmRlcnN0YW5kaW5nIHRoZSBQb3dlciBvZiBNZXRhbGxpYyBBY2Nlc3NvcmllczwvaDM+CjxwPk1ldGFsbGljIGFjY2Vzc29yaWVzIGNhbiBpbnN0YW50bHkgdHJhbnNmb3JtIHlvdXIgb3V0Zml0IGZyb20gbXVuZGFuZSB0byBtYWduaWZpY2VudC4gV2hldGhlciB5b3UncmUgYWltaW5nIGZvciBhIHNsZWVrLCBtb2Rlcm4gbG9vayBvciBhIG1vcmUgdHJhZGl0aW9uYWwsIGVsZWdhbnQgYXBwZWFyYW5jZSwgbWV0YWxsaWMgZWxlbWVudHMgY2FuIGFkZCBhIGxldmVsIG9mIGRlcHRoIGFuZCB2aXN1YWwgaW50ZXJlc3QgdGhhdCBwbGFpbiBhY2Nlc3NvcmllcyBvZnRlbiBjYW4ndCBtYXRjaC48L3A+CjxoND5XaHkgTWV0YWxsaWMgQWNjZXNzb3JpZXM/PC9oND4KPHVsPgo8bGk+PHN0cm9uZz5WZXJzYXRpbGl0eTwvc3Ryb25nPjogTWV0YWxsaWMgYWNjZXNzb3JpZXMgY29tZSBpbiBhIHZhcmlldHkgb2YgY29sb3JzIGFuZCBmaW5pc2hlcywgZnJvbSBnb2xkIGFuZCBzaWx2ZXIgdG8gcm9zZSBnb2xkIGFuZCBjb3BwZXIuIFRoaXMgdmVyc2F0aWxpdHkgYWxsb3dzIHlvdSB0byBwYWlyIHRoZW0gd2l0aCBhbG1vc3QgYW55IGNvbG9yIHBhbGV0dGUgaW4geW91ciB3YXJkcm9iZS48L2xpPgo8bGk+PHN0cm9uZz5FbGVnYW5jZTwvc3Ryb25nPjogTWV0YWxsaWMgYWNjZW50cyBjYW4gYWRkIGEgdG91Y2ggb2YgbHV4dXJ5IGFuZCBzb3BoaXN0aWNhdGlvbiB0byBldmVuIHRoZSBtb3N0IGNhc3VhbCBvdXRmaXRzLjwvbGk+CjxsaT48c3Ryb25nPkF0dGVudGlvbiB0byBEZXRhaWw8L3N0cm9uZz46IEluY29ycG9yYXRpbmcgbWV0YWxsaWMgYWNjZXNzb3JpZXMgc2hvd3MgdGhhdCB5b3UgcGF5IGF0dGVudGlvbiB0byB0aGUgZmluZXIgZGV0YWlscyBvZiB5b3VyIG91dGZpdCwgd2hpY2ggY2FuIHJlZmxlY3QgcG9zaXRpdmVseSBvbiB5b3VyIHByb2Zlc3Npb25hbGlzbS48L2xpPgo8L3VsPgo8aDM+Q2hvb3NpbmcgdGhlIFJpZ2h0IE1ldGFsbGljIEFjY2Vzc29yaWVzPC9oMz4KPHA+V2hlbiBzZWxlY3RpbmcgbWV0YWxsaWMgYWNjZXNzb3JpZXMsIGl0J3MgY3J1Y2lhbCB0byBjb25zaWRlciB5b3VyIHBlcnNvbmFsIHN0eWxlLCB0aGUgZHJlc3MgY29kZSBvZiB5b3VyIHdvcmtwbGFjZSwgYW5kIHRoZSBvdmVyYWxsIGxvb2sgeW91IHdhbnQgdG8gYWNoaWV2ZS48L3A+CjxoND5UeXBlcyBvZiBNZXRhbGxpYyBBY2Nlc3NvcmllczwvaDQ+Cjx1bD4KPGxpPjxzdHJvbmc+SmV3ZWxyeTwvc3Ryb25nPjogTmVja2xhY2VzLCBlYXJyaW5ncywgYW5kIGJyYWNlbGV0cyBhcmUgY2xhc3NpYyBjaG9pY2VzLiBPcHQgZm9yIHNpbXBsZSwgdW5kZXJzdGF0ZWQgcGllY2VzIGZvciBhIGJ1c2luZXNzIGNhc3VhbCBsb29rIG9yIGdvIGZvciBtb3JlIGVsYWJvcmF0ZSBkZXNpZ25zIGZvciBhIGZvcm1hbCBzZXR0aW5nLjwvbGk+CjxsaT48c3Ryb25nPkV4YW1wbGU8L3N0cm9uZz46IEEgc2ltcGxlIHNpbHZlciB3YXRjaCBjYW4gY29tcGxlbWVudCBhIGJ1c2luZXNzIGNhc3VhbCBvdXRmaXQsIHdoaWxlIGEgZ29sZCBuZWNrbGFjZSBjYW4gZWxldmF0ZSBhIGZvcm1hbCBkcmVzcy48L2xpPgo8bGk+PHN0cm9uZz5CYWdzIGFuZCBCZWx0czwvc3Ryb25nPjogTWV0YWxsaWMgYWNjZW50cyBvbiBiYWdzIGFuZCBiZWx0cyBjYW4gYWRkIGEgc3VidGxlIHlldCBlZmZlY3RpdmUgdG91Y2ggdG8geW91ciBvdXRmaXQuPC9saT4KPGxpPjxzdHJvbmc+RXhhbXBsZTwvc3Ryb25nPjogQSBsZWF0aGVyIGJlbHQgd2l0aCBhIHNpbHZlciBidWNrbGUgY2FuIGFkZCBhIHNsZWVrIHRvdWNoIHRvIGEgcGFpciBvZiB0cm91c2VycyBhbmQgYSBidXR0b24tZG93biBzaGlydC48L2xpPgo8bGk+PHN0cm9uZz5TaG9lczwvc3Ryb25nPjogTWV0YWxsaWMgZGV0YWlscyBvbiBzaG9lcywgc3VjaCBhcyBidWNrbGVzIG9yIHN0cmFwcywgY2FuIG1ha2UgYSBzaWduaWZpY2FudCBpbXBhY3QuPC9saT4KPGxpPjxzdHJvbmc+RXhhbXBsZTwvc3Ryb25nPjogQSBwYWlyIG9mIGxvYWZlcnMgd2l0aCBtZXRhbGxpYyBidWNrbGVzIGNhbiBhZGQgYSBzb3BoaXN0aWNhdGVkIHRvdWNoIHRvIGEgc3VpdC48L2xpPgo8L3VsPgo8aDM+SW50ZWdyYXRpbmcgTWV0YWxsaWMgQWNjZXNzb3JpZXMgaW50byBZb3VyIE91dGZpdDwvaDM+CjxwPkhlcmUgYXJlIHNvbWUgcHJhY3RpY2FsIHRpcHMgdG8gaGVscCB5b3Ugc2VhbWxlc3NseSBpbmNvcnBvcmF0ZSBtZXRhbGxpYyBhY2Nlc3NvcmllcyBpbnRvIHlvdXIgcHJvZmVzc2lvbmFsIG91dGZpdHM6PC9wPgo8aDQ+U3RhcnQgd2l0aCBOZXV0cmFsczwvaDQ+CjxwPjx1bD4KPGxpPjxzdHJvbmc+TmV1dHJhbCBDb2xvcnM8L3N0cm9uZz46IEJlZ2luIHdpdGggYSBuZXV0cmFsIGNvbG9yIHBhbGV0dGUgc3VjaCBhcyBibGFjaywgd2hpdGUsIGdyYXksIG9yIG5hdnkuIFRoZXNlIGNvbG9ycyBwcm92aWRlIGEgY2xlYW4gY2FudmFzIGZvciB5b3VyIG1ldGFsbGljIGFjY2Vzc29yaWVzLjwvbGk+CjxsaT48c3Ryb25nPkV4YW1wbGU8L3N0cm9uZz46CmBgYDwvcD4KPHRhYmxlPgo8dGhlYWQ+Cjx0cj4KPHRoIGlkPSJvdXRmaXRfY29tcG9uZW50Ij5PdXRmaXQgQ29tcG9uZW50PC90aD4KPHRoIGlkPSJkZXNjcmlwdGlvbiI+RGVzY3JpcHRpb248L3RoPgo8L3RyPgo8L3RoZWFkPgo8dGJvZHk+Cjx0cj4KPHRkPlRvcDwvdGQ+Cjx0ZD5XaGl0ZSBvciBsaWdodC1jb2xvcmVkIGJsb3VzZTwvdGQ+CjwvdHI+Cjx0cj4KPHRkPkJvdHRvbTwvdGQ+Cjx0ZD5CbGFjayB0cm91c2VycyBvciBza2lydDwvdGQ+CjwvdHI+Cjx0cj4KPHRkPlNob2VzPC90ZD4KPHRkPkJsYWNrIHB1bXBzIG9yIGxvYWZlcnM8L3RkPgo8L3RyPgo8dHI+Cjx0ZD5BY2Nlc3NvcmllczwvdGQ+Cjx0ZD5TaWx2ZXIgbmVja2xhY2Ugb3IgZ29sZCBlYXJyaW5nczwvdGQ+CjwvdHI+Cjx0cj4KPHRkPmBgYDwvbGk+PC90ZD4KPHRkPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjwvdWw+PC90ZD4KPHRkPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjxoND5CYWxhbmNlIFlvdXIgTG9vazwvaDQ+PC90ZD4KPHRkPjwvdGQ+CjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+Cjx1bD4KPGxpPjxzdHJvbmc+QmFsYW5jZTwvc3Ryb25nPjogRW5zdXJlIHRoYXQgeW91ciBtZXRhbGxpYyBhY2Nlc3NvcmllcyBhcmUgYmFsYW5jZWQgd2l0aGluIHlvdXIgb3V0Zml0LiBBdm9pZCBvdmVyLWFjY2Vzc29yaXppbmcsIGFzIHRoaXMgY2FuIG1ha2UgeW91ciBsb29rIGZlZWwgY2x1dHRlcmVkLjwvbGk+CjxsaT48c3Ryb25nPkV4YW1wbGU8L3N0cm9uZz46IElmIHlvdSdyZSB3ZWFyaW5nIGEgYm9sZCBtZXRhbGxpYyBuZWNrbGFjZSwga2VlcCB5b3VyIGVhcnJpbmdzIHNpbXBsZS48L2xpPgo8L3VsPgo8aDQ+Q29uc2lkZXIgWW91ciBQZXJzb25hbCBTdHlsZTwvaDQ+Cjx1bD4KPGxpPjxzdHJvbmc+UGVyc29uYWwgU3R5bGU8L3N0cm9uZz46IExldCB5b3VyIHBlcnNvbmFsIHN0eWxlIGd1aWRlIHlvdXIgY2hvaWNlIG9mIG1ldGFsbGljIGFjY2Vzc29yaWVzLiBJZiB5b3UgcHJlZmVyIGEgbW9yZSBjYXN1YWwgbG9vaywgb3B0IGZvciBzdWJ0bGUgbWV0YWxsaWMgYWNjZW50cy4gRm9yIGEgbW9yZSBmb3JtYWwgbG9vaywgeW91IGNhbiBnbyBmb3IgbW9yZSBlbGFib3JhdGUgcGllY2VzLjwvbGk+CjxsaT48c3Ryb25nPlF1b3RlPC9zdHJvbmc+OiAiWW91ciBwZXJzb25hbCBzdHlsZSBpcyB3aGF0IHNldHMgeW91IGFwYXJ0IGZyb20gb3RoZXJzLiBXaGVuIGluY29ycG9yYXRpbmcgbWV0YWxsaWMgYWNjZXNzb3JpZXMsIG1ha2Ugc3VyZSB0aGV5IGFsaWduIHdpdGggeW91ciBvdmVyYWxsIGFlc3RoZXRpYywiIHNheXMgZmFzaGlvbiBzdHlsaXN0LCBKYW5lIFNtaXRoLjwvbGk+CjwvdWw+CjxoND5Db2xvdXIgQW5hbHlzaXM8L2g0Pgo8cD48dWw+CjxsaT48c3Ryb25nPkNvbG91ciBBbmFseXNpczwvc3Ryb25nPjogVW5kZXJzdGFuZCB3aGljaCBtZXRhbGxpYyBjb2xvcnMgY29tcGxlbWVudCB5b3VyIHNraW4gdG9uZSBhbmQgaGFpciBjb2xvci4gRm9yIGV4YW1wbGUsIGlmIHlvdSBoYXZlIGNvb2wgc2tpbiB0b25lcywgc2lsdmVyIGFuZCBwbGF0aW51bSBtaWdodCBzdWl0IHlvdSBiZXR0ZXIsIHdoaWxlIHdhcm0gc2tpbiB0b25lcyBtaWdodCBsb29rIGJldHRlciB3aXRoIGdvbGQgYW5kIGNvcHBlci48L2xpPgo8bGk+PHN0cm9uZz5FeGFtcGxlPC9zdHJvbmc+OgpgYGA8L3A+Cjx0YWJsZT4KPHRoZWFkPgo8dHI+Cjx0aCBpZD0ic2tpbl90b25lIj5Ta2luIFRvbmU8L3RoPgo8dGggaWQ9ImhhaXJfY29sb3IiPkhhaXIgQ29sb3I8L3RoPgo8dGggaWQ9ImJlc3RfbWV0YWxsaWNfY29sb3JzIj5CZXN0IE1ldGFsbGljIENvbG9yczwvdGg+CjwvdHI+CjwvdGhlYWQ+Cjx0Ym9keT4KPHRyPgo8dGQ+Q29vbDwvdGQ+Cjx0ZD5CbG9uZGU8L3RkPgo8dGQ+U2lsdmVyLCBQbGF0aW51bTwvdGQ+CjwvdHI+Cjx0cj4KPHRkPldhcm08L3RkPgo8dGQ+QnJ1bmV0dGU8L3RkPgo8dGQ+R29sZCwgQ29wcGVyPC90ZD4KPC90cj4KPHRyPgo8dGQ+YGBgPC9saT48L3RkPgo8dGQ+PC90ZD4KPHRkPjwvdGQ+CjwvdHI+Cjx0cj4KPHRkPjwvdWw+PC90ZD4KPHRkPjwvdGQ+Cjx0ZD48L3RkPgo8L3RyPgo8dHI+Cjx0ZD48aDM+UHJhY3RpY2FsIFRpcHMgZm9yIEV2ZXJ5ZGF5IFVzZTwvaDM+PC90ZD4KPHRkPjwvdGQ+Cjx0ZD48L3RkPgo8L3RyPgo8L3Rib2R5Pgo8L3RhYmxlPgo8cD5IZXJlIGFyZSBzb21lIGV2ZXJ5ZGF5IHRpcHMgdG8gaGVscCB5b3UgaW5jb3Jwb3JhdGUgbWV0YWxsaWMgYWNjZXNzb3JpZXMgc2VhbWxlc3NseSBpbnRvIHlvdXIgd29yayB3YXJkcm9iZTo8L3A+CjxoND5DYXN1YWwgRHJlc3Mgd2l0aCBhIFRvdWNoIG9mIE1ldGFsPC9oND4KPHVsPgo8bGk+PHN0cm9uZz5DYXN1YWwgRHJlc3M8L3N0cm9uZz46IEV2ZW4gaW4gYSBjYXN1YWwgc2V0dGluZywgbWV0YWxsaWMgYWNjZXNzb3JpZXMgY2FuIGFkZCBhIHByb2Zlc3Npb25hbCB0b3VjaC48L2xpPgo8bGk+PHN0cm9uZz5FeGFtcGxlPC9zdHJvbmc+OiBQYWlyIGEgY2FzdWFsIGRyZXNzIHdpdGggbWV0YWxsaWMgc2FuZGFscyBvciBhIG1ldGFsbGljIGJlbHQgdG8gZWxldmF0ZSB0aGUgbG9vay48L2xpPgo8L3VsPgo8aDQ+QnVzaW5lc3MgQ2FzdWFsIEVzc2VudGlhbHM8L2g0Pgo8dWw+CjxsaT48c3Ryb25nPkJ1c2luZXNzIENhc3VhbDwvc3Ryb25nPjogRm9yIGEgYnVzaW5lc3MgY2FzdWFsIHNldHRpbmcsIG9wdCBmb3Igc3VidGxlIG1ldGFsbGljIGFjY2VudHMgc3VjaCBhcyBhIHNpbXBsZSB3YXRjaCBvciBhIHBhaXIgb2YgZWFycmluZ3MuPC9saT4KPGxpPjxzdHJvbmc+RXhhbXBsZTwvc3Ryb25nPjogQSBwYWlyIG9mIHNpbHZlciBlYXJyaW5ncyBjYW4gY29tcGxlbWVudCBhIGJsb3VzZSBhbmQgdHJvdXNlcnMgY29tYmluYXRpb24uPC9saT4KPC91bD4KPGg0PkZvcm1hbCBTZXR0aW5nczwvaDQ+Cjx1bD4KPGxpPjxzdHJvbmc+Rm9ybWFsIFNldHRpbmdzPC9zdHJvbmc+OiBJbiBmb3JtYWwgc2V0dGluZ3MsIHlvdSBjYW4gZ28gZm9yIG1vcmUgZWxhYm9yYXRlIG1ldGFsbGljIGFjY2Vzc29yaWVzLjwvbGk+CjxsaT48c3Ryb25nPkV4YW1wbGU8L3N0cm9uZz46IEEgZ29sZCBuZWNrbGFjZSBvciBhIHBhaXIgb2YgY3VmZmxpbmtzIGNhbiBhZGQgYSB0b3VjaCBvZiBlbGVnYW5jZSB0byBhIHN1aXQuPC9saT4KPC91bD4KPGgzPkRldGFpbGVkIExpc3Qgb2YgTWV0YWxsaWMgQWNjZXNzb3JpZXMgdG8gQ29uc2lkZXI8L2gzPgo8cD5IZXJl4oCZcyBhIGRldGFpbGVkIGxpc3Qgb2YgbWV0YWxsaWMgYWNjZXNzb3JpZXMgeW91IGNhbiBpbmNvcnBvcmF0ZSBpbnRvIHlvdXIgcHJvZmVzc2lvbmFsIG91dGZpdHM6PC9wPgo8dWw+CjxsaT48c3Ryb25nPkpld2Vscnk8L3N0cm9uZz48L2xpPgo8bGk+TmVja2xhY2VzOiBTaW1wbGUgY2hhaW5zLCBwZW5kYW50cywgb3Igc3RhdGVtZW50IHBpZWNlczwvbGk+CjxsaT5FYXJyaW5nczogU3R1ZHMsIGRyb3BzLCBvciBob29wczwvbGk+CjxsaT5CcmFjZWxldHM6IEJhbmdsZSwgY3VmZiwgb3IgY2hhaW4gYnJhY2VsZXRzPC9saT4KPGxpPlJpbmdzOiBTaW1wbGUgYmFuZHMgb3Igc3RhdGVtZW50IHJpbmdzPC9saT4KPGxpPjxzdHJvbmc+QmFncyBhbmQgQmVsdHM8L3N0cm9uZz48L2xpPgo8bGk+SGFuZGJhZ3Mgd2l0aCBtZXRhbGxpYyBjbGFzcHMgb3Igc3RyYXBzPC9saT4KPGxpPkJlbHRzIHdpdGggbWV0YWxsaWMgYnVja2xlczwvbGk+CjxsaT48c3Ryb25nPlNob2VzPC9zdHJvbmc+PC9saT4KPGxpPkxvYWZlcnMgd2l0aCBtZXRhbGxpYyBidWNrbGVzPC9saT4KPGxpPlB1bXBzIHdpdGggbWV0YWxsaWMgc3RyYXBzPC9saT4KPGxpPjxzdHJvbmc+T3RoZXIgQWNjZXNzb3JpZXM8L3N0cm9uZz48L2xpPgo8bGk+V2F0Y2hlcyB3aXRoIG1ldGFsbGljIGJhbmRzPC9saT4KPGxpPkN1ZmZsaW5rcyBmb3Igc2hpcnRzPC9saT4KPGxpPkJyb29jaGVzIGZvciBqYWNrZXRzIG9yIGJsb3VzZXM8L2xpPgo8L3VsPgo8aDM+VGFibGU6IENvbXBhcmluZyBEaWZmZXJlbnQgTWV0YWxsaWMgQWNjZXNzb3JpZXM8L2gzPgo8cD5IZXJl4oCZcyBhIGNvbXBhcmF0aXZlIHRhYmxlIHRvIGhlbHAgeW91IGNob29zZSB0aGUgcmlnaHQgbWV0YWxsaWMgYWNjZXNzb3JpZXMgYmFzZWQgb24geW91ciBuZWVkczo8L3A+Cjx0YWJsZT4KPHRoZWFkPgo8dHI+Cjx0aCBpZD0iYWNjZXNzb3J5Ij5BY2Nlc3Nvcnk8L3RoPgo8dGggaWQ9ImRlc2NyaXB0aW9uIj5EZXNjcmlwdGlvbjwvdGg+Cjx0aCBpZD0iYmVzdF9mb3IiPkJlc3QgRm9yPC90aD4KPHRoIGlkPSJwcmljZV9yYW5nZSI+UHJpY2UgUmFuZ2U8L3RoPgo8L3RyPgo8L3RoZWFkPgo8dGJvZHk+Cjx0cj4KPHRkPlNpbHZlciBOZWNrbGFjZTwvdGQ+Cjx0ZD5TaW1wbGUgY2hhaW4gb3IgcGVuZGFudDwvdGQ+Cjx0ZD5Gb3JtYWwsIEJ1c2luZXNzPC90ZD4KPHRkPiQyMC0kMTAwPC90ZD4KPC90cj4KPHRyPgo8dGQ+R29sZCBFYXJyaW5nczwvdGQ+Cjx0ZD5TdHVkcyBvciBkcm9wczwvdGQ+Cjx0ZD5Gb3JtYWwsIENhc3VhbDwvdGQ+Cjx0ZD4kMTUtJDUwPC90ZD4KPC90cj4KPHRyPgo8dGQ+TWV0YWxsaWMgQmVsdDwvdGQ+Cjx0ZD5MZWF0aGVyIGJlbHQgd2l0aCBzaWx2ZXIgYnVja2xlPC90ZD4KPHRkPkJ1c2luZXNzIENhc3VhbDwvdGQ+Cjx0ZD4kMzAtJDcwPC90ZD4KPC90cj4KPHRyPgo8dGQ+TG9hZmVycyB3aXRoIEJ1Y2tsZTwvdGQ+Cjx0ZD5MZWF0aGVyIGxvYWZlcnMgd2l0aCBtZXRhbGxpYyBidWNrbGU8L3RkPgo8dGQ+Rm9ybWFsLCBCdXNpbmVzczwvdGQ+Cjx0ZD4kODAtJDE1MDwvdGQ+CjwvdHI+Cjx0cj4KPHRkPldhdGNoPC90ZD4KPHRkPkxlYXRoZXIgb3IgbWV0YWxsaWMgYmFuZDwvdGQ+Cjx0ZD5Gb3JtYWwsIEJ1c2luZXNzPC90ZD4KPHRkPiQ1MC0kMjAwPC90ZD4KPC90cj4KPHRyPgo8dGQ+Q3VmZmxpbmtzPC90ZD4KPHRkPlNpbXBsZSBvciBkZWNvcmF0aXZlIGN1ZmZsaW5rczwvdGQ+Cjx0ZD5Gb3JtYWw8L3RkPgo8dGQ+JDEwLSQ1MDwvdGQ+CjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+CjxoMz5RdW90ZXMgZnJvbSBGYXNoaW9uIEV4cGVydHM8L2gzPgo8cD5IZXJlIGFyZSBzb21lIGluc2lnaHRzIGZyb20gZmFzaGlvbiBleHBlcnRzIHRvIGhlbHAgeW91IG1ha2UgdGhlIG1vc3Qgb2YgeW91ciBtZXRhbGxpYyBhY2Nlc3Nvcmllczo8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+Ik1ldGFsbGljIGFjY2Vzc29yaWVzIGNhbiBpbnN0YW50bHkgZWxldmF0ZSB5b3VyIG91dGZpdCBmcm9tIG9yZGluYXJ5IHRvIGV4dHJhb3JkaW5hcnkuIFRoZSBrZXkgaXMgdG8gYmFsYW5jZSB0aGVtIHdlbGwgd2l0aCB0aGUgcmVzdCBvZiB5b3VyIGxvb2suIjwvc3Ryb25nPiAtIFNhcmFoIEpvaG5zb24sIEZhc2hpb24gU3R5bGlzdDwvbGk+CjxsaT48c3Ryb25nPiJXaGVuIGNob29zaW5nIG1ldGFsbGljIGFjY2Vzc29yaWVzLCBjb25zaWRlciB0aGUgb2NjYXNpb24gYW5kIHlvdXIgcGVyc29uYWwgc3R5bGUuIEZvciBhIGJ1c2luZXNzIGNhc3VhbCBzZXR0aW5nLCBzdWJ0bGUgYWNjZW50cyB3b3JrIGJlc3QsIHdoaWxlIGZvcm1hbCBzZXR0aW5ncyBhbGxvdyBmb3IgbW9yZSBlbGFib3JhdGUgcGllY2VzLiI8L3N0cm9uZz4gLSBNYXJrIERhdmlzLCBGYXNoaW9uIENvbnN1bHRhbnQ8L2xpPgo8L3VsPgo8cD5JbmNvcnBvcmF0aW5nIG1ldGFsbGljIGFjY2Vzc29yaWVzIGludG8geW91ciBwcm9mZXNzaW9uYWwgb3V0Zml0cyBpcyBhIHNpbXBsZSB5ZXQgZWZmZWN0aXZlIHdheSB0byBlbmhhbmNlIHlvdXIgc3R5bGUgYW5kIG1ha2UgYSBsYXN0aW5nIGltcHJlc3Npb24uIEJ5IHVuZGVyc3RhbmRpbmcgdGhlIHR5cGVzIG9mIG1ldGFsbGljIGFjY2Vzc29yaWVzIGF2YWlsYWJsZSwgaG93IHRvIGJhbGFuY2UgdGhlbSB3aXRoaW4geW91ciBvdXRmaXQsIGFuZCBjb25zaWRlcmluZyB5b3VyIHBlcnNvbmFsIHN0eWxlIGFuZCB0aGUgZHJlc3MgY29kZSBvZiB5b3VyIHdvcmtwbGFjZSwgeW91IGNhbiB0cmFuc2Zvcm0geW91ciB3b3Jrc3BhY2Ugd2FyZHJvYmUgaW50byBhIHJlZmxlY3Rpb24gb2YgeW91ciBwcm9mZXNzaW9uYWxpc20gYW5kIHBlcnNvbmFsIGZsYWlyLjwvcD4KPHA+UmVtZW1iZXIsIHRoZSBrZXkgdG8gcHVsbGluZyBvZmYgbWV0YWxsaWMgYWNjZXNzb3JpZXMgaXMgYmFsYW5jZSBhbmQgaGFybW9ueS4gTWFrZSBzdXJlIHlvdXIgYWNjZXNzb3JpZXMgY29tcGxlbWVudCB5b3VyIG91dGZpdCByYXRoZXIgdGhhbiBvdmVycG93ZXIgaXQsIGFuZCBhbHdheXMgZmVlbCBjb25maWRlbnQgaW4gd2hhdCB5b3Ugd2Vhci4gV2l0aCB0aGVzZSB0aXBzIGFuZCBhIGJpdCBvZiBwcmFjdGljZSwgeW91J2xsIGJlIHdlbGwgb24geW91ciB3YXkgdG8gZWxldmF0aW5nIHlvdXIgcHJvZmVzc2lvbmFsIGxvb2sgYW5kIG1ha2luZyBhIHN0YXRlbWVudCBpbiB0aGUgd29ya3BsYWNlLjwvcD4KPC9ib2R5Pgo8L2h0bWw+
PCFET0NUWVBFIEhUTUw+CjxodG1sPgo8aGVhZD4KPG1ldGEgY2hhcnNldD0idXRmLTgiPgo8L2hlYWQ+Cjxib2R5Pgo8aDI+U3R5bGluZyBUaXBzIGZvciBCYWJ5ZG9sbCBEcmVzc2VzIGluIGEgVGVjaCBPZmZpY2U8L2gyPgo8cD5DaG9vc2luZyB0aGUgPHN0cm9uZz5yaWdodCBmYWJyaWM8L3N0cm9uZz4gaXMga2V5IHRvIGVuc3VyaW5nIHRoYXQgYSBiYWJ5ZG9sbCBkcmVzcyB0cmFuc2l0aW9ucyBzZWFtbGVzc2x5IGludG8gYSBwcm9mZXNzaW9uYWwgb2ZmaWNlIGVudmlyb25tZW50LiBPcHQgZm9yIG1hdGVyaWFscyBzdWNoIGFzIGNvdHRvbiBvciBzaWxrLCBhcyB0aGVzZSBwcm92aWRlIGEgcG9saXNoZWQgbG9vayB3aGlsZSBtYWludGFpbmluZyBjb21mb3J0IHRocm91Z2hvdXQgdGhlIHdvcmtkYXkuIDwvcD4KPHA+QWNjZXNzb3JpemluZyBhIGJhYnlkb2xsIGRyZXNzIGNhbiBtYWludGFpbiBhIHNlbnNlIG9mIHByb2Zlc3Npb25hbGlzbS4gQ29uc2lkZXIgcGFpcmluZyB5b3VyIGRyZXNzIHdpdGggdW5kZXJzdGF0ZWQgamV3ZWxsZXJ5IHN1Y2ggYXMgc2ltcGxlIHN0dWQgZWFycmluZ3Mgb3IgYSBjbGFzc2ljIHdhdGNoLiBUaGlzIGFkZHMgYSB0b3VjaCBvZiBlbGVnYW5jZSB3aXRob3V0IG92ZXJ3aGVsbWluZyB0aGUgb3V0Zml0LiBBIHN0cnVjdHVyZWQgaGFuZGJhZyBjYW4gYWxzbyBlbmhhbmNlIHRoZSBwcm9mZXNzaW9uYWwgYXNwZWN0IG9mIGEgYmFieWRvbGwgZHJlc3MsIG1hcnJ5aW5nIGZ1bmN0aW9uYWxpdHkgd2l0aCBzdHlsZS48L3A+CjxwPkJsZW5kaW5nIDxzdHJvbmc+Y2FzdWFsIGFuZCBmb3JtYWwgZWxlbWVudHM8L3N0cm9uZz4gaXMgYW4gYXJ0IHdoZW4gc3R5bGluZyBhIGJhYnlkb2xsIGRyZXNzIGZvciB0aGUgb2ZmaWNlLiBDb21iaW5lIHlvdXIgZHJlc3Mgd2l0aCB0YWlsb3JlZCBibGF6ZXJzIG9yIGNhcmRpZ2FucyB0byBnaXZlIGEgdGFpbG9yZWQgdHdpc3QgdG8gYSByZWxheGVkIGZpdC4gVGhpcyBtaXggYW1wbGlmaWVzIHRoZSBwcm9mZXNzaW9uYWwgdmliZSB3aGlsZSBhbGxvd2luZyB0aGUgd2VhcmVyIHRvIGV4cHJlc3MgcGVyc29uYWwgc3R5bGUuIE9wdGluZyBmb3IgY2xvc2VkLXRvZSBzaG9lcyBvciBzbWFydCBsb2FmZXJzIGNhbiBmdXJ0aGVyIGVsZXZhdGUgdGhlIGVuc2VtYmxlLCBlbnN1cmluZyB0aGF0IHRoZSBlbnRpcmUgb3V0Zml0IHN0YXlzIHdvcmtwbGFjZSBhcHByb3ByaWF0ZS4gPC9wPgo8cD5FeHBlcmltZW50IHdpdGggdGhlc2UgPHN0cm9uZz5wcm9mZXNzaW9uYWwgb3V0Zml0IGlkZWFzLDwvc3Ryb25nPiBhbmQgeW91J2xsIGZpbmQgdGhhdCBiYWJ5ZG9sbCBkcmVzc2VzIGNhbiBiZSBxdWl0ZSB2ZXJzYXRpbGUgZm9yIG9mZmljZSB3ZWFyLiBXaXRoIHRoZSByaWdodCBzdHlsaW5nLCB0aGVzZSBkcmVzc2VzIGNhbiBlYXNpbHkgYmVjb21lIGEgc3RhcGxlIGluIHlvdXIgcHJvZmVzc2lvbmFsIHdhcmRyb2JlLjwvcD4KPGgyPk91dGZpdCBQYWlyaW5nIElkZWFzPC9oMj4KPHA+RXhwbG9yZSBjaGljIGFuZCBzdHlsaXNoIHdheXMgdG8gZW5oYW5jZSB5b3VyIDxzdHJvbmc+YmFieWRvbGwgZHJlc3M8L3N0cm9uZz4gZW5zZW1ibGUgdGhyb3VnaCBjbGV2ZXIgb3V0Zml0IHBhaXJpbmcgc3RyYXRlZ2llcy48L3A+CjxoMz5TaG9lIE9wdGlvbnMgZm9yIEJhYnlkb2xsIERyZXNzZXM8L2gzPgo8cD5TZWxlY3RpbmcgdGhlIHJpZ2h0IHNob2VzIGZvciBhIGJhYnlkb2xsIGRyZXNzIGlzIGNydWNpYWwgdG8gYWNoaWV2aW5nIGEgYmFsYW5jZWQgbG9vay4gT3B0IGZvciBmb290d2VhciB0aGF0IGNvbXBsZW1lbnRzIHRoZSBkcmVzcydzIHBsYXlmdWwgc2lsaG91ZXR0ZS4gRm9yIGluc3RhbmNlLCBibG9jayBoZWVscyBwcm92aWRlIHRoZSBuZWNlc3NhcnkgaGVpZ2h0IHdpdGhvdXQgc2FjcmlmaWNpbmcgY29tZm9ydC4gVGhpcyBzdHlsZSBhbGlnbnMgd2l0aCB0aGUgcGxheWZ1bCB1bmRlcnRvbmUgb2YgdGhlIGJhYnlkb2xsIGRlc2lnbiB3aGlsZSBvZmZlcmluZyBzdGFiaWxpdHkgYW5kIHN0cnVjdHVyZS48L3A+CjxwPkZvciBhIG1vcmUgcmVsYXhlZCBvdXRpbmcsIGNvbnNpZGVyIHdlYXJpbmcgYmFsbGV0IGZsYXRzLiBUaGV5IG9mZmVyIGEgZGVsaWNhdGUgYW5kIDxzdHJvbmc+cmVmaW5lZCB0b3VjaDwvc3Ryb25nPiB0aGF0IGNvbXBsZW1lbnRzIHRoZSBiYWJ5ZG9sbCdzIGNoYXJtLiBJZiB5b3UgZGVzaXJlIGEgYm9sZCBzdGF0ZW1lbnQsIGFua2xlIGJvb3RzIGNhbiBjcmVhdGUgYW4gaW50ZXJlc3RpbmcganV4dGFwb3NpdGlvbiBiZXR3ZWVuIGZlbWluaW5lIGFuZCBlZGd5IHN0eWxlLiA8L3A+CjxoMz5BY2Nlc3NvcnkgQ2hvaWNlcyB0byBFbmhhbmNlIEVsZWdhbmNlPC9oMz4KPHA+QWNjZXNzb3JpZXMgYXJlIGtleSBpbiBlbGV2YXRpbmcgdGhlIGVsZWdhbmNlIG9mIGEgYmFieWRvbGwgZHJlc3MuIEEgZGVsaWNhdGUgY2hhaW4gbmVja2xhY2Ugb3IgZGFpbnR5IGVhcnJpbmdzIGNhbiBlbmhhbmNlIHRoZSBkcmVzcydzIG5lY2tsaW5lIHdpdGhvdXQgb3ZlcndoZWxtaW5nIGl0LiBJbiBjb250cmFzdCwgYSBzdGF0ZW1lbnQgYmVsdCBhZGRzIGRlZmluaXRpb24gdG8gdGhlIHdhaXN0LCB0cmFuc2Zvcm1pbmcgdGhlIG92ZXJhbGwgc2lsaG91ZXR0ZS4gPC9wPgo8aDM+TGF5ZXJpbmcgVGVjaG5pcXVlcyB3aXRoIE91dGVyd2VhcjwvaDM+CjxwPkxheWVyaW5nIHdpdGggb3V0ZXJ3ZWFyIGlzIG5vdCBvbmx5IHByYWN0aWNhbCBidXQgYWxzbyBhZGRzIGRlcHRoIHRvIHlvdXIgb3V0Zml0IHBhaXJpbmcuIEEgdGFpbG9yZWQgYmxhemVyIGludHJvZHVjZXMgYSBwcm9mZXNzaW9uYWwgZWRnZSwgbWFraW5nIGl0IHN1aXRhYmxlIGZvciBvZmZpY2UgZW52aXJvbm1lbnRzLiBNZWFud2hpbGUsIGEgbGlnaHR3ZWlnaHQgY2FyZGlnYW4gY2FuIHByb3ZpZGUgd2FybXRoIHdpdGhvdXQgY29tcHJvbWlzaW5nIG9uIHN0eWxlLCBpZGVhbCBmb3IgdmFyaWVkIGNsaW1hdGVzIHRocm91Z2hvdXQgdGhlIGRheS48L3A+CjxoMj5DaG9vc2luZyBTdWl0YWJsZSBNYXRlcmlhbHMgYW5kIENvbG9yczwvaDI+CjxwPlNlbGVjdGluZyBhcHByb3ByaWF0ZSBtYXRlcmlhbHMgaXMgY3J1Y2lhbCBpbiBlbnN1cmluZyBhIDxzdHJvbmc+cHJvZmVzc2lvbmFsIGFwcGVhcmFuY2U8L3N0cm9uZz4gd2hpbGUgbWFpbnRhaW5pbmcgY29tZm9ydC4gSW4gdGVjaCBvZmZpY2Ugc2V0dGluZ3MsIGl0J3MgaW1wb3J0YW50IHRvIGJhbGFuY2UgdGhlc2UgYXNwZWN0cy4gV2hlbiBjb25zaWRlcmluZyA8c3Ryb25nPmZhYnJpYyBzZWxlY3Rpb248L3N0cm9uZz4sIGZvY3VzIG9uIHBpZWNlcyB0aGF0IG9mZmVyIGJvdGggZHVyYWJpbGl0eSBhbmQgYnJlYXRoYWJpbGl0eS4gQ290dG9uIGJsZW5kcyBvciBsaWdodHdlaWdodCB3b29sIGNhbiBiZSBpZGVhbCBjaG9pY2VzIGZvciBzZXR0aW5ncyByZXF1aXJpbmcgYm90aCBzdHlsZSBhbmQgZWFzZSwgZW5zdXJpbmcgZW1wbG95ZWVzIGZlZWwgY29tZm9ydGFibGUgdGhyb3VnaG91dCB0aGVpciB3b3JrZGF5LjwvcD4KPHA+VGhlIDxzdHJvbmc+Y29sb3IgcGFsZXR0ZTwvc3Ryb25nPiBhbHNvIHBsYXlzIGEgc2lnbmlmaWNhbnQgcm9sZSBpbiBkZWZpbmluZyBhIHByb2Zlc3Npb25hbCBsb29rLiBPcHRpbmcgZm9yIG5ldXRyYWwgdG9uZXMgc3VjaCBhcyBncmV5cywgYmx1ZXMsIGFuZCBibGFja3MgY2FuIGVuaGFuY2UgYSBzbGVlaywgbW9kZXJuIG9mZmljZSBhZXN0aGV0aWMuIFRoZXNlIGNvbG9ycyBhcmUgdmVyc2F0aWxlIGFuZCBjYW4gZWFzaWx5IGJlIHBhaXJlZCB3aXRoIHZhcmlvdXMgYWNjZXNzb3JpZXMgb3IgYWNjZW50IHBpZWNlcyB3aXRob3V0IG92ZXJwb3dlcmluZyB0aGUgb3ZlcmFsbCBkZXNpZ24uPC9wPgo8cD5XaGVuIGl0IGNvbWVzIHRvIHBhdHRlcm5zLCBpdCBpcyBjcnVjaWFsIHRvIGNob29zZSBvbmVzIHRoYXQgY29tcGxlbWVudCB0aGUgcHJvZmVzc2lvbmFsIHNldHRpbmcgd2l0aG91dCBiZWluZyB0b28gYm9sZCBvciBkaXN0cmFjdGluZy4gU3VidGxlIHN0cmlwZXMgb3IgY2hlY2tzIGNhbiBhZGQgYSB0b3VjaCBvZiBzb3BoaXN0aWNhdGlvbiwgd2hlcmVhcyBjbGFzc2ljIHNvbGlkcyBtYXkgaGVscCBtYWludGFpbiBhIGNvaGVzaXZlIGFuZCB1bmNsdXR0ZXJlZCBsb29rLiBCeSBmb2N1c2luZyBvbiB0aGVzZSA8c3Ryb25nPmZhYnJpYyBzZWxlY3Rpb248L3N0cm9uZz4gdGlwcyBhbmQgPHN0cm9uZz5jb2xvciBwYWxldHRlPC9zdHJvbmc+IGd1aWRlbGluZXMsIHlvdSBjYW4gZWZmZWN0aXZlbHkgY3JlYXRlIGFuIGVudmlyb25tZW50IHRoYXQgaXMgYm90aCBzdHlsaXNoIGFuZCBjb25kdWNpdmUgdG8gcHJvZHVjdGl2aXR5LjwvcD4KPGgyPkFjaGlldmluZyBCYWxhbmNlIEJldHdlZW4gQ2FzdWFsIGFuZCBQcm9mZXNzaW9uYWw8L2gyPgo8cD5JbmNvcnBvcmF0aW5nIDxzdHJvbmc+Y2FzdWFsIGVsZWdhbmNlPC9zdHJvbmc+IGludG8gb2ZmaWNlIGF0dGlyZSBjYW4gc2VhbWxlc3NseSBibGVuZCBjb21mb3J0IHdpdGggc29waGlzdGljYXRpb24uIFVuZGVyc3RhbmRpbmcga2V5IGVsZW1lbnRzIGNhbiByZWZpbmUgb25lJ3MgYXBwcm9hY2ggdG8gYWNoaWV2aW5nIHRoaXMgYmFsYW5jZS4gPHN0cm9uZz5Qcm9mZXNzaW9uYWwgZHJlc3Npbmc8L3N0cm9uZz4gZG9lc24ndCBoYXZlIHRvIG1lYW4gc2FjcmlmaWNpbmcgc3R5bGU7IGl0IGZvY3VzZXMgb24gdGhlIHJpZ2h0IGZhYnJpY3MsIGNvbG91cnMsIGFuZCBhY2Nlc3NvcmllcyB0aGF0IGVuaGFuY2UgYSBwZXJzb24ncyBuYXR1cmFsIGVsZWdhbmNlLjwvcD4KPHA+V2hlbiBpdCBjb21lcyB0byBjdXJhdGluZyBhIGNvaGVzaXZlIDxzdHJvbmc+YnVzaW5lc3MgY2FzdWFsIHN0eWxlPC9zdHJvbmc+LCA8c3Ryb25nPmJhYnlkb2xsIGRyZXNzZXM8L3N0cm9uZz4gcmVwcmVzZW50IGEgdmVyc2F0aWxlIG9wdGlvbi4gVGhleSBjYW4gYmUgcGFpcmVkIHdpdGggc3RydWN0dXJlZCBibGF6ZXJzIG9yIHRhaWxvcmVkIGphY2tldHMgdG8gYWRkIGEgbGF5ZXIgb2YgcHJvZmVzc2lvbmFsIHBvbGlzaCB3aXRob3V0IGNvbXByb21pc2luZyBjb21mb3J0LiBUaGlzIGVmZm9ydGxlc3MgdHJhbnNpdGlvbiBmcm9tIGNhc3VhbCB0byBwcm9mZXNzaW9uYWwgaXMgYWNoaWV2ZWQgdGhyb3VnaCBzdHJhdGVnaWMgbGF5ZXJpbmcgYW5kIHRob3VnaHRmdWwgYWNjZXNzb3J5IGNob2ljZXMuPC9wPgo8cD5UaGUgPHN0cm9uZz5pbXBvcnRhbmNlIG9mIGZpdCBhbmQgc2lsaG91ZXR0ZTwvc3Ryb25nPiBjYW5ub3QgYmUgb3ZlcnN0YXRlZCBpbiBwcm9mZXNzaW9uYWwgc2V0dGluZ3MuIEFuIG91dGZpdCdzIG92ZXJhbGwgcHJlc2VudGF0aW9uIGNhbiBiZSBncmVhdGx5IGluZmx1ZW5jZWQgYnkgaG93IHdlbGwgZWFjaCBwaWVjZSBjb25mb3JtcyB0byBvbmUncyBib2R5LCBlbXBoYXNpemluZyBhIHNsZWVrIGFuZCBvcmRlcmx5IGFwcGVhcmFuY2UuIFNlbGVjdGluZyBnYXJtZW50cyB0aGF0IGNvbXBsZW1lbnQgeW91ciBzaGFwZSDigJQgc3VjaCBhcyB0YWlsb3JlZCB0cm91c2VycyBvciBBLWxpbmUgc2tpcnRzIOKAlCBmb3N0ZXJzIGFuIGltYWdlIG9mIGNvbmZpZGVuY2UgYW5kIGNvbXBldGVuY2UuPC9wPgo8cD5UbyBzdW0gdXAsIGFjaGlldmluZyBhIGJhbGFuY2UgaW4gcHJvZmVzc2lvbmFsIGRyZXNzaW5nIHJlbGllcyBvbiB1bmRlcnN0YW5kaW5nIHRoZSBlbGVtZW50cyBvZiBjYXN1YWwgZWxlZ2FuY2UsIHRoZSBhZGFwdGFiaWxpdHkgb2YgPHN0cm9uZz5iYWJ5ZG9sbCBkcmVzc2VzPC9zdHJvbmc+IHdpdGhpbiBidXNpbmVzcyBjYXN1YWwgd2FyZHJvYmVzLCBhbmQgdGhlIHNpZ25pZmljYW50IHJvbGUgb2Ygc2lsaG91ZXR0ZSBhbmQgZml0LiBUaGlzIGtub3dsZWRnZSBlbXBvd2VycyBpbmRpdmlkdWFscyB0byBwcmVzZW50IHRoZW1zZWx2ZXMgd2l0aCByZWZpbmVkIGFzc3VyYW5jZS48L3A+CjxoMj5WaXN1YWwgRXhhbXBsZXMgYW5kIFJlY29tbWVuZGF0aW9uczwvaDI+CjxwPk5hdmlnYXRpbmcgdGhlIHdvcmxkIG9mIDxzdHJvbmc+YmFieWRvbGwgZHJlc3Mgc3R5bGVzPC9zdHJvbmc+IGZvciB2YXJpb3VzIHNldHRpbmdzIGNhbiBiZSB0aHJpbGxpbmcgeWV0IGRhdW50aW5nLiBIZXJlLCB3ZSBzaGFyZSBpbnNpZ2h0cyBvbiBob3cgdG8gaW5jb3Jwb3JhdGUgdGhlc2UgZHJlc3NlcyBpbnRvIGRpZmZlcmVudCBzY2VuYXJpb3MsIGVuc3VyaW5nIHlvdSdyZSBhbHdheXMgZHJlc3NlZCB0byBpbXByZXNzLjwvcD4KPGgzPlJlYWwtTGlmZSBTdHlsaW5nIEV4YW1wbGVzPC9oMz4KPHA+Rm9yIHByb2Zlc3Npb25hbHMgaW4gdGVjaCBlbnZpcm9ubWVudHMsIDxzdHJvbmc+b3V0Zml0IGluc3BpcmF0aW9uPC9zdHJvbmc+IGZlYXR1cmluZyBiYWJ5ZG9sbCBkcmVzc2VzIGNhbiBiZSB0cmFuc2Zvcm1hdGl2ZS4gUGFpcmluZyBhIHN0cnVjdHVyZWQgYmxhemVyIHdpdGggYSBjbGFzc2ljIGJhYnlkb2xsIGRyZXNzIGNhbiBzZWFtbGVzc2x5IGJyaWRnZSB0aGUgZ2FwIGJldHdlZW4gZm9ybWFsIGFuZCB0cmVuZHkuIE9wdCBmb3IgbmV1dHJhbCB0b25lcyB0byBtYWludGFpbiBhIHByb2Zlc3Npb25hbCBsb29rLCBhbGxvd2luZyB0aGUgZHJlc3MgdG8gY29tcGxlbWVudCwgcmF0aGVyIHRoYW4gZG9taW5hdGUsIHRoZSBlbnNlbWJsZS48L3A+CjxoMz5SZWNvbW1lbmRlZCBCcmFuZHMgYW5kIFNob3BzPC9oMz4KPHA+RGlzY292ZXIgYnJhbmRzIHJlbm93bmVkIGZvciA8c3Ryb25nPnN0eWxpc2ggYmFieWRvbGwgZHJlc3Nlczwvc3Ryb25nPiBzdWl0ZWQgZm9yIHdvcmsuIEFTT1MsICZhbXA7IE90aGVyIFN0b3JpZXMsIGFuZCBFdmVybGFuZSBvZmZlciBjb2xsZWN0aW9ucyB0aGF0IGFyZSBub3Qgb25seSBjaGljIGJ1dCBhbHNvIHZlcnNhdGlsZS4gVGhlc2Ugb3B0aW9ucyBjb21iaW5lIGNvbWZvcnQgd2l0aCBlbGVnYW5jZSwgd2hpY2ggaXMgcGFyYW1vdW50IGZvciBtYWludGFpbmluZyBjb25maWRlbmNlIGluIHByb2Zlc3Npb25hbCBzZXR0aW5ncy48L3A+CjxoMz5PY2Nhc2lvbi1TcGVjaWZpYyBPdXRmaXQgU3VnZ2VzdGlvbnM8L2gzPgo8cD5XaGVuIGNvbnNpZGVyaW5nIDxzdHJvbmc+cHJvZmVzc2lvbmFsIHNldHRpbmdzPC9zdHJvbmc+LCB0YWlsb3IgeW91ciBiYWJ5ZG9sbCBkcmVzcyBzdHJhdGVnaWNhbGx5LiA8L3A+Cjx1bD4KPGxpPjxzdHJvbmc+TWVldGluZ3M8L3N0cm9uZz46IENob29zZSBhIHN1YnRsZSBwYXR0ZXJuIHBhaXJlZCB3aXRoIGNsb3NlZC10b2Ugc2hvZXMuPC9saT4KPGxpPjxzdHJvbmc+Q2FzdWFsIEZyaWRheXM8L3N0cm9uZz46IFNvZnRlbiB5b3VyIGxvb2sgd2l0aCBhIGRlbmltIGphY2tldCBhbmQgYm9vdHMuPC9saT4KPGxpPjxzdHJvbmc+RXZlbnRzPC9zdHJvbmc+OiBFbGV2YXRlIHlvdXIgc3R5bGUgd2l0aCBzdGF0ZW1lbnQgYWNjZXNzb3JpZXMgYW5kIHNsZWVrIGhhaXIgZm9yIGFmdGVyLXdvcmsgZ2F0aGVyaW5ncy48L2xpPgo8L3VsPgo8cD5UaGlzIG11bHRpLWZhY2V0ZWQgYXBwcm9hY2ggZW5zdXJlcyB0aGF0IHRoZSA8c3Ryb25nPmJhYnlkb2xsIGRyZXNzPC9zdHJvbmc+IGNhbiBuYXZpZ2F0ZSBkaXZlcnNlIHNldHRpbmdzIHdpdGggZWFzZSBhbmQgZ3JhY2UuPC9wPgo8L2JvZHk+CjwvaHRtbD4=