Li4gSXRlcmF0b3JzL0NvbmNlcHRzLy9SYW5kb20gQWNjZXNzIEl0ZXJhdG9yIHwzMAoKUmFuZG9tIEFjY2VzcyBJdGVyYXRvcgo9PT09PT09PT09PT09PT09PT09PT09CgpEZXNjcmlwdGlvbgotLS0tLS0tLS0tLQoKQSB8UmFuZG9tIEFjY2VzcyBJdGVyYXRvcnwgaXMgYSB8QmlkaXJlY3Rpb25hbCBJdGVyYXRvcnwgdGhhdCBwcm92aWRlcyAKY29uc3RhbnQtdGltZSBndWFyYW50ZWVzIG9uIG1vdmluZyB0aGUgaXRlcmF0b3IgYW4gYXJiaXRyYXJ5IG51bWJlciBvZiBwb3NpdGlvbnMKZm9yd2FyZCBvciBiYWNrd2FyZCBhbmQgZm9yIG1lYXN1cmluZyB0aGUgZGlzdGFuY2UgdG8gYW5vdGhlciBpdGVyYXRvciBpbiB0aGUgCnNhbWUgc2VxdWVuY2UuCgpSZWZpbmVtZW50IG9mCi0tLS0tLS0tLS0tLS0KCnxCaWRpcmVjdGlvbmFsIEl0ZXJhdG9yfAoKCkV4cHJlc3Npb24gcmVxdWlyZW1lbnRzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpJbiBhZGRpdGlvbiB0byB0aGUgcmVxdWlyZW1lbnRzIGRlZmluZWQgaW4gfEJpZGlyZWN0aW9uYWwgSXRlcmF0b3J8LCAKdGhlIGZvbGxvd2luZyByZXF1aXJlbWVudHMgbXVzdCBiZSBtZXQuIAoKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBFeHByZXNzaW9uICAgICAgICAgICAgICAgIHwgVHlwZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDb21wbGV4aXR5ICAgICAgICAgICAgICAgIHwKKz09PT09PT09PT09PT09PT09PT09PT09PT09PSs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Kz09PT09PT09PT09PT09PT09PT09PT09PT09PSsKfCBgYG5leHQ8aT46OnR5cGVgYCAgICAgICAgIHwgfFJhbmRvbSBBY2Nlc3MgSXRlcmF0b3J8ICAgICAgICAgICAgICAgICAgfCBBbW9ydGl6ZWQgY29uc3RhbnQgdGltZSAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBgYHByaW9yPGk+Ojp0eXBlYGAgICAgICAgIHwgfFJhbmRvbSBBY2Nlc3MgSXRlcmF0b3J8ICAgICAgICAgICAgICAgICAgfCBBbW9ydGl6ZWQgY29uc3RhbnQgdGltZSAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBgYGk6OmNhdGVnb3J5YGAgICAgICAgICAgIHwgfEludGVncmFsIENvbnN0YW50fCwgY29udmVydGlibGUgICAgICAgICAgfCBDb25zdGFudCB0aW1lICAgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdG8gYGByYW5kb21fYWNjZXNzX2l0ZXJhdG9yX3RhZ2BgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBgYGFkdmFuY2U8aSxuPjo6dHlwZWBgICAgIHwgfFJhbmRvbSBBY2Nlc3MgSXRlcmF0b3J8ICAgICAgICAgICAgICAgICAgfCBBbW9ydGl6ZWQgY29uc3RhbnQgdGltZSAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKfCBgYGRpc3RhbmNlPGksaj46OnR5cGVgYCAgIHwgfEludGVncmFsIENvbnN0YW50fCAgICAgICAgICAgICAgICAgICAgICAgfCBBbW9ydGl6ZWQgY29uc3RhbnQgdGltZSAgIHwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKCgpFeHByZXNzaW9uIHNlbWFudGljcwotLS0tLS0tLS0tLS0tLS0tLS0tLQoKLi4gcGFyc2VkLWxpdGVyYWw6OgoKICAgIHR5cGVkZWYgYWR2YW5jZTxpLG4+Ojp0eXBlIGo7Cgo6U2VtYW50aWNzOgogICAgU2VlIGBgYWR2YW5jZWBgIHNwZWNpZmljYXRpb24KICAgIAoKLi4gLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KCi4uIHBhcnNlZC1saXRlcmFsOjoKCiAgICB0eXBlZGVmIGRpc3RhbmNlPGksaj46OnR5cGUgbjsKCjpTZW1hbnRpY3M6CiAgICBTZWUgYGBkaXN0YW5jZWBgIHNwZWNpZmljYXRpb24KCgpJbnZhcmlhbnRzCi0tLS0tLS0tLS0KCkZvciBhbnkgcmFuZG9tIGFjY2VzcyBpdGVyYXRvcnMgYGBpYGAgYW5kIGBgamBgIHRoZSBmb2xsb3dpbmcgaW52YXJpYW50cyBhbHdheXMgCmhvbGQ6IAoKKiBJZiBgYGFkdmFuY2U8aSxuPjo6dHlwZWBgIGlzIHdlbGwtZGVmaW5lZCwgdGhlbiAKICBgYGFkdmFuY2U8IGFkdmFuY2U8aSxuPjo6dHlwZSwgbmVnYXRlPG4+Ojp0eXBlID46OnR5cGVgYCBpcyBhIG51bGwgb3BlcmF0aW9uLiAKCgpTZWUgYWxzbwotLS0tLS0tLQoKfEl0ZXJhdG9yc3wsIHxCaWRpcmVjdGlvbmFsIEl0ZXJhdG9yfCwgfFJhbmRvbSBBY2Nlc3MgU2VxdWVuY2V8LCB8YWR2YW5jZXwsIHxkaXN0YW5jZXwKCgouLiBjb3B5cmlnaHQ6OiBDb3B5cmlnaHQgqSAgMjAwMS0yMDA5IEFsZWtzZXkgR3VydG92b3kgYW5kIERhdmlkIEFicmFoYW1zCiAgIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKICAgZmlsZSBMSUNFTlNFXzFfMC50eHQgb3IgY29weSBhdCBodHRwOi8vd3d3LmJvb3N0Lm9yZy9MSUNFTlNFXzFfMC50eHQpCg==