PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KPCEtLSBzYXZlZCBmcm9tIHVybD0oMDA1NilodHRwOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9ob3d0b2pvaW4vYWRkaW5fbWFya2V0aW5nLmh0bSAtLT4KPEhUTUw+PEhFQUQ+PFRJVExFPkVjbGlwc2UgRm91bmRhdGlvbjwvVElUTEU+CjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZGVmYXVsdF9zdHlsZS5jc3MiPgo8U1RZTEUgdHlwZT10ZXh0L2Nzcz4uc3R5bGUxIHsKCUZPTlQtV0VJR0hUOiBib2xkOyBGT05ULVNJWkU6IDE0cHgKfQo8L1NUWUxFPgoKPE1FVEEgY29udGVudD0iTVNIVE1MIDYuMDAuMjkwMC4yNjI3IiBuYW1lPUdFTkVSQVRPUj48L0hFQUQ+CjxCT0RZPgo8VEFCTEUgY2VsbFNwYWNpbmc9NSBjZWxsUGFkZGluZz0yIHdpZHRoPSIxMDAlIiBib3JkZXI9MD4KICA8VEJPRFk+CiAgPFRSPgogICAgPFREIGFsaWduPWxlZnQgd2lkdGg9IjcyJSI+CiAgICAgIDxQPjxGT05UIGNsYXNzPWluZGV4dG9wPmhvdyB0byBqb2luPC9GT05UPjwvUD4KICAgICAgPFA+PFNUUk9ORz5BZGQtaW4gUHJvdmlkZXIgTWVtYmVyIDwvU1RST05HPjwvUD48L1REPgogICAgPFREIHdpZHRoPSIyOCUiPjxpbWcgc3JjPSIuLi8uLi9pbWFnZXMvSWRlYS5qcGciIGhlaWdodD04NiB3aWR0aD0xMjA+PC9URD4KICA8L1RSPjwvVEJPRFk+PC9UQUJMRT4KPFRBQkxFIGNlbGxTcGFjaW5nPTUgY2VsbFBhZGRpbmc9MiB3aWR0aD0iMTAwJSIgYm9yZGVyPTA+CiAgPFRCT0RZPgogIDxUUj4KICAgIDxURCB2QWxpZ249dG9wIGFsaWduPWxlZnQgYmdDb2xvcj0jMDA4MGMwIGNvbFNwYW49Mj48Qj48Rk9OVCAKICAgICAgZmFjZT1BcmlhbCxIZWx2ZXRpY2EgY29sb3I9I2ZmZmZmZj5QYXJ0aWNpcGF0ZSBpbiBFY2xpcHNlIE1hcmtldGluZyAKICAgICAgT3Bwb3J0dW5pdGllczwvRk9OVD48L0I+PC9URD4KICA8VFI+CiAgICA8VEQgdkFsaWduPXRvcCBhbGlnbj1yaWdodD4mbmJzcDs8L1REPgogICAgPFREPgogICAgICA8UD4KICAgICAgPFA+RWNsaXBzZSBNZW1iZXJzIGFyZSBhYmxlIHRvIGJlbmVmaXQgZnJvbSB0aGUgYXdhcmVuZXNzIGFuZCB0aGUgaW5zdGFsbCAKICAgICAgYmFzZSBvZiBFY2xpcHNlLiBUaGUgRWNsaXBzZSBGb3VuZGF0aW9uIGhhcyBjcmVhdGVkIGEgbnVtYmVyIG9mIAogICAgICBvcHBvcnR1bml0aWVzIHRvIGhlbHAgZHJpdmUgbW9yZSBjdXN0b21lcnMgdG8geW91ciBvZmZlcmluZ3MuPC9QPgogICAgICA8UD48U1RST05HPkVjbGlwc2Uub3JnIFdlYiBTaXRlPC9TVFJPTkc+PEJSPkVjbGlwc2UgbWVtYmVycyBjYW4gYmUgCiAgICAgIGhpZ2hsaWdodGVkIG9uIHRoZSBlY2xpcHNlLm9yZyB3ZWIgc2l0ZSBpbiBhIG51bWJlciBvZiB3YXlzOjwvUD4KICAgICAgPFVMPgogICAgICAgIDxMST48RU0+TWVtYmVyIExpc3Rpbmc8L0VNPiBFYWNoIG1lbWJlciBpcyBwcm92aWRlZCB0aGUgb3Bwb3J0dW5pdHkgdG8gCiAgICAgICAgcG9zdCB0aGVpciBjb21wYW55IG5hbWUgYW5kIGxvZyBvbiB0aGUgd2ViIHNpdGUuIAogICAgICAgIDxMST48RU0+TWVtYmVycyBpbiB0aGUgTmV3czwvRU0+IFRoZSBFY2xpcHNlLm9yZyB3ZWIgc2l0ZSBoaWdobGlnaHRzIAogICAgICAgIG1lbWJlcnOSIG5ld3MgcmVsYXRlZCBzdG9yaWVzLiAKICAgICAgICA8TEk+PEVNPkVjbGlwc2UgaW4gQWN0aW9uPC9FTT4gTWVtYmVycyBhcmUgYWJsZSB0byBwb3N0IHN1Y2Nlc3Mgc3RvcmllcyAKICAgICAgICBvZiBob3cgdGhlaXIgY3VzdG9tZXJzIGFyZSB1c2luZyBFY2xpcHNlIGJhc2VkIHByb2R1Y3RzLiA8L0xJPjwvVUw+CiAgICAgIDxQPjxTVFJPTkc+RWNsaXBzZSBGb3VuZGF0aW9uIE1lbWJlciBMb2dvPC9TVFJPTkc+PEJSPk1lbWJlcnMgd2lsbCBiZSAKICAgICAgZ3JhbnRlZCB0aGUgcmlnaHQgdG8gdXNlIHRoZSBvZmZpY2lhbCBFY2xpcHNlIEZvdW5kYXRpb24gTWVtYmVyIGxvZ28uIFRoaXMgCiAgICAgIGV4Y2x1c2l2ZSBtZW1iZXJzkiBvbmx5IGxvZ28gY2FuIGJlIHVzZWQgb24gbWFya2V0aW5nIG1hdGVyaWFsLCBleC4gV2ViIAogICAgICBzaXRlLCBzaWducyBhdCB0cmFkZSBzaG93cywgcHJvZHVjdCBjb2xsYXRlcmFsLCBldGMuPC9QPgogICAgICA8UD48U1RST05HPlByZXNzIHJlbGVhc2VzPC9TVFJPTkc+PEJSPkVjbGlwc2UgRm91bmRhdGlvbiB3aWxsIHByb3ZpZGUgCiAgICAgIHByZXNzIGFzc2lzdGFuY2UgYW5kIHF1b3RlcyBmb3IgbmV3IG1lbWJlcpJzIHByZXNzIHJlbGVhc2VzIGFuZCBvbmdvaW5nIAogICAgICBtZW1iZXIgcHJvZHVjdCBhbm5vdW5jZW1lbnRzLiA8L1A+CiAgICAgIDxQPjxTVFJPTkc+TWFya2V0aW5nIENvbW1pdHRlZSA8L1NUUk9ORz48QlI+TWVtYmVyIGNvbXBhbmllcyBhcmUgCiAgICAgIGVuY291cmFnZWQgdG8gYWN0aXZlbHkgcGFydGljaXBhdGUgaW4gdGhlIEVjbGlwc2UgTWFya2V0aW5nIENvbW1pdHRlZSBhbmQgCiAgICAgIFB1YmxpYyBSZWxhdGlvbnMgQ29tbWl0dGVlLiBUaGVzZSBjb21taXR0ZWVzIGFyZSBlbmdhZ2VkIGRldmVsb3BpbmcgCiAgICAgIG1hcmtldGluZyBzdHJhdGVneSBhbmQgaW1wbGVtZW50aW5nIHByb2dyYW1zIHRoYXQgcHJvbW90ZSBFY2xpcHNlIGFuZCB0aGUgCiAgICAgIG1lbWJlciBjb21wYW5pZXMuIDwvUD4KICAgICAgPFA+PFNUUk9ORz5TcGVha2luZyBhbmQgRWRpdG9yaWFsIENvbnRhY3RzIDwvU1RST05HPjxCUj5FY2xpcHNlIEZvdW5kYXRpb24gCiAgICAgIGVtcGxveXMgdGhlIHNlcnZpY2VzIG9mIGEgcHJvZmVzc2lvbmFsIHByZXNzIGFnZW5jeS4gVGhpcyBhZ2VuY3kgaXMgCiAgICAgIGFjdGl2ZWx5IGxvb2tpbmcgZm9yIG9wcG9ydHVuaXRpZXMgdG8gcGxhY2UgRWNsaXBzZSByZWxhdGVkIGFydGljbGVzIGluIAogICAgICBtYWdhemluZXMgYW5kIEVjbGlwc2UgcmVsYXRlZCBzcGVha2luZyBvcHBvcnR1bml0aWVzLiBUaGVzZSBvcHBvcnR1bml0aWVzIAogICAgICBhcmUgcGFzc2VkIG9uIHRvIHRoZSBtZW1iZXJzLiA8L1A+CiAgICAgIDxQPjxTVFJPTkc+RWNsaXBzZUNvbjwvU1RST05HPjxCUj5PbmNlIGEgeWVhciwgdGhlIEVjbGlwc2UgY29tbXVuaXR5IG1lZXRzIAogICAgICBmb3IgdGhlIGFubnVhbCBFY2xpcHNlQ29uIHVzZXIgY29uZmVyZW5jZS4gVGhpcyBpcyBhIHBlcmZlY3Qgb3Bwb3J0dW5pdHkgCiAgICAgIHRvIG1hcmtldCB0byBwb3RlbnRpYWwgY3VzdG9tZXJzLiBFY2xpcHNlIG1lbWJlcnMgd2lsbCByZWNlaXZlIAogICAgICBwcmVmZXJlbnRpYWwgZXhoaWJpdCBzcGFjZSBhbmQgc3BvbnNvcnNoaXAgb3Bwb3J0dW5pdGllcywgc2hvdyBkaXNjb3VudHMgCiAgICAgIGFuZCBvdGhlciBtZW1iZXJzIG9ubHkgb3Bwb3J0dW5pdGllcy4gPC9QPgogICAgICA8UD48U1RST05HPlNwZWNpYWwgUHJvbW90aW9uYWwgQWN0aXZpdGllczwvU1RST05HPjxCUj5UaGUgc2l6ZSBhbmQgCiAgICAgIHBvcHVsYXJpdHkgb2YgRWNsaXBzZSBjb21tdW5pdHkgcHJlc2VudHMgbWVtYmVycyB1bmlxdWUgcHJvbW90aW9uYWwgCiAgICAgIG9wcG9ydHVuaXRpZXMsIGV4LiBhZHZlcnRpc2luZyBzdXBwbGVtZW50cywgbmV3c2xldHRlciBzcG9uc29yc2hpcHMsIGV0Yy4gCiAgICAgIDwvUD4KICAgICAgPFA+PFNUUk9ORz5OZXR3b3JraW5nIE9wcG9ydHVuaXRpZXM6IDwvU1RST05HPjxCUj5FY2xpcHNlIG1lbWJlciBtZWV0aW5ncyAKICAgICAgYW5kIGNvbW1pdHRlZSBkaXNjdXNzaW9ucyBjcmVhdGUgbWFueSBvcHBvcnR1bml0aWVzIHRvIG5ldHdvcmsgd2l0aCBvdGhlciAKICAgICAgdGVjaG5pY2FsLCBtYXJrZXRpbmcgYW5kIGJ1c2luZXNzIGRldmVsb3BtZW50IHByb2Zlc3Npb25hbHMuIE1lbWJlcnMgCiAgICAgIGRpc2N1c3MgYW5kIGxldmVyYWdlIHNoYXJlZCByZXNvdXJjZXMgdG8gc29sdmUgTWVtYmVyIHByb2JsZW1zIGFuZCBncm93IAogICAgICB0aGUgRWNsaXBzZSBjb21tdW5pdHkuIDwvUD4KICAgICAgPFAgY2xhc3M9c3R5bGUxPiA8L1A+PC9URD48L1RSPjwvVEJPRFk+PC9UQUJMRT48L0JPRFk+PC9IVE1MPgo=